diff --git a/EL2_IC_DATA.anno.json b/EL2_IC_DATA.anno.json index 4beea798..16430c21 100644 --- a/EL2_IC_DATA.anno.json +++ b/EL2_IC_DATA.anno.json @@ -1,20 +1,4 @@ [ - { - "class":"firrtl.transforms.CombinationalPath", - "sink":"~EL2_IC_DATA|EL2_IC_DATA>io_ic_debug_rd_data", - "sources":[ - "~EL2_IC_DATA|EL2_IC_DATA>io_ic_rd_hit" - ] - }, - { - "class":"firrtl.transforms.CombinationalPath", - "sink":"~EL2_IC_DATA|EL2_IC_DATA>io_ic_rd_data", - "sources":[ - "~EL2_IC_DATA|EL2_IC_DATA>io_ic_sel_premux_data", - "~EL2_IC_DATA|EL2_IC_DATA>io_ic_premux_data", - "~EL2_IC_DATA|EL2_IC_DATA>io_ic_rd_hit" - ] - }, { "class":"firrtl.EmitCircuitAnnotation", "emitter":"firrtl.VerilogEmitter" diff --git a/EL2_IC_DATA.fir b/EL2_IC_DATA.fir index 028c5b2b..5005cb53 100644 --- a/EL2_IC_DATA.fir +++ b/EL2_IC_DATA.fir @@ -3,3620 +3,54 @@ circuit EL2_IC_DATA : module EL2_IC_DATA : input clock : Clock input reset : UInt<1> - output io : {flip rst_l : UInt<1>, flip clk_override : UInt<1>, flip ic_rw_addr : UInt<13>, flip ic_wr_en : UInt<2>, flip ic_rd_en : UInt<1>, flip ic_wr_data : UInt<71>[2], ic_rd_data : UInt<64>, flip ic_debug_wr_data : UInt<71>, ic_debug_rd_data : UInt<71>, ic_parerr : UInt<2>, ic_eccerr : UInt<2>, flip ic_debug_addr : UInt<13>, flip ic_debug_rd_en : UInt<1>, flip ic_debug_wr_en : UInt<1>, flip ic_debug_tag_array : UInt<1>, flip ic_debug_way : UInt<2>, flip ic_premux_data : UInt<64>, flip ic_sel_premux_data : UInt<1>, flip ic_rd_hit : UInt<2>, flip scan_mode : UInt<1>, test_port2 : UInt, test_port : UInt<71>[2][2]} + output io : {flip clk_override : UInt<1>, flip ic_rw_addr : UInt<12>, flip ic_wr_en : UInt<2>, flip ic_rd_en : UInt<1>, flip ic_wr_data : UInt<71>[2], ic_rd_data : UInt<64>, flip ic_debug_wr_data : UInt<71>, ic_debug_rd_data : UInt<71>, ic_parerr : UInt<2>, ic_eccerr : UInt<2>, flip ic_debug_addr : UInt<9>, flip ic_debug_rd_en : UInt<1>, flip ic_debug_wr_en : UInt<1>, flip ic_debug_tag_array : UInt<1>, flip ic_debug_way : UInt<2>, flip ic_premux_data : UInt<64>, flip ic_sel_premux_data : UInt<1>, flip ic_rd_hit : UInt<2>, flip scan_mode : UInt<1>} - node _T = not(io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 195:70] - node _T_1 = and(io.ic_debug_rd_en, _T) @[el2_ifu_ic_mem.scala 195:68] - wire _T_2 : UInt<1>[2] @[el2_lib.scala 188:48] - _T_2[0] <= _T_1 @[el2_lib.scala 188:48] - _T_2[1] <= _T_1 @[el2_lib.scala 188:48] - node _T_3 = cat(_T_2[0], _T_2[1]) @[Cat.scala 29:58] - node ic_debug_rd_way_en = and(_T_3, io.ic_debug_way) @[el2_ifu_ic_mem.scala 195:94] - node _T_4 = not(io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 196:70] - node _T_5 = and(io.ic_debug_wr_en, _T_4) @[el2_ifu_ic_mem.scala 196:68] - wire _T_6 : UInt<1>[2] @[el2_lib.scala 188:48] - _T_6[0] <= _T_5 @[el2_lib.scala 188:48] - _T_6[1] <= _T_5 @[el2_lib.scala 188:48] + io.ic_rd_data <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 194:17] + io.ic_debug_rd_data <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 195:23] + io.ic_parerr <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 196:16] + io.ic_eccerr <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 197:16] + node _T = eq(io.ic_debug_tag_array, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 198:70] + node _T_1 = and(io.ic_debug_rd_en, _T) @[el2_ifu_ic_mem.scala 198:68] + node _T_2 = bits(_T_1, 0, 0) @[Bitwise.scala 72:15] + node _T_3 = mux(_T_2, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node ic_debug_rd_way_en = and(_T_3, io.ic_debug_way) @[el2_ifu_ic_mem.scala 198:94] + node _T_4 = eq(io.ic_debug_tag_array, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 199:70] + node _T_5 = and(io.ic_debug_wr_en, _T_4) @[el2_ifu_ic_mem.scala 199:68] + wire _T_6 : UInt<1>[2] @[el2_lib.scala 185:48] + _T_6[0] <= _T_5 @[el2_lib.scala 185:48] + _T_6[1] <= _T_5 @[el2_lib.scala 185:48] node _T_7 = cat(_T_6[0], _T_6[1]) @[Cat.scala 29:58] - node ic_debug_wr_way_en = and(_T_7, io.ic_debug_way) @[el2_ifu_ic_mem.scala 196:94] - node _T_8 = bits(io.ic_debug_addr, 3, 3) @[el2_ifu_ic_mem.scala 198:76] - node _T_9 = eq(_T_8, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 198:107] - wire _T_10 : UInt<1>[2] @[el2_lib.scala 188:48] - _T_10[0] <= _T_9 @[el2_lib.scala 188:48] - _T_10[1] <= _T_9 @[el2_lib.scala 188:48] - node _T_11 = cat(_T_10[0], _T_10[1]) @[Cat.scala 29:58] - node _T_12 = and(ic_debug_wr_way_en, _T_11) @[el2_ifu_ic_mem.scala 198:36] - node _T_13 = or(io.ic_wr_en, _T_12) @[el2_ifu_ic_mem.scala 198:16] - node _T_14 = bits(io.ic_debug_addr, 3, 3) @[el2_ifu_ic_mem.scala 198:76] - node _T_15 = eq(_T_14, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 198:107] - wire _T_16 : UInt<1>[2] @[el2_lib.scala 188:48] - _T_16[0] <= _T_15 @[el2_lib.scala 188:48] - _T_16[1] <= _T_15 @[el2_lib.scala 188:48] - node _T_17 = cat(_T_16[0], _T_16[1]) @[Cat.scala 29:58] - node _T_18 = and(ic_debug_wr_way_en, _T_17) @[el2_ifu_ic_mem.scala 198:36] - node _T_19 = or(io.ic_wr_en, _T_18) @[el2_ifu_ic_mem.scala 198:16] - wire _T_20 : UInt<2>[2] @[el2_ifu_ic_mem.scala 197:55] - _T_20[0] <= _T_13 @[el2_ifu_ic_mem.scala 197:55] - _T_20[1] <= _T_19 @[el2_ifu_ic_mem.scala 197:55] - node _T_21 = bits(io.ic_debug_addr, 3, 3) @[el2_ifu_ic_mem.scala 200:27] - node _T_22 = eq(_T_21, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 200:58] - node _T_23 = and(_T_22, io.ic_debug_wr_en) @[el2_ifu_ic_mem.scala 200:66] - node _T_24 = bits(_T_23, 0, 0) @[el2_ifu_ic_mem.scala 200:87] - node _T_25 = mux(_T_24, io.ic_debug_wr_data, io.ic_wr_data[0]) @[el2_ifu_ic_mem.scala 200:8] - node _T_26 = bits(io.ic_debug_addr, 3, 3) @[el2_ifu_ic_mem.scala 200:27] - node _T_27 = eq(_T_26, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 200:58] - node _T_28 = and(_T_27, io.ic_debug_wr_en) @[el2_ifu_ic_mem.scala 200:66] - node _T_29 = bits(_T_28, 0, 0) @[el2_ifu_ic_mem.scala 200:87] - node _T_30 = mux(_T_29, io.ic_debug_wr_data, io.ic_wr_data[1]) @[el2_ifu_ic_mem.scala 200:8] - wire _T_31 : UInt<71>[2] @[el2_ifu_ic_mem.scala 199:56] - _T_31[0] <= _T_25 @[el2_ifu_ic_mem.scala 199:56] - _T_31[1] <= _T_30 @[el2_ifu_ic_mem.scala 199:56] - node _T_32 = or(io.ic_debug_rd_en, io.ic_debug_wr_en) @[el2_ifu_ic_mem.scala 201:49] - node _T_33 = bits(_T_32, 0, 0) @[el2_ifu_ic_mem.scala 201:70] - node _T_34 = bits(io.ic_debug_addr, 12, 3) @[el2_ifu_ic_mem.scala 201:98] - node _T_35 = cat(_T_34, UInt<2>("h00")) @[Cat.scala 29:58] - node _T_36 = bits(io.ic_rw_addr, 12, 1) @[el2_ifu_ic_mem.scala 201:142] - node _T_37 = mux(_T_33, _T_35, _T_36) @[el2_ifu_ic_mem.scala 201:29] - node ic_rw_addr_q = cat(_T_37, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_38 = or(io.ic_rd_en, io.ic_debug_rd_en) @[el2_ifu_ic_mem.scala 202:44] - node _T_39 = orr(io.ic_wr_en) @[el2_ifu_ic_mem.scala 202:82] - node _T_40 = not(_T_39) @[el2_ifu_ic_mem.scala 202:68] - node ic_rd_en_with_debug = and(_T_38, _T_40) @[el2_ifu_ic_mem.scala 202:66] - node _T_41 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 204:28] - node _T_42 = bits(_T_41, 0, 0) @[el2_ifu_ic_mem.scala 204:45] - node _T_43 = not(_T_42) @[el2_ifu_ic_mem.scala 204:15] - node _T_44 = eq(UInt<1>("h00"), UInt<1>("h00")) @[el2_ifu_ic_mem.scala 204:60] - node _T_45 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 205:20] - node _T_46 = bits(ic_rw_addr_q, 2, 1) @[el2_ifu_ic_mem.scala 205:50] - node _T_47 = eq(_T_46, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 205:55] - node _T_48 = and(_T_45, _T_47) @[el2_ifu_ic_mem.scala 205:36] - node _T_49 = bits(_T_48, 0, 0) @[el2_ifu_ic_mem.scala 205:64] - node _T_50 = eq(UInt<1>("h00"), UInt<1>("h00")) @[el2_ifu_ic_mem.scala 205:79] - node _T_51 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 206:19] - node _T_52 = bits(_T_51, 0, 0) @[el2_ifu_ic_mem.scala 206:36] - node _T_53 = eq(UInt<1>("h00"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 206:51] - node _T_54 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 207:21] - node _T_55 = not(_T_54) @[el2_ifu_ic_mem.scala 207:8] - node _T_56 = bits(ic_rw_addr_q, 2, 1) @[el2_ifu_ic_mem.scala 207:51] - node _T_57 = eq(_T_56, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 207:56] - node _T_58 = and(_T_55, _T_57) @[el2_ifu_ic_mem.scala 207:37] - node _T_59 = bits(_T_58, 0, 0) @[el2_ifu_ic_mem.scala 207:65] - node _T_60 = eq(UInt<1>("h00"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 207:80] - node _T_61 = mux(_T_43, _T_44, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_62 = mux(_T_49, _T_50, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_63 = mux(_T_52, _T_53, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_64 = mux(_T_59, _T_60, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_65 = or(_T_61, _T_62) @[Mux.scala 27:72] - node _T_66 = or(_T_65, _T_63) @[Mux.scala 27:72] - node _T_67 = or(_T_66, _T_64) @[Mux.scala 27:72] - wire _T_68 : UInt<1> @[Mux.scala 27:72] - _T_68 <= _T_67 @[Mux.scala 27:72] - node _T_69 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 204:28] - node _T_70 = bits(_T_69, 0, 0) @[el2_ifu_ic_mem.scala 204:45] - node _T_71 = not(_T_70) @[el2_ifu_ic_mem.scala 204:15] - node _T_72 = eq(UInt<1>("h01"), UInt<1>("h00")) @[el2_ifu_ic_mem.scala 204:60] - node _T_73 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 205:20] - node _T_74 = bits(ic_rw_addr_q, 2, 1) @[el2_ifu_ic_mem.scala 205:50] - node _T_75 = eq(_T_74, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 205:55] - node _T_76 = and(_T_73, _T_75) @[el2_ifu_ic_mem.scala 205:36] - node _T_77 = bits(_T_76, 0, 0) @[el2_ifu_ic_mem.scala 205:64] - node _T_78 = eq(UInt<1>("h01"), UInt<1>("h00")) @[el2_ifu_ic_mem.scala 205:79] - node _T_79 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 206:19] - node _T_80 = bits(_T_79, 0, 0) @[el2_ifu_ic_mem.scala 206:36] - node _T_81 = eq(UInt<1>("h01"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 206:51] - node _T_82 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 207:21] - node _T_83 = not(_T_82) @[el2_ifu_ic_mem.scala 207:8] - node _T_84 = bits(ic_rw_addr_q, 2, 1) @[el2_ifu_ic_mem.scala 207:51] - node _T_85 = eq(_T_84, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 207:56] - node _T_86 = and(_T_83, _T_85) @[el2_ifu_ic_mem.scala 207:37] - node _T_87 = bits(_T_86, 0, 0) @[el2_ifu_ic_mem.scala 207:65] - node _T_88 = eq(UInt<1>("h01"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 207:80] - node _T_89 = mux(_T_71, _T_72, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_90 = mux(_T_77, _T_78, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_91 = mux(_T_80, _T_81, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_92 = mux(_T_87, _T_88, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_93 = or(_T_89, _T_90) @[Mux.scala 27:72] - node _T_94 = or(_T_93, _T_91) @[Mux.scala 27:72] - node _T_95 = or(_T_94, _T_92) @[Mux.scala 27:72] - wire _T_96 : UInt<1> @[Mux.scala 27:72] - _T_96 <= _T_95 @[Mux.scala 27:72] - wire _T_97 : UInt<1>[2] @[el2_ifu_ic_mem.scala 203:54] - _T_97[0] <= _T_68 @[el2_ifu_ic_mem.scala 203:54] - _T_97[1] <= _T_96 @[el2_ifu_ic_mem.scala 203:54] - node ic_b_rden_0 = and(_T_97[1], ic_rd_en_with_debug) @[el2_ifu_ic_mem.scala 207:107] - node ic_b_rden_1 = and(_T_97[0], ic_rd_en_with_debug) @[el2_ifu_ic_mem.scala 207:107] - wire _T_98 : UInt<1>[2] @[el2_lib.scala 188:48] - _T_98[0] <= ic_b_rden_0 @[el2_lib.scala 188:48] - _T_98[1] <= ic_b_rden_0 @[el2_lib.scala 188:48] - node _T_99 = cat(_T_98[0], _T_98[1]) @[Cat.scala 29:58] - node _T_100 = or(_T_99, io.clk_override) @[el2_ifu_ic_mem.scala 210:62] - node _T_101 = or(_T_100, _T_20[1]) @[el2_ifu_ic_mem.scala 210:80] - wire _T_102 : UInt<1>[2] @[el2_lib.scala 188:48] - _T_102[0] <= ic_b_rden_0 @[el2_lib.scala 188:48] - _T_102[1] <= ic_b_rden_0 @[el2_lib.scala 188:48] - node _T_103 = cat(_T_102[0], _T_102[1]) @[Cat.scala 29:58] - node _T_104 = or(_T_103, io.clk_override) @[el2_ifu_ic_mem.scala 212:64] - node _T_105 = or(_T_104, _T_20[0]) @[el2_ifu_ic_mem.scala 212:82] - node _T_106 = or(_T_105, _T_101) @[el2_ifu_ic_mem.scala 212:101] - node _T_107 = bits(ic_rw_addr_q, 12, 4) @[el2_ifu_ic_mem.scala 215:38] - node _T_108 = add(_T_107, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 215:77] - node ic_rw_addr_q_inc = tail(_T_108, 1) @[el2_ifu_ic_mem.scala 215:77] - node _T_109 = bits(ic_rw_addr_q, 3, 3) @[el2_ifu_ic_mem.scala 216:37] - node _T_110 = bits(ic_rw_addr_q, 2, 1) @[el2_ifu_ic_mem.scala 216:69] - node _T_111 = eq(_T_110, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 216:74] - node _T_112 = and(_T_109, _T_111) @[el2_ifu_ic_mem.scala 216:54] - node _T_113 = and(_T_112, ic_rd_en_with_debug) @[el2_ifu_ic_mem.scala 216:82] - node _T_114 = orr(io.ic_wr_en) @[el2_ifu_ic_mem.scala 216:120] - node _T_115 = not(_T_114) @[el2_ifu_ic_mem.scala 216:106] - node ic_rw_addr_wrap = and(_T_113, _T_115) @[el2_ifu_ic_mem.scala 216:104] - reg ic_rw_addr_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 219:30] - ic_rw_addr_ff <= ic_rw_addr_q @[el2_ifu_ic_mem.scala 219:30] - node _T_116 = cat(ic_b_rden_1, ic_b_rden_0) @[Cat.scala 29:58] - reg ic_b_rden_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 220:29] - ic_b_rden_ff <= _T_116 @[el2_ifu_ic_mem.scala 220:29] - reg ic_debug_rd_way_en_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 221:38] - ic_debug_rd_way_en_ff <= ic_debug_rd_way_en @[el2_ifu_ic_mem.scala 221:38] - reg ic_debug_rd_en_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 222:34] - ic_debug_rd_en_ff <= io.ic_debug_rd_en @[el2_ifu_ic_mem.scala 222:34] - node _T_117 = bits(ic_rw_addr_ff, 5, 3) @[el2_ifu_ic_mem.scala 223:43] - wire _T_118 : UInt<1>[3] @[el2_lib.scala 188:48] - _T_118[0] <= UInt<1>("h01") @[el2_lib.scala 188:48] - _T_118[1] <= UInt<1>("h01") @[el2_lib.scala 188:48] - _T_118[2] <= UInt<1>("h01") @[el2_lib.scala 188:48] - node _T_119 = cat(_T_118[0], _T_118[1]) @[Cat.scala 29:58] - node _T_120 = cat(_T_119, _T_118[2]) @[Cat.scala 29:58] - node ic_cacheline_wrap_ff = eq(_T_117, _T_120) @[el2_ifu_ic_mem.scala 223:82] - wire ic_rw_addr_bank_q : UInt<13>[2] @[el2_ifu_ic_mem.scala 225:31] - node _T_121 = bits(ic_rw_addr_wrap, 0, 0) @[el2_ifu_ic_mem.scala 226:48] - node _T_122 = not(_T_121) @[el2_ifu_ic_mem.scala 226:31] - node _T_123 = bits(ic_rw_addr_q, 12, 4) @[el2_ifu_ic_mem.scala 226:68] - node _T_124 = bits(ic_rw_addr_q, 12, 6) @[el2_ifu_ic_mem.scala 226:124] - node _T_125 = bits(ic_rw_addr_q_inc, 5, 4) @[el2_ifu_ic_mem.scala 226:180] - node _T_126 = cat(_T_124, _T_125) @[Cat.scala 29:58] - node _T_127 = mux(_T_122, _T_123, _T_126) @[el2_ifu_ic_mem.scala 226:30] - ic_rw_addr_bank_q[0] <= _T_127 @[el2_ifu_ic_mem.scala 226:24] - node _T_128 = bits(ic_rw_addr_q, 12, 4) @[el2_ifu_ic_mem.scala 227:39] - ic_rw_addr_bank_q[1] <= _T_128 @[el2_ifu_ic_mem.scala 227:24] - smem data_mem : UInt<71>[2][2][512], undefined @[el2_ifu_ic_mem.scala 230:29] - node _T_129 = bits(ic_rw_addr_bank_q[0], 12, 4) @[el2_ifu_ic_mem.scala 231:32] - infer mport _T_130 = data_mem[_T_129], clock @[el2_ifu_ic_mem.scala 231:11] - _T_130[0][0] <= _T_31[1] @[el2_ifu_ic_mem.scala 231:77] - wire wb_dout : UInt<71>[2][2] @[el2_ifu_ic_mem.scala 232:21] - wb_dout[0][0] <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 235:19] - node _T_131 = bits(_T_31[1], 0, 0) @[el2_ifu_ic_mem.scala 236:28] - node _T_132 = bits(_T_101, 0, 0) @[el2_ifu_ic_mem.scala 236:54] - node _T_133 = and(_T_131, _T_132) @[el2_ifu_ic_mem.scala 236:32] - when _T_133 : @[el2_ifu_ic_mem.scala 236:58] - node _T_134 = bits(ic_rw_addr_bank_q[0], 12, 4) @[el2_ifu_ic_mem.scala 237:38] - infer mport _T_135 = data_mem[_T_134], clock @[el2_ifu_ic_mem.scala 237:17] - _T_135[0][0] <= _T_31[1] @[el2_ifu_ic_mem.scala 237:84] - skip @[el2_ifu_ic_mem.scala 236:58] - node _T_136 = bits(ic_rw_addr_bank_q[0], 12, 4) @[el2_ifu_ic_mem.scala 239:51] - infer mport _T_137 = data_mem[_T_136], clock @[el2_ifu_ic_mem.scala 239:30] - wb_dout[0][0] <= _T_137[0][0] @[el2_ifu_ic_mem.scala 239:19] - wb_dout[0][1] <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 235:19] - node _T_138 = bits(_T_31[1], 1, 1) @[el2_ifu_ic_mem.scala 236:28] - node _T_139 = bits(_T_101, 1, 1) @[el2_ifu_ic_mem.scala 236:54] - node _T_140 = and(_T_138, _T_139) @[el2_ifu_ic_mem.scala 236:32] - when _T_140 : @[el2_ifu_ic_mem.scala 236:58] - node _T_141 = bits(ic_rw_addr_bank_q[1], 12, 4) @[el2_ifu_ic_mem.scala 237:38] - infer mport _T_142 = data_mem[_T_141], clock @[el2_ifu_ic_mem.scala 237:17] - _T_142[1][0] <= _T_31[0] @[el2_ifu_ic_mem.scala 237:84] - skip @[el2_ifu_ic_mem.scala 236:58] - node _T_143 = bits(ic_rw_addr_bank_q[1], 12, 4) @[el2_ifu_ic_mem.scala 239:51] - infer mport _T_144 = data_mem[_T_143], clock @[el2_ifu_ic_mem.scala 239:30] - wb_dout[0][1] <= _T_144[0][1] @[el2_ifu_ic_mem.scala 239:19] - wb_dout[1][0] <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 235:19] - node _T_145 = bits(_T_31[0], 0, 0) @[el2_ifu_ic_mem.scala 236:28] - node _T_146 = bits(_T_106, 0, 0) @[el2_ifu_ic_mem.scala 236:54] - node _T_147 = and(_T_145, _T_146) @[el2_ifu_ic_mem.scala 236:32] - when _T_147 : @[el2_ifu_ic_mem.scala 236:58] - node _T_148 = bits(ic_rw_addr_bank_q[0], 12, 4) @[el2_ifu_ic_mem.scala 237:38] - infer mport _T_149 = data_mem[_T_148], clock @[el2_ifu_ic_mem.scala 237:17] - _T_149[0][1] <= _T_31[1] @[el2_ifu_ic_mem.scala 237:84] - skip @[el2_ifu_ic_mem.scala 236:58] - node _T_150 = bits(ic_rw_addr_bank_q[0], 12, 4) @[el2_ifu_ic_mem.scala 239:51] - infer mport _T_151 = data_mem[_T_150], clock @[el2_ifu_ic_mem.scala 239:30] - wb_dout[1][0] <= _T_151[1][0] @[el2_ifu_ic_mem.scala 239:19] - wb_dout[1][1] <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 235:19] - node _T_152 = bits(_T_31[0], 1, 1) @[el2_ifu_ic_mem.scala 236:28] - node _T_153 = bits(_T_106, 1, 1) @[el2_ifu_ic_mem.scala 236:54] - node _T_154 = and(_T_152, _T_153) @[el2_ifu_ic_mem.scala 236:32] - when _T_154 : @[el2_ifu_ic_mem.scala 236:58] - node _T_155 = bits(ic_rw_addr_bank_q[1], 12, 4) @[el2_ifu_ic_mem.scala 237:38] - infer mport _T_156 = data_mem[_T_155], clock @[el2_ifu_ic_mem.scala 237:17] - _T_156[1][1] <= _T_31[0] @[el2_ifu_ic_mem.scala 237:84] - skip @[el2_ifu_ic_mem.scala 236:58] - node _T_157 = bits(ic_rw_addr_bank_q[1], 12, 4) @[el2_ifu_ic_mem.scala 239:51] - infer mport _T_158 = data_mem[_T_157], clock @[el2_ifu_ic_mem.scala 239:30] - wb_dout[1][1] <= _T_158[1][1] @[el2_ifu_ic_mem.scala 239:19] - node _T_159 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 244:39] - node _T_160 = eq(_T_159, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 244:71] - wire _T_161 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_161[0] <= _T_160 @[el2_lib.scala 188:48] - _T_161[1] <= _T_160 @[el2_lib.scala 188:48] - _T_161[2] <= _T_160 @[el2_lib.scala 188:48] - _T_161[3] <= _T_160 @[el2_lib.scala 188:48] - _T_161[4] <= _T_160 @[el2_lib.scala 188:48] - _T_161[5] <= _T_160 @[el2_lib.scala 188:48] - _T_161[6] <= _T_160 @[el2_lib.scala 188:48] - _T_161[7] <= _T_160 @[el2_lib.scala 188:48] - _T_161[8] <= _T_160 @[el2_lib.scala 188:48] - _T_161[9] <= _T_160 @[el2_lib.scala 188:48] - _T_161[10] <= _T_160 @[el2_lib.scala 188:48] - _T_161[11] <= _T_160 @[el2_lib.scala 188:48] - _T_161[12] <= _T_160 @[el2_lib.scala 188:48] - _T_161[13] <= _T_160 @[el2_lib.scala 188:48] - _T_161[14] <= _T_160 @[el2_lib.scala 188:48] - _T_161[15] <= _T_160 @[el2_lib.scala 188:48] - _T_161[16] <= _T_160 @[el2_lib.scala 188:48] - _T_161[17] <= _T_160 @[el2_lib.scala 188:48] - _T_161[18] <= _T_160 @[el2_lib.scala 188:48] - _T_161[19] <= _T_160 @[el2_lib.scala 188:48] - _T_161[20] <= _T_160 @[el2_lib.scala 188:48] - _T_161[21] <= _T_160 @[el2_lib.scala 188:48] - _T_161[22] <= _T_160 @[el2_lib.scala 188:48] - _T_161[23] <= _T_160 @[el2_lib.scala 188:48] - _T_161[24] <= _T_160 @[el2_lib.scala 188:48] - _T_161[25] <= _T_160 @[el2_lib.scala 188:48] - _T_161[26] <= _T_160 @[el2_lib.scala 188:48] - _T_161[27] <= _T_160 @[el2_lib.scala 188:48] - _T_161[28] <= _T_160 @[el2_lib.scala 188:48] - _T_161[29] <= _T_160 @[el2_lib.scala 188:48] - _T_161[30] <= _T_160 @[el2_lib.scala 188:48] - _T_161[31] <= _T_160 @[el2_lib.scala 188:48] - _T_161[32] <= _T_160 @[el2_lib.scala 188:48] - _T_161[33] <= _T_160 @[el2_lib.scala 188:48] - _T_161[34] <= _T_160 @[el2_lib.scala 188:48] - _T_161[35] <= _T_160 @[el2_lib.scala 188:48] - _T_161[36] <= _T_160 @[el2_lib.scala 188:48] - _T_161[37] <= _T_160 @[el2_lib.scala 188:48] - _T_161[38] <= _T_160 @[el2_lib.scala 188:48] - _T_161[39] <= _T_160 @[el2_lib.scala 188:48] - _T_161[40] <= _T_160 @[el2_lib.scala 188:48] - _T_161[41] <= _T_160 @[el2_lib.scala 188:48] - _T_161[42] <= _T_160 @[el2_lib.scala 188:48] - _T_161[43] <= _T_160 @[el2_lib.scala 188:48] - _T_161[44] <= _T_160 @[el2_lib.scala 188:48] - _T_161[45] <= _T_160 @[el2_lib.scala 188:48] - _T_161[46] <= _T_160 @[el2_lib.scala 188:48] - _T_161[47] <= _T_160 @[el2_lib.scala 188:48] - _T_161[48] <= _T_160 @[el2_lib.scala 188:48] - _T_161[49] <= _T_160 @[el2_lib.scala 188:48] - _T_161[50] <= _T_160 @[el2_lib.scala 188:48] - _T_161[51] <= _T_160 @[el2_lib.scala 188:48] - _T_161[52] <= _T_160 @[el2_lib.scala 188:48] - _T_161[53] <= _T_160 @[el2_lib.scala 188:48] - _T_161[54] <= _T_160 @[el2_lib.scala 188:48] - _T_161[55] <= _T_160 @[el2_lib.scala 188:48] - _T_161[56] <= _T_160 @[el2_lib.scala 188:48] - _T_161[57] <= _T_160 @[el2_lib.scala 188:48] - _T_161[58] <= _T_160 @[el2_lib.scala 188:48] - _T_161[59] <= _T_160 @[el2_lib.scala 188:48] - _T_161[60] <= _T_160 @[el2_lib.scala 188:48] - _T_161[61] <= _T_160 @[el2_lib.scala 188:48] - _T_161[62] <= _T_160 @[el2_lib.scala 188:48] - _T_161[63] <= _T_160 @[el2_lib.scala 188:48] - _T_161[64] <= _T_160 @[el2_lib.scala 188:48] - _T_161[65] <= _T_160 @[el2_lib.scala 188:48] - _T_161[66] <= _T_160 @[el2_lib.scala 188:48] - _T_161[67] <= _T_160 @[el2_lib.scala 188:48] - _T_161[68] <= _T_160 @[el2_lib.scala 188:48] - _T_161[69] <= _T_160 @[el2_lib.scala 188:48] - _T_161[70] <= _T_160 @[el2_lib.scala 188:48] - node _T_162 = cat(_T_161[0], _T_161[1]) @[Cat.scala 29:58] - node _T_163 = cat(_T_162, _T_161[2]) @[Cat.scala 29:58] - node _T_164 = cat(_T_163, _T_161[3]) @[Cat.scala 29:58] - node _T_165 = cat(_T_164, _T_161[4]) @[Cat.scala 29:58] - node _T_166 = cat(_T_165, _T_161[5]) @[Cat.scala 29:58] - node _T_167 = cat(_T_166, _T_161[6]) @[Cat.scala 29:58] - node _T_168 = cat(_T_167, _T_161[7]) @[Cat.scala 29:58] - node _T_169 = cat(_T_168, _T_161[8]) @[Cat.scala 29:58] - node _T_170 = cat(_T_169, _T_161[9]) @[Cat.scala 29:58] - node _T_171 = cat(_T_170, _T_161[10]) @[Cat.scala 29:58] - node _T_172 = cat(_T_171, _T_161[11]) @[Cat.scala 29:58] - node _T_173 = cat(_T_172, _T_161[12]) @[Cat.scala 29:58] - node _T_174 = cat(_T_173, _T_161[13]) @[Cat.scala 29:58] - node _T_175 = cat(_T_174, _T_161[14]) @[Cat.scala 29:58] - node _T_176 = cat(_T_175, _T_161[15]) @[Cat.scala 29:58] - node _T_177 = cat(_T_176, _T_161[16]) @[Cat.scala 29:58] - node _T_178 = cat(_T_177, _T_161[17]) @[Cat.scala 29:58] - node _T_179 = cat(_T_178, _T_161[18]) @[Cat.scala 29:58] - node _T_180 = cat(_T_179, _T_161[19]) @[Cat.scala 29:58] - node _T_181 = cat(_T_180, _T_161[20]) @[Cat.scala 29:58] - node _T_182 = cat(_T_181, _T_161[21]) @[Cat.scala 29:58] - node _T_183 = cat(_T_182, _T_161[22]) @[Cat.scala 29:58] - node _T_184 = cat(_T_183, _T_161[23]) @[Cat.scala 29:58] - node _T_185 = cat(_T_184, _T_161[24]) @[Cat.scala 29:58] - node _T_186 = cat(_T_185, _T_161[25]) @[Cat.scala 29:58] - node _T_187 = cat(_T_186, _T_161[26]) @[Cat.scala 29:58] - node _T_188 = cat(_T_187, _T_161[27]) @[Cat.scala 29:58] - node _T_189 = cat(_T_188, _T_161[28]) @[Cat.scala 29:58] - node _T_190 = cat(_T_189, _T_161[29]) @[Cat.scala 29:58] - node _T_191 = cat(_T_190, _T_161[30]) @[Cat.scala 29:58] - node _T_192 = cat(_T_191, _T_161[31]) @[Cat.scala 29:58] - node _T_193 = cat(_T_192, _T_161[32]) @[Cat.scala 29:58] - node _T_194 = cat(_T_193, _T_161[33]) @[Cat.scala 29:58] - node _T_195 = cat(_T_194, _T_161[34]) @[Cat.scala 29:58] - node _T_196 = cat(_T_195, _T_161[35]) @[Cat.scala 29:58] - node _T_197 = cat(_T_196, _T_161[36]) @[Cat.scala 29:58] - node _T_198 = cat(_T_197, _T_161[37]) @[Cat.scala 29:58] - node _T_199 = cat(_T_198, _T_161[38]) @[Cat.scala 29:58] - node _T_200 = cat(_T_199, _T_161[39]) @[Cat.scala 29:58] - node _T_201 = cat(_T_200, _T_161[40]) @[Cat.scala 29:58] - node _T_202 = cat(_T_201, _T_161[41]) @[Cat.scala 29:58] - node _T_203 = cat(_T_202, _T_161[42]) @[Cat.scala 29:58] - node _T_204 = cat(_T_203, _T_161[43]) @[Cat.scala 29:58] - node _T_205 = cat(_T_204, _T_161[44]) @[Cat.scala 29:58] - node _T_206 = cat(_T_205, _T_161[45]) @[Cat.scala 29:58] - node _T_207 = cat(_T_206, _T_161[46]) @[Cat.scala 29:58] - node _T_208 = cat(_T_207, _T_161[47]) @[Cat.scala 29:58] - node _T_209 = cat(_T_208, _T_161[48]) @[Cat.scala 29:58] - node _T_210 = cat(_T_209, _T_161[49]) @[Cat.scala 29:58] - node _T_211 = cat(_T_210, _T_161[50]) @[Cat.scala 29:58] - node _T_212 = cat(_T_211, _T_161[51]) @[Cat.scala 29:58] - node _T_213 = cat(_T_212, _T_161[52]) @[Cat.scala 29:58] - node _T_214 = cat(_T_213, _T_161[53]) @[Cat.scala 29:58] - node _T_215 = cat(_T_214, _T_161[54]) @[Cat.scala 29:58] - node _T_216 = cat(_T_215, _T_161[55]) @[Cat.scala 29:58] - node _T_217 = cat(_T_216, _T_161[56]) @[Cat.scala 29:58] - node _T_218 = cat(_T_217, _T_161[57]) @[Cat.scala 29:58] - node _T_219 = cat(_T_218, _T_161[58]) @[Cat.scala 29:58] - node _T_220 = cat(_T_219, _T_161[59]) @[Cat.scala 29:58] - node _T_221 = cat(_T_220, _T_161[60]) @[Cat.scala 29:58] - node _T_222 = cat(_T_221, _T_161[61]) @[Cat.scala 29:58] - node _T_223 = cat(_T_222, _T_161[62]) @[Cat.scala 29:58] - node _T_224 = cat(_T_223, _T_161[63]) @[Cat.scala 29:58] - node _T_225 = cat(_T_224, _T_161[64]) @[Cat.scala 29:58] - node _T_226 = cat(_T_225, _T_161[65]) @[Cat.scala 29:58] - node _T_227 = cat(_T_226, _T_161[66]) @[Cat.scala 29:58] - node _T_228 = cat(_T_227, _T_161[67]) @[Cat.scala 29:58] - node _T_229 = cat(_T_228, _T_161[68]) @[Cat.scala 29:58] - node _T_230 = cat(_T_229, _T_161[69]) @[Cat.scala 29:58] - node _T_231 = cat(_T_230, _T_161[70]) @[Cat.scala 29:58] - node _T_232 = and(_T_231, wb_dout[0][0]) @[el2_ifu_ic_mem.scala 244:78] - node _T_233 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 244:39] - node _T_234 = eq(_T_233, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 244:71] - wire _T_235 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_235[0] <= _T_234 @[el2_lib.scala 188:48] - _T_235[1] <= _T_234 @[el2_lib.scala 188:48] - _T_235[2] <= _T_234 @[el2_lib.scala 188:48] - _T_235[3] <= _T_234 @[el2_lib.scala 188:48] - _T_235[4] <= _T_234 @[el2_lib.scala 188:48] - _T_235[5] <= _T_234 @[el2_lib.scala 188:48] - _T_235[6] <= _T_234 @[el2_lib.scala 188:48] - _T_235[7] <= _T_234 @[el2_lib.scala 188:48] - _T_235[8] <= _T_234 @[el2_lib.scala 188:48] - _T_235[9] <= _T_234 @[el2_lib.scala 188:48] - _T_235[10] <= _T_234 @[el2_lib.scala 188:48] - _T_235[11] <= _T_234 @[el2_lib.scala 188:48] - _T_235[12] <= _T_234 @[el2_lib.scala 188:48] - _T_235[13] <= _T_234 @[el2_lib.scala 188:48] - _T_235[14] <= _T_234 @[el2_lib.scala 188:48] - _T_235[15] <= _T_234 @[el2_lib.scala 188:48] - _T_235[16] <= _T_234 @[el2_lib.scala 188:48] - _T_235[17] <= _T_234 @[el2_lib.scala 188:48] - _T_235[18] <= _T_234 @[el2_lib.scala 188:48] - _T_235[19] <= _T_234 @[el2_lib.scala 188:48] - _T_235[20] <= _T_234 @[el2_lib.scala 188:48] - _T_235[21] <= _T_234 @[el2_lib.scala 188:48] - _T_235[22] <= _T_234 @[el2_lib.scala 188:48] - _T_235[23] <= _T_234 @[el2_lib.scala 188:48] - _T_235[24] <= _T_234 @[el2_lib.scala 188:48] - _T_235[25] <= _T_234 @[el2_lib.scala 188:48] - _T_235[26] <= _T_234 @[el2_lib.scala 188:48] - _T_235[27] <= _T_234 @[el2_lib.scala 188:48] - _T_235[28] <= _T_234 @[el2_lib.scala 188:48] - _T_235[29] <= _T_234 @[el2_lib.scala 188:48] - _T_235[30] <= _T_234 @[el2_lib.scala 188:48] - _T_235[31] <= _T_234 @[el2_lib.scala 188:48] - _T_235[32] <= _T_234 @[el2_lib.scala 188:48] - _T_235[33] <= _T_234 @[el2_lib.scala 188:48] - _T_235[34] <= _T_234 @[el2_lib.scala 188:48] - _T_235[35] <= _T_234 @[el2_lib.scala 188:48] - _T_235[36] <= _T_234 @[el2_lib.scala 188:48] - _T_235[37] <= _T_234 @[el2_lib.scala 188:48] - _T_235[38] <= _T_234 @[el2_lib.scala 188:48] - _T_235[39] <= _T_234 @[el2_lib.scala 188:48] - _T_235[40] <= _T_234 @[el2_lib.scala 188:48] - _T_235[41] <= _T_234 @[el2_lib.scala 188:48] - _T_235[42] <= _T_234 @[el2_lib.scala 188:48] - _T_235[43] <= _T_234 @[el2_lib.scala 188:48] - _T_235[44] <= _T_234 @[el2_lib.scala 188:48] - _T_235[45] <= _T_234 @[el2_lib.scala 188:48] - _T_235[46] <= _T_234 @[el2_lib.scala 188:48] - _T_235[47] <= _T_234 @[el2_lib.scala 188:48] - _T_235[48] <= _T_234 @[el2_lib.scala 188:48] - _T_235[49] <= _T_234 @[el2_lib.scala 188:48] - _T_235[50] <= _T_234 @[el2_lib.scala 188:48] - _T_235[51] <= _T_234 @[el2_lib.scala 188:48] - _T_235[52] <= _T_234 @[el2_lib.scala 188:48] - _T_235[53] <= _T_234 @[el2_lib.scala 188:48] - _T_235[54] <= _T_234 @[el2_lib.scala 188:48] - _T_235[55] <= _T_234 @[el2_lib.scala 188:48] - _T_235[56] <= _T_234 @[el2_lib.scala 188:48] - _T_235[57] <= _T_234 @[el2_lib.scala 188:48] - _T_235[58] <= _T_234 @[el2_lib.scala 188:48] - _T_235[59] <= _T_234 @[el2_lib.scala 188:48] - _T_235[60] <= _T_234 @[el2_lib.scala 188:48] - _T_235[61] <= _T_234 @[el2_lib.scala 188:48] - _T_235[62] <= _T_234 @[el2_lib.scala 188:48] - _T_235[63] <= _T_234 @[el2_lib.scala 188:48] - _T_235[64] <= _T_234 @[el2_lib.scala 188:48] - _T_235[65] <= _T_234 @[el2_lib.scala 188:48] - _T_235[66] <= _T_234 @[el2_lib.scala 188:48] - _T_235[67] <= _T_234 @[el2_lib.scala 188:48] - _T_235[68] <= _T_234 @[el2_lib.scala 188:48] - _T_235[69] <= _T_234 @[el2_lib.scala 188:48] - _T_235[70] <= _T_234 @[el2_lib.scala 188:48] - node _T_236 = cat(_T_235[0], _T_235[1]) @[Cat.scala 29:58] - node _T_237 = cat(_T_236, _T_235[2]) @[Cat.scala 29:58] - node _T_238 = cat(_T_237, _T_235[3]) @[Cat.scala 29:58] - node _T_239 = cat(_T_238, _T_235[4]) @[Cat.scala 29:58] - node _T_240 = cat(_T_239, _T_235[5]) @[Cat.scala 29:58] - node _T_241 = cat(_T_240, _T_235[6]) @[Cat.scala 29:58] - node _T_242 = cat(_T_241, _T_235[7]) @[Cat.scala 29:58] - node _T_243 = cat(_T_242, _T_235[8]) @[Cat.scala 29:58] - node _T_244 = cat(_T_243, _T_235[9]) @[Cat.scala 29:58] - node _T_245 = cat(_T_244, _T_235[10]) @[Cat.scala 29:58] - node _T_246 = cat(_T_245, _T_235[11]) @[Cat.scala 29:58] - node _T_247 = cat(_T_246, _T_235[12]) @[Cat.scala 29:58] - node _T_248 = cat(_T_247, _T_235[13]) @[Cat.scala 29:58] - node _T_249 = cat(_T_248, _T_235[14]) @[Cat.scala 29:58] - node _T_250 = cat(_T_249, _T_235[15]) @[Cat.scala 29:58] - node _T_251 = cat(_T_250, _T_235[16]) @[Cat.scala 29:58] - node _T_252 = cat(_T_251, _T_235[17]) @[Cat.scala 29:58] - node _T_253 = cat(_T_252, _T_235[18]) @[Cat.scala 29:58] - node _T_254 = cat(_T_253, _T_235[19]) @[Cat.scala 29:58] - node _T_255 = cat(_T_254, _T_235[20]) @[Cat.scala 29:58] - node _T_256 = cat(_T_255, _T_235[21]) @[Cat.scala 29:58] - node _T_257 = cat(_T_256, _T_235[22]) @[Cat.scala 29:58] - node _T_258 = cat(_T_257, _T_235[23]) @[Cat.scala 29:58] - node _T_259 = cat(_T_258, _T_235[24]) @[Cat.scala 29:58] - node _T_260 = cat(_T_259, _T_235[25]) @[Cat.scala 29:58] - node _T_261 = cat(_T_260, _T_235[26]) @[Cat.scala 29:58] - node _T_262 = cat(_T_261, _T_235[27]) @[Cat.scala 29:58] - node _T_263 = cat(_T_262, _T_235[28]) @[Cat.scala 29:58] - node _T_264 = cat(_T_263, _T_235[29]) @[Cat.scala 29:58] - node _T_265 = cat(_T_264, _T_235[30]) @[Cat.scala 29:58] - node _T_266 = cat(_T_265, _T_235[31]) @[Cat.scala 29:58] - node _T_267 = cat(_T_266, _T_235[32]) @[Cat.scala 29:58] - node _T_268 = cat(_T_267, _T_235[33]) @[Cat.scala 29:58] - node _T_269 = cat(_T_268, _T_235[34]) @[Cat.scala 29:58] - node _T_270 = cat(_T_269, _T_235[35]) @[Cat.scala 29:58] - node _T_271 = cat(_T_270, _T_235[36]) @[Cat.scala 29:58] - node _T_272 = cat(_T_271, _T_235[37]) @[Cat.scala 29:58] - node _T_273 = cat(_T_272, _T_235[38]) @[Cat.scala 29:58] - node _T_274 = cat(_T_273, _T_235[39]) @[Cat.scala 29:58] - node _T_275 = cat(_T_274, _T_235[40]) @[Cat.scala 29:58] - node _T_276 = cat(_T_275, _T_235[41]) @[Cat.scala 29:58] - node _T_277 = cat(_T_276, _T_235[42]) @[Cat.scala 29:58] - node _T_278 = cat(_T_277, _T_235[43]) @[Cat.scala 29:58] - node _T_279 = cat(_T_278, _T_235[44]) @[Cat.scala 29:58] - node _T_280 = cat(_T_279, _T_235[45]) @[Cat.scala 29:58] - node _T_281 = cat(_T_280, _T_235[46]) @[Cat.scala 29:58] - node _T_282 = cat(_T_281, _T_235[47]) @[Cat.scala 29:58] - node _T_283 = cat(_T_282, _T_235[48]) @[Cat.scala 29:58] - node _T_284 = cat(_T_283, _T_235[49]) @[Cat.scala 29:58] - node _T_285 = cat(_T_284, _T_235[50]) @[Cat.scala 29:58] - node _T_286 = cat(_T_285, _T_235[51]) @[Cat.scala 29:58] - node _T_287 = cat(_T_286, _T_235[52]) @[Cat.scala 29:58] - node _T_288 = cat(_T_287, _T_235[53]) @[Cat.scala 29:58] - node _T_289 = cat(_T_288, _T_235[54]) @[Cat.scala 29:58] - node _T_290 = cat(_T_289, _T_235[55]) @[Cat.scala 29:58] - node _T_291 = cat(_T_290, _T_235[56]) @[Cat.scala 29:58] - node _T_292 = cat(_T_291, _T_235[57]) @[Cat.scala 29:58] - node _T_293 = cat(_T_292, _T_235[58]) @[Cat.scala 29:58] - node _T_294 = cat(_T_293, _T_235[59]) @[Cat.scala 29:58] - node _T_295 = cat(_T_294, _T_235[60]) @[Cat.scala 29:58] - node _T_296 = cat(_T_295, _T_235[61]) @[Cat.scala 29:58] - node _T_297 = cat(_T_296, _T_235[62]) @[Cat.scala 29:58] - node _T_298 = cat(_T_297, _T_235[63]) @[Cat.scala 29:58] - node _T_299 = cat(_T_298, _T_235[64]) @[Cat.scala 29:58] - node _T_300 = cat(_T_299, _T_235[65]) @[Cat.scala 29:58] - node _T_301 = cat(_T_300, _T_235[66]) @[Cat.scala 29:58] - node _T_302 = cat(_T_301, _T_235[67]) @[Cat.scala 29:58] - node _T_303 = cat(_T_302, _T_235[68]) @[Cat.scala 29:58] - node _T_304 = cat(_T_303, _T_235[69]) @[Cat.scala 29:58] - node _T_305 = cat(_T_304, _T_235[70]) @[Cat.scala 29:58] - node _T_306 = and(_T_305, wb_dout[0][1]) @[el2_ifu_ic_mem.scala 244:78] - node wb_dout_way_pre_lower_0 = or(_T_232, _T_306) @[el2_ifu_ic_mem.scala 244:102] - node _T_307 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 244:39] - node _T_308 = eq(_T_307, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 244:71] - wire _T_309 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_309[0] <= _T_308 @[el2_lib.scala 188:48] - _T_309[1] <= _T_308 @[el2_lib.scala 188:48] - _T_309[2] <= _T_308 @[el2_lib.scala 188:48] - _T_309[3] <= _T_308 @[el2_lib.scala 188:48] - _T_309[4] <= _T_308 @[el2_lib.scala 188:48] - _T_309[5] <= _T_308 @[el2_lib.scala 188:48] - _T_309[6] <= _T_308 @[el2_lib.scala 188:48] - _T_309[7] <= _T_308 @[el2_lib.scala 188:48] - _T_309[8] <= _T_308 @[el2_lib.scala 188:48] - _T_309[9] <= _T_308 @[el2_lib.scala 188:48] - _T_309[10] <= _T_308 @[el2_lib.scala 188:48] - _T_309[11] <= _T_308 @[el2_lib.scala 188:48] - _T_309[12] <= _T_308 @[el2_lib.scala 188:48] - _T_309[13] <= _T_308 @[el2_lib.scala 188:48] - _T_309[14] <= _T_308 @[el2_lib.scala 188:48] - _T_309[15] <= _T_308 @[el2_lib.scala 188:48] - _T_309[16] <= _T_308 @[el2_lib.scala 188:48] - _T_309[17] <= _T_308 @[el2_lib.scala 188:48] - _T_309[18] <= _T_308 @[el2_lib.scala 188:48] - _T_309[19] <= _T_308 @[el2_lib.scala 188:48] - _T_309[20] <= _T_308 @[el2_lib.scala 188:48] - _T_309[21] <= _T_308 @[el2_lib.scala 188:48] - _T_309[22] <= _T_308 @[el2_lib.scala 188:48] - _T_309[23] <= _T_308 @[el2_lib.scala 188:48] - _T_309[24] <= _T_308 @[el2_lib.scala 188:48] - _T_309[25] <= _T_308 @[el2_lib.scala 188:48] - _T_309[26] <= _T_308 @[el2_lib.scala 188:48] - _T_309[27] <= _T_308 @[el2_lib.scala 188:48] - _T_309[28] <= _T_308 @[el2_lib.scala 188:48] - _T_309[29] <= _T_308 @[el2_lib.scala 188:48] - _T_309[30] <= _T_308 @[el2_lib.scala 188:48] - _T_309[31] <= _T_308 @[el2_lib.scala 188:48] - _T_309[32] <= _T_308 @[el2_lib.scala 188:48] - _T_309[33] <= _T_308 @[el2_lib.scala 188:48] - _T_309[34] <= _T_308 @[el2_lib.scala 188:48] - _T_309[35] <= _T_308 @[el2_lib.scala 188:48] - _T_309[36] <= _T_308 @[el2_lib.scala 188:48] - _T_309[37] <= _T_308 @[el2_lib.scala 188:48] - _T_309[38] <= _T_308 @[el2_lib.scala 188:48] - _T_309[39] <= _T_308 @[el2_lib.scala 188:48] - _T_309[40] <= _T_308 @[el2_lib.scala 188:48] - _T_309[41] <= _T_308 @[el2_lib.scala 188:48] - _T_309[42] <= _T_308 @[el2_lib.scala 188:48] - _T_309[43] <= _T_308 @[el2_lib.scala 188:48] - _T_309[44] <= _T_308 @[el2_lib.scala 188:48] - _T_309[45] <= _T_308 @[el2_lib.scala 188:48] - _T_309[46] <= _T_308 @[el2_lib.scala 188:48] - _T_309[47] <= _T_308 @[el2_lib.scala 188:48] - _T_309[48] <= _T_308 @[el2_lib.scala 188:48] - _T_309[49] <= _T_308 @[el2_lib.scala 188:48] - _T_309[50] <= _T_308 @[el2_lib.scala 188:48] - _T_309[51] <= _T_308 @[el2_lib.scala 188:48] - _T_309[52] <= _T_308 @[el2_lib.scala 188:48] - _T_309[53] <= _T_308 @[el2_lib.scala 188:48] - _T_309[54] <= _T_308 @[el2_lib.scala 188:48] - _T_309[55] <= _T_308 @[el2_lib.scala 188:48] - _T_309[56] <= _T_308 @[el2_lib.scala 188:48] - _T_309[57] <= _T_308 @[el2_lib.scala 188:48] - _T_309[58] <= _T_308 @[el2_lib.scala 188:48] - _T_309[59] <= _T_308 @[el2_lib.scala 188:48] - _T_309[60] <= _T_308 @[el2_lib.scala 188:48] - _T_309[61] <= _T_308 @[el2_lib.scala 188:48] - _T_309[62] <= _T_308 @[el2_lib.scala 188:48] - _T_309[63] <= _T_308 @[el2_lib.scala 188:48] - _T_309[64] <= _T_308 @[el2_lib.scala 188:48] - _T_309[65] <= _T_308 @[el2_lib.scala 188:48] - _T_309[66] <= _T_308 @[el2_lib.scala 188:48] - _T_309[67] <= _T_308 @[el2_lib.scala 188:48] - _T_309[68] <= _T_308 @[el2_lib.scala 188:48] - _T_309[69] <= _T_308 @[el2_lib.scala 188:48] - _T_309[70] <= _T_308 @[el2_lib.scala 188:48] - node _T_310 = cat(_T_309[0], _T_309[1]) @[Cat.scala 29:58] - node _T_311 = cat(_T_310, _T_309[2]) @[Cat.scala 29:58] - node _T_312 = cat(_T_311, _T_309[3]) @[Cat.scala 29:58] - node _T_313 = cat(_T_312, _T_309[4]) @[Cat.scala 29:58] - node _T_314 = cat(_T_313, _T_309[5]) @[Cat.scala 29:58] - node _T_315 = cat(_T_314, _T_309[6]) @[Cat.scala 29:58] - node _T_316 = cat(_T_315, _T_309[7]) @[Cat.scala 29:58] - node _T_317 = cat(_T_316, _T_309[8]) @[Cat.scala 29:58] - node _T_318 = cat(_T_317, _T_309[9]) @[Cat.scala 29:58] - node _T_319 = cat(_T_318, _T_309[10]) @[Cat.scala 29:58] - node _T_320 = cat(_T_319, _T_309[11]) @[Cat.scala 29:58] - node _T_321 = cat(_T_320, _T_309[12]) @[Cat.scala 29:58] - node _T_322 = cat(_T_321, _T_309[13]) @[Cat.scala 29:58] - node _T_323 = cat(_T_322, _T_309[14]) @[Cat.scala 29:58] - node _T_324 = cat(_T_323, _T_309[15]) @[Cat.scala 29:58] - node _T_325 = cat(_T_324, _T_309[16]) @[Cat.scala 29:58] - node _T_326 = cat(_T_325, _T_309[17]) @[Cat.scala 29:58] - node _T_327 = cat(_T_326, _T_309[18]) @[Cat.scala 29:58] - node _T_328 = cat(_T_327, _T_309[19]) @[Cat.scala 29:58] - node _T_329 = cat(_T_328, _T_309[20]) @[Cat.scala 29:58] - node _T_330 = cat(_T_329, _T_309[21]) @[Cat.scala 29:58] - node _T_331 = cat(_T_330, _T_309[22]) @[Cat.scala 29:58] - node _T_332 = cat(_T_331, _T_309[23]) @[Cat.scala 29:58] - node _T_333 = cat(_T_332, _T_309[24]) @[Cat.scala 29:58] - node _T_334 = cat(_T_333, _T_309[25]) @[Cat.scala 29:58] - node _T_335 = cat(_T_334, _T_309[26]) @[Cat.scala 29:58] - node _T_336 = cat(_T_335, _T_309[27]) @[Cat.scala 29:58] - node _T_337 = cat(_T_336, _T_309[28]) @[Cat.scala 29:58] - node _T_338 = cat(_T_337, _T_309[29]) @[Cat.scala 29:58] - node _T_339 = cat(_T_338, _T_309[30]) @[Cat.scala 29:58] - node _T_340 = cat(_T_339, _T_309[31]) @[Cat.scala 29:58] - node _T_341 = cat(_T_340, _T_309[32]) @[Cat.scala 29:58] - node _T_342 = cat(_T_341, _T_309[33]) @[Cat.scala 29:58] - node _T_343 = cat(_T_342, _T_309[34]) @[Cat.scala 29:58] - node _T_344 = cat(_T_343, _T_309[35]) @[Cat.scala 29:58] - node _T_345 = cat(_T_344, _T_309[36]) @[Cat.scala 29:58] - node _T_346 = cat(_T_345, _T_309[37]) @[Cat.scala 29:58] - node _T_347 = cat(_T_346, _T_309[38]) @[Cat.scala 29:58] - node _T_348 = cat(_T_347, _T_309[39]) @[Cat.scala 29:58] - node _T_349 = cat(_T_348, _T_309[40]) @[Cat.scala 29:58] - node _T_350 = cat(_T_349, _T_309[41]) @[Cat.scala 29:58] - node _T_351 = cat(_T_350, _T_309[42]) @[Cat.scala 29:58] - node _T_352 = cat(_T_351, _T_309[43]) @[Cat.scala 29:58] - node _T_353 = cat(_T_352, _T_309[44]) @[Cat.scala 29:58] - node _T_354 = cat(_T_353, _T_309[45]) @[Cat.scala 29:58] - node _T_355 = cat(_T_354, _T_309[46]) @[Cat.scala 29:58] - node _T_356 = cat(_T_355, _T_309[47]) @[Cat.scala 29:58] - node _T_357 = cat(_T_356, _T_309[48]) @[Cat.scala 29:58] - node _T_358 = cat(_T_357, _T_309[49]) @[Cat.scala 29:58] - node _T_359 = cat(_T_358, _T_309[50]) @[Cat.scala 29:58] - node _T_360 = cat(_T_359, _T_309[51]) @[Cat.scala 29:58] - node _T_361 = cat(_T_360, _T_309[52]) @[Cat.scala 29:58] - node _T_362 = cat(_T_361, _T_309[53]) @[Cat.scala 29:58] - node _T_363 = cat(_T_362, _T_309[54]) @[Cat.scala 29:58] - node _T_364 = cat(_T_363, _T_309[55]) @[Cat.scala 29:58] - node _T_365 = cat(_T_364, _T_309[56]) @[Cat.scala 29:58] - node _T_366 = cat(_T_365, _T_309[57]) @[Cat.scala 29:58] - node _T_367 = cat(_T_366, _T_309[58]) @[Cat.scala 29:58] - node _T_368 = cat(_T_367, _T_309[59]) @[Cat.scala 29:58] - node _T_369 = cat(_T_368, _T_309[60]) @[Cat.scala 29:58] - node _T_370 = cat(_T_369, _T_309[61]) @[Cat.scala 29:58] - node _T_371 = cat(_T_370, _T_309[62]) @[Cat.scala 29:58] - node _T_372 = cat(_T_371, _T_309[63]) @[Cat.scala 29:58] - node _T_373 = cat(_T_372, _T_309[64]) @[Cat.scala 29:58] - node _T_374 = cat(_T_373, _T_309[65]) @[Cat.scala 29:58] - node _T_375 = cat(_T_374, _T_309[66]) @[Cat.scala 29:58] - node _T_376 = cat(_T_375, _T_309[67]) @[Cat.scala 29:58] - node _T_377 = cat(_T_376, _T_309[68]) @[Cat.scala 29:58] - node _T_378 = cat(_T_377, _T_309[69]) @[Cat.scala 29:58] - node _T_379 = cat(_T_378, _T_309[70]) @[Cat.scala 29:58] - node _T_380 = and(_T_379, wb_dout[1][0]) @[el2_ifu_ic_mem.scala 244:78] - node _T_381 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 244:39] - node _T_382 = eq(_T_381, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 244:71] - wire _T_383 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_383[0] <= _T_382 @[el2_lib.scala 188:48] - _T_383[1] <= _T_382 @[el2_lib.scala 188:48] - _T_383[2] <= _T_382 @[el2_lib.scala 188:48] - _T_383[3] <= _T_382 @[el2_lib.scala 188:48] - _T_383[4] <= _T_382 @[el2_lib.scala 188:48] - _T_383[5] <= _T_382 @[el2_lib.scala 188:48] - _T_383[6] <= _T_382 @[el2_lib.scala 188:48] - _T_383[7] <= _T_382 @[el2_lib.scala 188:48] - _T_383[8] <= _T_382 @[el2_lib.scala 188:48] - _T_383[9] <= _T_382 @[el2_lib.scala 188:48] - _T_383[10] <= _T_382 @[el2_lib.scala 188:48] - _T_383[11] <= _T_382 @[el2_lib.scala 188:48] - _T_383[12] <= _T_382 @[el2_lib.scala 188:48] - _T_383[13] <= _T_382 @[el2_lib.scala 188:48] - _T_383[14] <= _T_382 @[el2_lib.scala 188:48] - _T_383[15] <= _T_382 @[el2_lib.scala 188:48] - _T_383[16] <= _T_382 @[el2_lib.scala 188:48] - _T_383[17] <= _T_382 @[el2_lib.scala 188:48] - _T_383[18] <= _T_382 @[el2_lib.scala 188:48] - _T_383[19] <= _T_382 @[el2_lib.scala 188:48] - _T_383[20] <= _T_382 @[el2_lib.scala 188:48] - _T_383[21] <= _T_382 @[el2_lib.scala 188:48] - _T_383[22] <= _T_382 @[el2_lib.scala 188:48] - _T_383[23] <= _T_382 @[el2_lib.scala 188:48] - _T_383[24] <= _T_382 @[el2_lib.scala 188:48] - _T_383[25] <= _T_382 @[el2_lib.scala 188:48] - _T_383[26] <= _T_382 @[el2_lib.scala 188:48] - _T_383[27] <= _T_382 @[el2_lib.scala 188:48] - _T_383[28] <= _T_382 @[el2_lib.scala 188:48] - _T_383[29] <= _T_382 @[el2_lib.scala 188:48] - _T_383[30] <= _T_382 @[el2_lib.scala 188:48] - _T_383[31] <= _T_382 @[el2_lib.scala 188:48] - _T_383[32] <= _T_382 @[el2_lib.scala 188:48] - _T_383[33] <= _T_382 @[el2_lib.scala 188:48] - _T_383[34] <= _T_382 @[el2_lib.scala 188:48] - _T_383[35] <= _T_382 @[el2_lib.scala 188:48] - _T_383[36] <= _T_382 @[el2_lib.scala 188:48] - _T_383[37] <= _T_382 @[el2_lib.scala 188:48] - _T_383[38] <= _T_382 @[el2_lib.scala 188:48] - _T_383[39] <= _T_382 @[el2_lib.scala 188:48] - _T_383[40] <= _T_382 @[el2_lib.scala 188:48] - _T_383[41] <= _T_382 @[el2_lib.scala 188:48] - _T_383[42] <= _T_382 @[el2_lib.scala 188:48] - _T_383[43] <= _T_382 @[el2_lib.scala 188:48] - _T_383[44] <= _T_382 @[el2_lib.scala 188:48] - _T_383[45] <= _T_382 @[el2_lib.scala 188:48] - _T_383[46] <= _T_382 @[el2_lib.scala 188:48] - _T_383[47] <= _T_382 @[el2_lib.scala 188:48] - _T_383[48] <= _T_382 @[el2_lib.scala 188:48] - _T_383[49] <= _T_382 @[el2_lib.scala 188:48] - _T_383[50] <= _T_382 @[el2_lib.scala 188:48] - _T_383[51] <= _T_382 @[el2_lib.scala 188:48] - _T_383[52] <= _T_382 @[el2_lib.scala 188:48] - _T_383[53] <= _T_382 @[el2_lib.scala 188:48] - _T_383[54] <= _T_382 @[el2_lib.scala 188:48] - _T_383[55] <= _T_382 @[el2_lib.scala 188:48] - _T_383[56] <= _T_382 @[el2_lib.scala 188:48] - _T_383[57] <= _T_382 @[el2_lib.scala 188:48] - _T_383[58] <= _T_382 @[el2_lib.scala 188:48] - _T_383[59] <= _T_382 @[el2_lib.scala 188:48] - _T_383[60] <= _T_382 @[el2_lib.scala 188:48] - _T_383[61] <= _T_382 @[el2_lib.scala 188:48] - _T_383[62] <= _T_382 @[el2_lib.scala 188:48] - _T_383[63] <= _T_382 @[el2_lib.scala 188:48] - _T_383[64] <= _T_382 @[el2_lib.scala 188:48] - _T_383[65] <= _T_382 @[el2_lib.scala 188:48] - _T_383[66] <= _T_382 @[el2_lib.scala 188:48] - _T_383[67] <= _T_382 @[el2_lib.scala 188:48] - _T_383[68] <= _T_382 @[el2_lib.scala 188:48] - _T_383[69] <= _T_382 @[el2_lib.scala 188:48] - _T_383[70] <= _T_382 @[el2_lib.scala 188:48] - node _T_384 = cat(_T_383[0], _T_383[1]) @[Cat.scala 29:58] - node _T_385 = cat(_T_384, _T_383[2]) @[Cat.scala 29:58] - node _T_386 = cat(_T_385, _T_383[3]) @[Cat.scala 29:58] - node _T_387 = cat(_T_386, _T_383[4]) @[Cat.scala 29:58] - node _T_388 = cat(_T_387, _T_383[5]) @[Cat.scala 29:58] - node _T_389 = cat(_T_388, _T_383[6]) @[Cat.scala 29:58] - node _T_390 = cat(_T_389, _T_383[7]) @[Cat.scala 29:58] - node _T_391 = cat(_T_390, _T_383[8]) @[Cat.scala 29:58] - node _T_392 = cat(_T_391, _T_383[9]) @[Cat.scala 29:58] - node _T_393 = cat(_T_392, _T_383[10]) @[Cat.scala 29:58] - node _T_394 = cat(_T_393, _T_383[11]) @[Cat.scala 29:58] - node _T_395 = cat(_T_394, _T_383[12]) @[Cat.scala 29:58] - node _T_396 = cat(_T_395, _T_383[13]) @[Cat.scala 29:58] - node _T_397 = cat(_T_396, _T_383[14]) @[Cat.scala 29:58] - node _T_398 = cat(_T_397, _T_383[15]) @[Cat.scala 29:58] - node _T_399 = cat(_T_398, _T_383[16]) @[Cat.scala 29:58] - node _T_400 = cat(_T_399, _T_383[17]) @[Cat.scala 29:58] - node _T_401 = cat(_T_400, _T_383[18]) @[Cat.scala 29:58] - node _T_402 = cat(_T_401, _T_383[19]) @[Cat.scala 29:58] - node _T_403 = cat(_T_402, _T_383[20]) @[Cat.scala 29:58] - node _T_404 = cat(_T_403, _T_383[21]) @[Cat.scala 29:58] - node _T_405 = cat(_T_404, _T_383[22]) @[Cat.scala 29:58] - node _T_406 = cat(_T_405, _T_383[23]) @[Cat.scala 29:58] - node _T_407 = cat(_T_406, _T_383[24]) @[Cat.scala 29:58] - node _T_408 = cat(_T_407, _T_383[25]) @[Cat.scala 29:58] - node _T_409 = cat(_T_408, _T_383[26]) @[Cat.scala 29:58] - node _T_410 = cat(_T_409, _T_383[27]) @[Cat.scala 29:58] - node _T_411 = cat(_T_410, _T_383[28]) @[Cat.scala 29:58] - node _T_412 = cat(_T_411, _T_383[29]) @[Cat.scala 29:58] - node _T_413 = cat(_T_412, _T_383[30]) @[Cat.scala 29:58] - node _T_414 = cat(_T_413, _T_383[31]) @[Cat.scala 29:58] - node _T_415 = cat(_T_414, _T_383[32]) @[Cat.scala 29:58] - node _T_416 = cat(_T_415, _T_383[33]) @[Cat.scala 29:58] - node _T_417 = cat(_T_416, _T_383[34]) @[Cat.scala 29:58] - node _T_418 = cat(_T_417, _T_383[35]) @[Cat.scala 29:58] - node _T_419 = cat(_T_418, _T_383[36]) @[Cat.scala 29:58] - node _T_420 = cat(_T_419, _T_383[37]) @[Cat.scala 29:58] - node _T_421 = cat(_T_420, _T_383[38]) @[Cat.scala 29:58] - node _T_422 = cat(_T_421, _T_383[39]) @[Cat.scala 29:58] - node _T_423 = cat(_T_422, _T_383[40]) @[Cat.scala 29:58] - node _T_424 = cat(_T_423, _T_383[41]) @[Cat.scala 29:58] - node _T_425 = cat(_T_424, _T_383[42]) @[Cat.scala 29:58] - node _T_426 = cat(_T_425, _T_383[43]) @[Cat.scala 29:58] - node _T_427 = cat(_T_426, _T_383[44]) @[Cat.scala 29:58] - node _T_428 = cat(_T_427, _T_383[45]) @[Cat.scala 29:58] - node _T_429 = cat(_T_428, _T_383[46]) @[Cat.scala 29:58] - node _T_430 = cat(_T_429, _T_383[47]) @[Cat.scala 29:58] - node _T_431 = cat(_T_430, _T_383[48]) @[Cat.scala 29:58] - node _T_432 = cat(_T_431, _T_383[49]) @[Cat.scala 29:58] - node _T_433 = cat(_T_432, _T_383[50]) @[Cat.scala 29:58] - node _T_434 = cat(_T_433, _T_383[51]) @[Cat.scala 29:58] - node _T_435 = cat(_T_434, _T_383[52]) @[Cat.scala 29:58] - node _T_436 = cat(_T_435, _T_383[53]) @[Cat.scala 29:58] - node _T_437 = cat(_T_436, _T_383[54]) @[Cat.scala 29:58] - node _T_438 = cat(_T_437, _T_383[55]) @[Cat.scala 29:58] - node _T_439 = cat(_T_438, _T_383[56]) @[Cat.scala 29:58] - node _T_440 = cat(_T_439, _T_383[57]) @[Cat.scala 29:58] - node _T_441 = cat(_T_440, _T_383[58]) @[Cat.scala 29:58] - node _T_442 = cat(_T_441, _T_383[59]) @[Cat.scala 29:58] - node _T_443 = cat(_T_442, _T_383[60]) @[Cat.scala 29:58] - node _T_444 = cat(_T_443, _T_383[61]) @[Cat.scala 29:58] - node _T_445 = cat(_T_444, _T_383[62]) @[Cat.scala 29:58] - node _T_446 = cat(_T_445, _T_383[63]) @[Cat.scala 29:58] - node _T_447 = cat(_T_446, _T_383[64]) @[Cat.scala 29:58] - node _T_448 = cat(_T_447, _T_383[65]) @[Cat.scala 29:58] - node _T_449 = cat(_T_448, _T_383[66]) @[Cat.scala 29:58] - node _T_450 = cat(_T_449, _T_383[67]) @[Cat.scala 29:58] - node _T_451 = cat(_T_450, _T_383[68]) @[Cat.scala 29:58] - node _T_452 = cat(_T_451, _T_383[69]) @[Cat.scala 29:58] - node _T_453 = cat(_T_452, _T_383[70]) @[Cat.scala 29:58] - node _T_454 = and(_T_453, wb_dout[1][1]) @[el2_ifu_ic_mem.scala 244:78] - node wb_dout_way_pre_lower_1 = or(_T_380, _T_454) @[el2_ifu_ic_mem.scala 244:102] - node _T_455 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 248:39] - node _T_456 = sub(UInt<1>("h00"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 248:77] - node _T_457 = tail(_T_456, 1) @[el2_ifu_ic_mem.scala 248:77] - node _T_458 = eq(_T_455, _T_457) @[el2_ifu_ic_mem.scala 248:71] - wire _T_459 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_459[0] <= _T_458 @[el2_lib.scala 188:48] - _T_459[1] <= _T_458 @[el2_lib.scala 188:48] - _T_459[2] <= _T_458 @[el2_lib.scala 188:48] - _T_459[3] <= _T_458 @[el2_lib.scala 188:48] - _T_459[4] <= _T_458 @[el2_lib.scala 188:48] - _T_459[5] <= _T_458 @[el2_lib.scala 188:48] - _T_459[6] <= _T_458 @[el2_lib.scala 188:48] - _T_459[7] <= _T_458 @[el2_lib.scala 188:48] - _T_459[8] <= _T_458 @[el2_lib.scala 188:48] - _T_459[9] <= _T_458 @[el2_lib.scala 188:48] - _T_459[10] <= _T_458 @[el2_lib.scala 188:48] - _T_459[11] <= _T_458 @[el2_lib.scala 188:48] - _T_459[12] <= _T_458 @[el2_lib.scala 188:48] - _T_459[13] <= _T_458 @[el2_lib.scala 188:48] - _T_459[14] <= _T_458 @[el2_lib.scala 188:48] - _T_459[15] <= _T_458 @[el2_lib.scala 188:48] - _T_459[16] <= _T_458 @[el2_lib.scala 188:48] - _T_459[17] <= _T_458 @[el2_lib.scala 188:48] - _T_459[18] <= _T_458 @[el2_lib.scala 188:48] - _T_459[19] <= _T_458 @[el2_lib.scala 188:48] - _T_459[20] <= _T_458 @[el2_lib.scala 188:48] - _T_459[21] <= _T_458 @[el2_lib.scala 188:48] - _T_459[22] <= _T_458 @[el2_lib.scala 188:48] - _T_459[23] <= _T_458 @[el2_lib.scala 188:48] - _T_459[24] <= _T_458 @[el2_lib.scala 188:48] - _T_459[25] <= _T_458 @[el2_lib.scala 188:48] - _T_459[26] <= _T_458 @[el2_lib.scala 188:48] - _T_459[27] <= _T_458 @[el2_lib.scala 188:48] - _T_459[28] <= _T_458 @[el2_lib.scala 188:48] - _T_459[29] <= _T_458 @[el2_lib.scala 188:48] - _T_459[30] <= _T_458 @[el2_lib.scala 188:48] - _T_459[31] <= _T_458 @[el2_lib.scala 188:48] - _T_459[32] <= _T_458 @[el2_lib.scala 188:48] - _T_459[33] <= _T_458 @[el2_lib.scala 188:48] - _T_459[34] <= _T_458 @[el2_lib.scala 188:48] - _T_459[35] <= _T_458 @[el2_lib.scala 188:48] - _T_459[36] <= _T_458 @[el2_lib.scala 188:48] - _T_459[37] <= _T_458 @[el2_lib.scala 188:48] - _T_459[38] <= _T_458 @[el2_lib.scala 188:48] - _T_459[39] <= _T_458 @[el2_lib.scala 188:48] - _T_459[40] <= _T_458 @[el2_lib.scala 188:48] - _T_459[41] <= _T_458 @[el2_lib.scala 188:48] - _T_459[42] <= _T_458 @[el2_lib.scala 188:48] - _T_459[43] <= _T_458 @[el2_lib.scala 188:48] - _T_459[44] <= _T_458 @[el2_lib.scala 188:48] - _T_459[45] <= _T_458 @[el2_lib.scala 188:48] - _T_459[46] <= _T_458 @[el2_lib.scala 188:48] - _T_459[47] <= _T_458 @[el2_lib.scala 188:48] - _T_459[48] <= _T_458 @[el2_lib.scala 188:48] - _T_459[49] <= _T_458 @[el2_lib.scala 188:48] - _T_459[50] <= _T_458 @[el2_lib.scala 188:48] - _T_459[51] <= _T_458 @[el2_lib.scala 188:48] - _T_459[52] <= _T_458 @[el2_lib.scala 188:48] - _T_459[53] <= _T_458 @[el2_lib.scala 188:48] - _T_459[54] <= _T_458 @[el2_lib.scala 188:48] - _T_459[55] <= _T_458 @[el2_lib.scala 188:48] - _T_459[56] <= _T_458 @[el2_lib.scala 188:48] - _T_459[57] <= _T_458 @[el2_lib.scala 188:48] - _T_459[58] <= _T_458 @[el2_lib.scala 188:48] - _T_459[59] <= _T_458 @[el2_lib.scala 188:48] - _T_459[60] <= _T_458 @[el2_lib.scala 188:48] - _T_459[61] <= _T_458 @[el2_lib.scala 188:48] - _T_459[62] <= _T_458 @[el2_lib.scala 188:48] - _T_459[63] <= _T_458 @[el2_lib.scala 188:48] - _T_459[64] <= _T_458 @[el2_lib.scala 188:48] - _T_459[65] <= _T_458 @[el2_lib.scala 188:48] - _T_459[66] <= _T_458 @[el2_lib.scala 188:48] - _T_459[67] <= _T_458 @[el2_lib.scala 188:48] - _T_459[68] <= _T_458 @[el2_lib.scala 188:48] - _T_459[69] <= _T_458 @[el2_lib.scala 188:48] - _T_459[70] <= _T_458 @[el2_lib.scala 188:48] - node _T_460 = cat(_T_459[0], _T_459[1]) @[Cat.scala 29:58] - node _T_461 = cat(_T_460, _T_459[2]) @[Cat.scala 29:58] - node _T_462 = cat(_T_461, _T_459[3]) @[Cat.scala 29:58] - node _T_463 = cat(_T_462, _T_459[4]) @[Cat.scala 29:58] - node _T_464 = cat(_T_463, _T_459[5]) @[Cat.scala 29:58] - node _T_465 = cat(_T_464, _T_459[6]) @[Cat.scala 29:58] - node _T_466 = cat(_T_465, _T_459[7]) @[Cat.scala 29:58] - node _T_467 = cat(_T_466, _T_459[8]) @[Cat.scala 29:58] - node _T_468 = cat(_T_467, _T_459[9]) @[Cat.scala 29:58] - node _T_469 = cat(_T_468, _T_459[10]) @[Cat.scala 29:58] - node _T_470 = cat(_T_469, _T_459[11]) @[Cat.scala 29:58] - node _T_471 = cat(_T_470, _T_459[12]) @[Cat.scala 29:58] - node _T_472 = cat(_T_471, _T_459[13]) @[Cat.scala 29:58] - node _T_473 = cat(_T_472, _T_459[14]) @[Cat.scala 29:58] - node _T_474 = cat(_T_473, _T_459[15]) @[Cat.scala 29:58] - node _T_475 = cat(_T_474, _T_459[16]) @[Cat.scala 29:58] - node _T_476 = cat(_T_475, _T_459[17]) @[Cat.scala 29:58] - node _T_477 = cat(_T_476, _T_459[18]) @[Cat.scala 29:58] - node _T_478 = cat(_T_477, _T_459[19]) @[Cat.scala 29:58] - node _T_479 = cat(_T_478, _T_459[20]) @[Cat.scala 29:58] - node _T_480 = cat(_T_479, _T_459[21]) @[Cat.scala 29:58] - node _T_481 = cat(_T_480, _T_459[22]) @[Cat.scala 29:58] - node _T_482 = cat(_T_481, _T_459[23]) @[Cat.scala 29:58] - node _T_483 = cat(_T_482, _T_459[24]) @[Cat.scala 29:58] - node _T_484 = cat(_T_483, _T_459[25]) @[Cat.scala 29:58] - node _T_485 = cat(_T_484, _T_459[26]) @[Cat.scala 29:58] - node _T_486 = cat(_T_485, _T_459[27]) @[Cat.scala 29:58] - node _T_487 = cat(_T_486, _T_459[28]) @[Cat.scala 29:58] - node _T_488 = cat(_T_487, _T_459[29]) @[Cat.scala 29:58] - node _T_489 = cat(_T_488, _T_459[30]) @[Cat.scala 29:58] - node _T_490 = cat(_T_489, _T_459[31]) @[Cat.scala 29:58] - node _T_491 = cat(_T_490, _T_459[32]) @[Cat.scala 29:58] - node _T_492 = cat(_T_491, _T_459[33]) @[Cat.scala 29:58] - node _T_493 = cat(_T_492, _T_459[34]) @[Cat.scala 29:58] - node _T_494 = cat(_T_493, _T_459[35]) @[Cat.scala 29:58] - node _T_495 = cat(_T_494, _T_459[36]) @[Cat.scala 29:58] - node _T_496 = cat(_T_495, _T_459[37]) @[Cat.scala 29:58] - node _T_497 = cat(_T_496, _T_459[38]) @[Cat.scala 29:58] - node _T_498 = cat(_T_497, _T_459[39]) @[Cat.scala 29:58] - node _T_499 = cat(_T_498, _T_459[40]) @[Cat.scala 29:58] - node _T_500 = cat(_T_499, _T_459[41]) @[Cat.scala 29:58] - node _T_501 = cat(_T_500, _T_459[42]) @[Cat.scala 29:58] - node _T_502 = cat(_T_501, _T_459[43]) @[Cat.scala 29:58] - node _T_503 = cat(_T_502, _T_459[44]) @[Cat.scala 29:58] - node _T_504 = cat(_T_503, _T_459[45]) @[Cat.scala 29:58] - node _T_505 = cat(_T_504, _T_459[46]) @[Cat.scala 29:58] - node _T_506 = cat(_T_505, _T_459[47]) @[Cat.scala 29:58] - node _T_507 = cat(_T_506, _T_459[48]) @[Cat.scala 29:58] - node _T_508 = cat(_T_507, _T_459[49]) @[Cat.scala 29:58] - node _T_509 = cat(_T_508, _T_459[50]) @[Cat.scala 29:58] - node _T_510 = cat(_T_509, _T_459[51]) @[Cat.scala 29:58] - node _T_511 = cat(_T_510, _T_459[52]) @[Cat.scala 29:58] - node _T_512 = cat(_T_511, _T_459[53]) @[Cat.scala 29:58] - node _T_513 = cat(_T_512, _T_459[54]) @[Cat.scala 29:58] - node _T_514 = cat(_T_513, _T_459[55]) @[Cat.scala 29:58] - node _T_515 = cat(_T_514, _T_459[56]) @[Cat.scala 29:58] - node _T_516 = cat(_T_515, _T_459[57]) @[Cat.scala 29:58] - node _T_517 = cat(_T_516, _T_459[58]) @[Cat.scala 29:58] - node _T_518 = cat(_T_517, _T_459[59]) @[Cat.scala 29:58] - node _T_519 = cat(_T_518, _T_459[60]) @[Cat.scala 29:58] - node _T_520 = cat(_T_519, _T_459[61]) @[Cat.scala 29:58] - node _T_521 = cat(_T_520, _T_459[62]) @[Cat.scala 29:58] - node _T_522 = cat(_T_521, _T_459[63]) @[Cat.scala 29:58] - node _T_523 = cat(_T_522, _T_459[64]) @[Cat.scala 29:58] - node _T_524 = cat(_T_523, _T_459[65]) @[Cat.scala 29:58] - node _T_525 = cat(_T_524, _T_459[66]) @[Cat.scala 29:58] - node _T_526 = cat(_T_525, _T_459[67]) @[Cat.scala 29:58] - node _T_527 = cat(_T_526, _T_459[68]) @[Cat.scala 29:58] - node _T_528 = cat(_T_527, _T_459[69]) @[Cat.scala 29:58] - node _T_529 = cat(_T_528, _T_459[70]) @[Cat.scala 29:58] - node _T_530 = and(_T_529, wb_dout[0][0]) @[el2_ifu_ic_mem.scala 248:82] - node _T_531 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 248:39] - node _T_532 = sub(UInt<1>("h01"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 248:77] - node _T_533 = tail(_T_532, 1) @[el2_ifu_ic_mem.scala 248:77] - node _T_534 = eq(_T_531, _T_533) @[el2_ifu_ic_mem.scala 248:71] - wire _T_535 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_535[0] <= _T_534 @[el2_lib.scala 188:48] - _T_535[1] <= _T_534 @[el2_lib.scala 188:48] - _T_535[2] <= _T_534 @[el2_lib.scala 188:48] - _T_535[3] <= _T_534 @[el2_lib.scala 188:48] - _T_535[4] <= _T_534 @[el2_lib.scala 188:48] - _T_535[5] <= _T_534 @[el2_lib.scala 188:48] - _T_535[6] <= _T_534 @[el2_lib.scala 188:48] - _T_535[7] <= _T_534 @[el2_lib.scala 188:48] - _T_535[8] <= _T_534 @[el2_lib.scala 188:48] - _T_535[9] <= _T_534 @[el2_lib.scala 188:48] - _T_535[10] <= _T_534 @[el2_lib.scala 188:48] - _T_535[11] <= _T_534 @[el2_lib.scala 188:48] - _T_535[12] <= _T_534 @[el2_lib.scala 188:48] - _T_535[13] <= _T_534 @[el2_lib.scala 188:48] - _T_535[14] <= _T_534 @[el2_lib.scala 188:48] - _T_535[15] <= _T_534 @[el2_lib.scala 188:48] - _T_535[16] <= _T_534 @[el2_lib.scala 188:48] - _T_535[17] <= _T_534 @[el2_lib.scala 188:48] - _T_535[18] <= _T_534 @[el2_lib.scala 188:48] - _T_535[19] <= _T_534 @[el2_lib.scala 188:48] - _T_535[20] <= _T_534 @[el2_lib.scala 188:48] - _T_535[21] <= _T_534 @[el2_lib.scala 188:48] - _T_535[22] <= _T_534 @[el2_lib.scala 188:48] - _T_535[23] <= _T_534 @[el2_lib.scala 188:48] - _T_535[24] <= _T_534 @[el2_lib.scala 188:48] - _T_535[25] <= _T_534 @[el2_lib.scala 188:48] - _T_535[26] <= _T_534 @[el2_lib.scala 188:48] - _T_535[27] <= _T_534 @[el2_lib.scala 188:48] - _T_535[28] <= _T_534 @[el2_lib.scala 188:48] - _T_535[29] <= _T_534 @[el2_lib.scala 188:48] - _T_535[30] <= _T_534 @[el2_lib.scala 188:48] - _T_535[31] <= _T_534 @[el2_lib.scala 188:48] - _T_535[32] <= _T_534 @[el2_lib.scala 188:48] - _T_535[33] <= _T_534 @[el2_lib.scala 188:48] - _T_535[34] <= _T_534 @[el2_lib.scala 188:48] - _T_535[35] <= _T_534 @[el2_lib.scala 188:48] - _T_535[36] <= _T_534 @[el2_lib.scala 188:48] - _T_535[37] <= _T_534 @[el2_lib.scala 188:48] - _T_535[38] <= _T_534 @[el2_lib.scala 188:48] - _T_535[39] <= _T_534 @[el2_lib.scala 188:48] - _T_535[40] <= _T_534 @[el2_lib.scala 188:48] - _T_535[41] <= _T_534 @[el2_lib.scala 188:48] - _T_535[42] <= _T_534 @[el2_lib.scala 188:48] - _T_535[43] <= _T_534 @[el2_lib.scala 188:48] - _T_535[44] <= _T_534 @[el2_lib.scala 188:48] - _T_535[45] <= _T_534 @[el2_lib.scala 188:48] - _T_535[46] <= _T_534 @[el2_lib.scala 188:48] - _T_535[47] <= _T_534 @[el2_lib.scala 188:48] - _T_535[48] <= _T_534 @[el2_lib.scala 188:48] - _T_535[49] <= _T_534 @[el2_lib.scala 188:48] - _T_535[50] <= _T_534 @[el2_lib.scala 188:48] - _T_535[51] <= _T_534 @[el2_lib.scala 188:48] - _T_535[52] <= _T_534 @[el2_lib.scala 188:48] - _T_535[53] <= _T_534 @[el2_lib.scala 188:48] - _T_535[54] <= _T_534 @[el2_lib.scala 188:48] - _T_535[55] <= _T_534 @[el2_lib.scala 188:48] - _T_535[56] <= _T_534 @[el2_lib.scala 188:48] - _T_535[57] <= _T_534 @[el2_lib.scala 188:48] - _T_535[58] <= _T_534 @[el2_lib.scala 188:48] - _T_535[59] <= _T_534 @[el2_lib.scala 188:48] - _T_535[60] <= _T_534 @[el2_lib.scala 188:48] - _T_535[61] <= _T_534 @[el2_lib.scala 188:48] - _T_535[62] <= _T_534 @[el2_lib.scala 188:48] - _T_535[63] <= _T_534 @[el2_lib.scala 188:48] - _T_535[64] <= _T_534 @[el2_lib.scala 188:48] - _T_535[65] <= _T_534 @[el2_lib.scala 188:48] - _T_535[66] <= _T_534 @[el2_lib.scala 188:48] - _T_535[67] <= _T_534 @[el2_lib.scala 188:48] - _T_535[68] <= _T_534 @[el2_lib.scala 188:48] - _T_535[69] <= _T_534 @[el2_lib.scala 188:48] - _T_535[70] <= _T_534 @[el2_lib.scala 188:48] - node _T_536 = cat(_T_535[0], _T_535[1]) @[Cat.scala 29:58] - node _T_537 = cat(_T_536, _T_535[2]) @[Cat.scala 29:58] - node _T_538 = cat(_T_537, _T_535[3]) @[Cat.scala 29:58] - node _T_539 = cat(_T_538, _T_535[4]) @[Cat.scala 29:58] - node _T_540 = cat(_T_539, _T_535[5]) @[Cat.scala 29:58] - node _T_541 = cat(_T_540, _T_535[6]) @[Cat.scala 29:58] - node _T_542 = cat(_T_541, _T_535[7]) @[Cat.scala 29:58] - node _T_543 = cat(_T_542, _T_535[8]) @[Cat.scala 29:58] - node _T_544 = cat(_T_543, _T_535[9]) @[Cat.scala 29:58] - node _T_545 = cat(_T_544, _T_535[10]) @[Cat.scala 29:58] - node _T_546 = cat(_T_545, _T_535[11]) @[Cat.scala 29:58] - node _T_547 = cat(_T_546, _T_535[12]) @[Cat.scala 29:58] - node _T_548 = cat(_T_547, _T_535[13]) @[Cat.scala 29:58] - node _T_549 = cat(_T_548, _T_535[14]) @[Cat.scala 29:58] - node _T_550 = cat(_T_549, _T_535[15]) @[Cat.scala 29:58] - node _T_551 = cat(_T_550, _T_535[16]) @[Cat.scala 29:58] - node _T_552 = cat(_T_551, _T_535[17]) @[Cat.scala 29:58] - node _T_553 = cat(_T_552, _T_535[18]) @[Cat.scala 29:58] - node _T_554 = cat(_T_553, _T_535[19]) @[Cat.scala 29:58] - node _T_555 = cat(_T_554, _T_535[20]) @[Cat.scala 29:58] - node _T_556 = cat(_T_555, _T_535[21]) @[Cat.scala 29:58] - node _T_557 = cat(_T_556, _T_535[22]) @[Cat.scala 29:58] - node _T_558 = cat(_T_557, _T_535[23]) @[Cat.scala 29:58] - node _T_559 = cat(_T_558, _T_535[24]) @[Cat.scala 29:58] - node _T_560 = cat(_T_559, _T_535[25]) @[Cat.scala 29:58] - node _T_561 = cat(_T_560, _T_535[26]) @[Cat.scala 29:58] - node _T_562 = cat(_T_561, _T_535[27]) @[Cat.scala 29:58] - node _T_563 = cat(_T_562, _T_535[28]) @[Cat.scala 29:58] - node _T_564 = cat(_T_563, _T_535[29]) @[Cat.scala 29:58] - node _T_565 = cat(_T_564, _T_535[30]) @[Cat.scala 29:58] - node _T_566 = cat(_T_565, _T_535[31]) @[Cat.scala 29:58] - node _T_567 = cat(_T_566, _T_535[32]) @[Cat.scala 29:58] - node _T_568 = cat(_T_567, _T_535[33]) @[Cat.scala 29:58] - node _T_569 = cat(_T_568, _T_535[34]) @[Cat.scala 29:58] - node _T_570 = cat(_T_569, _T_535[35]) @[Cat.scala 29:58] - node _T_571 = cat(_T_570, _T_535[36]) @[Cat.scala 29:58] - node _T_572 = cat(_T_571, _T_535[37]) @[Cat.scala 29:58] - node _T_573 = cat(_T_572, _T_535[38]) @[Cat.scala 29:58] - node _T_574 = cat(_T_573, _T_535[39]) @[Cat.scala 29:58] - node _T_575 = cat(_T_574, _T_535[40]) @[Cat.scala 29:58] - node _T_576 = cat(_T_575, _T_535[41]) @[Cat.scala 29:58] - node _T_577 = cat(_T_576, _T_535[42]) @[Cat.scala 29:58] - node _T_578 = cat(_T_577, _T_535[43]) @[Cat.scala 29:58] - node _T_579 = cat(_T_578, _T_535[44]) @[Cat.scala 29:58] - node _T_580 = cat(_T_579, _T_535[45]) @[Cat.scala 29:58] - node _T_581 = cat(_T_580, _T_535[46]) @[Cat.scala 29:58] - node _T_582 = cat(_T_581, _T_535[47]) @[Cat.scala 29:58] - node _T_583 = cat(_T_582, _T_535[48]) @[Cat.scala 29:58] - node _T_584 = cat(_T_583, _T_535[49]) @[Cat.scala 29:58] - node _T_585 = cat(_T_584, _T_535[50]) @[Cat.scala 29:58] - node _T_586 = cat(_T_585, _T_535[51]) @[Cat.scala 29:58] - node _T_587 = cat(_T_586, _T_535[52]) @[Cat.scala 29:58] - node _T_588 = cat(_T_587, _T_535[53]) @[Cat.scala 29:58] - node _T_589 = cat(_T_588, _T_535[54]) @[Cat.scala 29:58] - node _T_590 = cat(_T_589, _T_535[55]) @[Cat.scala 29:58] - node _T_591 = cat(_T_590, _T_535[56]) @[Cat.scala 29:58] - node _T_592 = cat(_T_591, _T_535[57]) @[Cat.scala 29:58] - node _T_593 = cat(_T_592, _T_535[58]) @[Cat.scala 29:58] - node _T_594 = cat(_T_593, _T_535[59]) @[Cat.scala 29:58] - node _T_595 = cat(_T_594, _T_535[60]) @[Cat.scala 29:58] - node _T_596 = cat(_T_595, _T_535[61]) @[Cat.scala 29:58] - node _T_597 = cat(_T_596, _T_535[62]) @[Cat.scala 29:58] - node _T_598 = cat(_T_597, _T_535[63]) @[Cat.scala 29:58] - node _T_599 = cat(_T_598, _T_535[64]) @[Cat.scala 29:58] - node _T_600 = cat(_T_599, _T_535[65]) @[Cat.scala 29:58] - node _T_601 = cat(_T_600, _T_535[66]) @[Cat.scala 29:58] - node _T_602 = cat(_T_601, _T_535[67]) @[Cat.scala 29:58] - node _T_603 = cat(_T_602, _T_535[68]) @[Cat.scala 29:58] - node _T_604 = cat(_T_603, _T_535[69]) @[Cat.scala 29:58] - node _T_605 = cat(_T_604, _T_535[70]) @[Cat.scala 29:58] - node _T_606 = and(_T_605, wb_dout[0][1]) @[el2_ifu_ic_mem.scala 248:82] - node wb_dout_way_pre_upper_0 = or(_T_530, _T_606) @[el2_ifu_ic_mem.scala 248:106] - node _T_607 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 248:39] - node _T_608 = sub(UInt<1>("h00"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 248:77] - node _T_609 = tail(_T_608, 1) @[el2_ifu_ic_mem.scala 248:77] - node _T_610 = eq(_T_607, _T_609) @[el2_ifu_ic_mem.scala 248:71] - wire _T_611 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_611[0] <= _T_610 @[el2_lib.scala 188:48] - _T_611[1] <= _T_610 @[el2_lib.scala 188:48] - _T_611[2] <= _T_610 @[el2_lib.scala 188:48] - _T_611[3] <= _T_610 @[el2_lib.scala 188:48] - _T_611[4] <= _T_610 @[el2_lib.scala 188:48] - _T_611[5] <= _T_610 @[el2_lib.scala 188:48] - _T_611[6] <= _T_610 @[el2_lib.scala 188:48] - _T_611[7] <= _T_610 @[el2_lib.scala 188:48] - _T_611[8] <= _T_610 @[el2_lib.scala 188:48] - _T_611[9] <= _T_610 @[el2_lib.scala 188:48] - _T_611[10] <= _T_610 @[el2_lib.scala 188:48] - _T_611[11] <= _T_610 @[el2_lib.scala 188:48] - _T_611[12] <= _T_610 @[el2_lib.scala 188:48] - _T_611[13] <= _T_610 @[el2_lib.scala 188:48] - _T_611[14] <= _T_610 @[el2_lib.scala 188:48] - _T_611[15] <= _T_610 @[el2_lib.scala 188:48] - _T_611[16] <= _T_610 @[el2_lib.scala 188:48] - _T_611[17] <= _T_610 @[el2_lib.scala 188:48] - _T_611[18] <= _T_610 @[el2_lib.scala 188:48] - _T_611[19] <= _T_610 @[el2_lib.scala 188:48] - _T_611[20] <= _T_610 @[el2_lib.scala 188:48] - _T_611[21] <= _T_610 @[el2_lib.scala 188:48] - _T_611[22] <= _T_610 @[el2_lib.scala 188:48] - _T_611[23] <= _T_610 @[el2_lib.scala 188:48] - _T_611[24] <= _T_610 @[el2_lib.scala 188:48] - _T_611[25] <= _T_610 @[el2_lib.scala 188:48] - _T_611[26] <= _T_610 @[el2_lib.scala 188:48] - _T_611[27] <= _T_610 @[el2_lib.scala 188:48] - _T_611[28] <= _T_610 @[el2_lib.scala 188:48] - _T_611[29] <= _T_610 @[el2_lib.scala 188:48] - _T_611[30] <= _T_610 @[el2_lib.scala 188:48] - _T_611[31] <= _T_610 @[el2_lib.scala 188:48] - _T_611[32] <= _T_610 @[el2_lib.scala 188:48] - _T_611[33] <= _T_610 @[el2_lib.scala 188:48] - _T_611[34] <= _T_610 @[el2_lib.scala 188:48] - _T_611[35] <= _T_610 @[el2_lib.scala 188:48] - _T_611[36] <= _T_610 @[el2_lib.scala 188:48] - _T_611[37] <= _T_610 @[el2_lib.scala 188:48] - _T_611[38] <= _T_610 @[el2_lib.scala 188:48] - _T_611[39] <= _T_610 @[el2_lib.scala 188:48] - _T_611[40] <= _T_610 @[el2_lib.scala 188:48] - _T_611[41] <= _T_610 @[el2_lib.scala 188:48] - _T_611[42] <= _T_610 @[el2_lib.scala 188:48] - _T_611[43] <= _T_610 @[el2_lib.scala 188:48] - _T_611[44] <= _T_610 @[el2_lib.scala 188:48] - _T_611[45] <= _T_610 @[el2_lib.scala 188:48] - _T_611[46] <= _T_610 @[el2_lib.scala 188:48] - _T_611[47] <= _T_610 @[el2_lib.scala 188:48] - _T_611[48] <= _T_610 @[el2_lib.scala 188:48] - _T_611[49] <= _T_610 @[el2_lib.scala 188:48] - _T_611[50] <= _T_610 @[el2_lib.scala 188:48] - _T_611[51] <= _T_610 @[el2_lib.scala 188:48] - _T_611[52] <= _T_610 @[el2_lib.scala 188:48] - _T_611[53] <= _T_610 @[el2_lib.scala 188:48] - _T_611[54] <= _T_610 @[el2_lib.scala 188:48] - _T_611[55] <= _T_610 @[el2_lib.scala 188:48] - _T_611[56] <= _T_610 @[el2_lib.scala 188:48] - _T_611[57] <= _T_610 @[el2_lib.scala 188:48] - _T_611[58] <= _T_610 @[el2_lib.scala 188:48] - _T_611[59] <= _T_610 @[el2_lib.scala 188:48] - _T_611[60] <= _T_610 @[el2_lib.scala 188:48] - _T_611[61] <= _T_610 @[el2_lib.scala 188:48] - _T_611[62] <= _T_610 @[el2_lib.scala 188:48] - _T_611[63] <= _T_610 @[el2_lib.scala 188:48] - _T_611[64] <= _T_610 @[el2_lib.scala 188:48] - _T_611[65] <= _T_610 @[el2_lib.scala 188:48] - _T_611[66] <= _T_610 @[el2_lib.scala 188:48] - _T_611[67] <= _T_610 @[el2_lib.scala 188:48] - _T_611[68] <= _T_610 @[el2_lib.scala 188:48] - _T_611[69] <= _T_610 @[el2_lib.scala 188:48] - _T_611[70] <= _T_610 @[el2_lib.scala 188:48] - node _T_612 = cat(_T_611[0], _T_611[1]) @[Cat.scala 29:58] - node _T_613 = cat(_T_612, _T_611[2]) @[Cat.scala 29:58] - node _T_614 = cat(_T_613, _T_611[3]) @[Cat.scala 29:58] - node _T_615 = cat(_T_614, _T_611[4]) @[Cat.scala 29:58] - node _T_616 = cat(_T_615, _T_611[5]) @[Cat.scala 29:58] - node _T_617 = cat(_T_616, _T_611[6]) @[Cat.scala 29:58] - node _T_618 = cat(_T_617, _T_611[7]) @[Cat.scala 29:58] - node _T_619 = cat(_T_618, _T_611[8]) @[Cat.scala 29:58] - node _T_620 = cat(_T_619, _T_611[9]) @[Cat.scala 29:58] - node _T_621 = cat(_T_620, _T_611[10]) @[Cat.scala 29:58] - node _T_622 = cat(_T_621, _T_611[11]) @[Cat.scala 29:58] - node _T_623 = cat(_T_622, _T_611[12]) @[Cat.scala 29:58] - node _T_624 = cat(_T_623, _T_611[13]) @[Cat.scala 29:58] - node _T_625 = cat(_T_624, _T_611[14]) @[Cat.scala 29:58] - node _T_626 = cat(_T_625, _T_611[15]) @[Cat.scala 29:58] - node _T_627 = cat(_T_626, _T_611[16]) @[Cat.scala 29:58] - node _T_628 = cat(_T_627, _T_611[17]) @[Cat.scala 29:58] - node _T_629 = cat(_T_628, _T_611[18]) @[Cat.scala 29:58] - node _T_630 = cat(_T_629, _T_611[19]) @[Cat.scala 29:58] - node _T_631 = cat(_T_630, _T_611[20]) @[Cat.scala 29:58] - node _T_632 = cat(_T_631, _T_611[21]) @[Cat.scala 29:58] - node _T_633 = cat(_T_632, _T_611[22]) @[Cat.scala 29:58] - node _T_634 = cat(_T_633, _T_611[23]) @[Cat.scala 29:58] - node _T_635 = cat(_T_634, _T_611[24]) @[Cat.scala 29:58] - node _T_636 = cat(_T_635, _T_611[25]) @[Cat.scala 29:58] - node _T_637 = cat(_T_636, _T_611[26]) @[Cat.scala 29:58] - node _T_638 = cat(_T_637, _T_611[27]) @[Cat.scala 29:58] - node _T_639 = cat(_T_638, _T_611[28]) @[Cat.scala 29:58] - node _T_640 = cat(_T_639, _T_611[29]) @[Cat.scala 29:58] - node _T_641 = cat(_T_640, _T_611[30]) @[Cat.scala 29:58] - node _T_642 = cat(_T_641, _T_611[31]) @[Cat.scala 29:58] - node _T_643 = cat(_T_642, _T_611[32]) @[Cat.scala 29:58] - node _T_644 = cat(_T_643, _T_611[33]) @[Cat.scala 29:58] - node _T_645 = cat(_T_644, _T_611[34]) @[Cat.scala 29:58] - node _T_646 = cat(_T_645, _T_611[35]) @[Cat.scala 29:58] - node _T_647 = cat(_T_646, _T_611[36]) @[Cat.scala 29:58] - node _T_648 = cat(_T_647, _T_611[37]) @[Cat.scala 29:58] - node _T_649 = cat(_T_648, _T_611[38]) @[Cat.scala 29:58] - node _T_650 = cat(_T_649, _T_611[39]) @[Cat.scala 29:58] - node _T_651 = cat(_T_650, _T_611[40]) @[Cat.scala 29:58] - node _T_652 = cat(_T_651, _T_611[41]) @[Cat.scala 29:58] - node _T_653 = cat(_T_652, _T_611[42]) @[Cat.scala 29:58] - node _T_654 = cat(_T_653, _T_611[43]) @[Cat.scala 29:58] - node _T_655 = cat(_T_654, _T_611[44]) @[Cat.scala 29:58] - node _T_656 = cat(_T_655, _T_611[45]) @[Cat.scala 29:58] - node _T_657 = cat(_T_656, _T_611[46]) @[Cat.scala 29:58] - node _T_658 = cat(_T_657, _T_611[47]) @[Cat.scala 29:58] - node _T_659 = cat(_T_658, _T_611[48]) @[Cat.scala 29:58] - node _T_660 = cat(_T_659, _T_611[49]) @[Cat.scala 29:58] - node _T_661 = cat(_T_660, _T_611[50]) @[Cat.scala 29:58] - node _T_662 = cat(_T_661, _T_611[51]) @[Cat.scala 29:58] - node _T_663 = cat(_T_662, _T_611[52]) @[Cat.scala 29:58] - node _T_664 = cat(_T_663, _T_611[53]) @[Cat.scala 29:58] - node _T_665 = cat(_T_664, _T_611[54]) @[Cat.scala 29:58] - node _T_666 = cat(_T_665, _T_611[55]) @[Cat.scala 29:58] - node _T_667 = cat(_T_666, _T_611[56]) @[Cat.scala 29:58] - node _T_668 = cat(_T_667, _T_611[57]) @[Cat.scala 29:58] - node _T_669 = cat(_T_668, _T_611[58]) @[Cat.scala 29:58] - node _T_670 = cat(_T_669, _T_611[59]) @[Cat.scala 29:58] - node _T_671 = cat(_T_670, _T_611[60]) @[Cat.scala 29:58] - node _T_672 = cat(_T_671, _T_611[61]) @[Cat.scala 29:58] - node _T_673 = cat(_T_672, _T_611[62]) @[Cat.scala 29:58] - node _T_674 = cat(_T_673, _T_611[63]) @[Cat.scala 29:58] - node _T_675 = cat(_T_674, _T_611[64]) @[Cat.scala 29:58] - node _T_676 = cat(_T_675, _T_611[65]) @[Cat.scala 29:58] - node _T_677 = cat(_T_676, _T_611[66]) @[Cat.scala 29:58] - node _T_678 = cat(_T_677, _T_611[67]) @[Cat.scala 29:58] - node _T_679 = cat(_T_678, _T_611[68]) @[Cat.scala 29:58] - node _T_680 = cat(_T_679, _T_611[69]) @[Cat.scala 29:58] - node _T_681 = cat(_T_680, _T_611[70]) @[Cat.scala 29:58] - node _T_682 = and(_T_681, wb_dout[1][0]) @[el2_ifu_ic_mem.scala 248:82] - node _T_683 = bits(ic_rw_addr_ff, 3, 3) @[el2_ifu_ic_mem.scala 248:39] - node _T_684 = sub(UInt<1>("h01"), UInt<1>("h01")) @[el2_ifu_ic_mem.scala 248:77] - node _T_685 = tail(_T_684, 1) @[el2_ifu_ic_mem.scala 248:77] - node _T_686 = eq(_T_683, _T_685) @[el2_ifu_ic_mem.scala 248:71] - wire _T_687 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_687[0] <= _T_686 @[el2_lib.scala 188:48] - _T_687[1] <= _T_686 @[el2_lib.scala 188:48] - _T_687[2] <= _T_686 @[el2_lib.scala 188:48] - _T_687[3] <= _T_686 @[el2_lib.scala 188:48] - _T_687[4] <= _T_686 @[el2_lib.scala 188:48] - _T_687[5] <= _T_686 @[el2_lib.scala 188:48] - _T_687[6] <= _T_686 @[el2_lib.scala 188:48] - _T_687[7] <= _T_686 @[el2_lib.scala 188:48] - _T_687[8] <= _T_686 @[el2_lib.scala 188:48] - _T_687[9] <= _T_686 @[el2_lib.scala 188:48] - _T_687[10] <= _T_686 @[el2_lib.scala 188:48] - _T_687[11] <= _T_686 @[el2_lib.scala 188:48] - _T_687[12] <= _T_686 @[el2_lib.scala 188:48] - _T_687[13] <= _T_686 @[el2_lib.scala 188:48] - _T_687[14] <= _T_686 @[el2_lib.scala 188:48] - _T_687[15] <= _T_686 @[el2_lib.scala 188:48] - _T_687[16] <= _T_686 @[el2_lib.scala 188:48] - _T_687[17] <= _T_686 @[el2_lib.scala 188:48] - _T_687[18] <= _T_686 @[el2_lib.scala 188:48] - _T_687[19] <= _T_686 @[el2_lib.scala 188:48] - _T_687[20] <= _T_686 @[el2_lib.scala 188:48] - _T_687[21] <= _T_686 @[el2_lib.scala 188:48] - _T_687[22] <= _T_686 @[el2_lib.scala 188:48] - _T_687[23] <= _T_686 @[el2_lib.scala 188:48] - _T_687[24] <= _T_686 @[el2_lib.scala 188:48] - _T_687[25] <= _T_686 @[el2_lib.scala 188:48] - _T_687[26] <= _T_686 @[el2_lib.scala 188:48] - _T_687[27] <= _T_686 @[el2_lib.scala 188:48] - _T_687[28] <= _T_686 @[el2_lib.scala 188:48] - _T_687[29] <= _T_686 @[el2_lib.scala 188:48] - _T_687[30] <= _T_686 @[el2_lib.scala 188:48] - _T_687[31] <= _T_686 @[el2_lib.scala 188:48] - _T_687[32] <= _T_686 @[el2_lib.scala 188:48] - _T_687[33] <= _T_686 @[el2_lib.scala 188:48] - _T_687[34] <= _T_686 @[el2_lib.scala 188:48] - _T_687[35] <= _T_686 @[el2_lib.scala 188:48] - _T_687[36] <= _T_686 @[el2_lib.scala 188:48] - _T_687[37] <= _T_686 @[el2_lib.scala 188:48] - _T_687[38] <= _T_686 @[el2_lib.scala 188:48] - _T_687[39] <= _T_686 @[el2_lib.scala 188:48] - _T_687[40] <= _T_686 @[el2_lib.scala 188:48] - _T_687[41] <= _T_686 @[el2_lib.scala 188:48] - _T_687[42] <= _T_686 @[el2_lib.scala 188:48] - _T_687[43] <= _T_686 @[el2_lib.scala 188:48] - _T_687[44] <= _T_686 @[el2_lib.scala 188:48] - _T_687[45] <= _T_686 @[el2_lib.scala 188:48] - _T_687[46] <= _T_686 @[el2_lib.scala 188:48] - _T_687[47] <= _T_686 @[el2_lib.scala 188:48] - _T_687[48] <= _T_686 @[el2_lib.scala 188:48] - _T_687[49] <= _T_686 @[el2_lib.scala 188:48] - _T_687[50] <= _T_686 @[el2_lib.scala 188:48] - _T_687[51] <= _T_686 @[el2_lib.scala 188:48] - _T_687[52] <= _T_686 @[el2_lib.scala 188:48] - _T_687[53] <= _T_686 @[el2_lib.scala 188:48] - _T_687[54] <= _T_686 @[el2_lib.scala 188:48] - _T_687[55] <= _T_686 @[el2_lib.scala 188:48] - _T_687[56] <= _T_686 @[el2_lib.scala 188:48] - _T_687[57] <= _T_686 @[el2_lib.scala 188:48] - _T_687[58] <= _T_686 @[el2_lib.scala 188:48] - _T_687[59] <= _T_686 @[el2_lib.scala 188:48] - _T_687[60] <= _T_686 @[el2_lib.scala 188:48] - _T_687[61] <= _T_686 @[el2_lib.scala 188:48] - _T_687[62] <= _T_686 @[el2_lib.scala 188:48] - _T_687[63] <= _T_686 @[el2_lib.scala 188:48] - _T_687[64] <= _T_686 @[el2_lib.scala 188:48] - _T_687[65] <= _T_686 @[el2_lib.scala 188:48] - _T_687[66] <= _T_686 @[el2_lib.scala 188:48] - _T_687[67] <= _T_686 @[el2_lib.scala 188:48] - _T_687[68] <= _T_686 @[el2_lib.scala 188:48] - _T_687[69] <= _T_686 @[el2_lib.scala 188:48] - _T_687[70] <= _T_686 @[el2_lib.scala 188:48] - node _T_688 = cat(_T_687[0], _T_687[1]) @[Cat.scala 29:58] - node _T_689 = cat(_T_688, _T_687[2]) @[Cat.scala 29:58] - node _T_690 = cat(_T_689, _T_687[3]) @[Cat.scala 29:58] - node _T_691 = cat(_T_690, _T_687[4]) @[Cat.scala 29:58] - node _T_692 = cat(_T_691, _T_687[5]) @[Cat.scala 29:58] - node _T_693 = cat(_T_692, _T_687[6]) @[Cat.scala 29:58] - node _T_694 = cat(_T_693, _T_687[7]) @[Cat.scala 29:58] - node _T_695 = cat(_T_694, _T_687[8]) @[Cat.scala 29:58] - node _T_696 = cat(_T_695, _T_687[9]) @[Cat.scala 29:58] - node _T_697 = cat(_T_696, _T_687[10]) @[Cat.scala 29:58] - node _T_698 = cat(_T_697, _T_687[11]) @[Cat.scala 29:58] - node _T_699 = cat(_T_698, _T_687[12]) @[Cat.scala 29:58] - node _T_700 = cat(_T_699, _T_687[13]) @[Cat.scala 29:58] - node _T_701 = cat(_T_700, _T_687[14]) @[Cat.scala 29:58] - node _T_702 = cat(_T_701, _T_687[15]) @[Cat.scala 29:58] - node _T_703 = cat(_T_702, _T_687[16]) @[Cat.scala 29:58] - node _T_704 = cat(_T_703, _T_687[17]) @[Cat.scala 29:58] - node _T_705 = cat(_T_704, _T_687[18]) @[Cat.scala 29:58] - node _T_706 = cat(_T_705, _T_687[19]) @[Cat.scala 29:58] - node _T_707 = cat(_T_706, _T_687[20]) @[Cat.scala 29:58] - node _T_708 = cat(_T_707, _T_687[21]) @[Cat.scala 29:58] - node _T_709 = cat(_T_708, _T_687[22]) @[Cat.scala 29:58] - node _T_710 = cat(_T_709, _T_687[23]) @[Cat.scala 29:58] - node _T_711 = cat(_T_710, _T_687[24]) @[Cat.scala 29:58] - node _T_712 = cat(_T_711, _T_687[25]) @[Cat.scala 29:58] - node _T_713 = cat(_T_712, _T_687[26]) @[Cat.scala 29:58] - node _T_714 = cat(_T_713, _T_687[27]) @[Cat.scala 29:58] - node _T_715 = cat(_T_714, _T_687[28]) @[Cat.scala 29:58] - node _T_716 = cat(_T_715, _T_687[29]) @[Cat.scala 29:58] - node _T_717 = cat(_T_716, _T_687[30]) @[Cat.scala 29:58] - node _T_718 = cat(_T_717, _T_687[31]) @[Cat.scala 29:58] - node _T_719 = cat(_T_718, _T_687[32]) @[Cat.scala 29:58] - node _T_720 = cat(_T_719, _T_687[33]) @[Cat.scala 29:58] - node _T_721 = cat(_T_720, _T_687[34]) @[Cat.scala 29:58] - node _T_722 = cat(_T_721, _T_687[35]) @[Cat.scala 29:58] - node _T_723 = cat(_T_722, _T_687[36]) @[Cat.scala 29:58] - node _T_724 = cat(_T_723, _T_687[37]) @[Cat.scala 29:58] - node _T_725 = cat(_T_724, _T_687[38]) @[Cat.scala 29:58] - node _T_726 = cat(_T_725, _T_687[39]) @[Cat.scala 29:58] - node _T_727 = cat(_T_726, _T_687[40]) @[Cat.scala 29:58] - node _T_728 = cat(_T_727, _T_687[41]) @[Cat.scala 29:58] - node _T_729 = cat(_T_728, _T_687[42]) @[Cat.scala 29:58] - node _T_730 = cat(_T_729, _T_687[43]) @[Cat.scala 29:58] - node _T_731 = cat(_T_730, _T_687[44]) @[Cat.scala 29:58] - node _T_732 = cat(_T_731, _T_687[45]) @[Cat.scala 29:58] - node _T_733 = cat(_T_732, _T_687[46]) @[Cat.scala 29:58] - node _T_734 = cat(_T_733, _T_687[47]) @[Cat.scala 29:58] - node _T_735 = cat(_T_734, _T_687[48]) @[Cat.scala 29:58] - node _T_736 = cat(_T_735, _T_687[49]) @[Cat.scala 29:58] - node _T_737 = cat(_T_736, _T_687[50]) @[Cat.scala 29:58] - node _T_738 = cat(_T_737, _T_687[51]) @[Cat.scala 29:58] - node _T_739 = cat(_T_738, _T_687[52]) @[Cat.scala 29:58] - node _T_740 = cat(_T_739, _T_687[53]) @[Cat.scala 29:58] - node _T_741 = cat(_T_740, _T_687[54]) @[Cat.scala 29:58] - node _T_742 = cat(_T_741, _T_687[55]) @[Cat.scala 29:58] - node _T_743 = cat(_T_742, _T_687[56]) @[Cat.scala 29:58] - node _T_744 = cat(_T_743, _T_687[57]) @[Cat.scala 29:58] - node _T_745 = cat(_T_744, _T_687[58]) @[Cat.scala 29:58] - node _T_746 = cat(_T_745, _T_687[59]) @[Cat.scala 29:58] - node _T_747 = cat(_T_746, _T_687[60]) @[Cat.scala 29:58] - node _T_748 = cat(_T_747, _T_687[61]) @[Cat.scala 29:58] - node _T_749 = cat(_T_748, _T_687[62]) @[Cat.scala 29:58] - node _T_750 = cat(_T_749, _T_687[63]) @[Cat.scala 29:58] - node _T_751 = cat(_T_750, _T_687[64]) @[Cat.scala 29:58] - node _T_752 = cat(_T_751, _T_687[65]) @[Cat.scala 29:58] - node _T_753 = cat(_T_752, _T_687[66]) @[Cat.scala 29:58] - node _T_754 = cat(_T_753, _T_687[67]) @[Cat.scala 29:58] - node _T_755 = cat(_T_754, _T_687[68]) @[Cat.scala 29:58] - node _T_756 = cat(_T_755, _T_687[69]) @[Cat.scala 29:58] - node _T_757 = cat(_T_756, _T_687[70]) @[Cat.scala 29:58] - node _T_758 = and(_T_757, wb_dout[1][1]) @[el2_ifu_ic_mem.scala 248:82] - node wb_dout_way_pre_upper_1 = or(_T_682, _T_758) @[el2_ifu_ic_mem.scala 248:106] - node wb_dout_way_pre_0 = cat(wb_dout_way_pre_upper_0, wb_dout_way_pre_lower_0) @[Cat.scala 29:58] - node wb_dout_way_pre_1 = cat(wb_dout_way_pre_upper_1, wb_dout_way_pre_lower_1) @[Cat.scala 29:58] - node _T_759 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 254:31] - node _T_760 = eq(_T_759, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 254:36] - wire _T_761 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_761[0] <= _T_760 @[el2_lib.scala 188:48] - _T_761[1] <= _T_760 @[el2_lib.scala 188:48] - _T_761[2] <= _T_760 @[el2_lib.scala 188:48] - _T_761[3] <= _T_760 @[el2_lib.scala 188:48] - _T_761[4] <= _T_760 @[el2_lib.scala 188:48] - _T_761[5] <= _T_760 @[el2_lib.scala 188:48] - _T_761[6] <= _T_760 @[el2_lib.scala 188:48] - _T_761[7] <= _T_760 @[el2_lib.scala 188:48] - _T_761[8] <= _T_760 @[el2_lib.scala 188:48] - _T_761[9] <= _T_760 @[el2_lib.scala 188:48] - _T_761[10] <= _T_760 @[el2_lib.scala 188:48] - _T_761[11] <= _T_760 @[el2_lib.scala 188:48] - _T_761[12] <= _T_760 @[el2_lib.scala 188:48] - _T_761[13] <= _T_760 @[el2_lib.scala 188:48] - _T_761[14] <= _T_760 @[el2_lib.scala 188:48] - _T_761[15] <= _T_760 @[el2_lib.scala 188:48] - _T_761[16] <= _T_760 @[el2_lib.scala 188:48] - _T_761[17] <= _T_760 @[el2_lib.scala 188:48] - _T_761[18] <= _T_760 @[el2_lib.scala 188:48] - _T_761[19] <= _T_760 @[el2_lib.scala 188:48] - _T_761[20] <= _T_760 @[el2_lib.scala 188:48] - _T_761[21] <= _T_760 @[el2_lib.scala 188:48] - _T_761[22] <= _T_760 @[el2_lib.scala 188:48] - _T_761[23] <= _T_760 @[el2_lib.scala 188:48] - _T_761[24] <= _T_760 @[el2_lib.scala 188:48] - _T_761[25] <= _T_760 @[el2_lib.scala 188:48] - _T_761[26] <= _T_760 @[el2_lib.scala 188:48] - _T_761[27] <= _T_760 @[el2_lib.scala 188:48] - _T_761[28] <= _T_760 @[el2_lib.scala 188:48] - _T_761[29] <= _T_760 @[el2_lib.scala 188:48] - _T_761[30] <= _T_760 @[el2_lib.scala 188:48] - _T_761[31] <= _T_760 @[el2_lib.scala 188:48] - _T_761[32] <= _T_760 @[el2_lib.scala 188:48] - _T_761[33] <= _T_760 @[el2_lib.scala 188:48] - _T_761[34] <= _T_760 @[el2_lib.scala 188:48] - _T_761[35] <= _T_760 @[el2_lib.scala 188:48] - _T_761[36] <= _T_760 @[el2_lib.scala 188:48] - _T_761[37] <= _T_760 @[el2_lib.scala 188:48] - _T_761[38] <= _T_760 @[el2_lib.scala 188:48] - _T_761[39] <= _T_760 @[el2_lib.scala 188:48] - _T_761[40] <= _T_760 @[el2_lib.scala 188:48] - _T_761[41] <= _T_760 @[el2_lib.scala 188:48] - _T_761[42] <= _T_760 @[el2_lib.scala 188:48] - _T_761[43] <= _T_760 @[el2_lib.scala 188:48] - _T_761[44] <= _T_760 @[el2_lib.scala 188:48] - _T_761[45] <= _T_760 @[el2_lib.scala 188:48] - _T_761[46] <= _T_760 @[el2_lib.scala 188:48] - _T_761[47] <= _T_760 @[el2_lib.scala 188:48] - _T_761[48] <= _T_760 @[el2_lib.scala 188:48] - _T_761[49] <= _T_760 @[el2_lib.scala 188:48] - _T_761[50] <= _T_760 @[el2_lib.scala 188:48] - _T_761[51] <= _T_760 @[el2_lib.scala 188:48] - _T_761[52] <= _T_760 @[el2_lib.scala 188:48] - _T_761[53] <= _T_760 @[el2_lib.scala 188:48] - _T_761[54] <= _T_760 @[el2_lib.scala 188:48] - _T_761[55] <= _T_760 @[el2_lib.scala 188:48] - _T_761[56] <= _T_760 @[el2_lib.scala 188:48] - _T_761[57] <= _T_760 @[el2_lib.scala 188:48] - _T_761[58] <= _T_760 @[el2_lib.scala 188:48] - _T_761[59] <= _T_760 @[el2_lib.scala 188:48] - _T_761[60] <= _T_760 @[el2_lib.scala 188:48] - _T_761[61] <= _T_760 @[el2_lib.scala 188:48] - _T_761[62] <= _T_760 @[el2_lib.scala 188:48] - _T_761[63] <= _T_760 @[el2_lib.scala 188:48] - node _T_762 = cat(_T_761[0], _T_761[1]) @[Cat.scala 29:58] - node _T_763 = cat(_T_762, _T_761[2]) @[Cat.scala 29:58] - node _T_764 = cat(_T_763, _T_761[3]) @[Cat.scala 29:58] - node _T_765 = cat(_T_764, _T_761[4]) @[Cat.scala 29:58] - node _T_766 = cat(_T_765, _T_761[5]) @[Cat.scala 29:58] - node _T_767 = cat(_T_766, _T_761[6]) @[Cat.scala 29:58] - node _T_768 = cat(_T_767, _T_761[7]) @[Cat.scala 29:58] - node _T_769 = cat(_T_768, _T_761[8]) @[Cat.scala 29:58] - node _T_770 = cat(_T_769, _T_761[9]) @[Cat.scala 29:58] - node _T_771 = cat(_T_770, _T_761[10]) @[Cat.scala 29:58] - node _T_772 = cat(_T_771, _T_761[11]) @[Cat.scala 29:58] - node _T_773 = cat(_T_772, _T_761[12]) @[Cat.scala 29:58] - node _T_774 = cat(_T_773, _T_761[13]) @[Cat.scala 29:58] - node _T_775 = cat(_T_774, _T_761[14]) @[Cat.scala 29:58] - node _T_776 = cat(_T_775, _T_761[15]) @[Cat.scala 29:58] - node _T_777 = cat(_T_776, _T_761[16]) @[Cat.scala 29:58] - node _T_778 = cat(_T_777, _T_761[17]) @[Cat.scala 29:58] - node _T_779 = cat(_T_778, _T_761[18]) @[Cat.scala 29:58] - node _T_780 = cat(_T_779, _T_761[19]) @[Cat.scala 29:58] - node _T_781 = cat(_T_780, _T_761[20]) @[Cat.scala 29:58] - node _T_782 = cat(_T_781, _T_761[21]) @[Cat.scala 29:58] - node _T_783 = cat(_T_782, _T_761[22]) @[Cat.scala 29:58] - node _T_784 = cat(_T_783, _T_761[23]) @[Cat.scala 29:58] - node _T_785 = cat(_T_784, _T_761[24]) @[Cat.scala 29:58] - node _T_786 = cat(_T_785, _T_761[25]) @[Cat.scala 29:58] - node _T_787 = cat(_T_786, _T_761[26]) @[Cat.scala 29:58] - node _T_788 = cat(_T_787, _T_761[27]) @[Cat.scala 29:58] - node _T_789 = cat(_T_788, _T_761[28]) @[Cat.scala 29:58] - node _T_790 = cat(_T_789, _T_761[29]) @[Cat.scala 29:58] - node _T_791 = cat(_T_790, _T_761[30]) @[Cat.scala 29:58] - node _T_792 = cat(_T_791, _T_761[31]) @[Cat.scala 29:58] - node _T_793 = cat(_T_792, _T_761[32]) @[Cat.scala 29:58] - node _T_794 = cat(_T_793, _T_761[33]) @[Cat.scala 29:58] - node _T_795 = cat(_T_794, _T_761[34]) @[Cat.scala 29:58] - node _T_796 = cat(_T_795, _T_761[35]) @[Cat.scala 29:58] - node _T_797 = cat(_T_796, _T_761[36]) @[Cat.scala 29:58] - node _T_798 = cat(_T_797, _T_761[37]) @[Cat.scala 29:58] - node _T_799 = cat(_T_798, _T_761[38]) @[Cat.scala 29:58] - node _T_800 = cat(_T_799, _T_761[39]) @[Cat.scala 29:58] - node _T_801 = cat(_T_800, _T_761[40]) @[Cat.scala 29:58] - node _T_802 = cat(_T_801, _T_761[41]) @[Cat.scala 29:58] - node _T_803 = cat(_T_802, _T_761[42]) @[Cat.scala 29:58] - node _T_804 = cat(_T_803, _T_761[43]) @[Cat.scala 29:58] - node _T_805 = cat(_T_804, _T_761[44]) @[Cat.scala 29:58] - node _T_806 = cat(_T_805, _T_761[45]) @[Cat.scala 29:58] - node _T_807 = cat(_T_806, _T_761[46]) @[Cat.scala 29:58] - node _T_808 = cat(_T_807, _T_761[47]) @[Cat.scala 29:58] - node _T_809 = cat(_T_808, _T_761[48]) @[Cat.scala 29:58] - node _T_810 = cat(_T_809, _T_761[49]) @[Cat.scala 29:58] - node _T_811 = cat(_T_810, _T_761[50]) @[Cat.scala 29:58] - node _T_812 = cat(_T_811, _T_761[51]) @[Cat.scala 29:58] - node _T_813 = cat(_T_812, _T_761[52]) @[Cat.scala 29:58] - node _T_814 = cat(_T_813, _T_761[53]) @[Cat.scala 29:58] - node _T_815 = cat(_T_814, _T_761[54]) @[Cat.scala 29:58] - node _T_816 = cat(_T_815, _T_761[55]) @[Cat.scala 29:58] - node _T_817 = cat(_T_816, _T_761[56]) @[Cat.scala 29:58] - node _T_818 = cat(_T_817, _T_761[57]) @[Cat.scala 29:58] - node _T_819 = cat(_T_818, _T_761[58]) @[Cat.scala 29:58] - node _T_820 = cat(_T_819, _T_761[59]) @[Cat.scala 29:58] - node _T_821 = cat(_T_820, _T_761[60]) @[Cat.scala 29:58] - node _T_822 = cat(_T_821, _T_761[61]) @[Cat.scala 29:58] - node _T_823 = cat(_T_822, _T_761[62]) @[Cat.scala 29:58] - node _T_824 = cat(_T_823, _T_761[63]) @[Cat.scala 29:58] - node _T_825 = bits(wb_dout_way_pre_0, 63, 0) @[el2_ifu_ic_mem.scala 254:64] - node _T_826 = and(_T_824, _T_825) @[el2_ifu_ic_mem.scala 254:44] - node _T_827 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 255:31] - node _T_828 = eq(_T_827, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 255:36] - wire _T_829 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_829[0] <= _T_828 @[el2_lib.scala 188:48] - _T_829[1] <= _T_828 @[el2_lib.scala 188:48] - _T_829[2] <= _T_828 @[el2_lib.scala 188:48] - _T_829[3] <= _T_828 @[el2_lib.scala 188:48] - _T_829[4] <= _T_828 @[el2_lib.scala 188:48] - _T_829[5] <= _T_828 @[el2_lib.scala 188:48] - _T_829[6] <= _T_828 @[el2_lib.scala 188:48] - _T_829[7] <= _T_828 @[el2_lib.scala 188:48] - _T_829[8] <= _T_828 @[el2_lib.scala 188:48] - _T_829[9] <= _T_828 @[el2_lib.scala 188:48] - _T_829[10] <= _T_828 @[el2_lib.scala 188:48] - _T_829[11] <= _T_828 @[el2_lib.scala 188:48] - _T_829[12] <= _T_828 @[el2_lib.scala 188:48] - _T_829[13] <= _T_828 @[el2_lib.scala 188:48] - _T_829[14] <= _T_828 @[el2_lib.scala 188:48] - _T_829[15] <= _T_828 @[el2_lib.scala 188:48] - _T_829[16] <= _T_828 @[el2_lib.scala 188:48] - _T_829[17] <= _T_828 @[el2_lib.scala 188:48] - _T_829[18] <= _T_828 @[el2_lib.scala 188:48] - _T_829[19] <= _T_828 @[el2_lib.scala 188:48] - _T_829[20] <= _T_828 @[el2_lib.scala 188:48] - _T_829[21] <= _T_828 @[el2_lib.scala 188:48] - _T_829[22] <= _T_828 @[el2_lib.scala 188:48] - _T_829[23] <= _T_828 @[el2_lib.scala 188:48] - _T_829[24] <= _T_828 @[el2_lib.scala 188:48] - _T_829[25] <= _T_828 @[el2_lib.scala 188:48] - _T_829[26] <= _T_828 @[el2_lib.scala 188:48] - _T_829[27] <= _T_828 @[el2_lib.scala 188:48] - _T_829[28] <= _T_828 @[el2_lib.scala 188:48] - _T_829[29] <= _T_828 @[el2_lib.scala 188:48] - _T_829[30] <= _T_828 @[el2_lib.scala 188:48] - _T_829[31] <= _T_828 @[el2_lib.scala 188:48] - _T_829[32] <= _T_828 @[el2_lib.scala 188:48] - _T_829[33] <= _T_828 @[el2_lib.scala 188:48] - _T_829[34] <= _T_828 @[el2_lib.scala 188:48] - _T_829[35] <= _T_828 @[el2_lib.scala 188:48] - _T_829[36] <= _T_828 @[el2_lib.scala 188:48] - _T_829[37] <= _T_828 @[el2_lib.scala 188:48] - _T_829[38] <= _T_828 @[el2_lib.scala 188:48] - _T_829[39] <= _T_828 @[el2_lib.scala 188:48] - _T_829[40] <= _T_828 @[el2_lib.scala 188:48] - _T_829[41] <= _T_828 @[el2_lib.scala 188:48] - _T_829[42] <= _T_828 @[el2_lib.scala 188:48] - _T_829[43] <= _T_828 @[el2_lib.scala 188:48] - _T_829[44] <= _T_828 @[el2_lib.scala 188:48] - _T_829[45] <= _T_828 @[el2_lib.scala 188:48] - _T_829[46] <= _T_828 @[el2_lib.scala 188:48] - _T_829[47] <= _T_828 @[el2_lib.scala 188:48] - _T_829[48] <= _T_828 @[el2_lib.scala 188:48] - _T_829[49] <= _T_828 @[el2_lib.scala 188:48] - _T_829[50] <= _T_828 @[el2_lib.scala 188:48] - _T_829[51] <= _T_828 @[el2_lib.scala 188:48] - _T_829[52] <= _T_828 @[el2_lib.scala 188:48] - _T_829[53] <= _T_828 @[el2_lib.scala 188:48] - _T_829[54] <= _T_828 @[el2_lib.scala 188:48] - _T_829[55] <= _T_828 @[el2_lib.scala 188:48] - _T_829[56] <= _T_828 @[el2_lib.scala 188:48] - _T_829[57] <= _T_828 @[el2_lib.scala 188:48] - _T_829[58] <= _T_828 @[el2_lib.scala 188:48] - _T_829[59] <= _T_828 @[el2_lib.scala 188:48] - _T_829[60] <= _T_828 @[el2_lib.scala 188:48] - _T_829[61] <= _T_828 @[el2_lib.scala 188:48] - _T_829[62] <= _T_828 @[el2_lib.scala 188:48] - _T_829[63] <= _T_828 @[el2_lib.scala 188:48] - node _T_830 = cat(_T_829[0], _T_829[1]) @[Cat.scala 29:58] - node _T_831 = cat(_T_830, _T_829[2]) @[Cat.scala 29:58] - node _T_832 = cat(_T_831, _T_829[3]) @[Cat.scala 29:58] - node _T_833 = cat(_T_832, _T_829[4]) @[Cat.scala 29:58] - node _T_834 = cat(_T_833, _T_829[5]) @[Cat.scala 29:58] - node _T_835 = cat(_T_834, _T_829[6]) @[Cat.scala 29:58] - node _T_836 = cat(_T_835, _T_829[7]) @[Cat.scala 29:58] - node _T_837 = cat(_T_836, _T_829[8]) @[Cat.scala 29:58] - node _T_838 = cat(_T_837, _T_829[9]) @[Cat.scala 29:58] - node _T_839 = cat(_T_838, _T_829[10]) @[Cat.scala 29:58] - node _T_840 = cat(_T_839, _T_829[11]) @[Cat.scala 29:58] - node _T_841 = cat(_T_840, _T_829[12]) @[Cat.scala 29:58] - node _T_842 = cat(_T_841, _T_829[13]) @[Cat.scala 29:58] - node _T_843 = cat(_T_842, _T_829[14]) @[Cat.scala 29:58] - node _T_844 = cat(_T_843, _T_829[15]) @[Cat.scala 29:58] - node _T_845 = cat(_T_844, _T_829[16]) @[Cat.scala 29:58] - node _T_846 = cat(_T_845, _T_829[17]) @[Cat.scala 29:58] - node _T_847 = cat(_T_846, _T_829[18]) @[Cat.scala 29:58] - node _T_848 = cat(_T_847, _T_829[19]) @[Cat.scala 29:58] - node _T_849 = cat(_T_848, _T_829[20]) @[Cat.scala 29:58] - node _T_850 = cat(_T_849, _T_829[21]) @[Cat.scala 29:58] - node _T_851 = cat(_T_850, _T_829[22]) @[Cat.scala 29:58] - node _T_852 = cat(_T_851, _T_829[23]) @[Cat.scala 29:58] - node _T_853 = cat(_T_852, _T_829[24]) @[Cat.scala 29:58] - node _T_854 = cat(_T_853, _T_829[25]) @[Cat.scala 29:58] - node _T_855 = cat(_T_854, _T_829[26]) @[Cat.scala 29:58] - node _T_856 = cat(_T_855, _T_829[27]) @[Cat.scala 29:58] - node _T_857 = cat(_T_856, _T_829[28]) @[Cat.scala 29:58] - node _T_858 = cat(_T_857, _T_829[29]) @[Cat.scala 29:58] - node _T_859 = cat(_T_858, _T_829[30]) @[Cat.scala 29:58] - node _T_860 = cat(_T_859, _T_829[31]) @[Cat.scala 29:58] - node _T_861 = cat(_T_860, _T_829[32]) @[Cat.scala 29:58] - node _T_862 = cat(_T_861, _T_829[33]) @[Cat.scala 29:58] - node _T_863 = cat(_T_862, _T_829[34]) @[Cat.scala 29:58] - node _T_864 = cat(_T_863, _T_829[35]) @[Cat.scala 29:58] - node _T_865 = cat(_T_864, _T_829[36]) @[Cat.scala 29:58] - node _T_866 = cat(_T_865, _T_829[37]) @[Cat.scala 29:58] - node _T_867 = cat(_T_866, _T_829[38]) @[Cat.scala 29:58] - node _T_868 = cat(_T_867, _T_829[39]) @[Cat.scala 29:58] - node _T_869 = cat(_T_868, _T_829[40]) @[Cat.scala 29:58] - node _T_870 = cat(_T_869, _T_829[41]) @[Cat.scala 29:58] - node _T_871 = cat(_T_870, _T_829[42]) @[Cat.scala 29:58] - node _T_872 = cat(_T_871, _T_829[43]) @[Cat.scala 29:58] - node _T_873 = cat(_T_872, _T_829[44]) @[Cat.scala 29:58] - node _T_874 = cat(_T_873, _T_829[45]) @[Cat.scala 29:58] - node _T_875 = cat(_T_874, _T_829[46]) @[Cat.scala 29:58] - node _T_876 = cat(_T_875, _T_829[47]) @[Cat.scala 29:58] - node _T_877 = cat(_T_876, _T_829[48]) @[Cat.scala 29:58] - node _T_878 = cat(_T_877, _T_829[49]) @[Cat.scala 29:58] - node _T_879 = cat(_T_878, _T_829[50]) @[Cat.scala 29:58] - node _T_880 = cat(_T_879, _T_829[51]) @[Cat.scala 29:58] - node _T_881 = cat(_T_880, _T_829[52]) @[Cat.scala 29:58] - node _T_882 = cat(_T_881, _T_829[53]) @[Cat.scala 29:58] - node _T_883 = cat(_T_882, _T_829[54]) @[Cat.scala 29:58] - node _T_884 = cat(_T_883, _T_829[55]) @[Cat.scala 29:58] - node _T_885 = cat(_T_884, _T_829[56]) @[Cat.scala 29:58] - node _T_886 = cat(_T_885, _T_829[57]) @[Cat.scala 29:58] - node _T_887 = cat(_T_886, _T_829[58]) @[Cat.scala 29:58] - node _T_888 = cat(_T_887, _T_829[59]) @[Cat.scala 29:58] - node _T_889 = cat(_T_888, _T_829[60]) @[Cat.scala 29:58] - node _T_890 = cat(_T_889, _T_829[61]) @[Cat.scala 29:58] - node _T_891 = cat(_T_890, _T_829[62]) @[Cat.scala 29:58] - node _T_892 = cat(_T_891, _T_829[63]) @[Cat.scala 29:58] - node _T_893 = bits(wb_dout_way_pre_0, 86, 71) @[el2_ifu_ic_mem.scala 255:68] - node _T_894 = bits(wb_dout_way_pre_0, 63, 16) @[el2_ifu_ic_mem.scala 255:113] - node _T_895 = cat(_T_893, _T_894) @[Cat.scala 29:58] - node _T_896 = and(_T_892, _T_895) @[el2_ifu_ic_mem.scala 255:44] - node _T_897 = or(_T_826, _T_896) @[el2_ifu_ic_mem.scala 254:71] - node _T_898 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 256:31] - node _T_899 = eq(_T_898, UInt<2>("h02")) @[el2_ifu_ic_mem.scala 256:36] - wire _T_900 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_900[0] <= _T_899 @[el2_lib.scala 188:48] - _T_900[1] <= _T_899 @[el2_lib.scala 188:48] - _T_900[2] <= _T_899 @[el2_lib.scala 188:48] - _T_900[3] <= _T_899 @[el2_lib.scala 188:48] - _T_900[4] <= _T_899 @[el2_lib.scala 188:48] - _T_900[5] <= _T_899 @[el2_lib.scala 188:48] - _T_900[6] <= _T_899 @[el2_lib.scala 188:48] - _T_900[7] <= _T_899 @[el2_lib.scala 188:48] - _T_900[8] <= _T_899 @[el2_lib.scala 188:48] - _T_900[9] <= _T_899 @[el2_lib.scala 188:48] - _T_900[10] <= _T_899 @[el2_lib.scala 188:48] - _T_900[11] <= _T_899 @[el2_lib.scala 188:48] - _T_900[12] <= _T_899 @[el2_lib.scala 188:48] - _T_900[13] <= _T_899 @[el2_lib.scala 188:48] - _T_900[14] <= _T_899 @[el2_lib.scala 188:48] - _T_900[15] <= _T_899 @[el2_lib.scala 188:48] - _T_900[16] <= _T_899 @[el2_lib.scala 188:48] - _T_900[17] <= _T_899 @[el2_lib.scala 188:48] - _T_900[18] <= _T_899 @[el2_lib.scala 188:48] - _T_900[19] <= _T_899 @[el2_lib.scala 188:48] - _T_900[20] <= _T_899 @[el2_lib.scala 188:48] - _T_900[21] <= _T_899 @[el2_lib.scala 188:48] - _T_900[22] <= _T_899 @[el2_lib.scala 188:48] - _T_900[23] <= _T_899 @[el2_lib.scala 188:48] - _T_900[24] <= _T_899 @[el2_lib.scala 188:48] - _T_900[25] <= _T_899 @[el2_lib.scala 188:48] - _T_900[26] <= _T_899 @[el2_lib.scala 188:48] - _T_900[27] <= _T_899 @[el2_lib.scala 188:48] - _T_900[28] <= _T_899 @[el2_lib.scala 188:48] - _T_900[29] <= _T_899 @[el2_lib.scala 188:48] - _T_900[30] <= _T_899 @[el2_lib.scala 188:48] - _T_900[31] <= _T_899 @[el2_lib.scala 188:48] - _T_900[32] <= _T_899 @[el2_lib.scala 188:48] - _T_900[33] <= _T_899 @[el2_lib.scala 188:48] - _T_900[34] <= _T_899 @[el2_lib.scala 188:48] - _T_900[35] <= _T_899 @[el2_lib.scala 188:48] - _T_900[36] <= _T_899 @[el2_lib.scala 188:48] - _T_900[37] <= _T_899 @[el2_lib.scala 188:48] - _T_900[38] <= _T_899 @[el2_lib.scala 188:48] - _T_900[39] <= _T_899 @[el2_lib.scala 188:48] - _T_900[40] <= _T_899 @[el2_lib.scala 188:48] - _T_900[41] <= _T_899 @[el2_lib.scala 188:48] - _T_900[42] <= _T_899 @[el2_lib.scala 188:48] - _T_900[43] <= _T_899 @[el2_lib.scala 188:48] - _T_900[44] <= _T_899 @[el2_lib.scala 188:48] - _T_900[45] <= _T_899 @[el2_lib.scala 188:48] - _T_900[46] <= _T_899 @[el2_lib.scala 188:48] - _T_900[47] <= _T_899 @[el2_lib.scala 188:48] - _T_900[48] <= _T_899 @[el2_lib.scala 188:48] - _T_900[49] <= _T_899 @[el2_lib.scala 188:48] - _T_900[50] <= _T_899 @[el2_lib.scala 188:48] - _T_900[51] <= _T_899 @[el2_lib.scala 188:48] - _T_900[52] <= _T_899 @[el2_lib.scala 188:48] - _T_900[53] <= _T_899 @[el2_lib.scala 188:48] - _T_900[54] <= _T_899 @[el2_lib.scala 188:48] - _T_900[55] <= _T_899 @[el2_lib.scala 188:48] - _T_900[56] <= _T_899 @[el2_lib.scala 188:48] - _T_900[57] <= _T_899 @[el2_lib.scala 188:48] - _T_900[58] <= _T_899 @[el2_lib.scala 188:48] - _T_900[59] <= _T_899 @[el2_lib.scala 188:48] - _T_900[60] <= _T_899 @[el2_lib.scala 188:48] - _T_900[61] <= _T_899 @[el2_lib.scala 188:48] - _T_900[62] <= _T_899 @[el2_lib.scala 188:48] - _T_900[63] <= _T_899 @[el2_lib.scala 188:48] - node _T_901 = cat(_T_900[0], _T_900[1]) @[Cat.scala 29:58] - node _T_902 = cat(_T_901, _T_900[2]) @[Cat.scala 29:58] - node _T_903 = cat(_T_902, _T_900[3]) @[Cat.scala 29:58] - node _T_904 = cat(_T_903, _T_900[4]) @[Cat.scala 29:58] - node _T_905 = cat(_T_904, _T_900[5]) @[Cat.scala 29:58] - node _T_906 = cat(_T_905, _T_900[6]) @[Cat.scala 29:58] - node _T_907 = cat(_T_906, _T_900[7]) @[Cat.scala 29:58] - node _T_908 = cat(_T_907, _T_900[8]) @[Cat.scala 29:58] - node _T_909 = cat(_T_908, _T_900[9]) @[Cat.scala 29:58] - node _T_910 = cat(_T_909, _T_900[10]) @[Cat.scala 29:58] - node _T_911 = cat(_T_910, _T_900[11]) @[Cat.scala 29:58] - node _T_912 = cat(_T_911, _T_900[12]) @[Cat.scala 29:58] - node _T_913 = cat(_T_912, _T_900[13]) @[Cat.scala 29:58] - node _T_914 = cat(_T_913, _T_900[14]) @[Cat.scala 29:58] - node _T_915 = cat(_T_914, _T_900[15]) @[Cat.scala 29:58] - node _T_916 = cat(_T_915, _T_900[16]) @[Cat.scala 29:58] - node _T_917 = cat(_T_916, _T_900[17]) @[Cat.scala 29:58] - node _T_918 = cat(_T_917, _T_900[18]) @[Cat.scala 29:58] - node _T_919 = cat(_T_918, _T_900[19]) @[Cat.scala 29:58] - node _T_920 = cat(_T_919, _T_900[20]) @[Cat.scala 29:58] - node _T_921 = cat(_T_920, _T_900[21]) @[Cat.scala 29:58] - node _T_922 = cat(_T_921, _T_900[22]) @[Cat.scala 29:58] - node _T_923 = cat(_T_922, _T_900[23]) @[Cat.scala 29:58] - node _T_924 = cat(_T_923, _T_900[24]) @[Cat.scala 29:58] - node _T_925 = cat(_T_924, _T_900[25]) @[Cat.scala 29:58] - node _T_926 = cat(_T_925, _T_900[26]) @[Cat.scala 29:58] - node _T_927 = cat(_T_926, _T_900[27]) @[Cat.scala 29:58] - node _T_928 = cat(_T_927, _T_900[28]) @[Cat.scala 29:58] - node _T_929 = cat(_T_928, _T_900[29]) @[Cat.scala 29:58] - node _T_930 = cat(_T_929, _T_900[30]) @[Cat.scala 29:58] - node _T_931 = cat(_T_930, _T_900[31]) @[Cat.scala 29:58] - node _T_932 = cat(_T_931, _T_900[32]) @[Cat.scala 29:58] - node _T_933 = cat(_T_932, _T_900[33]) @[Cat.scala 29:58] - node _T_934 = cat(_T_933, _T_900[34]) @[Cat.scala 29:58] - node _T_935 = cat(_T_934, _T_900[35]) @[Cat.scala 29:58] - node _T_936 = cat(_T_935, _T_900[36]) @[Cat.scala 29:58] - node _T_937 = cat(_T_936, _T_900[37]) @[Cat.scala 29:58] - node _T_938 = cat(_T_937, _T_900[38]) @[Cat.scala 29:58] - node _T_939 = cat(_T_938, _T_900[39]) @[Cat.scala 29:58] - node _T_940 = cat(_T_939, _T_900[40]) @[Cat.scala 29:58] - node _T_941 = cat(_T_940, _T_900[41]) @[Cat.scala 29:58] - node _T_942 = cat(_T_941, _T_900[42]) @[Cat.scala 29:58] - node _T_943 = cat(_T_942, _T_900[43]) @[Cat.scala 29:58] - node _T_944 = cat(_T_943, _T_900[44]) @[Cat.scala 29:58] - node _T_945 = cat(_T_944, _T_900[45]) @[Cat.scala 29:58] - node _T_946 = cat(_T_945, _T_900[46]) @[Cat.scala 29:58] - node _T_947 = cat(_T_946, _T_900[47]) @[Cat.scala 29:58] - node _T_948 = cat(_T_947, _T_900[48]) @[Cat.scala 29:58] - node _T_949 = cat(_T_948, _T_900[49]) @[Cat.scala 29:58] - node _T_950 = cat(_T_949, _T_900[50]) @[Cat.scala 29:58] - node _T_951 = cat(_T_950, _T_900[51]) @[Cat.scala 29:58] - node _T_952 = cat(_T_951, _T_900[52]) @[Cat.scala 29:58] - node _T_953 = cat(_T_952, _T_900[53]) @[Cat.scala 29:58] - node _T_954 = cat(_T_953, _T_900[54]) @[Cat.scala 29:58] - node _T_955 = cat(_T_954, _T_900[55]) @[Cat.scala 29:58] - node _T_956 = cat(_T_955, _T_900[56]) @[Cat.scala 29:58] - node _T_957 = cat(_T_956, _T_900[57]) @[Cat.scala 29:58] - node _T_958 = cat(_T_957, _T_900[58]) @[Cat.scala 29:58] - node _T_959 = cat(_T_958, _T_900[59]) @[Cat.scala 29:58] - node _T_960 = cat(_T_959, _T_900[60]) @[Cat.scala 29:58] - node _T_961 = cat(_T_960, _T_900[61]) @[Cat.scala 29:58] - node _T_962 = cat(_T_961, _T_900[62]) @[Cat.scala 29:58] - node _T_963 = cat(_T_962, _T_900[63]) @[Cat.scala 29:58] - node _T_964 = bits(wb_dout_way_pre_0, 102, 71) @[el2_ifu_ic_mem.scala 256:68] - node _T_965 = bits(wb_dout_way_pre_0, 63, 32) @[el2_ifu_ic_mem.scala 256:113] - node _T_966 = cat(_T_964, _T_965) @[Cat.scala 29:58] - node _T_967 = and(_T_963, _T_966) @[el2_ifu_ic_mem.scala 256:44] - node _T_968 = or(_T_897, _T_967) @[el2_ifu_ic_mem.scala 255:122] - node _T_969 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 257:31] - node _T_970 = eq(_T_969, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 257:36] - wire _T_971 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_971[0] <= _T_970 @[el2_lib.scala 188:48] - _T_971[1] <= _T_970 @[el2_lib.scala 188:48] - _T_971[2] <= _T_970 @[el2_lib.scala 188:48] - _T_971[3] <= _T_970 @[el2_lib.scala 188:48] - _T_971[4] <= _T_970 @[el2_lib.scala 188:48] - _T_971[5] <= _T_970 @[el2_lib.scala 188:48] - _T_971[6] <= _T_970 @[el2_lib.scala 188:48] - _T_971[7] <= _T_970 @[el2_lib.scala 188:48] - _T_971[8] <= _T_970 @[el2_lib.scala 188:48] - _T_971[9] <= _T_970 @[el2_lib.scala 188:48] - _T_971[10] <= _T_970 @[el2_lib.scala 188:48] - _T_971[11] <= _T_970 @[el2_lib.scala 188:48] - _T_971[12] <= _T_970 @[el2_lib.scala 188:48] - _T_971[13] <= _T_970 @[el2_lib.scala 188:48] - _T_971[14] <= _T_970 @[el2_lib.scala 188:48] - _T_971[15] <= _T_970 @[el2_lib.scala 188:48] - _T_971[16] <= _T_970 @[el2_lib.scala 188:48] - _T_971[17] <= _T_970 @[el2_lib.scala 188:48] - _T_971[18] <= _T_970 @[el2_lib.scala 188:48] - _T_971[19] <= _T_970 @[el2_lib.scala 188:48] - _T_971[20] <= _T_970 @[el2_lib.scala 188:48] - _T_971[21] <= _T_970 @[el2_lib.scala 188:48] - _T_971[22] <= _T_970 @[el2_lib.scala 188:48] - _T_971[23] <= _T_970 @[el2_lib.scala 188:48] - _T_971[24] <= _T_970 @[el2_lib.scala 188:48] - _T_971[25] <= _T_970 @[el2_lib.scala 188:48] - _T_971[26] <= _T_970 @[el2_lib.scala 188:48] - _T_971[27] <= _T_970 @[el2_lib.scala 188:48] - _T_971[28] <= _T_970 @[el2_lib.scala 188:48] - _T_971[29] <= _T_970 @[el2_lib.scala 188:48] - _T_971[30] <= _T_970 @[el2_lib.scala 188:48] - _T_971[31] <= _T_970 @[el2_lib.scala 188:48] - _T_971[32] <= _T_970 @[el2_lib.scala 188:48] - _T_971[33] <= _T_970 @[el2_lib.scala 188:48] - _T_971[34] <= _T_970 @[el2_lib.scala 188:48] - _T_971[35] <= _T_970 @[el2_lib.scala 188:48] - _T_971[36] <= _T_970 @[el2_lib.scala 188:48] - _T_971[37] <= _T_970 @[el2_lib.scala 188:48] - _T_971[38] <= _T_970 @[el2_lib.scala 188:48] - _T_971[39] <= _T_970 @[el2_lib.scala 188:48] - _T_971[40] <= _T_970 @[el2_lib.scala 188:48] - _T_971[41] <= _T_970 @[el2_lib.scala 188:48] - _T_971[42] <= _T_970 @[el2_lib.scala 188:48] - _T_971[43] <= _T_970 @[el2_lib.scala 188:48] - _T_971[44] <= _T_970 @[el2_lib.scala 188:48] - _T_971[45] <= _T_970 @[el2_lib.scala 188:48] - _T_971[46] <= _T_970 @[el2_lib.scala 188:48] - _T_971[47] <= _T_970 @[el2_lib.scala 188:48] - _T_971[48] <= _T_970 @[el2_lib.scala 188:48] - _T_971[49] <= _T_970 @[el2_lib.scala 188:48] - _T_971[50] <= _T_970 @[el2_lib.scala 188:48] - _T_971[51] <= _T_970 @[el2_lib.scala 188:48] - _T_971[52] <= _T_970 @[el2_lib.scala 188:48] - _T_971[53] <= _T_970 @[el2_lib.scala 188:48] - _T_971[54] <= _T_970 @[el2_lib.scala 188:48] - _T_971[55] <= _T_970 @[el2_lib.scala 188:48] - _T_971[56] <= _T_970 @[el2_lib.scala 188:48] - _T_971[57] <= _T_970 @[el2_lib.scala 188:48] - _T_971[58] <= _T_970 @[el2_lib.scala 188:48] - _T_971[59] <= _T_970 @[el2_lib.scala 188:48] - _T_971[60] <= _T_970 @[el2_lib.scala 188:48] - _T_971[61] <= _T_970 @[el2_lib.scala 188:48] - _T_971[62] <= _T_970 @[el2_lib.scala 188:48] - _T_971[63] <= _T_970 @[el2_lib.scala 188:48] - node _T_972 = cat(_T_971[0], _T_971[1]) @[Cat.scala 29:58] - node _T_973 = cat(_T_972, _T_971[2]) @[Cat.scala 29:58] - node _T_974 = cat(_T_973, _T_971[3]) @[Cat.scala 29:58] - node _T_975 = cat(_T_974, _T_971[4]) @[Cat.scala 29:58] - node _T_976 = cat(_T_975, _T_971[5]) @[Cat.scala 29:58] - node _T_977 = cat(_T_976, _T_971[6]) @[Cat.scala 29:58] - node _T_978 = cat(_T_977, _T_971[7]) @[Cat.scala 29:58] - node _T_979 = cat(_T_978, _T_971[8]) @[Cat.scala 29:58] - node _T_980 = cat(_T_979, _T_971[9]) @[Cat.scala 29:58] - node _T_981 = cat(_T_980, _T_971[10]) @[Cat.scala 29:58] - node _T_982 = cat(_T_981, _T_971[11]) @[Cat.scala 29:58] - node _T_983 = cat(_T_982, _T_971[12]) @[Cat.scala 29:58] - node _T_984 = cat(_T_983, _T_971[13]) @[Cat.scala 29:58] - node _T_985 = cat(_T_984, _T_971[14]) @[Cat.scala 29:58] - node _T_986 = cat(_T_985, _T_971[15]) @[Cat.scala 29:58] - node _T_987 = cat(_T_986, _T_971[16]) @[Cat.scala 29:58] - node _T_988 = cat(_T_987, _T_971[17]) @[Cat.scala 29:58] - node _T_989 = cat(_T_988, _T_971[18]) @[Cat.scala 29:58] - node _T_990 = cat(_T_989, _T_971[19]) @[Cat.scala 29:58] - node _T_991 = cat(_T_990, _T_971[20]) @[Cat.scala 29:58] - node _T_992 = cat(_T_991, _T_971[21]) @[Cat.scala 29:58] - node _T_993 = cat(_T_992, _T_971[22]) @[Cat.scala 29:58] - node _T_994 = cat(_T_993, _T_971[23]) @[Cat.scala 29:58] - node _T_995 = cat(_T_994, _T_971[24]) @[Cat.scala 29:58] - node _T_996 = cat(_T_995, _T_971[25]) @[Cat.scala 29:58] - node _T_997 = cat(_T_996, _T_971[26]) @[Cat.scala 29:58] - node _T_998 = cat(_T_997, _T_971[27]) @[Cat.scala 29:58] - node _T_999 = cat(_T_998, _T_971[28]) @[Cat.scala 29:58] - node _T_1000 = cat(_T_999, _T_971[29]) @[Cat.scala 29:58] - node _T_1001 = cat(_T_1000, _T_971[30]) @[Cat.scala 29:58] - node _T_1002 = cat(_T_1001, _T_971[31]) @[Cat.scala 29:58] - node _T_1003 = cat(_T_1002, _T_971[32]) @[Cat.scala 29:58] - node _T_1004 = cat(_T_1003, _T_971[33]) @[Cat.scala 29:58] - node _T_1005 = cat(_T_1004, _T_971[34]) @[Cat.scala 29:58] - node _T_1006 = cat(_T_1005, _T_971[35]) @[Cat.scala 29:58] - node _T_1007 = cat(_T_1006, _T_971[36]) @[Cat.scala 29:58] - node _T_1008 = cat(_T_1007, _T_971[37]) @[Cat.scala 29:58] - node _T_1009 = cat(_T_1008, _T_971[38]) @[Cat.scala 29:58] - node _T_1010 = cat(_T_1009, _T_971[39]) @[Cat.scala 29:58] - node _T_1011 = cat(_T_1010, _T_971[40]) @[Cat.scala 29:58] - node _T_1012 = cat(_T_1011, _T_971[41]) @[Cat.scala 29:58] - node _T_1013 = cat(_T_1012, _T_971[42]) @[Cat.scala 29:58] - node _T_1014 = cat(_T_1013, _T_971[43]) @[Cat.scala 29:58] - node _T_1015 = cat(_T_1014, _T_971[44]) @[Cat.scala 29:58] - node _T_1016 = cat(_T_1015, _T_971[45]) @[Cat.scala 29:58] - node _T_1017 = cat(_T_1016, _T_971[46]) @[Cat.scala 29:58] - node _T_1018 = cat(_T_1017, _T_971[47]) @[Cat.scala 29:58] - node _T_1019 = cat(_T_1018, _T_971[48]) @[Cat.scala 29:58] - node _T_1020 = cat(_T_1019, _T_971[49]) @[Cat.scala 29:58] - node _T_1021 = cat(_T_1020, _T_971[50]) @[Cat.scala 29:58] - node _T_1022 = cat(_T_1021, _T_971[51]) @[Cat.scala 29:58] - node _T_1023 = cat(_T_1022, _T_971[52]) @[Cat.scala 29:58] - node _T_1024 = cat(_T_1023, _T_971[53]) @[Cat.scala 29:58] - node _T_1025 = cat(_T_1024, _T_971[54]) @[Cat.scala 29:58] - node _T_1026 = cat(_T_1025, _T_971[55]) @[Cat.scala 29:58] - node _T_1027 = cat(_T_1026, _T_971[56]) @[Cat.scala 29:58] - node _T_1028 = cat(_T_1027, _T_971[57]) @[Cat.scala 29:58] - node _T_1029 = cat(_T_1028, _T_971[58]) @[Cat.scala 29:58] - node _T_1030 = cat(_T_1029, _T_971[59]) @[Cat.scala 29:58] - node _T_1031 = cat(_T_1030, _T_971[60]) @[Cat.scala 29:58] - node _T_1032 = cat(_T_1031, _T_971[61]) @[Cat.scala 29:58] - node _T_1033 = cat(_T_1032, _T_971[62]) @[Cat.scala 29:58] - node _T_1034 = cat(_T_1033, _T_971[63]) @[Cat.scala 29:58] - node _T_1035 = bits(wb_dout_way_pre_0, 118, 71) @[el2_ifu_ic_mem.scala 257:68] - node _T_1036 = bits(wb_dout_way_pre_0, 63, 48) @[el2_ifu_ic_mem.scala 257:113] - node _T_1037 = cat(_T_1035, _T_1036) @[Cat.scala 29:58] - node _T_1038 = and(_T_1034, _T_1037) @[el2_ifu_ic_mem.scala 257:44] - node wb_dout_way_0 = or(_T_968, _T_1038) @[el2_ifu_ic_mem.scala 256:122] - node _T_1039 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 254:31] - node _T_1040 = eq(_T_1039, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 254:36] - wire _T_1041 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_1041[0] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[1] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[2] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[3] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[4] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[5] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[6] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[7] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[8] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[9] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[10] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[11] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[12] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[13] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[14] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[15] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[16] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[17] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[18] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[19] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[20] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[21] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[22] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[23] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[24] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[25] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[26] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[27] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[28] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[29] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[30] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[31] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[32] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[33] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[34] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[35] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[36] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[37] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[38] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[39] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[40] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[41] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[42] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[43] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[44] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[45] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[46] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[47] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[48] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[49] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[50] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[51] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[52] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[53] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[54] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[55] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[56] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[57] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[58] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[59] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[60] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[61] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[62] <= _T_1040 @[el2_lib.scala 188:48] - _T_1041[63] <= _T_1040 @[el2_lib.scala 188:48] - node _T_1042 = cat(_T_1041[0], _T_1041[1]) @[Cat.scala 29:58] - node _T_1043 = cat(_T_1042, _T_1041[2]) @[Cat.scala 29:58] - node _T_1044 = cat(_T_1043, _T_1041[3]) @[Cat.scala 29:58] - node _T_1045 = cat(_T_1044, _T_1041[4]) @[Cat.scala 29:58] - node _T_1046 = cat(_T_1045, _T_1041[5]) @[Cat.scala 29:58] - node _T_1047 = cat(_T_1046, _T_1041[6]) @[Cat.scala 29:58] - node _T_1048 = cat(_T_1047, _T_1041[7]) @[Cat.scala 29:58] - node _T_1049 = cat(_T_1048, _T_1041[8]) @[Cat.scala 29:58] - node _T_1050 = cat(_T_1049, _T_1041[9]) @[Cat.scala 29:58] - node _T_1051 = cat(_T_1050, _T_1041[10]) @[Cat.scala 29:58] - node _T_1052 = cat(_T_1051, _T_1041[11]) @[Cat.scala 29:58] - node _T_1053 = cat(_T_1052, _T_1041[12]) @[Cat.scala 29:58] - node _T_1054 = cat(_T_1053, _T_1041[13]) @[Cat.scala 29:58] - node _T_1055 = cat(_T_1054, _T_1041[14]) @[Cat.scala 29:58] - node _T_1056 = cat(_T_1055, _T_1041[15]) @[Cat.scala 29:58] - node _T_1057 = cat(_T_1056, _T_1041[16]) @[Cat.scala 29:58] - node _T_1058 = cat(_T_1057, _T_1041[17]) @[Cat.scala 29:58] - node _T_1059 = cat(_T_1058, _T_1041[18]) @[Cat.scala 29:58] - node _T_1060 = cat(_T_1059, _T_1041[19]) @[Cat.scala 29:58] - node _T_1061 = cat(_T_1060, _T_1041[20]) @[Cat.scala 29:58] - node _T_1062 = cat(_T_1061, _T_1041[21]) @[Cat.scala 29:58] - node _T_1063 = cat(_T_1062, _T_1041[22]) @[Cat.scala 29:58] - node _T_1064 = cat(_T_1063, _T_1041[23]) @[Cat.scala 29:58] - node _T_1065 = cat(_T_1064, _T_1041[24]) @[Cat.scala 29:58] - node _T_1066 = cat(_T_1065, _T_1041[25]) @[Cat.scala 29:58] - node _T_1067 = cat(_T_1066, _T_1041[26]) @[Cat.scala 29:58] - node _T_1068 = cat(_T_1067, _T_1041[27]) @[Cat.scala 29:58] - node _T_1069 = cat(_T_1068, _T_1041[28]) @[Cat.scala 29:58] - node _T_1070 = cat(_T_1069, _T_1041[29]) @[Cat.scala 29:58] - node _T_1071 = cat(_T_1070, _T_1041[30]) @[Cat.scala 29:58] - node _T_1072 = cat(_T_1071, _T_1041[31]) @[Cat.scala 29:58] - node _T_1073 = cat(_T_1072, _T_1041[32]) @[Cat.scala 29:58] - node _T_1074 = cat(_T_1073, _T_1041[33]) @[Cat.scala 29:58] - node _T_1075 = cat(_T_1074, _T_1041[34]) @[Cat.scala 29:58] - node _T_1076 = cat(_T_1075, _T_1041[35]) @[Cat.scala 29:58] - node _T_1077 = cat(_T_1076, _T_1041[36]) @[Cat.scala 29:58] - node _T_1078 = cat(_T_1077, _T_1041[37]) @[Cat.scala 29:58] - node _T_1079 = cat(_T_1078, _T_1041[38]) @[Cat.scala 29:58] - node _T_1080 = cat(_T_1079, _T_1041[39]) @[Cat.scala 29:58] - node _T_1081 = cat(_T_1080, _T_1041[40]) @[Cat.scala 29:58] - node _T_1082 = cat(_T_1081, _T_1041[41]) @[Cat.scala 29:58] - node _T_1083 = cat(_T_1082, _T_1041[42]) @[Cat.scala 29:58] - node _T_1084 = cat(_T_1083, _T_1041[43]) @[Cat.scala 29:58] - node _T_1085 = cat(_T_1084, _T_1041[44]) @[Cat.scala 29:58] - node _T_1086 = cat(_T_1085, _T_1041[45]) @[Cat.scala 29:58] - node _T_1087 = cat(_T_1086, _T_1041[46]) @[Cat.scala 29:58] - node _T_1088 = cat(_T_1087, _T_1041[47]) @[Cat.scala 29:58] - node _T_1089 = cat(_T_1088, _T_1041[48]) @[Cat.scala 29:58] - node _T_1090 = cat(_T_1089, _T_1041[49]) @[Cat.scala 29:58] - node _T_1091 = cat(_T_1090, _T_1041[50]) @[Cat.scala 29:58] - node _T_1092 = cat(_T_1091, _T_1041[51]) @[Cat.scala 29:58] - node _T_1093 = cat(_T_1092, _T_1041[52]) @[Cat.scala 29:58] - node _T_1094 = cat(_T_1093, _T_1041[53]) @[Cat.scala 29:58] - node _T_1095 = cat(_T_1094, _T_1041[54]) @[Cat.scala 29:58] - node _T_1096 = cat(_T_1095, _T_1041[55]) @[Cat.scala 29:58] - node _T_1097 = cat(_T_1096, _T_1041[56]) @[Cat.scala 29:58] - node _T_1098 = cat(_T_1097, _T_1041[57]) @[Cat.scala 29:58] - node _T_1099 = cat(_T_1098, _T_1041[58]) @[Cat.scala 29:58] - node _T_1100 = cat(_T_1099, _T_1041[59]) @[Cat.scala 29:58] - node _T_1101 = cat(_T_1100, _T_1041[60]) @[Cat.scala 29:58] - node _T_1102 = cat(_T_1101, _T_1041[61]) @[Cat.scala 29:58] - node _T_1103 = cat(_T_1102, _T_1041[62]) @[Cat.scala 29:58] - node _T_1104 = cat(_T_1103, _T_1041[63]) @[Cat.scala 29:58] - node _T_1105 = bits(wb_dout_way_pre_1, 63, 0) @[el2_ifu_ic_mem.scala 254:64] - node _T_1106 = and(_T_1104, _T_1105) @[el2_ifu_ic_mem.scala 254:44] - node _T_1107 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 255:31] - node _T_1108 = eq(_T_1107, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 255:36] - wire _T_1109 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_1109[0] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[1] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[2] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[3] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[4] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[5] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[6] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[7] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[8] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[9] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[10] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[11] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[12] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[13] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[14] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[15] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[16] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[17] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[18] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[19] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[20] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[21] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[22] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[23] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[24] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[25] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[26] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[27] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[28] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[29] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[30] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[31] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[32] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[33] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[34] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[35] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[36] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[37] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[38] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[39] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[40] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[41] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[42] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[43] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[44] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[45] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[46] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[47] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[48] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[49] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[50] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[51] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[52] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[53] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[54] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[55] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[56] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[57] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[58] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[59] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[60] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[61] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[62] <= _T_1108 @[el2_lib.scala 188:48] - _T_1109[63] <= _T_1108 @[el2_lib.scala 188:48] - node _T_1110 = cat(_T_1109[0], _T_1109[1]) @[Cat.scala 29:58] - node _T_1111 = cat(_T_1110, _T_1109[2]) @[Cat.scala 29:58] - node _T_1112 = cat(_T_1111, _T_1109[3]) @[Cat.scala 29:58] - node _T_1113 = cat(_T_1112, _T_1109[4]) @[Cat.scala 29:58] - node _T_1114 = cat(_T_1113, _T_1109[5]) @[Cat.scala 29:58] - node _T_1115 = cat(_T_1114, _T_1109[6]) @[Cat.scala 29:58] - node _T_1116 = cat(_T_1115, _T_1109[7]) @[Cat.scala 29:58] - node _T_1117 = cat(_T_1116, _T_1109[8]) @[Cat.scala 29:58] - node _T_1118 = cat(_T_1117, _T_1109[9]) @[Cat.scala 29:58] - node _T_1119 = cat(_T_1118, _T_1109[10]) @[Cat.scala 29:58] - node _T_1120 = cat(_T_1119, _T_1109[11]) @[Cat.scala 29:58] - node _T_1121 = cat(_T_1120, _T_1109[12]) @[Cat.scala 29:58] - node _T_1122 = cat(_T_1121, _T_1109[13]) @[Cat.scala 29:58] - node _T_1123 = cat(_T_1122, _T_1109[14]) @[Cat.scala 29:58] - node _T_1124 = cat(_T_1123, _T_1109[15]) @[Cat.scala 29:58] - node _T_1125 = cat(_T_1124, _T_1109[16]) @[Cat.scala 29:58] - node _T_1126 = cat(_T_1125, _T_1109[17]) @[Cat.scala 29:58] - node _T_1127 = cat(_T_1126, _T_1109[18]) @[Cat.scala 29:58] - node _T_1128 = cat(_T_1127, _T_1109[19]) @[Cat.scala 29:58] - node _T_1129 = cat(_T_1128, _T_1109[20]) @[Cat.scala 29:58] - node _T_1130 = cat(_T_1129, _T_1109[21]) @[Cat.scala 29:58] - node _T_1131 = cat(_T_1130, _T_1109[22]) @[Cat.scala 29:58] - node _T_1132 = cat(_T_1131, _T_1109[23]) @[Cat.scala 29:58] - node _T_1133 = cat(_T_1132, _T_1109[24]) @[Cat.scala 29:58] - node _T_1134 = cat(_T_1133, _T_1109[25]) @[Cat.scala 29:58] - node _T_1135 = cat(_T_1134, _T_1109[26]) @[Cat.scala 29:58] - node _T_1136 = cat(_T_1135, _T_1109[27]) @[Cat.scala 29:58] - node _T_1137 = cat(_T_1136, _T_1109[28]) @[Cat.scala 29:58] - node _T_1138 = cat(_T_1137, _T_1109[29]) @[Cat.scala 29:58] - node _T_1139 = cat(_T_1138, _T_1109[30]) @[Cat.scala 29:58] - node _T_1140 = cat(_T_1139, _T_1109[31]) @[Cat.scala 29:58] - node _T_1141 = cat(_T_1140, _T_1109[32]) @[Cat.scala 29:58] - node _T_1142 = cat(_T_1141, _T_1109[33]) @[Cat.scala 29:58] - node _T_1143 = cat(_T_1142, _T_1109[34]) @[Cat.scala 29:58] - node _T_1144 = cat(_T_1143, _T_1109[35]) @[Cat.scala 29:58] - node _T_1145 = cat(_T_1144, _T_1109[36]) @[Cat.scala 29:58] - node _T_1146 = cat(_T_1145, _T_1109[37]) @[Cat.scala 29:58] - node _T_1147 = cat(_T_1146, _T_1109[38]) @[Cat.scala 29:58] - node _T_1148 = cat(_T_1147, _T_1109[39]) @[Cat.scala 29:58] - node _T_1149 = cat(_T_1148, _T_1109[40]) @[Cat.scala 29:58] - node _T_1150 = cat(_T_1149, _T_1109[41]) @[Cat.scala 29:58] - node _T_1151 = cat(_T_1150, _T_1109[42]) @[Cat.scala 29:58] - node _T_1152 = cat(_T_1151, _T_1109[43]) @[Cat.scala 29:58] - node _T_1153 = cat(_T_1152, _T_1109[44]) @[Cat.scala 29:58] - node _T_1154 = cat(_T_1153, _T_1109[45]) @[Cat.scala 29:58] - node _T_1155 = cat(_T_1154, _T_1109[46]) @[Cat.scala 29:58] - node _T_1156 = cat(_T_1155, _T_1109[47]) @[Cat.scala 29:58] - node _T_1157 = cat(_T_1156, _T_1109[48]) @[Cat.scala 29:58] - node _T_1158 = cat(_T_1157, _T_1109[49]) @[Cat.scala 29:58] - node _T_1159 = cat(_T_1158, _T_1109[50]) @[Cat.scala 29:58] - node _T_1160 = cat(_T_1159, _T_1109[51]) @[Cat.scala 29:58] - node _T_1161 = cat(_T_1160, _T_1109[52]) @[Cat.scala 29:58] - node _T_1162 = cat(_T_1161, _T_1109[53]) @[Cat.scala 29:58] - node _T_1163 = cat(_T_1162, _T_1109[54]) @[Cat.scala 29:58] - node _T_1164 = cat(_T_1163, _T_1109[55]) @[Cat.scala 29:58] - node _T_1165 = cat(_T_1164, _T_1109[56]) @[Cat.scala 29:58] - node _T_1166 = cat(_T_1165, _T_1109[57]) @[Cat.scala 29:58] - node _T_1167 = cat(_T_1166, _T_1109[58]) @[Cat.scala 29:58] - node _T_1168 = cat(_T_1167, _T_1109[59]) @[Cat.scala 29:58] - node _T_1169 = cat(_T_1168, _T_1109[60]) @[Cat.scala 29:58] - node _T_1170 = cat(_T_1169, _T_1109[61]) @[Cat.scala 29:58] - node _T_1171 = cat(_T_1170, _T_1109[62]) @[Cat.scala 29:58] - node _T_1172 = cat(_T_1171, _T_1109[63]) @[Cat.scala 29:58] - node _T_1173 = bits(wb_dout_way_pre_1, 86, 71) @[el2_ifu_ic_mem.scala 255:68] - node _T_1174 = bits(wb_dout_way_pre_1, 63, 16) @[el2_ifu_ic_mem.scala 255:113] - node _T_1175 = cat(_T_1173, _T_1174) @[Cat.scala 29:58] - node _T_1176 = and(_T_1172, _T_1175) @[el2_ifu_ic_mem.scala 255:44] - node _T_1177 = or(_T_1106, _T_1176) @[el2_ifu_ic_mem.scala 254:71] - node _T_1178 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 256:31] - node _T_1179 = eq(_T_1178, UInt<2>("h02")) @[el2_ifu_ic_mem.scala 256:36] - wire _T_1180 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_1180[0] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[1] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[2] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[3] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[4] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[5] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[6] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[7] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[8] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[9] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[10] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[11] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[12] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[13] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[14] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[15] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[16] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[17] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[18] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[19] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[20] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[21] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[22] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[23] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[24] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[25] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[26] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[27] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[28] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[29] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[30] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[31] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[32] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[33] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[34] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[35] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[36] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[37] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[38] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[39] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[40] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[41] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[42] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[43] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[44] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[45] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[46] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[47] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[48] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[49] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[50] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[51] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[52] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[53] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[54] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[55] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[56] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[57] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[58] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[59] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[60] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[61] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[62] <= _T_1179 @[el2_lib.scala 188:48] - _T_1180[63] <= _T_1179 @[el2_lib.scala 188:48] - node _T_1181 = cat(_T_1180[0], _T_1180[1]) @[Cat.scala 29:58] - node _T_1182 = cat(_T_1181, _T_1180[2]) @[Cat.scala 29:58] - node _T_1183 = cat(_T_1182, _T_1180[3]) @[Cat.scala 29:58] - node _T_1184 = cat(_T_1183, _T_1180[4]) @[Cat.scala 29:58] - node _T_1185 = cat(_T_1184, _T_1180[5]) @[Cat.scala 29:58] - node _T_1186 = cat(_T_1185, _T_1180[6]) @[Cat.scala 29:58] - node _T_1187 = cat(_T_1186, _T_1180[7]) @[Cat.scala 29:58] - node _T_1188 = cat(_T_1187, _T_1180[8]) @[Cat.scala 29:58] - node _T_1189 = cat(_T_1188, _T_1180[9]) @[Cat.scala 29:58] - node _T_1190 = cat(_T_1189, _T_1180[10]) @[Cat.scala 29:58] - node _T_1191 = cat(_T_1190, _T_1180[11]) @[Cat.scala 29:58] - node _T_1192 = cat(_T_1191, _T_1180[12]) @[Cat.scala 29:58] - node _T_1193 = cat(_T_1192, _T_1180[13]) @[Cat.scala 29:58] - node _T_1194 = cat(_T_1193, _T_1180[14]) @[Cat.scala 29:58] - node _T_1195 = cat(_T_1194, _T_1180[15]) @[Cat.scala 29:58] - node _T_1196 = cat(_T_1195, _T_1180[16]) @[Cat.scala 29:58] - node _T_1197 = cat(_T_1196, _T_1180[17]) @[Cat.scala 29:58] - node _T_1198 = cat(_T_1197, _T_1180[18]) @[Cat.scala 29:58] - node _T_1199 = cat(_T_1198, _T_1180[19]) @[Cat.scala 29:58] - node _T_1200 = cat(_T_1199, _T_1180[20]) @[Cat.scala 29:58] - node _T_1201 = cat(_T_1200, _T_1180[21]) @[Cat.scala 29:58] - node _T_1202 = cat(_T_1201, _T_1180[22]) @[Cat.scala 29:58] - node _T_1203 = cat(_T_1202, _T_1180[23]) @[Cat.scala 29:58] - node _T_1204 = cat(_T_1203, _T_1180[24]) @[Cat.scala 29:58] - node _T_1205 = cat(_T_1204, _T_1180[25]) @[Cat.scala 29:58] - node _T_1206 = cat(_T_1205, _T_1180[26]) @[Cat.scala 29:58] - node _T_1207 = cat(_T_1206, _T_1180[27]) @[Cat.scala 29:58] - node _T_1208 = cat(_T_1207, _T_1180[28]) @[Cat.scala 29:58] - node _T_1209 = cat(_T_1208, _T_1180[29]) @[Cat.scala 29:58] - node _T_1210 = cat(_T_1209, _T_1180[30]) @[Cat.scala 29:58] - node _T_1211 = cat(_T_1210, _T_1180[31]) @[Cat.scala 29:58] - node _T_1212 = cat(_T_1211, _T_1180[32]) @[Cat.scala 29:58] - node _T_1213 = cat(_T_1212, _T_1180[33]) @[Cat.scala 29:58] - node _T_1214 = cat(_T_1213, _T_1180[34]) @[Cat.scala 29:58] - node _T_1215 = cat(_T_1214, _T_1180[35]) @[Cat.scala 29:58] - node _T_1216 = cat(_T_1215, _T_1180[36]) @[Cat.scala 29:58] - node _T_1217 = cat(_T_1216, _T_1180[37]) @[Cat.scala 29:58] - node _T_1218 = cat(_T_1217, _T_1180[38]) @[Cat.scala 29:58] - node _T_1219 = cat(_T_1218, _T_1180[39]) @[Cat.scala 29:58] - node _T_1220 = cat(_T_1219, _T_1180[40]) @[Cat.scala 29:58] - node _T_1221 = cat(_T_1220, _T_1180[41]) @[Cat.scala 29:58] - node _T_1222 = cat(_T_1221, _T_1180[42]) @[Cat.scala 29:58] - node _T_1223 = cat(_T_1222, _T_1180[43]) @[Cat.scala 29:58] - node _T_1224 = cat(_T_1223, _T_1180[44]) @[Cat.scala 29:58] - node _T_1225 = cat(_T_1224, _T_1180[45]) @[Cat.scala 29:58] - node _T_1226 = cat(_T_1225, _T_1180[46]) @[Cat.scala 29:58] - node _T_1227 = cat(_T_1226, _T_1180[47]) @[Cat.scala 29:58] - node _T_1228 = cat(_T_1227, _T_1180[48]) @[Cat.scala 29:58] - node _T_1229 = cat(_T_1228, _T_1180[49]) @[Cat.scala 29:58] - node _T_1230 = cat(_T_1229, _T_1180[50]) @[Cat.scala 29:58] - node _T_1231 = cat(_T_1230, _T_1180[51]) @[Cat.scala 29:58] - node _T_1232 = cat(_T_1231, _T_1180[52]) @[Cat.scala 29:58] - node _T_1233 = cat(_T_1232, _T_1180[53]) @[Cat.scala 29:58] - node _T_1234 = cat(_T_1233, _T_1180[54]) @[Cat.scala 29:58] - node _T_1235 = cat(_T_1234, _T_1180[55]) @[Cat.scala 29:58] - node _T_1236 = cat(_T_1235, _T_1180[56]) @[Cat.scala 29:58] - node _T_1237 = cat(_T_1236, _T_1180[57]) @[Cat.scala 29:58] - node _T_1238 = cat(_T_1237, _T_1180[58]) @[Cat.scala 29:58] - node _T_1239 = cat(_T_1238, _T_1180[59]) @[Cat.scala 29:58] - node _T_1240 = cat(_T_1239, _T_1180[60]) @[Cat.scala 29:58] - node _T_1241 = cat(_T_1240, _T_1180[61]) @[Cat.scala 29:58] - node _T_1242 = cat(_T_1241, _T_1180[62]) @[Cat.scala 29:58] - node _T_1243 = cat(_T_1242, _T_1180[63]) @[Cat.scala 29:58] - node _T_1244 = bits(wb_dout_way_pre_1, 102, 71) @[el2_ifu_ic_mem.scala 256:68] - node _T_1245 = bits(wb_dout_way_pre_1, 63, 32) @[el2_ifu_ic_mem.scala 256:113] - node _T_1246 = cat(_T_1244, _T_1245) @[Cat.scala 29:58] - node _T_1247 = and(_T_1243, _T_1246) @[el2_ifu_ic_mem.scala 256:44] - node _T_1248 = or(_T_1177, _T_1247) @[el2_ifu_ic_mem.scala 255:122] - node _T_1249 = bits(ic_rw_addr_ff, 2, 1) @[el2_ifu_ic_mem.scala 257:31] - node _T_1250 = eq(_T_1249, UInt<2>("h03")) @[el2_ifu_ic_mem.scala 257:36] - wire _T_1251 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_1251[0] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[1] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[2] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[3] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[4] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[5] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[6] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[7] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[8] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[9] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[10] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[11] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[12] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[13] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[14] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[15] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[16] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[17] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[18] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[19] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[20] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[21] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[22] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[23] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[24] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[25] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[26] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[27] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[28] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[29] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[30] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[31] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[32] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[33] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[34] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[35] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[36] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[37] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[38] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[39] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[40] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[41] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[42] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[43] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[44] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[45] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[46] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[47] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[48] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[49] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[50] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[51] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[52] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[53] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[54] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[55] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[56] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[57] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[58] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[59] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[60] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[61] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[62] <= _T_1250 @[el2_lib.scala 188:48] - _T_1251[63] <= _T_1250 @[el2_lib.scala 188:48] - node _T_1252 = cat(_T_1251[0], _T_1251[1]) @[Cat.scala 29:58] - node _T_1253 = cat(_T_1252, _T_1251[2]) @[Cat.scala 29:58] - node _T_1254 = cat(_T_1253, _T_1251[3]) @[Cat.scala 29:58] - node _T_1255 = cat(_T_1254, _T_1251[4]) @[Cat.scala 29:58] - node _T_1256 = cat(_T_1255, _T_1251[5]) @[Cat.scala 29:58] - node _T_1257 = cat(_T_1256, _T_1251[6]) @[Cat.scala 29:58] - node _T_1258 = cat(_T_1257, _T_1251[7]) @[Cat.scala 29:58] - node _T_1259 = cat(_T_1258, _T_1251[8]) @[Cat.scala 29:58] - node _T_1260 = cat(_T_1259, _T_1251[9]) @[Cat.scala 29:58] - node _T_1261 = cat(_T_1260, _T_1251[10]) @[Cat.scala 29:58] - node _T_1262 = cat(_T_1261, _T_1251[11]) @[Cat.scala 29:58] - node _T_1263 = cat(_T_1262, _T_1251[12]) @[Cat.scala 29:58] - node _T_1264 = cat(_T_1263, _T_1251[13]) @[Cat.scala 29:58] - node _T_1265 = cat(_T_1264, _T_1251[14]) @[Cat.scala 29:58] - node _T_1266 = cat(_T_1265, _T_1251[15]) @[Cat.scala 29:58] - node _T_1267 = cat(_T_1266, _T_1251[16]) @[Cat.scala 29:58] - node _T_1268 = cat(_T_1267, _T_1251[17]) @[Cat.scala 29:58] - node _T_1269 = cat(_T_1268, _T_1251[18]) @[Cat.scala 29:58] - node _T_1270 = cat(_T_1269, _T_1251[19]) @[Cat.scala 29:58] - node _T_1271 = cat(_T_1270, _T_1251[20]) @[Cat.scala 29:58] - node _T_1272 = cat(_T_1271, _T_1251[21]) @[Cat.scala 29:58] - node _T_1273 = cat(_T_1272, _T_1251[22]) @[Cat.scala 29:58] - node _T_1274 = cat(_T_1273, _T_1251[23]) @[Cat.scala 29:58] - node _T_1275 = cat(_T_1274, _T_1251[24]) @[Cat.scala 29:58] - node _T_1276 = cat(_T_1275, _T_1251[25]) @[Cat.scala 29:58] - node _T_1277 = cat(_T_1276, _T_1251[26]) @[Cat.scala 29:58] - node _T_1278 = cat(_T_1277, _T_1251[27]) @[Cat.scala 29:58] - node _T_1279 = cat(_T_1278, _T_1251[28]) @[Cat.scala 29:58] - node _T_1280 = cat(_T_1279, _T_1251[29]) @[Cat.scala 29:58] - node _T_1281 = cat(_T_1280, _T_1251[30]) @[Cat.scala 29:58] - node _T_1282 = cat(_T_1281, _T_1251[31]) @[Cat.scala 29:58] - node _T_1283 = cat(_T_1282, _T_1251[32]) @[Cat.scala 29:58] - node _T_1284 = cat(_T_1283, _T_1251[33]) @[Cat.scala 29:58] - node _T_1285 = cat(_T_1284, _T_1251[34]) @[Cat.scala 29:58] - node _T_1286 = cat(_T_1285, _T_1251[35]) @[Cat.scala 29:58] - node _T_1287 = cat(_T_1286, _T_1251[36]) @[Cat.scala 29:58] - node _T_1288 = cat(_T_1287, _T_1251[37]) @[Cat.scala 29:58] - node _T_1289 = cat(_T_1288, _T_1251[38]) @[Cat.scala 29:58] - node _T_1290 = cat(_T_1289, _T_1251[39]) @[Cat.scala 29:58] - node _T_1291 = cat(_T_1290, _T_1251[40]) @[Cat.scala 29:58] - node _T_1292 = cat(_T_1291, _T_1251[41]) @[Cat.scala 29:58] - node _T_1293 = cat(_T_1292, _T_1251[42]) @[Cat.scala 29:58] - node _T_1294 = cat(_T_1293, _T_1251[43]) @[Cat.scala 29:58] - node _T_1295 = cat(_T_1294, _T_1251[44]) @[Cat.scala 29:58] - node _T_1296 = cat(_T_1295, _T_1251[45]) @[Cat.scala 29:58] - node _T_1297 = cat(_T_1296, _T_1251[46]) @[Cat.scala 29:58] - node _T_1298 = cat(_T_1297, _T_1251[47]) @[Cat.scala 29:58] - node _T_1299 = cat(_T_1298, _T_1251[48]) @[Cat.scala 29:58] - node _T_1300 = cat(_T_1299, _T_1251[49]) @[Cat.scala 29:58] - node _T_1301 = cat(_T_1300, _T_1251[50]) @[Cat.scala 29:58] - node _T_1302 = cat(_T_1301, _T_1251[51]) @[Cat.scala 29:58] - node _T_1303 = cat(_T_1302, _T_1251[52]) @[Cat.scala 29:58] - node _T_1304 = cat(_T_1303, _T_1251[53]) @[Cat.scala 29:58] - node _T_1305 = cat(_T_1304, _T_1251[54]) @[Cat.scala 29:58] - node _T_1306 = cat(_T_1305, _T_1251[55]) @[Cat.scala 29:58] - node _T_1307 = cat(_T_1306, _T_1251[56]) @[Cat.scala 29:58] - node _T_1308 = cat(_T_1307, _T_1251[57]) @[Cat.scala 29:58] - node _T_1309 = cat(_T_1308, _T_1251[58]) @[Cat.scala 29:58] - node _T_1310 = cat(_T_1309, _T_1251[59]) @[Cat.scala 29:58] - node _T_1311 = cat(_T_1310, _T_1251[60]) @[Cat.scala 29:58] - node _T_1312 = cat(_T_1311, _T_1251[61]) @[Cat.scala 29:58] - node _T_1313 = cat(_T_1312, _T_1251[62]) @[Cat.scala 29:58] - node _T_1314 = cat(_T_1313, _T_1251[63]) @[Cat.scala 29:58] - node _T_1315 = bits(wb_dout_way_pre_1, 118, 71) @[el2_ifu_ic_mem.scala 257:68] - node _T_1316 = bits(wb_dout_way_pre_1, 63, 48) @[el2_ifu_ic_mem.scala 257:113] - node _T_1317 = cat(_T_1315, _T_1316) @[Cat.scala 29:58] - node _T_1318 = and(_T_1314, _T_1317) @[el2_ifu_ic_mem.scala 257:44] - node wb_dout_way_1 = or(_T_1248, _T_1318) @[el2_ifu_ic_mem.scala 256:122] - node _T_1319 = eq(ic_debug_rd_en_ff, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 260:42] - node ic_rd_hit_q = mux(_T_1319, ic_debug_rd_way_en_ff, io.ic_rd_hit) @[el2_ifu_ic_mem.scala 260:24] - node wb_dout_way_with_premux_0 = mux(io.ic_sel_premux_data, io.ic_premux_data, wb_dout_way_0) @[el2_ifu_ic_mem.scala 261:52] - node wb_dout_way_with_premux_1 = mux(io.ic_sel_premux_data, io.ic_premux_data, wb_dout_way_1) @[el2_ifu_ic_mem.scala 261:52] - io.ic_debug_rd_data <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 263:23] - io.ic_parerr <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 264:16] - io.ic_eccerr <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 265:16] - node _T_1320 = bits(ic_rd_hit_q, 0, 0) @[el2_ifu_ic_mem.scala 267:75] - node _T_1321 = or(_T_1320, io.ic_sel_premux_data) @[el2_ifu_ic_mem.scala 267:79] - node _T_1322 = bits(ic_rd_hit_q, 1, 1) @[el2_ifu_ic_mem.scala 267:75] - node _T_1323 = or(_T_1322, io.ic_sel_premux_data) @[el2_ifu_ic_mem.scala 267:79] - wire _T_1324 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_1324[0] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[1] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[2] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[3] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[4] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[5] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[6] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[7] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[8] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[9] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[10] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[11] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[12] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[13] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[14] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[15] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[16] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[17] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[18] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[19] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[20] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[21] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[22] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[23] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[24] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[25] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[26] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[27] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[28] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[29] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[30] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[31] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[32] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[33] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[34] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[35] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[36] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[37] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[38] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[39] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[40] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[41] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[42] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[43] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[44] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[45] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[46] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[47] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[48] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[49] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[50] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[51] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[52] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[53] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[54] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[55] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[56] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[57] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[58] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[59] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[60] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[61] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[62] <= _T_1321 @[el2_lib.scala 188:48] - _T_1324[63] <= _T_1321 @[el2_lib.scala 188:48] - node _T_1325 = cat(_T_1324[0], _T_1324[1]) @[Cat.scala 29:58] - node _T_1326 = cat(_T_1325, _T_1324[2]) @[Cat.scala 29:58] - node _T_1327 = cat(_T_1326, _T_1324[3]) @[Cat.scala 29:58] - node _T_1328 = cat(_T_1327, _T_1324[4]) @[Cat.scala 29:58] - node _T_1329 = cat(_T_1328, _T_1324[5]) @[Cat.scala 29:58] - node _T_1330 = cat(_T_1329, _T_1324[6]) @[Cat.scala 29:58] - node _T_1331 = cat(_T_1330, _T_1324[7]) @[Cat.scala 29:58] - node _T_1332 = cat(_T_1331, _T_1324[8]) @[Cat.scala 29:58] - node _T_1333 = cat(_T_1332, _T_1324[9]) @[Cat.scala 29:58] - node _T_1334 = cat(_T_1333, _T_1324[10]) @[Cat.scala 29:58] - node _T_1335 = cat(_T_1334, _T_1324[11]) @[Cat.scala 29:58] - node _T_1336 = cat(_T_1335, _T_1324[12]) @[Cat.scala 29:58] - node _T_1337 = cat(_T_1336, _T_1324[13]) @[Cat.scala 29:58] - node _T_1338 = cat(_T_1337, _T_1324[14]) @[Cat.scala 29:58] - node _T_1339 = cat(_T_1338, _T_1324[15]) @[Cat.scala 29:58] - node _T_1340 = cat(_T_1339, _T_1324[16]) @[Cat.scala 29:58] - node _T_1341 = cat(_T_1340, _T_1324[17]) @[Cat.scala 29:58] - node _T_1342 = cat(_T_1341, _T_1324[18]) @[Cat.scala 29:58] - node _T_1343 = cat(_T_1342, _T_1324[19]) @[Cat.scala 29:58] - node _T_1344 = cat(_T_1343, _T_1324[20]) @[Cat.scala 29:58] - node _T_1345 = cat(_T_1344, _T_1324[21]) @[Cat.scala 29:58] - node _T_1346 = cat(_T_1345, _T_1324[22]) @[Cat.scala 29:58] - node _T_1347 = cat(_T_1346, _T_1324[23]) @[Cat.scala 29:58] - node _T_1348 = cat(_T_1347, _T_1324[24]) @[Cat.scala 29:58] - node _T_1349 = cat(_T_1348, _T_1324[25]) @[Cat.scala 29:58] - node _T_1350 = cat(_T_1349, _T_1324[26]) @[Cat.scala 29:58] - node _T_1351 = cat(_T_1350, _T_1324[27]) @[Cat.scala 29:58] - node _T_1352 = cat(_T_1351, _T_1324[28]) @[Cat.scala 29:58] - node _T_1353 = cat(_T_1352, _T_1324[29]) @[Cat.scala 29:58] - node _T_1354 = cat(_T_1353, _T_1324[30]) @[Cat.scala 29:58] - node _T_1355 = cat(_T_1354, _T_1324[31]) @[Cat.scala 29:58] - node _T_1356 = cat(_T_1355, _T_1324[32]) @[Cat.scala 29:58] - node _T_1357 = cat(_T_1356, _T_1324[33]) @[Cat.scala 29:58] - node _T_1358 = cat(_T_1357, _T_1324[34]) @[Cat.scala 29:58] - node _T_1359 = cat(_T_1358, _T_1324[35]) @[Cat.scala 29:58] - node _T_1360 = cat(_T_1359, _T_1324[36]) @[Cat.scala 29:58] - node _T_1361 = cat(_T_1360, _T_1324[37]) @[Cat.scala 29:58] - node _T_1362 = cat(_T_1361, _T_1324[38]) @[Cat.scala 29:58] - node _T_1363 = cat(_T_1362, _T_1324[39]) @[Cat.scala 29:58] - node _T_1364 = cat(_T_1363, _T_1324[40]) @[Cat.scala 29:58] - node _T_1365 = cat(_T_1364, _T_1324[41]) @[Cat.scala 29:58] - node _T_1366 = cat(_T_1365, _T_1324[42]) @[Cat.scala 29:58] - node _T_1367 = cat(_T_1366, _T_1324[43]) @[Cat.scala 29:58] - node _T_1368 = cat(_T_1367, _T_1324[44]) @[Cat.scala 29:58] - node _T_1369 = cat(_T_1368, _T_1324[45]) @[Cat.scala 29:58] - node _T_1370 = cat(_T_1369, _T_1324[46]) @[Cat.scala 29:58] - node _T_1371 = cat(_T_1370, _T_1324[47]) @[Cat.scala 29:58] - node _T_1372 = cat(_T_1371, _T_1324[48]) @[Cat.scala 29:58] - node _T_1373 = cat(_T_1372, _T_1324[49]) @[Cat.scala 29:58] - node _T_1374 = cat(_T_1373, _T_1324[50]) @[Cat.scala 29:58] - node _T_1375 = cat(_T_1374, _T_1324[51]) @[Cat.scala 29:58] - node _T_1376 = cat(_T_1375, _T_1324[52]) @[Cat.scala 29:58] - node _T_1377 = cat(_T_1376, _T_1324[53]) @[Cat.scala 29:58] - node _T_1378 = cat(_T_1377, _T_1324[54]) @[Cat.scala 29:58] - node _T_1379 = cat(_T_1378, _T_1324[55]) @[Cat.scala 29:58] - node _T_1380 = cat(_T_1379, _T_1324[56]) @[Cat.scala 29:58] - node _T_1381 = cat(_T_1380, _T_1324[57]) @[Cat.scala 29:58] - node _T_1382 = cat(_T_1381, _T_1324[58]) @[Cat.scala 29:58] - node _T_1383 = cat(_T_1382, _T_1324[59]) @[Cat.scala 29:58] - node _T_1384 = cat(_T_1383, _T_1324[60]) @[Cat.scala 29:58] - node _T_1385 = cat(_T_1384, _T_1324[61]) @[Cat.scala 29:58] - node _T_1386 = cat(_T_1385, _T_1324[62]) @[Cat.scala 29:58] - node _T_1387 = cat(_T_1386, _T_1324[63]) @[Cat.scala 29:58] - node _T_1388 = and(_T_1387, wb_dout_way_with_premux_0) @[el2_lib.scala 190:94] - wire _T_1389 : UInt<1>[64] @[el2_lib.scala 188:48] - _T_1389[0] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[1] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[2] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[3] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[4] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[5] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[6] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[7] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[8] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[9] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[10] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[11] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[12] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[13] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[14] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[15] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[16] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[17] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[18] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[19] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[20] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[21] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[22] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[23] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[24] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[25] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[26] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[27] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[28] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[29] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[30] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[31] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[32] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[33] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[34] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[35] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[36] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[37] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[38] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[39] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[40] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[41] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[42] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[43] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[44] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[45] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[46] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[47] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[48] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[49] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[50] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[51] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[52] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[53] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[54] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[55] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[56] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[57] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[58] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[59] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[60] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[61] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[62] <= _T_1323 @[el2_lib.scala 188:48] - _T_1389[63] <= _T_1323 @[el2_lib.scala 188:48] - node _T_1390 = cat(_T_1389[0], _T_1389[1]) @[Cat.scala 29:58] - node _T_1391 = cat(_T_1390, _T_1389[2]) @[Cat.scala 29:58] - node _T_1392 = cat(_T_1391, _T_1389[3]) @[Cat.scala 29:58] - node _T_1393 = cat(_T_1392, _T_1389[4]) @[Cat.scala 29:58] - node _T_1394 = cat(_T_1393, _T_1389[5]) @[Cat.scala 29:58] - node _T_1395 = cat(_T_1394, _T_1389[6]) @[Cat.scala 29:58] - node _T_1396 = cat(_T_1395, _T_1389[7]) @[Cat.scala 29:58] - node _T_1397 = cat(_T_1396, _T_1389[8]) @[Cat.scala 29:58] - node _T_1398 = cat(_T_1397, _T_1389[9]) @[Cat.scala 29:58] - node _T_1399 = cat(_T_1398, _T_1389[10]) @[Cat.scala 29:58] - node _T_1400 = cat(_T_1399, _T_1389[11]) @[Cat.scala 29:58] - node _T_1401 = cat(_T_1400, _T_1389[12]) @[Cat.scala 29:58] - node _T_1402 = cat(_T_1401, _T_1389[13]) @[Cat.scala 29:58] - node _T_1403 = cat(_T_1402, _T_1389[14]) @[Cat.scala 29:58] - node _T_1404 = cat(_T_1403, _T_1389[15]) @[Cat.scala 29:58] - node _T_1405 = cat(_T_1404, _T_1389[16]) @[Cat.scala 29:58] - node _T_1406 = cat(_T_1405, _T_1389[17]) @[Cat.scala 29:58] - node _T_1407 = cat(_T_1406, _T_1389[18]) @[Cat.scala 29:58] - node _T_1408 = cat(_T_1407, _T_1389[19]) @[Cat.scala 29:58] - node _T_1409 = cat(_T_1408, _T_1389[20]) @[Cat.scala 29:58] - node _T_1410 = cat(_T_1409, _T_1389[21]) @[Cat.scala 29:58] - node _T_1411 = cat(_T_1410, _T_1389[22]) @[Cat.scala 29:58] - node _T_1412 = cat(_T_1411, _T_1389[23]) @[Cat.scala 29:58] - node _T_1413 = cat(_T_1412, _T_1389[24]) @[Cat.scala 29:58] - node _T_1414 = cat(_T_1413, _T_1389[25]) @[Cat.scala 29:58] - node _T_1415 = cat(_T_1414, _T_1389[26]) @[Cat.scala 29:58] - node _T_1416 = cat(_T_1415, _T_1389[27]) @[Cat.scala 29:58] - node _T_1417 = cat(_T_1416, _T_1389[28]) @[Cat.scala 29:58] - node _T_1418 = cat(_T_1417, _T_1389[29]) @[Cat.scala 29:58] - node _T_1419 = cat(_T_1418, _T_1389[30]) @[Cat.scala 29:58] - node _T_1420 = cat(_T_1419, _T_1389[31]) @[Cat.scala 29:58] - node _T_1421 = cat(_T_1420, _T_1389[32]) @[Cat.scala 29:58] - node _T_1422 = cat(_T_1421, _T_1389[33]) @[Cat.scala 29:58] - node _T_1423 = cat(_T_1422, _T_1389[34]) @[Cat.scala 29:58] - node _T_1424 = cat(_T_1423, _T_1389[35]) @[Cat.scala 29:58] - node _T_1425 = cat(_T_1424, _T_1389[36]) @[Cat.scala 29:58] - node _T_1426 = cat(_T_1425, _T_1389[37]) @[Cat.scala 29:58] - node _T_1427 = cat(_T_1426, _T_1389[38]) @[Cat.scala 29:58] - node _T_1428 = cat(_T_1427, _T_1389[39]) @[Cat.scala 29:58] - node _T_1429 = cat(_T_1428, _T_1389[40]) @[Cat.scala 29:58] - node _T_1430 = cat(_T_1429, _T_1389[41]) @[Cat.scala 29:58] - node _T_1431 = cat(_T_1430, _T_1389[42]) @[Cat.scala 29:58] - node _T_1432 = cat(_T_1431, _T_1389[43]) @[Cat.scala 29:58] - node _T_1433 = cat(_T_1432, _T_1389[44]) @[Cat.scala 29:58] - node _T_1434 = cat(_T_1433, _T_1389[45]) @[Cat.scala 29:58] - node _T_1435 = cat(_T_1434, _T_1389[46]) @[Cat.scala 29:58] - node _T_1436 = cat(_T_1435, _T_1389[47]) @[Cat.scala 29:58] - node _T_1437 = cat(_T_1436, _T_1389[48]) @[Cat.scala 29:58] - node _T_1438 = cat(_T_1437, _T_1389[49]) @[Cat.scala 29:58] - node _T_1439 = cat(_T_1438, _T_1389[50]) @[Cat.scala 29:58] - node _T_1440 = cat(_T_1439, _T_1389[51]) @[Cat.scala 29:58] - node _T_1441 = cat(_T_1440, _T_1389[52]) @[Cat.scala 29:58] - node _T_1442 = cat(_T_1441, _T_1389[53]) @[Cat.scala 29:58] - node _T_1443 = cat(_T_1442, _T_1389[54]) @[Cat.scala 29:58] - node _T_1444 = cat(_T_1443, _T_1389[55]) @[Cat.scala 29:58] - node _T_1445 = cat(_T_1444, _T_1389[56]) @[Cat.scala 29:58] - node _T_1446 = cat(_T_1445, _T_1389[57]) @[Cat.scala 29:58] - node _T_1447 = cat(_T_1446, _T_1389[58]) @[Cat.scala 29:58] - node _T_1448 = cat(_T_1447, _T_1389[59]) @[Cat.scala 29:58] - node _T_1449 = cat(_T_1448, _T_1389[60]) @[Cat.scala 29:58] - node _T_1450 = cat(_T_1449, _T_1389[61]) @[Cat.scala 29:58] - node _T_1451 = cat(_T_1450, _T_1389[62]) @[Cat.scala 29:58] - node _T_1452 = cat(_T_1451, _T_1389[63]) @[Cat.scala 29:58] - node _T_1453 = and(_T_1452, wb_dout_way_with_premux_1) @[el2_lib.scala 190:94] - node _T_1454 = or(_T_1388, _T_1453) @[el2_lib.scala 190:110] - io.ic_rd_data <= _T_1454 @[el2_ifu_ic_mem.scala 267:17] - node _T_1455 = bits(ic_rd_hit_q, 0, 0) @[el2_ifu_ic_mem.scala 269:81] - node _T_1456 = bits(ic_rd_hit_q, 1, 1) @[el2_ifu_ic_mem.scala 269:81] - node _T_1457 = bits(wb_dout_way_pre_0, 70, 0) @[el2_ifu_ic_mem.scala 270:53] - node _T_1458 = bits(wb_dout_way_pre_1, 70, 0) @[el2_ifu_ic_mem.scala 270:53] - wire _T_1459 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_1459[0] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[1] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[2] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[3] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[4] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[5] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[6] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[7] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[8] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[9] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[10] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[11] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[12] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[13] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[14] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[15] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[16] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[17] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[18] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[19] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[20] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[21] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[22] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[23] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[24] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[25] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[26] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[27] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[28] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[29] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[30] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[31] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[32] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[33] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[34] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[35] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[36] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[37] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[38] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[39] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[40] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[41] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[42] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[43] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[44] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[45] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[46] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[47] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[48] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[49] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[50] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[51] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[52] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[53] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[54] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[55] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[56] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[57] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[58] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[59] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[60] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[61] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[62] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[63] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[64] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[65] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[66] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[67] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[68] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[69] <= _T_1455 @[el2_lib.scala 188:48] - _T_1459[70] <= _T_1455 @[el2_lib.scala 188:48] - node _T_1460 = cat(_T_1459[0], _T_1459[1]) @[Cat.scala 29:58] - node _T_1461 = cat(_T_1460, _T_1459[2]) @[Cat.scala 29:58] - node _T_1462 = cat(_T_1461, _T_1459[3]) @[Cat.scala 29:58] - node _T_1463 = cat(_T_1462, _T_1459[4]) @[Cat.scala 29:58] - node _T_1464 = cat(_T_1463, _T_1459[5]) @[Cat.scala 29:58] - node _T_1465 = cat(_T_1464, _T_1459[6]) @[Cat.scala 29:58] - node _T_1466 = cat(_T_1465, _T_1459[7]) @[Cat.scala 29:58] - node _T_1467 = cat(_T_1466, _T_1459[8]) @[Cat.scala 29:58] - node _T_1468 = cat(_T_1467, _T_1459[9]) @[Cat.scala 29:58] - node _T_1469 = cat(_T_1468, _T_1459[10]) @[Cat.scala 29:58] - node _T_1470 = cat(_T_1469, _T_1459[11]) @[Cat.scala 29:58] - node _T_1471 = cat(_T_1470, _T_1459[12]) @[Cat.scala 29:58] - node _T_1472 = cat(_T_1471, _T_1459[13]) @[Cat.scala 29:58] - node _T_1473 = cat(_T_1472, _T_1459[14]) @[Cat.scala 29:58] - node _T_1474 = cat(_T_1473, _T_1459[15]) @[Cat.scala 29:58] - node _T_1475 = cat(_T_1474, _T_1459[16]) @[Cat.scala 29:58] - node _T_1476 = cat(_T_1475, _T_1459[17]) @[Cat.scala 29:58] - node _T_1477 = cat(_T_1476, _T_1459[18]) @[Cat.scala 29:58] - node _T_1478 = cat(_T_1477, _T_1459[19]) @[Cat.scala 29:58] - node _T_1479 = cat(_T_1478, _T_1459[20]) @[Cat.scala 29:58] - node _T_1480 = cat(_T_1479, _T_1459[21]) @[Cat.scala 29:58] - node _T_1481 = cat(_T_1480, _T_1459[22]) @[Cat.scala 29:58] - node _T_1482 = cat(_T_1481, _T_1459[23]) @[Cat.scala 29:58] - node _T_1483 = cat(_T_1482, _T_1459[24]) @[Cat.scala 29:58] - node _T_1484 = cat(_T_1483, _T_1459[25]) @[Cat.scala 29:58] - node _T_1485 = cat(_T_1484, _T_1459[26]) @[Cat.scala 29:58] - node _T_1486 = cat(_T_1485, _T_1459[27]) @[Cat.scala 29:58] - node _T_1487 = cat(_T_1486, _T_1459[28]) @[Cat.scala 29:58] - node _T_1488 = cat(_T_1487, _T_1459[29]) @[Cat.scala 29:58] - node _T_1489 = cat(_T_1488, _T_1459[30]) @[Cat.scala 29:58] - node _T_1490 = cat(_T_1489, _T_1459[31]) @[Cat.scala 29:58] - node _T_1491 = cat(_T_1490, _T_1459[32]) @[Cat.scala 29:58] - node _T_1492 = cat(_T_1491, _T_1459[33]) @[Cat.scala 29:58] - node _T_1493 = cat(_T_1492, _T_1459[34]) @[Cat.scala 29:58] - node _T_1494 = cat(_T_1493, _T_1459[35]) @[Cat.scala 29:58] - node _T_1495 = cat(_T_1494, _T_1459[36]) @[Cat.scala 29:58] - node _T_1496 = cat(_T_1495, _T_1459[37]) @[Cat.scala 29:58] - node _T_1497 = cat(_T_1496, _T_1459[38]) @[Cat.scala 29:58] - node _T_1498 = cat(_T_1497, _T_1459[39]) @[Cat.scala 29:58] - node _T_1499 = cat(_T_1498, _T_1459[40]) @[Cat.scala 29:58] - node _T_1500 = cat(_T_1499, _T_1459[41]) @[Cat.scala 29:58] - node _T_1501 = cat(_T_1500, _T_1459[42]) @[Cat.scala 29:58] - node _T_1502 = cat(_T_1501, _T_1459[43]) @[Cat.scala 29:58] - node _T_1503 = cat(_T_1502, _T_1459[44]) @[Cat.scala 29:58] - node _T_1504 = cat(_T_1503, _T_1459[45]) @[Cat.scala 29:58] - node _T_1505 = cat(_T_1504, _T_1459[46]) @[Cat.scala 29:58] - node _T_1506 = cat(_T_1505, _T_1459[47]) @[Cat.scala 29:58] - node _T_1507 = cat(_T_1506, _T_1459[48]) @[Cat.scala 29:58] - node _T_1508 = cat(_T_1507, _T_1459[49]) @[Cat.scala 29:58] - node _T_1509 = cat(_T_1508, _T_1459[50]) @[Cat.scala 29:58] - node _T_1510 = cat(_T_1509, _T_1459[51]) @[Cat.scala 29:58] - node _T_1511 = cat(_T_1510, _T_1459[52]) @[Cat.scala 29:58] - node _T_1512 = cat(_T_1511, _T_1459[53]) @[Cat.scala 29:58] - node _T_1513 = cat(_T_1512, _T_1459[54]) @[Cat.scala 29:58] - node _T_1514 = cat(_T_1513, _T_1459[55]) @[Cat.scala 29:58] - node _T_1515 = cat(_T_1514, _T_1459[56]) @[Cat.scala 29:58] - node _T_1516 = cat(_T_1515, _T_1459[57]) @[Cat.scala 29:58] - node _T_1517 = cat(_T_1516, _T_1459[58]) @[Cat.scala 29:58] - node _T_1518 = cat(_T_1517, _T_1459[59]) @[Cat.scala 29:58] - node _T_1519 = cat(_T_1518, _T_1459[60]) @[Cat.scala 29:58] - node _T_1520 = cat(_T_1519, _T_1459[61]) @[Cat.scala 29:58] - node _T_1521 = cat(_T_1520, _T_1459[62]) @[Cat.scala 29:58] - node _T_1522 = cat(_T_1521, _T_1459[63]) @[Cat.scala 29:58] - node _T_1523 = cat(_T_1522, _T_1459[64]) @[Cat.scala 29:58] - node _T_1524 = cat(_T_1523, _T_1459[65]) @[Cat.scala 29:58] - node _T_1525 = cat(_T_1524, _T_1459[66]) @[Cat.scala 29:58] - node _T_1526 = cat(_T_1525, _T_1459[67]) @[Cat.scala 29:58] - node _T_1527 = cat(_T_1526, _T_1459[68]) @[Cat.scala 29:58] - node _T_1528 = cat(_T_1527, _T_1459[69]) @[Cat.scala 29:58] - node _T_1529 = cat(_T_1528, _T_1459[70]) @[Cat.scala 29:58] - node _T_1530 = and(_T_1529, _T_1457) @[el2_lib.scala 190:94] - wire _T_1531 : UInt<1>[71] @[el2_lib.scala 188:48] - _T_1531[0] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[1] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[2] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[3] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[4] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[5] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[6] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[7] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[8] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[9] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[10] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[11] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[12] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[13] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[14] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[15] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[16] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[17] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[18] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[19] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[20] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[21] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[22] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[23] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[24] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[25] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[26] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[27] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[28] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[29] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[30] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[31] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[32] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[33] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[34] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[35] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[36] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[37] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[38] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[39] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[40] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[41] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[42] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[43] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[44] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[45] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[46] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[47] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[48] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[49] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[50] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[51] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[52] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[53] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[54] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[55] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[56] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[57] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[58] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[59] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[60] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[61] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[62] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[63] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[64] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[65] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[66] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[67] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[68] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[69] <= _T_1456 @[el2_lib.scala 188:48] - _T_1531[70] <= _T_1456 @[el2_lib.scala 188:48] - node _T_1532 = cat(_T_1531[0], _T_1531[1]) @[Cat.scala 29:58] - node _T_1533 = cat(_T_1532, _T_1531[2]) @[Cat.scala 29:58] - node _T_1534 = cat(_T_1533, _T_1531[3]) @[Cat.scala 29:58] - node _T_1535 = cat(_T_1534, _T_1531[4]) @[Cat.scala 29:58] - node _T_1536 = cat(_T_1535, _T_1531[5]) @[Cat.scala 29:58] - node _T_1537 = cat(_T_1536, _T_1531[6]) @[Cat.scala 29:58] - node _T_1538 = cat(_T_1537, _T_1531[7]) @[Cat.scala 29:58] - node _T_1539 = cat(_T_1538, _T_1531[8]) @[Cat.scala 29:58] - node _T_1540 = cat(_T_1539, _T_1531[9]) @[Cat.scala 29:58] - node _T_1541 = cat(_T_1540, _T_1531[10]) @[Cat.scala 29:58] - node _T_1542 = cat(_T_1541, _T_1531[11]) @[Cat.scala 29:58] - node _T_1543 = cat(_T_1542, _T_1531[12]) @[Cat.scala 29:58] - node _T_1544 = cat(_T_1543, _T_1531[13]) @[Cat.scala 29:58] - node _T_1545 = cat(_T_1544, _T_1531[14]) @[Cat.scala 29:58] - node _T_1546 = cat(_T_1545, _T_1531[15]) @[Cat.scala 29:58] - node _T_1547 = cat(_T_1546, _T_1531[16]) @[Cat.scala 29:58] - node _T_1548 = cat(_T_1547, _T_1531[17]) @[Cat.scala 29:58] - node _T_1549 = cat(_T_1548, _T_1531[18]) @[Cat.scala 29:58] - node _T_1550 = cat(_T_1549, _T_1531[19]) @[Cat.scala 29:58] - node _T_1551 = cat(_T_1550, _T_1531[20]) @[Cat.scala 29:58] - node _T_1552 = cat(_T_1551, _T_1531[21]) @[Cat.scala 29:58] - node _T_1553 = cat(_T_1552, _T_1531[22]) @[Cat.scala 29:58] - node _T_1554 = cat(_T_1553, _T_1531[23]) @[Cat.scala 29:58] - node _T_1555 = cat(_T_1554, _T_1531[24]) @[Cat.scala 29:58] - node _T_1556 = cat(_T_1555, _T_1531[25]) @[Cat.scala 29:58] - node _T_1557 = cat(_T_1556, _T_1531[26]) @[Cat.scala 29:58] - node _T_1558 = cat(_T_1557, _T_1531[27]) @[Cat.scala 29:58] - node _T_1559 = cat(_T_1558, _T_1531[28]) @[Cat.scala 29:58] - node _T_1560 = cat(_T_1559, _T_1531[29]) @[Cat.scala 29:58] - node _T_1561 = cat(_T_1560, _T_1531[30]) @[Cat.scala 29:58] - node _T_1562 = cat(_T_1561, _T_1531[31]) @[Cat.scala 29:58] - node _T_1563 = cat(_T_1562, _T_1531[32]) @[Cat.scala 29:58] - node _T_1564 = cat(_T_1563, _T_1531[33]) @[Cat.scala 29:58] - node _T_1565 = cat(_T_1564, _T_1531[34]) @[Cat.scala 29:58] - node _T_1566 = cat(_T_1565, _T_1531[35]) @[Cat.scala 29:58] - node _T_1567 = cat(_T_1566, _T_1531[36]) @[Cat.scala 29:58] - node _T_1568 = cat(_T_1567, _T_1531[37]) @[Cat.scala 29:58] - node _T_1569 = cat(_T_1568, _T_1531[38]) @[Cat.scala 29:58] - node _T_1570 = cat(_T_1569, _T_1531[39]) @[Cat.scala 29:58] - node _T_1571 = cat(_T_1570, _T_1531[40]) @[Cat.scala 29:58] - node _T_1572 = cat(_T_1571, _T_1531[41]) @[Cat.scala 29:58] - node _T_1573 = cat(_T_1572, _T_1531[42]) @[Cat.scala 29:58] - node _T_1574 = cat(_T_1573, _T_1531[43]) @[Cat.scala 29:58] - node _T_1575 = cat(_T_1574, _T_1531[44]) @[Cat.scala 29:58] - node _T_1576 = cat(_T_1575, _T_1531[45]) @[Cat.scala 29:58] - node _T_1577 = cat(_T_1576, _T_1531[46]) @[Cat.scala 29:58] - node _T_1578 = cat(_T_1577, _T_1531[47]) @[Cat.scala 29:58] - node _T_1579 = cat(_T_1578, _T_1531[48]) @[Cat.scala 29:58] - node _T_1580 = cat(_T_1579, _T_1531[49]) @[Cat.scala 29:58] - node _T_1581 = cat(_T_1580, _T_1531[50]) @[Cat.scala 29:58] - node _T_1582 = cat(_T_1581, _T_1531[51]) @[Cat.scala 29:58] - node _T_1583 = cat(_T_1582, _T_1531[52]) @[Cat.scala 29:58] - node _T_1584 = cat(_T_1583, _T_1531[53]) @[Cat.scala 29:58] - node _T_1585 = cat(_T_1584, _T_1531[54]) @[Cat.scala 29:58] - node _T_1586 = cat(_T_1585, _T_1531[55]) @[Cat.scala 29:58] - node _T_1587 = cat(_T_1586, _T_1531[56]) @[Cat.scala 29:58] - node _T_1588 = cat(_T_1587, _T_1531[57]) @[Cat.scala 29:58] - node _T_1589 = cat(_T_1588, _T_1531[58]) @[Cat.scala 29:58] - node _T_1590 = cat(_T_1589, _T_1531[59]) @[Cat.scala 29:58] - node _T_1591 = cat(_T_1590, _T_1531[60]) @[Cat.scala 29:58] - node _T_1592 = cat(_T_1591, _T_1531[61]) @[Cat.scala 29:58] - node _T_1593 = cat(_T_1592, _T_1531[62]) @[Cat.scala 29:58] - node _T_1594 = cat(_T_1593, _T_1531[63]) @[Cat.scala 29:58] - node _T_1595 = cat(_T_1594, _T_1531[64]) @[Cat.scala 29:58] - node _T_1596 = cat(_T_1595, _T_1531[65]) @[Cat.scala 29:58] - node _T_1597 = cat(_T_1596, _T_1531[66]) @[Cat.scala 29:58] - node _T_1598 = cat(_T_1597, _T_1531[67]) @[Cat.scala 29:58] - node _T_1599 = cat(_T_1598, _T_1531[68]) @[Cat.scala 29:58] - node _T_1600 = cat(_T_1599, _T_1531[69]) @[Cat.scala 29:58] - node _T_1601 = cat(_T_1600, _T_1531[70]) @[Cat.scala 29:58] - node _T_1602 = and(_T_1601, _T_1458) @[el2_lib.scala 190:94] - node _T_1603 = or(_T_1530, _T_1602) @[el2_lib.scala 190:110] - io.ic_debug_rd_data <= _T_1603 @[el2_ifu_ic_mem.scala 269:23] - node _T_1604 = bits(ic_rd_hit_q, 0, 0) @[el2_ifu_ic_mem.scala 271:76] - node _T_1605 = bits(ic_rd_hit_q, 1, 1) @[el2_ifu_ic_mem.scala 271:76] - wire _T_1606 : UInt<1>[142] @[el2_lib.scala 188:48] - _T_1606[0] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[1] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[2] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[3] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[4] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[5] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[6] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[7] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[8] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[9] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[10] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[11] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[12] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[13] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[14] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[15] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[16] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[17] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[18] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[19] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[20] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[21] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[22] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[23] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[24] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[25] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[26] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[27] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[28] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[29] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[30] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[31] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[32] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[33] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[34] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[35] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[36] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[37] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[38] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[39] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[40] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[41] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[42] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[43] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[44] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[45] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[46] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[47] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[48] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[49] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[50] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[51] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[52] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[53] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[54] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[55] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[56] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[57] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[58] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[59] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[60] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[61] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[62] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[63] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[64] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[65] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[66] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[67] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[68] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[69] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[70] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[71] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[72] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[73] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[74] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[75] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[76] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[77] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[78] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[79] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[80] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[81] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[82] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[83] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[84] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[85] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[86] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[87] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[88] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[89] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[90] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[91] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[92] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[93] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[94] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[95] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[96] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[97] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[98] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[99] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[100] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[101] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[102] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[103] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[104] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[105] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[106] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[107] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[108] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[109] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[110] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[111] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[112] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[113] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[114] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[115] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[116] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[117] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[118] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[119] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[120] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[121] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[122] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[123] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[124] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[125] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[126] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[127] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[128] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[129] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[130] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[131] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[132] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[133] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[134] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[135] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[136] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[137] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[138] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[139] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[140] <= _T_1604 @[el2_lib.scala 188:48] - _T_1606[141] <= _T_1604 @[el2_lib.scala 188:48] - node _T_1607 = cat(_T_1606[0], _T_1606[1]) @[Cat.scala 29:58] - node _T_1608 = cat(_T_1607, _T_1606[2]) @[Cat.scala 29:58] - node _T_1609 = cat(_T_1608, _T_1606[3]) @[Cat.scala 29:58] - node _T_1610 = cat(_T_1609, _T_1606[4]) @[Cat.scala 29:58] - node _T_1611 = cat(_T_1610, _T_1606[5]) @[Cat.scala 29:58] - node _T_1612 = cat(_T_1611, _T_1606[6]) @[Cat.scala 29:58] - node _T_1613 = cat(_T_1612, _T_1606[7]) @[Cat.scala 29:58] - node _T_1614 = cat(_T_1613, _T_1606[8]) @[Cat.scala 29:58] - node _T_1615 = cat(_T_1614, _T_1606[9]) @[Cat.scala 29:58] - node _T_1616 = cat(_T_1615, _T_1606[10]) @[Cat.scala 29:58] - node _T_1617 = cat(_T_1616, _T_1606[11]) @[Cat.scala 29:58] - node _T_1618 = cat(_T_1617, _T_1606[12]) @[Cat.scala 29:58] - node _T_1619 = cat(_T_1618, _T_1606[13]) @[Cat.scala 29:58] - node _T_1620 = cat(_T_1619, _T_1606[14]) @[Cat.scala 29:58] - node _T_1621 = cat(_T_1620, _T_1606[15]) @[Cat.scala 29:58] - node _T_1622 = cat(_T_1621, _T_1606[16]) @[Cat.scala 29:58] - node _T_1623 = cat(_T_1622, _T_1606[17]) @[Cat.scala 29:58] - node _T_1624 = cat(_T_1623, _T_1606[18]) @[Cat.scala 29:58] - node _T_1625 = cat(_T_1624, _T_1606[19]) @[Cat.scala 29:58] - node _T_1626 = cat(_T_1625, _T_1606[20]) @[Cat.scala 29:58] - node _T_1627 = cat(_T_1626, _T_1606[21]) @[Cat.scala 29:58] - node _T_1628 = cat(_T_1627, _T_1606[22]) @[Cat.scala 29:58] - node _T_1629 = cat(_T_1628, _T_1606[23]) @[Cat.scala 29:58] - node _T_1630 = cat(_T_1629, _T_1606[24]) @[Cat.scala 29:58] - node _T_1631 = cat(_T_1630, _T_1606[25]) @[Cat.scala 29:58] - node _T_1632 = cat(_T_1631, _T_1606[26]) @[Cat.scala 29:58] - node _T_1633 = cat(_T_1632, _T_1606[27]) @[Cat.scala 29:58] - node _T_1634 = cat(_T_1633, _T_1606[28]) @[Cat.scala 29:58] - node _T_1635 = cat(_T_1634, _T_1606[29]) @[Cat.scala 29:58] - node _T_1636 = cat(_T_1635, _T_1606[30]) @[Cat.scala 29:58] - node _T_1637 = cat(_T_1636, _T_1606[31]) @[Cat.scala 29:58] - node _T_1638 = cat(_T_1637, _T_1606[32]) @[Cat.scala 29:58] - node _T_1639 = cat(_T_1638, _T_1606[33]) @[Cat.scala 29:58] - node _T_1640 = cat(_T_1639, _T_1606[34]) @[Cat.scala 29:58] - node _T_1641 = cat(_T_1640, _T_1606[35]) @[Cat.scala 29:58] - node _T_1642 = cat(_T_1641, _T_1606[36]) @[Cat.scala 29:58] - node _T_1643 = cat(_T_1642, _T_1606[37]) @[Cat.scala 29:58] - node _T_1644 = cat(_T_1643, _T_1606[38]) @[Cat.scala 29:58] - node _T_1645 = cat(_T_1644, _T_1606[39]) @[Cat.scala 29:58] - node _T_1646 = cat(_T_1645, _T_1606[40]) @[Cat.scala 29:58] - node _T_1647 = cat(_T_1646, _T_1606[41]) @[Cat.scala 29:58] - node _T_1648 = cat(_T_1647, _T_1606[42]) @[Cat.scala 29:58] - node _T_1649 = cat(_T_1648, _T_1606[43]) @[Cat.scala 29:58] - node _T_1650 = cat(_T_1649, _T_1606[44]) @[Cat.scala 29:58] - node _T_1651 = cat(_T_1650, _T_1606[45]) @[Cat.scala 29:58] - node _T_1652 = cat(_T_1651, _T_1606[46]) @[Cat.scala 29:58] - node _T_1653 = cat(_T_1652, _T_1606[47]) @[Cat.scala 29:58] - node _T_1654 = cat(_T_1653, _T_1606[48]) @[Cat.scala 29:58] - node _T_1655 = cat(_T_1654, _T_1606[49]) @[Cat.scala 29:58] - node _T_1656 = cat(_T_1655, _T_1606[50]) @[Cat.scala 29:58] - node _T_1657 = cat(_T_1656, _T_1606[51]) @[Cat.scala 29:58] - node _T_1658 = cat(_T_1657, _T_1606[52]) @[Cat.scala 29:58] - node _T_1659 = cat(_T_1658, _T_1606[53]) @[Cat.scala 29:58] - node _T_1660 = cat(_T_1659, _T_1606[54]) @[Cat.scala 29:58] - node _T_1661 = cat(_T_1660, _T_1606[55]) @[Cat.scala 29:58] - node _T_1662 = cat(_T_1661, _T_1606[56]) @[Cat.scala 29:58] - node _T_1663 = cat(_T_1662, _T_1606[57]) @[Cat.scala 29:58] - node _T_1664 = cat(_T_1663, _T_1606[58]) @[Cat.scala 29:58] - node _T_1665 = cat(_T_1664, _T_1606[59]) @[Cat.scala 29:58] - node _T_1666 = cat(_T_1665, _T_1606[60]) @[Cat.scala 29:58] - node _T_1667 = cat(_T_1666, _T_1606[61]) @[Cat.scala 29:58] - node _T_1668 = cat(_T_1667, _T_1606[62]) @[Cat.scala 29:58] - node _T_1669 = cat(_T_1668, _T_1606[63]) @[Cat.scala 29:58] - node _T_1670 = cat(_T_1669, _T_1606[64]) @[Cat.scala 29:58] - node _T_1671 = cat(_T_1670, _T_1606[65]) @[Cat.scala 29:58] - node _T_1672 = cat(_T_1671, _T_1606[66]) @[Cat.scala 29:58] - node _T_1673 = cat(_T_1672, _T_1606[67]) @[Cat.scala 29:58] - node _T_1674 = cat(_T_1673, _T_1606[68]) @[Cat.scala 29:58] - node _T_1675 = cat(_T_1674, _T_1606[69]) @[Cat.scala 29:58] - node _T_1676 = cat(_T_1675, _T_1606[70]) @[Cat.scala 29:58] - node _T_1677 = cat(_T_1676, _T_1606[71]) @[Cat.scala 29:58] - node _T_1678 = cat(_T_1677, _T_1606[72]) @[Cat.scala 29:58] - node _T_1679 = cat(_T_1678, _T_1606[73]) @[Cat.scala 29:58] - node _T_1680 = cat(_T_1679, _T_1606[74]) @[Cat.scala 29:58] - node _T_1681 = cat(_T_1680, _T_1606[75]) @[Cat.scala 29:58] - node _T_1682 = cat(_T_1681, _T_1606[76]) @[Cat.scala 29:58] - node _T_1683 = cat(_T_1682, _T_1606[77]) @[Cat.scala 29:58] - node _T_1684 = cat(_T_1683, _T_1606[78]) @[Cat.scala 29:58] - node _T_1685 = cat(_T_1684, _T_1606[79]) @[Cat.scala 29:58] - node _T_1686 = cat(_T_1685, _T_1606[80]) @[Cat.scala 29:58] - node _T_1687 = cat(_T_1686, _T_1606[81]) @[Cat.scala 29:58] - node _T_1688 = cat(_T_1687, _T_1606[82]) @[Cat.scala 29:58] - node _T_1689 = cat(_T_1688, _T_1606[83]) @[Cat.scala 29:58] - node _T_1690 = cat(_T_1689, _T_1606[84]) @[Cat.scala 29:58] - node _T_1691 = cat(_T_1690, _T_1606[85]) @[Cat.scala 29:58] - node _T_1692 = cat(_T_1691, _T_1606[86]) @[Cat.scala 29:58] - node _T_1693 = cat(_T_1692, _T_1606[87]) @[Cat.scala 29:58] - node _T_1694 = cat(_T_1693, _T_1606[88]) @[Cat.scala 29:58] - node _T_1695 = cat(_T_1694, _T_1606[89]) @[Cat.scala 29:58] - node _T_1696 = cat(_T_1695, _T_1606[90]) @[Cat.scala 29:58] - node _T_1697 = cat(_T_1696, _T_1606[91]) @[Cat.scala 29:58] - node _T_1698 = cat(_T_1697, _T_1606[92]) @[Cat.scala 29:58] - node _T_1699 = cat(_T_1698, _T_1606[93]) @[Cat.scala 29:58] - node _T_1700 = cat(_T_1699, _T_1606[94]) @[Cat.scala 29:58] - node _T_1701 = cat(_T_1700, _T_1606[95]) @[Cat.scala 29:58] - node _T_1702 = cat(_T_1701, _T_1606[96]) @[Cat.scala 29:58] - node _T_1703 = cat(_T_1702, _T_1606[97]) @[Cat.scala 29:58] - node _T_1704 = cat(_T_1703, _T_1606[98]) @[Cat.scala 29:58] - node _T_1705 = cat(_T_1704, _T_1606[99]) @[Cat.scala 29:58] - node _T_1706 = cat(_T_1705, _T_1606[100]) @[Cat.scala 29:58] - node _T_1707 = cat(_T_1706, _T_1606[101]) @[Cat.scala 29:58] - node _T_1708 = cat(_T_1707, _T_1606[102]) @[Cat.scala 29:58] - node _T_1709 = cat(_T_1708, _T_1606[103]) @[Cat.scala 29:58] - node _T_1710 = cat(_T_1709, _T_1606[104]) @[Cat.scala 29:58] - node _T_1711 = cat(_T_1710, _T_1606[105]) @[Cat.scala 29:58] - node _T_1712 = cat(_T_1711, _T_1606[106]) @[Cat.scala 29:58] - node _T_1713 = cat(_T_1712, _T_1606[107]) @[Cat.scala 29:58] - node _T_1714 = cat(_T_1713, _T_1606[108]) @[Cat.scala 29:58] - node _T_1715 = cat(_T_1714, _T_1606[109]) @[Cat.scala 29:58] - node _T_1716 = cat(_T_1715, _T_1606[110]) @[Cat.scala 29:58] - node _T_1717 = cat(_T_1716, _T_1606[111]) @[Cat.scala 29:58] - node _T_1718 = cat(_T_1717, _T_1606[112]) @[Cat.scala 29:58] - node _T_1719 = cat(_T_1718, _T_1606[113]) @[Cat.scala 29:58] - node _T_1720 = cat(_T_1719, _T_1606[114]) @[Cat.scala 29:58] - node _T_1721 = cat(_T_1720, _T_1606[115]) @[Cat.scala 29:58] - node _T_1722 = cat(_T_1721, _T_1606[116]) @[Cat.scala 29:58] - node _T_1723 = cat(_T_1722, _T_1606[117]) @[Cat.scala 29:58] - node _T_1724 = cat(_T_1723, _T_1606[118]) @[Cat.scala 29:58] - node _T_1725 = cat(_T_1724, _T_1606[119]) @[Cat.scala 29:58] - node _T_1726 = cat(_T_1725, _T_1606[120]) @[Cat.scala 29:58] - node _T_1727 = cat(_T_1726, _T_1606[121]) @[Cat.scala 29:58] - node _T_1728 = cat(_T_1727, _T_1606[122]) @[Cat.scala 29:58] - node _T_1729 = cat(_T_1728, _T_1606[123]) @[Cat.scala 29:58] - node _T_1730 = cat(_T_1729, _T_1606[124]) @[Cat.scala 29:58] - node _T_1731 = cat(_T_1730, _T_1606[125]) @[Cat.scala 29:58] - node _T_1732 = cat(_T_1731, _T_1606[126]) @[Cat.scala 29:58] - node _T_1733 = cat(_T_1732, _T_1606[127]) @[Cat.scala 29:58] - node _T_1734 = cat(_T_1733, _T_1606[128]) @[Cat.scala 29:58] - node _T_1735 = cat(_T_1734, _T_1606[129]) @[Cat.scala 29:58] - node _T_1736 = cat(_T_1735, _T_1606[130]) @[Cat.scala 29:58] - node _T_1737 = cat(_T_1736, _T_1606[131]) @[Cat.scala 29:58] - node _T_1738 = cat(_T_1737, _T_1606[132]) @[Cat.scala 29:58] - node _T_1739 = cat(_T_1738, _T_1606[133]) @[Cat.scala 29:58] - node _T_1740 = cat(_T_1739, _T_1606[134]) @[Cat.scala 29:58] - node _T_1741 = cat(_T_1740, _T_1606[135]) @[Cat.scala 29:58] - node _T_1742 = cat(_T_1741, _T_1606[136]) @[Cat.scala 29:58] - node _T_1743 = cat(_T_1742, _T_1606[137]) @[Cat.scala 29:58] - node _T_1744 = cat(_T_1743, _T_1606[138]) @[Cat.scala 29:58] - node _T_1745 = cat(_T_1744, _T_1606[139]) @[Cat.scala 29:58] - node _T_1746 = cat(_T_1745, _T_1606[140]) @[Cat.scala 29:58] - node _T_1747 = cat(_T_1746, _T_1606[141]) @[Cat.scala 29:58] - node _T_1748 = and(_T_1747, wb_dout_way_pre_0) @[el2_lib.scala 190:94] - wire _T_1749 : UInt<1>[142] @[el2_lib.scala 188:48] - _T_1749[0] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[1] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[2] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[3] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[4] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[5] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[6] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[7] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[8] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[9] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[10] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[11] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[12] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[13] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[14] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[15] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[16] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[17] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[18] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[19] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[20] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[21] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[22] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[23] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[24] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[25] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[26] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[27] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[28] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[29] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[30] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[31] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[32] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[33] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[34] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[35] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[36] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[37] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[38] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[39] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[40] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[41] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[42] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[43] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[44] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[45] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[46] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[47] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[48] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[49] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[50] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[51] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[52] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[53] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[54] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[55] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[56] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[57] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[58] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[59] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[60] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[61] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[62] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[63] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[64] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[65] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[66] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[67] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[68] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[69] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[70] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[71] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[72] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[73] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[74] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[75] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[76] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[77] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[78] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[79] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[80] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[81] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[82] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[83] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[84] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[85] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[86] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[87] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[88] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[89] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[90] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[91] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[92] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[93] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[94] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[95] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[96] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[97] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[98] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[99] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[100] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[101] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[102] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[103] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[104] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[105] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[106] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[107] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[108] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[109] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[110] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[111] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[112] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[113] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[114] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[115] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[116] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[117] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[118] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[119] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[120] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[121] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[122] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[123] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[124] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[125] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[126] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[127] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[128] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[129] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[130] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[131] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[132] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[133] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[134] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[135] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[136] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[137] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[138] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[139] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[140] <= _T_1605 @[el2_lib.scala 188:48] - _T_1749[141] <= _T_1605 @[el2_lib.scala 188:48] - node _T_1750 = cat(_T_1749[0], _T_1749[1]) @[Cat.scala 29:58] - node _T_1751 = cat(_T_1750, _T_1749[2]) @[Cat.scala 29:58] - node _T_1752 = cat(_T_1751, _T_1749[3]) @[Cat.scala 29:58] - node _T_1753 = cat(_T_1752, _T_1749[4]) @[Cat.scala 29:58] - node _T_1754 = cat(_T_1753, _T_1749[5]) @[Cat.scala 29:58] - node _T_1755 = cat(_T_1754, _T_1749[6]) @[Cat.scala 29:58] - node _T_1756 = cat(_T_1755, _T_1749[7]) @[Cat.scala 29:58] - node _T_1757 = cat(_T_1756, _T_1749[8]) @[Cat.scala 29:58] - node _T_1758 = cat(_T_1757, _T_1749[9]) @[Cat.scala 29:58] - node _T_1759 = cat(_T_1758, _T_1749[10]) @[Cat.scala 29:58] - node _T_1760 = cat(_T_1759, _T_1749[11]) @[Cat.scala 29:58] - node _T_1761 = cat(_T_1760, _T_1749[12]) @[Cat.scala 29:58] - node _T_1762 = cat(_T_1761, _T_1749[13]) @[Cat.scala 29:58] - node _T_1763 = cat(_T_1762, _T_1749[14]) @[Cat.scala 29:58] - node _T_1764 = cat(_T_1763, _T_1749[15]) @[Cat.scala 29:58] - node _T_1765 = cat(_T_1764, _T_1749[16]) @[Cat.scala 29:58] - node _T_1766 = cat(_T_1765, _T_1749[17]) @[Cat.scala 29:58] - node _T_1767 = cat(_T_1766, _T_1749[18]) @[Cat.scala 29:58] - node _T_1768 = cat(_T_1767, _T_1749[19]) @[Cat.scala 29:58] - node _T_1769 = cat(_T_1768, _T_1749[20]) @[Cat.scala 29:58] - node _T_1770 = cat(_T_1769, _T_1749[21]) @[Cat.scala 29:58] - node _T_1771 = cat(_T_1770, _T_1749[22]) @[Cat.scala 29:58] - node _T_1772 = cat(_T_1771, _T_1749[23]) @[Cat.scala 29:58] - node _T_1773 = cat(_T_1772, _T_1749[24]) @[Cat.scala 29:58] - node _T_1774 = cat(_T_1773, _T_1749[25]) @[Cat.scala 29:58] - node _T_1775 = cat(_T_1774, _T_1749[26]) @[Cat.scala 29:58] - node _T_1776 = cat(_T_1775, _T_1749[27]) @[Cat.scala 29:58] - node _T_1777 = cat(_T_1776, _T_1749[28]) @[Cat.scala 29:58] - node _T_1778 = cat(_T_1777, _T_1749[29]) @[Cat.scala 29:58] - node _T_1779 = cat(_T_1778, _T_1749[30]) @[Cat.scala 29:58] - node _T_1780 = cat(_T_1779, _T_1749[31]) @[Cat.scala 29:58] - node _T_1781 = cat(_T_1780, _T_1749[32]) @[Cat.scala 29:58] - node _T_1782 = cat(_T_1781, _T_1749[33]) @[Cat.scala 29:58] - node _T_1783 = cat(_T_1782, _T_1749[34]) @[Cat.scala 29:58] - node _T_1784 = cat(_T_1783, _T_1749[35]) @[Cat.scala 29:58] - node _T_1785 = cat(_T_1784, _T_1749[36]) @[Cat.scala 29:58] - node _T_1786 = cat(_T_1785, _T_1749[37]) @[Cat.scala 29:58] - node _T_1787 = cat(_T_1786, _T_1749[38]) @[Cat.scala 29:58] - node _T_1788 = cat(_T_1787, _T_1749[39]) @[Cat.scala 29:58] - node _T_1789 = cat(_T_1788, _T_1749[40]) @[Cat.scala 29:58] - node _T_1790 = cat(_T_1789, _T_1749[41]) @[Cat.scala 29:58] - node _T_1791 = cat(_T_1790, _T_1749[42]) @[Cat.scala 29:58] - node _T_1792 = cat(_T_1791, _T_1749[43]) @[Cat.scala 29:58] - node _T_1793 = cat(_T_1792, _T_1749[44]) @[Cat.scala 29:58] - node _T_1794 = cat(_T_1793, _T_1749[45]) @[Cat.scala 29:58] - node _T_1795 = cat(_T_1794, _T_1749[46]) @[Cat.scala 29:58] - node _T_1796 = cat(_T_1795, _T_1749[47]) @[Cat.scala 29:58] - node _T_1797 = cat(_T_1796, _T_1749[48]) @[Cat.scala 29:58] - node _T_1798 = cat(_T_1797, _T_1749[49]) @[Cat.scala 29:58] - node _T_1799 = cat(_T_1798, _T_1749[50]) @[Cat.scala 29:58] - node _T_1800 = cat(_T_1799, _T_1749[51]) @[Cat.scala 29:58] - node _T_1801 = cat(_T_1800, _T_1749[52]) @[Cat.scala 29:58] - node _T_1802 = cat(_T_1801, _T_1749[53]) @[Cat.scala 29:58] - node _T_1803 = cat(_T_1802, _T_1749[54]) @[Cat.scala 29:58] - node _T_1804 = cat(_T_1803, _T_1749[55]) @[Cat.scala 29:58] - node _T_1805 = cat(_T_1804, _T_1749[56]) @[Cat.scala 29:58] - node _T_1806 = cat(_T_1805, _T_1749[57]) @[Cat.scala 29:58] - node _T_1807 = cat(_T_1806, _T_1749[58]) @[Cat.scala 29:58] - node _T_1808 = cat(_T_1807, _T_1749[59]) @[Cat.scala 29:58] - node _T_1809 = cat(_T_1808, _T_1749[60]) @[Cat.scala 29:58] - node _T_1810 = cat(_T_1809, _T_1749[61]) @[Cat.scala 29:58] - node _T_1811 = cat(_T_1810, _T_1749[62]) @[Cat.scala 29:58] - node _T_1812 = cat(_T_1811, _T_1749[63]) @[Cat.scala 29:58] - node _T_1813 = cat(_T_1812, _T_1749[64]) @[Cat.scala 29:58] - node _T_1814 = cat(_T_1813, _T_1749[65]) @[Cat.scala 29:58] - node _T_1815 = cat(_T_1814, _T_1749[66]) @[Cat.scala 29:58] - node _T_1816 = cat(_T_1815, _T_1749[67]) @[Cat.scala 29:58] - node _T_1817 = cat(_T_1816, _T_1749[68]) @[Cat.scala 29:58] - node _T_1818 = cat(_T_1817, _T_1749[69]) @[Cat.scala 29:58] - node _T_1819 = cat(_T_1818, _T_1749[70]) @[Cat.scala 29:58] - node _T_1820 = cat(_T_1819, _T_1749[71]) @[Cat.scala 29:58] - node _T_1821 = cat(_T_1820, _T_1749[72]) @[Cat.scala 29:58] - node _T_1822 = cat(_T_1821, _T_1749[73]) @[Cat.scala 29:58] - node _T_1823 = cat(_T_1822, _T_1749[74]) @[Cat.scala 29:58] - node _T_1824 = cat(_T_1823, _T_1749[75]) @[Cat.scala 29:58] - node _T_1825 = cat(_T_1824, _T_1749[76]) @[Cat.scala 29:58] - node _T_1826 = cat(_T_1825, _T_1749[77]) @[Cat.scala 29:58] - node _T_1827 = cat(_T_1826, _T_1749[78]) @[Cat.scala 29:58] - node _T_1828 = cat(_T_1827, _T_1749[79]) @[Cat.scala 29:58] - node _T_1829 = cat(_T_1828, _T_1749[80]) @[Cat.scala 29:58] - node _T_1830 = cat(_T_1829, _T_1749[81]) @[Cat.scala 29:58] - node _T_1831 = cat(_T_1830, _T_1749[82]) @[Cat.scala 29:58] - node _T_1832 = cat(_T_1831, _T_1749[83]) @[Cat.scala 29:58] - node _T_1833 = cat(_T_1832, _T_1749[84]) @[Cat.scala 29:58] - node _T_1834 = cat(_T_1833, _T_1749[85]) @[Cat.scala 29:58] - node _T_1835 = cat(_T_1834, _T_1749[86]) @[Cat.scala 29:58] - node _T_1836 = cat(_T_1835, _T_1749[87]) @[Cat.scala 29:58] - node _T_1837 = cat(_T_1836, _T_1749[88]) @[Cat.scala 29:58] - node _T_1838 = cat(_T_1837, _T_1749[89]) @[Cat.scala 29:58] - node _T_1839 = cat(_T_1838, _T_1749[90]) @[Cat.scala 29:58] - node _T_1840 = cat(_T_1839, _T_1749[91]) @[Cat.scala 29:58] - node _T_1841 = cat(_T_1840, _T_1749[92]) @[Cat.scala 29:58] - node _T_1842 = cat(_T_1841, _T_1749[93]) @[Cat.scala 29:58] - node _T_1843 = cat(_T_1842, _T_1749[94]) @[Cat.scala 29:58] - node _T_1844 = cat(_T_1843, _T_1749[95]) @[Cat.scala 29:58] - node _T_1845 = cat(_T_1844, _T_1749[96]) @[Cat.scala 29:58] - node _T_1846 = cat(_T_1845, _T_1749[97]) @[Cat.scala 29:58] - node _T_1847 = cat(_T_1846, _T_1749[98]) @[Cat.scala 29:58] - node _T_1848 = cat(_T_1847, _T_1749[99]) @[Cat.scala 29:58] - node _T_1849 = cat(_T_1848, _T_1749[100]) @[Cat.scala 29:58] - node _T_1850 = cat(_T_1849, _T_1749[101]) @[Cat.scala 29:58] - node _T_1851 = cat(_T_1850, _T_1749[102]) @[Cat.scala 29:58] - node _T_1852 = cat(_T_1851, _T_1749[103]) @[Cat.scala 29:58] - node _T_1853 = cat(_T_1852, _T_1749[104]) @[Cat.scala 29:58] - node _T_1854 = cat(_T_1853, _T_1749[105]) @[Cat.scala 29:58] - node _T_1855 = cat(_T_1854, _T_1749[106]) @[Cat.scala 29:58] - node _T_1856 = cat(_T_1855, _T_1749[107]) @[Cat.scala 29:58] - node _T_1857 = cat(_T_1856, _T_1749[108]) @[Cat.scala 29:58] - node _T_1858 = cat(_T_1857, _T_1749[109]) @[Cat.scala 29:58] - node _T_1859 = cat(_T_1858, _T_1749[110]) @[Cat.scala 29:58] - node _T_1860 = cat(_T_1859, _T_1749[111]) @[Cat.scala 29:58] - node _T_1861 = cat(_T_1860, _T_1749[112]) @[Cat.scala 29:58] - node _T_1862 = cat(_T_1861, _T_1749[113]) @[Cat.scala 29:58] - node _T_1863 = cat(_T_1862, _T_1749[114]) @[Cat.scala 29:58] - node _T_1864 = cat(_T_1863, _T_1749[115]) @[Cat.scala 29:58] - node _T_1865 = cat(_T_1864, _T_1749[116]) @[Cat.scala 29:58] - node _T_1866 = cat(_T_1865, _T_1749[117]) @[Cat.scala 29:58] - node _T_1867 = cat(_T_1866, _T_1749[118]) @[Cat.scala 29:58] - node _T_1868 = cat(_T_1867, _T_1749[119]) @[Cat.scala 29:58] - node _T_1869 = cat(_T_1868, _T_1749[120]) @[Cat.scala 29:58] - node _T_1870 = cat(_T_1869, _T_1749[121]) @[Cat.scala 29:58] - node _T_1871 = cat(_T_1870, _T_1749[122]) @[Cat.scala 29:58] - node _T_1872 = cat(_T_1871, _T_1749[123]) @[Cat.scala 29:58] - node _T_1873 = cat(_T_1872, _T_1749[124]) @[Cat.scala 29:58] - node _T_1874 = cat(_T_1873, _T_1749[125]) @[Cat.scala 29:58] - node _T_1875 = cat(_T_1874, _T_1749[126]) @[Cat.scala 29:58] - node _T_1876 = cat(_T_1875, _T_1749[127]) @[Cat.scala 29:58] - node _T_1877 = cat(_T_1876, _T_1749[128]) @[Cat.scala 29:58] - node _T_1878 = cat(_T_1877, _T_1749[129]) @[Cat.scala 29:58] - node _T_1879 = cat(_T_1878, _T_1749[130]) @[Cat.scala 29:58] - node _T_1880 = cat(_T_1879, _T_1749[131]) @[Cat.scala 29:58] - node _T_1881 = cat(_T_1880, _T_1749[132]) @[Cat.scala 29:58] - node _T_1882 = cat(_T_1881, _T_1749[133]) @[Cat.scala 29:58] - node _T_1883 = cat(_T_1882, _T_1749[134]) @[Cat.scala 29:58] - node _T_1884 = cat(_T_1883, _T_1749[135]) @[Cat.scala 29:58] - node _T_1885 = cat(_T_1884, _T_1749[136]) @[Cat.scala 29:58] - node _T_1886 = cat(_T_1885, _T_1749[137]) @[Cat.scala 29:58] - node _T_1887 = cat(_T_1886, _T_1749[138]) @[Cat.scala 29:58] - node _T_1888 = cat(_T_1887, _T_1749[139]) @[Cat.scala 29:58] - node _T_1889 = cat(_T_1888, _T_1749[140]) @[Cat.scala 29:58] - node _T_1890 = cat(_T_1889, _T_1749[141]) @[Cat.scala 29:58] - node _T_1891 = and(_T_1890, wb_dout_way_pre_1) @[el2_lib.scala 190:94] - node wb_dout_ecc = or(_T_1748, _T_1891) @[el2_lib.scala 190:110] - io.test_port2 <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 273:17] - io.test_port[0][0] <= wb_dout[0][0] @[el2_ifu_ic_mem.scala 274:16] - io.test_port[0][1] <= wb_dout[0][1] @[el2_ifu_ic_mem.scala 274:16] - io.test_port[1][0] <= wb_dout[1][0] @[el2_ifu_ic_mem.scala 274:16] - io.test_port[1][1] <= wb_dout[1][1] @[el2_ifu_ic_mem.scala 274:16] + node ic_debug_wr_way_en = and(_T_7, io.ic_debug_way) @[el2_ifu_ic_mem.scala 199:94] + node _T_8 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 202:78] + node _T_9 = eq(_T_8, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 202:113] + node _T_10 = bits(_T_9, 0, 0) @[Bitwise.scala 72:15] + node _T_11 = mux(_T_10, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_12 = and(ic_debug_wr_way_en, _T_11) @[el2_ifu_ic_mem.scala 202:38] + node _T_13 = or(io.ic_wr_en, _T_12) @[el2_ifu_ic_mem.scala 202:17] + node _T_14 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 203:21] + node _T_15 = eq(_T_14, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 203:56] + node _T_16 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 202:78] + node _T_17 = eq(_T_16, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 202:113] + node _T_18 = bits(_T_17, 0, 0) @[Bitwise.scala 72:15] + node _T_19 = mux(_T_18, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_20 = and(ic_debug_wr_way_en, _T_19) @[el2_ifu_ic_mem.scala 202:38] + node _T_21 = or(io.ic_wr_en, _T_20) @[el2_ifu_ic_mem.scala 202:17] + node _T_22 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 203:21] + node _T_23 = eq(_T_22, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 203:56] + node _T_24 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 202:78] + node _T_25 = eq(_T_24, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 202:113] + node _T_26 = bits(_T_25, 0, 0) @[Bitwise.scala 72:15] + node _T_27 = mux(_T_26, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_28 = and(ic_debug_wr_way_en, _T_27) @[el2_ifu_ic_mem.scala 202:38] + node _T_29 = or(io.ic_wr_en, _T_28) @[el2_ifu_ic_mem.scala 202:17] + node _T_30 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 203:21] + node _T_31 = eq(_T_30, UInt<1>("h00")) @[el2_ifu_ic_mem.scala 203:56] + node _T_32 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 202:78] + node _T_33 = eq(_T_32, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 202:113] + node _T_34 = bits(_T_33, 0, 0) @[Bitwise.scala 72:15] + node _T_35 = mux(_T_34, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_36 = and(ic_debug_wr_way_en, _T_35) @[el2_ifu_ic_mem.scala 202:38] + node _T_37 = or(io.ic_wr_en, _T_36) @[el2_ifu_ic_mem.scala 202:17] + node _T_38 = bits(io.ic_debug_addr, 0, 0) @[el2_ifu_ic_mem.scala 203:21] + node _T_39 = eq(_T_38, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 203:56] diff --git a/EL2_IC_DATA.v b/EL2_IC_DATA.v index 5ede3ca2..f540b79e 100644 --- a/EL2_IC_DATA.v +++ b/EL2_IC_DATA.v @@ -1,9 +1,8 @@ module EL2_IC_DATA( input clock, input reset, - input io_rst_l, input io_clk_override, - input [12:0] io_ic_rw_addr, + input [11:0] io_ic_rw_addr, input [1:0] io_ic_wr_en, input io_ic_rd_en, input [70:0] io_ic_wr_data_0, @@ -13,7 +12,7 @@ module EL2_IC_DATA( output [70:0] io_ic_debug_rd_data, output [1:0] io_ic_parerr, output [1:0] io_ic_eccerr, - input [12:0] io_ic_debug_addr, + input [8:0] io_ic_debug_addr, input io_ic_debug_rd_en, input io_ic_debug_wr_en, input io_ic_debug_tag_array, @@ -21,663 +20,10 @@ module EL2_IC_DATA( input [63:0] io_ic_premux_data, input io_ic_sel_premux_data, input [1:0] io_ic_rd_hit, - input io_scan_mode, - output io_test_port2, - output [70:0] io_test_port_0_0, - output [70:0] io_test_port_0_1, - output [70:0] io_test_port_1_0, - output [70:0] io_test_port_1_1 + input io_scan_mode ); -`ifdef RANDOMIZE_MEM_INIT - reg [95:0] _RAND_0; - reg [95:0] _RAND_5; - reg [95:0] _RAND_10; - reg [95:0] _RAND_15; -`endif // RANDOMIZE_MEM_INIT -`ifdef RANDOMIZE_REG_INIT - reg [31:0] _RAND_1; - reg [31:0] _RAND_2; - reg [31:0] _RAND_3; - reg [31:0] _RAND_4; - reg [31:0] _RAND_6; - reg [31:0] _RAND_7; - reg [31:0] _RAND_8; - reg [31:0] _RAND_9; - reg [31:0] _RAND_11; - reg [31:0] _RAND_12; - reg [31:0] _RAND_13; - reg [31:0] _RAND_14; - 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 - reg [70:0] data_mem_0_0 [0:511]; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_137_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_137_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_144_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_144_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_151_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_151_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_158_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_158_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_130_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_130_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_130_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_135_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_135_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_135_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_142_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_142_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_142_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_149_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_149_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_149_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_0__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_0__T_156_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_156_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_0__T_156_en; // @[el2_ifu_ic_mem.scala 230:29] - reg [8:0] data_mem_0_0__T_137_addr_pipe_0; - reg [8:0] data_mem_0_0__T_144_addr_pipe_0; - reg [8:0] data_mem_0_0__T_151_addr_pipe_0; - reg [8:0] data_mem_0_0__T_158_addr_pipe_0; - reg [70:0] data_mem_0_1 [0:511]; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_137_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_137_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_144_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_144_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_151_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_151_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_158_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_158_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_130_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_130_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_130_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_135_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_135_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_135_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_142_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_142_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_142_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_149_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_149_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_149_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_0_1__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_0_1__T_156_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_156_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_0_1__T_156_en; // @[el2_ifu_ic_mem.scala 230:29] - reg [8:0] data_mem_0_1__T_137_addr_pipe_0; - reg [8:0] data_mem_0_1__T_144_addr_pipe_0; - reg [8:0] data_mem_0_1__T_151_addr_pipe_0; - reg [8:0] data_mem_0_1__T_158_addr_pipe_0; - reg [70:0] data_mem_1_0 [0:511]; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_137_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_137_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_144_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_144_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_151_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_151_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_158_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_158_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_130_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_130_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_130_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_135_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_135_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_135_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_142_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_142_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_142_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_149_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_149_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_149_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_0__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_0__T_156_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_156_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_0__T_156_en; // @[el2_ifu_ic_mem.scala 230:29] - reg [8:0] data_mem_1_0__T_137_addr_pipe_0; - reg [8:0] data_mem_1_0__T_144_addr_pipe_0; - reg [8:0] data_mem_1_0__T_151_addr_pipe_0; - reg [8:0] data_mem_1_0__T_158_addr_pipe_0; - reg [70:0] data_mem_1_1 [0:511]; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_137_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_137_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_144_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_144_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_151_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_151_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_158_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_158_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_130_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_130_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_130_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_135_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_135_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_135_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_142_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_142_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_142_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_149_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_149_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_149_en; // @[el2_ifu_ic_mem.scala 230:29] - wire [70:0] data_mem_1_1__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - wire [8:0] data_mem_1_1__T_156_addr; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_156_mask; // @[el2_ifu_ic_mem.scala 230:29] - wire data_mem_1_1__T_156_en; // @[el2_ifu_ic_mem.scala 230:29] - reg [8:0] data_mem_1_1__T_137_addr_pipe_0; - reg [8:0] data_mem_1_1__T_144_addr_pipe_0; - reg [8:0] data_mem_1_1__T_151_addr_pipe_0; - reg [8:0] data_mem_1_1__T_158_addr_pipe_0; - wire _T = ~io_ic_debug_tag_array; // @[el2_ifu_ic_mem.scala 195:70] - wire _T_1 = io_ic_debug_rd_en & _T; // @[el2_ifu_ic_mem.scala 195:68] - wire [1:0] _T_3 = {_T_1,_T_1}; // @[Cat.scala 29:58] - wire [1:0] ic_debug_rd_way_en = _T_3 & io_ic_debug_way; // @[el2_ifu_ic_mem.scala 195:94] - wire _T_5 = io_ic_debug_wr_en & _T; // @[el2_ifu_ic_mem.scala 196:68] - wire [1:0] _T_7 = {_T_5,_T_5}; // @[Cat.scala 29:58] - wire [1:0] ic_debug_wr_way_en = _T_7 & io_ic_debug_way; // @[el2_ifu_ic_mem.scala 196:94] - wire _T_9 = ~io_ic_debug_addr[3]; // @[el2_ifu_ic_mem.scala 198:107] - wire [1:0] _T_11 = {_T_9,_T_9}; // @[Cat.scala 29:58] - wire [1:0] _T_12 = ic_debug_wr_way_en & _T_11; // @[el2_ifu_ic_mem.scala 198:36] - wire [1:0] _T_13 = io_ic_wr_en | _T_12; // @[el2_ifu_ic_mem.scala 198:16] - wire [1:0] _T_17 = {io_ic_debug_addr[3],io_ic_debug_addr[3]}; // @[Cat.scala 29:58] - wire [1:0] _T_18 = ic_debug_wr_way_en & _T_17; // @[el2_ifu_ic_mem.scala 198:36] - wire [1:0] _T_19 = io_ic_wr_en | _T_18; // @[el2_ifu_ic_mem.scala 198:16] - wire _T_23 = _T_9 & io_ic_debug_wr_en; // @[el2_ifu_ic_mem.scala 200:66] - wire [70:0] _T_25 = _T_23 ? io_ic_debug_wr_data : io_ic_wr_data_0; // @[el2_ifu_ic_mem.scala 200:8] - wire _T_28 = io_ic_debug_addr[3] & io_ic_debug_wr_en; // @[el2_ifu_ic_mem.scala 200:66] - wire [70:0] _T_30 = _T_28 ? io_ic_debug_wr_data : io_ic_wr_data_1; // @[el2_ifu_ic_mem.scala 200:8] - wire _T_32 = io_ic_debug_rd_en | io_ic_debug_wr_en; // @[el2_ifu_ic_mem.scala 201:49] - wire [11:0] _T_35 = {io_ic_debug_addr[12:3],2'h0}; // @[Cat.scala 29:58] - wire [11:0] _T_37 = _T_32 ? _T_35 : io_ic_rw_addr[12:1]; // @[el2_ifu_ic_mem.scala 201:29] - wire [12:0] ic_rw_addr_q = {_T_37,1'h0}; // @[Cat.scala 29:58] - wire _T_38 = io_ic_rd_en | io_ic_debug_rd_en; // @[el2_ifu_ic_mem.scala 202:44] - wire _T_39 = |io_ic_wr_en; // @[el2_ifu_ic_mem.scala 202:82] - wire _T_40 = ~_T_39; // @[el2_ifu_ic_mem.scala 202:68] - wire ic_rd_en_with_debug = _T_38 & _T_40; // @[el2_ifu_ic_mem.scala 202:66] - wire _T_43 = ~ic_rw_addr_q[3]; // @[el2_ifu_ic_mem.scala 204:15] - wire _T_47 = ic_rw_addr_q[2:1] == 2'h3; // @[el2_ifu_ic_mem.scala 205:55] - wire _T_48 = ic_rw_addr_q[3] & _T_47; // @[el2_ifu_ic_mem.scala 205:36] - wire _T_58 = _T_43 & _T_47; // @[el2_ifu_ic_mem.scala 207:37] - wire _T_95 = ic_rw_addr_q[3] | _T_58; // @[Mux.scala 27:72] - wire ic_b_rden_0 = _T_95 & ic_rd_en_with_debug; // @[el2_ifu_ic_mem.scala 207:107] - wire [1:0] _T_99 = {ic_b_rden_0,ic_b_rden_0}; // @[Cat.scala 29:58] - wire [1:0] _GEN_24 = {{1'd0}, io_clk_override}; // @[el2_ifu_ic_mem.scala 210:62] - wire [1:0] _T_100 = _T_99 | _GEN_24; // @[el2_ifu_ic_mem.scala 210:62] - wire [1:0] _T_101 = _T_100 | _T_19; // @[el2_ifu_ic_mem.scala 210:80] - wire [1:0] _T_105 = _T_100 | _T_13; // @[el2_ifu_ic_mem.scala 212:82] - wire [1:0] _T_106 = _T_105 | _T_101; // @[el2_ifu_ic_mem.scala 212:101] - wire [8:0] ic_rw_addr_q_inc = ic_rw_addr_q[12:4] + 9'h1; // @[el2_ifu_ic_mem.scala 215:77] - wire _T_113 = _T_48 & ic_rd_en_with_debug; // @[el2_ifu_ic_mem.scala 216:82] - wire ic_rw_addr_wrap = _T_113 & _T_40; // @[el2_ifu_ic_mem.scala 216:104] - reg [12:0] ic_rw_addr_ff; // @[el2_ifu_ic_mem.scala 219:30] - reg [1:0] ic_debug_rd_way_en_ff; // @[el2_ifu_ic_mem.scala 221:38] - reg ic_debug_rd_en_ff; // @[el2_ifu_ic_mem.scala 222:34] - wire _T_122 = ~ic_rw_addr_wrap; // @[el2_ifu_ic_mem.scala 226:31] - wire [8:0] _T_126 = {ic_rw_addr_q[12:6],ic_rw_addr_q_inc[5:4]}; // @[Cat.scala 29:58] - wire [8:0] _T_127 = _T_122 ? ic_rw_addr_q[12:4] : _T_126; // @[el2_ifu_ic_mem.scala 226:30] - wire [12:0] ic_rw_addr_bank_q_0 = {{4'd0}, _T_127}; // @[el2_ifu_ic_mem.scala 225:31 el2_ifu_ic_mem.scala 226:24] - wire [12:0] ic_rw_addr_bank_q_1 = {{4'd0}, ic_rw_addr_q[12:4]}; // @[el2_ifu_ic_mem.scala 225:31 el2_ifu_ic_mem.scala 227:24] - wire _T_160 = ~ic_rw_addr_ff[3]; // @[el2_ifu_ic_mem.scala 244:71] - wire [9:0] _T_170 = {_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [18:0] _T_179 = {_T_170,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [27:0] _T_188 = {_T_179,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [36:0] _T_197 = {_T_188,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [45:0] _T_206 = {_T_197,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [54:0] _T_215 = {_T_206,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [63:0] _T_224 = {_T_215,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [70:0] _T_231 = {_T_224,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160,_T_160}; // @[Cat.scala 29:58] - wire [70:0] wb_dout_0_0 = data_mem_0_0__T_137_data; // @[el2_ifu_ic_mem.scala 232:21 el2_ifu_ic_mem.scala 235:19 el2_ifu_ic_mem.scala 239:19] - wire [70:0] _T_232 = _T_231 & wb_dout_0_0; // @[el2_ifu_ic_mem.scala 244:78] - wire [9:0] _T_244 = {ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [18:0] _T_253 = {_T_244,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [27:0] _T_262 = {_T_253,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [36:0] _T_271 = {_T_262,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [45:0] _T_280 = {_T_271,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [54:0] _T_289 = {_T_280,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [63:0] _T_298 = {_T_289,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [70:0] _T_305 = {_T_298,ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3],ic_rw_addr_ff[3]}; // @[Cat.scala 29:58] - wire [70:0] wb_dout_0_1 = data_mem_0_1__T_144_data; // @[el2_ifu_ic_mem.scala 232:21 el2_ifu_ic_mem.scala 235:19 el2_ifu_ic_mem.scala 239:19] - wire [70:0] _T_306 = _T_305 & wb_dout_0_1; // @[el2_ifu_ic_mem.scala 244:78] - wire [70:0] wb_dout_way_pre_lower_0 = _T_232 | _T_306; // @[el2_ifu_ic_mem.scala 244:102] - wire [70:0] wb_dout_1_0 = data_mem_1_0__T_151_data; // @[el2_ifu_ic_mem.scala 232:21 el2_ifu_ic_mem.scala 235:19 el2_ifu_ic_mem.scala 239:19] - wire [70:0] _T_380 = _T_231 & wb_dout_1_0; // @[el2_ifu_ic_mem.scala 244:78] - wire [70:0] wb_dout_1_1 = data_mem_1_1__T_158_data; // @[el2_ifu_ic_mem.scala 232:21 el2_ifu_ic_mem.scala 235:19 el2_ifu_ic_mem.scala 239:19] - wire [70:0] _T_454 = _T_305 & wb_dout_1_1; // @[el2_ifu_ic_mem.scala 244:78] - wire [70:0] wb_dout_way_pre_lower_1 = _T_380 | _T_454; // @[el2_ifu_ic_mem.scala 244:102] - wire _T_457 = 1'h0 - 1'h1; // @[el2_ifu_ic_mem.scala 248:77] - wire _T_458 = ic_rw_addr_ff[3] == _T_457; // @[el2_ifu_ic_mem.scala 248:71] - wire [9:0] _T_468 = {_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [18:0] _T_477 = {_T_468,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [27:0] _T_486 = {_T_477,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [36:0] _T_495 = {_T_486,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [45:0] _T_504 = {_T_495,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [54:0] _T_513 = {_T_504,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [63:0] _T_522 = {_T_513,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [70:0] _T_529 = {_T_522,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458,_T_458}; // @[Cat.scala 29:58] - wire [70:0] _T_530 = _T_529 & wb_dout_0_0; // @[el2_ifu_ic_mem.scala 248:82] - wire [70:0] _T_606 = _T_231 & wb_dout_0_1; // @[el2_ifu_ic_mem.scala 248:82] - wire [70:0] wb_dout_way_pre_upper_0 = _T_530 | _T_606; // @[el2_ifu_ic_mem.scala 248:106] - wire [70:0] _T_682 = _T_529 & wb_dout_1_0; // @[el2_ifu_ic_mem.scala 248:82] - wire [70:0] _T_758 = _T_231 & wb_dout_1_1; // @[el2_ifu_ic_mem.scala 248:82] - wire [70:0] wb_dout_way_pre_upper_1 = _T_682 | _T_758; // @[el2_ifu_ic_mem.scala 248:106] - wire [141:0] wb_dout_way_pre_0 = {wb_dout_way_pre_upper_0,wb_dout_way_pre_lower_0}; // @[Cat.scala 29:58] - wire [141:0] wb_dout_way_pre_1 = {wb_dout_way_pre_upper_1,wb_dout_way_pre_lower_1}; // @[Cat.scala 29:58] - wire _T_760 = ic_rw_addr_ff[2:1] == 2'h0; // @[el2_ifu_ic_mem.scala 254:36] - wire [9:0] _T_770 = {_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [18:0] _T_779 = {_T_770,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [27:0] _T_788 = {_T_779,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [36:0] _T_797 = {_T_788,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [45:0] _T_806 = {_T_797,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [54:0] _T_815 = {_T_806,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [63:0] _T_824 = {_T_815,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760,_T_760}; // @[Cat.scala 29:58] - wire [63:0] _T_826 = _T_824 & wb_dout_way_pre_0[63:0]; // @[el2_ifu_ic_mem.scala 254:44] - wire _T_828 = ic_rw_addr_ff[2:1] == 2'h1; // @[el2_ifu_ic_mem.scala 255:36] - wire [9:0] _T_838 = {_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [18:0] _T_847 = {_T_838,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [27:0] _T_856 = {_T_847,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [36:0] _T_865 = {_T_856,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [45:0] _T_874 = {_T_865,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [54:0] _T_883 = {_T_874,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [63:0] _T_892 = {_T_883,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828,_T_828}; // @[Cat.scala 29:58] - wire [63:0] _T_895 = {wb_dout_way_pre_0[86:71],wb_dout_way_pre_0[63:16]}; // @[Cat.scala 29:58] - wire [63:0] _T_896 = _T_892 & _T_895; // @[el2_ifu_ic_mem.scala 255:44] - wire [63:0] _T_897 = _T_826 | _T_896; // @[el2_ifu_ic_mem.scala 254:71] - wire _T_899 = ic_rw_addr_ff[2:1] == 2'h2; // @[el2_ifu_ic_mem.scala 256:36] - wire [9:0] _T_909 = {_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [18:0] _T_918 = {_T_909,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [27:0] _T_927 = {_T_918,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [36:0] _T_936 = {_T_927,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [45:0] _T_945 = {_T_936,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [54:0] _T_954 = {_T_945,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [63:0] _T_963 = {_T_954,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899,_T_899}; // @[Cat.scala 29:58] - wire [63:0] _T_966 = {wb_dout_way_pre_0[102:71],wb_dout_way_pre_0[63:32]}; // @[Cat.scala 29:58] - wire [63:0] _T_967 = _T_963 & _T_966; // @[el2_ifu_ic_mem.scala 256:44] - wire [63:0] _T_968 = _T_897 | _T_967; // @[el2_ifu_ic_mem.scala 255:122] - wire _T_970 = ic_rw_addr_ff[2:1] == 2'h3; // @[el2_ifu_ic_mem.scala 257:36] - wire [9:0] _T_980 = {_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [18:0] _T_989 = {_T_980,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [27:0] _T_998 = {_T_989,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [36:0] _T_1007 = {_T_998,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [45:0] _T_1016 = {_T_1007,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [54:0] _T_1025 = {_T_1016,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [63:0] _T_1034 = {_T_1025,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970,_T_970}; // @[Cat.scala 29:58] - wire [63:0] _T_1037 = {wb_dout_way_pre_0[118:71],wb_dout_way_pre_0[63:48]}; // @[Cat.scala 29:58] - wire [63:0] _T_1038 = _T_1034 & _T_1037; // @[el2_ifu_ic_mem.scala 257:44] - wire [63:0] wb_dout_way_0 = _T_968 | _T_1038; // @[el2_ifu_ic_mem.scala 256:122] - wire [63:0] _T_1106 = _T_824 & wb_dout_way_pre_1[63:0]; // @[el2_ifu_ic_mem.scala 254:44] - wire [63:0] _T_1175 = {wb_dout_way_pre_1[86:71],wb_dout_way_pre_1[63:16]}; // @[Cat.scala 29:58] - wire [63:0] _T_1176 = _T_892 & _T_1175; // @[el2_ifu_ic_mem.scala 255:44] - wire [63:0] _T_1177 = _T_1106 | _T_1176; // @[el2_ifu_ic_mem.scala 254:71] - wire [63:0] _T_1246 = {wb_dout_way_pre_1[102:71],wb_dout_way_pre_1[63:32]}; // @[Cat.scala 29:58] - wire [63:0] _T_1247 = _T_963 & _T_1246; // @[el2_ifu_ic_mem.scala 256:44] - wire [63:0] _T_1248 = _T_1177 | _T_1247; // @[el2_ifu_ic_mem.scala 255:122] - wire [63:0] _T_1317 = {wb_dout_way_pre_1[118:71],wb_dout_way_pre_1[63:48]}; // @[Cat.scala 29:58] - wire [63:0] _T_1318 = _T_1034 & _T_1317; // @[el2_ifu_ic_mem.scala 257:44] - wire [63:0] wb_dout_way_1 = _T_1248 | _T_1318; // @[el2_ifu_ic_mem.scala 256:122] - wire [1:0] ic_rd_hit_q = ic_debug_rd_en_ff ? ic_debug_rd_way_en_ff : io_ic_rd_hit; // @[el2_ifu_ic_mem.scala 260:24] - wire [63:0] wb_dout_way_with_premux_0 = io_ic_sel_premux_data ? io_ic_premux_data : wb_dout_way_0; // @[el2_ifu_ic_mem.scala 261:52] - wire [63:0] wb_dout_way_with_premux_1 = io_ic_sel_premux_data ? io_ic_premux_data : wb_dout_way_1; // @[el2_ifu_ic_mem.scala 261:52] - wire _T_1321 = ic_rd_hit_q[0] | io_ic_sel_premux_data; // @[el2_ifu_ic_mem.scala 267:79] - wire _T_1323 = ic_rd_hit_q[1] | io_ic_sel_premux_data; // @[el2_ifu_ic_mem.scala 267:79] - wire [9:0] _T_1333 = {_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [18:0] _T_1342 = {_T_1333,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [27:0] _T_1351 = {_T_1342,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [36:0] _T_1360 = {_T_1351,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [45:0] _T_1369 = {_T_1360,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [54:0] _T_1378 = {_T_1369,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [63:0] _T_1387 = {_T_1378,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321,_T_1321}; // @[Cat.scala 29:58] - wire [63:0] _T_1388 = _T_1387 & wb_dout_way_with_premux_0; // @[el2_lib.scala 190:94] - wire [9:0] _T_1398 = {_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [18:0] _T_1407 = {_T_1398,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [27:0] _T_1416 = {_T_1407,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [36:0] _T_1425 = {_T_1416,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [45:0] _T_1434 = {_T_1425,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [54:0] _T_1443 = {_T_1434,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [63:0] _T_1452 = {_T_1443,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323,_T_1323}; // @[Cat.scala 29:58] - wire [63:0] _T_1453 = _T_1452 & wb_dout_way_with_premux_1; // @[el2_lib.scala 190:94] - wire [9:0] _T_1468 = {ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [18:0] _T_1477 = {_T_1468,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [27:0] _T_1486 = {_T_1477,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [36:0] _T_1495 = {_T_1486,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [45:0] _T_1504 = {_T_1495,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [54:0] _T_1513 = {_T_1504,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [63:0] _T_1522 = {_T_1513,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [70:0] _T_1529 = {_T_1522,ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0],ic_rd_hit_q[0]}; // @[Cat.scala 29:58] - wire [70:0] _T_1530 = _T_1529 & wb_dout_way_pre_0[70:0]; // @[el2_lib.scala 190:94] - wire [9:0] _T_1540 = {ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [18:0] _T_1549 = {_T_1540,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [27:0] _T_1558 = {_T_1549,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [36:0] _T_1567 = {_T_1558,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [45:0] _T_1576 = {_T_1567,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [54:0] _T_1585 = {_T_1576,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [63:0] _T_1594 = {_T_1585,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [70:0] _T_1601 = {_T_1594,ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1],ic_rd_hit_q[1]}; // @[Cat.scala 29:58] - wire [70:0] _T_1602 = _T_1601 & wb_dout_way_pre_1[70:0]; // @[el2_lib.scala 190:94] - assign data_mem_0_0__T_137_addr = data_mem_0_0__T_137_addr_pipe_0; - assign data_mem_0_0__T_137_data = data_mem_0_0[data_mem_0_0__T_137_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_0__T_144_addr = data_mem_0_0__T_144_addr_pipe_0; - assign data_mem_0_0__T_144_data = data_mem_0_0[data_mem_0_0__T_144_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_0__T_151_addr = data_mem_0_0__T_151_addr_pipe_0; - assign data_mem_0_0__T_151_data = data_mem_0_0[data_mem_0_0__T_151_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_0__T_158_addr = data_mem_0_0__T_158_addr_pipe_0; - assign data_mem_0_0__T_158_data = data_mem_0_0[data_mem_0_0__T_158_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_0__T_130_data = _T_28 ? io_ic_debug_wr_data : io_ic_wr_data_1; - assign data_mem_0_0__T_130_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_0_0__T_130_mask = 1'h1; - assign data_mem_0_0__T_130_en = 1'h1; - assign data_mem_0_0__T_135_data = _T_28 ? io_ic_debug_wr_data : io_ic_wr_data_1; - assign data_mem_0_0__T_135_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_0_0__T_135_mask = 1'h1; - assign data_mem_0_0__T_135_en = _T_30[0] & _T_101[0]; - assign data_mem_0_0__T_142_data = 71'h0; - assign data_mem_0_0__T_142_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_0_0__T_142_mask = 1'h0; - assign data_mem_0_0__T_142_en = _T_30[1] & _T_101[1]; - assign data_mem_0_0__T_149_data = 71'h0; - assign data_mem_0_0__T_149_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_0_0__T_149_mask = 1'h0; - assign data_mem_0_0__T_149_en = _T_25[0] & _T_106[0]; - assign data_mem_0_0__T_156_data = 71'h0; - assign data_mem_0_0__T_156_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_0_0__T_156_mask = 1'h0; - assign data_mem_0_0__T_156_en = _T_25[1] & _T_106[1]; - assign data_mem_0_1__T_137_addr = data_mem_0_1__T_137_addr_pipe_0; - assign data_mem_0_1__T_137_data = data_mem_0_1[data_mem_0_1__T_137_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_1__T_144_addr = data_mem_0_1__T_144_addr_pipe_0; - assign data_mem_0_1__T_144_data = data_mem_0_1[data_mem_0_1__T_144_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_1__T_151_addr = data_mem_0_1__T_151_addr_pipe_0; - assign data_mem_0_1__T_151_data = data_mem_0_1[data_mem_0_1__T_151_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_1__T_158_addr = data_mem_0_1__T_158_addr_pipe_0; - assign data_mem_0_1__T_158_data = data_mem_0_1[data_mem_0_1__T_158_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_0_1__T_130_data = 71'h0; - assign data_mem_0_1__T_130_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_0_1__T_130_mask = 1'h0; - assign data_mem_0_1__T_130_en = 1'h1; - assign data_mem_0_1__T_135_data = 71'h0; - assign data_mem_0_1__T_135_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_0_1__T_135_mask = 1'h0; - assign data_mem_0_1__T_135_en = _T_30[0] & _T_101[0]; - assign data_mem_0_1__T_142_data = 71'h0; - assign data_mem_0_1__T_142_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_0_1__T_142_mask = 1'h0; - assign data_mem_0_1__T_142_en = _T_30[1] & _T_101[1]; - assign data_mem_0_1__T_149_data = _T_28 ? io_ic_debug_wr_data : io_ic_wr_data_1; - assign data_mem_0_1__T_149_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_0_1__T_149_mask = 1'h1; - assign data_mem_0_1__T_149_en = _T_25[0] & _T_106[0]; - assign data_mem_0_1__T_156_data = 71'h0; - assign data_mem_0_1__T_156_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_0_1__T_156_mask = 1'h0; - assign data_mem_0_1__T_156_en = _T_25[1] & _T_106[1]; - assign data_mem_1_0__T_137_addr = data_mem_1_0__T_137_addr_pipe_0; - assign data_mem_1_0__T_137_data = data_mem_1_0[data_mem_1_0__T_137_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_0__T_144_addr = data_mem_1_0__T_144_addr_pipe_0; - assign data_mem_1_0__T_144_data = data_mem_1_0[data_mem_1_0__T_144_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_0__T_151_addr = data_mem_1_0__T_151_addr_pipe_0; - assign data_mem_1_0__T_151_data = data_mem_1_0[data_mem_1_0__T_151_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_0__T_158_addr = data_mem_1_0__T_158_addr_pipe_0; - assign data_mem_1_0__T_158_data = data_mem_1_0[data_mem_1_0__T_158_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_0__T_130_data = 71'h0; - assign data_mem_1_0__T_130_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_1_0__T_130_mask = 1'h0; - assign data_mem_1_0__T_130_en = 1'h1; - assign data_mem_1_0__T_135_data = 71'h0; - assign data_mem_1_0__T_135_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_1_0__T_135_mask = 1'h0; - assign data_mem_1_0__T_135_en = _T_30[0] & _T_101[0]; - assign data_mem_1_0__T_142_data = _T_23 ? io_ic_debug_wr_data : io_ic_wr_data_0; - assign data_mem_1_0__T_142_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_1_0__T_142_mask = 1'h1; - assign data_mem_1_0__T_142_en = _T_30[1] & _T_101[1]; - assign data_mem_1_0__T_149_data = 71'h0; - assign data_mem_1_0__T_149_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_1_0__T_149_mask = 1'h0; - assign data_mem_1_0__T_149_en = _T_25[0] & _T_106[0]; - assign data_mem_1_0__T_156_data = 71'h0; - assign data_mem_1_0__T_156_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_1_0__T_156_mask = 1'h0; - assign data_mem_1_0__T_156_en = _T_25[1] & _T_106[1]; - assign data_mem_1_1__T_137_addr = data_mem_1_1__T_137_addr_pipe_0; - assign data_mem_1_1__T_137_data = data_mem_1_1[data_mem_1_1__T_137_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_1__T_144_addr = data_mem_1_1__T_144_addr_pipe_0; - assign data_mem_1_1__T_144_data = data_mem_1_1[data_mem_1_1__T_144_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_1__T_151_addr = data_mem_1_1__T_151_addr_pipe_0; - assign data_mem_1_1__T_151_data = data_mem_1_1[data_mem_1_1__T_151_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_1__T_158_addr = data_mem_1_1__T_158_addr_pipe_0; - assign data_mem_1_1__T_158_data = data_mem_1_1[data_mem_1_1__T_158_addr]; // @[el2_ifu_ic_mem.scala 230:29] - assign data_mem_1_1__T_130_data = 71'h0; - assign data_mem_1_1__T_130_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_1_1__T_130_mask = 1'h0; - assign data_mem_1_1__T_130_en = 1'h1; - assign data_mem_1_1__T_135_data = 71'h0; - assign data_mem_1_1__T_135_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_1_1__T_135_mask = 1'h0; - assign data_mem_1_1__T_135_en = _T_30[0] & _T_101[0]; - assign data_mem_1_1__T_142_data = 71'h0; - assign data_mem_1_1__T_142_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_1_1__T_142_mask = 1'h0; - assign data_mem_1_1__T_142_en = _T_30[1] & _T_101[1]; - assign data_mem_1_1__T_149_data = 71'h0; - assign data_mem_1_1__T_149_addr = ic_rw_addr_bank_q_0[12:4]; - assign data_mem_1_1__T_149_mask = 1'h0; - assign data_mem_1_1__T_149_en = _T_25[0] & _T_106[0]; - assign data_mem_1_1__T_156_data = _T_23 ? io_ic_debug_wr_data : io_ic_wr_data_0; - assign data_mem_1_1__T_156_addr = ic_rw_addr_bank_q_1[12:4]; - assign data_mem_1_1__T_156_mask = 1'h1; - assign data_mem_1_1__T_156_en = _T_25[1] & _T_106[1]; - assign io_ic_rd_data = _T_1388 | _T_1453; // @[el2_ifu_ic_mem.scala 267:17] - assign io_ic_debug_rd_data = _T_1530 | _T_1602; // @[el2_ifu_ic_mem.scala 263:23 el2_ifu_ic_mem.scala 269:23] - assign io_ic_parerr = 2'h0; // @[el2_ifu_ic_mem.scala 264:16] - assign io_ic_eccerr = 2'h0; // @[el2_ifu_ic_mem.scala 265:16] - assign io_test_port2 = 1'h0; // @[el2_ifu_ic_mem.scala 273:17] - assign io_test_port_0_0 = data_mem_0_0__T_137_data; // @[el2_ifu_ic_mem.scala 274:16] - assign io_test_port_0_1 = data_mem_0_1__T_144_data; // @[el2_ifu_ic_mem.scala 274:16] - assign io_test_port_1_0 = data_mem_1_0__T_151_data; // @[el2_ifu_ic_mem.scala 274:16] - assign io_test_port_1_1 = data_mem_1_1__T_158_data; // @[el2_ifu_ic_mem.scala 274:16] -`ifdef RANDOMIZE_GARBAGE_ASSIGN -`define RANDOMIZE -`endif -`ifdef RANDOMIZE_INVALID_ASSIGN -`define RANDOMIZE -`endif -`ifdef RANDOMIZE_REG_INIT -`define RANDOMIZE -`endif -`ifdef RANDOMIZE_MEM_INIT -`define RANDOMIZE -`endif -`ifndef RANDOM -`define RANDOM $random -`endif -`ifdef RANDOMIZE_MEM_INIT - integer initvar; -`endif -`ifndef SYNTHESIS -`ifdef FIRRTL_BEFORE_INITIAL -`FIRRTL_BEFORE_INITIAL -`endif -initial begin - `ifdef RANDOMIZE - `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 = {3{`RANDOM}}; - for (initvar = 0; initvar < 512; initvar = initvar+1) - data_mem_0_0[initvar] = _RAND_0[70:0]; - _RAND_5 = {3{`RANDOM}}; - for (initvar = 0; initvar < 512; initvar = initvar+1) - data_mem_0_1[initvar] = _RAND_5[70:0]; - _RAND_10 = {3{`RANDOM}}; - for (initvar = 0; initvar < 512; initvar = initvar+1) - data_mem_1_0[initvar] = _RAND_10[70:0]; - _RAND_15 = {3{`RANDOM}}; - for (initvar = 0; initvar < 512; initvar = initvar+1) - data_mem_1_1[initvar] = _RAND_15[70:0]; -`endif // RANDOMIZE_MEM_INIT -`ifdef RANDOMIZE_REG_INIT - _RAND_1 = {1{`RANDOM}}; - data_mem_0_0__T_137_addr_pipe_0 = _RAND_1[8:0]; - _RAND_2 = {1{`RANDOM}}; - data_mem_0_0__T_144_addr_pipe_0 = _RAND_2[8:0]; - _RAND_3 = {1{`RANDOM}}; - data_mem_0_0__T_151_addr_pipe_0 = _RAND_3[8:0]; - _RAND_4 = {1{`RANDOM}}; - data_mem_0_0__T_158_addr_pipe_0 = _RAND_4[8:0]; - _RAND_6 = {1{`RANDOM}}; - data_mem_0_1__T_137_addr_pipe_0 = _RAND_6[8:0]; - _RAND_7 = {1{`RANDOM}}; - data_mem_0_1__T_144_addr_pipe_0 = _RAND_7[8:0]; - _RAND_8 = {1{`RANDOM}}; - data_mem_0_1__T_151_addr_pipe_0 = _RAND_8[8:0]; - _RAND_9 = {1{`RANDOM}}; - data_mem_0_1__T_158_addr_pipe_0 = _RAND_9[8:0]; - _RAND_11 = {1{`RANDOM}}; - data_mem_1_0__T_137_addr_pipe_0 = _RAND_11[8:0]; - _RAND_12 = {1{`RANDOM}}; - data_mem_1_0__T_144_addr_pipe_0 = _RAND_12[8:0]; - _RAND_13 = {1{`RANDOM}}; - data_mem_1_0__T_151_addr_pipe_0 = _RAND_13[8:0]; - _RAND_14 = {1{`RANDOM}}; - data_mem_1_0__T_158_addr_pipe_0 = _RAND_14[8:0]; - _RAND_16 = {1{`RANDOM}}; - data_mem_1_1__T_137_addr_pipe_0 = _RAND_16[8:0]; - _RAND_17 = {1{`RANDOM}}; - data_mem_1_1__T_144_addr_pipe_0 = _RAND_17[8:0]; - _RAND_18 = {1{`RANDOM}}; - data_mem_1_1__T_151_addr_pipe_0 = _RAND_18[8:0]; - _RAND_19 = {1{`RANDOM}}; - data_mem_1_1__T_158_addr_pipe_0 = _RAND_19[8:0]; - _RAND_20 = {1{`RANDOM}}; - ic_rw_addr_ff = _RAND_20[12:0]; - _RAND_21 = {1{`RANDOM}}; - ic_debug_rd_way_en_ff = _RAND_21[1:0]; - _RAND_22 = {1{`RANDOM}}; - ic_debug_rd_en_ff = _RAND_22[0:0]; -`endif // RANDOMIZE_REG_INIT - `endif // RANDOMIZE -end // initial -`ifdef FIRRTL_AFTER_INITIAL -`FIRRTL_AFTER_INITIAL -`endif -`endif // SYNTHESIS - always @(posedge clock) begin - if(data_mem_0_0__T_130_en & data_mem_0_0__T_130_mask) begin - data_mem_0_0[data_mem_0_0__T_130_addr] <= data_mem_0_0__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_0__T_135_en & data_mem_0_0__T_135_mask) begin - data_mem_0_0[data_mem_0_0__T_135_addr] <= data_mem_0_0__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_0__T_142_en & data_mem_0_0__T_142_mask) begin - data_mem_0_0[data_mem_0_0__T_142_addr] <= data_mem_0_0__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_0__T_149_en & data_mem_0_0__T_149_mask) begin - data_mem_0_0[data_mem_0_0__T_149_addr] <= data_mem_0_0__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_0__T_156_en & data_mem_0_0__T_156_mask) begin - data_mem_0_0[data_mem_0_0__T_156_addr] <= data_mem_0_0__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - end - data_mem_0_0__T_137_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_0_0__T_144_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - data_mem_0_0__T_151_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_0_0__T_158_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - if(data_mem_0_1__T_130_en & data_mem_0_1__T_130_mask) begin - data_mem_0_1[data_mem_0_1__T_130_addr] <= data_mem_0_1__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_1__T_135_en & data_mem_0_1__T_135_mask) begin - data_mem_0_1[data_mem_0_1__T_135_addr] <= data_mem_0_1__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_1__T_142_en & data_mem_0_1__T_142_mask) begin - data_mem_0_1[data_mem_0_1__T_142_addr] <= data_mem_0_1__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_1__T_149_en & data_mem_0_1__T_149_mask) begin - data_mem_0_1[data_mem_0_1__T_149_addr] <= data_mem_0_1__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_0_1__T_156_en & data_mem_0_1__T_156_mask) begin - data_mem_0_1[data_mem_0_1__T_156_addr] <= data_mem_0_1__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - end - data_mem_0_1__T_137_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_0_1__T_144_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - data_mem_0_1__T_151_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_0_1__T_158_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - if(data_mem_1_0__T_130_en & data_mem_1_0__T_130_mask) begin - data_mem_1_0[data_mem_1_0__T_130_addr] <= data_mem_1_0__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_0__T_135_en & data_mem_1_0__T_135_mask) begin - data_mem_1_0[data_mem_1_0__T_135_addr] <= data_mem_1_0__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_0__T_142_en & data_mem_1_0__T_142_mask) begin - data_mem_1_0[data_mem_1_0__T_142_addr] <= data_mem_1_0__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_0__T_149_en & data_mem_1_0__T_149_mask) begin - data_mem_1_0[data_mem_1_0__T_149_addr] <= data_mem_1_0__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_0__T_156_en & data_mem_1_0__T_156_mask) begin - data_mem_1_0[data_mem_1_0__T_156_addr] <= data_mem_1_0__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - end - data_mem_1_0__T_137_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_1_0__T_144_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - data_mem_1_0__T_151_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_1_0__T_158_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - if(data_mem_1_1__T_130_en & data_mem_1_1__T_130_mask) begin - data_mem_1_1[data_mem_1_1__T_130_addr] <= data_mem_1_1__T_130_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_1__T_135_en & data_mem_1_1__T_135_mask) begin - data_mem_1_1[data_mem_1_1__T_135_addr] <= data_mem_1_1__T_135_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_1__T_142_en & data_mem_1_1__T_142_mask) begin - data_mem_1_1[data_mem_1_1__T_142_addr] <= data_mem_1_1__T_142_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_1__T_149_en & data_mem_1_1__T_149_mask) begin - data_mem_1_1[data_mem_1_1__T_149_addr] <= data_mem_1_1__T_149_data; // @[el2_ifu_ic_mem.scala 230:29] - end - if(data_mem_1_1__T_156_en & data_mem_1_1__T_156_mask) begin - data_mem_1_1[data_mem_1_1__T_156_addr] <= data_mem_1_1__T_156_data; // @[el2_ifu_ic_mem.scala 230:29] - end - data_mem_1_1__T_137_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_1_1__T_144_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - data_mem_1_1__T_151_addr_pipe_0 <= ic_rw_addr_bank_q_0[12:4]; - data_mem_1_1__T_158_addr_pipe_0 <= ic_rw_addr_bank_q_1[12:4]; - if (reset) begin - ic_rw_addr_ff <= 13'h0; - end else begin - ic_rw_addr_ff <= ic_rw_addr_q; - end - if (reset) begin - ic_debug_rd_way_en_ff <= 2'h0; - end else begin - ic_debug_rd_way_en_ff <= ic_debug_rd_way_en; - end - if (reset) begin - ic_debug_rd_en_ff <= 1'h0; - end else begin - ic_debug_rd_en_ff <= io_ic_debug_rd_en; - end - end + assign io_ic_rd_data = 64'h0; // @[el2_ifu_ic_mem.scala 194:17] + assign io_ic_debug_rd_data = 71'h0; // @[el2_ifu_ic_mem.scala 195:23] + assign io_ic_parerr = 2'h0; // @[el2_ifu_ic_mem.scala 196:16] + assign io_ic_eccerr = 2'h0; // @[el2_ifu_ic_mem.scala 197:16] endmodule diff --git a/el2_ifu_ifc_ctrl.anno.json b/el2_ifu_ifc_ctrl.anno.json index f4ace2d6..30524272 100644 --- a/el2_ifu_ifc_ctrl.anno.json +++ b/el2_ifu_ifc_ctrl.anno.json @@ -21,15 +21,6 @@ "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_req_f" ] }, - { - "class":"firrtl.transforms.CombinationalPath", - "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_miss_f", - "sources":[ - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_req_f", - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_exu_flush_final", - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ic_hit_f" - ] - }, { "class":"firrtl.transforms.CombinationalPath", "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifu_pmu_fetch_stall", @@ -85,9 +76,8 @@ }, { "class":"firrtl.transforms.CombinationalPath", - "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_uncacheable_bf", + "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_region_acc_fault_bf", "sources":[ - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_dec_tlu_mrac_ff", "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_addr_bf", "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifu_bp_btb_target_f", "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_exu_flush_path_final", @@ -100,13 +90,17 @@ }, { "class":"firrtl.transforms.CombinationalPath", - "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_mb_empty_mod", + "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_uncacheable_bf", "sources":[ - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifu_ic_mb_empty", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_dec_tlu_mrac_ff", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_addr_bf", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifu_bp_btb_target_f", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_exu_flush_path_final", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_addr_f", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ic_hit_f", "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_exu_flush_final", - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ic_dma_active", - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_req_f", - "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ic_hit_f" + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifu_bp_hit_taken_f", + "~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifc_fetch_req_f" ] }, { diff --git a/el2_ifu_ifc_ctrl.fir b/el2_ifu_ifc_ctrl.fir index 40a65256..c7d352a3 100644 --- a/el2_ifu_ifc_ctrl.fir +++ b/el2_ifu_ifc_ctrl.fir @@ -3,10 +3,8 @@ circuit el2_ifu_ifc_ctrl : module el2_ifu_ifc_ctrl : input clock : Clock input reset : UInt<1> - output io : {flip free_clk : UInt<1>, flip active_clk : UInt<1>, flip rst_l : UInt<1>, flip scan_mode : UInt<1>, flip ic_hit_f : UInt<1>, flip ifu_ic_mb_empty : UInt<1>, flip ifu_fb_consume1 : UInt<1>, flip ifu_fb_consume2 : UInt<1>, flip dec_tlu_flush_noredir_wb : UInt<1>, flip exu_flush_final : UInt<1>, flip exu_flush_path_final : UInt<31>, flip ifu_bp_hit_taken_f : UInt<1>, flip ifu_bp_btb_target_f : UInt<31>, flip ic_dma_active : UInt<1>, flip ic_write_stall : UInt<1>, flip dma_iccm_stall_any : UInt<1>, flip dec_tlu_mrac_ff : UInt<32>, ifc_fetch_addr_f : UInt<31>, ifc_fetch_addr_bf : UInt<31>, ifc_fetch_req_f : UInt<1>, ifu_pmu_fetch_stall : UInt<1>, ifc_fetch_uncacheable_bf : UInt<1>, ifc_fetch_req_bf : UInt<1>, ifc_fetch_req_bf_raw : UInt<1>, ifc_iccm_access_bf : UInt<1>, ifc_region_acc_fault_bf : UInt<1>, ifc_dma_access_ok : UInt<1>, mb_empty_mod : UInt<1>, miss_f : UInt<1>} + output io : {flip active_clk : UInt<1>, flip scan_mode : UInt<1>, flip ic_hit_f : UInt<1>, flip ifu_ic_mb_empty : UInt<1>, flip ifu_fb_consume1 : UInt<1>, flip ifu_fb_consume2 : UInt<1>, flip dec_tlu_flush_noredir_wb : UInt<1>, flip exu_flush_final : UInt<1>, flip exu_flush_path_final : UInt<31>, flip ifu_bp_hit_taken_f : UInt<1>, flip ifu_bp_btb_target_f : UInt<31>, flip ic_dma_active : UInt<1>, flip ic_write_stall : UInt<1>, flip dma_iccm_stall_any : UInt<1>, flip dec_tlu_mrac_ff : UInt<32>, ifc_fetch_addr_f : UInt<31>, ifc_fetch_addr_bf : UInt<31>, ifc_fetch_req_f : UInt<1>, ifu_pmu_fetch_stall : UInt<1>, ifc_fetch_uncacheable_bf : UInt<1>, ifc_fetch_req_bf : UInt<1>, ifc_fetch_req_bf_raw : UInt<1>, ifc_iccm_access_bf : UInt<1>, ifc_region_acc_fault_bf : UInt<1>, ifc_dma_access_ok : UInt<1>} - io.ifc_region_acc_fault_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 41:30] - io.ifc_dma_access_ok <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 42:24] wire fetch_addr_bf : UInt<32> fetch_addr_bf <= UInt<1>("h00") wire fetch_addr_next : UInt<32> @@ -47,31 +45,31 @@ circuit el2_ifu_ifc_ctrl : state <= UInt<1>("h00") wire dma_iccm_stall_any_f : UInt<1> dma_iccm_stall_any_f <= UInt<1>("h00") - node dma_stall = or(io.ic_dma_active, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctrl.scala 66:36] - reg _T : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 67:34] - _T <= io.dma_iccm_stall_any @[el2_ifu_ifc_ctrl.scala 67:34] - dma_iccm_stall_any_f <= _T @[el2_ifu_ifc_ctrl.scala 67:24] - reg _T_1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 69:20] - _T_1 <= miss_f @[el2_ifu_ifc_ctrl.scala 69:20] - miss_a <= _T_1 @[el2_ifu_ifc_ctrl.scala 69:10] - node _T_2 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 71:26] - node _T_3 = eq(io.ifc_fetch_req_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 71:49] - node _T_4 = eq(io.ic_hit_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 71:71] - node _T_5 = or(_T_3, _T_4) @[el2_ifu_ifc_ctrl.scala 71:69] - node sel_last_addr_bf = and(_T_2, _T_5) @[el2_ifu_ifc_ctrl.scala 71:46] - node _T_6 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 72:26] - node _T_7 = and(_T_6, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 72:46] - node _T_8 = and(_T_7, io.ifu_bp_hit_taken_f) @[el2_ifu_ifc_ctrl.scala 72:67] - node sel_btb_addr_bf = and(_T_8, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 72:92] - node _T_9 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 73:26] - node _T_10 = and(_T_9, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 73:46] - node _T_11 = eq(io.ifu_bp_hit_taken_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 73:69] - node _T_12 = and(_T_10, _T_11) @[el2_ifu_ifc_ctrl.scala 73:67] - node sel_next_addr_bf = and(_T_12, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 73:92] - node _T_13 = bits(io.exu_flush_final, 0, 0) @[el2_ifu_ifc_ctrl.scala 76:56] - node _T_14 = bits(sel_last_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 77:46] - node _T_15 = bits(sel_btb_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 78:45] - node _T_16 = bits(sel_next_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 79:46] + node dma_stall = or(io.ic_dma_active, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctrl.scala 60:36] + reg _T : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 61:34] + _T <= io.dma_iccm_stall_any @[el2_ifu_ifc_ctrl.scala 61:34] + dma_iccm_stall_any_f <= _T @[el2_ifu_ifc_ctrl.scala 61:24] + reg _T_1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 63:20] + _T_1 <= miss_f @[el2_ifu_ifc_ctrl.scala 63:20] + miss_a <= _T_1 @[el2_ifu_ifc_ctrl.scala 63:10] + node _T_2 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 65:26] + node _T_3 = eq(io.ifc_fetch_req_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 65:49] + node _T_4 = eq(io.ic_hit_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 65:71] + node _T_5 = or(_T_3, _T_4) @[el2_ifu_ifc_ctrl.scala 65:69] + node sel_last_addr_bf = and(_T_2, _T_5) @[el2_ifu_ifc_ctrl.scala 65:46] + node _T_6 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 66:26] + node _T_7 = and(_T_6, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 66:46] + node _T_8 = and(_T_7, io.ifu_bp_hit_taken_f) @[el2_ifu_ifc_ctrl.scala 66:67] + node sel_btb_addr_bf = and(_T_8, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 66:92] + node _T_9 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 67:26] + node _T_10 = and(_T_9, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 67:46] + node _T_11 = eq(io.ifu_bp_hit_taken_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 67:69] + node _T_12 = and(_T_10, _T_11) @[el2_ifu_ifc_ctrl.scala 67:67] + node sel_next_addr_bf = and(_T_12, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 67:92] + node _T_13 = bits(io.exu_flush_final, 0, 0) @[el2_ifu_ifc_ctrl.scala 70:56] + node _T_14 = bits(sel_last_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 71:46] + node _T_15 = bits(sel_btb_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 72:45] + node _T_16 = bits(sel_next_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 73:46] node _T_17 = mux(_T_13, io.exu_flush_path_final, UInt<1>("h00")) @[Mux.scala 27:72] node _T_18 = mux(_T_14, io.ifc_fetch_addr_f, UInt<1>("h00")) @[Mux.scala 27:72] node _T_19 = mux(_T_15, io.ifu_bp_btb_target_f, UInt<1>("h00")) @[Mux.scala 27:72] @@ -81,120 +79,118 @@ circuit el2_ifu_ifc_ctrl : node _T_23 = or(_T_22, _T_20) @[Mux.scala 27:72] wire _T_24 : UInt<32> @[Mux.scala 27:72] _T_24 <= _T_23 @[Mux.scala 27:72] - io.ifc_fetch_addr_bf <= _T_24 @[el2_ifu_ifc_ctrl.scala 76:24] - line_wrap <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 83:13] - node _T_25 = bits(line_wrap, 0, 0) @[el2_ifu_ifc_ctrl.scala 84:47] - node _T_26 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_ifc_ctrl.scala 84:75] - node fetch_addr_next_1 = mux(_T_25, UInt<1>("h00"), _T_26) @[el2_ifu_ifc_ctrl.scala 84:30] - node _T_27 = bits(io.ifc_fetch_addr_f, 30, 1) @[el2_ifu_ifc_ctrl.scala 85:45] - node _T_28 = add(_T_27, UInt<1>("h01")) @[el2_ifu_ifc_ctrl.scala 85:51] - node _T_29 = tail(_T_28, 1) @[el2_ifu_ifc_ctrl.scala 85:51] + io.ifc_fetch_addr_bf <= _T_24 @[el2_ifu_ifc_ctrl.scala 70:24] + line_wrap <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 77:13] + node _T_25 = bits(line_wrap, 0, 0) @[el2_ifu_ifc_ctrl.scala 78:47] + node _T_26 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_ifc_ctrl.scala 78:75] + node fetch_addr_next_1 = mux(_T_25, UInt<1>("h00"), _T_26) @[el2_ifu_ifc_ctrl.scala 78:30] + node _T_27 = bits(io.ifc_fetch_addr_f, 30, 1) @[el2_ifu_ifc_ctrl.scala 79:45] + node _T_28 = add(_T_27, UInt<1>("h01")) @[el2_ifu_ifc_ctrl.scala 79:51] + node _T_29 = tail(_T_28, 1) @[el2_ifu_ifc_ctrl.scala 79:51] node _T_30 = cat(_T_29, UInt<1>("h00")) @[Cat.scala 29:58] - fetch_addr_next <= _T_30 @[el2_ifu_ifc_ctrl.scala 85:19] - node _T_31 = not(idle) @[el2_ifu_ifc_ctrl.scala 88:30] - io.ifc_fetch_req_bf_raw <= _T_31 @[el2_ifu_ifc_ctrl.scala 88:27] - node _T_32 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 90:91] - node _T_33 = eq(_T_32, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 90:70] - node _T_34 = and(fb_full_f_ns, _T_33) @[el2_ifu_ifc_ctrl.scala 90:68] - node _T_35 = eq(_T_34, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 90:53] - node _T_36 = and(io.ifc_fetch_req_bf_raw, _T_35) @[el2_ifu_ifc_ctrl.scala 90:51] - node _T_37 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 91:5] - node _T_38 = and(_T_36, _T_37) @[el2_ifu_ifc_ctrl.scala 90:114] - node _T_39 = eq(io.ic_write_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 91:18] - node _T_40 = and(_T_38, _T_39) @[el2_ifu_ifc_ctrl.scala 91:16] - node _T_41 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 91:39] - node _T_42 = and(_T_40, _T_41) @[el2_ifu_ifc_ctrl.scala 91:37] - io.ifc_fetch_req_bf <= _T_42 @[el2_ifu_ifc_ctrl.scala 90:23] - node _T_43 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 93:37] - fetch_bf_en <= _T_43 @[el2_ifu_ifc_ctrl.scala 93:15] - node _T_44 = eq(io.ic_hit_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 95:34] - node _T_45 = and(io.ifc_fetch_req_f, _T_44) @[el2_ifu_ifc_ctrl.scala 95:32] - node _T_46 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 95:49] - node _T_47 = and(_T_45, _T_46) @[el2_ifu_ifc_ctrl.scala 95:47] - miss_f <= _T_47 @[el2_ifu_ifc_ctrl.scala 95:10] - io.miss_f <= miss_f @[el2_ifu_ifc_ctrl.scala 96:13] - node _T_48 = or(io.ifu_ic_mb_empty, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 97:39] - node _T_49 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 97:63] - node _T_50 = and(_T_48, _T_49) @[el2_ifu_ifc_ctrl.scala 97:61] - node _T_51 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 97:76] - node _T_52 = and(_T_50, _T_51) @[el2_ifu_ifc_ctrl.scala 97:74] - node _T_53 = eq(miss_a, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 97:86] - node _T_54 = and(_T_52, _T_53) @[el2_ifu_ifc_ctrl.scala 97:84] - mb_empty_mod <= _T_54 @[el2_ifu_ifc_ctrl.scala 97:16] - io.mb_empty_mod <= mb_empty_mod @[el2_ifu_ifc_ctrl.scala 98:19] - node _T_55 = and(io.exu_flush_final, io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 99:35] - goto_idle <= _T_55 @[el2_ifu_ifc_ctrl.scala 99:13] - node _T_56 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 101:38] - node _T_57 = and(io.exu_flush_final, _T_56) @[el2_ifu_ifc_ctrl.scala 101:36] - node _T_58 = and(_T_57, idle) @[el2_ifu_ifc_ctrl.scala 101:67] - leave_idle <= _T_58 @[el2_ifu_ifc_ctrl.scala 101:14] - node _T_59 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 103:29] - node _T_60 = eq(_T_59, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 103:23] - node _T_61 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 103:40] - node _T_62 = and(_T_60, _T_61) @[el2_ifu_ifc_ctrl.scala 103:33] - node _T_63 = and(_T_62, miss_f) @[el2_ifu_ifc_ctrl.scala 103:44] - node _T_64 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 103:55] - node _T_65 = and(_T_63, _T_64) @[el2_ifu_ifc_ctrl.scala 103:53] - node _T_66 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 104:11] - node _T_67 = eq(mb_empty_mod, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 104:17] - node _T_68 = and(_T_66, _T_67) @[el2_ifu_ifc_ctrl.scala 104:15] - node _T_69 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 104:33] - node _T_70 = and(_T_68, _T_69) @[el2_ifu_ifc_ctrl.scala 104:31] - node next_state_1 = or(_T_65, _T_70) @[el2_ifu_ifc_ctrl.scala 103:67] - node _T_71 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 106:23] - node _T_72 = and(_T_71, leave_idle) @[el2_ifu_ifc_ctrl.scala 106:34] - node _T_73 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 106:56] - node _T_74 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 106:62] - node _T_75 = and(_T_73, _T_74) @[el2_ifu_ifc_ctrl.scala 106:60] - node next_state_0 = or(_T_72, _T_75) @[el2_ifu_ifc_ctrl.scala 106:48] + fetch_addr_next <= _T_30 @[el2_ifu_ifc_ctrl.scala 79:19] + node _T_31 = not(idle) @[el2_ifu_ifc_ctrl.scala 82:30] + io.ifc_fetch_req_bf_raw <= _T_31 @[el2_ifu_ifc_ctrl.scala 82:27] + node _T_32 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 84:91] + node _T_33 = eq(_T_32, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 84:70] + node _T_34 = and(fb_full_f_ns, _T_33) @[el2_ifu_ifc_ctrl.scala 84:68] + node _T_35 = eq(_T_34, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 84:53] + node _T_36 = and(io.ifc_fetch_req_bf_raw, _T_35) @[el2_ifu_ifc_ctrl.scala 84:51] + node _T_37 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 85:5] + node _T_38 = and(_T_36, _T_37) @[el2_ifu_ifc_ctrl.scala 84:114] + node _T_39 = eq(io.ic_write_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 85:18] + node _T_40 = and(_T_38, _T_39) @[el2_ifu_ifc_ctrl.scala 85:16] + node _T_41 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 85:39] + node _T_42 = and(_T_40, _T_41) @[el2_ifu_ifc_ctrl.scala 85:37] + io.ifc_fetch_req_bf <= _T_42 @[el2_ifu_ifc_ctrl.scala 84:23] + node _T_43 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 87:37] + fetch_bf_en <= _T_43 @[el2_ifu_ifc_ctrl.scala 87:15] + node _T_44 = eq(io.ic_hit_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 89:34] + node _T_45 = and(io.ifc_fetch_req_f, _T_44) @[el2_ifu_ifc_ctrl.scala 89:32] + node _T_46 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 89:49] + node _T_47 = and(_T_45, _T_46) @[el2_ifu_ifc_ctrl.scala 89:47] + miss_f <= _T_47 @[el2_ifu_ifc_ctrl.scala 89:10] + node _T_48 = or(io.ifu_ic_mb_empty, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 91:39] + node _T_49 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 91:63] + node _T_50 = and(_T_48, _T_49) @[el2_ifu_ifc_ctrl.scala 91:61] + node _T_51 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 91:76] + node _T_52 = and(_T_50, _T_51) @[el2_ifu_ifc_ctrl.scala 91:74] + node _T_53 = eq(miss_a, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 91:86] + node _T_54 = and(_T_52, _T_53) @[el2_ifu_ifc_ctrl.scala 91:84] + mb_empty_mod <= _T_54 @[el2_ifu_ifc_ctrl.scala 91:16] + node _T_55 = and(io.exu_flush_final, io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 93:35] + goto_idle <= _T_55 @[el2_ifu_ifc_ctrl.scala 93:13] + node _T_56 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 95:38] + node _T_57 = and(io.exu_flush_final, _T_56) @[el2_ifu_ifc_ctrl.scala 95:36] + node _T_58 = and(_T_57, idle) @[el2_ifu_ifc_ctrl.scala 95:67] + leave_idle <= _T_58 @[el2_ifu_ifc_ctrl.scala 95:14] + node _T_59 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 97:29] + node _T_60 = eq(_T_59, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 97:23] + node _T_61 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 97:40] + node _T_62 = and(_T_60, _T_61) @[el2_ifu_ifc_ctrl.scala 97:33] + node _T_63 = and(_T_62, miss_f) @[el2_ifu_ifc_ctrl.scala 97:44] + node _T_64 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 97:55] + node _T_65 = and(_T_63, _T_64) @[el2_ifu_ifc_ctrl.scala 97:53] + node _T_66 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 98:11] + node _T_67 = eq(mb_empty_mod, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 98:17] + node _T_68 = and(_T_66, _T_67) @[el2_ifu_ifc_ctrl.scala 98:15] + node _T_69 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 98:33] + node _T_70 = and(_T_68, _T_69) @[el2_ifu_ifc_ctrl.scala 98:31] + node next_state_1 = or(_T_65, _T_70) @[el2_ifu_ifc_ctrl.scala 97:67] + node _T_71 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 100:23] + node _T_72 = and(_T_71, leave_idle) @[el2_ifu_ifc_ctrl.scala 100:34] + node _T_73 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 100:56] + node _T_74 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 100:62] + node _T_75 = and(_T_73, _T_74) @[el2_ifu_ifc_ctrl.scala 100:60] + node next_state_0 = or(_T_72, _T_75) @[el2_ifu_ifc_ctrl.scala 100:48] node _T_76 = cat(next_state_1, next_state_0) @[Cat.scala 29:58] - reg _T_77 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 108:19] - _T_77 <= _T_76 @[el2_ifu_ifc_ctrl.scala 108:19] - state <= _T_77 @[el2_ifu_ifc_ctrl.scala 108:9] - flush_fb <= io.exu_flush_final @[el2_ifu_ifc_ctrl.scala 110:12] - node _T_78 = eq(io.ifu_fb_consume2, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 112:38] - node _T_79 = and(io.ifu_fb_consume1, _T_78) @[el2_ifu_ifc_ctrl.scala 112:36] - node _T_80 = eq(io.ifc_fetch_req_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 112:61] - node _T_81 = or(_T_80, miss_f) @[el2_ifu_ifc_ctrl.scala 112:81] - node _T_82 = and(_T_79, _T_81) @[el2_ifu_ifc_ctrl.scala 112:58] - node _T_83 = and(io.ifu_fb_consume2, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 113:25] - node _T_84 = or(_T_82, _T_83) @[el2_ifu_ifc_ctrl.scala 112:92] - fb_right <= _T_84 @[el2_ifu_ifc_ctrl.scala 112:12] - node _T_85 = not(io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 115:39] - node _T_86 = or(_T_85, miss_f) @[el2_ifu_ifc_ctrl.scala 115:59] - node _T_87 = and(io.ifu_fb_consume2, _T_86) @[el2_ifu_ifc_ctrl.scala 115:36] - fb_right2 <= _T_87 @[el2_ifu_ifc_ctrl.scala 115:13] - node _T_88 = or(io.ifu_fb_consume1, io.ifu_fb_consume2) @[el2_ifu_ifc_ctrl.scala 116:56] - node _T_89 = eq(_T_88, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 116:35] - node _T_90 = and(io.ifc_fetch_req_f, _T_89) @[el2_ifu_ifc_ctrl.scala 116:33] - node _T_91 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 116:80] - node _T_92 = and(_T_90, _T_91) @[el2_ifu_ifc_ctrl.scala 116:78] - fb_left <= _T_92 @[el2_ifu_ifc_ctrl.scala 116:11] - node _T_93 = bits(flush_fb, 0, 0) @[el2_ifu_ifc_ctrl.scala 118:37] - node _T_94 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 119:6] - node _T_95 = and(_T_94, fb_right) @[el2_ifu_ifc_ctrl.scala 119:16] - node _T_96 = bits(_T_95, 0, 0) @[el2_ifu_ifc_ctrl.scala 119:28] - node _T_97 = bits(fb_write_f, 3, 1) @[el2_ifu_ifc_ctrl.scala 119:62] + reg _T_77 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 102:19] + _T_77 <= _T_76 @[el2_ifu_ifc_ctrl.scala 102:19] + state <= _T_77 @[el2_ifu_ifc_ctrl.scala 102:9] + flush_fb <= io.exu_flush_final @[el2_ifu_ifc_ctrl.scala 104:12] + node _T_78 = eq(io.ifu_fb_consume2, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 106:38] + node _T_79 = and(io.ifu_fb_consume1, _T_78) @[el2_ifu_ifc_ctrl.scala 106:36] + node _T_80 = eq(io.ifc_fetch_req_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 106:61] + node _T_81 = or(_T_80, miss_f) @[el2_ifu_ifc_ctrl.scala 106:81] + node _T_82 = and(_T_79, _T_81) @[el2_ifu_ifc_ctrl.scala 106:58] + node _T_83 = and(io.ifu_fb_consume2, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 107:25] + node _T_84 = or(_T_82, _T_83) @[el2_ifu_ifc_ctrl.scala 106:92] + fb_right <= _T_84 @[el2_ifu_ifc_ctrl.scala 106:12] + node _T_85 = not(io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 109:39] + node _T_86 = or(_T_85, miss_f) @[el2_ifu_ifc_ctrl.scala 109:59] + node _T_87 = and(io.ifu_fb_consume2, _T_86) @[el2_ifu_ifc_ctrl.scala 109:36] + fb_right2 <= _T_87 @[el2_ifu_ifc_ctrl.scala 109:13] + node _T_88 = or(io.ifu_fb_consume1, io.ifu_fb_consume2) @[el2_ifu_ifc_ctrl.scala 110:56] + node _T_89 = eq(_T_88, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 110:35] + node _T_90 = and(io.ifc_fetch_req_f, _T_89) @[el2_ifu_ifc_ctrl.scala 110:33] + node _T_91 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 110:80] + node _T_92 = and(_T_90, _T_91) @[el2_ifu_ifc_ctrl.scala 110:78] + fb_left <= _T_92 @[el2_ifu_ifc_ctrl.scala 110:11] + node _T_93 = bits(flush_fb, 0, 0) @[el2_ifu_ifc_ctrl.scala 112:37] + node _T_94 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 113:6] + node _T_95 = and(_T_94, fb_right) @[el2_ifu_ifc_ctrl.scala 113:16] + node _T_96 = bits(_T_95, 0, 0) @[el2_ifu_ifc_ctrl.scala 113:28] + node _T_97 = bits(fb_write_f, 3, 1) @[el2_ifu_ifc_ctrl.scala 113:62] node _T_98 = cat(UInt<1>("h00"), _T_97) @[Cat.scala 29:58] - node _T_99 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 120:6] - node _T_100 = and(_T_99, fb_right2) @[el2_ifu_ifc_ctrl.scala 120:16] - node _T_101 = bits(_T_100, 0, 0) @[el2_ifu_ifc_ctrl.scala 120:29] - node _T_102 = bits(fb_write_f, 3, 2) @[el2_ifu_ifc_ctrl.scala 120:63] + node _T_99 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 114:6] + node _T_100 = and(_T_99, fb_right2) @[el2_ifu_ifc_ctrl.scala 114:16] + node _T_101 = bits(_T_100, 0, 0) @[el2_ifu_ifc_ctrl.scala 114:29] + node _T_102 = bits(fb_write_f, 3, 2) @[el2_ifu_ifc_ctrl.scala 114:63] node _T_103 = cat(UInt<2>("h00"), _T_102) @[Cat.scala 29:58] - node _T_104 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 121:6] - node _T_105 = and(_T_104, fb_left) @[el2_ifu_ifc_ctrl.scala 121:16] - node _T_106 = bits(_T_105, 0, 0) @[el2_ifu_ifc_ctrl.scala 121:27] - node _T_107 = bits(fb_write_f, 2, 0) @[el2_ifu_ifc_ctrl.scala 121:51] + node _T_104 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 115:6] + node _T_105 = and(_T_104, fb_left) @[el2_ifu_ifc_ctrl.scala 115:16] + node _T_106 = bits(_T_105, 0, 0) @[el2_ifu_ifc_ctrl.scala 115:27] + node _T_107 = bits(fb_write_f, 2, 0) @[el2_ifu_ifc_ctrl.scala 115:51] node _T_108 = cat(_T_107, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_109 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 122:6] - node _T_110 = eq(fb_right, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 122:18] - node _T_111 = and(_T_109, _T_110) @[el2_ifu_ifc_ctrl.scala 122:16] - node _T_112 = eq(fb_right2, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 122:30] - node _T_113 = and(_T_111, _T_112) @[el2_ifu_ifc_ctrl.scala 122:28] - node _T_114 = eq(fb_left, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 122:43] - node _T_115 = and(_T_113, _T_114) @[el2_ifu_ifc_ctrl.scala 122:41] - node _T_116 = bits(_T_115, 0, 0) @[el2_ifu_ifc_ctrl.scala 122:53] - node _T_117 = bits(fb_write_f, 3, 0) @[el2_ifu_ifc_ctrl.scala 122:73] + node _T_109 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 116:6] + node _T_110 = eq(fb_right, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 116:18] + node _T_111 = and(_T_109, _T_110) @[el2_ifu_ifc_ctrl.scala 116:16] + node _T_112 = eq(fb_right2, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 116:30] + node _T_113 = and(_T_111, _T_112) @[el2_ifu_ifc_ctrl.scala 116:28] + node _T_114 = eq(fb_left, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 116:43] + node _T_115 = and(_T_113, _T_114) @[el2_ifu_ifc_ctrl.scala 116:41] + node _T_116 = bits(_T_115, 0, 0) @[el2_ifu_ifc_ctrl.scala 116:53] + node _T_117 = bits(fb_write_f, 3, 0) @[el2_ifu_ifc_ctrl.scala 116:73] node _T_118 = mux(_T_93, UInt<4>("h01"), UInt<1>("h00")) @[Mux.scala 27:72] node _T_119 = mux(_T_96, _T_98, UInt<1>("h00")) @[Mux.scala 27:72] node _T_120 = mux(_T_101, _T_103, UInt<1>("h00")) @[Mux.scala 27:72] @@ -206,62 +202,65 @@ circuit el2_ifu_ifc_ctrl : node _T_126 = or(_T_125, _T_122) @[Mux.scala 27:72] wire _T_127 : UInt<4> @[Mux.scala 27:72] _T_127 <= _T_126 @[Mux.scala 27:72] - fb_write_ns <= _T_127 @[el2_ifu_ifc_ctrl.scala 118:15] - node _T_128 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 125:38] - reg _T_129 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 125:26] - _T_129 <= _T_128 @[el2_ifu_ifc_ctrl.scala 125:26] - fb_full_f_ns <= _T_129 @[el2_ifu_ifc_ctrl.scala 125:16] - node _T_130 = eq(state, UInt<2>("h00")) @[el2_ifu_ifc_ctrl.scala 127:17] - idle <= _T_130 @[el2_ifu_ifc_ctrl.scala 127:8] - node _T_131 = eq(state, UInt<2>("h03")) @[el2_ifu_ifc_ctrl.scala 128:16] - wfm <= _T_131 @[el2_ifu_ifc_ctrl.scala 128:7] - node _T_132 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 130:30] - fb_full_f_ns <= _T_132 @[el2_ifu_ifc_ctrl.scala 130:16] - reg fb_full_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 131:26] - fb_full_f <= fb_full_f_ns @[el2_ifu_ifc_ctrl.scala 131:26] - reg _T_133 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 132:24] - _T_133 <= fb_write_ns @[el2_ifu_ifc_ctrl.scala 132:24] - fb_write_f <= _T_133 @[el2_ifu_ifc_ctrl.scala 132:14] - node _T_134 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 135:40] - node _T_135 = or(_T_134, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 135:61] - node _T_136 = eq(_T_135, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 135:19] - node _T_137 = and(fb_full_f, _T_136) @[el2_ifu_ifc_ctrl.scala 135:17] - node _T_138 = or(_T_137, dma_stall) @[el2_ifu_ifc_ctrl.scala 135:84] - node _T_139 = and(io.ifc_fetch_req_bf_raw, _T_138) @[el2_ifu_ifc_ctrl.scala 134:60] - node _T_140 = or(wfm, _T_139) @[el2_ifu_ifc_ctrl.scala 134:33] - io.ifu_pmu_fetch_stall <= _T_140 @[el2_ifu_ifc_ctrl.scala 134:26] + fb_write_ns <= _T_127 @[el2_ifu_ifc_ctrl.scala 112:15] + node _T_128 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 119:38] + reg _T_129 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 119:26] + _T_129 <= _T_128 @[el2_ifu_ifc_ctrl.scala 119:26] + fb_full_f_ns <= _T_129 @[el2_ifu_ifc_ctrl.scala 119:16] + node _T_130 = eq(state, UInt<2>("h00")) @[el2_ifu_ifc_ctrl.scala 121:17] + idle <= _T_130 @[el2_ifu_ifc_ctrl.scala 121:8] + node _T_131 = eq(state, UInt<2>("h03")) @[el2_ifu_ifc_ctrl.scala 122:16] + wfm <= _T_131 @[el2_ifu_ifc_ctrl.scala 122:7] + node _T_132 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 124:30] + fb_full_f_ns <= _T_132 @[el2_ifu_ifc_ctrl.scala 124:16] + reg fb_full_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 125:26] + fb_full_f <= fb_full_f_ns @[el2_ifu_ifc_ctrl.scala 125:26] + reg _T_133 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 126:24] + _T_133 <= fb_write_ns @[el2_ifu_ifc_ctrl.scala 126:24] + fb_write_f <= _T_133 @[el2_ifu_ifc_ctrl.scala 126:14] + node _T_134 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 129:40] + node _T_135 = or(_T_134, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 129:61] + node _T_136 = eq(_T_135, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 129:19] + node _T_137 = and(fb_full_f, _T_136) @[el2_ifu_ifc_ctrl.scala 129:17] + node _T_138 = or(_T_137, dma_stall) @[el2_ifu_ifc_ctrl.scala 129:84] + node _T_139 = and(io.ifc_fetch_req_bf_raw, _T_138) @[el2_ifu_ifc_ctrl.scala 128:60] + node _T_140 = or(wfm, _T_139) @[el2_ifu_ifc_ctrl.scala 128:33] + io.ifu_pmu_fetch_stall <= _T_140 @[el2_ifu_ifc_ctrl.scala 128:26] node _T_141 = cat(io.ifc_fetch_addr_bf, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_142 = bits(_T_141, 31, 28) @[el2_lib.scala 214:25] - node iccm_acc_in_region_bf = eq(_T_142, UInt<4>("h0e")) @[el2_lib.scala 214:47] - node _T_143 = bits(_T_141, 31, 16) @[el2_lib.scala 217:14] - node iccm_acc_in_range_bf = eq(_T_143, UInt<16>("h0ee00")) @[el2_lib.scala 217:29] - io.ifc_iccm_access_bf <= iccm_acc_in_range_bf @[el2_ifu_ifc_ctrl.scala 140:25] - node _T_144 = eq(io.ifc_iccm_access_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 141:30] - node _T_145 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 142:39] - node _T_146 = eq(_T_145, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 142:18] - node _T_147 = and(fb_full_f, _T_146) @[el2_ifu_ifc_ctrl.scala 142:16] - node _T_148 = or(_T_144, _T_147) @[el2_ifu_ifc_ctrl.scala 141:53] - node _T_149 = eq(io.ifc_fetch_req_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 143:13] - node _T_150 = and(wfm, _T_149) @[el2_ifu_ifc_ctrl.scala 143:11] - node _T_151 = or(_T_148, _T_150) @[el2_ifu_ifc_ctrl.scala 142:62] - node _T_152 = or(_T_151, idle) @[el2_ifu_ifc_ctrl.scala 143:35] - node _T_153 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 143:46] - node _T_154 = and(_T_152, _T_153) @[el2_ifu_ifc_ctrl.scala 143:44] - node _T_155 = or(_T_154, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctrl.scala 143:67] - io.ifc_dma_access_ok <= _T_155 @[el2_ifu_ifc_ctrl.scala 141:24] - node _T_156 = bits(io.ifc_fetch_addr_bf, 30, 27) @[el2_ifu_ifc_ctrl.scala 145:78] - node _T_157 = cat(_T_156, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_158 = dshr(io.dec_tlu_mrac_ff, _T_157) @[el2_ifu_ifc_ctrl.scala 145:53] - node _T_159 = bits(_T_158, 0, 0) @[el2_ifu_ifc_ctrl.scala 145:53] - node _T_160 = not(_T_159) @[el2_ifu_ifc_ctrl.scala 145:34] - io.ifc_fetch_uncacheable_bf <= _T_160 @[el2_ifu_ifc_ctrl.scala 145:31] - reg _T_161 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 147:32] - _T_161 <= io.ifc_fetch_req_bf @[el2_ifu_ifc_ctrl.scala 147:32] - io.ifc_fetch_req_f <= _T_161 @[el2_ifu_ifc_ctrl.scala 147:22] - node _T_162 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 149:88] - reg _T_163 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_162 : @[Reg.scala 28:19] - _T_163 <= io.ifc_fetch_addr_bf @[Reg.scala 28:23] + node _T_142 = bits(_T_141, 31, 28) @[el2_lib.scala 211:25] + node iccm_acc_in_region_bf = eq(_T_142, UInt<4>("h0e")) @[el2_lib.scala 211:47] + node _T_143 = bits(_T_141, 31, 16) @[el2_lib.scala 214:14] + node iccm_acc_in_range_bf = eq(_T_143, UInt<16>("h0ee00")) @[el2_lib.scala 214:29] + io.ifc_iccm_access_bf <= iccm_acc_in_range_bf @[el2_ifu_ifc_ctrl.scala 134:25] + node _T_144 = eq(io.ifc_iccm_access_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 135:30] + node _T_145 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 136:39] + node _T_146 = eq(_T_145, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 136:18] + node _T_147 = and(fb_full_f, _T_146) @[el2_ifu_ifc_ctrl.scala 136:16] + node _T_148 = or(_T_144, _T_147) @[el2_ifu_ifc_ctrl.scala 135:53] + node _T_149 = eq(io.ifc_fetch_req_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 137:13] + node _T_150 = and(wfm, _T_149) @[el2_ifu_ifc_ctrl.scala 137:11] + node _T_151 = or(_T_148, _T_150) @[el2_ifu_ifc_ctrl.scala 136:62] + node _T_152 = or(_T_151, idle) @[el2_ifu_ifc_ctrl.scala 137:35] + node _T_153 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctrl.scala 137:46] + node _T_154 = and(_T_152, _T_153) @[el2_ifu_ifc_ctrl.scala 137:44] + node _T_155 = or(_T_154, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctrl.scala 137:67] + io.ifc_dma_access_ok <= _T_155 @[el2_ifu_ifc_ctrl.scala 135:24] + node _T_156 = not(iccm_acc_in_range_bf) @[el2_ifu_ifc_ctrl.scala 139:33] + node _T_157 = and(_T_156, iccm_acc_in_region_bf) @[el2_ifu_ifc_ctrl.scala 139:55] + io.ifc_region_acc_fault_bf <= _T_157 @[el2_ifu_ifc_ctrl.scala 139:30] + node _T_158 = bits(io.ifc_fetch_addr_bf, 30, 27) @[el2_ifu_ifc_ctrl.scala 140:78] + node _T_159 = cat(_T_158, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_160 = dshr(io.dec_tlu_mrac_ff, _T_159) @[el2_ifu_ifc_ctrl.scala 140:53] + node _T_161 = bits(_T_160, 0, 0) @[el2_ifu_ifc_ctrl.scala 140:53] + node _T_162 = not(_T_161) @[el2_ifu_ifc_ctrl.scala 140:34] + io.ifc_fetch_uncacheable_bf <= _T_162 @[el2_ifu_ifc_ctrl.scala 140:31] + reg _T_163 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 142:32] + _T_163 <= io.ifc_fetch_req_bf @[el2_ifu_ifc_ctrl.scala 142:32] + io.ifc_fetch_req_f <= _T_163 @[el2_ifu_ifc_ctrl.scala 142:22] + node _T_164 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 144:88] + reg _T_165 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_164 : @[Reg.scala 28:19] + _T_165 <= io.ifc_fetch_addr_bf @[Reg.scala 28:23] skip @[Reg.scala 28:19] - io.ifc_fetch_addr_f <= _T_163 @[el2_ifu_ifc_ctrl.scala 149:23] + io.ifc_fetch_addr_f <= _T_165 @[el2_ifu_ifc_ctrl.scala 144:23] diff --git a/el2_ifu_ifc_ctrl.v b/el2_ifu_ifc_ctrl.v index bca00662..baddb80b 100644 --- a/el2_ifu_ifc_ctrl.v +++ b/el2_ifu_ifc_ctrl.v @@ -1,9 +1,7 @@ module el2_ifu_ifc_ctrl( input clock, input reset, - input io_free_clk, input io_active_clk, - input io_rst_l, input io_scan_mode, input io_ic_hit_f, input io_ifu_ic_mb_empty, @@ -27,9 +25,7 @@ module el2_ifu_ifc_ctrl( output io_ifc_fetch_req_bf_raw, output io_ifc_iccm_access_bf, output io_ifc_region_acc_fault_bf, - output io_ifc_dma_access_ok, - output io_mb_empty_mod, - output io_miss_f + output io_ifc_dma_access_ok ); `ifdef RANDOMIZE_REG_INIT reg [31:0] _RAND_0; @@ -40,134 +36,135 @@ module el2_ifu_ifc_ctrl( reg [31:0] _RAND_5; reg [31:0] _RAND_6; `endif // RANDOMIZE_REG_INIT - reg dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 67:34] - wire dma_stall = io_ic_dma_active | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 66:36] - reg miss_a; // @[el2_ifu_ifc_ctrl.scala 69:20] - wire _T_2 = ~io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 71:26] - wire _T_3 = ~io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 71:49] - wire _T_4 = ~io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 71:71] - wire _T_5 = _T_3 | _T_4; // @[el2_ifu_ifc_ctrl.scala 71:69] - wire sel_last_addr_bf = _T_2 & _T_5; // @[el2_ifu_ifc_ctrl.scala 71:46] - wire _T_7 = _T_2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 72:46] - wire _T_8 = _T_7 & io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 72:67] - wire sel_btb_addr_bf = _T_8 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 72:92] - wire _T_11 = ~io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 73:69] - wire _T_12 = _T_7 & _T_11; // @[el2_ifu_ifc_ctrl.scala 73:67] - wire sel_next_addr_bf = _T_12 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 73:92] + reg dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 61:34] + wire dma_stall = io_ic_dma_active | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 60:36] + reg miss_a; // @[el2_ifu_ifc_ctrl.scala 63:20] + wire _T_2 = ~io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 65:26] + wire _T_3 = ~io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 65:49] + wire _T_4 = ~io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 65:71] + wire _T_5 = _T_3 | _T_4; // @[el2_ifu_ifc_ctrl.scala 65:69] + wire sel_last_addr_bf = _T_2 & _T_5; // @[el2_ifu_ifc_ctrl.scala 65:46] + wire _T_7 = _T_2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 66:46] + wire _T_8 = _T_7 & io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 66:67] + wire sel_btb_addr_bf = _T_8 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 66:92] + wire _T_11 = ~io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 67:69] + wire _T_12 = _T_7 & _T_11; // @[el2_ifu_ifc_ctrl.scala 67:67] + wire sel_next_addr_bf = _T_12 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 67:92] wire [30:0] _T_17 = io_exu_flush_final ? io_exu_flush_path_final : 31'h0; // @[Mux.scala 27:72] wire [30:0] _T_18 = sel_last_addr_bf ? io_ifc_fetch_addr_f : 31'h0; // @[Mux.scala 27:72] wire [30:0] _T_19 = sel_btb_addr_bf ? io_ifu_bp_btb_target_f : 31'h0; // @[Mux.scala 27:72] - wire [29:0] _T_29 = io_ifc_fetch_addr_f[30:1] + 30'h1; // @[el2_ifu_ifc_ctrl.scala 85:51] + wire [29:0] _T_29 = io_ifc_fetch_addr_f[30:1] + 30'h1; // @[el2_ifu_ifc_ctrl.scala 79:51] wire [30:0] _T_30 = {_T_29,1'h0}; // @[Cat.scala 29:58] - wire [31:0] fetch_addr_next = {{1'd0}, _T_30}; // @[el2_ifu_ifc_ctrl.scala 85:19] + wire [31:0] fetch_addr_next = {{1'd0}, _T_30}; // @[el2_ifu_ifc_ctrl.scala 79:19] wire [31:0] _T_20 = sel_next_addr_bf ? fetch_addr_next : 32'h0; // @[Mux.scala 27:72] wire [30:0] _T_21 = _T_17 | _T_18; // @[Mux.scala 27:72] wire [30:0] _T_22 = _T_21 | _T_19; // @[Mux.scala 27:72] wire [31:0] _GEN_1 = {{1'd0}, _T_22}; // @[Mux.scala 27:72] wire [31:0] _T_23 = _GEN_1 | _T_20; // @[Mux.scala 27:72] - reg [1:0] state; // @[el2_ifu_ifc_ctrl.scala 108:19] - wire idle = state == 2'h0; // @[el2_ifu_ifc_ctrl.scala 127:17] - wire _T_32 = io_ifu_fb_consume2 | io_ifu_fb_consume1; // @[el2_ifu_ifc_ctrl.scala 90:91] - wire _T_33 = ~_T_32; // @[el2_ifu_ifc_ctrl.scala 90:70] + reg [1:0] state; // @[el2_ifu_ifc_ctrl.scala 102:19] + wire idle = state == 2'h0; // @[el2_ifu_ifc_ctrl.scala 121:17] + wire _T_32 = io_ifu_fb_consume2 | io_ifu_fb_consume1; // @[el2_ifu_ifc_ctrl.scala 84:91] + wire _T_33 = ~_T_32; // @[el2_ifu_ifc_ctrl.scala 84:70] wire [3:0] _T_118 = io_exu_flush_final ? 4'h1 : 4'h0; // @[Mux.scala 27:72] - wire _T_78 = ~io_ifu_fb_consume2; // @[el2_ifu_ifc_ctrl.scala 112:38] - wire _T_79 = io_ifu_fb_consume1 & _T_78; // @[el2_ifu_ifc_ctrl.scala 112:36] - wire _T_45 = io_ifc_fetch_req_f & _T_4; // @[el2_ifu_ifc_ctrl.scala 95:32] - wire miss_f = _T_45 & _T_2; // @[el2_ifu_ifc_ctrl.scala 95:47] - wire _T_81 = _T_3 | miss_f; // @[el2_ifu_ifc_ctrl.scala 112:81] - wire _T_82 = _T_79 & _T_81; // @[el2_ifu_ifc_ctrl.scala 112:58] - wire _T_83 = io_ifu_fb_consume2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 113:25] - wire fb_right = _T_82 | _T_83; // @[el2_ifu_ifc_ctrl.scala 112:92] - wire _T_95 = _T_2 & fb_right; // @[el2_ifu_ifc_ctrl.scala 119:16] - reg [3:0] fb_write_f; // @[el2_ifu_ifc_ctrl.scala 132:24] + wire _T_78 = ~io_ifu_fb_consume2; // @[el2_ifu_ifc_ctrl.scala 106:38] + wire _T_79 = io_ifu_fb_consume1 & _T_78; // @[el2_ifu_ifc_ctrl.scala 106:36] + wire _T_45 = io_ifc_fetch_req_f & _T_4; // @[el2_ifu_ifc_ctrl.scala 89:32] + wire miss_f = _T_45 & _T_2; // @[el2_ifu_ifc_ctrl.scala 89:47] + wire _T_81 = _T_3 | miss_f; // @[el2_ifu_ifc_ctrl.scala 106:81] + wire _T_82 = _T_79 & _T_81; // @[el2_ifu_ifc_ctrl.scala 106:58] + wire _T_83 = io_ifu_fb_consume2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 107:25] + wire fb_right = _T_82 | _T_83; // @[el2_ifu_ifc_ctrl.scala 106:92] + wire _T_95 = _T_2 & fb_right; // @[el2_ifu_ifc_ctrl.scala 113:16] + reg [3:0] fb_write_f; // @[el2_ifu_ifc_ctrl.scala 126:24] wire [3:0] _T_98 = {1'h0,fb_write_f[3:1]}; // @[Cat.scala 29:58] wire [3:0] _T_119 = _T_95 ? _T_98 : 4'h0; // @[Mux.scala 27:72] wire [3:0] _T_123 = _T_118 | _T_119; // @[Mux.scala 27:72] - wire fb_right2 = io_ifu_fb_consume2 & _T_81; // @[el2_ifu_ifc_ctrl.scala 115:36] - wire _T_100 = _T_2 & fb_right2; // @[el2_ifu_ifc_ctrl.scala 120:16] + wire fb_right2 = io_ifu_fb_consume2 & _T_81; // @[el2_ifu_ifc_ctrl.scala 109:36] + wire _T_100 = _T_2 & fb_right2; // @[el2_ifu_ifc_ctrl.scala 114:16] wire [3:0] _T_103 = {2'h0,fb_write_f[3:2]}; // @[Cat.scala 29:58] wire [3:0] _T_120 = _T_100 ? _T_103 : 4'h0; // @[Mux.scala 27:72] wire [3:0] _T_124 = _T_123 | _T_120; // @[Mux.scala 27:72] - wire _T_88 = io_ifu_fb_consume1 | io_ifu_fb_consume2; // @[el2_ifu_ifc_ctrl.scala 116:56] - wire _T_89 = ~_T_88; // @[el2_ifu_ifc_ctrl.scala 116:35] - wire _T_90 = io_ifc_fetch_req_f & _T_89; // @[el2_ifu_ifc_ctrl.scala 116:33] - wire _T_91 = ~miss_f; // @[el2_ifu_ifc_ctrl.scala 116:80] - wire fb_left = _T_90 & _T_91; // @[el2_ifu_ifc_ctrl.scala 116:78] - wire _T_105 = _T_2 & fb_left; // @[el2_ifu_ifc_ctrl.scala 121:16] + wire _T_88 = io_ifu_fb_consume1 | io_ifu_fb_consume2; // @[el2_ifu_ifc_ctrl.scala 110:56] + wire _T_89 = ~_T_88; // @[el2_ifu_ifc_ctrl.scala 110:35] + wire _T_90 = io_ifc_fetch_req_f & _T_89; // @[el2_ifu_ifc_ctrl.scala 110:33] + wire _T_91 = ~miss_f; // @[el2_ifu_ifc_ctrl.scala 110:80] + wire fb_left = _T_90 & _T_91; // @[el2_ifu_ifc_ctrl.scala 110:78] + wire _T_105 = _T_2 & fb_left; // @[el2_ifu_ifc_ctrl.scala 115:16] wire [3:0] _T_108 = {fb_write_f[2:0],1'h0}; // @[Cat.scala 29:58] wire [3:0] _T_121 = _T_105 ? _T_108 : 4'h0; // @[Mux.scala 27:72] wire [3:0] _T_125 = _T_124 | _T_121; // @[Mux.scala 27:72] - wire _T_110 = ~fb_right; // @[el2_ifu_ifc_ctrl.scala 122:18] - wire _T_111 = _T_2 & _T_110; // @[el2_ifu_ifc_ctrl.scala 122:16] - wire _T_112 = ~fb_right2; // @[el2_ifu_ifc_ctrl.scala 122:30] - wire _T_113 = _T_111 & _T_112; // @[el2_ifu_ifc_ctrl.scala 122:28] - wire _T_114 = ~fb_left; // @[el2_ifu_ifc_ctrl.scala 122:43] - wire _T_115 = _T_113 & _T_114; // @[el2_ifu_ifc_ctrl.scala 122:41] + wire _T_110 = ~fb_right; // @[el2_ifu_ifc_ctrl.scala 116:18] + wire _T_111 = _T_2 & _T_110; // @[el2_ifu_ifc_ctrl.scala 116:16] + wire _T_112 = ~fb_right2; // @[el2_ifu_ifc_ctrl.scala 116:30] + wire _T_113 = _T_111 & _T_112; // @[el2_ifu_ifc_ctrl.scala 116:28] + wire _T_114 = ~fb_left; // @[el2_ifu_ifc_ctrl.scala 116:43] + wire _T_115 = _T_113 & _T_114; // @[el2_ifu_ifc_ctrl.scala 116:41] wire [3:0] _T_122 = _T_115 ? fb_write_f : 4'h0; // @[Mux.scala 27:72] wire [3:0] fb_write_ns = _T_125 | _T_122; // @[Mux.scala 27:72] - wire fb_full_f_ns = fb_write_ns[3]; // @[el2_ifu_ifc_ctrl.scala 130:30] - wire _T_34 = fb_full_f_ns & _T_33; // @[el2_ifu_ifc_ctrl.scala 90:68] - wire _T_35 = ~_T_34; // @[el2_ifu_ifc_ctrl.scala 90:53] - wire _T_36 = io_ifc_fetch_req_bf_raw & _T_35; // @[el2_ifu_ifc_ctrl.scala 90:51] - wire _T_37 = ~dma_stall; // @[el2_ifu_ifc_ctrl.scala 91:5] - wire _T_38 = _T_36 & _T_37; // @[el2_ifu_ifc_ctrl.scala 90:114] - wire _T_39 = ~io_ic_write_stall; // @[el2_ifu_ifc_ctrl.scala 91:18] - wire _T_40 = _T_38 & _T_39; // @[el2_ifu_ifc_ctrl.scala 91:16] - wire _T_41 = ~io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 91:39] - wire fetch_bf_en = io_exu_flush_final | io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 93:37] - wire _T_48 = io_ifu_ic_mb_empty | io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 97:39] - wire _T_50 = _T_48 & _T_37; // @[el2_ifu_ifc_ctrl.scala 97:61] - wire _T_52 = _T_50 & _T_91; // @[el2_ifu_ifc_ctrl.scala 97:74] - wire _T_53 = ~miss_a; // @[el2_ifu_ifc_ctrl.scala 97:86] - wire mb_empty_mod = _T_52 & _T_53; // @[el2_ifu_ifc_ctrl.scala 97:84] - wire goto_idle = io_exu_flush_final & io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 99:35] - wire _T_57 = io_exu_flush_final & _T_41; // @[el2_ifu_ifc_ctrl.scala 101:36] - wire leave_idle = _T_57 & idle; // @[el2_ifu_ifc_ctrl.scala 101:67] - wire _T_60 = ~state[1]; // @[el2_ifu_ifc_ctrl.scala 103:23] - wire _T_62 = _T_60 & state[0]; // @[el2_ifu_ifc_ctrl.scala 103:33] - wire _T_63 = _T_62 & miss_f; // @[el2_ifu_ifc_ctrl.scala 103:44] - wire _T_64 = ~goto_idle; // @[el2_ifu_ifc_ctrl.scala 103:55] - wire _T_65 = _T_63 & _T_64; // @[el2_ifu_ifc_ctrl.scala 103:53] - wire _T_67 = ~mb_empty_mod; // @[el2_ifu_ifc_ctrl.scala 104:17] - wire _T_68 = state[1] & _T_67; // @[el2_ifu_ifc_ctrl.scala 104:15] - wire _T_70 = _T_68 & _T_64; // @[el2_ifu_ifc_ctrl.scala 104:31] - wire next_state_1 = _T_65 | _T_70; // @[el2_ifu_ifc_ctrl.scala 103:67] - wire _T_72 = _T_64 & leave_idle; // @[el2_ifu_ifc_ctrl.scala 106:34] - wire _T_75 = state[0] & _T_64; // @[el2_ifu_ifc_ctrl.scala 106:60] - wire next_state_0 = _T_72 | _T_75; // @[el2_ifu_ifc_ctrl.scala 106:48] + wire fb_full_f_ns = fb_write_ns[3]; // @[el2_ifu_ifc_ctrl.scala 124:30] + wire _T_34 = fb_full_f_ns & _T_33; // @[el2_ifu_ifc_ctrl.scala 84:68] + wire _T_35 = ~_T_34; // @[el2_ifu_ifc_ctrl.scala 84:53] + wire _T_36 = io_ifc_fetch_req_bf_raw & _T_35; // @[el2_ifu_ifc_ctrl.scala 84:51] + wire _T_37 = ~dma_stall; // @[el2_ifu_ifc_ctrl.scala 85:5] + wire _T_38 = _T_36 & _T_37; // @[el2_ifu_ifc_ctrl.scala 84:114] + wire _T_39 = ~io_ic_write_stall; // @[el2_ifu_ifc_ctrl.scala 85:18] + wire _T_40 = _T_38 & _T_39; // @[el2_ifu_ifc_ctrl.scala 85:16] + wire _T_41 = ~io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 85:39] + wire fetch_bf_en = io_exu_flush_final | io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 87:37] + wire _T_48 = io_ifu_ic_mb_empty | io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 91:39] + wire _T_50 = _T_48 & _T_37; // @[el2_ifu_ifc_ctrl.scala 91:61] + wire _T_52 = _T_50 & _T_91; // @[el2_ifu_ifc_ctrl.scala 91:74] + wire _T_53 = ~miss_a; // @[el2_ifu_ifc_ctrl.scala 91:86] + wire mb_empty_mod = _T_52 & _T_53; // @[el2_ifu_ifc_ctrl.scala 91:84] + wire goto_idle = io_exu_flush_final & io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 93:35] + wire _T_57 = io_exu_flush_final & _T_41; // @[el2_ifu_ifc_ctrl.scala 95:36] + wire leave_idle = _T_57 & idle; // @[el2_ifu_ifc_ctrl.scala 95:67] + wire _T_60 = ~state[1]; // @[el2_ifu_ifc_ctrl.scala 97:23] + wire _T_62 = _T_60 & state[0]; // @[el2_ifu_ifc_ctrl.scala 97:33] + wire _T_63 = _T_62 & miss_f; // @[el2_ifu_ifc_ctrl.scala 97:44] + wire _T_64 = ~goto_idle; // @[el2_ifu_ifc_ctrl.scala 97:55] + wire _T_65 = _T_63 & _T_64; // @[el2_ifu_ifc_ctrl.scala 97:53] + wire _T_67 = ~mb_empty_mod; // @[el2_ifu_ifc_ctrl.scala 98:17] + wire _T_68 = state[1] & _T_67; // @[el2_ifu_ifc_ctrl.scala 98:15] + wire _T_70 = _T_68 & _T_64; // @[el2_ifu_ifc_ctrl.scala 98:31] + wire next_state_1 = _T_65 | _T_70; // @[el2_ifu_ifc_ctrl.scala 97:67] + wire _T_72 = _T_64 & leave_idle; // @[el2_ifu_ifc_ctrl.scala 100:34] + wire _T_75 = state[0] & _T_64; // @[el2_ifu_ifc_ctrl.scala 100:60] + wire next_state_0 = _T_72 | _T_75; // @[el2_ifu_ifc_ctrl.scala 100:48] wire [1:0] _T_76 = {next_state_1,next_state_0}; // @[Cat.scala 29:58] - wire wfm = state == 2'h3; // @[el2_ifu_ifc_ctrl.scala 128:16] - reg fb_full_f; // @[el2_ifu_ifc_ctrl.scala 131:26] - wire _T_135 = _T_32 | io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 135:61] - wire _T_136 = ~_T_135; // @[el2_ifu_ifc_ctrl.scala 135:19] - wire _T_137 = fb_full_f & _T_136; // @[el2_ifu_ifc_ctrl.scala 135:17] - wire _T_138 = _T_137 | dma_stall; // @[el2_ifu_ifc_ctrl.scala 135:84] - wire _T_139 = io_ifc_fetch_req_bf_raw & _T_138; // @[el2_ifu_ifc_ctrl.scala 134:60] + wire wfm = state == 2'h3; // @[el2_ifu_ifc_ctrl.scala 122:16] + reg fb_full_f; // @[el2_ifu_ifc_ctrl.scala 125:26] + wire _T_135 = _T_32 | io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 129:61] + wire _T_136 = ~_T_135; // @[el2_ifu_ifc_ctrl.scala 129:19] + wire _T_137 = fb_full_f & _T_136; // @[el2_ifu_ifc_ctrl.scala 129:17] + wire _T_138 = _T_137 | dma_stall; // @[el2_ifu_ifc_ctrl.scala 129:84] + wire _T_139 = io_ifc_fetch_req_bf_raw & _T_138; // @[el2_ifu_ifc_ctrl.scala 128:60] wire [31:0] _T_141 = {io_ifc_fetch_addr_bf,1'h0}; // @[Cat.scala 29:58] - wire _T_144 = ~io_ifc_iccm_access_bf; // @[el2_ifu_ifc_ctrl.scala 141:30] - wire _T_147 = fb_full_f & _T_33; // @[el2_ifu_ifc_ctrl.scala 142:16] - wire _T_148 = _T_144 | _T_147; // @[el2_ifu_ifc_ctrl.scala 141:53] - wire _T_149 = ~io_ifc_fetch_req_bf; // @[el2_ifu_ifc_ctrl.scala 143:13] - wire _T_150 = wfm & _T_149; // @[el2_ifu_ifc_ctrl.scala 143:11] - wire _T_151 = _T_148 | _T_150; // @[el2_ifu_ifc_ctrl.scala 142:62] - wire _T_152 = _T_151 | idle; // @[el2_ifu_ifc_ctrl.scala 143:35] - wire _T_154 = _T_152 & _T_2; // @[el2_ifu_ifc_ctrl.scala 143:44] - wire [4:0] _T_157 = {io_ifc_fetch_addr_bf[30:27],1'h0}; // @[Cat.scala 29:58] - wire [31:0] _T_158 = io_dec_tlu_mrac_ff >> _T_157; // @[el2_ifu_ifc_ctrl.scala 145:53] - reg _T_161; // @[el2_ifu_ifc_ctrl.scala 147:32] - reg [30:0] _T_163; // @[Reg.scala 27:20] - assign io_ifc_fetch_addr_f = _T_163; // @[el2_ifu_ifc_ctrl.scala 149:23] - assign io_ifc_fetch_addr_bf = _T_23[30:0]; // @[el2_ifu_ifc_ctrl.scala 76:24] - assign io_ifc_fetch_req_f = _T_161; // @[el2_ifu_ifc_ctrl.scala 147:22] - assign io_ifu_pmu_fetch_stall = wfm | _T_139; // @[el2_ifu_ifc_ctrl.scala 134:26] - assign io_ifc_fetch_uncacheable_bf = ~_T_158[0]; // @[el2_ifu_ifc_ctrl.scala 145:31] - assign io_ifc_fetch_req_bf = _T_40 & _T_41; // @[el2_ifu_ifc_ctrl.scala 90:23] - assign io_ifc_fetch_req_bf_raw = ~idle; // @[el2_ifu_ifc_ctrl.scala 88:27] - assign io_ifc_iccm_access_bf = _T_141[31:16] == 16'hee00; // @[el2_ifu_ifc_ctrl.scala 140:25] - assign io_ifc_region_acc_fault_bf = 1'h0; // @[el2_ifu_ifc_ctrl.scala 41:30] - assign io_ifc_dma_access_ok = _T_154 | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 42:24 el2_ifu_ifc_ctrl.scala 141:24] - assign io_mb_empty_mod = _T_52 & _T_53; // @[el2_ifu_ifc_ctrl.scala 98:19] - assign io_miss_f = _T_45 & _T_2; // @[el2_ifu_ifc_ctrl.scala 96:13] + wire iccm_acc_in_region_bf = _T_141[31:28] == 4'he; // @[el2_lib.scala 211:47] + wire iccm_acc_in_range_bf = _T_141[31:16] == 16'hee00; // @[el2_lib.scala 214:29] + wire _T_144 = ~io_ifc_iccm_access_bf; // @[el2_ifu_ifc_ctrl.scala 135:30] + wire _T_147 = fb_full_f & _T_33; // @[el2_ifu_ifc_ctrl.scala 136:16] + wire _T_148 = _T_144 | _T_147; // @[el2_ifu_ifc_ctrl.scala 135:53] + wire _T_149 = ~io_ifc_fetch_req_bf; // @[el2_ifu_ifc_ctrl.scala 137:13] + wire _T_150 = wfm & _T_149; // @[el2_ifu_ifc_ctrl.scala 137:11] + wire _T_151 = _T_148 | _T_150; // @[el2_ifu_ifc_ctrl.scala 136:62] + wire _T_152 = _T_151 | idle; // @[el2_ifu_ifc_ctrl.scala 137:35] + wire _T_154 = _T_152 & _T_2; // @[el2_ifu_ifc_ctrl.scala 137:44] + wire _T_156 = ~iccm_acc_in_range_bf; // @[el2_ifu_ifc_ctrl.scala 139:33] + wire [4:0] _T_159 = {io_ifc_fetch_addr_bf[30:27],1'h0}; // @[Cat.scala 29:58] + wire [31:0] _T_160 = io_dec_tlu_mrac_ff >> _T_159; // @[el2_ifu_ifc_ctrl.scala 140:53] + reg _T_163; // @[el2_ifu_ifc_ctrl.scala 142:32] + reg [30:0] _T_165; // @[Reg.scala 27:20] + assign io_ifc_fetch_addr_f = _T_165; // @[el2_ifu_ifc_ctrl.scala 144:23] + assign io_ifc_fetch_addr_bf = _T_23[30:0]; // @[el2_ifu_ifc_ctrl.scala 70:24] + assign io_ifc_fetch_req_f = _T_163; // @[el2_ifu_ifc_ctrl.scala 142:22] + assign io_ifu_pmu_fetch_stall = wfm | _T_139; // @[el2_ifu_ifc_ctrl.scala 128:26] + assign io_ifc_fetch_uncacheable_bf = ~_T_160[0]; // @[el2_ifu_ifc_ctrl.scala 140:31] + assign io_ifc_fetch_req_bf = _T_40 & _T_41; // @[el2_ifu_ifc_ctrl.scala 84:23] + assign io_ifc_fetch_req_bf_raw = ~idle; // @[el2_ifu_ifc_ctrl.scala 82:27] + assign io_ifc_iccm_access_bf = _T_141[31:16] == 16'hee00; // @[el2_ifu_ifc_ctrl.scala 134:25] + assign io_ifc_region_acc_fault_bf = _T_156 & iccm_acc_in_region_bf; // @[el2_ifu_ifc_ctrl.scala 139:30] + assign io_ifc_dma_access_ok = _T_154 | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 135:24] `ifdef RANDOMIZE_GARBAGE_ASSIGN `define RANDOMIZE `endif @@ -214,9 +211,9 @@ initial begin _RAND_4 = {1{`RANDOM}}; fb_full_f = _RAND_4[0:0]; _RAND_5 = {1{`RANDOM}}; - _T_161 = _RAND_5[0:0]; + _T_163 = _RAND_5[0:0]; _RAND_6 = {1{`RANDOM}}; - _T_163 = _RAND_6[30:0]; + _T_165 = _RAND_6[30:0]; `endif // RANDOMIZE_REG_INIT `endif // RANDOMIZE end // initial @@ -251,14 +248,14 @@ end // initial fb_full_f <= fb_full_f_ns; end if (reset) begin - _T_161 <= 1'h0; + _T_163 <= 1'h0; end else begin - _T_161 <= io_ifc_fetch_req_bf; + _T_163 <= io_ifc_fetch_req_bf; end if (reset) begin - _T_163 <= 31'h0; + _T_165 <= 31'h0; end else if (fetch_bf_en) begin - _T_163 <= io_ifc_fetch_addr_bf; + _T_165 <= io_ifc_fetch_addr_bf; end end endmodule diff --git a/src/main/scala/ifu/el2_ifu_bp_ctl.scala b/src/main/scala/ifu/el2_ifu_bp_ctl.scala index 1f67a74e..2b37403d 100644 --- a/src/main/scala/ifu/el2_ifu_bp_ctl.scala +++ b/src/main/scala/ifu/el2_ifu_bp_ctl.scala @@ -381,7 +381,6 @@ class el2_ifu_bp_ctl extends Module with el2_lib { bht_bank0_rd_data_f := Mux1H((0 until BHT_ARRAY_DEPTH).map(i=>(bht_rd_addr_f(BHT_ADDR_HI-BHT_ADDR_LO,0)===i.U).asBool->bht_bank_rd_data_out(0)(i))) bht_bank1_rd_data_f := Mux1H((0 until BHT_ARRAY_DEPTH).map(i=>(bht_rd_addr_f(BHT_ADDR_HI-BHT_ADDR_LO,0)===i.U).asBool->bht_bank_rd_data_out(1)(i))) bht_bank0_rd_data_p1_f := Mux1H((0 until BHT_ARRAY_DEPTH).map(i=>(bht_rd_addr_p1_f(BHT_ADDR_HI-BHT_ADDR_LO,0)===i.U).asBool->bht_bank_rd_data_out(1)(i))) - } object ifu_bp extends App { diff --git a/src/main/scala/ifu/el2_ifu_compress_ctl.scala b/src/main/scala/ifu/el2_ifu_compress_ctl.scala index d5794723..ea4bbb36 100644 --- a/src/main/scala/ifu/el2_ifu_compress_ctl.scala +++ b/src/main/scala/ifu/el2_ifu_compress_ctl.scala @@ -14,24 +14,28 @@ class el2_ifu_compress_ctl extends Module { out := (0 until 32).map(i=> 0.U.asBool) out(30) := pat(List(15, -14, -13, 10, -6, -5, 0)) | pat(List(15, -14, -13, -11, 10, 0)) + out(20) := pat(List(-14, 12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, 1)) - out(14) := pat(List(15, -14, -13, -11, 0)) | pat(List(15, -14, -13, -10, 0)) | pat(List(15, -14, -13, 6, 0)) | - pat(List(15, -14, -13, 5, 0)) + + out(14) := pat(List(15, -14, -13, -11, 0)) | pat(List(15, -14, -13, -10, 0)) | pat(List(15, -14, -13, 6, 0)) | pat(List(15, -14, -13, 5, 0)) + out(13) := pat(List(15, -14, -13, 11, -10, 0)) | pat(List(15, -14, -13, 11, 6, 0)) | (io.din(14)&(!io.din(0))) + out(12) := pat(List(15, -14, -13, 6, 5, 0)) | pat(List(15, -14, -13, -11, 0)) | pat(List(15, -14, -13, -10, 0)) | pat(List(-15, -14, 1)) | pat(List(15, 14, 13)) + out(6) := (pat(List(15, -14, -6, -5, -4, -3, -2)) & !io.din(0)) | pat(List(-14, 13)) | pat(List(15, 14, 0)) out(5) := (io.din(15)&(!io.din(0))) | pat(List(15, 11, 10)) | pat(List(13, -8)) | pat(List(13, 7)) | pat(List(13, 9)) | pat(List(13, 10)) | pat(List(13, 11)) | pat(List(-14, 13)) | pat(List(15, 14)) - out(4) := (pat(List(-14, -11, -10, -9, -8, -7))&(!io.din(0))) | (pat(List(-15, -14))&(!io.din(0))) | (pat(List(-14, 6))&(!io.din(0))) | pat(List(-15, 14, 0)) | (pat(List(-14, 5))&(!io.din(0))) | (pat(List(-14, 4))&(!io.din(0))) | (pat(List(-14, 3))&(!io.din(0))) | (pat(List(-14, 2))&(!io.din(0))) | pat(List(-14, -13, 0)) out(3) := pat(List(-14, 13)) + out(2) := pat(List(-14, 12, 11, -6, -5, -4, -3, -2, 1)) | pat(List(-14, 12, 10, -6, -5, -4, -3, -2, 1)) | pat(List(-14, 12, 9, -6, -5, -4, -3, -2, 1)) | pat(List(-14, 12, 8, -6,-5,-4, -3, -2,1)) | pat(List(-14, 12, 7, -6, -5, -4, -3, -2,1)) | (pat(List(15, -14,-12, -6, -5, -4, -3, -2))&(!io.din(0))) | @@ -39,6 +43,7 @@ class el2_ifu_compress_ctl extends Module { pat(List(-15,13,11)) | pat(List(-14,13)) out(1) := 1.U.asBool + out(0) := 1.U.asBool val rs2d = io.din(6,2) @@ -62,29 +67,41 @@ class el2_ifu_compress_ctl extends Module { val rdprs1 = pat(List(15,-13,0)) | pat(List(15,14,0)) | (pat(List(14,-1))&(!io.din(0))) val rs2prs2 = pat(List(15,-14,-13,11,10,0)) | (pat(List(15,-1))&(!io.din(0))) + val rs2prd = pat(List(-15,-1))&(!io.din(0)) + val uimm9_2 = pat(List(-14,-1))&(!io.din(0)) + val ulwimm6_2 = pat(List(-15,14,-1))&(!io.din(0)) + val ulwspimm7_2 = pat(List(-15,14,1)) + val rdeq2 = pat(List(-15,14,13,-11,-10,-9,8,-7)) + val rdeq1 = pat(List(-14,12,11,-6,-5,-4,-3,-2,1)) | pat(List(-14,12,10,-6,-5,-4,-3,-2,1)) | pat(List(-14,12,9,-6,-5,-4,-3,-2,1)) | pat(List(-14,12,8,-6,-5,-4,-3,-2,1)) | pat(List(-14,12,7,-6,-5,-4,-3,-2,1)) | pat(List(-15,-14,13)) + val rs1eq2 = pat(List(-15,14,13,-11,-10,-9,8,-7)) | pat(List(14,1)) | (pat(List(-14,-1))&(!io.din(0))) + val sbroffset8_1 = pat(List(15,14,0)) + val simm9_4 = pat(List(-15,14,13,-11,-10,-9,8,-7)) + val simm5_0 = pat(List(-14,-13,11,-10,0)) | pat(List(-15,-13,0)) + val sjaloffset11_1 = pat(List(-14,13)) - val sluimm17_12 = pat(List(-15,14,13,7)) | - pat(List(-15,14,13,-8)) | - pat(List(-15,14,13,9)) | - pat(List(-15,14,13,10)) | - pat(List(-15,14,13,11)) + + val sluimm17_12 = pat(List(-15,14,13,7)) | pat(List(-15,14,13,-8)) | pat(List(-15,14,13,9)) | pat(List(-15,14,13,10)) | pat(List(-15,14,13,11)) + val uimm5_0 = pat(List(15,-14,-13,-11,0)) | pat(List(-15,-14,1)) + val uswimm6_2 = pat(List(15,-1))&(!io.din(0)) + val uswspimm7_2 = pat(List(15,14,1)) val l1_6 = Cat(out(6),out(5),out(4),out(3),out(2),out(1),out(0)).asUInt() + val l1_11 = Cat(out(11),out(10),out(9),out(8),out(7)).asUInt | Mux1H(Seq(rdrd.asBool->rdd, rdprd.asBool->rdpd, rs2prd.asBool->rs2pd, rdeq1.asBool->1.U(5.W), rdeq2.asBool->2.U(5.W))) @@ -95,7 +112,9 @@ class el2_ifu_compress_ctl extends Module { val l1_24 = Cat(out(24),out(23),out(22),out(21),out(20)).asUInt | Mux1H(Seq(rs2rs2.asBool->rs2d, rs2prs2.asBool->rs2pd)) + val l1_31 = Cat(out(31),out(30),out(29),out(28),out(27),out(26),out(25)).asUInt + val l1 = Cat(l1_31,l1_24,l1_19,l1_14,l1_11,l1_6) val simm5d = Cat(io.din(12), io.din(6,2)) @@ -127,13 +146,16 @@ class el2_ifu_compress_ctl extends Module { val sbr8d = Cat(io.din(12),io.din(6),io.din(5),io.din(2),io.din(11),io.din(10),io.din(4),io.din(3),0.U) val uswimm6d = Cat(io.din(5), io.din(12,10), io.din(6), 0.U(2.W)) val uswspimm7d = Cat(io.din(8,7),io.din(12,9), 0.U(2.W)) + val l3_31 = l2(31,25) | Mux1H(Seq(sbroffset8_1.asBool->Cat(Fill(4,sbr8d(8)),sbr8d(7,5)), - uswimm6_2.asBool->Cat(0.U(5.W),uswimm6d(6,5)), - uswspimm7_2.asBool->Cat(0.U(4.W),uswspimm7d(7,5)))) + uswimm6_2.asBool->Cat(0.U(5.W),uswimm6d(6,5)), uswspimm7_2.asBool->Cat(0.U(4.W),uswspimm7d(7,5)))) + val l3_24 = l2(24,12) + val l3_11 = l2(11,7) | Mux1H(Seq(sbroffset8_1.asBool->Cat(sbr8d(4,1), sbr8d(8)), uswimm6_2.asBool->uswimm6d(4,0), uswspimm7_2.asBool->uswspimm7d(4,0))) + val l3 = Cat(l3_31, l3_24, l3_11, l2(6,0)) val legal = (pat(List(-13,-12,11,1))&(!io.din(0))) | (pat(List(-13,-12,6,1))&(!io.din(0))) | @@ -150,228 +172,6 @@ class el2_ifu_compress_ctl extends Module { io.dout:= l3 & Fill(32, legal) } -//class ExpandedInstruction extends Bundle { -// val bits = UInt(32.W) -// val rd = UInt(5.W) -// val rs1 = UInt(5.W) -// val rs2 = UInt(5.W) -// val rs3 = UInt(5.W) -//} -// -//class RVCDecoder(x: UInt, xLen: Int) { -// def inst(bits: UInt, rd: UInt = x(11,7), rs1: UInt = x(19,15), rs2: UInt = x(24,20), rs3: UInt = x(31,27)) = { -// val res = Wire(new ExpandedInstruction) -// res.bits := bits -// res.rd := rd -// res.rs1 := rs1 -// res.rs2 := rs2 -// res.rs3 := rs3 -// res -// } -// -// def rs1p = Cat(1.U(2.W), x(9,7)) -// def rs2p = Cat(1.U(2.W), x(4,2)) -// def rs2 = x(6,2) -// def rd = x(11,7) -// def addi4spnImm = Cat(x(10,7), x(12,11), x(5), x(6), 0.U(2.W)) -// def lwImm = Cat(x(5), x(12,10), x(6), 0.U(2.W)) -// def ldImm = Cat(x(6,5), x(12,10), 0.U(3.W)) -// def lwspImm = Cat(x(3,2), x(12), x(6,4), 0.U(2.W)) -// def ldspImm = Cat(x(4,2), x(12), x(6,5), 0.U(3.W)) -// def swspImm = Cat(x(8,7), x(12,9), 0.U(2.W)) -// def sdspImm = Cat(x(9,7), x(12,10), 0.U(3.W)) -// def luiImm = Cat(Fill(15, x(12)), x(6,2), 0.U(12.W)) -// def addi16spImm = Cat(Fill(3, x(12)), x(4,3), x(5), x(2), x(6), 0.U(4.W)) -// def addiImm = Cat(Fill(7, x(12)), x(6,2)) -// def jImm = Cat(Fill(10, x(12)), x(8), x(10,9), x(6), x(7), x(2), x(11), x(5,3), 0.U(1.W)) -// def bImm = Cat(Fill(5, x(12)), x(6,5), x(2), x(11,10), x(4,3), 0.U(1.W)) -// def shamt = Cat(x(12), x(6,2)) -// def x0 = 0.U(5.W) -// def ra = 1.U(5.W) -// def sp = 2.U(5.W) -// -// def q0 = { -// def addi4spn = { -// val opc = Mux(x(12,5).orR, 0x13.U(7.W), 0x1F.U(7.W)) -// inst(Cat(addi4spnImm, sp, 0.U(3.W), rs2p, opc), rs2p, sp, rs2p) -// } -// def ld = inst(Cat(ldImm, rs1p, 3.U(3.W), rs2p, 0x03.U(7.W)), rs2p, rs1p, rs2p) -// def lw = inst(Cat(lwImm, rs1p, 2.U(3.W), rs2p, 0x03.U(7.W)), rs2p, rs1p, rs2p) -// def fld = inst(Cat(ldImm, rs1p, 3.U(3.W), rs2p, 0x07.U(7.W)), rs2p, rs1p, rs2p) -// def flw = { -// if (xLen == 32) inst(Cat(lwImm, rs1p, 2.U(3.W), rs2p, 0x07.U(7.W)), rs2p, rs1p, rs2p) -// else ld -// } -// def unimp = inst(Cat(lwImm >> 5, rs2p, rs1p, 2.U(3.W), lwImm(4,0), 0x3F.U(7.W)), rs2p, rs1p, rs2p) -// def sd = inst(Cat(ldImm >> 5, rs2p, rs1p, 3.U(3.W), ldImm(4,0), 0x23.U(7.W)), rs2p, rs1p, rs2p) -// def sw = inst(Cat(lwImm >> 5, rs2p, rs1p, 2.U(3.W), lwImm(4,0), 0x23.U(7.W)), rs2p, rs1p, rs2p) -// def fsd = inst(Cat(ldImm >> 5, rs2p, rs1p, 3.U(3.W), ldImm(4,0), 0x27.U(7.W)), rs2p, rs1p, rs2p) -// def fsw = { -// if (xLen == 32) inst(Cat(lwImm >> 5, rs2p, rs1p, 2.U(3.W), lwImm(4,0), 0x27.U(7.W)), rs2p, rs1p, rs2p) -// else sd -// } -// Seq(addi4spn, fld, lw, flw, unimp, fsd, sw, fsw) -// } -// -// def q1 = { -// def addi = inst(Cat(addiImm, rd, 0.U(3.W), rd, 0x13.U(7.W)), rd, rd, rs2p) -// def addiw = { -// val opc = Mux(rd.orR, 0x1B.U(7.W), 0x1F.U(7.W)) -// inst(Cat(addiImm, rd, 0.U(3.W), rd, opc), rd, rd, rs2p) -// } -// def jal = { -// if (xLen == 32) inst(Cat(jImm(20), jImm(10,1), jImm(11), jImm(19,12), ra, 0x6F.U(7.W)), ra, rd, rs2p) -// else addiw -// } -// def li = inst(Cat(addiImm, x0, 0.U(3.W), rd, 0x13.U(7.W)), rd, x0, rs2p) -// def addi16sp = { -// val opc = Mux(addiImm.orR, 0x13.U(7.W), 0x1F.U(7.W)) -// inst(Cat(addi16spImm, rd, 0.U(3.W), rd, opc), rd, rd, rs2p) -// } -// def lui = { -// val opc = Mux(addiImm.orR, 0x37.U(7.W), 0x3F.U(7.W)) -// val me = inst(Cat(luiImm(31,12), rd, opc), rd, rd, rs2p) -// Mux(rd === x0 || rd === sp, addi16sp, me) -// } -// def j = inst(Cat(jImm(20), jImm(10,1), jImm(11), jImm(19,12), x0, 0x6F.U(7.W)), x0, rs1p, rs2p) -// def beqz = inst(Cat(bImm(12), bImm(10,5), x0, rs1p, 0.U(3.W), bImm(4,1), bImm(11), 0x63.U(7.W)), rs1p, rs1p, x0) -// def bnez = inst(Cat(bImm(12), bImm(10,5), x0, rs1p, 1.U(3.W), bImm(4,1), bImm(11), 0x63.U(7.W)), x0, rs1p, x0) -// def arith = { -// def srli = Cat(shamt, rs1p, 5.U(3.W), rs1p, 0x13.U(7.W)) -// def srai = srli | (1 << 30).U -// def andi = Cat(addiImm, rs1p, 7.U(3.W), rs1p, 0x13.U(7.W)) -// def rtype = { -// val funct = VecInit(0.U, 4.U, 6.U, 7.U, 0.U, 0.U, 2.U, 3.U)(Cat(x(12), x(6,5))) -// val sub = Mux(x(6,5) === 0.U, (1 << 30).U, 0.U) -// val opc = Mux(x(12), 0x3B.U(7.W), 0x33.U(7.W)) -// Cat(rs2p, rs1p, funct, rs1p, opc) | sub -// } -// inst(VecInit(srli, srai, andi, rtype)(x(11,10)), rs1p, rs1p, rs2p) -// } -// Seq(addi, jal, li, lui, arith, j, beqz, bnez) -// } -// -// def q2 = { -// val load_opc = Mux(rd.orR, 0x03.U(7.W), 0x1F.U(7.W)) -// def slli = inst(Cat(shamt, rd, 1.U(3.W), rd, 0x13.U(7.W)), rd, rd, rs2) -// def ldsp = inst(Cat(ldspImm, sp, 3.U(3.W), rd, load_opc), rd, sp, rs2) -// def lwsp = inst(Cat(lwspImm, sp, 2.U(3.W), rd, load_opc), rd, sp, rs2) -// def fldsp = inst(Cat(ldspImm, sp, 3.U(3.W), rd, 0x07.U(7.W)), rd, sp, rs2) -// def flwsp = { -// if (xLen == 32) inst(Cat(lwspImm, sp, 2.U(3.W), rd, 0x07.U(7.W)), rd, sp, rs2) -// else ldsp -// } -// def sdsp = inst(Cat(sdspImm >> 5, rs2, sp, 3.U(3.W), sdspImm(4,0), 0x23.U(7.W)), rd, sp, rs2) -// def swsp = inst(Cat(swspImm >> 5, rs2, sp, 2.U(3.W), swspImm(4,0), 0x23.U(7.W)), rd, sp, rs2) -// def fsdsp = inst(Cat(sdspImm >> 5, rs2, sp, 3.U(3.W), sdspImm(4,0), 0x27.U(7.W)), rd, sp, rs2) -// def fswsp = { -// if (xLen == 32) inst(Cat(swspImm >> 5, rs2, sp, 2.U(3.W), swspImm(4,0), 0x27.U(7.W)), rd, sp, rs2) -// else sdsp -// } -// def jalr = { -// val mv = inst(Cat(rs2, x0, 0.U(3.W), rd, 0x33.U(7.W)), rd, x0, rs2) -// val add = inst(Cat(rs2, rd, 0.U(3.W), rd, 0x33.U(7.W)), rd, rd, rs2) -// val jr = Cat(rs2, rd, 0.U(3.W), x0, 0x67.U(7.W)) -// val reserved = Cat(jr >> 7, 0x1F.U(7.W)) -// val jr_reserved = inst(Mux(rd.orR, jr, reserved), x0, rd, rs2) -// val jr_mv = Mux(rs2.orR, mv, jr_reserved) -// val jalr = Cat(rs2, rd, 0.U(3.W), ra, 0x67.U(7.W)) -// val ebreak = Cat(jr >> 7, 0x73.U(7.W)) | (1 << 20).U -// val jalr_ebreak = inst(Mux(rd.orR, jalr, ebreak), ra, rd, rs2) -// val jalr_add = Mux(rs2.orR, add, jalr_ebreak) -// Mux(x(12), jalr_add, jr_mv) -// } -// Seq(slli, fldsp, lwsp, flwsp, jalr, fsdsp, swsp, fswsp) -// } -// -// def q3 = Seq.fill(8)(passthrough) -// -// def passthrough = inst(x) -// -// def decode = { -// val s = VecInit(q0 ++ q1 ++ q2 ++ q3) -// s(Cat(x(1,0), x(15,13))) -// } -// -// -// -// def changed_q0 = { -// def addi4spn = { -// val opc = Mux(x(12,5).orR, 0x13.U(7.W), 0x1F.U(7.W)) -// inst(Cat(addi4spnImm, sp, 0.U(3.W), rs2p, opc), rs2p, sp, rs2p) -// } -// def ld = inst(Cat(ldImm, rs1p, 3.U(3.W), rs2p, 0x03.U(7.W)), rs2p, rs1p, rs2p) -// def lw = inst(Cat(lwImm, rs1p, 2.U(3.W), rs2p, 0x03.U(7.W)), rs2p, rs1p, rs2p) -// def fld = inst(Cat(ldImm, rs1p, 3.U(3.W), rs2p, 0x07.U(7.W)), rs2p, rs1p, rs2p) -// def flw = { -// if (xLen == 32) inst(Cat(lwImm, rs1p, 2.U(3.W), rs2p, 0x07.U(7.W)), rs2p, rs1p, rs2p) -// else ld -// } -// def unimp = inst(Cat(lwImm >> 5, rs2p, rs1p, 2.U(3.W), lwImm(4,0), 0x3F.U(7.W)), rs2p, rs1p, rs2p) -// def sd = inst(Cat(ldImm >> 5, rs2p, rs1p, 3.U(3.W), ldImm(4,0), 0x23.U(7.W)), rs2p, rs1p, rs2p) -// def sw = inst(Cat(lwImm >> 5, rs2p, rs1p, 2.U(3.W), lwImm(4,0), 0x23.U(7.W)), rs2p, rs1p, rs2p) -// def fsd = inst(Cat(ldImm >> 5, rs2p, rs1p, 3.U(3.W), ldImm(4,0), 0x27.U(7.W)), rs2p, rs1p, rs2p) -// def fsw = { -// if (xLen == 32) inst(Cat(lwImm >> 5, rs2p, rs1p, 2.U(3.W), lwImm(4,0), 0x27.U(7.W)), rs2p, rs1p, rs2p) -// else sd -// } -// addi4spn -// } -// -// def ret_q0 = VecInit(q0) -// def ret_q1 = q1 -// def ret_q2 = q2 -// def ret_q3 = q3 -//} -// -//class el2_ifu_compress_ctl( val XLen: Int, val usingCompressed: Boolean) extends Module { -// val io = IO(new Bundle { -// val din = Input(UInt(32.W)) -// val dout = Output(new ExpandedInstruction) -// //val rvc = Output(Bool()) -// //val legal = Output(Bool()) -// //val waleed_out = Output(UInt(32.W)) -// //val q1_Out = Output(new ExpandedInstruction) -// //val q2_Out = Output(new ExpandedInstruction) -// //val q3_Out = Output(new ExpandedInstruction) -// }) -// if (usingCompressed) { -// val rvc = io.din(1,0) =/= 3.U -// val inst = new RVCDecoder(io.din, XLen) -// val decoded = inst.decode -// io.dout := inst.decode -// //io.out.rd := 0.U -// //io.out.rs1 := 0.U -// //io.out.rs2 := 0.U -// //io.out.rs3 := 0.U -// /*io.legal := (!io.in(13))&(!io.in(12))&(io.in(11))&io.in(1)&(!io.in(0)) | -// (!io.in(13))&(!io.in(12))&(io.in(6))&io.in(1)&(!io.in(0)) | -// (!io.in(15))&(!io.in(13))&io.in(11)(!io.in(1)) | -// (!io.in(13))&(!io.in(12))&io.in(5)&io.in(1)&(!io.in(0)) | -// (!io.in(13))&(!io.in(12))&io.in(10)&(!io.in(1))&io.in(0) | -// (!io.in(15))&(!io.in(13))&io.in(6)&(!io.in(1)) | io.in(15)&(!io.in(12))&(!io.in(1))&io.in(0) | -// (!io.in(13))&(!io.in(12))&io.in(9)&io.in(1)&(!io.in(0)) | -// (!io.in(12))&io.in(6)&(!io.in(1))&io.in(0) | -// (!io.in(15))&(!io.in(13))&io.in(5)&(!io.in(1)) | -// (!io.in(13))&(!io.in(12))&io.in(8)&io.in(1)&(!io.in(0)) | -// (!io.in(12))&io.in(5)&(!io.in(1))&io.in(0) | -// (!io.in(15))&(!io.in(13))&io.in(10)&(!io.in(1)) | (!io.in(13))&(!io.in(12))&io.in(7)&io.in(1)&(!io.in(0)) | -// io.in(12)&io.in(11)&(!io.in(10))&(!io.in(1))&io.in(0) | (!io.in(15))&(!io.in(13))&io.in(9)&(!io.in(1)) | -// (!io.in(13))&(!io.in(12))&io.in(4)&io.in(1)&(!io.in(0)) | io.in(13)&io.in(12)&(!io.in(1))&io.in(0) | -// (!io.in(15))&(!io.in(13))&io.in(8)&(!io.in(1)) | (!io.in(13))&(!io.in(12))&io.in(3)&io.in(1)&(!io.in(0)) | -// io.in(13)&io.in(4)&(!io.in(1))&io.in(0) | (!io.in(13))&(!io.in(12))&io.in(2)&io.in(1)&(!io.in(0)) | -// (!io.in(15))&(!io.in(13))&io.in(7)&(!io.in(1)) | io.in(13)&io.in(3)&(!io.in(1))&io.in(0) | -// io.in(13)&io.in(2)&(!io.in(1))&io.in(0) | io.in(14)&(!io.in(13))&(!io.in(1)) | -// (!io.in(14))&(!io.in(12))&(!io.in(1))&io.in(0) | io.in(15)&(!io.in(13))&io.in(12)&io.in(1)&(!io.in(0)) | -// (!io.in(15))&(!io.in(13))&(!io.in(12))&io.in(1)&(!io.in(0)) | (!io.in(15))&(!io.in(13))&io.in(12)&(!io.in(1)) | -// io.in(14)&(!io.in(13))&(!io.in(0)) -// io.waleed_out := Mux(io.legal,io.out.bits,0.U)*/ -// } else { -// //io.rvc := false.B -// io.dout := new RVCDecoder(io.din, XLen).passthrough -// } -//} - object ifu_compress extends App { println((new chisel3.stage.ChiselStage).emitVerilog(new el2_ifu_compress_ctl())) } diff --git a/src/main/scala/ifu/el2_ifu_ic_mem.scala b/src/main/scala/ifu/el2_ifu_ic_mem.scala index 7255d07f..53a69f6e 100644 --- a/src/main/scala/ifu/el2_ifu_ic_mem.scala +++ b/src/main/scala/ifu/el2_ifu_ic_mem.scala @@ -5,8 +5,6 @@ import chisel3.util._ class el2_ifu_ic_mem extends Module with param{ val io = IO(new Bundle{ - val clk = Input(Bool()) - val rst_l = Input(Bool()) val clk_override = Input(Bool()) val dec_tlu_core_ecc_disable = Input(Bool()) val ic_rw_addr = Input(UInt(31.W)) @@ -67,7 +65,7 @@ class EL2_IC_TAG extends Module with el2_lib with param { val ic_tag_wren = io.ic_wr_en & repl(ICACHE_NUM_WAYS, io.ic_rw_addr(ICACHE_BEAT_ADDR_HI,4)=== repl(ICACHE_NUM_WAYS-1, 1.U)) - val ic_debug_rd_way_en = repl(ICACHE_NUM_WAYS, io.ic_debug_rd_en & io.ic_debug_tag_array) & io.ic_debug_way + val ic_debug_rd_way_en = Fill(ICACHE_NUM_WAYS, io.ic_debug_rd_en & io.ic_debug_tag_array) & io.ic_debug_way val ic_debug_wr_way_en = repl(ICACHE_NUM_WAYS, io.ic_debug_wr_en & io.ic_debug_tag_array) & io.ic_debug_way val ic_tag_clken = repl(ICACHE_NUM_WAYS,io.ic_rd_en | io.clk_override) | io.ic_wr_en | ic_debug_wr_way_en | ic_debug_rd_way_en @@ -169,118 +167,122 @@ class EL2_IC_TAG extends Module with el2_lib with param { class EL2_IC_DATA extends Module with el2_lib { val io = IO (new Bundle{ - val rst_l = Input(UInt(1.W)) - val clk_override = Input(UInt(1.W)) - val ic_rw_addr = Input(UInt((ICACHE_INDEX_HI+1).W)) - val ic_wr_en = Input(UInt(ICACHE_NUM_WAYS.W)) - val ic_rd_en = Input(UInt(1.W)) - val ic_wr_data = Input(Vec(ICACHE_NUM_WAYS, UInt(71.W))) - val ic_rd_data = Output(UInt(64.W)) - val ic_debug_wr_data = Input(UInt(71.W)) - val ic_debug_rd_data = Output(UInt(71.W)) - val ic_parerr = Output(UInt(ICACHE_NUM_WAYS.W)) - val ic_eccerr = Output(UInt(ICACHE_BANKS_WAY.W)) - val ic_debug_addr = Input(UInt((ICACHE_INDEX_HI+1).W)) - val ic_debug_rd_en = Input(UInt(1.W)) - val ic_debug_wr_en = Input(UInt(1.W)) - val ic_debug_tag_array = Input(UInt(1.W)) - val ic_debug_way = Input(UInt(ICACHE_NUM_WAYS.W)) - val ic_premux_data = Input(UInt(64.W)) - val ic_sel_premux_data = Input(Bool()) - val ic_rd_hit = Input(UInt(ICACHE_NUM_WAYS.W)) - val scan_mode = Input(UInt(1.W)) - val test_port2 = Output(UInt()) - val test_port = Output(Vec(ICACHE_BANKS_WAY, Vec(ICACHE_NUM_WAYS, UInt(71.W)))) + val clk_override = Input(Bool()) + val ic_rw_addr = Input(UInt(ICACHE_INDEX_HI.W)) + val ic_wr_en = Input(UInt(ICACHE_NUM_WAYS.W)) + val ic_rd_en = Input(Bool()) + val ic_wr_data = Input(Vec(ICACHE_NUM_WAYS, UInt(71.W))) + val ic_rd_data = Output(UInt(64.W)) + val ic_debug_wr_data = Input(UInt(71.W)) + val ic_debug_rd_data = Output(UInt(71.W)) + val ic_parerr = Output(UInt(ICACHE_NUM_WAYS.W)) + val ic_eccerr = Output(UInt(ICACHE_BANKS_WAY.W)) + val ic_debug_addr = Input(UInt((ICACHE_INDEX_HI-3).W)) + val ic_debug_rd_en = Input(Bool()) + val ic_debug_wr_en = Input(Bool()) + val ic_debug_tag_array = Input(Bool()) + val ic_debug_way = Input(UInt(ICACHE_NUM_WAYS.W)) + val ic_premux_data = Input(UInt(64.W)) + val ic_sel_premux_data = Input(Bool()) + val ic_rd_hit = Input(UInt(ICACHE_NUM_WAYS.W)) + val scan_mode = Input(UInt(1.W)) + + val test = Output(Vec(ICACHE_BANKS_WAY, UInt())) + // val test_port = Output(Vec(ICACHE_BANKS_WAY, Vec(ICACHE_NUM_WAYS, UInt(71.W)))) }) - val ic_debug_rd_way_en = repl(ICACHE_NUM_WAYS, io.ic_debug_rd_en & ~io.ic_debug_tag_array) & io.ic_debug_way - val ic_debug_wr_way_en = repl(ICACHE_NUM_WAYS, io.ic_debug_wr_en & ~io.ic_debug_tag_array) & io.ic_debug_way - val ic_b_sb_wren = VecInit.tabulate(ICACHE_NUM_WAYS)(i=> - io.ic_wr_en|ic_debug_wr_way_en & repl(ICACHE_NUM_WAYS, io.ic_debug_addr(ICACHE_BANK_HI,ICACHE_BANK_LO)===i.U)).reverse - val ic_sb_wr_data = VecInit.tabulate(ICACHE_NUM_WAYS)(i=> - Mux(((io.ic_debug_addr(ICACHE_BANK_HI,ICACHE_BANK_LO)===i.U) & io.ic_debug_wr_en).asBool, io.ic_debug_wr_data, io.ic_wr_data(i))).reverse - val ic_rw_addr_q = Cat(Mux((io.ic_debug_rd_en | io.ic_debug_wr_en).asBool, Cat(io.ic_debug_addr(ICACHE_INDEX_HI,3),0.U(2.W)), io.ic_rw_addr(ICACHE_INDEX_HI,1)), 0.U(1.W)) - val ic_rd_en_with_debug = (io.ic_rd_en | io.ic_debug_rd_en ) & ~(io.ic_wr_en.orR) - val ic_b_rden = (VecInit.tabulate(ICACHE_BANKS_WAY)(i=> - Mux1H(Seq(~ic_rw_addr_q(ICACHE_BANK_HI).asBool -> (i.U === 0.U), - (ic_rw_addr_q(ICACHE_BANK_HI)&(ic_rw_addr_q(2,1)===3.U)).asBool -> (i.U === 0.U), - ic_rw_addr_q(ICACHE_BANK_HI).asBool -> (i.U === 1.U), - (~ic_rw_addr_q(ICACHE_BANK_HI)&(ic_rw_addr_q(2,1)===3.U)).asBool -> (i.U === 1.U))))).reverse.map(_ & ic_rd_en_with_debug) - //val ic_b_sb_rden = ic_b_rden.map(repl(ICACHE_NUM_WAYS, _)) - val ic_bank_way_clken = new Array[UInt](ICACHE_NUM_WAYS) - ic_bank_way_clken(0) = (repl(ICACHE_NUM_WAYS,ic_b_rden(0)) | io.clk_override | ic_b_sb_wren(0)) - for(i<-1 until ICACHE_NUM_WAYS){ - ic_bank_way_clken(i) = (repl(ICACHE_NUM_WAYS,ic_b_rden(0)) | io.clk_override | ic_b_sb_wren(i)) | ic_bank_way_clken(i-1) - } - // TODO: AS it is being used at only one place replace - val ic_rw_addr_q_inc = ic_rw_addr_q(ICACHE_TAG_LO-1,ICACHE_DATA_INDEX_LO) + 1.U - val ic_rw_addr_wrap = ic_rw_addr_q(ICACHE_BANK_HI) & (ic_rw_addr_q(2,1)===3.U) & ic_rd_en_with_debug & ~(io.ic_wr_en.orR) - // All flops rw-address - // rd-enable as it is a sync mem - val ic_rw_addr_ff = RegNext(ic_rw_addr_q, init = 0.U) - val ic_b_rden_ff = RegNext(ic_b_rden.reverse.reduce(Cat(_,_)), init = 0.U) - val ic_debug_rd_way_en_ff = RegNext(ic_debug_rd_way_en, init = 0.U) - val ic_debug_rd_en_ff = RegNext(io.ic_debug_rd_en, init = 0.U) - val ic_cacheline_wrap_ff = ic_rw_addr_ff(ICACHE_TAG_INDEX_LO-1,ICACHE_BANK_LO) === repl(ICACHE_TAG_INDEX_LO - ICACHE_BANK_LO, 1.U) - - val ic_rw_addr_bank_q = Wire(Vec(ICACHE_BANKS_WAY,UInt((ICACHE_INDEX_HI+1).W))) - ic_rw_addr_bank_q(0) := Mux(~ic_rw_addr_wrap.asBool, ic_rw_addr_q(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO), Cat(ic_rw_addr_q(ICACHE_INDEX_HI, ICACHE_TAG_INDEX_LO), ic_rw_addr_q_inc(ICACHE_TAG_INDEX_LO-1, ICACHE_DATA_INDEX_LO))) - ic_rw_addr_bank_q(1) := ic_rw_addr_q(ICACHE_INDEX_HI, ICACHE_DATA_INDEX_LO) - val (data_mem_word, tag_mem_word, ecc_offset) = DATA_MEM_LINE - // Making a memory with Location=ICACHE_DATA_DEPTH banks and ways - val data_mem = SyncReadMem(ICACHE_DATA_DEPTH, Vec(ICACHE_BANKS_WAY,Vec(ICACHE_NUM_WAYS, UInt(data_mem_word.W)))) - data_mem(ic_rw_addr_bank_q(0)(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO))(0)(0):= ic_sb_wr_data(0) - val wb_dout = Wire(Vec(ICACHE_NUM_WAYS, Vec(ICACHE_BANKS_WAY, UInt(data_mem_word.W)))) - // Initializing the wire - wb_dout.indices.foreach { i => wb_dout(i).indices.foreach{ j=> - wb_dout(i)(j) := 0.U - when(ic_sb_wr_data(i)(j) & ic_bank_way_clken(i)(j)){ - data_mem(ic_rw_addr_bank_q(j)(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO))(j)(i) := ic_sb_wr_data(j) - } - wb_dout(i)(j) := data_mem(ic_rw_addr_bank_q(j)(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO))(i)(j) - } - } - val wb_dout_way_pre_lower = (0 until ICACHE_NUM_WAYS).map(i=> - (0 until ICACHE_BANKS_WAY).map(j=> - repl(data_mem_word,ic_rw_addr_ff(ICACHE_BANK_HI, ICACHE_BANK_LO)===j.U)&wb_dout(i)(j)).reduce(_|_)) - - val wb_dout_way_pre_upper = (0 until ICACHE_NUM_WAYS).map(i=> - (0 until ICACHE_BANKS_WAY).map(j=> - repl(data_mem_word,ic_rw_addr_ff(ICACHE_BANK_HI, ICACHE_BANK_LO)===j.U-1.U)&wb_dout(i)(j)).reduce(_|_)) - - val wb_dout_way_pre = (0 until ICACHE_NUM_WAYS).map(i=>Cat(wb_dout_way_pre_upper(i),wb_dout_way_pre_lower(i))) - - // TODO: Put an assertion here - val wb_dout_way = (0 until ICACHE_NUM_WAYS).map(i=> - repl(64 ,ic_rw_addr_ff(2,1)===0.U) & wb_dout_way_pre(i)(63,0) | - repl(64 ,ic_rw_addr_ff(2,1)===1.U) & Cat(wb_dout_way_pre(i)(ecc_offset+15,ecc_offset),wb_dout_way_pre(i)(63,16)) | - repl(64 ,ic_rw_addr_ff(2,1)===2.U) & Cat(wb_dout_way_pre(i)(ecc_offset+31,ecc_offset),wb_dout_way_pre(i)(63,32)) | - repl(64 ,ic_rw_addr_ff(2,1)===3.U) & Cat(wb_dout_way_pre(i)(ecc_offset+47,ecc_offset),wb_dout_way_pre(i)(63,48)) - ) - // ic_rw_addr_ff(ICACHE_BANK_HI,ICACHE_BANK_LO)===1.U -> wb_dout(1)(0))) - val ic_rd_hit_q = Mux(ic_debug_rd_en_ff===1.U, ic_debug_rd_way_en_ff, io.ic_rd_hit) ; - val wb_dout_way_with_premux = wb_dout_way.map(Mux(io.ic_sel_premux_data, io.ic_premux_data, _)) + io.ic_rd_data := 0.U io.ic_debug_rd_data := 0.U io.ic_parerr := 0.U io.ic_eccerr := 0.U + val ic_debug_rd_way_en = Fill(ICACHE_NUM_WAYS, io.ic_debug_rd_en & !io.ic_debug_tag_array) & io.ic_debug_way + val ic_debug_wr_way_en = repl(ICACHE_NUM_WAYS, io.ic_debug_wr_en & !io.ic_debug_tag_array) & io.ic_debug_way - io.ic_rd_data := Mux1H_LM((0 until ICACHE_NUM_WAYS).map(i => ic_rd_hit_q(i) | io.ic_sel_premux_data), - (0 until ICACHE_NUM_WAYS).map(wb_dout_way_with_premux(_))) - io.ic_debug_rd_data := Mux1H_LM((0 until ICACHE_NUM_WAYS).map(i => ic_rd_hit_q(i)), - (0 until ICACHE_NUM_WAYS).map(wb_dout_way_pre(_)(data_mem_word-1,0))) - val wb_dout_ecc = Mux1H_LM((0 until ICACHE_NUM_WAYS).map(i => ic_rd_hit_q(i)), - (0 until ICACHE_NUM_WAYS).map(wb_dout_way_pre(_))) - io.test_port2 := 0.U//inter2//wb_dout_way_pre - io.test_port := wb_dout + val ic_bank_wr_data = WireInit(UInt(71.W)) + val ic_rw_addr_q = WireInit(UInt(ICACHE_INDEX_HI.W), 0.U) + val ic_rd_en_with_debug = WireInit(Bool(), 0.U) - //data_mem(ic_rw_addr_bank_q)(ICACHE_BANK_HI,ICACHE_BANK_LO)(ic_debug_rd_way_en) - //ic_memory.write(io.ic_rw_addr, io.ic_wr_data, io.mask) - //io.ic_debug_rd_data := 0.U - //io.ic_rd_data := 0.U - //io.ic_eccerr := 0.U - //io.ic_parerr := 0.U - //val (a,b) = DATA_MEM_LINE -//println(s"${DATA_MEM_LINE._2}") + val ic_b_sb_wren = (0 until ICACHE_NUM_WAYS).map(i=> + io.ic_wr_en | ic_debug_wr_way_en & Fill(ICACHE_NUM_WAYS, io.ic_debug_addr(ICACHE_BANK_HI-3,ICACHE_BANK_LO-3)===i.U)) + //val ic_debug_sel_sb = (0 until ICACHE_NUM_WAYS).map(i=> (io.ic_debug_addr(ICACHE_BANK_HI-3,ICACHE_BANK_LO-3)===i.U).asBool).reverse.reduce(Cat(_,_)) + //val ic_sb_wr_data = (0 until ICACHE_NUM_WAYS).map(i=> Mux((ic_debug_sel_sb(i)&io.ic_debug_wr_en).asBool, io.ic_debug_wr_data, ic_bank_wr_data(i))) + val ic_b_rden = VecInit.tabulate(ICACHE_BANKS_WAY)(i=> + Mux1H(Seq(!ic_rw_addr_q(ICACHE_BANK_HI-1).asBool -> (i.U === 0.U), + (ic_rw_addr_q(ICACHE_BANK_HI-1)).asBool -> ((ic_rw_addr_q(1,0)===3.U)&(i.U===0.U)), + ic_rw_addr_q(ICACHE_BANK_HI-1).asBool -> (i.U === 1.U), + (!ic_rw_addr_q(ICACHE_BANK_HI-1)).asBool -> ((ic_rw_addr_q(1,0)===3.U)&(i.U === 1.U)))) & ic_rd_en_with_debug) + val ic_b_sb_rden = ic_b_rden.map(Fill(ICACHE_NUM_WAYS, _)) +// val ic_bank_way_clken = (0 until ICACHE_BANKS_WAY).map(i=>(0 until ICACHE_NUM_WAYS).map(j=> +// ic_b_sb_rden(i)(j) | io.clk_override | ic_b_sb_wren(i)(j)).reduce(Cat(_,_))) + + + +// val ic_bank_way_clken = new Array[UInt](ICACHE_NUM_WAYS) +// ic_bank_way_clken(0) = (repl(ICACHE_NUM_WAYS,ic_b_rden(0)) | io.clk_override | ic_b_sb_wren(0)) +// for(i<-1 until ICACHE_NUM_WAYS){ +// ic_bank_way_clken(i) = (repl(ICACHE_NUM_WAYS,ic_b_rden(0)) | io.clk_override | ic_b_sb_wren(i)) | ic_bank_way_clken(i-1) +// } +// // TODO: AS it is being used at only one place replace +// val ic_rw_addr_q_inc = ic_rw_addr_q(ICACHE_TAG_LO-1,ICACHE_DATA_INDEX_LO) + 1.U +// val ic_rw_addr_wrap = ic_rw_addr_q(ICACHE_BANK_HI) & (ic_rw_addr_q(2,1)===3.U) & ic_rd_en_with_debug & ~(io.ic_wr_en.orR) +// // All flops rw-address +// // rd-enable as it is a sync mem +// val ic_rw_addr_ff = RegNext(ic_rw_addr_q, init = 0.U) +// val ic_b_rden_ff = RegNext(ic_b_rden.reverse.reduce(Cat(_,_)), init = 0.U) +// val ic_debug_rd_way_en_ff = RegNext(ic_debug_rd_way_en, init = 0.U) +// val ic_debug_rd_en_ff = RegNext(io.ic_debug_rd_en, init = 0.U) +// val ic_cacheline_wrap_ff = ic_rw_addr_ff(ICACHE_TAG_INDEX_LO-1,ICACHE_BANK_LO) === repl(ICACHE_TAG_INDEX_LO - ICACHE_BANK_LO, 1.U) +// +// val ic_rw_addr_bank_q = Wire(Vec(ICACHE_BANKS_WAY,UInt((ICACHE_INDEX_HI+1).W))) +// ic_rw_addr_bank_q(0) := Mux(~ic_rw_addr_wrap.asBool, ic_rw_addr_q(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO), Cat(ic_rw_addr_q(ICACHE_INDEX_HI, ICACHE_TAG_INDEX_LO), ic_rw_addr_q_inc(ICACHE_TAG_INDEX_LO-1, ICACHE_DATA_INDEX_LO))) +// ic_rw_addr_bank_q(1) := ic_rw_addr_q(ICACHE_INDEX_HI, ICACHE_DATA_INDEX_LO) +// val (data_mem_word, tag_mem_word, ecc_offset) = DATA_MEM_LINE +// // Making a memory with Location=ICACHE_DATA_DEPTH banks and ways +// val data_mem = SyncReadMem(ICACHE_DATA_DEPTH, Vec(ICACHE_BANKS_WAY,Vec(ICACHE_NUM_WAYS, UInt(data_mem_word.W)))) +// data_mem(ic_rw_addr_bank_q(0)(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO))(0)(0):= ic_sb_wr_data(0) +// val wb_dout = Wire(Vec(ICACHE_NUM_WAYS, Vec(ICACHE_BANKS_WAY, UInt(data_mem_word.W)))) +// // Initializing the wire +// wb_dout.indices.foreach { i => wb_dout(i).indices.foreach{ j=> +// wb_dout(i)(j) := 0.U +// when(ic_sb_wr_data(i)(j) & ic_bank_way_clken(i)(j)){ +// data_mem(ic_rw_addr_bank_q(j)(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO))(j)(i) := ic_sb_wr_data(j) +// } +// wb_dout(i)(j) := data_mem(ic_rw_addr_bank_q(j)(ICACHE_INDEX_HI,ICACHE_DATA_INDEX_LO))(i)(j) +// } +// } +// val wb_dout_way_pre_lower = (0 until ICACHE_NUM_WAYS).map(i=> +// (0 until ICACHE_BANKS_WAY).map(j=> +// repl(data_mem_word,ic_rw_addr_ff(ICACHE_BANK_HI, ICACHE_BANK_LO)===j.U)&wb_dout(i)(j)).reduce(_|_)) +// +// val wb_dout_way_pre_upper = (0 until ICACHE_NUM_WAYS).map(i=> +// (0 until ICACHE_BANKS_WAY).map(j=> +// repl(data_mem_word,ic_rw_addr_ff(ICACHE_BANK_HI, ICACHE_BANK_LO)===j.U-1.U)&wb_dout(i)(j)).reduce(_|_)) +// +// val wb_dout_way_pre = (0 until ICACHE_NUM_WAYS).map(i=>Cat(wb_dout_way_pre_upper(i),wb_dout_way_pre_lower(i))) +// +// // TODO: Put an assertion here +// val wb_dout_way = (0 until ICACHE_NUM_WAYS).map(i=> +// repl(64 ,ic_rw_addr_ff(2,1)===0.U) & wb_dout_way_pre(i)(63,0) | +// repl(64 ,ic_rw_addr_ff(2,1)===1.U) & Cat(wb_dout_way_pre(i)(ecc_offset+15,ecc_offset),wb_dout_way_pre(i)(63,16)) | +// repl(64 ,ic_rw_addr_ff(2,1)===2.U) & Cat(wb_dout_way_pre(i)(ecc_offset+31,ecc_offset),wb_dout_way_pre(i)(63,32)) | +// repl(64 ,ic_rw_addr_ff(2,1)===3.U) & Cat(wb_dout_way_pre(i)(ecc_offset+47,ecc_offset),wb_dout_way_pre(i)(63,48)) +// ) +// // ic_rw_addr_ff(ICACHE_BANK_HI,ICACHE_BANK_LO)===1.U -> wb_dout(1)(0))) +// val ic_rd_hit_q = Mux(ic_debug_rd_en_ff===1.U, ic_debug_rd_way_en_ff, io.ic_rd_hit) ; +// val wb_dout_way_with_premux = wb_dout_way.map(Mux(io.ic_sel_premux_data, io.ic_premux_data, _)) +// +// io.ic_debug_rd_data := 0.U +// io.ic_parerr := 0.U +// io.ic_eccerr := 0.U +// +// io.ic_rd_data := Mux1H_LM((0 until ICACHE_NUM_WAYS).map(i => ic_rd_hit_q(i) | io.ic_sel_premux_data), +// (0 until ICACHE_NUM_WAYS).map(wb_dout_way_with_premux(_))) +// io.ic_debug_rd_data := Mux1H_LM((0 until ICACHE_NUM_WAYS).map(i => ic_rd_hit_q(i)), +// (0 until ICACHE_NUM_WAYS).map(wb_dout_way_pre(_)(data_mem_word-1,0))) +// val wb_dout_ecc = Mux1H_LM((0 until ICACHE_NUM_WAYS).map(i => ic_rd_hit_q(i)), +// (0 until ICACHE_NUM_WAYS).map(wb_dout_way_pre(_))) +// io.test_port2 := 0.U//inter2//wb_dout_way_pre +// io.test_port := wb_dout } object ifu_ic extends App { diff --git a/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala b/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala index 679befa3..137ead24 100644 --- a/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala +++ b/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala @@ -5,9 +5,7 @@ import chisel3.util._ class el2_ifu_ifc_ctrl extends Module with el2_lib { val io = IO(new Bundle{ - val free_clk = Input(Bool()) val active_clk = Input(Bool()) - val rst_l = Input(Bool()) val scan_mode = Input(Bool()) val ic_hit_f = Input(Bool()) val ifu_ic_mb_empty = Input(Bool()) @@ -34,12 +32,8 @@ val io = IO(new Bundle{ val ifc_iccm_access_bf = Output(Bool()) val ifc_region_acc_fault_bf = Output(Bool()) val ifc_dma_access_ok = Output(Bool()) - val mb_empty_mod = Output(Bool()) - val miss_f = Output(Bool()) }) - io.ifc_region_acc_fault_bf := 0.U - io.ifc_dma_access_ok := 0.U val fetch_addr_bf = WireInit(UInt(32.W), init = 0.U) val fetch_addr_next = WireInit(UInt(32.W), init = 0.U) val fb_write_ns = WireInit(UInt(4.W), init = 0.U) @@ -93,9 +87,9 @@ val io = IO(new Bundle{ fetch_bf_en := io.exu_flush_final | io.ifc_fetch_req_f miss_f := io.ifc_fetch_req_f & !io.ic_hit_f & !io.exu_flush_final - io.miss_f := miss_f + mb_empty_mod := (io.ifu_ic_mb_empty | io.exu_flush_final) & !dma_stall & !miss_f & !miss_a - io.mb_empty_mod := mb_empty_mod + goto_idle := io.exu_flush_final & io.dec_tlu_flush_noredir_wb leave_idle := io.exu_flush_final & !io.dec_tlu_flush_noredir_wb & idle @@ -142,6 +136,7 @@ val io = IO(new Bundle{ (fb_full_f & !(io.ifu_fb_consume2 | io.ifu_fb_consume1)) | (wfm & !io.ifc_fetch_req_bf) | idle ) & !io.exu_flush_final) | dma_iccm_stall_any_f + io.ifc_region_acc_fault_bf := ~iccm_acc_in_range_bf & iccm_acc_in_region_bf io.ifc_fetch_uncacheable_bf := ~io.dec_tlu_mrac_ff(Cat(io.ifc_fetch_addr_bf(30,27), 0.U)) io.ifc_fetch_req_f := RegNext(io.ifc_fetch_req_bf, init=0.U) diff --git a/src/main/scala/lib/el2_lib.scala b/src/main/scala/lib/el2_lib.scala index f4dff7bf..90775a00 100644 --- a/src/main/scala/lib/el2_lib.scala +++ b/src/main/scala/lib/el2_lib.scala @@ -33,14 +33,14 @@ trait param { val DATA_ACCESS_ADDR5 = 0x00000000 //.U(32.W) val DATA_ACCESS_ADDR6 = 0x00000000 //.U(32.W) val DATA_ACCESS_ADDR7 = 0x00000000 //.U(32.W) - val DATA_ACCESS_ENABLE0 = 0x1 //.U(1.W) - val DATA_ACCESS_ENABLE1 = 0x1 //.U(1.W) - val DATA_ACCESS_ENABLE2 = 0x1 //.U(1.W) - val DATA_ACCESS_ENABLE3 = 0x1 //.U(1.W) - val DATA_ACCESS_ENABLE4 = 0x0 //.U(1.W) - val DATA_ACCESS_ENABLE5 = 0x0 //.U(1.W) - val DATA_ACCESS_ENABLE6 = 0x0 //.U(1.W) - val DATA_ACCESS_ENABLE7 = 0x0 //.U(1.W) + val DATA_ACCESS_ENABLE0 = true //.U(1.W) + val DATA_ACCESS_ENABLE1 = true //.U(1.W) + val DATA_ACCESS_ENABLE2 = true //.U(1.W) + val DATA_ACCESS_ENABLE3 = true //.U(1.W) + val DATA_ACCESS_ENABLE4 = false //.U(1.W) + val DATA_ACCESS_ENABLE5 = false //.U(1.W) + val DATA_ACCESS_ENABLE6 = false //.U(1.W) + val DATA_ACCESS_ENABLE7 = false //.U(1.W) val DATA_ACCESS_MASK0 = 0x7FFFFFFF //.U(32.W) val DATA_ACCESS_MASK1 = 0x3FFFFFFF //.U(32.W) val DATA_ACCESS_MASK2 = 0x1FFFFFFF //.U(32.W) @@ -49,21 +49,21 @@ trait param { val DATA_ACCESS_MASK5 = 0xFFFFFFFF //.U(32.W) val DATA_ACCESS_MASK6 = 0xFFFFFFFF //.U(32.W) val DATA_ACCESS_MASK7 = 0xFFFFFFFF //.U(32.W) - val DCCM_BANK_BITS = 0x2 //.U(3.W) - val DCCM_BITS = 0x10 //.U(5.W) - val DCCM_BYTE_WIDTH = 0x4 //.U(3.W) - val DCCM_DATA_WIDTH = 0x20 //.U(6.W) - val DCCM_ECC_WIDTH = 0x7 //.U(3.W) - val DCCM_ENABLE = 0x1 //.U(1.W) + val DCCM_BANK_BITS = 2 //.U(3.W) + val DCCM_BITS = 16 //.U(5.W) + val DCCM_BYTE_WIDTH = 4 //.U(3.W) + val DCCM_DATA_WIDTH = 32 //.U(6.W) + val DCCM_ECC_WIDTH = 7 //.U(3.W) + val DCCM_ENABLE = true //.U(1.W) val DCCM_FDATA_WIDTH = 0x27 //.U(6.W) val DCCM_INDEX_BITS = 0xC //.U(4.W) val DCCM_NUM_BANKS = 0x04 //.U(5.W) - val DCCM_REGION = 0xF //.U(4.W) + val DCCM_REGION = 15 //.U(4.W) val DCCM_SADR = 0xF0040000 val DCCM_SIZE = 0x040 - val DCCM_WIDTH_BITS = 0x2 //.U(2.W) - val DMA_BUF_DEPTH = 0x5 //.U(3.W) - val DMA_BUS_ID = 0x1 //.U(1.W) + val DCCM_WIDTH_BITS = 2 //.U(2.W) + val DMA_BUF_DEPTH = 5 //.U(3.W) + val DMA_BUS_ID = true //.U(1.W) val DMA_BUS_PRTY = 0x2 //.U(2.W) val DMA_BUS_TAG = 0x1 //.U(4.W) val FAST_INTERRUPT_REDIRECT= 0x1 //.U(1.W) @@ -94,11 +94,11 @@ trait param { val ICACHE_TAG_LO = 13 val ICACHE_WAYPACK = false val ICCM_BANK_BITS = 2 - val ICCM_BANK_HI = 0x03 //.U(5.W) - val ICCM_BANK_INDEX_LO = 0x04 //.U(5.W) - val ICCM_BITS = 0x10 //.U(5.W) + val ICCM_BANK_HI = 3 //.U(5.W) + val ICCM_BANK_INDEX_LO = 4 //.U(5.W) + val ICCM_BITS = 16 //.U(5.W) val ICCM_ENABLE = true //.U(1.W) - val ICCM_ICACHE = 0x1 //.U(1.W) + val ICCM_ICACHE = true //.U(1.W) val ICCM_INDEX_BITS = 0xC //.U(4.W) val ICCM_NUM_BANKS = 0x04 //.U(5.W) val ICCM_ONLY = 0x0 //.U(1.W) @@ -155,7 +155,9 @@ trait param { val SB_BUS_PRTY = 0x2 //.U(2.W) val SB_BUS_TAG = 0x1 //.U(4.W) val TIMER_LEGAL_EN = 0x1 //.U(1.W) +} +trait el2_lib extends param{ // Configuration Methods def MEM_CAL : (Int, Int, Int)= (ICACHE_WAYPACK, ICACHE_ECC) match{ @@ -164,13 +166,8 @@ trait param { case(true,false) => (68*ICACHE_NUM_WAYS,22*ICACHE_NUM_WAYS, 68) case(true,true) => (71*ICACHE_NUM_WAYS,26*ICACHE_NUM_WAYS, 71) } - val DATA_MEM_LINE = MEM_CAL -} - -trait el2_lib extends param{ - def el2_btb_tag_hash(pc : UInt) = VecInit.tabulate(3)(i => pc(BTB_ADDR_HI+((i+1)*(BTB_BTAG_SIZE)),BTB_ADDR_HI+(i*BTB_BTAG_SIZE)+1)).reduce(_^_) diff --git a/target/scala-2.12/classes/ifu/EL2_IC_DATA$$anon$3.class b/target/scala-2.12/classes/ifu/EL2_IC_DATA$$anon$3.class index b607867b..d6dfb261 100644 Binary files a/target/scala-2.12/classes/ifu/EL2_IC_DATA$$anon$3.class and b/target/scala-2.12/classes/ifu/EL2_IC_DATA$$anon$3.class differ diff --git a/target/scala-2.12/classes/ifu/EL2_IC_DATA.class b/target/scala-2.12/classes/ifu/EL2_IC_DATA.class index 397e6c6d..b6f64a16 100644 Binary files a/target/scala-2.12/classes/ifu/EL2_IC_DATA.class and b/target/scala-2.12/classes/ifu/EL2_IC_DATA.class differ diff --git a/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class b/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class index b51cdbeb..d94f9828 100644 Binary files a/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class and b/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class differ diff --git a/target/scala-2.12/classes/ifu/EL2_IC_TAG.class b/target/scala-2.12/classes/ifu/EL2_IC_TAG.class index 8106fc70..fa64449d 100644 Binary files a/target/scala-2.12/classes/ifu/EL2_IC_TAG.class and b/target/scala-2.12/classes/ifu/EL2_IC_TAG.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_aln_ctl.class b/target/scala-2.12/classes/ifu/el2_ifu_aln_ctl.class index 9b69d0a0..01103266 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_aln_ctl.class and b/target/scala-2.12/classes/ifu/el2_ifu_aln_ctl.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_bp_ctl.class b/target/scala-2.12/classes/ifu/el2_ifu_bp_ctl.class index 736c5759..bc76763e 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_bp_ctl.class and b/target/scala-2.12/classes/ifu/el2_ifu_bp_ctl.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_compress_ctl.class b/target/scala-2.12/classes/ifu/el2_ifu_compress_ctl.class index 1658c153..3ac82e54 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_compress_ctl.class and b/target/scala-2.12/classes/ifu/el2_ifu_compress_ctl.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_ic_mem$$anon$1.class b/target/scala-2.12/classes/ifu/el2_ifu_ic_mem$$anon$1.class index 8d0aab55..0d81cdd8 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_ic_mem$$anon$1.class and b/target/scala-2.12/classes/ifu/el2_ifu_ic_mem$$anon$1.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_ic_mem.class b/target/scala-2.12/classes/ifu/el2_ifu_ic_mem.class index bb680670..4b3b05e8 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_ic_mem.class and b/target/scala-2.12/classes/ifu/el2_ifu_ic_mem.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl$$anon$1.class b/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl$$anon$1.class index 1acb0ed7..f9b4cd06 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl$$anon$1.class and b/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl$$anon$1.class differ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl.class b/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl.class index 63e14135..97ab71e5 100644 Binary files a/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl.class and b/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctrl.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_bp$.class b/target/scala-2.12/classes/ifu/ifu_bp$.class index 488da2fa..910a93a3 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_bp$.class and b/target/scala-2.12/classes/ifu/ifu_bp$.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_bp$delayedInit$body.class b/target/scala-2.12/classes/ifu/ifu_bp$delayedInit$body.class index 858ead1a..34f3cbf0 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_bp$delayedInit$body.class and b/target/scala-2.12/classes/ifu/ifu_bp$delayedInit$body.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_compress$.class b/target/scala-2.12/classes/ifu/ifu_compress$.class index 5ba05f3f..335b0929 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_compress$.class and b/target/scala-2.12/classes/ifu/ifu_compress$.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_compress$delayedInit$body.class b/target/scala-2.12/classes/ifu/ifu_compress$delayedInit$body.class index 9cb753b0..e58a5f55 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_compress$delayedInit$body.class and b/target/scala-2.12/classes/ifu/ifu_compress$delayedInit$body.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_ic$.class b/target/scala-2.12/classes/ifu/ifu_ic$.class index 1f6cbef6..f2ae1946 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_ic$.class and b/target/scala-2.12/classes/ifu/ifu_ic$.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class b/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class index 7d7451c1..e896ed9e 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class and b/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_ifc$.class b/target/scala-2.12/classes/ifu/ifu_ifc$.class index 822346f5..8e41687e 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_ifc$.class and b/target/scala-2.12/classes/ifu/ifu_ifc$.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_ifc$delayedInit$body.class b/target/scala-2.12/classes/ifu/ifu_ifc$delayedInit$body.class index 393e1c44..38f0f6e9 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_ifc$delayedInit$body.class and b/target/scala-2.12/classes/ifu/ifu_ifc$delayedInit$body.class differ diff --git a/target/scala-2.12/classes/lib/el2_lib$rvecc_decode$$anon$1.class b/target/scala-2.12/classes/lib/el2_lib$rvecc_decode$$anon$1.class index 7f965017..16ef5eba 100644 Binary files a/target/scala-2.12/classes/lib/el2_lib$rvecc_decode$$anon$1.class and b/target/scala-2.12/classes/lib/el2_lib$rvecc_decode$$anon$1.class differ diff --git a/target/scala-2.12/classes/lib/el2_lib$rvecc_decode.class b/target/scala-2.12/classes/lib/el2_lib$rvecc_decode.class index 5dd1f636..cc371883 100644 Binary files a/target/scala-2.12/classes/lib/el2_lib$rvecc_decode.class and b/target/scala-2.12/classes/lib/el2_lib$rvecc_decode.class differ diff --git a/target/scala-2.12/classes/lib/el2_lib.class b/target/scala-2.12/classes/lib/el2_lib.class index e6541b5c..952a9c2a 100644 Binary files a/target/scala-2.12/classes/lib/el2_lib.class and b/target/scala-2.12/classes/lib/el2_lib.class differ diff --git a/target/scala-2.12/classes/lib/param.class b/target/scala-2.12/classes/lib/param.class index cd73aa6c..0d8be744 100644 Binary files a/target/scala-2.12/classes/lib/param.class and b/target/scala-2.12/classes/lib/param.class differ diff --git a/target/scala-2.12/classes/lib/rvdffs.class b/target/scala-2.12/classes/lib/rvdffs.class index 73bdaa46..9b3467f5 100644 Binary files a/target/scala-2.12/classes/lib/rvdffs.class and b/target/scala-2.12/classes/lib/rvdffs.class differ diff --git a/target/scala-2.12/classes/lib/rvdffsc.class b/target/scala-2.12/classes/lib/rvdffsc.class index d905bbfa..6adcb554 100644 Binary files a/target/scala-2.12/classes/lib/rvdffsc.class and b/target/scala-2.12/classes/lib/rvdffsc.class differ