From 0228097e51a59d1395a2f57e157f2d7d937996e8 Mon Sep 17 00:00:00 2001 From: waleed-lm Date: Fri, 25 Sep 2020 12:15:14 +0500 Subject: [PATCH] IFC --- el2_ifu_bp_ctl.fir | 310 +++- el2_ifu_compress.fir | 1606 ++++++++--------- el2_ifu_compress.v | 426 ++--- el2_ifu_ifc_ctrl.anno.json | 14 + el2_ifu_ifc_ctrl.fir | 372 ++-- el2_ifu_ifc_ctrl.v | 201 ++- encoder_generator.anno.json | 25 + encoder_generator.fir | 22 + encoder_generator.v | 12 + src/main/scala/ifu/el2_ifu_bp_ctl.scala | 74 +- src/main/scala/ifu/el2_ifu_compress.scala | 1 - src/main/scala/ifu/el2_ifu_ifc_ctrl.scala | 70 +- .../classes/ifu/ExpandedInstruction.class | Bin 2063 -> 2063 bytes .../scala-2.12/classes/ifu/RVCDecoder.class | Bin 26976 -> 26976 bytes .../classes/ifu/el2_ifu_bp_ctl.class | Bin 84549 -> 105737 bytes .../ifu/el2_ifu_compress$$anon$1.class | Bin 2075 -> 2075 bytes .../classes/ifu/el2_ifu_compress.class | Bin 7214 -> 7214 bytes .../ifu/el2_ifu_ifc_ctrl$$anon$1.class | Bin 5217 -> 5351 bytes .../classes/ifu/el2_ifu_ifc_ctrl.class | Bin 112979 -> 108514 bytes target/scala-2.12/classes/ifu/ifu_bp$.class | Bin 3867 -> 3867 bytes .../classes/ifu/ifu_bp$delayedInit$body.class | Bin 729 -> 729 bytes .../classes/ifu/ifu_compress$.class | Bin 3919 -> 3919 bytes .../ifu/ifu_compress$delayedInit$body.class | Bin 767 -> 767 bytes target/scala-2.12/classes/ifu/ifu_ifc$.class | Bin 0 -> 3878 bytes .../ifu/ifu_ifc$delayedInit$body.class | Bin 0 -> 737 bytes target/scala-2.12/classes/ifu/ifu_ifc.class | Bin 0 -> 781 bytes test.anno.json | 9 - test.fir | 76 +- test.v | 51 +- 29 files changed, 1761 insertions(+), 1508 deletions(-) create mode 100644 encoder_generator.anno.json create mode 100644 encoder_generator.fir create mode 100644 encoder_generator.v create mode 100644 target/scala-2.12/classes/ifu/ifu_ifc$.class create mode 100644 target/scala-2.12/classes/ifu/ifu_ifc$delayedInit$body.class create mode 100644 target/scala-2.12/classes/ifu/ifu_ifc.class diff --git a/el2_ifu_bp_ctl.fir b/el2_ifu_bp_ctl.fir index e6dccca7..868f8a8b 100644 --- a/el2_ifu_bp_ctl.fir +++ b/el2_ifu_bp_ctl.fir @@ -38,6 +38,10 @@ circuit el2_ifu_bp_ctl : btb_bank0_rd_data_way0_p1_f <= UInt<1>("h00") wire btb_bank0_rd_data_way1_p1_f : UInt<22> btb_bank0_rd_data_way1_p1_f <= UInt<1>("h00") + wire eoc_mask : UInt<1> + eoc_mask <= UInt<1>("h00") + wire btb_lru_b0_f : UInt<256> + btb_lru_b0_f <= UInt<1>("h00") wire dec_tlu_way_wb : UInt<1> dec_tlu_way_wb <= UInt<1>("h00") node _T_1 = bits(io.ifc_fetch_addr_f, 9, 2) @[el2_lib.scala 182:12] @@ -45,87 +49,241 @@ circuit el2_ifu_bp_ctl : node _T_3 = xor(_T_1, _T_2) @[el2_lib.scala 182:42] node _T_4 = bits(io.ifc_fetch_addr_f, 25, 18) @[el2_lib.scala 182:80] node btb_rd_addr_f = xor(_T_3, _T_4) @[el2_lib.scala 182:76] - node _T_5 = add(io.ifc_fetch_addr_f, UInt<3>("h04")) @[el2_ifu_bp_ctl.scala 103:45] - node fetch_addr_p1_f = tail(_T_5, 1) @[el2_ifu_bp_ctl.scala 103:45] + node _T_5 = add(io.ifc_fetch_addr_f, UInt<3>("h04")) @[el2_ifu_bp_ctl.scala 106:45] + node fetch_addr_p1_f = tail(_T_5, 1) @[el2_ifu_bp_ctl.scala 106:45] node _T_6 = bits(fetch_addr_p1_f, 9, 2) @[el2_lib.scala 182:12] node _T_7 = bits(fetch_addr_p1_f, 17, 10) @[el2_lib.scala 182:46] node _T_8 = xor(_T_6, _T_7) @[el2_lib.scala 182:42] node _T_9 = bits(fetch_addr_p1_f, 25, 18) @[el2_lib.scala 182:80] node btb_rd_addr_p1_f = xor(_T_8, _T_9) @[el2_lib.scala 182:76] - node _T_10 = bits(bht_dir_f, 0, 0) @[el2_ifu_bp_ctl.scala 108:33] - node _T_11 = not(_T_10) @[el2_ifu_bp_ctl.scala 108:23] - node _T_12 = bits(bht_dir_f, 0, 0) @[el2_ifu_bp_ctl.scala 108:46] + node _T_10 = bits(bht_dir_f, 0, 0) @[el2_ifu_bp_ctl.scala 111:33] + node _T_11 = not(_T_10) @[el2_ifu_bp_ctl.scala 111:23] + node _T_12 = bits(bht_dir_f, 0, 0) @[el2_ifu_bp_ctl.scala 111:46] node btb_sel_f = cat(_T_11, _T_12) @[Cat.scala 29:58] - node _T_13 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 111:46] - node _T_14 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 111:70] - node _T_15 = not(_T_14) @[el2_ifu_bp_ctl.scala 111:50] + node _T_13 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 114:46] + node _T_14 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 114:70] + node _T_15 = not(_T_14) @[el2_ifu_bp_ctl.scala 114:50] node fetch_start_f = cat(_T_13, _T_15) @[Cat.scala 29:58] - node _T_16 = eq(btb_error_addr_wb, btb_rd_addr_f) @[el2_ifu_bp_ctl.scala 114:72] - node branch_error_collision_f = and(dec_tlu_error_wb, _T_16) @[el2_ifu_bp_ctl.scala 114:51] - node _T_17 = eq(btb_error_addr_wb, btb_rd_addr_p1_f) @[el2_ifu_bp_ctl.scala 115:75] - node branch_error_collision_p1_f = and(dec_tlu_error_wb, _T_17) @[el2_ifu_bp_ctl.scala 115:54] - node branch_error_bank_conflict_f = and(branch_error_collision_f, dec_tlu_error_wb) @[el2_ifu_bp_ctl.scala 118:63] - node branch_error_bank_conflict_p1_f = and(branch_error_collision_p1_f, dec_tlu_error_wb) @[el2_ifu_bp_ctl.scala 119:69] - node _T_18 = eq(io.exu_mp_btag, fetch_rd_tag_f) @[el2_ifu_bp_ctl.scala 122:46] - node _T_19 = and(_T_18, exu_mp_valid) @[el2_ifu_bp_ctl.scala 122:66] - node _T_20 = and(_T_19, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 122:81] - node _T_21 = eq(io.exu_mp_index, btb_rd_addr_f) @[el2_ifu_bp_ctl.scala 122:117] - node fetch_mp_collision_f = and(_T_20, _T_21) @[el2_ifu_bp_ctl.scala 122:102] - node _T_22 = eq(io.exu_mp_btag, fetch_rd_tag_p1_f) @[el2_ifu_bp_ctl.scala 123:49] - node _T_23 = and(_T_22, exu_mp_valid) @[el2_ifu_bp_ctl.scala 123:72] - node _T_24 = and(_T_23, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 123:87] - node _T_25 = eq(io.exu_mp_index, btb_rd_addr_p1_f) @[el2_ifu_bp_ctl.scala 123:123] - node fetch_mp_collision_p1_f = and(_T_24, _T_25) @[el2_ifu_bp_ctl.scala 123:108] - reg leak_one_f_d1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 125:30] - leak_one_f_d1 <= leak_one_f @[el2_ifu_bp_ctl.scala 125:30] - reg dec_tlu_way_wb_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 126:33] - dec_tlu_way_wb_f <= dec_tlu_way_wb @[el2_ifu_bp_ctl.scala 126:33] - reg exu_mp_way_f : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 127:29] - exu_mp_way_f <= io.exu_mp_pkt.way @[el2_ifu_bp_ctl.scala 127:29] - reg exu_flush_final_d1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 128:35] - exu_flush_final_d1 <= io.exu_flush_final @[el2_ifu_bp_ctl.scala 128:35] - node _T_26 = and(io.dec_tlu_flush_leak_one_wb, io.dec_tlu_flush_lower_wb) @[el2_ifu_bp_ctl.scala 130:47] - node _T_27 = and(leak_one_f_d1, io.dec_tlu_flush_lower_wb) @[el2_ifu_bp_ctl.scala 130:93] - node _T_28 = or(_T_26, _T_27) @[el2_ifu_bp_ctl.scala 130:76] - leak_one_f <= _T_28 @[el2_ifu_bp_ctl.scala 130:14] - node _T_29 = bits(btb_bank0_rd_data_way0_f, 0, 0) @[el2_ifu_bp_ctl.scala 133:50] - node _T_30 = bits(btb_bank0_rd_data_way0_f, 21, 17) @[el2_ifu_bp_ctl.scala 133:82] - node _T_31 = eq(_T_30, fetch_rd_tag_f) @[el2_ifu_bp_ctl.scala 133:97] - node _T_32 = and(_T_29, _T_31) @[el2_ifu_bp_ctl.scala 133:55] - node _T_33 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 134:22] - node _T_34 = not(_T_33) @[el2_ifu_bp_ctl.scala 134:3] - node _T_35 = and(_T_32, _T_34) @[el2_ifu_bp_ctl.scala 133:117] - node _T_36 = and(_T_35, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 134:54] - node _T_37 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 134:77] - node tag_match_way0_f = and(_T_36, _T_37) @[el2_ifu_bp_ctl.scala 134:75] - node _T_38 = bits(btb_bank0_rd_data_way1_f, 0, 0) @[el2_ifu_bp_ctl.scala 136:50] - node _T_39 = bits(btb_bank0_rd_data_way1_f, 21, 17) @[el2_ifu_bp_ctl.scala 136:82] - node _T_40 = eq(_T_39, fetch_rd_tag_f) @[el2_ifu_bp_ctl.scala 136:97] - node _T_41 = and(_T_38, _T_40) @[el2_ifu_bp_ctl.scala 136:55] - node _T_42 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 137:22] - node _T_43 = not(_T_42) @[el2_ifu_bp_ctl.scala 137:3] - node _T_44 = and(_T_41, _T_43) @[el2_ifu_bp_ctl.scala 136:117] - node _T_45 = and(_T_44, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 137:54] - node _T_46 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 137:77] - node tag_match_way1_f = and(_T_45, _T_46) @[el2_ifu_bp_ctl.scala 137:75] - node _T_47 = bits(btb_bank0_rd_data_way0_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 139:56] - node _T_48 = bits(btb_bank0_rd_data_way0_p1_f, 21, 17) @[el2_ifu_bp_ctl.scala 139:91] - node _T_49 = eq(_T_48, fetch_rd_tag_p1_f) @[el2_ifu_bp_ctl.scala 139:106] - node _T_50 = and(_T_47, _T_49) @[el2_ifu_bp_ctl.scala 139:61] - node _T_51 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 140:24] - node _T_52 = not(_T_51) @[el2_ifu_bp_ctl.scala 140:5] - node _T_53 = and(_T_50, _T_52) @[el2_ifu_bp_ctl.scala 139:129] - node _T_54 = and(_T_53, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 140:56] - node _T_55 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 140:79] - node tag_match_way0_p1_f = and(_T_54, _T_55) @[el2_ifu_bp_ctl.scala 140:77] - node _T_56 = bits(btb_bank0_rd_data_way1_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 142:56] - node _T_57 = bits(btb_bank0_rd_data_way1_p1_f, 21, 17) @[el2_ifu_bp_ctl.scala 142:91] - node _T_58 = eq(_T_57, fetch_rd_tag_p1_f) @[el2_ifu_bp_ctl.scala 142:106] - node _T_59 = and(_T_56, _T_58) @[el2_ifu_bp_ctl.scala 142:61] - node _T_60 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 143:24] - node _T_61 = not(_T_60) @[el2_ifu_bp_ctl.scala 143:5] - node _T_62 = and(_T_59, _T_61) @[el2_ifu_bp_ctl.scala 142:129] - node _T_63 = and(_T_62, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 143:56] - node _T_64 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 143:79] - node tag_match_way1_p1_f = and(_T_63, _T_64) @[el2_ifu_bp_ctl.scala 143:77] + node _T_16 = eq(btb_error_addr_wb, btb_rd_addr_f) @[el2_ifu_bp_ctl.scala 117:72] + node branch_error_collision_f = and(dec_tlu_error_wb, _T_16) @[el2_ifu_bp_ctl.scala 117:51] + node _T_17 = eq(btb_error_addr_wb, btb_rd_addr_p1_f) @[el2_ifu_bp_ctl.scala 118:75] + node branch_error_collision_p1_f = and(dec_tlu_error_wb, _T_17) @[el2_ifu_bp_ctl.scala 118:54] + node branch_error_bank_conflict_f = and(branch_error_collision_f, dec_tlu_error_wb) @[el2_ifu_bp_ctl.scala 121:63] + node branch_error_bank_conflict_p1_f = and(branch_error_collision_p1_f, dec_tlu_error_wb) @[el2_ifu_bp_ctl.scala 122:69] + node _T_18 = eq(io.exu_mp_btag, fetch_rd_tag_f) @[el2_ifu_bp_ctl.scala 125:46] + node _T_19 = and(_T_18, exu_mp_valid) @[el2_ifu_bp_ctl.scala 125:66] + node _T_20 = and(_T_19, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 125:81] + node _T_21 = eq(io.exu_mp_index, btb_rd_addr_f) @[el2_ifu_bp_ctl.scala 125:117] + node fetch_mp_collision_f = and(_T_20, _T_21) @[el2_ifu_bp_ctl.scala 125:102] + node _T_22 = eq(io.exu_mp_btag, fetch_rd_tag_p1_f) @[el2_ifu_bp_ctl.scala 126:49] + node _T_23 = and(_T_22, exu_mp_valid) @[el2_ifu_bp_ctl.scala 126:72] + node _T_24 = and(_T_23, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 126:87] + node _T_25 = eq(io.exu_mp_index, btb_rd_addr_p1_f) @[el2_ifu_bp_ctl.scala 126:123] + node fetch_mp_collision_p1_f = and(_T_24, _T_25) @[el2_ifu_bp_ctl.scala 126:108] + reg leak_one_f_d1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 128:30] + leak_one_f_d1 <= leak_one_f @[el2_ifu_bp_ctl.scala 128:30] + reg dec_tlu_way_wb_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 129:33] + dec_tlu_way_wb_f <= dec_tlu_way_wb @[el2_ifu_bp_ctl.scala 129:33] + reg exu_mp_way_f : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 130:29] + exu_mp_way_f <= io.exu_mp_pkt.way @[el2_ifu_bp_ctl.scala 130:29] + reg exu_flush_final_d1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_bp_ctl.scala 131:35] + exu_flush_final_d1 <= io.exu_flush_final @[el2_ifu_bp_ctl.scala 131:35] + node _T_26 = and(io.dec_tlu_flush_leak_one_wb, io.dec_tlu_flush_lower_wb) @[el2_ifu_bp_ctl.scala 133:47] + node _T_27 = and(leak_one_f_d1, io.dec_tlu_flush_lower_wb) @[el2_ifu_bp_ctl.scala 133:93] + node _T_28 = or(_T_26, _T_27) @[el2_ifu_bp_ctl.scala 133:76] + leak_one_f <= _T_28 @[el2_ifu_bp_ctl.scala 133:14] + node _T_29 = bits(btb_bank0_rd_data_way0_f, 0, 0) @[el2_ifu_bp_ctl.scala 136:50] + node _T_30 = bits(btb_bank0_rd_data_way0_f, 21, 17) @[el2_ifu_bp_ctl.scala 136:82] + node _T_31 = eq(_T_30, fetch_rd_tag_f) @[el2_ifu_bp_ctl.scala 136:97] + node _T_32 = and(_T_29, _T_31) @[el2_ifu_bp_ctl.scala 136:55] + node _T_33 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 137:22] + node _T_34 = not(_T_33) @[el2_ifu_bp_ctl.scala 137:3] + node _T_35 = and(_T_32, _T_34) @[el2_ifu_bp_ctl.scala 136:117] + node _T_36 = and(_T_35, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 137:54] + node _T_37 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 137:77] + node tag_match_way0_f = and(_T_36, _T_37) @[el2_ifu_bp_ctl.scala 137:75] + node _T_38 = bits(btb_bank0_rd_data_way1_f, 0, 0) @[el2_ifu_bp_ctl.scala 139:50] + node _T_39 = bits(btb_bank0_rd_data_way1_f, 21, 17) @[el2_ifu_bp_ctl.scala 139:82] + node _T_40 = eq(_T_39, fetch_rd_tag_f) @[el2_ifu_bp_ctl.scala 139:97] + node _T_41 = and(_T_38, _T_40) @[el2_ifu_bp_ctl.scala 139:55] + node _T_42 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 140:22] + node _T_43 = not(_T_42) @[el2_ifu_bp_ctl.scala 140:3] + node _T_44 = and(_T_41, _T_43) @[el2_ifu_bp_ctl.scala 139:117] + node _T_45 = and(_T_44, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 140:54] + node _T_46 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 140:77] + node tag_match_way1_f = and(_T_45, _T_46) @[el2_ifu_bp_ctl.scala 140:75] + node _T_47 = bits(btb_bank0_rd_data_way0_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 142:56] + node _T_48 = bits(btb_bank0_rd_data_way0_p1_f, 21, 17) @[el2_ifu_bp_ctl.scala 142:91] + node _T_49 = eq(_T_48, fetch_rd_tag_p1_f) @[el2_ifu_bp_ctl.scala 142:106] + node _T_50 = and(_T_47, _T_49) @[el2_ifu_bp_ctl.scala 142:61] + node _T_51 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 143:24] + node _T_52 = not(_T_51) @[el2_ifu_bp_ctl.scala 143:5] + node _T_53 = and(_T_50, _T_52) @[el2_ifu_bp_ctl.scala 142:129] + node _T_54 = and(_T_53, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 143:56] + node _T_55 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 143:79] + node tag_match_way0_p1_f = and(_T_54, _T_55) @[el2_ifu_bp_ctl.scala 143:77] + node _T_56 = bits(btb_bank0_rd_data_way1_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 145:56] + node _T_57 = bits(btb_bank0_rd_data_way1_p1_f, 21, 17) @[el2_ifu_bp_ctl.scala 145:91] + node _T_58 = eq(_T_57, fetch_rd_tag_p1_f) @[el2_ifu_bp_ctl.scala 145:106] + node _T_59 = and(_T_56, _T_58) @[el2_ifu_bp_ctl.scala 145:61] + node _T_60 = and(dec_tlu_way_wb_f, branch_error_bank_conflict_f) @[el2_ifu_bp_ctl.scala 146:24] + node _T_61 = not(_T_60) @[el2_ifu_bp_ctl.scala 146:5] + node _T_62 = and(_T_59, _T_61) @[el2_ifu_bp_ctl.scala 145:129] + node _T_63 = and(_T_62, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 146:56] + node _T_64 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 146:79] + node tag_match_way1_p1_f = and(_T_63, _T_64) @[el2_ifu_bp_ctl.scala 146:77] + node _T_65 = bits(btb_bank0_rd_data_way0_f, 3, 3) @[el2_ifu_bp_ctl.scala 149:84] + node _T_66 = bits(btb_bank0_rd_data_way0_f, 4, 4) @[el2_ifu_bp_ctl.scala 149:117] + node _T_67 = xor(_T_65, _T_66) @[el2_ifu_bp_ctl.scala 149:91] + node _T_68 = and(tag_match_way0_f, _T_67) @[el2_ifu_bp_ctl.scala 149:56] + node _T_69 = bits(btb_bank0_rd_data_way0_f, 3, 3) @[el2_ifu_bp_ctl.scala 150:50] + node _T_70 = bits(btb_bank0_rd_data_way0_f, 4, 4) @[el2_ifu_bp_ctl.scala 150:83] + node _T_71 = xor(_T_69, _T_70) @[el2_ifu_bp_ctl.scala 150:57] + node _T_72 = not(_T_71) @[el2_ifu_bp_ctl.scala 150:24] + node _T_73 = and(tag_match_way0_f, _T_72) @[el2_ifu_bp_ctl.scala 150:22] + node tag_match_way0_expanded_f = cat(_T_68, _T_73) @[Cat.scala 29:58] + node _T_74 = bits(btb_bank0_rd_data_way1_f, 3, 3) @[el2_ifu_bp_ctl.scala 152:84] + node _T_75 = bits(btb_bank0_rd_data_way1_f, 4, 4) @[el2_ifu_bp_ctl.scala 152:117] + node _T_76 = xor(_T_74, _T_75) @[el2_ifu_bp_ctl.scala 152:91] + node _T_77 = and(tag_match_way1_f, _T_76) @[el2_ifu_bp_ctl.scala 152:56] + node _T_78 = bits(btb_bank0_rd_data_way1_f, 3, 3) @[el2_ifu_bp_ctl.scala 153:50] + node _T_79 = bits(btb_bank0_rd_data_way1_f, 4, 4) @[el2_ifu_bp_ctl.scala 153:83] + node _T_80 = xor(_T_78, _T_79) @[el2_ifu_bp_ctl.scala 153:57] + node _T_81 = not(_T_80) @[el2_ifu_bp_ctl.scala 153:24] + node _T_82 = and(tag_match_way1_f, _T_81) @[el2_ifu_bp_ctl.scala 153:22] + node tag_match_way1_expanded_f = cat(_T_77, _T_82) @[Cat.scala 29:58] + node _T_83 = bits(btb_bank0_rd_data_way0_p1_f, 3, 3) @[el2_ifu_bp_ctl.scala 156:93] + node _T_84 = bits(btb_bank0_rd_data_way0_p1_f, 4, 4) @[el2_ifu_bp_ctl.scala 156:129] + node _T_85 = xor(_T_83, _T_84) @[el2_ifu_bp_ctl.scala 156:100] + node _T_86 = and(tag_match_way0_p1_f, _T_85) @[el2_ifu_bp_ctl.scala 156:62] + node _T_87 = bits(btb_bank0_rd_data_way0_p1_f, 3, 3) @[el2_ifu_bp_ctl.scala 157:56] + node _T_88 = bits(btb_bank0_rd_data_way0_p1_f, 4, 4) @[el2_ifu_bp_ctl.scala 157:92] + node _T_89 = xor(_T_87, _T_88) @[el2_ifu_bp_ctl.scala 157:63] + node _T_90 = not(_T_89) @[el2_ifu_bp_ctl.scala 157:27] + node _T_91 = and(tag_match_way0_p1_f, _T_90) @[el2_ifu_bp_ctl.scala 157:25] + node tag_match_way0_expanded_p1_f = cat(_T_86, _T_91) @[Cat.scala 29:58] + node _T_92 = bits(btb_bank0_rd_data_way1_p1_f, 3, 3) @[el2_ifu_bp_ctl.scala 159:93] + node _T_93 = bits(btb_bank0_rd_data_way1_p1_f, 4, 4) @[el2_ifu_bp_ctl.scala 159:129] + node _T_94 = xor(_T_92, _T_93) @[el2_ifu_bp_ctl.scala 159:100] + node _T_95 = and(tag_match_way1_p1_f, _T_94) @[el2_ifu_bp_ctl.scala 159:62] + node _T_96 = bits(btb_bank0_rd_data_way1_p1_f, 3, 3) @[el2_ifu_bp_ctl.scala 160:56] + node _T_97 = bits(btb_bank0_rd_data_way1_p1_f, 4, 4) @[el2_ifu_bp_ctl.scala 160:92] + node _T_98 = xor(_T_96, _T_97) @[el2_ifu_bp_ctl.scala 160:63] + node _T_99 = not(_T_98) @[el2_ifu_bp_ctl.scala 160:27] + node _T_100 = and(tag_match_way1_p1_f, _T_99) @[el2_ifu_bp_ctl.scala 160:25] + node tag_match_way1_expanded_p1_f = cat(_T_95, _T_100) @[Cat.scala 29:58] + node wayhit_f = or(tag_match_way0_expanded_f, tag_match_way1_expanded_f) @[el2_ifu_bp_ctl.scala 162:44] + node wayhit_p1_f = or(tag_match_way0_expanded_p1_f, tag_match_way1_expanded_p1_f) @[el2_ifu_bp_ctl.scala 164:50] + node _T_101 = bits(tag_match_way0_expanded_f, 0, 0) @[el2_ifu_bp_ctl.scala 167:65] + node _T_102 = bits(_T_101, 0, 0) @[el2_ifu_bp_ctl.scala 167:69] + node _T_103 = bits(tag_match_way1_expanded_f, 0, 0) @[el2_ifu_bp_ctl.scala 168:30] + node _T_104 = bits(_T_103, 0, 0) @[el2_ifu_bp_ctl.scala 168:34] + node _T_105 = mux(_T_102, btb_bank0_rd_data_way0_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_106 = mux(_T_104, btb_bank0_rd_data_way1_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_107 = or(_T_105, _T_106) @[Mux.scala 27:72] + wire btb_bank0e_rd_data_f : UInt<22> @[Mux.scala 27:72] + btb_bank0e_rd_data_f <= _T_107 @[Mux.scala 27:72] + node _T_108 = bits(tag_match_way0_expanded_f, 1, 1) @[el2_ifu_bp_ctl.scala 170:65] + node _T_109 = bits(_T_108, 0, 0) @[el2_ifu_bp_ctl.scala 170:69] + node _T_110 = bits(tag_match_way1_expanded_f, 1, 1) @[el2_ifu_bp_ctl.scala 171:30] + node _T_111 = bits(_T_110, 0, 0) @[el2_ifu_bp_ctl.scala 171:34] + node _T_112 = mux(_T_109, btb_bank0_rd_data_way0_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_113 = mux(_T_111, btb_bank0_rd_data_way1_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_114 = or(_T_112, _T_113) @[Mux.scala 27:72] + wire btb_bank0o_rd_data_f : UInt<22> @[Mux.scala 27:72] + btb_bank0o_rd_data_f <= _T_114 @[Mux.scala 27:72] + node _T_115 = bits(tag_match_way0_expanded_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 173:71] + node _T_116 = bits(_T_115, 0, 0) @[el2_ifu_bp_ctl.scala 173:75] + node _T_117 = bits(tag_match_way1_expanded_p1_f, 1, 1) @[el2_ifu_bp_ctl.scala 174:33] + node _T_118 = bits(_T_117, 0, 0) @[el2_ifu_bp_ctl.scala 174:37] + node _T_119 = mux(_T_116, btb_bank0_rd_data_way0_p1_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_120 = mux(_T_118, btb_bank0_rd_data_way1_p1_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_121 = or(_T_119, _T_120) @[Mux.scala 27:72] + wire btb_bank0e_rd_data_p1_f : UInt<22> @[Mux.scala 27:72] + btb_bank0e_rd_data_p1_f <= _T_121 @[Mux.scala 27:72] + node _T_122 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 177:60] + node _T_123 = not(_T_122) @[el2_ifu_bp_ctl.scala 177:40] + node _T_124 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 178:24] + node _T_125 = mux(_T_123, btb_bank0e_rd_data_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_126 = mux(_T_124, btb_bank0o_rd_data_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_127 = or(_T_125, _T_126) @[Mux.scala 27:72] + wire btb_vbank0_rd_data_f : UInt<22> @[Mux.scala 27:72] + btb_vbank0_rd_data_f <= _T_127 @[Mux.scala 27:72] + node _T_128 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_bp_ctl.scala 180:60] + node _T_129 = not(_T_128) @[el2_ifu_bp_ctl.scala 180:40] + node _T_130 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_bp_ctl.scala 181:24] + node _T_131 = mux(_T_129, btb_bank0o_rd_data_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_132 = mux(_T_130, btb_bank0e_rd_data_p1_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_133 = or(_T_131, _T_132) @[Mux.scala 27:72] + wire btb_vbank1_rd_data_f : UInt<22> @[Mux.scala 27:72] + btb_vbank1_rd_data_f <= _T_133 @[Mux.scala 27:72] + node mp_wrindex_dec = dshl(UInt<1>("h00"), io.exu_mp_index) @[el2_ifu_bp_ctl.scala 184:38] + node fetch_wrindex_dec = dshl(UInt<1>("h00"), btb_rd_addr_f) @[el2_ifu_bp_ctl.scala 185:41] + node fetch_wrindex_p1_dec = dshl(UInt<1>("h00"), btb_rd_addr_p1_f) @[el2_ifu_bp_ctl.scala 186:44] + node _T_134 = bits(exu_mp_valid, 0, 0) @[Bitwise.scala 72:15] + node _T_135 = mux(_T_134, UInt<256>("h0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), UInt<256>("h00")) @[Bitwise.scala 72:12] + node mp_wrlru_b0 = and(mp_wrindex_dec, _T_135) @[el2_ifu_bp_ctl.scala 187:36] + node _T_136 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 189:49] + node _T_137 = bits(_T_136, 0, 0) @[el2_ifu_bp_ctl.scala 189:53] + node _T_138 = not(_T_137) @[el2_ifu_bp_ctl.scala 189:29] + node _T_139 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 190:24] + node _T_140 = bits(_T_139, 0, 0) @[el2_ifu_bp_ctl.scala 190:28] + node _T_141 = bits(wayhit_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 190:51] + node _T_142 = bits(wayhit_f, 1, 1) @[el2_ifu_bp_ctl.scala 190:64] + node _T_143 = cat(_T_141, _T_142) @[Cat.scala 29:58] + node _T_144 = mux(_T_138, wayhit_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_145 = mux(_T_140, _T_143, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_146 = or(_T_144, _T_145) @[Mux.scala 27:72] + wire _T_147 : UInt<2> @[Mux.scala 27:72] + _T_147 <= _T_146 @[Mux.scala 27:72] + node _T_148 = cat(eoc_mask, UInt<1>("h01")) @[Cat.scala 29:58] + node vwayhit_f = and(_T_147, _T_148) @[el2_ifu_bp_ctl.scala 190:71] + node _T_149 = bits(vwayhit_f, 0, 0) @[el2_ifu_bp_ctl.scala 191:38] + node _T_150 = bits(vwayhit_f, 1, 1) @[el2_ifu_bp_ctl.scala 191:53] + node _T_151 = or(_T_149, _T_150) @[el2_ifu_bp_ctl.scala 191:42] + node _T_152 = and(_T_151, io.ifc_fetch_req_f) @[el2_ifu_bp_ctl.scala 191:58] + node _T_153 = not(leak_one_f) @[el2_ifu_bp_ctl.scala 191:81] + node lru_update_valid_f = and(_T_152, _T_153) @[el2_ifu_bp_ctl.scala 191:79] + node _T_154 = bits(lru_update_valid_f, 0, 0) @[Bitwise.scala 72:15] + node _T_155 = mux(_T_154, UInt<256>("h0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), UInt<256>("h00")) @[Bitwise.scala 72:12] + node fetch_wrlru_b0 = and(fetch_wrindex_dec, _T_155) @[el2_ifu_bp_ctl.scala 193:42] + node _T_156 = bits(lru_update_valid_f, 0, 0) @[Bitwise.scala 72:15] + node _T_157 = mux(_T_156, UInt<256>("h0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), UInt<256>("h00")) @[Bitwise.scala 72:12] + node fetch_wrlru_p1_b0 = and(fetch_wrindex_p1_dec, _T_157) @[el2_ifu_bp_ctl.scala 194:48] + node _T_158 = not(mp_wrlru_b0) @[el2_ifu_bp_ctl.scala 196:25] + node _T_159 = not(fetch_wrlru_b0) @[el2_ifu_bp_ctl.scala 196:40] + node btb_lru_b0_hold = and(_T_158, _T_159) @[el2_ifu_bp_ctl.scala 196:38] + node _T_160 = bits(io.exu_mp_pkt.way, 0, 0) @[el2_ifu_bp_ctl.scala 200:45] + node _T_161 = not(_T_160) @[el2_ifu_bp_ctl.scala 200:33] + node _T_162 = bits(tag_match_way0_f, 0, 0) @[el2_ifu_bp_ctl.scala 201:22] + node _T_163 = bits(tag_match_way0_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 201:65] + node _T_164 = mux(_T_161, mp_wrlru_b0, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_165 = mux(_T_162, fetch_wrlru_b0, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_166 = mux(_T_163, fetch_wrlru_p1_b0, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_167 = or(_T_164, _T_165) @[Mux.scala 27:72] + node _T_168 = or(_T_167, _T_166) @[Mux.scala 27:72] + wire _T_169 : UInt<256> @[Mux.scala 27:72] + _T_169 <= _T_168 @[Mux.scala 27:72] + node _T_170 = and(btb_lru_b0_hold, btb_lru_b0_f) @[el2_ifu_bp_ctl.scala 201:111] + node btb_lru_b0_ns = or(_T_169, _T_170) @[el2_ifu_bp_ctl.scala 201:93] + node _T_171 = bits(fetch_mp_collision_f, 0, 0) @[el2_ifu_bp_ctl.scala 203:37] + node _T_172 = and(fetch_wrindex_dec, btb_lru_b0_f) @[el2_ifu_bp_ctl.scala 203:78] + node _T_173 = orr(_T_172) @[el2_ifu_bp_ctl.scala 203:94] + node btb_lru_rd_f = mux(_T_171, exu_mp_way_f, _T_173) @[el2_ifu_bp_ctl.scala 203:25] + node _T_174 = bits(fetch_mp_collision_p1_f, 0, 0) @[el2_ifu_bp_ctl.scala 204:43] + node _T_175 = and(fetch_wrindex_p1_dec, btb_lru_b0_f) @[el2_ifu_bp_ctl.scala 204:87] + node _T_176 = orr(_T_175) @[el2_ifu_bp_ctl.scala 204:103] + node btb_lru_rd_p1_f = mux(_T_174, exu_mp_way_f, _T_176) @[el2_ifu_bp_ctl.scala 204:28] + node _T_177 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 206:53] + node _T_178 = bits(_T_177, 0, 0) @[el2_ifu_bp_ctl.scala 206:57] + node _T_179 = not(_T_178) @[el2_ifu_bp_ctl.scala 206:33] + node _T_180 = cat(btb_lru_rd_f, btb_lru_rd_f) @[Cat.scala 29:58] + node _T_181 = bits(io.ifc_fetch_addr_f, 1, 1) @[el2_ifu_bp_ctl.scala 207:24] + node _T_182 = bits(_T_181, 0, 0) @[el2_ifu_bp_ctl.scala 207:28] + node _T_183 = cat(btb_lru_rd_p1_f, btb_lru_rd_f) @[Cat.scala 29:58] + node _T_184 = mux(_T_179, _T_180, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_185 = mux(_T_182, _T_183, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_186 = or(_T_184, _T_185) @[Mux.scala 27:72] + wire btb_vlru_rd_f : UInt @[Mux.scala 27:72] + btb_vlru_rd_f <= _T_186 @[Mux.scala 27:72] diff --git a/el2_ifu_compress.fir b/el2_ifu_compress.fir index 559d3b1e..09e07240 100644 --- a/el2_ifu_compress.fir +++ b/el2_ifu_compress.fir @@ -5,480 +5,480 @@ circuit el2_ifu_compress : input reset : UInt<1> output io : {flip in : UInt<32>, out : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>}, rvc : UInt<1>} - node _T = bits(io.in, 1, 0) @[el2_ifu_compress.scala 193:20] - node _T_1 = neq(_T, UInt<2>("h03")) @[el2_ifu_compress.scala 193:26] - io.rvc <= _T_1 @[el2_ifu_compress.scala 193:12] - node _T_2 = bits(io.in, 12, 5) @[el2_ifu_compress.scala 49:22] - node _T_3 = orr(_T_2) @[el2_ifu_compress.scala 49:29] - node _T_4 = mux(_T_3, UInt<7>("h013"), UInt<7>("h01f")) @[el2_ifu_compress.scala 49:20] - node _T_5 = bits(io.in, 10, 7) @[el2_ifu_compress.scala 30:26] - node _T_6 = bits(io.in, 12, 11) @[el2_ifu_compress.scala 30:35] - node _T_7 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 30:45] - node _T_8 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 30:51] + node _T = bits(io.in, 1, 0) @[el2_ifu_compress.scala 192:20] + node _T_1 = neq(_T, UInt<2>("h03")) @[el2_ifu_compress.scala 192:26] + io.rvc <= _T_1 @[el2_ifu_compress.scala 192:12] + node _T_2 = bits(io.in, 12, 5) @[el2_ifu_compress.scala 48:22] + node _T_3 = orr(_T_2) @[el2_ifu_compress.scala 48:29] + node _T_4 = mux(_T_3, UInt<7>("h013"), UInt<7>("h01f")) @[el2_ifu_compress.scala 48:20] + node _T_5 = bits(io.in, 10, 7) @[el2_ifu_compress.scala 29:26] + node _T_6 = bits(io.in, 12, 11) @[el2_ifu_compress.scala 29:35] + node _T_7 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 29:45] + node _T_8 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 29:51] node _T_9 = cat(_T_8, UInt<2>("h00")) @[Cat.scala 29:58] node _T_10 = cat(_T_5, _T_6) @[Cat.scala 29:58] node _T_11 = cat(_T_10, _T_7) @[Cat.scala 29:58] node _T_12 = cat(_T_11, _T_9) @[Cat.scala 29:58] - node _T_13 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_13 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_14 = cat(UInt<2>("h01"), _T_13) @[Cat.scala 29:58] node _T_15 = cat(_T_14, _T_4) @[Cat.scala 29:58] node _T_16 = cat(_T_12, UInt<5>("h02")) @[Cat.scala 29:58] node _T_17 = cat(_T_16, UInt<3>("h00")) @[Cat.scala 29:58] node _T_18 = cat(_T_17, _T_15) @[Cat.scala 29:58] - node _T_19 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_19 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_20 = cat(UInt<2>("h01"), _T_19) @[Cat.scala 29:58] - node _T_21 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_21 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_22 = cat(UInt<2>("h01"), _T_21) @[Cat.scala 29:58] - node _T_23 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_24 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_24.bits <= _T_18 @[el2_ifu_compress.scala 18:14] - _T_24.rd <= _T_20 @[el2_ifu_compress.scala 19:12] - _T_24.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_24.rs2 <= _T_22 @[el2_ifu_compress.scala 21:13] - _T_24.rs3 <= _T_23 @[el2_ifu_compress.scala 22:13] - node _T_25 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 32:20] - node _T_26 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 32:28] + node _T_23 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_24 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_24.bits <= _T_18 @[el2_ifu_compress.scala 17:14] + _T_24.rd <= _T_20 @[el2_ifu_compress.scala 18:12] + _T_24.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_24.rs2 <= _T_22 @[el2_ifu_compress.scala 20:13] + _T_24.rs3 <= _T_23 @[el2_ifu_compress.scala 21:13] + node _T_25 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 31:20] + node _T_26 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:28] node _T_27 = cat(_T_25, _T_26) @[Cat.scala 29:58] node _T_28 = cat(_T_27, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_29 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_29 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_30 = cat(UInt<2>("h01"), _T_29) @[Cat.scala 29:58] - node _T_31 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_31 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_32 = cat(UInt<2>("h01"), _T_31) @[Cat.scala 29:58] node _T_33 = cat(_T_32, UInt<7>("h07")) @[Cat.scala 29:58] node _T_34 = cat(_T_28, _T_30) @[Cat.scala 29:58] node _T_35 = cat(_T_34, UInt<3>("h03")) @[Cat.scala 29:58] node _T_36 = cat(_T_35, _T_33) @[Cat.scala 29:58] - node _T_37 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_37 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_38 = cat(UInt<2>("h01"), _T_37) @[Cat.scala 29:58] - node _T_39 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_39 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_40 = cat(UInt<2>("h01"), _T_39) @[Cat.scala 29:58] - node _T_41 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_41 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_42 = cat(UInt<2>("h01"), _T_41) @[Cat.scala 29:58] - node _T_43 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_44 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_44.bits <= _T_36 @[el2_ifu_compress.scala 18:14] - _T_44.rd <= _T_38 @[el2_ifu_compress.scala 19:12] - _T_44.rs1 <= _T_40 @[el2_ifu_compress.scala 20:13] - _T_44.rs2 <= _T_42 @[el2_ifu_compress.scala 21:13] - _T_44.rs3 <= _T_43 @[el2_ifu_compress.scala 22:13] - node _T_45 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 31:20] - node _T_46 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:26] - node _T_47 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 31:36] + node _T_43 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_44 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_44.bits <= _T_36 @[el2_ifu_compress.scala 17:14] + _T_44.rd <= _T_38 @[el2_ifu_compress.scala 18:12] + _T_44.rs1 <= _T_40 @[el2_ifu_compress.scala 19:13] + _T_44.rs2 <= _T_42 @[el2_ifu_compress.scala 20:13] + _T_44.rs3 <= _T_43 @[el2_ifu_compress.scala 21:13] + node _T_45 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 30:20] + node _T_46 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 30:26] + node _T_47 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 30:36] node _T_48 = cat(_T_47, UInt<2>("h00")) @[Cat.scala 29:58] node _T_49 = cat(_T_45, _T_46) @[Cat.scala 29:58] node _T_50 = cat(_T_49, _T_48) @[Cat.scala 29:58] - node _T_51 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_51 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_52 = cat(UInt<2>("h01"), _T_51) @[Cat.scala 29:58] - node _T_53 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_53 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_54 = cat(UInt<2>("h01"), _T_53) @[Cat.scala 29:58] node _T_55 = cat(_T_54, UInt<7>("h03")) @[Cat.scala 29:58] node _T_56 = cat(_T_50, _T_52) @[Cat.scala 29:58] node _T_57 = cat(_T_56, UInt<3>("h02")) @[Cat.scala 29:58] node _T_58 = cat(_T_57, _T_55) @[Cat.scala 29:58] - node _T_59 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_59 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_60 = cat(UInt<2>("h01"), _T_59) @[Cat.scala 29:58] - node _T_61 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_61 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_62 = cat(UInt<2>("h01"), _T_61) @[Cat.scala 29:58] - node _T_63 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_63 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_64 = cat(UInt<2>("h01"), _T_63) @[Cat.scala 29:58] - node _T_65 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_66 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_66.bits <= _T_58 @[el2_ifu_compress.scala 18:14] - _T_66.rd <= _T_60 @[el2_ifu_compress.scala 19:12] - _T_66.rs1 <= _T_62 @[el2_ifu_compress.scala 20:13] - _T_66.rs2 <= _T_64 @[el2_ifu_compress.scala 21:13] - _T_66.rs3 <= _T_65 @[el2_ifu_compress.scala 22:13] - node _T_67 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 32:20] - node _T_68 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 32:28] + node _T_65 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_66 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_66.bits <= _T_58 @[el2_ifu_compress.scala 17:14] + _T_66.rd <= _T_60 @[el2_ifu_compress.scala 18:12] + _T_66.rs1 <= _T_62 @[el2_ifu_compress.scala 19:13] + _T_66.rs2 <= _T_64 @[el2_ifu_compress.scala 20:13] + _T_66.rs3 <= _T_65 @[el2_ifu_compress.scala 21:13] + node _T_67 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 31:20] + node _T_68 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:28] node _T_69 = cat(_T_67, _T_68) @[Cat.scala 29:58] node _T_70 = cat(_T_69, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_71 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_71 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_72 = cat(UInt<2>("h01"), _T_71) @[Cat.scala 29:58] - node _T_73 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_73 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_74 = cat(UInt<2>("h01"), _T_73) @[Cat.scala 29:58] node _T_75 = cat(_T_74, UInt<7>("h03")) @[Cat.scala 29:58] node _T_76 = cat(_T_70, _T_72) @[Cat.scala 29:58] node _T_77 = cat(_T_76, UInt<3>("h03")) @[Cat.scala 29:58] node _T_78 = cat(_T_77, _T_75) @[Cat.scala 29:58] - node _T_79 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_79 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_80 = cat(UInt<2>("h01"), _T_79) @[Cat.scala 29:58] - node _T_81 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_81 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_82 = cat(UInt<2>("h01"), _T_81) @[Cat.scala 29:58] - node _T_83 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_83 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_84 = cat(UInt<2>("h01"), _T_83) @[Cat.scala 29:58] - node _T_85 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_86 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_86.bits <= _T_78 @[el2_ifu_compress.scala 18:14] - _T_86.rd <= _T_80 @[el2_ifu_compress.scala 19:12] - _T_86.rs1 <= _T_82 @[el2_ifu_compress.scala 20:13] - _T_86.rs2 <= _T_84 @[el2_ifu_compress.scala 21:13] - _T_86.rs3 <= _T_85 @[el2_ifu_compress.scala 22:13] - node _T_87 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 31:20] - node _T_88 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:26] - node _T_89 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 31:36] + node _T_85 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_86 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_86.bits <= _T_78 @[el2_ifu_compress.scala 17:14] + _T_86.rd <= _T_80 @[el2_ifu_compress.scala 18:12] + _T_86.rs1 <= _T_82 @[el2_ifu_compress.scala 19:13] + _T_86.rs2 <= _T_84 @[el2_ifu_compress.scala 20:13] + _T_86.rs3 <= _T_85 @[el2_ifu_compress.scala 21:13] + node _T_87 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 30:20] + node _T_88 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 30:26] + node _T_89 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 30:36] node _T_90 = cat(_T_89, UInt<2>("h00")) @[Cat.scala 29:58] node _T_91 = cat(_T_87, _T_88) @[Cat.scala 29:58] node _T_92 = cat(_T_91, _T_90) @[Cat.scala 29:58] - node _T_93 = shr(_T_92, 5) @[el2_ifu_compress.scala 59:32] - node _T_94 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_93 = shr(_T_92, 5) @[el2_ifu_compress.scala 58:32] + node _T_94 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_95 = cat(UInt<2>("h01"), _T_94) @[Cat.scala 29:58] - node _T_96 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_96 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_97 = cat(UInt<2>("h01"), _T_96) @[Cat.scala 29:58] - node _T_98 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 31:20] - node _T_99 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:26] - node _T_100 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 31:36] + node _T_98 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 30:20] + node _T_99 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 30:26] + node _T_100 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 30:36] node _T_101 = cat(_T_100, UInt<2>("h00")) @[Cat.scala 29:58] node _T_102 = cat(_T_98, _T_99) @[Cat.scala 29:58] node _T_103 = cat(_T_102, _T_101) @[Cat.scala 29:58] - node _T_104 = bits(_T_103, 4, 0) @[el2_ifu_compress.scala 59:65] + node _T_104 = bits(_T_103, 4, 0) @[el2_ifu_compress.scala 58:65] node _T_105 = cat(UInt<3>("h02"), _T_104) @[Cat.scala 29:58] node _T_106 = cat(_T_105, UInt<7>("h03f")) @[Cat.scala 29:58] node _T_107 = cat(_T_93, _T_95) @[Cat.scala 29:58] node _T_108 = cat(_T_107, _T_97) @[Cat.scala 29:58] node _T_109 = cat(_T_108, _T_106) @[Cat.scala 29:58] - node _T_110 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_110 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_111 = cat(UInt<2>("h01"), _T_110) @[Cat.scala 29:58] - node _T_112 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_112 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_113 = cat(UInt<2>("h01"), _T_112) @[Cat.scala 29:58] - node _T_114 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_114 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_115 = cat(UInt<2>("h01"), _T_114) @[Cat.scala 29:58] - node _T_116 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_117 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_117.bits <= _T_109 @[el2_ifu_compress.scala 18:14] - _T_117.rd <= _T_111 @[el2_ifu_compress.scala 19:12] - _T_117.rs1 <= _T_113 @[el2_ifu_compress.scala 20:13] - _T_117.rs2 <= _T_115 @[el2_ifu_compress.scala 21:13] - _T_117.rs3 <= _T_116 @[el2_ifu_compress.scala 22:13] - node _T_118 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 32:20] - node _T_119 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 32:28] + node _T_116 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_117 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_117.bits <= _T_109 @[el2_ifu_compress.scala 17:14] + _T_117.rd <= _T_111 @[el2_ifu_compress.scala 18:12] + _T_117.rs1 <= _T_113 @[el2_ifu_compress.scala 19:13] + _T_117.rs2 <= _T_115 @[el2_ifu_compress.scala 20:13] + _T_117.rs3 <= _T_116 @[el2_ifu_compress.scala 21:13] + node _T_118 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 31:20] + node _T_119 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:28] node _T_120 = cat(_T_118, _T_119) @[Cat.scala 29:58] node _T_121 = cat(_T_120, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_122 = shr(_T_121, 5) @[el2_ifu_compress.scala 62:30] - node _T_123 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_122 = shr(_T_121, 5) @[el2_ifu_compress.scala 61:30] + node _T_123 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_124 = cat(UInt<2>("h01"), _T_123) @[Cat.scala 29:58] - node _T_125 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_125 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_126 = cat(UInt<2>("h01"), _T_125) @[Cat.scala 29:58] - node _T_127 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 32:20] - node _T_128 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 32:28] + node _T_127 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 31:20] + node _T_128 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:28] node _T_129 = cat(_T_127, _T_128) @[Cat.scala 29:58] node _T_130 = cat(_T_129, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_131 = bits(_T_130, 4, 0) @[el2_ifu_compress.scala 62:63] + node _T_131 = bits(_T_130, 4, 0) @[el2_ifu_compress.scala 61:63] node _T_132 = cat(UInt<3>("h03"), _T_131) @[Cat.scala 29:58] node _T_133 = cat(_T_132, UInt<7>("h027")) @[Cat.scala 29:58] node _T_134 = cat(_T_122, _T_124) @[Cat.scala 29:58] node _T_135 = cat(_T_134, _T_126) @[Cat.scala 29:58] node _T_136 = cat(_T_135, _T_133) @[Cat.scala 29:58] - node _T_137 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_137 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_138 = cat(UInt<2>("h01"), _T_137) @[Cat.scala 29:58] - node _T_139 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_139 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_140 = cat(UInt<2>("h01"), _T_139) @[Cat.scala 29:58] - node _T_141 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_141 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_142 = cat(UInt<2>("h01"), _T_141) @[Cat.scala 29:58] - node _T_143 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_144 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_144.bits <= _T_136 @[el2_ifu_compress.scala 18:14] - _T_144.rd <= _T_138 @[el2_ifu_compress.scala 19:12] - _T_144.rs1 <= _T_140 @[el2_ifu_compress.scala 20:13] - _T_144.rs2 <= _T_142 @[el2_ifu_compress.scala 21:13] - _T_144.rs3 <= _T_143 @[el2_ifu_compress.scala 22:13] - node _T_145 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 31:20] - node _T_146 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:26] - node _T_147 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 31:36] + node _T_143 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_144 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_144.bits <= _T_136 @[el2_ifu_compress.scala 17:14] + _T_144.rd <= _T_138 @[el2_ifu_compress.scala 18:12] + _T_144.rs1 <= _T_140 @[el2_ifu_compress.scala 19:13] + _T_144.rs2 <= _T_142 @[el2_ifu_compress.scala 20:13] + _T_144.rs3 <= _T_143 @[el2_ifu_compress.scala 21:13] + node _T_145 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 30:20] + node _T_146 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 30:26] + node _T_147 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 30:36] node _T_148 = cat(_T_147, UInt<2>("h00")) @[Cat.scala 29:58] node _T_149 = cat(_T_145, _T_146) @[Cat.scala 29:58] node _T_150 = cat(_T_149, _T_148) @[Cat.scala 29:58] - node _T_151 = shr(_T_150, 5) @[el2_ifu_compress.scala 61:29] - node _T_152 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_151 = shr(_T_150, 5) @[el2_ifu_compress.scala 60:29] + node _T_152 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_153 = cat(UInt<2>("h01"), _T_152) @[Cat.scala 29:58] - node _T_154 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_154 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_155 = cat(UInt<2>("h01"), _T_154) @[Cat.scala 29:58] - node _T_156 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 31:20] - node _T_157 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:26] - node _T_158 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 31:36] + node _T_156 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 30:20] + node _T_157 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 30:26] + node _T_158 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 30:36] node _T_159 = cat(_T_158, UInt<2>("h00")) @[Cat.scala 29:58] node _T_160 = cat(_T_156, _T_157) @[Cat.scala 29:58] node _T_161 = cat(_T_160, _T_159) @[Cat.scala 29:58] - node _T_162 = bits(_T_161, 4, 0) @[el2_ifu_compress.scala 61:62] + node _T_162 = bits(_T_161, 4, 0) @[el2_ifu_compress.scala 60:62] node _T_163 = cat(UInt<3>("h02"), _T_162) @[Cat.scala 29:58] node _T_164 = cat(_T_163, UInt<7>("h023")) @[Cat.scala 29:58] node _T_165 = cat(_T_151, _T_153) @[Cat.scala 29:58] node _T_166 = cat(_T_165, _T_155) @[Cat.scala 29:58] node _T_167 = cat(_T_166, _T_164) @[Cat.scala 29:58] - node _T_168 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_168 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_169 = cat(UInt<2>("h01"), _T_168) @[Cat.scala 29:58] - node _T_170 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_170 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_171 = cat(UInt<2>("h01"), _T_170) @[Cat.scala 29:58] - node _T_172 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_172 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_173 = cat(UInt<2>("h01"), _T_172) @[Cat.scala 29:58] - node _T_174 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_175 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_175.bits <= _T_167 @[el2_ifu_compress.scala 18:14] - _T_175.rd <= _T_169 @[el2_ifu_compress.scala 19:12] - _T_175.rs1 <= _T_171 @[el2_ifu_compress.scala 20:13] - _T_175.rs2 <= _T_173 @[el2_ifu_compress.scala 21:13] - _T_175.rs3 <= _T_174 @[el2_ifu_compress.scala 22:13] - node _T_176 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 32:20] - node _T_177 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 32:28] + node _T_174 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_175 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_175.bits <= _T_167 @[el2_ifu_compress.scala 17:14] + _T_175.rd <= _T_169 @[el2_ifu_compress.scala 18:12] + _T_175.rs1 <= _T_171 @[el2_ifu_compress.scala 19:13] + _T_175.rs2 <= _T_173 @[el2_ifu_compress.scala 20:13] + _T_175.rs3 <= _T_174 @[el2_ifu_compress.scala 21:13] + node _T_176 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 31:20] + node _T_177 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:28] node _T_178 = cat(_T_176, _T_177) @[Cat.scala 29:58] node _T_179 = cat(_T_178, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_180 = shr(_T_179, 5) @[el2_ifu_compress.scala 60:29] - node _T_181 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_180 = shr(_T_179, 5) @[el2_ifu_compress.scala 59:29] + node _T_181 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_182 = cat(UInt<2>("h01"), _T_181) @[Cat.scala 29:58] - node _T_183 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_183 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_184 = cat(UInt<2>("h01"), _T_183) @[Cat.scala 29:58] - node _T_185 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 32:20] - node _T_186 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 32:28] + node _T_185 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 31:20] + node _T_186 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 31:28] node _T_187 = cat(_T_185, _T_186) @[Cat.scala 29:58] node _T_188 = cat(_T_187, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_189 = bits(_T_188, 4, 0) @[el2_ifu_compress.scala 60:62] + node _T_189 = bits(_T_188, 4, 0) @[el2_ifu_compress.scala 59:62] node _T_190 = cat(UInt<3>("h03"), _T_189) @[Cat.scala 29:58] node _T_191 = cat(_T_190, UInt<7>("h023")) @[Cat.scala 29:58] node _T_192 = cat(_T_180, _T_182) @[Cat.scala 29:58] node _T_193 = cat(_T_192, _T_184) @[Cat.scala 29:58] node _T_194 = cat(_T_193, _T_191) @[Cat.scala 29:58] - node _T_195 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_195 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_196 = cat(UInt<2>("h01"), _T_195) @[Cat.scala 29:58] - node _T_197 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_197 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_198 = cat(UInt<2>("h01"), _T_197) @[Cat.scala 29:58] - node _T_199 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_199 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_200 = cat(UInt<2>("h01"), _T_199) @[Cat.scala 29:58] - node _T_201 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_202 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_202.bits <= _T_194 @[el2_ifu_compress.scala 18:14] - _T_202.rd <= _T_196 @[el2_ifu_compress.scala 19:12] - _T_202.rs1 <= _T_198 @[el2_ifu_compress.scala 20:13] - _T_202.rs2 <= _T_200 @[el2_ifu_compress.scala 21:13] - _T_202.rs3 <= _T_201 @[el2_ifu_compress.scala 22:13] - node _T_203 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:30] + node _T_201 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_202 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_202.bits <= _T_194 @[el2_ifu_compress.scala 17:14] + _T_202.rd <= _T_196 @[el2_ifu_compress.scala 18:12] + _T_202.rs1 <= _T_198 @[el2_ifu_compress.scala 19:13] + _T_202.rs2 <= _T_200 @[el2_ifu_compress.scala 20:13] + _T_202.rs3 <= _T_201 @[el2_ifu_compress.scala 21:13] + node _T_203 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:30] node _T_204 = bits(_T_203, 0, 0) @[Bitwise.scala 72:15] node _T_205 = mux(_T_204, UInt<7>("h07f"), UInt<7>("h00")) @[Bitwise.scala 72:12] - node _T_206 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 39:38] + node _T_206 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 38:38] node _T_207 = cat(_T_205, _T_206) @[Cat.scala 29:58] - node _T_208 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_209 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_208 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_209 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_210 = cat(_T_209, UInt<7>("h013")) @[Cat.scala 29:58] node _T_211 = cat(_T_207, _T_208) @[Cat.scala 29:58] node _T_212 = cat(_T_211, UInt<3>("h00")) @[Cat.scala 29:58] node _T_213 = cat(_T_212, _T_210) @[Cat.scala 29:58] - node _T_214 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_215 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_216 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_214 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_215 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_216 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_217 = cat(UInt<2>("h01"), _T_216) @[Cat.scala 29:58] - node _T_218 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_219 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_219.bits <= _T_213 @[el2_ifu_compress.scala 18:14] - _T_219.rd <= _T_214 @[el2_ifu_compress.scala 19:12] - _T_219.rs1 <= _T_215 @[el2_ifu_compress.scala 20:13] - _T_219.rs2 <= _T_217 @[el2_ifu_compress.scala 21:13] - _T_219.rs3 <= _T_218 @[el2_ifu_compress.scala 22:13] - node _T_220 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_221 = orr(_T_220) @[el2_ifu_compress.scala 73:24] - node _T_222 = mux(_T_221, UInt<7>("h01b"), UInt<7>("h01f")) @[el2_ifu_compress.scala 73:20] - node _T_223 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:30] + node _T_218 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_219 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_219.bits <= _T_213 @[el2_ifu_compress.scala 17:14] + _T_219.rd <= _T_214 @[el2_ifu_compress.scala 18:12] + _T_219.rs1 <= _T_215 @[el2_ifu_compress.scala 19:13] + _T_219.rs2 <= _T_217 @[el2_ifu_compress.scala 20:13] + _T_219.rs3 <= _T_218 @[el2_ifu_compress.scala 21:13] + node _T_220 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_221 = orr(_T_220) @[el2_ifu_compress.scala 72:24] + node _T_222 = mux(_T_221, UInt<7>("h01b"), UInt<7>("h01f")) @[el2_ifu_compress.scala 72:20] + node _T_223 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:30] node _T_224 = bits(_T_223, 0, 0) @[Bitwise.scala 72:15] node _T_225 = mux(_T_224, UInt<7>("h07f"), UInt<7>("h00")) @[Bitwise.scala 72:12] - node _T_226 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 39:38] + node _T_226 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 38:38] node _T_227 = cat(_T_225, _T_226) @[Cat.scala 29:58] - node _T_228 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_229 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_228 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_229 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_230 = cat(_T_229, _T_222) @[Cat.scala 29:58] node _T_231 = cat(_T_227, _T_228) @[Cat.scala 29:58] node _T_232 = cat(_T_231, UInt<3>("h00")) @[Cat.scala 29:58] node _T_233 = cat(_T_232, _T_230) @[Cat.scala 29:58] - node _T_234 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_235 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_236 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_234 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_235 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_236 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_237 = cat(UInt<2>("h01"), _T_236) @[Cat.scala 29:58] - node _T_238 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_239 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_239.bits <= _T_233 @[el2_ifu_compress.scala 18:14] - _T_239.rd <= _T_234 @[el2_ifu_compress.scala 19:12] - _T_239.rs1 <= _T_235 @[el2_ifu_compress.scala 20:13] - _T_239.rs2 <= _T_237 @[el2_ifu_compress.scala 21:13] - _T_239.rs3 <= _T_238 @[el2_ifu_compress.scala 22:13] - node _T_240 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:30] + node _T_238 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_239 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_239.bits <= _T_233 @[el2_ifu_compress.scala 17:14] + _T_239.rd <= _T_234 @[el2_ifu_compress.scala 18:12] + _T_239.rs1 <= _T_235 @[el2_ifu_compress.scala 19:13] + _T_239.rs2 <= _T_237 @[el2_ifu_compress.scala 20:13] + _T_239.rs3 <= _T_238 @[el2_ifu_compress.scala 21:13] + node _T_240 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:30] node _T_241 = bits(_T_240, 0, 0) @[Bitwise.scala 72:15] node _T_242 = mux(_T_241, UInt<7>("h07f"), UInt<7>("h00")) @[Bitwise.scala 72:12] - node _T_243 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 39:38] + node _T_243 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 38:38] node _T_244 = cat(_T_242, _T_243) @[Cat.scala 29:58] - node _T_245 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_245 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_246 = cat(_T_245, UInt<7>("h013")) @[Cat.scala 29:58] node _T_247 = cat(_T_244, UInt<5>("h00")) @[Cat.scala 29:58] node _T_248 = cat(_T_247, UInt<3>("h00")) @[Cat.scala 29:58] node _T_249 = cat(_T_248, _T_246) @[Cat.scala 29:58] - node _T_250 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_251 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_250 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_251 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_252 = cat(UInt<2>("h01"), _T_251) @[Cat.scala 29:58] - node _T_253 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_254 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_254.bits <= _T_249 @[el2_ifu_compress.scala 18:14] - _T_254.rd <= _T_250 @[el2_ifu_compress.scala 19:12] - _T_254.rs1 <= UInt<5>("h00") @[el2_ifu_compress.scala 20:13] - _T_254.rs2 <= _T_252 @[el2_ifu_compress.scala 21:13] - _T_254.rs3 <= _T_253 @[el2_ifu_compress.scala 22:13] - node _T_255 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:30] + node _T_253 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_254 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_254.bits <= _T_249 @[el2_ifu_compress.scala 17:14] + _T_254.rd <= _T_250 @[el2_ifu_compress.scala 18:12] + _T_254.rs1 <= UInt<5>("h00") @[el2_ifu_compress.scala 19:13] + _T_254.rs2 <= _T_252 @[el2_ifu_compress.scala 20:13] + _T_254.rs3 <= _T_253 @[el2_ifu_compress.scala 21:13] + node _T_255 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:30] node _T_256 = bits(_T_255, 0, 0) @[Bitwise.scala 72:15] node _T_257 = mux(_T_256, UInt<7>("h07f"), UInt<7>("h00")) @[Bitwise.scala 72:12] - node _T_258 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 39:38] + node _T_258 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 38:38] node _T_259 = cat(_T_257, _T_258) @[Cat.scala 29:58] - node _T_260 = orr(_T_259) @[el2_ifu_compress.scala 86:29] - node _T_261 = mux(_T_260, UInt<7>("h037"), UInt<7>("h03f")) @[el2_ifu_compress.scala 86:20] - node _T_262 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 37:30] + node _T_260 = orr(_T_259) @[el2_ifu_compress.scala 85:29] + node _T_261 = mux(_T_260, UInt<7>("h037"), UInt<7>("h03f")) @[el2_ifu_compress.scala 85:20] + node _T_262 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 36:30] node _T_263 = bits(_T_262, 0, 0) @[Bitwise.scala 72:15] node _T_264 = mux(_T_263, UInt<15>("h07fff"), UInt<15>("h00")) @[Bitwise.scala 72:12] - node _T_265 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 37:38] + node _T_265 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 36:38] node _T_266 = cat(_T_264, _T_265) @[Cat.scala 29:58] node _T_267 = cat(_T_266, UInt<12>("h00")) @[Cat.scala 29:58] - node _T_268 = bits(_T_267, 31, 12) @[el2_ifu_compress.scala 87:31] - node _T_269 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_268 = bits(_T_267, 31, 12) @[el2_ifu_compress.scala 86:31] + node _T_269 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_270 = cat(_T_268, _T_269) @[Cat.scala 29:58] node _T_271 = cat(_T_270, _T_261) @[Cat.scala 29:58] - node _T_272 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_273 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_274 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_272 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_273 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_274 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_275 = cat(UInt<2>("h01"), _T_274) @[Cat.scala 29:58] - node _T_276 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_277 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_277.bits <= _T_271 @[el2_ifu_compress.scala 18:14] - _T_277.rd <= _T_272 @[el2_ifu_compress.scala 19:12] - _T_277.rs1 <= _T_273 @[el2_ifu_compress.scala 20:13] - _T_277.rs2 <= _T_275 @[el2_ifu_compress.scala 21:13] - _T_277.rs3 <= _T_276 @[el2_ifu_compress.scala 22:13] - node _T_278 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_279 = eq(_T_278, UInt<5>("h00")) @[el2_ifu_compress.scala 88:14] - node _T_280 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_281 = eq(_T_280, UInt<5>("h02")) @[el2_ifu_compress.scala 88:27] - node _T_282 = or(_T_279, _T_281) @[el2_ifu_compress.scala 88:21] - node _T_283 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:30] + node _T_276 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_277 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_277.bits <= _T_271 @[el2_ifu_compress.scala 17:14] + _T_277.rd <= _T_272 @[el2_ifu_compress.scala 18:12] + _T_277.rs1 <= _T_273 @[el2_ifu_compress.scala 19:13] + _T_277.rs2 <= _T_275 @[el2_ifu_compress.scala 20:13] + _T_277.rs3 <= _T_276 @[el2_ifu_compress.scala 21:13] + node _T_278 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_279 = eq(_T_278, UInt<5>("h00")) @[el2_ifu_compress.scala 87:14] + node _T_280 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_281 = eq(_T_280, UInt<5>("h02")) @[el2_ifu_compress.scala 87:27] + node _T_282 = or(_T_279, _T_281) @[el2_ifu_compress.scala 87:21] + node _T_283 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:30] node _T_284 = bits(_T_283, 0, 0) @[Bitwise.scala 72:15] node _T_285 = mux(_T_284, UInt<7>("h07f"), UInt<7>("h00")) @[Bitwise.scala 72:12] - node _T_286 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 39:38] + node _T_286 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 38:38] node _T_287 = cat(_T_285, _T_286) @[Cat.scala 29:58] - node _T_288 = orr(_T_287) @[el2_ifu_compress.scala 82:29] - node _T_289 = mux(_T_288, UInt<7>("h013"), UInt<7>("h01f")) @[el2_ifu_compress.scala 82:20] - node _T_290 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:34] + node _T_288 = orr(_T_287) @[el2_ifu_compress.scala 81:29] + node _T_289 = mux(_T_288, UInt<7>("h013"), UInt<7>("h01f")) @[el2_ifu_compress.scala 81:20] + node _T_290 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 37:34] node _T_291 = bits(_T_290, 0, 0) @[Bitwise.scala 72:15] node _T_292 = mux(_T_291, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_293 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 38:42] - node _T_294 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 38:50] - node _T_295 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 38:56] - node _T_296 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 38:62] + node _T_293 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 37:42] + node _T_294 = bits(io.in, 5, 5) @[el2_ifu_compress.scala 37:50] + node _T_295 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 37:56] + node _T_296 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 37:62] node _T_297 = cat(_T_295, _T_296) @[Cat.scala 29:58] node _T_298 = cat(_T_297, UInt<4>("h00")) @[Cat.scala 29:58] node _T_299 = cat(_T_292, _T_293) @[Cat.scala 29:58] node _T_300 = cat(_T_299, _T_294) @[Cat.scala 29:58] node _T_301 = cat(_T_300, _T_298) @[Cat.scala 29:58] - node _T_302 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_303 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_302 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_303 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_304 = cat(_T_303, _T_289) @[Cat.scala 29:58] node _T_305 = cat(_T_301, _T_302) @[Cat.scala 29:58] node _T_306 = cat(_T_305, UInt<3>("h00")) @[Cat.scala 29:58] node _T_307 = cat(_T_306, _T_304) @[Cat.scala 29:58] - node _T_308 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_309 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_310 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_308 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_309 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_310 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_311 = cat(UInt<2>("h01"), _T_310) @[Cat.scala 29:58] - node _T_312 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_313 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_313.bits <= _T_307 @[el2_ifu_compress.scala 18:14] - _T_313.rd <= _T_308 @[el2_ifu_compress.scala 19:12] - _T_313.rs1 <= _T_309 @[el2_ifu_compress.scala 20:13] - _T_313.rs2 <= _T_311 @[el2_ifu_compress.scala 21:13] - _T_313.rs3 <= _T_312 @[el2_ifu_compress.scala 22:13] - node _T_314 = mux(_T_282, _T_313, _T_277) @[el2_ifu_compress.scala 88:10] - node _T_315 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 42:20] - node _T_316 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 42:27] + node _T_312 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_313 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_313.bits <= _T_307 @[el2_ifu_compress.scala 17:14] + _T_313.rd <= _T_308 @[el2_ifu_compress.scala 18:12] + _T_313.rs1 <= _T_309 @[el2_ifu_compress.scala 19:13] + _T_313.rs2 <= _T_311 @[el2_ifu_compress.scala 20:13] + _T_313.rs3 <= _T_312 @[el2_ifu_compress.scala 21:13] + node _T_314 = mux(_T_282, _T_313, _T_277) @[el2_ifu_compress.scala 87:10] + node _T_315 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:20] + node _T_316 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 41:27] node _T_317 = cat(_T_315, _T_316) @[Cat.scala 29:58] - node _T_318 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_318 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_319 = cat(UInt<2>("h01"), _T_318) @[Cat.scala 29:58] - node _T_320 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_320 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_321 = cat(UInt<2>("h01"), _T_320) @[Cat.scala 29:58] node _T_322 = cat(_T_321, UInt<7>("h013")) @[Cat.scala 29:58] node _T_323 = cat(_T_317, _T_319) @[Cat.scala 29:58] node _T_324 = cat(_T_323, UInt<3>("h05")) @[Cat.scala 29:58] node _T_325 = cat(_T_324, _T_322) @[Cat.scala 29:58] - node _T_326 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 42:20] - node _T_327 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 42:27] + node _T_326 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:20] + node _T_327 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 41:27] node _T_328 = cat(_T_326, _T_327) @[Cat.scala 29:58] - node _T_329 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_329 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_330 = cat(UInt<2>("h01"), _T_329) @[Cat.scala 29:58] - node _T_331 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_331 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_332 = cat(UInt<2>("h01"), _T_331) @[Cat.scala 29:58] node _T_333 = cat(_T_332, UInt<7>("h013")) @[Cat.scala 29:58] node _T_334 = cat(_T_328, _T_330) @[Cat.scala 29:58] node _T_335 = cat(_T_334, UInt<3>("h05")) @[Cat.scala 29:58] node _T_336 = cat(_T_335, _T_333) @[Cat.scala 29:58] - node _T_337 = or(_T_336, UInt<31>("h040000000")) @[el2_ifu_compress.scala 95:23] - node _T_338 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:30] + node _T_337 = or(_T_336, UInt<31>("h040000000")) @[el2_ifu_compress.scala 94:23] + node _T_338 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 38:30] node _T_339 = bits(_T_338, 0, 0) @[Bitwise.scala 72:15] node _T_340 = mux(_T_339, UInt<7>("h07f"), UInt<7>("h00")) @[Bitwise.scala 72:12] - node _T_341 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 39:38] + node _T_341 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 38:38] node _T_342 = cat(_T_340, _T_341) @[Cat.scala 29:58] - node _T_343 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_343 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_344 = cat(UInt<2>("h01"), _T_343) @[Cat.scala 29:58] - node _T_345 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_345 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_346 = cat(UInt<2>("h01"), _T_345) @[Cat.scala 29:58] node _T_347 = cat(_T_346, UInt<7>("h013")) @[Cat.scala 29:58] node _T_348 = cat(_T_342, _T_344) @[Cat.scala 29:58] node _T_349 = cat(_T_348, UInt<3>("h07")) @[Cat.scala 29:58] node _T_350 = cat(_T_349, _T_347) @[Cat.scala 29:58] - wire _T_351 : UInt<3>[8] @[el2_ifu_compress.scala 98:28] - _T_351[0] <= UInt<1>("h00") @[el2_ifu_compress.scala 98:28] - _T_351[1] <= UInt<3>("h04") @[el2_ifu_compress.scala 98:28] - _T_351[2] <= UInt<3>("h06") @[el2_ifu_compress.scala 98:28] - _T_351[3] <= UInt<3>("h07") @[el2_ifu_compress.scala 98:28] - _T_351[4] <= UInt<1>("h00") @[el2_ifu_compress.scala 98:28] - _T_351[5] <= UInt<1>("h00") @[el2_ifu_compress.scala 98:28] - _T_351[6] <= UInt<2>("h02") @[el2_ifu_compress.scala 98:28] - _T_351[7] <= UInt<2>("h03") @[el2_ifu_compress.scala 98:28] - node _T_352 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 98:74] - node _T_353 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 98:81] + wire _T_351 : UInt<3>[8] @[el2_ifu_compress.scala 97:28] + _T_351[0] <= UInt<1>("h00") @[el2_ifu_compress.scala 97:28] + _T_351[1] <= UInt<3>("h04") @[el2_ifu_compress.scala 97:28] + _T_351[2] <= UInt<3>("h06") @[el2_ifu_compress.scala 97:28] + _T_351[3] <= UInt<3>("h07") @[el2_ifu_compress.scala 97:28] + _T_351[4] <= UInt<1>("h00") @[el2_ifu_compress.scala 97:28] + _T_351[5] <= UInt<1>("h00") @[el2_ifu_compress.scala 97:28] + _T_351[6] <= UInt<2>("h02") @[el2_ifu_compress.scala 97:28] + _T_351[7] <= UInt<2>("h03") @[el2_ifu_compress.scala 97:28] + node _T_352 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 97:74] + node _T_353 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 97:81] node _T_354 = cat(_T_352, _T_353) @[Cat.scala 29:58] - node _T_355 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 99:24] - node _T_356 = eq(_T_355, UInt<1>("h00")) @[el2_ifu_compress.scala 99:30] - node _T_357 = mux(_T_356, UInt<31>("h040000000"), UInt<1>("h00")) @[el2_ifu_compress.scala 99:22] - node _T_358 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 100:24] - node _T_359 = mux(_T_358, UInt<7>("h03b"), UInt<7>("h033")) @[el2_ifu_compress.scala 100:22] - node _T_360 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_355 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 98:24] + node _T_356 = eq(_T_355, UInt<1>("h00")) @[el2_ifu_compress.scala 98:30] + node _T_357 = mux(_T_356, UInt<31>("h040000000"), UInt<1>("h00")) @[el2_ifu_compress.scala 98:22] + node _T_358 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 99:24] + node _T_359 = mux(_T_358, UInt<7>("h03b"), UInt<7>("h033")) @[el2_ifu_compress.scala 99:22] + node _T_360 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_361 = cat(UInt<2>("h01"), _T_360) @[Cat.scala 29:58] - node _T_362 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_362 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_363 = cat(UInt<2>("h01"), _T_362) @[Cat.scala 29:58] - node _T_364 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_364 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_365 = cat(UInt<2>("h01"), _T_364) @[Cat.scala 29:58] node _T_366 = cat(_T_365, _T_359) @[Cat.scala 29:58] node _T_367 = cat(_T_361, _T_363) @[Cat.scala 29:58] node _T_368 = cat(_T_367, _T_351[_T_354]) @[Cat.scala 29:58] node _T_369 = cat(_T_368, _T_366) @[Cat.scala 29:58] - node _T_370 = or(_T_369, _T_357) @[el2_ifu_compress.scala 101:43] - wire _T_371 : UInt<32>[4] @[el2_ifu_compress.scala 103:19] - _T_371[0] <= _T_325 @[el2_ifu_compress.scala 103:19] - _T_371[1] <= _T_337 @[el2_ifu_compress.scala 103:19] - _T_371[2] <= _T_350 @[el2_ifu_compress.scala 103:19] - _T_371[3] <= _T_370 @[el2_ifu_compress.scala 103:19] - node _T_372 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 103:46] - node _T_373 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_370 = or(_T_369, _T_357) @[el2_ifu_compress.scala 100:43] + wire _T_371 : UInt<32>[4] @[el2_ifu_compress.scala 102:19] + _T_371[0] <= _T_325 @[el2_ifu_compress.scala 102:19] + _T_371[1] <= _T_337 @[el2_ifu_compress.scala 102:19] + _T_371[2] <= _T_350 @[el2_ifu_compress.scala 102:19] + _T_371[3] <= _T_370 @[el2_ifu_compress.scala 102:19] + node _T_372 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 102:46] + node _T_373 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_374 = cat(UInt<2>("h01"), _T_373) @[Cat.scala 29:58] - node _T_375 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_375 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_376 = cat(UInt<2>("h01"), _T_375) @[Cat.scala 29:58] - node _T_377 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_377 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_378 = cat(UInt<2>("h01"), _T_377) @[Cat.scala 29:58] - node _T_379 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_380 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_380.bits <= _T_371[_T_372] @[el2_ifu_compress.scala 18:14] - _T_380.rd <= _T_374 @[el2_ifu_compress.scala 19:12] - _T_380.rs1 <= _T_376 @[el2_ifu_compress.scala 20:13] - _T_380.rs2 <= _T_378 @[el2_ifu_compress.scala 21:13] - _T_380.rs3 <= _T_379 @[el2_ifu_compress.scala 22:13] - node _T_381 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:28] + node _T_379 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_380 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_380.bits <= _T_371[_T_372] @[el2_ifu_compress.scala 17:14] + _T_380.rd <= _T_374 @[el2_ifu_compress.scala 18:12] + _T_380.rs1 <= _T_376 @[el2_ifu_compress.scala 19:13] + _T_380.rs2 <= _T_378 @[el2_ifu_compress.scala 20:13] + _T_380.rs3 <= _T_379 @[el2_ifu_compress.scala 21:13] + node _T_381 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:28] node _T_382 = bits(_T_381, 0, 0) @[Bitwise.scala 72:15] node _T_383 = mux(_T_382, UInt<10>("h03ff"), UInt<10>("h00")) @[Bitwise.scala 72:12] - node _T_384 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 40:36] - node _T_385 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 40:42] - node _T_386 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 40:51] - node _T_387 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 40:57] - node _T_388 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:63] - node _T_389 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 40:69] - node _T_390 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 40:76] + node _T_384 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 39:36] + node _T_385 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 39:42] + node _T_386 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 39:51] + node _T_387 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 39:57] + node _T_388 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 39:63] + node _T_389 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 39:69] + node _T_390 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 39:76] node _T_391 = cat(_T_390, UInt<1>("h00")) @[Cat.scala 29:58] node _T_392 = cat(_T_388, _T_389) @[Cat.scala 29:58] node _T_393 = cat(_T_392, _T_391) @[Cat.scala 29:58] @@ -487,17 +487,17 @@ circuit el2_ifu_compress : node _T_396 = cat(_T_395, _T_385) @[Cat.scala 29:58] node _T_397 = cat(_T_396, _T_394) @[Cat.scala 29:58] node _T_398 = cat(_T_397, _T_393) @[Cat.scala 29:58] - node _T_399 = bits(_T_398, 20, 20) @[el2_ifu_compress.scala 90:26] - node _T_400 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:28] + node _T_399 = bits(_T_398, 20, 20) @[el2_ifu_compress.scala 89:26] + node _T_400 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:28] node _T_401 = bits(_T_400, 0, 0) @[Bitwise.scala 72:15] node _T_402 = mux(_T_401, UInt<10>("h03ff"), UInt<10>("h00")) @[Bitwise.scala 72:12] - node _T_403 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 40:36] - node _T_404 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 40:42] - node _T_405 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 40:51] - node _T_406 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 40:57] - node _T_407 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:63] - node _T_408 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 40:69] - node _T_409 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 40:76] + node _T_403 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 39:36] + node _T_404 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 39:42] + node _T_405 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 39:51] + node _T_406 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 39:57] + node _T_407 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 39:63] + node _T_408 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 39:69] + node _T_409 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 39:76] node _T_410 = cat(_T_409, UInt<1>("h00")) @[Cat.scala 29:58] node _T_411 = cat(_T_407, _T_408) @[Cat.scala 29:58] node _T_412 = cat(_T_411, _T_410) @[Cat.scala 29:58] @@ -506,17 +506,17 @@ circuit el2_ifu_compress : node _T_415 = cat(_T_414, _T_404) @[Cat.scala 29:58] node _T_416 = cat(_T_415, _T_413) @[Cat.scala 29:58] node _T_417 = cat(_T_416, _T_412) @[Cat.scala 29:58] - node _T_418 = bits(_T_417, 10, 1) @[el2_ifu_compress.scala 90:36] - node _T_419 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:28] + node _T_418 = bits(_T_417, 10, 1) @[el2_ifu_compress.scala 89:36] + node _T_419 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:28] node _T_420 = bits(_T_419, 0, 0) @[Bitwise.scala 72:15] node _T_421 = mux(_T_420, UInt<10>("h03ff"), UInt<10>("h00")) @[Bitwise.scala 72:12] - node _T_422 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 40:36] - node _T_423 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 40:42] - node _T_424 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 40:51] - node _T_425 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 40:57] - node _T_426 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:63] - node _T_427 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 40:69] - node _T_428 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 40:76] + node _T_422 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 39:36] + node _T_423 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 39:42] + node _T_424 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 39:51] + node _T_425 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 39:57] + node _T_426 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 39:63] + node _T_427 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 39:69] + node _T_428 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 39:76] node _T_429 = cat(_T_428, UInt<1>("h00")) @[Cat.scala 29:58] node _T_430 = cat(_T_426, _T_427) @[Cat.scala 29:58] node _T_431 = cat(_T_430, _T_429) @[Cat.scala 29:58] @@ -525,17 +525,17 @@ circuit el2_ifu_compress : node _T_434 = cat(_T_433, _T_423) @[Cat.scala 29:58] node _T_435 = cat(_T_434, _T_432) @[Cat.scala 29:58] node _T_436 = cat(_T_435, _T_431) @[Cat.scala 29:58] - node _T_437 = bits(_T_436, 11, 11) @[el2_ifu_compress.scala 90:48] - node _T_438 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:28] + node _T_437 = bits(_T_436, 11, 11) @[el2_ifu_compress.scala 89:48] + node _T_438 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 39:28] node _T_439 = bits(_T_438, 0, 0) @[Bitwise.scala 72:15] node _T_440 = mux(_T_439, UInt<10>("h03ff"), UInt<10>("h00")) @[Bitwise.scala 72:12] - node _T_441 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 40:36] - node _T_442 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 40:42] - node _T_443 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 40:51] - node _T_444 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 40:57] - node _T_445 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:63] - node _T_446 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 40:69] - node _T_447 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 40:76] + node _T_441 = bits(io.in, 8, 8) @[el2_ifu_compress.scala 39:36] + node _T_442 = bits(io.in, 10, 9) @[el2_ifu_compress.scala 39:42] + node _T_443 = bits(io.in, 6, 6) @[el2_ifu_compress.scala 39:51] + node _T_444 = bits(io.in, 7, 7) @[el2_ifu_compress.scala 39:57] + node _T_445 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 39:63] + node _T_446 = bits(io.in, 11, 11) @[el2_ifu_compress.scala 39:69] + node _T_447 = bits(io.in, 5, 3) @[el2_ifu_compress.scala 39:76] node _T_448 = cat(_T_447, UInt<1>("h00")) @[Cat.scala 29:58] node _T_449 = cat(_T_445, _T_446) @[Cat.scala 29:58] node _T_450 = cat(_T_449, _T_448) @[Cat.scala 29:58] @@ -544,77 +544,77 @@ circuit el2_ifu_compress : node _T_453 = cat(_T_452, _T_442) @[Cat.scala 29:58] node _T_454 = cat(_T_453, _T_451) @[Cat.scala 29:58] node _T_455 = cat(_T_454, _T_450) @[Cat.scala 29:58] - node _T_456 = bits(_T_455, 19, 12) @[el2_ifu_compress.scala 90:58] + node _T_456 = bits(_T_455, 19, 12) @[el2_ifu_compress.scala 89:58] node _T_457 = cat(_T_456, UInt<5>("h00")) @[Cat.scala 29:58] node _T_458 = cat(_T_457, UInt<7>("h06f")) @[Cat.scala 29:58] node _T_459 = cat(_T_399, _T_418) @[Cat.scala 29:58] node _T_460 = cat(_T_459, _T_437) @[Cat.scala 29:58] node _T_461 = cat(_T_460, _T_458) @[Cat.scala 29:58] - node _T_462 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_462 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_463 = cat(UInt<2>("h01"), _T_462) @[Cat.scala 29:58] - node _T_464 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 27:29] + node _T_464 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 26:29] node _T_465 = cat(UInt<2>("h01"), _T_464) @[Cat.scala 29:58] - node _T_466 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_467 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_467.bits <= _T_461 @[el2_ifu_compress.scala 18:14] - _T_467.rd <= UInt<5>("h00") @[el2_ifu_compress.scala 19:12] - _T_467.rs1 <= _T_463 @[el2_ifu_compress.scala 20:13] - _T_467.rs2 <= _T_465 @[el2_ifu_compress.scala 21:13] - _T_467.rs3 <= _T_466 @[el2_ifu_compress.scala 22:13] - node _T_468 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_466 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_467 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_467.bits <= _T_461 @[el2_ifu_compress.scala 17:14] + _T_467.rd <= UInt<5>("h00") @[el2_ifu_compress.scala 18:12] + _T_467.rs1 <= _T_463 @[el2_ifu_compress.scala 19:13] + _T_467.rs2 <= _T_465 @[el2_ifu_compress.scala 20:13] + _T_467.rs3 <= _T_466 @[el2_ifu_compress.scala 21:13] + node _T_468 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_469 = bits(_T_468, 0, 0) @[Bitwise.scala 72:15] node _T_470 = mux(_T_469, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_471 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_472 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_473 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_474 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_471 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_472 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_473 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_474 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_475 = cat(_T_473, _T_474) @[Cat.scala 29:58] node _T_476 = cat(_T_475, UInt<1>("h00")) @[Cat.scala 29:58] node _T_477 = cat(_T_470, _T_471) @[Cat.scala 29:58] node _T_478 = cat(_T_477, _T_472) @[Cat.scala 29:58] node _T_479 = cat(_T_478, _T_476) @[Cat.scala 29:58] - node _T_480 = bits(_T_479, 12, 12) @[el2_ifu_compress.scala 91:29] - node _T_481 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_480 = bits(_T_479, 12, 12) @[el2_ifu_compress.scala 90:29] + node _T_481 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_482 = bits(_T_481, 0, 0) @[Bitwise.scala 72:15] node _T_483 = mux(_T_482, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_484 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_485 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_486 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_487 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_484 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_485 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_486 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_487 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_488 = cat(_T_486, _T_487) @[Cat.scala 29:58] node _T_489 = cat(_T_488, UInt<1>("h00")) @[Cat.scala 29:58] node _T_490 = cat(_T_483, _T_484) @[Cat.scala 29:58] node _T_491 = cat(_T_490, _T_485) @[Cat.scala 29:58] node _T_492 = cat(_T_491, _T_489) @[Cat.scala 29:58] - node _T_493 = bits(_T_492, 10, 5) @[el2_ifu_compress.scala 91:39] - node _T_494 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_493 = bits(_T_492, 10, 5) @[el2_ifu_compress.scala 90:39] + node _T_494 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_495 = cat(UInt<2>("h01"), _T_494) @[Cat.scala 29:58] - node _T_496 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_496 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_497 = bits(_T_496, 0, 0) @[Bitwise.scala 72:15] node _T_498 = mux(_T_497, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_499 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_500 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_501 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_502 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_499 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_500 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_501 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_502 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_503 = cat(_T_501, _T_502) @[Cat.scala 29:58] node _T_504 = cat(_T_503, UInt<1>("h00")) @[Cat.scala 29:58] node _T_505 = cat(_T_498, _T_499) @[Cat.scala 29:58] node _T_506 = cat(_T_505, _T_500) @[Cat.scala 29:58] node _T_507 = cat(_T_506, _T_504) @[Cat.scala 29:58] - node _T_508 = bits(_T_507, 4, 1) @[el2_ifu_compress.scala 91:71] - node _T_509 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_508 = bits(_T_507, 4, 1) @[el2_ifu_compress.scala 90:71] + node _T_509 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_510 = bits(_T_509, 0, 0) @[Bitwise.scala 72:15] node _T_511 = mux(_T_510, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_512 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_513 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_514 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_515 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_512 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_513 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_514 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_515 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_516 = cat(_T_514, _T_515) @[Cat.scala 29:58] node _T_517 = cat(_T_516, UInt<1>("h00")) @[Cat.scala 29:58] node _T_518 = cat(_T_511, _T_512) @[Cat.scala 29:58] node _T_519 = cat(_T_518, _T_513) @[Cat.scala 29:58] node _T_520 = cat(_T_519, _T_517) @[Cat.scala 29:58] - node _T_521 = bits(_T_520, 11, 11) @[el2_ifu_compress.scala 91:82] + node _T_521 = bits(_T_520, 11, 11) @[el2_ifu_compress.scala 90:82] node _T_522 = cat(_T_521, UInt<7>("h063")) @[Cat.scala 29:58] node _T_523 = cat(UInt<3>("h00"), _T_508) @[Cat.scala 29:58] node _T_524 = cat(_T_523, _T_522) @[Cat.scala 29:58] @@ -622,71 +622,71 @@ circuit el2_ifu_compress : node _T_526 = cat(_T_480, _T_493) @[Cat.scala 29:58] node _T_527 = cat(_T_526, _T_525) @[Cat.scala 29:58] node _T_528 = cat(_T_527, _T_524) @[Cat.scala 29:58] - node _T_529 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_529 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_530 = cat(UInt<2>("h01"), _T_529) @[Cat.scala 29:58] - node _T_531 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_531 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_532 = cat(UInt<2>("h01"), _T_531) @[Cat.scala 29:58] - node _T_533 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_534 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_534.bits <= _T_528 @[el2_ifu_compress.scala 18:14] - _T_534.rd <= _T_530 @[el2_ifu_compress.scala 19:12] - _T_534.rs1 <= _T_532 @[el2_ifu_compress.scala 20:13] - _T_534.rs2 <= UInt<5>("h00") @[el2_ifu_compress.scala 21:13] - _T_534.rs3 <= _T_533 @[el2_ifu_compress.scala 22:13] - node _T_535 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_533 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_534 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_534.bits <= _T_528 @[el2_ifu_compress.scala 17:14] + _T_534.rd <= _T_530 @[el2_ifu_compress.scala 18:12] + _T_534.rs1 <= _T_532 @[el2_ifu_compress.scala 19:13] + _T_534.rs2 <= UInt<5>("h00") @[el2_ifu_compress.scala 20:13] + _T_534.rs3 <= _T_533 @[el2_ifu_compress.scala 21:13] + node _T_535 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_536 = bits(_T_535, 0, 0) @[Bitwise.scala 72:15] node _T_537 = mux(_T_536, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_538 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_539 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_540 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_541 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_538 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_539 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_540 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_541 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_542 = cat(_T_540, _T_541) @[Cat.scala 29:58] node _T_543 = cat(_T_542, UInt<1>("h00")) @[Cat.scala 29:58] node _T_544 = cat(_T_537, _T_538) @[Cat.scala 29:58] node _T_545 = cat(_T_544, _T_539) @[Cat.scala 29:58] node _T_546 = cat(_T_545, _T_543) @[Cat.scala 29:58] - node _T_547 = bits(_T_546, 12, 12) @[el2_ifu_compress.scala 92:29] - node _T_548 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_547 = bits(_T_546, 12, 12) @[el2_ifu_compress.scala 91:29] + node _T_548 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_549 = bits(_T_548, 0, 0) @[Bitwise.scala 72:15] node _T_550 = mux(_T_549, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_551 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_552 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_553 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_554 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_551 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_552 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_553 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_554 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_555 = cat(_T_553, _T_554) @[Cat.scala 29:58] node _T_556 = cat(_T_555, UInt<1>("h00")) @[Cat.scala 29:58] node _T_557 = cat(_T_550, _T_551) @[Cat.scala 29:58] node _T_558 = cat(_T_557, _T_552) @[Cat.scala 29:58] node _T_559 = cat(_T_558, _T_556) @[Cat.scala 29:58] - node _T_560 = bits(_T_559, 10, 5) @[el2_ifu_compress.scala 92:39] - node _T_561 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_560 = bits(_T_559, 10, 5) @[el2_ifu_compress.scala 91:39] + node _T_561 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_562 = cat(UInt<2>("h01"), _T_561) @[Cat.scala 29:58] - node _T_563 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_563 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_564 = bits(_T_563, 0, 0) @[Bitwise.scala 72:15] node _T_565 = mux(_T_564, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_566 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_567 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_568 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_569 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_566 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_567 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_568 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_569 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_570 = cat(_T_568, _T_569) @[Cat.scala 29:58] node _T_571 = cat(_T_570, UInt<1>("h00")) @[Cat.scala 29:58] node _T_572 = cat(_T_565, _T_566) @[Cat.scala 29:58] node _T_573 = cat(_T_572, _T_567) @[Cat.scala 29:58] node _T_574 = cat(_T_573, _T_571) @[Cat.scala 29:58] - node _T_575 = bits(_T_574, 4, 1) @[el2_ifu_compress.scala 92:71] - node _T_576 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:27] + node _T_575 = bits(_T_574, 4, 1) @[el2_ifu_compress.scala 91:71] + node _T_576 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 40:27] node _T_577 = bits(_T_576, 0, 0) @[Bitwise.scala 72:15] node _T_578 = mux(_T_577, UInt<5>("h01f"), UInt<5>("h00")) @[Bitwise.scala 72:12] - node _T_579 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 41:35] - node _T_580 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 41:43] - node _T_581 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 41:49] - node _T_582 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 41:59] + node _T_579 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 40:35] + node _T_580 = bits(io.in, 2, 2) @[el2_ifu_compress.scala 40:43] + node _T_581 = bits(io.in, 11, 10) @[el2_ifu_compress.scala 40:49] + node _T_582 = bits(io.in, 4, 3) @[el2_ifu_compress.scala 40:59] node _T_583 = cat(_T_581, _T_582) @[Cat.scala 29:58] node _T_584 = cat(_T_583, UInt<1>("h00")) @[Cat.scala 29:58] node _T_585 = cat(_T_578, _T_579) @[Cat.scala 29:58] node _T_586 = cat(_T_585, _T_580) @[Cat.scala 29:58] node _T_587 = cat(_T_586, _T_584) @[Cat.scala 29:58] - node _T_588 = bits(_T_587, 11, 11) @[el2_ifu_compress.scala 92:82] + node _T_588 = bits(_T_587, 11, 11) @[el2_ifu_compress.scala 91:82] node _T_589 = cat(_T_588, UInt<7>("h063")) @[Cat.scala 29:58] node _T_590 = cat(UInt<3>("h01"), _T_575) @[Cat.scala 29:58] node _T_591 = cat(_T_590, _T_589) @[Cat.scala 29:58] @@ -694,500 +694,500 @@ circuit el2_ifu_compress : node _T_593 = cat(_T_547, _T_560) @[Cat.scala 29:58] node _T_594 = cat(_T_593, _T_592) @[Cat.scala 29:58] node _T_595 = cat(_T_594, _T_591) @[Cat.scala 29:58] - node _T_596 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 26:29] + node _T_596 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 25:29] node _T_597 = cat(UInt<2>("h01"), _T_596) @[Cat.scala 29:58] - node _T_598 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_599 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_599.bits <= _T_595 @[el2_ifu_compress.scala 18:14] - _T_599.rd <= UInt<5>("h00") @[el2_ifu_compress.scala 19:12] - _T_599.rs1 <= _T_597 @[el2_ifu_compress.scala 20:13] - _T_599.rs2 <= UInt<5>("h00") @[el2_ifu_compress.scala 21:13] - _T_599.rs3 <= _T_598 @[el2_ifu_compress.scala 22:13] - node _T_600 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_601 = orr(_T_600) @[el2_ifu_compress.scala 109:27] - node _T_602 = mux(_T_601, UInt<7>("h03"), UInt<7>("h01f")) @[el2_ifu_compress.scala 109:23] - node _T_603 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 42:20] - node _T_604 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 42:27] + node _T_598 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_599 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_599.bits <= _T_595 @[el2_ifu_compress.scala 17:14] + _T_599.rd <= UInt<5>("h00") @[el2_ifu_compress.scala 18:12] + _T_599.rs1 <= _T_597 @[el2_ifu_compress.scala 19:13] + _T_599.rs2 <= UInt<5>("h00") @[el2_ifu_compress.scala 20:13] + _T_599.rs3 <= _T_598 @[el2_ifu_compress.scala 21:13] + node _T_600 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_601 = orr(_T_600) @[el2_ifu_compress.scala 108:27] + node _T_602 = mux(_T_601, UInt<7>("h03"), UInt<7>("h01f")) @[el2_ifu_compress.scala 108:23] + node _T_603 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 41:20] + node _T_604 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 41:27] node _T_605 = cat(_T_603, _T_604) @[Cat.scala 29:58] - node _T_606 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_607 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_606 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_607 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_608 = cat(_T_607, UInt<7>("h013")) @[Cat.scala 29:58] node _T_609 = cat(_T_605, _T_606) @[Cat.scala 29:58] node _T_610 = cat(_T_609, UInt<3>("h01")) @[Cat.scala 29:58] node _T_611 = cat(_T_610, _T_608) @[Cat.scala 29:58] - node _T_612 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_613 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_614 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_615 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_616 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_616.bits <= _T_611 @[el2_ifu_compress.scala 18:14] - _T_616.rd <= _T_612 @[el2_ifu_compress.scala 19:12] - _T_616.rs1 <= _T_613 @[el2_ifu_compress.scala 20:13] - _T_616.rs2 <= _T_614 @[el2_ifu_compress.scala 21:13] - _T_616.rs3 <= _T_615 @[el2_ifu_compress.scala 22:13] - node _T_617 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 34:22] - node _T_618 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 34:30] - node _T_619 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 34:37] + node _T_612 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_613 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_614 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_615 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_616 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_616.bits <= _T_611 @[el2_ifu_compress.scala 17:14] + _T_616.rd <= _T_612 @[el2_ifu_compress.scala 18:12] + _T_616.rs1 <= _T_613 @[el2_ifu_compress.scala 19:13] + _T_616.rs2 <= _T_614 @[el2_ifu_compress.scala 20:13] + _T_616.rs3 <= _T_615 @[el2_ifu_compress.scala 21:13] + node _T_617 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 33:22] + node _T_618 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 33:30] + node _T_619 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 33:37] node _T_620 = cat(_T_619, UInt<3>("h00")) @[Cat.scala 29:58] node _T_621 = cat(_T_617, _T_618) @[Cat.scala 29:58] node _T_622 = cat(_T_621, _T_620) @[Cat.scala 29:58] - node _T_623 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_623 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_624 = cat(_T_623, UInt<7>("h07")) @[Cat.scala 29:58] node _T_625 = cat(_T_622, UInt<5>("h02")) @[Cat.scala 29:58] node _T_626 = cat(_T_625, UInt<3>("h03")) @[Cat.scala 29:58] node _T_627 = cat(_T_626, _T_624) @[Cat.scala 29:58] - node _T_628 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_629 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_630 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_631 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_631.bits <= _T_627 @[el2_ifu_compress.scala 18:14] - _T_631.rd <= _T_628 @[el2_ifu_compress.scala 19:12] - _T_631.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_631.rs2 <= _T_629 @[el2_ifu_compress.scala 21:13] - _T_631.rs3 <= _T_630 @[el2_ifu_compress.scala 22:13] - node _T_632 = bits(io.in, 3, 2) @[el2_ifu_compress.scala 33:22] - node _T_633 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 33:30] - node _T_634 = bits(io.in, 6, 4) @[el2_ifu_compress.scala 33:37] + node _T_628 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_629 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_630 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_631 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_631.bits <= _T_627 @[el2_ifu_compress.scala 17:14] + _T_631.rd <= _T_628 @[el2_ifu_compress.scala 18:12] + _T_631.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_631.rs2 <= _T_629 @[el2_ifu_compress.scala 20:13] + _T_631.rs3 <= _T_630 @[el2_ifu_compress.scala 21:13] + node _T_632 = bits(io.in, 3, 2) @[el2_ifu_compress.scala 32:22] + node _T_633 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 32:30] + node _T_634 = bits(io.in, 6, 4) @[el2_ifu_compress.scala 32:37] node _T_635 = cat(_T_634, UInt<2>("h00")) @[Cat.scala 29:58] node _T_636 = cat(_T_632, _T_633) @[Cat.scala 29:58] node _T_637 = cat(_T_636, _T_635) @[Cat.scala 29:58] - node _T_638 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_638 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_639 = cat(_T_638, _T_602) @[Cat.scala 29:58] node _T_640 = cat(_T_637, UInt<5>("h02")) @[Cat.scala 29:58] node _T_641 = cat(_T_640, UInt<3>("h02")) @[Cat.scala 29:58] node _T_642 = cat(_T_641, _T_639) @[Cat.scala 29:58] - node _T_643 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_644 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_645 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_646 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_646.bits <= _T_642 @[el2_ifu_compress.scala 18:14] - _T_646.rd <= _T_643 @[el2_ifu_compress.scala 19:12] - _T_646.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_646.rs2 <= _T_644 @[el2_ifu_compress.scala 21:13] - _T_646.rs3 <= _T_645 @[el2_ifu_compress.scala 22:13] - node _T_647 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 34:22] - node _T_648 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 34:30] - node _T_649 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 34:37] + node _T_643 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_644 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_645 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_646 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_646.bits <= _T_642 @[el2_ifu_compress.scala 17:14] + _T_646.rd <= _T_643 @[el2_ifu_compress.scala 18:12] + _T_646.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_646.rs2 <= _T_644 @[el2_ifu_compress.scala 20:13] + _T_646.rs3 <= _T_645 @[el2_ifu_compress.scala 21:13] + node _T_647 = bits(io.in, 4, 2) @[el2_ifu_compress.scala 33:22] + node _T_648 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 33:30] + node _T_649 = bits(io.in, 6, 5) @[el2_ifu_compress.scala 33:37] node _T_650 = cat(_T_649, UInt<3>("h00")) @[Cat.scala 29:58] node _T_651 = cat(_T_647, _T_648) @[Cat.scala 29:58] node _T_652 = cat(_T_651, _T_650) @[Cat.scala 29:58] - node _T_653 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_653 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_654 = cat(_T_653, _T_602) @[Cat.scala 29:58] node _T_655 = cat(_T_652, UInt<5>("h02")) @[Cat.scala 29:58] node _T_656 = cat(_T_655, UInt<3>("h03")) @[Cat.scala 29:58] node _T_657 = cat(_T_656, _T_654) @[Cat.scala 29:58] - node _T_658 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_659 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_660 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_661 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_661.bits <= _T_657 @[el2_ifu_compress.scala 18:14] - _T_661.rd <= _T_658 @[el2_ifu_compress.scala 19:12] - _T_661.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_661.rs2 <= _T_659 @[el2_ifu_compress.scala 21:13] - _T_661.rs3 <= _T_660 @[el2_ifu_compress.scala 22:13] - node _T_662 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_663 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_658 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_659 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_660 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_661 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_661.bits <= _T_657 @[el2_ifu_compress.scala 17:14] + _T_661.rd <= _T_658 @[el2_ifu_compress.scala 18:12] + _T_661.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_661.rs2 <= _T_659 @[el2_ifu_compress.scala 20:13] + _T_661.rs3 <= _T_660 @[el2_ifu_compress.scala 21:13] + node _T_662 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_663 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_664 = cat(_T_663, UInt<7>("h033")) @[Cat.scala 29:58] node _T_665 = cat(_T_662, UInt<5>("h00")) @[Cat.scala 29:58] node _T_666 = cat(_T_665, UInt<3>("h00")) @[Cat.scala 29:58] node _T_667 = cat(_T_666, _T_664) @[Cat.scala 29:58] - node _T_668 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_669 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_670 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_671 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_671.bits <= _T_667 @[el2_ifu_compress.scala 18:14] - _T_671.rd <= _T_668 @[el2_ifu_compress.scala 19:12] - _T_671.rs1 <= UInt<5>("h00") @[el2_ifu_compress.scala 20:13] - _T_671.rs2 <= _T_669 @[el2_ifu_compress.scala 21:13] - _T_671.rs3 <= _T_670 @[el2_ifu_compress.scala 22:13] - node _T_672 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_673 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_674 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_668 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_669 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_670 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_671 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_671.bits <= _T_667 @[el2_ifu_compress.scala 17:14] + _T_671.rd <= _T_668 @[el2_ifu_compress.scala 18:12] + _T_671.rs1 <= UInt<5>("h00") @[el2_ifu_compress.scala 19:13] + _T_671.rs2 <= _T_669 @[el2_ifu_compress.scala 20:13] + _T_671.rs3 <= _T_670 @[el2_ifu_compress.scala 21:13] + node _T_672 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_673 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_674 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_675 = cat(_T_674, UInt<7>("h033")) @[Cat.scala 29:58] node _T_676 = cat(_T_672, _T_673) @[Cat.scala 29:58] node _T_677 = cat(_T_676, UInt<3>("h00")) @[Cat.scala 29:58] node _T_678 = cat(_T_677, _T_675) @[Cat.scala 29:58] - node _T_679 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_680 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_681 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_682 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_683 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_683.bits <= _T_678 @[el2_ifu_compress.scala 18:14] - _T_683.rd <= _T_679 @[el2_ifu_compress.scala 19:12] - _T_683.rs1 <= _T_680 @[el2_ifu_compress.scala 20:13] - _T_683.rs2 <= _T_681 @[el2_ifu_compress.scala 21:13] - _T_683.rs3 <= _T_682 @[el2_ifu_compress.scala 22:13] - node _T_684 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_685 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_679 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_680 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_681 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_682 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_683 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_683.bits <= _T_678 @[el2_ifu_compress.scala 17:14] + _T_683.rd <= _T_679 @[el2_ifu_compress.scala 18:12] + _T_683.rs1 <= _T_680 @[el2_ifu_compress.scala 19:13] + _T_683.rs2 <= _T_681 @[el2_ifu_compress.scala 20:13] + _T_683.rs3 <= _T_682 @[el2_ifu_compress.scala 21:13] + node _T_684 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_685 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_686 = cat(UInt<5>("h00"), UInt<7>("h067")) @[Cat.scala 29:58] node _T_687 = cat(_T_684, _T_685) @[Cat.scala 29:58] node _T_688 = cat(_T_687, UInt<3>("h00")) @[Cat.scala 29:58] node _T_689 = cat(_T_688, _T_686) @[Cat.scala 29:58] - node _T_690 = shr(_T_689, 7) @[el2_ifu_compress.scala 129:29] + node _T_690 = shr(_T_689, 7) @[el2_ifu_compress.scala 128:29] node _T_691 = cat(_T_690, UInt<7>("h01f")) @[Cat.scala 29:58] - node _T_692 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_693 = orr(_T_692) @[el2_ifu_compress.scala 130:37] - node _T_694 = mux(_T_693, _T_689, _T_691) @[el2_ifu_compress.scala 130:33] - node _T_695 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_696 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_697 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_698 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_698.bits <= _T_694 @[el2_ifu_compress.scala 18:14] - _T_698.rd <= UInt<5>("h00") @[el2_ifu_compress.scala 19:12] - _T_698.rs1 <= _T_695 @[el2_ifu_compress.scala 20:13] - _T_698.rs2 <= _T_696 @[el2_ifu_compress.scala 21:13] - _T_698.rs3 <= _T_697 @[el2_ifu_compress.scala 22:13] - node _T_699 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_700 = orr(_T_699) @[el2_ifu_compress.scala 131:27] - node _T_701 = mux(_T_700, _T_671, _T_698) @[el2_ifu_compress.scala 131:22] - node _T_702 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_703 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] + node _T_692 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_693 = orr(_T_692) @[el2_ifu_compress.scala 129:37] + node _T_694 = mux(_T_693, _T_689, _T_691) @[el2_ifu_compress.scala 129:33] + node _T_695 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_696 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_697 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_698 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_698.bits <= _T_694 @[el2_ifu_compress.scala 17:14] + _T_698.rd <= UInt<5>("h00") @[el2_ifu_compress.scala 18:12] + _T_698.rs1 <= _T_695 @[el2_ifu_compress.scala 19:13] + _T_698.rs2 <= _T_696 @[el2_ifu_compress.scala 20:13] + _T_698.rs3 <= _T_697 @[el2_ifu_compress.scala 21:13] + node _T_699 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_700 = orr(_T_699) @[el2_ifu_compress.scala 130:27] + node _T_701 = mux(_T_700, _T_671, _T_698) @[el2_ifu_compress.scala 130:22] + node _T_702 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_703 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] node _T_704 = cat(UInt<5>("h01"), UInt<7>("h067")) @[Cat.scala 29:58] node _T_705 = cat(_T_702, _T_703) @[Cat.scala 29:58] node _T_706 = cat(_T_705, UInt<3>("h00")) @[Cat.scala 29:58] node _T_707 = cat(_T_706, _T_704) @[Cat.scala 29:58] - node _T_708 = shr(_T_689, 7) @[el2_ifu_compress.scala 133:27] + node _T_708 = shr(_T_689, 7) @[el2_ifu_compress.scala 132:27] node _T_709 = cat(_T_708, UInt<7>("h073")) @[Cat.scala 29:58] - node _T_710 = or(_T_709, UInt<21>("h0100000")) @[el2_ifu_compress.scala 133:46] - node _T_711 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_712 = orr(_T_711) @[el2_ifu_compress.scala 134:37] - node _T_713 = mux(_T_712, _T_707, _T_710) @[el2_ifu_compress.scala 134:33] - node _T_714 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_715 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_716 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_717 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_717.bits <= _T_713 @[el2_ifu_compress.scala 18:14] - _T_717.rd <= UInt<5>("h01") @[el2_ifu_compress.scala 19:12] - _T_717.rs1 <= _T_714 @[el2_ifu_compress.scala 20:13] - _T_717.rs2 <= _T_715 @[el2_ifu_compress.scala 21:13] - _T_717.rs3 <= _T_716 @[el2_ifu_compress.scala 22:13] - node _T_718 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_719 = orr(_T_718) @[el2_ifu_compress.scala 135:30] - node _T_720 = mux(_T_719, _T_683, _T_717) @[el2_ifu_compress.scala 135:25] - node _T_721 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 136:12] - node _T_722 = mux(_T_721, _T_720, _T_701) @[el2_ifu_compress.scala 136:10] - node _T_723 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 36:22] - node _T_724 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 36:30] + node _T_710 = or(_T_709, UInt<21>("h0100000")) @[el2_ifu_compress.scala 132:46] + node _T_711 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_712 = orr(_T_711) @[el2_ifu_compress.scala 133:37] + node _T_713 = mux(_T_712, _T_707, _T_710) @[el2_ifu_compress.scala 133:33] + node _T_714 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_715 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_716 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_717 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_717.bits <= _T_713 @[el2_ifu_compress.scala 17:14] + _T_717.rd <= UInt<5>("h01") @[el2_ifu_compress.scala 18:12] + _T_717.rs1 <= _T_714 @[el2_ifu_compress.scala 19:13] + _T_717.rs2 <= _T_715 @[el2_ifu_compress.scala 20:13] + _T_717.rs3 <= _T_716 @[el2_ifu_compress.scala 21:13] + node _T_718 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_719 = orr(_T_718) @[el2_ifu_compress.scala 134:30] + node _T_720 = mux(_T_719, _T_683, _T_717) @[el2_ifu_compress.scala 134:25] + node _T_721 = bits(io.in, 12, 12) @[el2_ifu_compress.scala 135:12] + node _T_722 = mux(_T_721, _T_720, _T_701) @[el2_ifu_compress.scala 135:10] + node _T_723 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 35:22] + node _T_724 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 35:30] node _T_725 = cat(_T_723, _T_724) @[Cat.scala 29:58] node _T_726 = cat(_T_725, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_727 = shr(_T_726, 5) @[el2_ifu_compress.scala 120:34] - node _T_728 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_729 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 36:22] - node _T_730 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 36:30] + node _T_727 = shr(_T_726, 5) @[el2_ifu_compress.scala 119:34] + node _T_728 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_729 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 35:22] + node _T_730 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 35:30] node _T_731 = cat(_T_729, _T_730) @[Cat.scala 29:58] node _T_732 = cat(_T_731, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_733 = bits(_T_732, 4, 0) @[el2_ifu_compress.scala 120:66] + node _T_733 = bits(_T_732, 4, 0) @[el2_ifu_compress.scala 119:66] node _T_734 = cat(UInt<3>("h03"), _T_733) @[Cat.scala 29:58] node _T_735 = cat(_T_734, UInt<7>("h027")) @[Cat.scala 29:58] node _T_736 = cat(_T_727, _T_728) @[Cat.scala 29:58] node _T_737 = cat(_T_736, UInt<5>("h02")) @[Cat.scala 29:58] node _T_738 = cat(_T_737, _T_735) @[Cat.scala 29:58] - node _T_739 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_740 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_741 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_742 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_742.bits <= _T_738 @[el2_ifu_compress.scala 18:14] - _T_742.rd <= _T_739 @[el2_ifu_compress.scala 19:12] - _T_742.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_742.rs2 <= _T_740 @[el2_ifu_compress.scala 21:13] - _T_742.rs3 <= _T_741 @[el2_ifu_compress.scala 22:13] - node _T_743 = bits(io.in, 8, 7) @[el2_ifu_compress.scala 35:22] - node _T_744 = bits(io.in, 12, 9) @[el2_ifu_compress.scala 35:30] + node _T_739 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_740 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_741 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_742 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_742.bits <= _T_738 @[el2_ifu_compress.scala 17:14] + _T_742.rd <= _T_739 @[el2_ifu_compress.scala 18:12] + _T_742.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_742.rs2 <= _T_740 @[el2_ifu_compress.scala 20:13] + _T_742.rs3 <= _T_741 @[el2_ifu_compress.scala 21:13] + node _T_743 = bits(io.in, 8, 7) @[el2_ifu_compress.scala 34:22] + node _T_744 = bits(io.in, 12, 9) @[el2_ifu_compress.scala 34:30] node _T_745 = cat(_T_743, _T_744) @[Cat.scala 29:58] node _T_746 = cat(_T_745, UInt<2>("h00")) @[Cat.scala 29:58] - node _T_747 = shr(_T_746, 5) @[el2_ifu_compress.scala 119:33] - node _T_748 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_749 = bits(io.in, 8, 7) @[el2_ifu_compress.scala 35:22] - node _T_750 = bits(io.in, 12, 9) @[el2_ifu_compress.scala 35:30] + node _T_747 = shr(_T_746, 5) @[el2_ifu_compress.scala 118:33] + node _T_748 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_749 = bits(io.in, 8, 7) @[el2_ifu_compress.scala 34:22] + node _T_750 = bits(io.in, 12, 9) @[el2_ifu_compress.scala 34:30] node _T_751 = cat(_T_749, _T_750) @[Cat.scala 29:58] node _T_752 = cat(_T_751, UInt<2>("h00")) @[Cat.scala 29:58] - node _T_753 = bits(_T_752, 4, 0) @[el2_ifu_compress.scala 119:65] + node _T_753 = bits(_T_752, 4, 0) @[el2_ifu_compress.scala 118:65] node _T_754 = cat(UInt<3>("h02"), _T_753) @[Cat.scala 29:58] node _T_755 = cat(_T_754, UInt<7>("h023")) @[Cat.scala 29:58] node _T_756 = cat(_T_747, _T_748) @[Cat.scala 29:58] node _T_757 = cat(_T_756, UInt<5>("h02")) @[Cat.scala 29:58] node _T_758 = cat(_T_757, _T_755) @[Cat.scala 29:58] - node _T_759 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_760 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_761 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_762 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_762.bits <= _T_758 @[el2_ifu_compress.scala 18:14] - _T_762.rd <= _T_759 @[el2_ifu_compress.scala 19:12] - _T_762.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_762.rs2 <= _T_760 @[el2_ifu_compress.scala 21:13] - _T_762.rs3 <= _T_761 @[el2_ifu_compress.scala 22:13] - node _T_763 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 36:22] - node _T_764 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 36:30] + node _T_759 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_760 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_761 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_762 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_762.bits <= _T_758 @[el2_ifu_compress.scala 17:14] + _T_762.rd <= _T_759 @[el2_ifu_compress.scala 18:12] + _T_762.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_762.rs2 <= _T_760 @[el2_ifu_compress.scala 20:13] + _T_762.rs3 <= _T_761 @[el2_ifu_compress.scala 21:13] + node _T_763 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 35:22] + node _T_764 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 35:30] node _T_765 = cat(_T_763, _T_764) @[Cat.scala 29:58] node _T_766 = cat(_T_765, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_767 = shr(_T_766, 5) @[el2_ifu_compress.scala 118:33] - node _T_768 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_769 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 36:22] - node _T_770 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 36:30] + node _T_767 = shr(_T_766, 5) @[el2_ifu_compress.scala 117:33] + node _T_768 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_769 = bits(io.in, 9, 7) @[el2_ifu_compress.scala 35:22] + node _T_770 = bits(io.in, 12, 10) @[el2_ifu_compress.scala 35:30] node _T_771 = cat(_T_769, _T_770) @[Cat.scala 29:58] node _T_772 = cat(_T_771, UInt<3>("h00")) @[Cat.scala 29:58] - node _T_773 = bits(_T_772, 4, 0) @[el2_ifu_compress.scala 118:65] + node _T_773 = bits(_T_772, 4, 0) @[el2_ifu_compress.scala 117:65] node _T_774 = cat(UInt<3>("h03"), _T_773) @[Cat.scala 29:58] node _T_775 = cat(_T_774, UInt<7>("h023")) @[Cat.scala 29:58] node _T_776 = cat(_T_767, _T_768) @[Cat.scala 29:58] node _T_777 = cat(_T_776, UInt<5>("h02")) @[Cat.scala 29:58] node _T_778 = cat(_T_777, _T_775) @[Cat.scala 29:58] - node _T_779 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 29:13] - node _T_780 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 28:14] - node _T_781 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_782 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_782.bits <= _T_778 @[el2_ifu_compress.scala 18:14] - _T_782.rd <= _T_779 @[el2_ifu_compress.scala 19:12] - _T_782.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 20:13] - _T_782.rs2 <= _T_780 @[el2_ifu_compress.scala 21:13] - _T_782.rs3 <= _T_781 @[el2_ifu_compress.scala 22:13] - node _T_783 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_784 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_785 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_786 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_787 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_787.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_787.rd <= _T_783 @[el2_ifu_compress.scala 19:12] - _T_787.rs1 <= _T_784 @[el2_ifu_compress.scala 20:13] - _T_787.rs2 <= _T_785 @[el2_ifu_compress.scala 21:13] - _T_787.rs3 <= _T_786 @[el2_ifu_compress.scala 22:13] - node _T_788 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_789 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_790 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_791 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_792 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_792.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_792.rd <= _T_788 @[el2_ifu_compress.scala 19:12] - _T_792.rs1 <= _T_789 @[el2_ifu_compress.scala 20:13] - _T_792.rs2 <= _T_790 @[el2_ifu_compress.scala 21:13] - _T_792.rs3 <= _T_791 @[el2_ifu_compress.scala 22:13] - node _T_793 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_794 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_795 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_796 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_797 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_797.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_797.rd <= _T_793 @[el2_ifu_compress.scala 19:12] - _T_797.rs1 <= _T_794 @[el2_ifu_compress.scala 20:13] - _T_797.rs2 <= _T_795 @[el2_ifu_compress.scala 21:13] - _T_797.rs3 <= _T_796 @[el2_ifu_compress.scala 22:13] - node _T_798 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_799 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_800 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_801 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_802 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_802.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_802.rd <= _T_798 @[el2_ifu_compress.scala 19:12] - _T_802.rs1 <= _T_799 @[el2_ifu_compress.scala 20:13] - _T_802.rs2 <= _T_800 @[el2_ifu_compress.scala 21:13] - _T_802.rs3 <= _T_801 @[el2_ifu_compress.scala 22:13] - node _T_803 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_804 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_805 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_806 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_807 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_807.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_807.rd <= _T_803 @[el2_ifu_compress.scala 19:12] - _T_807.rs1 <= _T_804 @[el2_ifu_compress.scala 20:13] - _T_807.rs2 <= _T_805 @[el2_ifu_compress.scala 21:13] - _T_807.rs3 <= _T_806 @[el2_ifu_compress.scala 22:13] - node _T_808 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_809 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_810 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_811 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_812 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_812.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_812.rd <= _T_808 @[el2_ifu_compress.scala 19:12] - _T_812.rs1 <= _T_809 @[el2_ifu_compress.scala 20:13] - _T_812.rs2 <= _T_810 @[el2_ifu_compress.scala 21:13] - _T_812.rs3 <= _T_811 @[el2_ifu_compress.scala 22:13] - node _T_813 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_814 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_815 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_816 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_817 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_817.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_817.rd <= _T_813 @[el2_ifu_compress.scala 19:12] - _T_817.rs1 <= _T_814 @[el2_ifu_compress.scala 20:13] - _T_817.rs2 <= _T_815 @[el2_ifu_compress.scala 21:13] - _T_817.rs3 <= _T_816 @[el2_ifu_compress.scala 22:13] - node _T_818 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 16:36] - node _T_819 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 16:57] - node _T_820 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 16:79] - node _T_821 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 16:101] - wire _T_822 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 17:19] - _T_822.bits <= io.in @[el2_ifu_compress.scala 18:14] - _T_822.rd <= _T_818 @[el2_ifu_compress.scala 19:12] - _T_822.rs1 <= _T_819 @[el2_ifu_compress.scala 20:13] - _T_822.rs2 <= _T_820 @[el2_ifu_compress.scala 21:13] - _T_822.rs3 <= _T_821 @[el2_ifu_compress.scala 22:13] - wire _T_823 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>}[32] @[el2_ifu_compress.scala 146:20] - _T_823[0].rs3 <= _T_24.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[0].rs2 <= _T_24.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[0].rs1 <= _T_24.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[0].rd <= _T_24.rd @[el2_ifu_compress.scala 146:20] - _T_823[0].bits <= _T_24.bits @[el2_ifu_compress.scala 146:20] - _T_823[1].rs3 <= _T_44.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[1].rs2 <= _T_44.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[1].rs1 <= _T_44.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[1].rd <= _T_44.rd @[el2_ifu_compress.scala 146:20] - _T_823[1].bits <= _T_44.bits @[el2_ifu_compress.scala 146:20] - _T_823[2].rs3 <= _T_66.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[2].rs2 <= _T_66.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[2].rs1 <= _T_66.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[2].rd <= _T_66.rd @[el2_ifu_compress.scala 146:20] - _T_823[2].bits <= _T_66.bits @[el2_ifu_compress.scala 146:20] - _T_823[3].rs3 <= _T_86.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[3].rs2 <= _T_86.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[3].rs1 <= _T_86.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[3].rd <= _T_86.rd @[el2_ifu_compress.scala 146:20] - _T_823[3].bits <= _T_86.bits @[el2_ifu_compress.scala 146:20] - _T_823[4].rs3 <= _T_117.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[4].rs2 <= _T_117.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[4].rs1 <= _T_117.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[4].rd <= _T_117.rd @[el2_ifu_compress.scala 146:20] - _T_823[4].bits <= _T_117.bits @[el2_ifu_compress.scala 146:20] - _T_823[5].rs3 <= _T_144.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[5].rs2 <= _T_144.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[5].rs1 <= _T_144.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[5].rd <= _T_144.rd @[el2_ifu_compress.scala 146:20] - _T_823[5].bits <= _T_144.bits @[el2_ifu_compress.scala 146:20] - _T_823[6].rs3 <= _T_175.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[6].rs2 <= _T_175.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[6].rs1 <= _T_175.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[6].rd <= _T_175.rd @[el2_ifu_compress.scala 146:20] - _T_823[6].bits <= _T_175.bits @[el2_ifu_compress.scala 146:20] - _T_823[7].rs3 <= _T_202.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[7].rs2 <= _T_202.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[7].rs1 <= _T_202.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[7].rd <= _T_202.rd @[el2_ifu_compress.scala 146:20] - _T_823[7].bits <= _T_202.bits @[el2_ifu_compress.scala 146:20] - _T_823[8].rs3 <= _T_219.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[8].rs2 <= _T_219.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[8].rs1 <= _T_219.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[8].rd <= _T_219.rd @[el2_ifu_compress.scala 146:20] - _T_823[8].bits <= _T_219.bits @[el2_ifu_compress.scala 146:20] - _T_823[9].rs3 <= _T_239.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[9].rs2 <= _T_239.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[9].rs1 <= _T_239.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[9].rd <= _T_239.rd @[el2_ifu_compress.scala 146:20] - _T_823[9].bits <= _T_239.bits @[el2_ifu_compress.scala 146:20] - _T_823[10].rs3 <= _T_254.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[10].rs2 <= _T_254.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[10].rs1 <= _T_254.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[10].rd <= _T_254.rd @[el2_ifu_compress.scala 146:20] - _T_823[10].bits <= _T_254.bits @[el2_ifu_compress.scala 146:20] - _T_823[11].rs3 <= _T_314.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[11].rs2 <= _T_314.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[11].rs1 <= _T_314.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[11].rd <= _T_314.rd @[el2_ifu_compress.scala 146:20] - _T_823[11].bits <= _T_314.bits @[el2_ifu_compress.scala 146:20] - _T_823[12].rs3 <= _T_380.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[12].rs2 <= _T_380.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[12].rs1 <= _T_380.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[12].rd <= _T_380.rd @[el2_ifu_compress.scala 146:20] - _T_823[12].bits <= _T_380.bits @[el2_ifu_compress.scala 146:20] - _T_823[13].rs3 <= _T_467.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[13].rs2 <= _T_467.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[13].rs1 <= _T_467.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[13].rd <= _T_467.rd @[el2_ifu_compress.scala 146:20] - _T_823[13].bits <= _T_467.bits @[el2_ifu_compress.scala 146:20] - _T_823[14].rs3 <= _T_534.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[14].rs2 <= _T_534.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[14].rs1 <= _T_534.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[14].rd <= _T_534.rd @[el2_ifu_compress.scala 146:20] - _T_823[14].bits <= _T_534.bits @[el2_ifu_compress.scala 146:20] - _T_823[15].rs3 <= _T_599.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[15].rs2 <= _T_599.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[15].rs1 <= _T_599.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[15].rd <= _T_599.rd @[el2_ifu_compress.scala 146:20] - _T_823[15].bits <= _T_599.bits @[el2_ifu_compress.scala 146:20] - _T_823[16].rs3 <= _T_616.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[16].rs2 <= _T_616.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[16].rs1 <= _T_616.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[16].rd <= _T_616.rd @[el2_ifu_compress.scala 146:20] - _T_823[16].bits <= _T_616.bits @[el2_ifu_compress.scala 146:20] - _T_823[17].rs3 <= _T_631.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[17].rs2 <= _T_631.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[17].rs1 <= _T_631.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[17].rd <= _T_631.rd @[el2_ifu_compress.scala 146:20] - _T_823[17].bits <= _T_631.bits @[el2_ifu_compress.scala 146:20] - _T_823[18].rs3 <= _T_646.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[18].rs2 <= _T_646.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[18].rs1 <= _T_646.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[18].rd <= _T_646.rd @[el2_ifu_compress.scala 146:20] - _T_823[18].bits <= _T_646.bits @[el2_ifu_compress.scala 146:20] - _T_823[19].rs3 <= _T_661.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[19].rs2 <= _T_661.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[19].rs1 <= _T_661.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[19].rd <= _T_661.rd @[el2_ifu_compress.scala 146:20] - _T_823[19].bits <= _T_661.bits @[el2_ifu_compress.scala 146:20] - _T_823[20].rs3 <= _T_722.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[20].rs2 <= _T_722.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[20].rs1 <= _T_722.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[20].rd <= _T_722.rd @[el2_ifu_compress.scala 146:20] - _T_823[20].bits <= _T_722.bits @[el2_ifu_compress.scala 146:20] - _T_823[21].rs3 <= _T_742.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[21].rs2 <= _T_742.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[21].rs1 <= _T_742.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[21].rd <= _T_742.rd @[el2_ifu_compress.scala 146:20] - _T_823[21].bits <= _T_742.bits @[el2_ifu_compress.scala 146:20] - _T_823[22].rs3 <= _T_762.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[22].rs2 <= _T_762.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[22].rs1 <= _T_762.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[22].rd <= _T_762.rd @[el2_ifu_compress.scala 146:20] - _T_823[22].bits <= _T_762.bits @[el2_ifu_compress.scala 146:20] - _T_823[23].rs3 <= _T_782.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[23].rs2 <= _T_782.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[23].rs1 <= _T_782.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[23].rd <= _T_782.rd @[el2_ifu_compress.scala 146:20] - _T_823[23].bits <= _T_782.bits @[el2_ifu_compress.scala 146:20] - _T_823[24].rs3 <= _T_787.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[24].rs2 <= _T_787.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[24].rs1 <= _T_787.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[24].rd <= _T_787.rd @[el2_ifu_compress.scala 146:20] - _T_823[24].bits <= _T_787.bits @[el2_ifu_compress.scala 146:20] - _T_823[25].rs3 <= _T_792.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[25].rs2 <= _T_792.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[25].rs1 <= _T_792.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[25].rd <= _T_792.rd @[el2_ifu_compress.scala 146:20] - _T_823[25].bits <= _T_792.bits @[el2_ifu_compress.scala 146:20] - _T_823[26].rs3 <= _T_797.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[26].rs2 <= _T_797.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[26].rs1 <= _T_797.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[26].rd <= _T_797.rd @[el2_ifu_compress.scala 146:20] - _T_823[26].bits <= _T_797.bits @[el2_ifu_compress.scala 146:20] - _T_823[27].rs3 <= _T_802.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[27].rs2 <= _T_802.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[27].rs1 <= _T_802.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[27].rd <= _T_802.rd @[el2_ifu_compress.scala 146:20] - _T_823[27].bits <= _T_802.bits @[el2_ifu_compress.scala 146:20] - _T_823[28].rs3 <= _T_807.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[28].rs2 <= _T_807.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[28].rs1 <= _T_807.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[28].rd <= _T_807.rd @[el2_ifu_compress.scala 146:20] - _T_823[28].bits <= _T_807.bits @[el2_ifu_compress.scala 146:20] - _T_823[29].rs3 <= _T_812.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[29].rs2 <= _T_812.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[29].rs1 <= _T_812.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[29].rd <= _T_812.rd @[el2_ifu_compress.scala 146:20] - _T_823[29].bits <= _T_812.bits @[el2_ifu_compress.scala 146:20] - _T_823[30].rs3 <= _T_817.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[30].rs2 <= _T_817.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[30].rs1 <= _T_817.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[30].rd <= _T_817.rd @[el2_ifu_compress.scala 146:20] - _T_823[30].bits <= _T_817.bits @[el2_ifu_compress.scala 146:20] - _T_823[31].rs3 <= _T_822.rs3 @[el2_ifu_compress.scala 146:20] - _T_823[31].rs2 <= _T_822.rs2 @[el2_ifu_compress.scala 146:20] - _T_823[31].rs1 <= _T_822.rs1 @[el2_ifu_compress.scala 146:20] - _T_823[31].rd <= _T_822.rd @[el2_ifu_compress.scala 146:20] - _T_823[31].bits <= _T_822.bits @[el2_ifu_compress.scala 146:20] - node _T_824 = bits(io.in, 1, 0) @[el2_ifu_compress.scala 147:12] - node _T_825 = bits(io.in, 15, 13) @[el2_ifu_compress.scala 147:20] + node _T_779 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 28:13] + node _T_780 = bits(io.in, 6, 2) @[el2_ifu_compress.scala 27:14] + node _T_781 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_782 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_782.bits <= _T_778 @[el2_ifu_compress.scala 17:14] + _T_782.rd <= _T_779 @[el2_ifu_compress.scala 18:12] + _T_782.rs1 <= UInt<5>("h02") @[el2_ifu_compress.scala 19:13] + _T_782.rs2 <= _T_780 @[el2_ifu_compress.scala 20:13] + _T_782.rs3 <= _T_781 @[el2_ifu_compress.scala 21:13] + node _T_783 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_784 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_785 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_786 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_787 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_787.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_787.rd <= _T_783 @[el2_ifu_compress.scala 18:12] + _T_787.rs1 <= _T_784 @[el2_ifu_compress.scala 19:13] + _T_787.rs2 <= _T_785 @[el2_ifu_compress.scala 20:13] + _T_787.rs3 <= _T_786 @[el2_ifu_compress.scala 21:13] + node _T_788 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_789 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_790 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_791 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_792 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_792.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_792.rd <= _T_788 @[el2_ifu_compress.scala 18:12] + _T_792.rs1 <= _T_789 @[el2_ifu_compress.scala 19:13] + _T_792.rs2 <= _T_790 @[el2_ifu_compress.scala 20:13] + _T_792.rs3 <= _T_791 @[el2_ifu_compress.scala 21:13] + node _T_793 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_794 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_795 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_796 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_797 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_797.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_797.rd <= _T_793 @[el2_ifu_compress.scala 18:12] + _T_797.rs1 <= _T_794 @[el2_ifu_compress.scala 19:13] + _T_797.rs2 <= _T_795 @[el2_ifu_compress.scala 20:13] + _T_797.rs3 <= _T_796 @[el2_ifu_compress.scala 21:13] + node _T_798 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_799 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_800 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_801 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_802 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_802.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_802.rd <= _T_798 @[el2_ifu_compress.scala 18:12] + _T_802.rs1 <= _T_799 @[el2_ifu_compress.scala 19:13] + _T_802.rs2 <= _T_800 @[el2_ifu_compress.scala 20:13] + _T_802.rs3 <= _T_801 @[el2_ifu_compress.scala 21:13] + node _T_803 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_804 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_805 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_806 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_807 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_807.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_807.rd <= _T_803 @[el2_ifu_compress.scala 18:12] + _T_807.rs1 <= _T_804 @[el2_ifu_compress.scala 19:13] + _T_807.rs2 <= _T_805 @[el2_ifu_compress.scala 20:13] + _T_807.rs3 <= _T_806 @[el2_ifu_compress.scala 21:13] + node _T_808 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_809 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_810 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_811 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_812 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_812.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_812.rd <= _T_808 @[el2_ifu_compress.scala 18:12] + _T_812.rs1 <= _T_809 @[el2_ifu_compress.scala 19:13] + _T_812.rs2 <= _T_810 @[el2_ifu_compress.scala 20:13] + _T_812.rs3 <= _T_811 @[el2_ifu_compress.scala 21:13] + node _T_813 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_814 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_815 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_816 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_817 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_817.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_817.rd <= _T_813 @[el2_ifu_compress.scala 18:12] + _T_817.rs1 <= _T_814 @[el2_ifu_compress.scala 19:13] + _T_817.rs2 <= _T_815 @[el2_ifu_compress.scala 20:13] + _T_817.rs3 <= _T_816 @[el2_ifu_compress.scala 21:13] + node _T_818 = bits(io.in, 11, 7) @[el2_ifu_compress.scala 15:36] + node _T_819 = bits(io.in, 19, 15) @[el2_ifu_compress.scala 15:57] + node _T_820 = bits(io.in, 24, 20) @[el2_ifu_compress.scala 15:79] + node _T_821 = bits(io.in, 31, 27) @[el2_ifu_compress.scala 15:101] + wire _T_822 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>} @[el2_ifu_compress.scala 16:19] + _T_822.bits <= io.in @[el2_ifu_compress.scala 17:14] + _T_822.rd <= _T_818 @[el2_ifu_compress.scala 18:12] + _T_822.rs1 <= _T_819 @[el2_ifu_compress.scala 19:13] + _T_822.rs2 <= _T_820 @[el2_ifu_compress.scala 20:13] + _T_822.rs3 <= _T_821 @[el2_ifu_compress.scala 21:13] + wire _T_823 : {bits : UInt<32>, rd : UInt<5>, rs1 : UInt<5>, rs2 : UInt<5>, rs3 : UInt<5>}[32] @[el2_ifu_compress.scala 145:20] + _T_823[0].rs3 <= _T_24.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[0].rs2 <= _T_24.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[0].rs1 <= _T_24.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[0].rd <= _T_24.rd @[el2_ifu_compress.scala 145:20] + _T_823[0].bits <= _T_24.bits @[el2_ifu_compress.scala 145:20] + _T_823[1].rs3 <= _T_44.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[1].rs2 <= _T_44.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[1].rs1 <= _T_44.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[1].rd <= _T_44.rd @[el2_ifu_compress.scala 145:20] + _T_823[1].bits <= _T_44.bits @[el2_ifu_compress.scala 145:20] + _T_823[2].rs3 <= _T_66.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[2].rs2 <= _T_66.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[2].rs1 <= _T_66.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[2].rd <= _T_66.rd @[el2_ifu_compress.scala 145:20] + _T_823[2].bits <= _T_66.bits @[el2_ifu_compress.scala 145:20] + _T_823[3].rs3 <= _T_86.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[3].rs2 <= _T_86.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[3].rs1 <= _T_86.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[3].rd <= _T_86.rd @[el2_ifu_compress.scala 145:20] + _T_823[3].bits <= _T_86.bits @[el2_ifu_compress.scala 145:20] + _T_823[4].rs3 <= _T_117.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[4].rs2 <= _T_117.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[4].rs1 <= _T_117.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[4].rd <= _T_117.rd @[el2_ifu_compress.scala 145:20] + _T_823[4].bits <= _T_117.bits @[el2_ifu_compress.scala 145:20] + _T_823[5].rs3 <= _T_144.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[5].rs2 <= _T_144.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[5].rs1 <= _T_144.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[5].rd <= _T_144.rd @[el2_ifu_compress.scala 145:20] + _T_823[5].bits <= _T_144.bits @[el2_ifu_compress.scala 145:20] + _T_823[6].rs3 <= _T_175.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[6].rs2 <= _T_175.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[6].rs1 <= _T_175.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[6].rd <= _T_175.rd @[el2_ifu_compress.scala 145:20] + _T_823[6].bits <= _T_175.bits @[el2_ifu_compress.scala 145:20] + _T_823[7].rs3 <= _T_202.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[7].rs2 <= _T_202.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[7].rs1 <= _T_202.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[7].rd <= _T_202.rd @[el2_ifu_compress.scala 145:20] + _T_823[7].bits <= _T_202.bits @[el2_ifu_compress.scala 145:20] + _T_823[8].rs3 <= _T_219.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[8].rs2 <= _T_219.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[8].rs1 <= _T_219.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[8].rd <= _T_219.rd @[el2_ifu_compress.scala 145:20] + _T_823[8].bits <= _T_219.bits @[el2_ifu_compress.scala 145:20] + _T_823[9].rs3 <= _T_239.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[9].rs2 <= _T_239.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[9].rs1 <= _T_239.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[9].rd <= _T_239.rd @[el2_ifu_compress.scala 145:20] + _T_823[9].bits <= _T_239.bits @[el2_ifu_compress.scala 145:20] + _T_823[10].rs3 <= _T_254.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[10].rs2 <= _T_254.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[10].rs1 <= _T_254.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[10].rd <= _T_254.rd @[el2_ifu_compress.scala 145:20] + _T_823[10].bits <= _T_254.bits @[el2_ifu_compress.scala 145:20] + _T_823[11].rs3 <= _T_314.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[11].rs2 <= _T_314.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[11].rs1 <= _T_314.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[11].rd <= _T_314.rd @[el2_ifu_compress.scala 145:20] + _T_823[11].bits <= _T_314.bits @[el2_ifu_compress.scala 145:20] + _T_823[12].rs3 <= _T_380.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[12].rs2 <= _T_380.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[12].rs1 <= _T_380.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[12].rd <= _T_380.rd @[el2_ifu_compress.scala 145:20] + _T_823[12].bits <= _T_380.bits @[el2_ifu_compress.scala 145:20] + _T_823[13].rs3 <= _T_467.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[13].rs2 <= _T_467.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[13].rs1 <= _T_467.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[13].rd <= _T_467.rd @[el2_ifu_compress.scala 145:20] + _T_823[13].bits <= _T_467.bits @[el2_ifu_compress.scala 145:20] + _T_823[14].rs3 <= _T_534.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[14].rs2 <= _T_534.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[14].rs1 <= _T_534.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[14].rd <= _T_534.rd @[el2_ifu_compress.scala 145:20] + _T_823[14].bits <= _T_534.bits @[el2_ifu_compress.scala 145:20] + _T_823[15].rs3 <= _T_599.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[15].rs2 <= _T_599.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[15].rs1 <= _T_599.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[15].rd <= _T_599.rd @[el2_ifu_compress.scala 145:20] + _T_823[15].bits <= _T_599.bits @[el2_ifu_compress.scala 145:20] + _T_823[16].rs3 <= _T_616.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[16].rs2 <= _T_616.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[16].rs1 <= _T_616.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[16].rd <= _T_616.rd @[el2_ifu_compress.scala 145:20] + _T_823[16].bits <= _T_616.bits @[el2_ifu_compress.scala 145:20] + _T_823[17].rs3 <= _T_631.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[17].rs2 <= _T_631.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[17].rs1 <= _T_631.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[17].rd <= _T_631.rd @[el2_ifu_compress.scala 145:20] + _T_823[17].bits <= _T_631.bits @[el2_ifu_compress.scala 145:20] + _T_823[18].rs3 <= _T_646.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[18].rs2 <= _T_646.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[18].rs1 <= _T_646.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[18].rd <= _T_646.rd @[el2_ifu_compress.scala 145:20] + _T_823[18].bits <= _T_646.bits @[el2_ifu_compress.scala 145:20] + _T_823[19].rs3 <= _T_661.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[19].rs2 <= _T_661.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[19].rs1 <= _T_661.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[19].rd <= _T_661.rd @[el2_ifu_compress.scala 145:20] + _T_823[19].bits <= _T_661.bits @[el2_ifu_compress.scala 145:20] + _T_823[20].rs3 <= _T_722.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[20].rs2 <= _T_722.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[20].rs1 <= _T_722.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[20].rd <= _T_722.rd @[el2_ifu_compress.scala 145:20] + _T_823[20].bits <= _T_722.bits @[el2_ifu_compress.scala 145:20] + _T_823[21].rs3 <= _T_742.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[21].rs2 <= _T_742.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[21].rs1 <= _T_742.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[21].rd <= _T_742.rd @[el2_ifu_compress.scala 145:20] + _T_823[21].bits <= _T_742.bits @[el2_ifu_compress.scala 145:20] + _T_823[22].rs3 <= _T_762.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[22].rs2 <= _T_762.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[22].rs1 <= _T_762.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[22].rd <= _T_762.rd @[el2_ifu_compress.scala 145:20] + _T_823[22].bits <= _T_762.bits @[el2_ifu_compress.scala 145:20] + _T_823[23].rs3 <= _T_782.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[23].rs2 <= _T_782.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[23].rs1 <= _T_782.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[23].rd <= _T_782.rd @[el2_ifu_compress.scala 145:20] + _T_823[23].bits <= _T_782.bits @[el2_ifu_compress.scala 145:20] + _T_823[24].rs3 <= _T_787.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[24].rs2 <= _T_787.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[24].rs1 <= _T_787.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[24].rd <= _T_787.rd @[el2_ifu_compress.scala 145:20] + _T_823[24].bits <= _T_787.bits @[el2_ifu_compress.scala 145:20] + _T_823[25].rs3 <= _T_792.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[25].rs2 <= _T_792.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[25].rs1 <= _T_792.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[25].rd <= _T_792.rd @[el2_ifu_compress.scala 145:20] + _T_823[25].bits <= _T_792.bits @[el2_ifu_compress.scala 145:20] + _T_823[26].rs3 <= _T_797.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[26].rs2 <= _T_797.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[26].rs1 <= _T_797.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[26].rd <= _T_797.rd @[el2_ifu_compress.scala 145:20] + _T_823[26].bits <= _T_797.bits @[el2_ifu_compress.scala 145:20] + _T_823[27].rs3 <= _T_802.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[27].rs2 <= _T_802.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[27].rs1 <= _T_802.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[27].rd <= _T_802.rd @[el2_ifu_compress.scala 145:20] + _T_823[27].bits <= _T_802.bits @[el2_ifu_compress.scala 145:20] + _T_823[28].rs3 <= _T_807.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[28].rs2 <= _T_807.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[28].rs1 <= _T_807.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[28].rd <= _T_807.rd @[el2_ifu_compress.scala 145:20] + _T_823[28].bits <= _T_807.bits @[el2_ifu_compress.scala 145:20] + _T_823[29].rs3 <= _T_812.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[29].rs2 <= _T_812.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[29].rs1 <= _T_812.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[29].rd <= _T_812.rd @[el2_ifu_compress.scala 145:20] + _T_823[29].bits <= _T_812.bits @[el2_ifu_compress.scala 145:20] + _T_823[30].rs3 <= _T_817.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[30].rs2 <= _T_817.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[30].rs1 <= _T_817.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[30].rd <= _T_817.rd @[el2_ifu_compress.scala 145:20] + _T_823[30].bits <= _T_817.bits @[el2_ifu_compress.scala 145:20] + _T_823[31].rs3 <= _T_822.rs3 @[el2_ifu_compress.scala 145:20] + _T_823[31].rs2 <= _T_822.rs2 @[el2_ifu_compress.scala 145:20] + _T_823[31].rs1 <= _T_822.rs1 @[el2_ifu_compress.scala 145:20] + _T_823[31].rd <= _T_822.rd @[el2_ifu_compress.scala 145:20] + _T_823[31].bits <= _T_822.bits @[el2_ifu_compress.scala 145:20] + node _T_824 = bits(io.in, 1, 0) @[el2_ifu_compress.scala 146:12] + node _T_825 = bits(io.in, 15, 13) @[el2_ifu_compress.scala 146:20] node _T_826 = cat(_T_824, _T_825) @[Cat.scala 29:58] - io.out.rs3 <= _T_823[_T_826].rs3 @[el2_ifu_compress.scala 195:12] - io.out.rs2 <= _T_823[_T_826].rs2 @[el2_ifu_compress.scala 195:12] - io.out.rs1 <= _T_823[_T_826].rs1 @[el2_ifu_compress.scala 195:12] - io.out.rd <= _T_823[_T_826].rd @[el2_ifu_compress.scala 195:12] - io.out.bits <= _T_823[_T_826].bits @[el2_ifu_compress.scala 195:12] + io.out.rs3 <= _T_823[_T_826].rs3 @[el2_ifu_compress.scala 194:12] + io.out.rs2 <= _T_823[_T_826].rs2 @[el2_ifu_compress.scala 194:12] + io.out.rs1 <= _T_823[_T_826].rs1 @[el2_ifu_compress.scala 194:12] + io.out.rd <= _T_823[_T_826].rd @[el2_ifu_compress.scala 194:12] + io.out.bits <= _T_823[_T_826].bits @[el2_ifu_compress.scala 194:12] diff --git a/el2_ifu_compress.v b/el2_ifu_compress.v index 47b3e6b0..0c04a8bc 100644 --- a/el2_ifu_compress.v +++ b/el2_ifu_compress.v @@ -9,8 +9,8 @@ module el2_ifu_compress( output [4:0] io_out_rs3, output io_rvc ); - wire _T_3 = |io_in[12:5]; // @[el2_ifu_compress.scala 49:29] - wire [6:0] _T_4 = _T_3 ? 7'h13 : 7'h1f; // @[el2_ifu_compress.scala 49:20] + wire _T_3 = |io_in[12:5]; // @[el2_ifu_compress.scala 48:29] + wire [6:0] _T_4 = _T_3 ? 7'h13 : 7'h1f; // @[el2_ifu_compress.scala 48:20] wire [4:0] _T_14 = {2'h1,io_in[4:2]}; // @[Cat.scala 29:58] wire [29:0] _T_18 = {io_in[10:7],io_in[12:11],io_in[5],io_in[6],2'h0,5'h2,3'h0,2'h1,io_in[4:2],_T_4}; // @[Cat.scala 29:58] wire [7:0] _T_28 = {io_in[6:5],io_in[12:10],3'h0}; // @[Cat.scala 29:58] @@ -26,33 +26,33 @@ module el2_ifu_compress( wire [6:0] _T_205 = io_in[12] ? 7'h7f : 7'h0; // @[Bitwise.scala 72:12] wire [11:0] _T_207 = {_T_205,io_in[6:2]}; // @[Cat.scala 29:58] wire [31:0] _T_213 = {_T_205,io_in[6:2],io_in[11:7],3'h0,io_in[11:7],7'h13}; // @[Cat.scala 29:58] - wire _T_221 = |io_in[11:7]; // @[el2_ifu_compress.scala 73:24] - wire [6:0] _T_222 = _T_221 ? 7'h1b : 7'h1f; // @[el2_ifu_compress.scala 73:20] + wire _T_221 = |io_in[11:7]; // @[el2_ifu_compress.scala 72:24] + wire [6:0] _T_222 = _T_221 ? 7'h1b : 7'h1f; // @[el2_ifu_compress.scala 72:20] wire [31:0] _T_233 = {_T_205,io_in[6:2],io_in[11:7],3'h0,io_in[11:7],_T_222}; // @[Cat.scala 29:58] wire [31:0] _T_249 = {_T_205,io_in[6:2],5'h0,3'h0,io_in[11:7],7'h13}; // @[Cat.scala 29:58] - wire _T_260 = |_T_207; // @[el2_ifu_compress.scala 86:29] - wire [6:0] _T_261 = _T_260 ? 7'h37 : 7'h3f; // @[el2_ifu_compress.scala 86:20] + wire _T_260 = |_T_207; // @[el2_ifu_compress.scala 85:29] + wire [6:0] _T_261 = _T_260 ? 7'h37 : 7'h3f; // @[el2_ifu_compress.scala 85:20] wire [14:0] _T_264 = io_in[12] ? 15'h7fff : 15'h0; // @[Bitwise.scala 72:12] wire [31:0] _T_267 = {_T_264,io_in[6:2],12'h0}; // @[Cat.scala 29:58] wire [31:0] _T_271 = {_T_267[31:12],io_in[11:7],_T_261}; // @[Cat.scala 29:58] - wire _T_279 = io_in[11:7] == 5'h0; // @[el2_ifu_compress.scala 88:14] - wire _T_281 = io_in[11:7] == 5'h2; // @[el2_ifu_compress.scala 88:27] - wire _T_282 = _T_279 | _T_281; // @[el2_ifu_compress.scala 88:21] - wire [6:0] _T_289 = _T_260 ? 7'h13 : 7'h1f; // @[el2_ifu_compress.scala 82:20] + wire _T_279 = io_in[11:7] == 5'h0; // @[el2_ifu_compress.scala 87:14] + wire _T_281 = io_in[11:7] == 5'h2; // @[el2_ifu_compress.scala 87:27] + wire _T_282 = _T_279 | _T_281; // @[el2_ifu_compress.scala 87:21] + wire [6:0] _T_289 = _T_260 ? 7'h13 : 7'h1f; // @[el2_ifu_compress.scala 81:20] wire [2:0] _T_292 = io_in[12] ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] wire [31:0] _T_307 = {_T_292,io_in[4:3],io_in[5],io_in[2],io_in[6],4'h0,io_in[11:7],3'h0,io_in[11:7],_T_289}; // @[Cat.scala 29:58] - wire [31:0] _T_314_bits = _T_282 ? _T_307 : _T_271; // @[el2_ifu_compress.scala 88:10] - wire [4:0] _T_314_rd = _T_282 ? io_in[11:7] : io_in[11:7]; // @[el2_ifu_compress.scala 88:10] - wire [4:0] _T_314_rs2 = _T_282 ? _T_14 : _T_14; // @[el2_ifu_compress.scala 88:10] - wire [4:0] _T_314_rs3 = _T_282 ? io_in[31:27] : io_in[31:27]; // @[el2_ifu_compress.scala 88:10] + wire [31:0] _T_314_bits = _T_282 ? _T_307 : _T_271; // @[el2_ifu_compress.scala 87:10] + wire [4:0] _T_314_rd = _T_282 ? io_in[11:7] : io_in[11:7]; // @[el2_ifu_compress.scala 87:10] + wire [4:0] _T_314_rs2 = _T_282 ? _T_14 : _T_14; // @[el2_ifu_compress.scala 87:10] + wire [4:0] _T_314_rs3 = _T_282 ? io_in[31:27] : io_in[31:27]; // @[el2_ifu_compress.scala 87:10] wire [25:0] _T_325 = {io_in[12],io_in[6:2],2'h1,io_in[9:7],3'h5,2'h1,io_in[9:7],7'h13}; // @[Cat.scala 29:58] - wire [30:0] _GEN_172 = {{5'd0}, _T_325}; // @[el2_ifu_compress.scala 95:23] - wire [30:0] _T_337 = _GEN_172 | 31'h40000000; // @[el2_ifu_compress.scala 95:23] + wire [30:0] _GEN_172 = {{5'd0}, _T_325}; // @[el2_ifu_compress.scala 94:23] + wire [30:0] _T_337 = _GEN_172 | 31'h40000000; // @[el2_ifu_compress.scala 94:23] wire [31:0] _T_350 = {_T_205,io_in[6:2],2'h1,io_in[9:7],3'h7,2'h1,io_in[9:7],7'h13}; // @[Cat.scala 29:58] wire [2:0] _T_354 = {io_in[12],io_in[6:5]}; // @[Cat.scala 29:58] - wire _T_356 = io_in[6:5] == 2'h0; // @[el2_ifu_compress.scala 99:30] - wire [30:0] _T_357 = _T_356 ? 31'h40000000 : 31'h0; // @[el2_ifu_compress.scala 99:22] - wire [6:0] _T_359 = io_in[12] ? 7'h3b : 7'h33; // @[el2_ifu_compress.scala 100:22] + wire _T_356 = io_in[6:5] == 2'h0; // @[el2_ifu_compress.scala 98:30] + wire [30:0] _T_357 = _T_356 ? 31'h40000000 : 31'h0; // @[el2_ifu_compress.scala 98:22] + wire [6:0] _T_359 = io_in[12] ? 7'h3b : 7'h33; // @[el2_ifu_compress.scala 99:22] wire [2:0] _GEN_1 = 3'h1 == _T_354 ? 3'h4 : 3'h0; // @[Cat.scala 29:58] wire [2:0] _GEN_2 = 3'h2 == _T_354 ? 3'h6 : _GEN_1; // @[Cat.scala 29:58] wire [2:0] _GEN_3 = 3'h3 == _T_354 ? 3'h7 : _GEN_2; // @[Cat.scala 29:58] @@ -61,14 +61,14 @@ module el2_ifu_compress( wire [2:0] _GEN_6 = 3'h6 == _T_354 ? 3'h2 : _GEN_5; // @[Cat.scala 29:58] wire [2:0] _GEN_7 = 3'h7 == _T_354 ? 3'h3 : _GEN_6; // @[Cat.scala 29:58] wire [24:0] _T_369 = {2'h1,io_in[4:2],2'h1,io_in[9:7],_GEN_7,2'h1,io_in[9:7],_T_359}; // @[Cat.scala 29:58] - wire [30:0] _GEN_173 = {{6'd0}, _T_369}; // @[el2_ifu_compress.scala 101:43] - wire [30:0] _T_370 = _GEN_173 | _T_357; // @[el2_ifu_compress.scala 101:43] - wire [31:0] _T_371_0 = {{6'd0}, _T_325}; // @[el2_ifu_compress.scala 103:19 el2_ifu_compress.scala 103:19] - wire [31:0] _T_371_1 = {{1'd0}, _T_337}; // @[el2_ifu_compress.scala 103:19 el2_ifu_compress.scala 103:19] - wire [31:0] _GEN_9 = 2'h1 == io_in[11:10] ? _T_371_1 : _T_371_0; // @[el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_10 = 2'h2 == io_in[11:10] ? _T_350 : _GEN_9; // @[el2_ifu_compress.scala 18:14] - wire [31:0] _T_371_3 = {{1'd0}, _T_370}; // @[el2_ifu_compress.scala 103:19 el2_ifu_compress.scala 103:19] - wire [31:0] _GEN_11 = 2'h3 == io_in[11:10] ? _T_371_3 : _GEN_10; // @[el2_ifu_compress.scala 18:14] + wire [30:0] _GEN_173 = {{6'd0}, _T_369}; // @[el2_ifu_compress.scala 100:43] + wire [30:0] _T_370 = _GEN_173 | _T_357; // @[el2_ifu_compress.scala 100:43] + wire [31:0] _T_371_0 = {{6'd0}, _T_325}; // @[el2_ifu_compress.scala 102:19 el2_ifu_compress.scala 102:19] + wire [31:0] _T_371_1 = {{1'd0}, _T_337}; // @[el2_ifu_compress.scala 102:19 el2_ifu_compress.scala 102:19] + wire [31:0] _GEN_9 = 2'h1 == io_in[11:10] ? _T_371_1 : _T_371_0; // @[el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_10 = 2'h2 == io_in[11:10] ? _T_350 : _GEN_9; // @[el2_ifu_compress.scala 17:14] + wire [31:0] _T_371_3 = {{1'd0}, _T_370}; // @[el2_ifu_compress.scala 102:19 el2_ifu_compress.scala 102:19] + wire [31:0] _GEN_11 = 2'h3 == io_in[11:10] ? _T_371_3 : _GEN_10; // @[el2_ifu_compress.scala 17:14] wire [9:0] _T_383 = io_in[12] ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12] wire [20:0] _T_398 = {_T_383,io_in[8],io_in[10:9],io_in[6],io_in[7],io_in[2],io_in[11],io_in[5:3],1'h0}; // @[Cat.scala 29:58] wire [31:0] _T_461 = {_T_398[20],_T_398[10:1],_T_398[11],_T_398[19:12],5'h0,7'h6f}; // @[Cat.scala 29:58] @@ -76,7 +76,7 @@ module el2_ifu_compress( wire [12:0] _T_479 = {_T_470,io_in[6:5],io_in[2],io_in[11:10],io_in[4:3],1'h0}; // @[Cat.scala 29:58] wire [31:0] _T_528 = {_T_479[12],_T_479[10:5],5'h0,2'h1,io_in[9:7],3'h0,_T_479[4:1],_T_479[11],7'h63}; // @[Cat.scala 29:58] wire [31:0] _T_595 = {_T_479[12],_T_479[10:5],5'h0,2'h1,io_in[9:7],3'h1,_T_479[4:1],_T_479[11],7'h63}; // @[Cat.scala 29:58] - wire [6:0] _T_602 = _T_221 ? 7'h3 : 7'h1f; // @[el2_ifu_compress.scala 109:23] + wire [6:0] _T_602 = _T_221 ? 7'h3 : 7'h1f; // @[el2_ifu_compress.scala 108:23] wire [25:0] _T_611 = {io_in[12],io_in[6:2],io_in[11:7],3'h1,io_in[11:7],7'h13}; // @[Cat.scala 29:58] wire [28:0] _T_627 = {io_in[4:2],io_in[12],io_in[6:5],3'h0,5'h2,3'h3,io_in[11:7],7'h7}; // @[Cat.scala 29:58] wire [27:0] _T_642 = {io_in[3:2],io_in[12],io_in[6:4],2'h0,5'h2,3'h2,io_in[11:7],_T_602}; // @[Cat.scala 29:58] @@ -85,197 +85,197 @@ module el2_ifu_compress( wire [24:0] _T_678 = {io_in[6:2],io_in[11:7],3'h0,io_in[11:7],7'h33}; // @[Cat.scala 29:58] wire [24:0] _T_689 = {io_in[6:2],io_in[11:7],3'h0,12'h67}; // @[Cat.scala 29:58] wire [24:0] _T_691 = {_T_689[24:7],7'h1f}; // @[Cat.scala 29:58] - wire [24:0] _T_694 = _T_221 ? _T_689 : _T_691; // @[el2_ifu_compress.scala 130:33] - wire _T_700 = |io_in[6:2]; // @[el2_ifu_compress.scala 131:27] - wire [31:0] _T_671_bits = {{7'd0}, _T_667}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _T_698_bits = {{7'd0}, _T_694}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _T_701_bits = _T_700 ? _T_671_bits : _T_698_bits; // @[el2_ifu_compress.scala 131:22] - wire [4:0] _T_701_rd = _T_700 ? io_in[11:7] : 5'h0; // @[el2_ifu_compress.scala 131:22] - wire [4:0] _T_701_rs1 = _T_700 ? 5'h0 : io_in[11:7]; // @[el2_ifu_compress.scala 131:22] - wire [4:0] _T_701_rs2 = _T_700 ? io_in[6:2] : io_in[6:2]; // @[el2_ifu_compress.scala 131:22] - wire [4:0] _T_701_rs3 = _T_700 ? io_in[31:27] : io_in[31:27]; // @[el2_ifu_compress.scala 131:22] + wire [24:0] _T_694 = _T_221 ? _T_689 : _T_691; // @[el2_ifu_compress.scala 129:33] + wire _T_700 = |io_in[6:2]; // @[el2_ifu_compress.scala 130:27] + wire [31:0] _T_671_bits = {{7'd0}, _T_667}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _T_698_bits = {{7'd0}, _T_694}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _T_701_bits = _T_700 ? _T_671_bits : _T_698_bits; // @[el2_ifu_compress.scala 130:22] + wire [4:0] _T_701_rd = _T_700 ? io_in[11:7] : 5'h0; // @[el2_ifu_compress.scala 130:22] + wire [4:0] _T_701_rs1 = _T_700 ? 5'h0 : io_in[11:7]; // @[el2_ifu_compress.scala 130:22] + wire [4:0] _T_701_rs2 = _T_700 ? io_in[6:2] : io_in[6:2]; // @[el2_ifu_compress.scala 130:22] + wire [4:0] _T_701_rs3 = _T_700 ? io_in[31:27] : io_in[31:27]; // @[el2_ifu_compress.scala 130:22] wire [24:0] _T_707 = {io_in[6:2],io_in[11:7],3'h0,12'he7}; // @[Cat.scala 29:58] wire [24:0] _T_709 = {_T_689[24:7],7'h73}; // @[Cat.scala 29:58] - wire [24:0] _T_710 = _T_709 | 25'h100000; // @[el2_ifu_compress.scala 133:46] - wire [24:0] _T_713 = _T_221 ? _T_707 : _T_710; // @[el2_ifu_compress.scala 134:33] - wire [31:0] _T_683_bits = {{7'd0}, _T_678}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _T_717_bits = {{7'd0}, _T_713}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _T_720_bits = _T_700 ? _T_683_bits : _T_717_bits; // @[el2_ifu_compress.scala 135:25] - wire [4:0] _T_720_rd = _T_700 ? io_in[11:7] : 5'h1; // @[el2_ifu_compress.scala 135:25] - wire [4:0] _T_720_rs1 = _T_700 ? io_in[11:7] : io_in[11:7]; // @[el2_ifu_compress.scala 135:25] - wire [31:0] _T_722_bits = io_in[12] ? _T_720_bits : _T_701_bits; // @[el2_ifu_compress.scala 136:10] - wire [4:0] _T_722_rd = io_in[12] ? _T_720_rd : _T_701_rd; // @[el2_ifu_compress.scala 136:10] - wire [4:0] _T_722_rs1 = io_in[12] ? _T_720_rs1 : _T_701_rs1; // @[el2_ifu_compress.scala 136:10] - wire [4:0] _T_722_rs2 = io_in[12] ? _T_701_rs2 : _T_701_rs2; // @[el2_ifu_compress.scala 136:10] - wire [4:0] _T_722_rs3 = io_in[12] ? _T_701_rs3 : _T_701_rs3; // @[el2_ifu_compress.scala 136:10] + wire [24:0] _T_710 = _T_709 | 25'h100000; // @[el2_ifu_compress.scala 132:46] + wire [24:0] _T_713 = _T_221 ? _T_707 : _T_710; // @[el2_ifu_compress.scala 133:33] + wire [31:0] _T_683_bits = {{7'd0}, _T_678}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _T_717_bits = {{7'd0}, _T_713}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _T_720_bits = _T_700 ? _T_683_bits : _T_717_bits; // @[el2_ifu_compress.scala 134:25] + wire [4:0] _T_720_rd = _T_700 ? io_in[11:7] : 5'h1; // @[el2_ifu_compress.scala 134:25] + wire [4:0] _T_720_rs1 = _T_700 ? io_in[11:7] : io_in[11:7]; // @[el2_ifu_compress.scala 134:25] + wire [31:0] _T_722_bits = io_in[12] ? _T_720_bits : _T_701_bits; // @[el2_ifu_compress.scala 135:10] + wire [4:0] _T_722_rd = io_in[12] ? _T_720_rd : _T_701_rd; // @[el2_ifu_compress.scala 135:10] + wire [4:0] _T_722_rs1 = io_in[12] ? _T_720_rs1 : _T_701_rs1; // @[el2_ifu_compress.scala 135:10] + wire [4:0] _T_722_rs2 = io_in[12] ? _T_701_rs2 : _T_701_rs2; // @[el2_ifu_compress.scala 135:10] + wire [4:0] _T_722_rs3 = io_in[12] ? _T_701_rs3 : _T_701_rs3; // @[el2_ifu_compress.scala 135:10] wire [8:0] _T_726 = {io_in[9:7],io_in[12:10],3'h0}; // @[Cat.scala 29:58] wire [28:0] _T_738 = {_T_726[8:5],io_in[6:2],5'h2,3'h3,_T_726[4:0],7'h27}; // @[Cat.scala 29:58] wire [7:0] _T_746 = {io_in[8:7],io_in[12:9],2'h0}; // @[Cat.scala 29:58] wire [27:0] _T_758 = {_T_746[7:5],io_in[6:2],5'h2,3'h2,_T_746[4:0],7'h23}; // @[Cat.scala 29:58] wire [28:0] _T_778 = {_T_726[8:5],io_in[6:2],5'h2,3'h3,_T_726[4:0],7'h23}; // @[Cat.scala 29:58] wire [4:0] _T_826 = {io_in[1:0],io_in[15:13]}; // @[Cat.scala 29:58] - wire [31:0] _T_24_bits = {{2'd0}, _T_18}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _T_44_bits = {{4'd0}, _T_36}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_17 = 5'h1 == _T_826 ? _T_44_bits : _T_24_bits; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_18 = 5'h1 == _T_826 ? _T_14 : _T_14; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_19 = 5'h1 == _T_826 ? _T_30 : 5'h2; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_21 = 5'h1 == _T_826 ? io_in[31:27] : io_in[31:27]; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_66_bits = {{5'd0}, _T_58}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_22 = 5'h2 == _T_826 ? _T_66_bits : _GEN_17; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_23 = 5'h2 == _T_826 ? _T_14 : _GEN_18; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_24 = 5'h2 == _T_826 ? _T_30 : _GEN_19; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_26 = 5'h2 == _T_826 ? io_in[31:27] : _GEN_21; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_86_bits = {{4'd0}, _T_78}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_27 = 5'h3 == _T_826 ? _T_86_bits : _GEN_22; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_28 = 5'h3 == _T_826 ? _T_14 : _GEN_23; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_29 = 5'h3 == _T_826 ? _T_30 : _GEN_24; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_31 = 5'h3 == _T_826 ? io_in[31:27] : _GEN_26; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_117_bits = {{5'd0}, _T_109}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_32 = 5'h4 == _T_826 ? _T_117_bits : _GEN_27; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_33 = 5'h4 == _T_826 ? _T_14 : _GEN_28; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_34 = 5'h4 == _T_826 ? _T_30 : _GEN_29; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_36 = 5'h4 == _T_826 ? io_in[31:27] : _GEN_31; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_144_bits = {{4'd0}, _T_136}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_37 = 5'h5 == _T_826 ? _T_144_bits : _GEN_32; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_38 = 5'h5 == _T_826 ? _T_14 : _GEN_33; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_39 = 5'h5 == _T_826 ? _T_30 : _GEN_34; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_41 = 5'h5 == _T_826 ? io_in[31:27] : _GEN_36; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_175_bits = {{5'd0}, _T_167}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_42 = 5'h6 == _T_826 ? _T_175_bits : _GEN_37; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_43 = 5'h6 == _T_826 ? _T_14 : _GEN_38; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_44 = 5'h6 == _T_826 ? _T_30 : _GEN_39; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_46 = 5'h6 == _T_826 ? io_in[31:27] : _GEN_41; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_202_bits = {{4'd0}, _T_194}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_47 = 5'h7 == _T_826 ? _T_202_bits : _GEN_42; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_48 = 5'h7 == _T_826 ? _T_14 : _GEN_43; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_49 = 5'h7 == _T_826 ? _T_30 : _GEN_44; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_51 = 5'h7 == _T_826 ? io_in[31:27] : _GEN_46; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_52 = 5'h8 == _T_826 ? _T_213 : _GEN_47; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_53 = 5'h8 == _T_826 ? io_in[11:7] : _GEN_48; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_54 = 5'h8 == _T_826 ? io_in[11:7] : _GEN_49; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_55 = 5'h8 == _T_826 ? _T_14 : _GEN_48; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_56 = 5'h8 == _T_826 ? io_in[31:27] : _GEN_51; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_57 = 5'h9 == _T_826 ? _T_233 : _GEN_52; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_58 = 5'h9 == _T_826 ? io_in[11:7] : _GEN_53; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_59 = 5'h9 == _T_826 ? io_in[11:7] : _GEN_54; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_60 = 5'h9 == _T_826 ? _T_14 : _GEN_55; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_61 = 5'h9 == _T_826 ? io_in[31:27] : _GEN_56; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_62 = 5'ha == _T_826 ? _T_249 : _GEN_57; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_63 = 5'ha == _T_826 ? io_in[11:7] : _GEN_58; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_64 = 5'ha == _T_826 ? 5'h0 : _GEN_59; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_65 = 5'ha == _T_826 ? _T_14 : _GEN_60; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_66 = 5'ha == _T_826 ? io_in[31:27] : _GEN_61; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_67 = 5'hb == _T_826 ? _T_314_bits : _GEN_62; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_68 = 5'hb == _T_826 ? _T_314_rd : _GEN_63; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_69 = 5'hb == _T_826 ? _T_314_rd : _GEN_64; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_70 = 5'hb == _T_826 ? _T_314_rs2 : _GEN_65; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_71 = 5'hb == _T_826 ? _T_314_rs3 : _GEN_66; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_72 = 5'hc == _T_826 ? _GEN_11 : _GEN_67; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_73 = 5'hc == _T_826 ? _T_30 : _GEN_68; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_74 = 5'hc == _T_826 ? _T_30 : _GEN_69; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_75 = 5'hc == _T_826 ? _T_14 : _GEN_70; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_76 = 5'hc == _T_826 ? io_in[31:27] : _GEN_71; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_77 = 5'hd == _T_826 ? _T_461 : _GEN_72; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_78 = 5'hd == _T_826 ? 5'h0 : _GEN_73; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_79 = 5'hd == _T_826 ? _T_30 : _GEN_74; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_80 = 5'hd == _T_826 ? _T_14 : _GEN_75; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_81 = 5'hd == _T_826 ? io_in[31:27] : _GEN_76; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_82 = 5'he == _T_826 ? _T_528 : _GEN_77; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_83 = 5'he == _T_826 ? _T_30 : _GEN_78; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_84 = 5'he == _T_826 ? _T_30 : _GEN_79; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_85 = 5'he == _T_826 ? 5'h0 : _GEN_80; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_86 = 5'he == _T_826 ? io_in[31:27] : _GEN_81; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_87 = 5'hf == _T_826 ? _T_595 : _GEN_82; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_88 = 5'hf == _T_826 ? 5'h0 : _GEN_83; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_89 = 5'hf == _T_826 ? _T_30 : _GEN_84; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_90 = 5'hf == _T_826 ? 5'h0 : _GEN_85; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_91 = 5'hf == _T_826 ? io_in[31:27] : _GEN_86; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_616_bits = {{6'd0}, _T_611}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_92 = 5'h10 == _T_826 ? _T_616_bits : _GEN_87; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_93 = 5'h10 == _T_826 ? io_in[11:7] : _GEN_88; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_94 = 5'h10 == _T_826 ? io_in[11:7] : _GEN_89; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_95 = 5'h10 == _T_826 ? io_in[6:2] : _GEN_90; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_96 = 5'h10 == _T_826 ? io_in[31:27] : _GEN_91; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_631_bits = {{3'd0}, _T_627}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_97 = 5'h11 == _T_826 ? _T_631_bits : _GEN_92; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_98 = 5'h11 == _T_826 ? io_in[11:7] : _GEN_93; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_99 = 5'h11 == _T_826 ? 5'h2 : _GEN_94; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_100 = 5'h11 == _T_826 ? io_in[6:2] : _GEN_95; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_101 = 5'h11 == _T_826 ? io_in[31:27] : _GEN_96; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_646_bits = {{4'd0}, _T_642}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_102 = 5'h12 == _T_826 ? _T_646_bits : _GEN_97; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_103 = 5'h12 == _T_826 ? io_in[11:7] : _GEN_98; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_104 = 5'h12 == _T_826 ? 5'h2 : _GEN_99; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_105 = 5'h12 == _T_826 ? io_in[6:2] : _GEN_100; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_106 = 5'h12 == _T_826 ? io_in[31:27] : _GEN_101; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_661_bits = {{3'd0}, _T_657}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_107 = 5'h13 == _T_826 ? _T_661_bits : _GEN_102; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_108 = 5'h13 == _T_826 ? io_in[11:7] : _GEN_103; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_109 = 5'h13 == _T_826 ? 5'h2 : _GEN_104; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_110 = 5'h13 == _T_826 ? io_in[6:2] : _GEN_105; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_111 = 5'h13 == _T_826 ? io_in[31:27] : _GEN_106; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_112 = 5'h14 == _T_826 ? _T_722_bits : _GEN_107; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_113 = 5'h14 == _T_826 ? _T_722_rd : _GEN_108; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_114 = 5'h14 == _T_826 ? _T_722_rs1 : _GEN_109; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_115 = 5'h14 == _T_826 ? _T_722_rs2 : _GEN_110; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_116 = 5'h14 == _T_826 ? _T_722_rs3 : _GEN_111; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_742_bits = {{3'd0}, _T_738}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_117 = 5'h15 == _T_826 ? _T_742_bits : _GEN_112; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_118 = 5'h15 == _T_826 ? io_in[11:7] : _GEN_113; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_119 = 5'h15 == _T_826 ? 5'h2 : _GEN_114; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_120 = 5'h15 == _T_826 ? io_in[6:2] : _GEN_115; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_121 = 5'h15 == _T_826 ? io_in[31:27] : _GEN_116; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_762_bits = {{4'd0}, _T_758}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_122 = 5'h16 == _T_826 ? _T_762_bits : _GEN_117; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_123 = 5'h16 == _T_826 ? io_in[11:7] : _GEN_118; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_124 = 5'h16 == _T_826 ? 5'h2 : _GEN_119; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_125 = 5'h16 == _T_826 ? io_in[6:2] : _GEN_120; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_126 = 5'h16 == _T_826 ? io_in[31:27] : _GEN_121; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _T_782_bits = {{3'd0}, _T_778}; // @[el2_ifu_compress.scala 17:19 el2_ifu_compress.scala 18:14] - wire [31:0] _GEN_127 = 5'h17 == _T_826 ? _T_782_bits : _GEN_122; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_128 = 5'h17 == _T_826 ? io_in[11:7] : _GEN_123; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_129 = 5'h17 == _T_826 ? 5'h2 : _GEN_124; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_130 = 5'h17 == _T_826 ? io_in[6:2] : _GEN_125; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_131 = 5'h17 == _T_826 ? io_in[31:27] : _GEN_126; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_132 = 5'h18 == _T_826 ? io_in : _GEN_127; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_133 = 5'h18 == _T_826 ? io_in[11:7] : _GEN_128; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_134 = 5'h18 == _T_826 ? io_in[19:15] : _GEN_129; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_135 = 5'h18 == _T_826 ? io_in[24:20] : _GEN_130; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_136 = 5'h18 == _T_826 ? io_in[31:27] : _GEN_131; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_137 = 5'h19 == _T_826 ? io_in : _GEN_132; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_138 = 5'h19 == _T_826 ? io_in[11:7] : _GEN_133; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_139 = 5'h19 == _T_826 ? io_in[19:15] : _GEN_134; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_140 = 5'h19 == _T_826 ? io_in[24:20] : _GEN_135; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_141 = 5'h19 == _T_826 ? io_in[31:27] : _GEN_136; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_142 = 5'h1a == _T_826 ? io_in : _GEN_137; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_143 = 5'h1a == _T_826 ? io_in[11:7] : _GEN_138; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_144 = 5'h1a == _T_826 ? io_in[19:15] : _GEN_139; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_145 = 5'h1a == _T_826 ? io_in[24:20] : _GEN_140; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_146 = 5'h1a == _T_826 ? io_in[31:27] : _GEN_141; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_147 = 5'h1b == _T_826 ? io_in : _GEN_142; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_148 = 5'h1b == _T_826 ? io_in[11:7] : _GEN_143; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_149 = 5'h1b == _T_826 ? io_in[19:15] : _GEN_144; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_150 = 5'h1b == _T_826 ? io_in[24:20] : _GEN_145; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_151 = 5'h1b == _T_826 ? io_in[31:27] : _GEN_146; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_152 = 5'h1c == _T_826 ? io_in : _GEN_147; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_153 = 5'h1c == _T_826 ? io_in[11:7] : _GEN_148; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_154 = 5'h1c == _T_826 ? io_in[19:15] : _GEN_149; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_155 = 5'h1c == _T_826 ? io_in[24:20] : _GEN_150; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_156 = 5'h1c == _T_826 ? io_in[31:27] : _GEN_151; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_157 = 5'h1d == _T_826 ? io_in : _GEN_152; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_158 = 5'h1d == _T_826 ? io_in[11:7] : _GEN_153; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_159 = 5'h1d == _T_826 ? io_in[19:15] : _GEN_154; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_160 = 5'h1d == _T_826 ? io_in[24:20] : _GEN_155; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_161 = 5'h1d == _T_826 ? io_in[31:27] : _GEN_156; // @[el2_ifu_compress.scala 195:12] - wire [31:0] _GEN_162 = 5'h1e == _T_826 ? io_in : _GEN_157; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_163 = 5'h1e == _T_826 ? io_in[11:7] : _GEN_158; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_164 = 5'h1e == _T_826 ? io_in[19:15] : _GEN_159; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_165 = 5'h1e == _T_826 ? io_in[24:20] : _GEN_160; // @[el2_ifu_compress.scala 195:12] - wire [4:0] _GEN_166 = 5'h1e == _T_826 ? io_in[31:27] : _GEN_161; // @[el2_ifu_compress.scala 195:12] - assign io_out_bits = 5'h1f == _T_826 ? io_in : _GEN_162; // @[el2_ifu_compress.scala 195:12] - assign io_out_rd = 5'h1f == _T_826 ? io_in[11:7] : _GEN_163; // @[el2_ifu_compress.scala 195:12] - assign io_out_rs1 = 5'h1f == _T_826 ? io_in[19:15] : _GEN_164; // @[el2_ifu_compress.scala 195:12] - assign io_out_rs2 = 5'h1f == _T_826 ? io_in[24:20] : _GEN_165; // @[el2_ifu_compress.scala 195:12] - assign io_out_rs3 = 5'h1f == _T_826 ? io_in[31:27] : _GEN_166; // @[el2_ifu_compress.scala 195:12] - assign io_rvc = io_in[1:0] != 2'h3; // @[el2_ifu_compress.scala 193:12] + wire [31:0] _T_24_bits = {{2'd0}, _T_18}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _T_44_bits = {{4'd0}, _T_36}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_17 = 5'h1 == _T_826 ? _T_44_bits : _T_24_bits; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_18 = 5'h1 == _T_826 ? _T_14 : _T_14; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_19 = 5'h1 == _T_826 ? _T_30 : 5'h2; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_21 = 5'h1 == _T_826 ? io_in[31:27] : io_in[31:27]; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_66_bits = {{5'd0}, _T_58}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_22 = 5'h2 == _T_826 ? _T_66_bits : _GEN_17; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_23 = 5'h2 == _T_826 ? _T_14 : _GEN_18; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_24 = 5'h2 == _T_826 ? _T_30 : _GEN_19; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_26 = 5'h2 == _T_826 ? io_in[31:27] : _GEN_21; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_86_bits = {{4'd0}, _T_78}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_27 = 5'h3 == _T_826 ? _T_86_bits : _GEN_22; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_28 = 5'h3 == _T_826 ? _T_14 : _GEN_23; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_29 = 5'h3 == _T_826 ? _T_30 : _GEN_24; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_31 = 5'h3 == _T_826 ? io_in[31:27] : _GEN_26; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_117_bits = {{5'd0}, _T_109}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_32 = 5'h4 == _T_826 ? _T_117_bits : _GEN_27; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_33 = 5'h4 == _T_826 ? _T_14 : _GEN_28; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_34 = 5'h4 == _T_826 ? _T_30 : _GEN_29; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_36 = 5'h4 == _T_826 ? io_in[31:27] : _GEN_31; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_144_bits = {{4'd0}, _T_136}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_37 = 5'h5 == _T_826 ? _T_144_bits : _GEN_32; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_38 = 5'h5 == _T_826 ? _T_14 : _GEN_33; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_39 = 5'h5 == _T_826 ? _T_30 : _GEN_34; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_41 = 5'h5 == _T_826 ? io_in[31:27] : _GEN_36; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_175_bits = {{5'd0}, _T_167}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_42 = 5'h6 == _T_826 ? _T_175_bits : _GEN_37; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_43 = 5'h6 == _T_826 ? _T_14 : _GEN_38; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_44 = 5'h6 == _T_826 ? _T_30 : _GEN_39; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_46 = 5'h6 == _T_826 ? io_in[31:27] : _GEN_41; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_202_bits = {{4'd0}, _T_194}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_47 = 5'h7 == _T_826 ? _T_202_bits : _GEN_42; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_48 = 5'h7 == _T_826 ? _T_14 : _GEN_43; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_49 = 5'h7 == _T_826 ? _T_30 : _GEN_44; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_51 = 5'h7 == _T_826 ? io_in[31:27] : _GEN_46; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_52 = 5'h8 == _T_826 ? _T_213 : _GEN_47; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_53 = 5'h8 == _T_826 ? io_in[11:7] : _GEN_48; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_54 = 5'h8 == _T_826 ? io_in[11:7] : _GEN_49; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_55 = 5'h8 == _T_826 ? _T_14 : _GEN_48; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_56 = 5'h8 == _T_826 ? io_in[31:27] : _GEN_51; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_57 = 5'h9 == _T_826 ? _T_233 : _GEN_52; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_58 = 5'h9 == _T_826 ? io_in[11:7] : _GEN_53; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_59 = 5'h9 == _T_826 ? io_in[11:7] : _GEN_54; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_60 = 5'h9 == _T_826 ? _T_14 : _GEN_55; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_61 = 5'h9 == _T_826 ? io_in[31:27] : _GEN_56; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_62 = 5'ha == _T_826 ? _T_249 : _GEN_57; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_63 = 5'ha == _T_826 ? io_in[11:7] : _GEN_58; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_64 = 5'ha == _T_826 ? 5'h0 : _GEN_59; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_65 = 5'ha == _T_826 ? _T_14 : _GEN_60; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_66 = 5'ha == _T_826 ? io_in[31:27] : _GEN_61; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_67 = 5'hb == _T_826 ? _T_314_bits : _GEN_62; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_68 = 5'hb == _T_826 ? _T_314_rd : _GEN_63; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_69 = 5'hb == _T_826 ? _T_314_rd : _GEN_64; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_70 = 5'hb == _T_826 ? _T_314_rs2 : _GEN_65; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_71 = 5'hb == _T_826 ? _T_314_rs3 : _GEN_66; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_72 = 5'hc == _T_826 ? _GEN_11 : _GEN_67; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_73 = 5'hc == _T_826 ? _T_30 : _GEN_68; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_74 = 5'hc == _T_826 ? _T_30 : _GEN_69; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_75 = 5'hc == _T_826 ? _T_14 : _GEN_70; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_76 = 5'hc == _T_826 ? io_in[31:27] : _GEN_71; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_77 = 5'hd == _T_826 ? _T_461 : _GEN_72; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_78 = 5'hd == _T_826 ? 5'h0 : _GEN_73; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_79 = 5'hd == _T_826 ? _T_30 : _GEN_74; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_80 = 5'hd == _T_826 ? _T_14 : _GEN_75; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_81 = 5'hd == _T_826 ? io_in[31:27] : _GEN_76; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_82 = 5'he == _T_826 ? _T_528 : _GEN_77; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_83 = 5'he == _T_826 ? _T_30 : _GEN_78; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_84 = 5'he == _T_826 ? _T_30 : _GEN_79; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_85 = 5'he == _T_826 ? 5'h0 : _GEN_80; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_86 = 5'he == _T_826 ? io_in[31:27] : _GEN_81; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_87 = 5'hf == _T_826 ? _T_595 : _GEN_82; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_88 = 5'hf == _T_826 ? 5'h0 : _GEN_83; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_89 = 5'hf == _T_826 ? _T_30 : _GEN_84; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_90 = 5'hf == _T_826 ? 5'h0 : _GEN_85; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_91 = 5'hf == _T_826 ? io_in[31:27] : _GEN_86; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_616_bits = {{6'd0}, _T_611}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_92 = 5'h10 == _T_826 ? _T_616_bits : _GEN_87; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_93 = 5'h10 == _T_826 ? io_in[11:7] : _GEN_88; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_94 = 5'h10 == _T_826 ? io_in[11:7] : _GEN_89; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_95 = 5'h10 == _T_826 ? io_in[6:2] : _GEN_90; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_96 = 5'h10 == _T_826 ? io_in[31:27] : _GEN_91; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_631_bits = {{3'd0}, _T_627}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_97 = 5'h11 == _T_826 ? _T_631_bits : _GEN_92; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_98 = 5'h11 == _T_826 ? io_in[11:7] : _GEN_93; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_99 = 5'h11 == _T_826 ? 5'h2 : _GEN_94; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_100 = 5'h11 == _T_826 ? io_in[6:2] : _GEN_95; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_101 = 5'h11 == _T_826 ? io_in[31:27] : _GEN_96; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_646_bits = {{4'd0}, _T_642}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_102 = 5'h12 == _T_826 ? _T_646_bits : _GEN_97; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_103 = 5'h12 == _T_826 ? io_in[11:7] : _GEN_98; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_104 = 5'h12 == _T_826 ? 5'h2 : _GEN_99; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_105 = 5'h12 == _T_826 ? io_in[6:2] : _GEN_100; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_106 = 5'h12 == _T_826 ? io_in[31:27] : _GEN_101; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_661_bits = {{3'd0}, _T_657}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_107 = 5'h13 == _T_826 ? _T_661_bits : _GEN_102; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_108 = 5'h13 == _T_826 ? io_in[11:7] : _GEN_103; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_109 = 5'h13 == _T_826 ? 5'h2 : _GEN_104; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_110 = 5'h13 == _T_826 ? io_in[6:2] : _GEN_105; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_111 = 5'h13 == _T_826 ? io_in[31:27] : _GEN_106; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_112 = 5'h14 == _T_826 ? _T_722_bits : _GEN_107; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_113 = 5'h14 == _T_826 ? _T_722_rd : _GEN_108; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_114 = 5'h14 == _T_826 ? _T_722_rs1 : _GEN_109; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_115 = 5'h14 == _T_826 ? _T_722_rs2 : _GEN_110; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_116 = 5'h14 == _T_826 ? _T_722_rs3 : _GEN_111; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_742_bits = {{3'd0}, _T_738}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_117 = 5'h15 == _T_826 ? _T_742_bits : _GEN_112; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_118 = 5'h15 == _T_826 ? io_in[11:7] : _GEN_113; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_119 = 5'h15 == _T_826 ? 5'h2 : _GEN_114; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_120 = 5'h15 == _T_826 ? io_in[6:2] : _GEN_115; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_121 = 5'h15 == _T_826 ? io_in[31:27] : _GEN_116; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_762_bits = {{4'd0}, _T_758}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_122 = 5'h16 == _T_826 ? _T_762_bits : _GEN_117; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_123 = 5'h16 == _T_826 ? io_in[11:7] : _GEN_118; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_124 = 5'h16 == _T_826 ? 5'h2 : _GEN_119; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_125 = 5'h16 == _T_826 ? io_in[6:2] : _GEN_120; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_126 = 5'h16 == _T_826 ? io_in[31:27] : _GEN_121; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _T_782_bits = {{3'd0}, _T_778}; // @[el2_ifu_compress.scala 16:19 el2_ifu_compress.scala 17:14] + wire [31:0] _GEN_127 = 5'h17 == _T_826 ? _T_782_bits : _GEN_122; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_128 = 5'h17 == _T_826 ? io_in[11:7] : _GEN_123; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_129 = 5'h17 == _T_826 ? 5'h2 : _GEN_124; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_130 = 5'h17 == _T_826 ? io_in[6:2] : _GEN_125; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_131 = 5'h17 == _T_826 ? io_in[31:27] : _GEN_126; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_132 = 5'h18 == _T_826 ? io_in : _GEN_127; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_133 = 5'h18 == _T_826 ? io_in[11:7] : _GEN_128; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_134 = 5'h18 == _T_826 ? io_in[19:15] : _GEN_129; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_135 = 5'h18 == _T_826 ? io_in[24:20] : _GEN_130; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_136 = 5'h18 == _T_826 ? io_in[31:27] : _GEN_131; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_137 = 5'h19 == _T_826 ? io_in : _GEN_132; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_138 = 5'h19 == _T_826 ? io_in[11:7] : _GEN_133; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_139 = 5'h19 == _T_826 ? io_in[19:15] : _GEN_134; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_140 = 5'h19 == _T_826 ? io_in[24:20] : _GEN_135; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_141 = 5'h19 == _T_826 ? io_in[31:27] : _GEN_136; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_142 = 5'h1a == _T_826 ? io_in : _GEN_137; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_143 = 5'h1a == _T_826 ? io_in[11:7] : _GEN_138; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_144 = 5'h1a == _T_826 ? io_in[19:15] : _GEN_139; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_145 = 5'h1a == _T_826 ? io_in[24:20] : _GEN_140; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_146 = 5'h1a == _T_826 ? io_in[31:27] : _GEN_141; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_147 = 5'h1b == _T_826 ? io_in : _GEN_142; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_148 = 5'h1b == _T_826 ? io_in[11:7] : _GEN_143; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_149 = 5'h1b == _T_826 ? io_in[19:15] : _GEN_144; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_150 = 5'h1b == _T_826 ? io_in[24:20] : _GEN_145; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_151 = 5'h1b == _T_826 ? io_in[31:27] : _GEN_146; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_152 = 5'h1c == _T_826 ? io_in : _GEN_147; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_153 = 5'h1c == _T_826 ? io_in[11:7] : _GEN_148; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_154 = 5'h1c == _T_826 ? io_in[19:15] : _GEN_149; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_155 = 5'h1c == _T_826 ? io_in[24:20] : _GEN_150; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_156 = 5'h1c == _T_826 ? io_in[31:27] : _GEN_151; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_157 = 5'h1d == _T_826 ? io_in : _GEN_152; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_158 = 5'h1d == _T_826 ? io_in[11:7] : _GEN_153; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_159 = 5'h1d == _T_826 ? io_in[19:15] : _GEN_154; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_160 = 5'h1d == _T_826 ? io_in[24:20] : _GEN_155; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_161 = 5'h1d == _T_826 ? io_in[31:27] : _GEN_156; // @[el2_ifu_compress.scala 194:12] + wire [31:0] _GEN_162 = 5'h1e == _T_826 ? io_in : _GEN_157; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_163 = 5'h1e == _T_826 ? io_in[11:7] : _GEN_158; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_164 = 5'h1e == _T_826 ? io_in[19:15] : _GEN_159; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_165 = 5'h1e == _T_826 ? io_in[24:20] : _GEN_160; // @[el2_ifu_compress.scala 194:12] + wire [4:0] _GEN_166 = 5'h1e == _T_826 ? io_in[31:27] : _GEN_161; // @[el2_ifu_compress.scala 194:12] + assign io_out_bits = 5'h1f == _T_826 ? io_in : _GEN_162; // @[el2_ifu_compress.scala 194:12] + assign io_out_rd = 5'h1f == _T_826 ? io_in[11:7] : _GEN_163; // @[el2_ifu_compress.scala 194:12] + assign io_out_rs1 = 5'h1f == _T_826 ? io_in[19:15] : _GEN_164; // @[el2_ifu_compress.scala 194:12] + assign io_out_rs2 = 5'h1f == _T_826 ? io_in[24:20] : _GEN_165; // @[el2_ifu_compress.scala 194:12] + assign io_out_rs3 = 5'h1f == _T_826 ? io_in[31:27] : _GEN_166; // @[el2_ifu_compress.scala 194:12] + assign io_rvc = io_in[1:0] != 2'h3; // @[el2_ifu_compress.scala 192:12] endmodule diff --git a/el2_ifu_ifc_ctrl.anno.json b/el2_ifu_ifc_ctrl.anno.json index 41ecd3c9..698139ef 100644 --- a/el2_ifu_ifc_ctrl.anno.json +++ b/el2_ifu_ifc_ctrl.anno.json @@ -1,4 +1,18 @@ [ + { + "class":"firrtl.transforms.CombinationalPath", + "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_test_out", + "sources":[ + "~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_exu_flush_final", + "~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" + ] + }, { "class":"firrtl.transforms.CombinationalPath", "sink":"~el2_ifu_ifc_ctrl|el2_ifu_ifc_ctrl>io_ifu_pmu_fetch_stall", diff --git a/el2_ifu_ifc_ctrl.fir b/el2_ifu_ifc_ctrl.fir index 415d6c02..851e9b89 100644 --- a/el2_ifu_ifc_ctrl.fir +++ b/el2_ifu_ifc_ctrl.fir @@ -3,8 +3,10 @@ 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<31>, 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>} + 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>, test_out : UInt} + io.ifc_region_acc_fault_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 40:30] + io.ifc_dma_access_ok <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 41:24] wire fetch_addr_bf : UInt<32> fetch_addr_bf <= UInt<1>("h00") wire fetch_addr_next : UInt<32> @@ -33,7 +35,8 @@ circuit el2_ifu_ifc_ctrl : sel_next_addr_bf <= UInt<1>("h00") wire miss_f : UInt<1> miss_f <= UInt<1>("h00") - wire miss_a : UInt<1> @[el2_ifu_ifc_ctrl.scala 53:20] + wire miss_a : UInt<1> + miss_a <= UInt<1>("h00") wire flush_fb : UInt<1> flush_fb <= UInt<1>("h00") wire mb_empty_mod : UInt<1> @@ -48,125 +51,114 @@ circuit el2_ifu_ifc_ctrl : line_wrap <= UInt<1>("h00") wire state : UInt<2> state <= UInt<1>("h00") - io.ifc_fetch_addr_f <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 64:23] - io.ifc_fetch_addr_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 65:24] - io.ifc_fetch_req_f <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 66:22] - io.ifu_pmu_fetch_stall <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 67:26] - io.ifc_fetch_uncacheable_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 68:31] - io.ifc_fetch_req_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 69:23] - io.ifc_fetch_req_bf_raw <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 70:27] - io.ifc_iccm_access_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 71:25] - io.ifc_region_acc_fault_bf <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 72:30] - io.ifc_dma_access_ok <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 73:24] - reg dma_iccm_stall_any_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 75:37] - dma_iccm_stall_any_f <= io.dma_iccm_stall_any @[el2_ifu_ifc_ctrl.scala 75:37] - node dma_stall = or(io.ic_dma_active, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctrl.scala 76:36] - reg _T : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 77:20] - _T <= miss_f @[el2_ifu_ifc_ctrl.scala 77:20] - miss_a <= _T @[el2_ifu_ifc_ctrl.scala 77:10] - node _T_1 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 79:23] - node _T_2 = not(io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 79:46] - node _T_3 = not(io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 79:68] - node _T_4 = or(_T_2, _T_3) @[el2_ifu_ifc_ctrl.scala 79:66] - node _T_5 = and(_T_1, _T_4) @[el2_ifu_ifc_ctrl.scala 79:43] - sel_last_addr_bf <= _T_5 @[el2_ifu_ifc_ctrl.scala 79:20] - node _T_6 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 80:23] - node _T_7 = and(_T_6, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 80:43] - node _T_8 = and(_T_7, io.ifu_bp_hit_taken_f) @[el2_ifu_ifc_ctrl.scala 80:64] - node _T_9 = and(_T_8, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 80:88] - sel_btb_addr_bf <= _T_9 @[el2_ifu_ifc_ctrl.scala 80:20] - node _T_10 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 81:23] - node _T_11 = and(_T_10, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 81:43] - node _T_12 = not(io.ifu_bp_hit_taken_f) @[el2_ifu_ifc_ctrl.scala 81:66] - node _T_13 = and(_T_11, _T_12) @[el2_ifu_ifc_ctrl.scala 81:64] - node _T_14 = and(_T_13, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 81:89] - sel_next_addr_bf <= _T_14 @[el2_ifu_ifc_ctrl.scala 81:20] - node _T_15 = add(io.ifc_fetch_addr_f, UInt<2>("h02")) @[el2_ifu_ifc_ctrl.scala 84:42] - node _T_16 = tail(_T_15, 1) @[el2_ifu_ifc_ctrl.scala 84:42] - node _T_17 = bits(line_wrap, 0, 0) @[el2_ifu_ifc_ctrl.scala 85:25] - node _T_18 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_ifc_ctrl.scala 85:53] - node _T_19 = mux(_T_17, UInt<1>("h00"), _T_18) @[el2_ifu_ifc_ctrl.scala 85:8] - node _T_20 = or(_T_16, _T_19) @[el2_ifu_ifc_ctrl.scala 84:48] - fetch_addr_next <= _T_20 @[el2_ifu_ifc_ctrl.scala 84:19] - node _T_21 = bits(io.exu_flush_final, 0, 0) @[el2_ifu_ifc_ctrl.scala 89:56] - node _T_22 = bits(sel_last_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 90:46] - node _T_23 = bits(sel_btb_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 91:45] - node _T_24 = bits(sel_next_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 92:46] - node _T_25 = mux(_T_21, io.exu_flush_path_final, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_26 = mux(_T_22, io.ifc_fetch_addr_f, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_27 = mux(_T_23, io.ifu_bp_btb_target_f, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_28 = mux(_T_24, fetch_addr_next, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_29 = or(_T_25, _T_26) @[Mux.scala 27:72] - node _T_30 = or(_T_29, _T_27) @[Mux.scala 27:72] - node _T_31 = or(_T_30, _T_28) @[Mux.scala 27:72] - wire _T_32 : UInt<32> @[Mux.scala 27:72] - _T_32 <= _T_31 @[Mux.scala 27:72] - io.ifc_fetch_addr_bf <= _T_32 @[el2_ifu_ifc_ctrl.scala 89:24] - node _T_33 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 95:88] - reg _T_34 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_33 : @[Reg.scala 28:19] - _T_34 <= io.ifc_fetch_addr_bf @[Reg.scala 28:23] - skip @[Reg.scala 28:19] - io.ifc_fetch_addr_f <= _T_34 @[el2_ifu_ifc_ctrl.scala 95:23] - node _T_35 = not(idle) @[el2_ifu_ifc_ctrl.scala 97:30] - io.ifc_fetch_req_bf_raw <= _T_35 @[el2_ifu_ifc_ctrl.scala 97:27] - reg _T_36 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 99:32] - _T_36 <= io.ifc_fetch_addr_bf @[el2_ifu_ifc_ctrl.scala 99:32] - io.ifc_fetch_req_f <= _T_36 @[el2_ifu_ifc_ctrl.scala 99:22] - node _T_37 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 101:91] - node _T_38 = not(_T_37) @[el2_ifu_ifc_ctrl.scala 101:70] - node _T_39 = and(fb_full_f_ns, _T_38) @[el2_ifu_ifc_ctrl.scala 101:68] - node _T_40 = not(_T_39) @[el2_ifu_ifc_ctrl.scala 101:53] - node _T_41 = and(io.ifc_fetch_req_bf_raw, _T_40) @[el2_ifu_ifc_ctrl.scala 101:51] - node _T_42 = not(dma_stall) @[el2_ifu_ifc_ctrl.scala 102:5] - node _T_43 = and(_T_41, _T_42) @[el2_ifu_ifc_ctrl.scala 101:114] - node _T_44 = not(io.ic_write_stall) @[el2_ifu_ifc_ctrl.scala 102:18] - node _T_45 = and(_T_43, _T_44) @[el2_ifu_ifc_ctrl.scala 102:16] - node _T_46 = not(io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 102:39] - node _T_47 = and(_T_45, _T_46) @[el2_ifu_ifc_ctrl.scala 102:37] - io.ifc_fetch_req_bf <= _T_47 @[el2_ifu_ifc_ctrl.scala 101:23] - node _T_48 = not(io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 104:34] - node _T_49 = and(io.ifc_fetch_req_f, _T_48) @[el2_ifu_ifc_ctrl.scala 104:32] - node _T_50 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 104:49] - node _T_51 = and(_T_49, _T_50) @[el2_ifu_ifc_ctrl.scala 104:47] - miss_f <= _T_51 @[el2_ifu_ifc_ctrl.scala 104:10] - node _T_52 = and(io.exu_flush_final, io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 106:35] - goto_idle <= _T_52 @[el2_ifu_ifc_ctrl.scala 106:13] - node _T_53 = or(io.ifu_ic_mb_empty, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 108:39] - node _T_54 = not(dma_stall) @[el2_ifu_ifc_ctrl.scala 108:63] - node _T_55 = and(_T_53, _T_54) @[el2_ifu_ifc_ctrl.scala 108:61] - node _T_56 = not(miss_f) @[el2_ifu_ifc_ctrl.scala 108:76] - node _T_57 = and(_T_55, _T_56) @[el2_ifu_ifc_ctrl.scala 108:74] - node _T_58 = not(miss_a) @[el2_ifu_ifc_ctrl.scala 108:86] - node _T_59 = and(_T_57, _T_58) @[el2_ifu_ifc_ctrl.scala 108:84] - mb_empty_mod <= _T_59 @[el2_ifu_ifc_ctrl.scala 108:16] - node _T_60 = not(io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 110:38] - node _T_61 = and(io.exu_flush_final, _T_60) @[el2_ifu_ifc_ctrl.scala 110:36] - node _T_62 = and(_T_61, idle) @[el2_ifu_ifc_ctrl.scala 110:67] - leave_idle <= _T_62 @[el2_ifu_ifc_ctrl.scala 110:14] - node _T_63 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 112:29] - node _T_64 = not(_T_63) @[el2_ifu_ifc_ctrl.scala 112:23] - node _T_65 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 112:40] - node _T_66 = and(_T_64, _T_65) @[el2_ifu_ifc_ctrl.scala 112:33] - node _T_67 = and(_T_66, miss_f) @[el2_ifu_ifc_ctrl.scala 112:44] - node _T_68 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 112:55] - node _T_69 = and(_T_67, _T_68) @[el2_ifu_ifc_ctrl.scala 112:53] - node _T_70 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 113:11] - node _T_71 = not(mb_empty_mod) @[el2_ifu_ifc_ctrl.scala 113:17] - node _T_72 = and(_T_70, _T_71) @[el2_ifu_ifc_ctrl.scala 113:15] - node _T_73 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 113:33] - node _T_74 = and(_T_72, _T_73) @[el2_ifu_ifc_ctrl.scala 113:31] - node next_state_1 = or(_T_69, _T_74) @[el2_ifu_ifc_ctrl.scala 112:67] - node _T_75 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 115:23] - node _T_76 = and(_T_75, leave_idle) @[el2_ifu_ifc_ctrl.scala 115:34] - node _T_77 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 115:56] - node _T_78 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 115:62] - node _T_79 = and(_T_77, _T_78) @[el2_ifu_ifc_ctrl.scala 115:60] - node next_state_0 = or(_T_76, _T_79) @[el2_ifu_ifc_ctrl.scala 115:48] + 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 69:36] + reg _T : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 70:34] + _T <= io.dma_iccm_stall_any @[el2_ifu_ifc_ctrl.scala 70:34] + dma_iccm_stall_any_f <= _T @[el2_ifu_ifc_ctrl.scala 70:24] + reg _T_1 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 72:20] + _T_1 <= miss_f @[el2_ifu_ifc_ctrl.scala 72:20] + miss_a <= _T_1 @[el2_ifu_ifc_ctrl.scala 72:10] + node _T_2 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 74:23] + node _T_3 = not(io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 74:46] + node _T_4 = not(io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 74:68] + node _T_5 = or(_T_3, _T_4) @[el2_ifu_ifc_ctrl.scala 74:66] + node _T_6 = and(_T_2, _T_5) @[el2_ifu_ifc_ctrl.scala 74:43] + sel_last_addr_bf <= _T_6 @[el2_ifu_ifc_ctrl.scala 74:20] + node _T_7 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 75:23] + node _T_8 = and(_T_7, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 75:43] + node _T_9 = and(_T_8, io.ifu_bp_hit_taken_f) @[el2_ifu_ifc_ctrl.scala 75:64] + node _T_10 = and(_T_9, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 75:88] + sel_btb_addr_bf <= _T_10 @[el2_ifu_ifc_ctrl.scala 75:20] + node _T_11 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 76:23] + node _T_12 = and(_T_11, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 76:43] + node _T_13 = not(io.ifu_bp_hit_taken_f) @[el2_ifu_ifc_ctrl.scala 76:66] + node _T_14 = and(_T_12, _T_13) @[el2_ifu_ifc_ctrl.scala 76:64] + node _T_15 = and(_T_14, io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 76:89] + sel_next_addr_bf <= _T_15 @[el2_ifu_ifc_ctrl.scala 76:20] + node _T_16 = bits(io.exu_flush_final, 0, 0) @[el2_ifu_ifc_ctrl.scala 79:56] + node _T_17 = bits(sel_last_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 80:46] + node _T_18 = bits(sel_btb_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 81:45] + node _T_19 = bits(sel_next_addr_bf, 0, 0) @[el2_ifu_ifc_ctrl.scala 82:46] + node _T_20 = mux(_T_16, io.exu_flush_path_final, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_21 = mux(_T_17, io.ifc_fetch_addr_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_22 = mux(_T_18, io.ifu_bp_btb_target_f, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_23 = mux(_T_19, fetch_addr_next, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_24 = or(_T_20, _T_21) @[Mux.scala 27:72] + node _T_25 = or(_T_24, _T_22) @[Mux.scala 27:72] + node _T_26 = or(_T_25, _T_23) @[Mux.scala 27:72] + wire _T_27 : UInt<32> @[Mux.scala 27:72] + _T_27 <= _T_26 @[Mux.scala 27:72] + io.ifc_fetch_addr_bf <= _T_27 @[el2_ifu_ifc_ctrl.scala 79:24] + io.test_out <= io.ifc_fetch_addr_bf @[el2_ifu_ifc_ctrl.scala 84:15] + line_wrap <= UInt<1>("h00") @[el2_ifu_ifc_ctrl.scala 86:13] + node _T_28 = bits(io.ifc_fetch_addr_f, 30, 1) @[el2_ifu_ifc_ctrl.scala 88:46] + node _T_29 = add(_T_28, UInt<1>("h01")) @[el2_ifu_ifc_ctrl.scala 88:52] + node _T_30 = tail(_T_29, 1) @[el2_ifu_ifc_ctrl.scala 88:52] + node _T_31 = bits(line_wrap, 0, 0) @[el2_ifu_ifc_ctrl.scala 89:25] + node _T_32 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_ifc_ctrl.scala 89:53] + node _T_33 = mux(_T_31, UInt<1>("h00"), _T_32) @[el2_ifu_ifc_ctrl.scala 89:8] + node _T_34 = or(_T_30, _T_33) @[el2_ifu_ifc_ctrl.scala 88:58] + fetch_addr_next <= _T_34 @[el2_ifu_ifc_ctrl.scala 88:19] + node _T_35 = not(idle) @[el2_ifu_ifc_ctrl.scala 93:30] + io.ifc_fetch_req_bf_raw <= _T_35 @[el2_ifu_ifc_ctrl.scala 93:27] + node _T_36 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 95:91] + node _T_37 = not(_T_36) @[el2_ifu_ifc_ctrl.scala 95:70] + node _T_38 = and(fb_full_f_ns, _T_37) @[el2_ifu_ifc_ctrl.scala 95:68] + node _T_39 = not(_T_38) @[el2_ifu_ifc_ctrl.scala 95:53] + node _T_40 = and(io.ifc_fetch_req_bf_raw, _T_39) @[el2_ifu_ifc_ctrl.scala 95:51] + node _T_41 = not(dma_stall) @[el2_ifu_ifc_ctrl.scala 96:5] + node _T_42 = and(_T_40, _T_41) @[el2_ifu_ifc_ctrl.scala 95:114] + node _T_43 = not(io.ic_write_stall) @[el2_ifu_ifc_ctrl.scala 96:18] + node _T_44 = and(_T_42, _T_43) @[el2_ifu_ifc_ctrl.scala 96:16] + node _T_45 = not(io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 96:39] + node _T_46 = and(_T_44, _T_45) @[el2_ifu_ifc_ctrl.scala 96:37] + io.ifc_fetch_req_bf <= _T_46 @[el2_ifu_ifc_ctrl.scala 95:23] + node _T_47 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 98:37] + fetch_bf_en <= _T_47 @[el2_ifu_ifc_ctrl.scala 98:15] + node _T_48 = not(io.ic_hit_f) @[el2_ifu_ifc_ctrl.scala 100:34] + node _T_49 = and(io.ifc_fetch_req_f, _T_48) @[el2_ifu_ifc_ctrl.scala 100:32] + node _T_50 = not(io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 100:49] + node _T_51 = and(_T_49, _T_50) @[el2_ifu_ifc_ctrl.scala 100:47] + miss_f <= _T_51 @[el2_ifu_ifc_ctrl.scala 100:10] + node _T_52 = or(io.ifu_ic_mb_empty, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 102:39] + node _T_53 = not(dma_stall) @[el2_ifu_ifc_ctrl.scala 102:63] + node _T_54 = and(_T_52, _T_53) @[el2_ifu_ifc_ctrl.scala 102:61] + node _T_55 = not(miss_f) @[el2_ifu_ifc_ctrl.scala 102:76] + node _T_56 = and(_T_54, _T_55) @[el2_ifu_ifc_ctrl.scala 102:74] + node _T_57 = not(miss_a) @[el2_ifu_ifc_ctrl.scala 102:86] + node _T_58 = and(_T_56, _T_57) @[el2_ifu_ifc_ctrl.scala 102:84] + mb_empty_mod <= _T_58 @[el2_ifu_ifc_ctrl.scala 102:16] + node _T_59 = and(io.exu_flush_final, io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 104:35] + goto_idle <= _T_59 @[el2_ifu_ifc_ctrl.scala 104:13] + node _T_60 = not(io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctrl.scala 106:38] + node _T_61 = and(io.exu_flush_final, _T_60) @[el2_ifu_ifc_ctrl.scala 106:36] + node _T_62 = and(_T_61, idle) @[el2_ifu_ifc_ctrl.scala 106:67] + leave_idle <= _T_62 @[el2_ifu_ifc_ctrl.scala 106:14] + node _T_63 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 108:29] + node _T_64 = not(_T_63) @[el2_ifu_ifc_ctrl.scala 108:23] + node _T_65 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 108:40] + node _T_66 = and(_T_64, _T_65) @[el2_ifu_ifc_ctrl.scala 108:33] + node _T_67 = and(_T_66, miss_f) @[el2_ifu_ifc_ctrl.scala 108:44] + node _T_68 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 108:55] + node _T_69 = and(_T_67, _T_68) @[el2_ifu_ifc_ctrl.scala 108:53] + node _T_70 = bits(state, 1, 1) @[el2_ifu_ifc_ctrl.scala 109:11] + node _T_71 = not(mb_empty_mod) @[el2_ifu_ifc_ctrl.scala 109:17] + node _T_72 = and(_T_70, _T_71) @[el2_ifu_ifc_ctrl.scala 109:15] + node _T_73 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 109:33] + node _T_74 = and(_T_72, _T_73) @[el2_ifu_ifc_ctrl.scala 109:31] + node next_state_1 = or(_T_69, _T_74) @[el2_ifu_ifc_ctrl.scala 108:67] + node _T_75 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 111:23] + node _T_76 = and(_T_75, leave_idle) @[el2_ifu_ifc_ctrl.scala 111:34] + node _T_77 = bits(state, 0, 0) @[el2_ifu_ifc_ctrl.scala 111:56] + node _T_78 = not(goto_idle) @[el2_ifu_ifc_ctrl.scala 111:62] + node _T_79 = and(_T_77, _T_78) @[el2_ifu_ifc_ctrl.scala 111:60] + node next_state_0 = or(_T_76, _T_79) @[el2_ifu_ifc_ctrl.scala 111:48] node _T_80 = cat(next_state_0, next_state_0) @[Cat.scala 29:58] - reg _T_81 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 117:19] - _T_81 <= _T_80 @[el2_ifu_ifc_ctrl.scala 117:19] - state <= _T_81 @[el2_ifu_ifc_ctrl.scala 117:9] + reg _T_81 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 113:19] + _T_81 <= _T_80 @[el2_ifu_ifc_ctrl.scala 113:19] + state <= _T_81 @[el2_ifu_ifc_ctrl.scala 113:9] flush_fb <= io.exu_flush_final @[el2_ifu_ifc_ctrl.scala 119:12] node _T_82 = not(io.ifu_fb_consume2) @[el2_ifu_ifc_ctrl.scala 121:38] node _T_83 = and(io.ifu_fb_consume1, _T_82) @[el2_ifu_ifc_ctrl.scala 121:36] @@ -186,71 +178,85 @@ circuit el2_ifu_ifc_ctrl : node _T_95 = not(miss_f) @[el2_ifu_ifc_ctrl.scala 125:80] node _T_96 = and(_T_94, _T_95) @[el2_ifu_ifc_ctrl.scala 125:78] fb_left <= _T_96 @[el2_ifu_ifc_ctrl.scala 125:11] - node _T_97 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 128:6] - node _T_98 = and(_T_97, fb_right) @[el2_ifu_ifc_ctrl.scala 128:16] - node _T_99 = bits(_T_98, 0, 0) @[el2_ifu_ifc_ctrl.scala 128:28] - node _T_100 = bits(fb_write_f, 3, 1) @[el2_ifu_ifc_ctrl.scala 128:62] - node _T_101 = cat(UInt<1>("h00"), _T_100) @[Cat.scala 29:58] - node _T_102 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 129:6] - node _T_103 = and(_T_102, fb_right2) @[el2_ifu_ifc_ctrl.scala 129:16] - node _T_104 = bits(_T_103, 0, 0) @[el2_ifu_ifc_ctrl.scala 129:29] - node _T_105 = bits(fb_write_f, 3, 2) @[el2_ifu_ifc_ctrl.scala 129:63] - node _T_106 = cat(UInt<2>("h00"), _T_105) @[Cat.scala 29:58] - node _T_107 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 130:6] - node _T_108 = and(_T_107, fb_left) @[el2_ifu_ifc_ctrl.scala 130:16] - node _T_109 = bits(_T_108, 0, 0) @[el2_ifu_ifc_ctrl.scala 130:27] - node _T_110 = bits(fb_write_f, 2, 0) @[el2_ifu_ifc_ctrl.scala 130:51] - node _T_111 = cat(_T_110, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_112 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 131:6] - node _T_113 = not(fb_right) @[el2_ifu_ifc_ctrl.scala 131:18] - node _T_114 = and(_T_112, _T_113) @[el2_ifu_ifc_ctrl.scala 131:16] - node _T_115 = not(fb_right2) @[el2_ifu_ifc_ctrl.scala 131:30] - node _T_116 = and(_T_114, _T_115) @[el2_ifu_ifc_ctrl.scala 131:28] - node _T_117 = not(fb_left) @[el2_ifu_ifc_ctrl.scala 131:43] - node _T_118 = and(_T_116, _T_117) @[el2_ifu_ifc_ctrl.scala 131:41] - node _T_119 = bits(_T_118, 0, 0) @[el2_ifu_ifc_ctrl.scala 131:53] - node _T_120 = bits(fb_write_f, 3, 0) @[el2_ifu_ifc_ctrl.scala 131:73] - node _T_121 = mux(io.exu_flush_final, UInt<1>("h01"), UInt<1>("h00")) @[Mux.scala 27:72] - node _T_122 = mux(_T_99, _T_101, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_123 = mux(_T_104, _T_106, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_124 = mux(_T_109, _T_111, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_125 = mux(_T_119, _T_120, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_126 = or(_T_121, _T_122) @[Mux.scala 27:72] - node _T_127 = or(_T_126, _T_123) @[Mux.scala 27:72] + node _T_97 = bits(flush_fb, 0, 0) @[el2_ifu_ifc_ctrl.scala 127:37] + node _T_98 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 128:6] + node _T_99 = and(_T_98, fb_right) @[el2_ifu_ifc_ctrl.scala 128:16] + node _T_100 = bits(_T_99, 0, 0) @[el2_ifu_ifc_ctrl.scala 128:28] + node _T_101 = bits(fb_write_f, 3, 1) @[el2_ifu_ifc_ctrl.scala 128:62] + node _T_102 = cat(UInt<1>("h00"), _T_101) @[Cat.scala 29:58] + node _T_103 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 129:6] + node _T_104 = and(_T_103, fb_right2) @[el2_ifu_ifc_ctrl.scala 129:16] + node _T_105 = bits(_T_104, 0, 0) @[el2_ifu_ifc_ctrl.scala 129:29] + node _T_106 = bits(fb_write_f, 3, 2) @[el2_ifu_ifc_ctrl.scala 129:63] + node _T_107 = cat(UInt<2>("h00"), _T_106) @[Cat.scala 29:58] + node _T_108 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 130:6] + node _T_109 = and(_T_108, fb_left) @[el2_ifu_ifc_ctrl.scala 130:16] + node _T_110 = bits(_T_109, 0, 0) @[el2_ifu_ifc_ctrl.scala 130:27] + node _T_111 = bits(fb_write_f, 2, 0) @[el2_ifu_ifc_ctrl.scala 130:51] + node _T_112 = cat(_T_111, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_113 = not(flush_fb) @[el2_ifu_ifc_ctrl.scala 131:6] + node _T_114 = not(fb_right) @[el2_ifu_ifc_ctrl.scala 131:18] + node _T_115 = and(_T_113, _T_114) @[el2_ifu_ifc_ctrl.scala 131:16] + node _T_116 = not(fb_right2) @[el2_ifu_ifc_ctrl.scala 131:30] + node _T_117 = and(_T_115, _T_116) @[el2_ifu_ifc_ctrl.scala 131:28] + node _T_118 = not(fb_left) @[el2_ifu_ifc_ctrl.scala 131:43] + node _T_119 = and(_T_117, _T_118) @[el2_ifu_ifc_ctrl.scala 131:41] + node _T_120 = bits(_T_119, 0, 0) @[el2_ifu_ifc_ctrl.scala 131:53] + node _T_121 = bits(fb_write_f, 3, 0) @[el2_ifu_ifc_ctrl.scala 131:73] + node _T_122 = mux(_T_97, UInt<4>("h01"), UInt<1>("h00")) @[Mux.scala 27:72] + node _T_123 = mux(_T_100, _T_102, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_124 = mux(_T_105, _T_107, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_125 = mux(_T_110, _T_112, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_126 = mux(_T_120, _T_121, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_127 = or(_T_122, _T_123) @[Mux.scala 27:72] node _T_128 = or(_T_127, _T_124) @[Mux.scala 27:72] node _T_129 = or(_T_128, _T_125) @[Mux.scala 27:72] - wire _T_130 : UInt<4> @[Mux.scala 27:72] - _T_130 <= _T_129 @[Mux.scala 27:72] - fb_write_ns <= _T_130 @[el2_ifu_ifc_ctrl.scala 127:15] - reg _T_131 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 134:26] - _T_131 <= fb_write_ns @[el2_ifu_ifc_ctrl.scala 134:26] - fb_full_f_ns <= _T_131 @[el2_ifu_ifc_ctrl.scala 134:16] - node _T_132 = eq(state, UInt<2>("h00")) @[el2_ifu_ifc_ctrl.scala 136:17] - idle <= _T_132 @[el2_ifu_ifc_ctrl.scala 136:8] - node _T_133 = eq(state, UInt<2>("h03")) @[el2_ifu_ifc_ctrl.scala 137:16] - wfm <= _T_133 @[el2_ifu_ifc_ctrl.scala 137:7] - node _T_134 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 139:30] - fb_full_f_ns <= _T_134 @[el2_ifu_ifc_ctrl.scala 139:16] + node _T_130 = or(_T_129, _T_126) @[Mux.scala 27:72] + wire _T_131 : UInt<4> @[Mux.scala 27:72] + _T_131 <= _T_130 @[Mux.scala 27:72] + fb_write_ns <= _T_131 @[el2_ifu_ifc_ctrl.scala 127:15] + node _T_132 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 134:38] + reg _T_133 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 134:26] + _T_133 <= _T_132 @[el2_ifu_ifc_ctrl.scala 134:26] + fb_full_f_ns <= _T_133 @[el2_ifu_ifc_ctrl.scala 134:16] + node _T_134 = eq(state, UInt<2>("h00")) @[el2_ifu_ifc_ctrl.scala 136:17] + idle <= _T_134 @[el2_ifu_ifc_ctrl.scala 136:8] + node _T_135 = eq(state, UInt<2>("h03")) @[el2_ifu_ifc_ctrl.scala 137:16] + wfm <= _T_135 @[el2_ifu_ifc_ctrl.scala 137:7] + node _T_136 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctrl.scala 139:30] + fb_full_f_ns <= _T_136 @[el2_ifu_ifc_ctrl.scala 139:16] reg fb_full_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 140:26] fb_full_f <= fb_full_f_ns @[el2_ifu_ifc_ctrl.scala 140:26] - node _T_135 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 143:26] - node _T_136 = or(_T_135, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 143:47] - node _T_137 = not(_T_136) @[el2_ifu_ifc_ctrl.scala 143:5] - node _T_138 = and(fb_full_f, _T_137) @[el2_ifu_ifc_ctrl.scala 142:75] - node _T_139 = or(_T_138, dma_stall) @[el2_ifu_ifc_ctrl.scala 143:70] - node _T_140 = and(io.ifc_fetch_req_bf_raw, _T_139) @[el2_ifu_ifc_ctrl.scala 142:60] - node _T_141 = or(wfm, _T_140) @[el2_ifu_ifc_ctrl.scala 142:33] - io.ifu_pmu_fetch_stall <= _T_141 @[el2_ifu_ifc_ctrl.scala 142:26] - node _T_142 = cat(io.ifc_fetch_addr_bf, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_143 = bits(_T_142, 31, 28) @[el2_lib.scala 203:25] - node iccm_acc_in_region_bf = eq(_T_143, UInt<4>("h0e")) @[el2_lib.scala 203:47] - node _T_144 = bits(_T_142, 31, 16) @[el2_lib.scala 206:14] - node iccm_acc_in_range_bf = eq(_T_144, UInt<16>("h0ee00")) @[el2_lib.scala 206:29] - io.ifc_iccm_access_bf <= iccm_acc_in_range_bf @[el2_ifu_ifc_ctrl.scala 149:25] - node _T_145 = bits(io.ifc_fetch_addr_bf, 30, 27) @[el2_ifu_ifc_ctrl.scala 150:78] - node _T_146 = cat(_T_145, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_147 = dshr(io.dec_tlu_mrac_ff, _T_146) @[el2_ifu_ifc_ctrl.scala 150:53] - node _T_148 = bits(_T_147, 0, 0) @[el2_ifu_ifc_ctrl.scala 150:53] - node _T_149 = not(_T_148) @[el2_ifu_ifc_ctrl.scala 150:34] - io.ifc_fetch_uncacheable_bf <= _T_149 @[el2_ifu_ifc_ctrl.scala 150:31] + reg _T_137 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 141:24] + _T_137 <= fb_write_ns @[el2_ifu_ifc_ctrl.scala 141:24] + fb_write_f <= _T_137 @[el2_ifu_ifc_ctrl.scala 141:14] + node _T_138 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctrl.scala 144:26] + node _T_139 = or(_T_138, io.exu_flush_final) @[el2_ifu_ifc_ctrl.scala 144:47] + node _T_140 = not(_T_139) @[el2_ifu_ifc_ctrl.scala 144:5] + node _T_141 = and(fb_full_f, _T_140) @[el2_ifu_ifc_ctrl.scala 143:75] + node _T_142 = or(_T_141, dma_stall) @[el2_ifu_ifc_ctrl.scala 144:70] + node _T_143 = and(io.ifc_fetch_req_bf_raw, _T_142) @[el2_ifu_ifc_ctrl.scala 143:60] + node _T_144 = or(wfm, _T_143) @[el2_ifu_ifc_ctrl.scala 143:33] + io.ifu_pmu_fetch_stall <= _T_144 @[el2_ifu_ifc_ctrl.scala 143:26] + node _T_145 = cat(io.ifc_fetch_addr_bf, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_146 = bits(_T_145, 31, 28) @[el2_lib.scala 204:25] + node iccm_acc_in_region_bf = eq(_T_146, UInt<4>("h0e")) @[el2_lib.scala 204:47] + node _T_147 = bits(_T_145, 31, 16) @[el2_lib.scala 207:14] + node iccm_acc_in_range_bf = eq(_T_147, UInt<16>("h0ee00")) @[el2_lib.scala 207:29] + io.ifc_iccm_access_bf <= iccm_acc_in_range_bf @[el2_ifu_ifc_ctrl.scala 150:25] + node _T_148 = bits(io.ifc_fetch_addr_bf, 30, 27) @[el2_ifu_ifc_ctrl.scala 151:78] + node _T_149 = cat(_T_148, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_150 = dshr(io.dec_tlu_mrac_ff, _T_149) @[el2_ifu_ifc_ctrl.scala 151:53] + node _T_151 = bits(_T_150, 0, 0) @[el2_ifu_ifc_ctrl.scala 151:53] + node _T_152 = not(_T_151) @[el2_ifu_ifc_ctrl.scala 151:34] + io.ifc_fetch_uncacheable_bf <= _T_152 @[el2_ifu_ifc_ctrl.scala 151:31] + reg _T_153 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctrl.scala 155:32] + _T_153 <= io.ifc_fetch_req_bf @[el2_ifu_ifc_ctrl.scala 155:32] + io.ifc_fetch_req_f <= _T_153 @[el2_ifu_ifc_ctrl.scala 155:22] + node _T_154 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctrl.scala 158:88] + reg _T_155 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_154 : @[Reg.scala 28:19] + _T_155 <= io.ifc_fetch_addr_bf @[Reg.scala 28:23] + skip @[Reg.scala 28:19] + io.ifc_fetch_addr_f <= _T_155 @[el2_ifu_ifc_ctrl.scala 158:23] diff --git a/el2_ifu_ifc_ctrl.v b/el2_ifu_ifc_ctrl.v index 52b9fcb4..67e08eff 100644 --- a/el2_ifu_ifc_ctrl.v +++ b/el2_ifu_ifc_ctrl.v @@ -17,7 +17,7 @@ module el2_ifu_ifc_ctrl( input io_ic_dma_active, input io_ic_write_stall, input io_dma_iccm_stall_any, - input [30:0] io_dec_tlu_mrac_ff, + input [31:0] io_dec_tlu_mrac_ff, output [30:0] io_ifc_fetch_addr_f, output [30:0] io_ifc_fetch_addr_bf, output io_ifc_fetch_req_f, @@ -27,7 +27,8 @@ 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_ifc_dma_access_ok, + output [30:0] io_test_out ); `ifdef RANDOMIZE_REG_INIT reg [31:0] _RAND_0; @@ -35,77 +36,114 @@ module el2_ifu_ifc_ctrl( reg [31:0] _RAND_2; reg [31:0] _RAND_3; reg [31:0] _RAND_4; + reg [31:0] _RAND_5; `endif // RANDOMIZE_REG_INIT - reg dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 75:37] - wire dma_stall = io_ic_dma_active | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 76:36] - wire _T_1 = ~io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 79:23] - wire _T_2 = ~io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 79:46] - wire _T_3 = ~io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 79:68] - wire _T_4 = _T_2 | _T_3; // @[el2_ifu_ifc_ctrl.scala 79:66] - wire sel_last_addr_bf = _T_1 & _T_4; // @[el2_ifu_ifc_ctrl.scala 79:43] - wire _T_7 = _T_1 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 80:43] - wire _T_8 = _T_7 & io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 80:64] - wire sel_btb_addr_bf = _T_8 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 80:88] - wire _T_12 = ~io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 81:66] - wire _T_13 = _T_7 & _T_12; // @[el2_ifu_ifc_ctrl.scala 81:64] - wire sel_next_addr_bf = _T_13 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 81:89] - wire [30:0] _T_16 = io_ifc_fetch_addr_f + 31'h2; // @[el2_ifu_ifc_ctrl.scala 84:42] - wire [30:0] _GEN_1 = {{30'd0}, io_ifc_fetch_addr_f[0]}; // @[el2_ifu_ifc_ctrl.scala 84:48] - wire [30:0] _T_20 = _T_16 | _GEN_1; // @[el2_ifu_ifc_ctrl.scala 84:48] - wire [30:0] _T_25 = io_exu_flush_final ? io_exu_flush_path_final : 31'h0; // @[Mux.scala 27:72] - wire [30:0] _T_26 = sel_last_addr_bf ? io_ifc_fetch_addr_f : 31'h0; // @[Mux.scala 27:72] - wire [30:0] _T_27 = sel_btb_addr_bf ? io_ifu_bp_btb_target_f : 31'h0; // @[Mux.scala 27:72] - wire [31:0] fetch_addr_next = {{1'd0}, _T_20}; // @[el2_ifu_ifc_ctrl.scala 84:19] - wire [31:0] _T_28 = sel_next_addr_bf ? fetch_addr_next : 32'h0; // @[Mux.scala 27:72] - wire [30:0] _T_29 = _T_25 | _T_26; // @[Mux.scala 27:72] - wire [30:0] _T_30 = _T_29 | _T_27; // @[Mux.scala 27:72] - wire [31:0] _GEN_2 = {{1'd0}, _T_30}; // @[Mux.scala 27:72] - wire [31:0] _T_31 = _GEN_2 | _T_28; // @[Mux.scala 27:72] - wire _T_33 = io_exu_flush_final | io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 95:88] - reg [30:0] _T_34; // @[Reg.scala 27:20] - reg [1:0] state; // @[el2_ifu_ifc_ctrl.scala 117:19] + reg dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 70:34] + wire dma_stall = io_ic_dma_active | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctrl.scala 69:36] + wire _T_2 = ~io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 74:23] + wire _T_3 = ~io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 74:46] + wire _T_4 = ~io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 74:68] + wire _T_5 = _T_3 | _T_4; // @[el2_ifu_ifc_ctrl.scala 74:66] + wire sel_last_addr_bf = _T_2 & _T_5; // @[el2_ifu_ifc_ctrl.scala 74:43] + wire _T_8 = _T_2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 75:43] + wire _T_9 = _T_8 & io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 75:64] + wire sel_btb_addr_bf = _T_9 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 75:88] + wire _T_13 = ~io_ifu_bp_hit_taken_f; // @[el2_ifu_ifc_ctrl.scala 76:66] + wire _T_14 = _T_8 & _T_13; // @[el2_ifu_ifc_ctrl.scala 76:64] + wire sel_next_addr_bf = _T_14 & io_ic_hit_f; // @[el2_ifu_ifc_ctrl.scala 76:89] + wire [30:0] _T_20 = io_exu_flush_final ? io_exu_flush_path_final : 31'h0; // @[Mux.scala 27:72] + wire [30:0] _T_21 = sel_last_addr_bf ? io_ifc_fetch_addr_f : 31'h0; // @[Mux.scala 27:72] + wire [30:0] _T_22 = sel_btb_addr_bf ? io_ifu_bp_btb_target_f : 31'h0; // @[Mux.scala 27:72] + wire [29:0] _T_30 = io_ifc_fetch_addr_f[30:1] + 30'h1; // @[el2_ifu_ifc_ctrl.scala 88:52] + wire [29:0] _GEN_1 = {{29'd0}, io_ifc_fetch_addr_f[0]}; // @[el2_ifu_ifc_ctrl.scala 88:58] + wire [29:0] _T_34 = _T_30 | _GEN_1; // @[el2_ifu_ifc_ctrl.scala 88:58] + wire [31:0] fetch_addr_next = {{2'd0}, _T_34}; // @[el2_ifu_ifc_ctrl.scala 88:19] + wire [31:0] _T_23 = sel_next_addr_bf ? fetch_addr_next : 32'h0; // @[Mux.scala 27:72] + wire [30:0] _T_24 = _T_20 | _T_21; // @[Mux.scala 27:72] + wire [30:0] _T_25 = _T_24 | _T_22; // @[Mux.scala 27:72] + wire [31:0] _GEN_2 = {{1'd0}, _T_25}; // @[Mux.scala 27:72] + wire [31:0] _T_26 = _GEN_2 | _T_23; // @[Mux.scala 27:72] + reg [1:0] state; // @[el2_ifu_ifc_ctrl.scala 113:19] wire idle = state == 2'h0; // @[el2_ifu_ifc_ctrl.scala 136:17] - reg [30:0] _T_36; // @[el2_ifu_ifc_ctrl.scala 99:32] - wire _T_37 = io_ifu_fb_consume2 | io_ifu_fb_consume1; // @[el2_ifu_ifc_ctrl.scala 101:91] - wire _T_38 = ~_T_37; // @[el2_ifu_ifc_ctrl.scala 101:70] - wire [3:0] fb_write_ns = {{3'd0}, io_exu_flush_final}; // @[Mux.scala 27:72] + wire _T_36 = io_ifu_fb_consume2 | io_ifu_fb_consume1; // @[el2_ifu_ifc_ctrl.scala 95:91] + wire _T_37 = ~_T_36; // @[el2_ifu_ifc_ctrl.scala 95:70] + wire [3:0] _T_122 = io_exu_flush_final ? 4'h1 : 4'h0; // @[Mux.scala 27:72] + wire _T_82 = ~io_ifu_fb_consume2; // @[el2_ifu_ifc_ctrl.scala 121:38] + wire _T_83 = io_ifu_fb_consume1 & _T_82; // @[el2_ifu_ifc_ctrl.scala 121:36] + wire _T_49 = io_ifc_fetch_req_f & _T_4; // @[el2_ifu_ifc_ctrl.scala 100:32] + wire miss_f = _T_49 & _T_2; // @[el2_ifu_ifc_ctrl.scala 100:47] + wire _T_85 = _T_3 | miss_f; // @[el2_ifu_ifc_ctrl.scala 121:81] + wire _T_86 = _T_83 & _T_85; // @[el2_ifu_ifc_ctrl.scala 121:58] + wire _T_87 = io_ifu_fb_consume2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 122:25] + wire fb_right = _T_86 | _T_87; // @[el2_ifu_ifc_ctrl.scala 121:92] + wire _T_99 = _T_2 & fb_right; // @[el2_ifu_ifc_ctrl.scala 128:16] + reg [3:0] fb_write_f; // @[el2_ifu_ifc_ctrl.scala 141:24] + wire [3:0] _T_102 = {1'h0,fb_write_f[3:1]}; // @[Cat.scala 29:58] + wire [3:0] _T_123 = _T_99 ? _T_102 : 4'h0; // @[Mux.scala 27:72] + wire [3:0] _T_127 = _T_122 | _T_123; // @[Mux.scala 27:72] + wire fb_right2 = io_ifu_fb_consume2 & _T_85; // @[el2_ifu_ifc_ctrl.scala 124:36] + wire _T_104 = _T_2 & fb_right2; // @[el2_ifu_ifc_ctrl.scala 129:16] + wire [3:0] _T_107 = {2'h0,fb_write_f[3:2]}; // @[Cat.scala 29:58] + wire [3:0] _T_124 = _T_104 ? _T_107 : 4'h0; // @[Mux.scala 27:72] + wire [3:0] _T_128 = _T_127 | _T_124; // @[Mux.scala 27:72] + wire _T_92 = io_ifu_fb_consume1 | io_ifu_fb_consume2; // @[el2_ifu_ifc_ctrl.scala 125:56] + wire _T_93 = ~_T_92; // @[el2_ifu_ifc_ctrl.scala 125:35] + wire _T_94 = io_ifc_fetch_req_f & _T_93; // @[el2_ifu_ifc_ctrl.scala 125:33] + wire _T_95 = ~miss_f; // @[el2_ifu_ifc_ctrl.scala 125:80] + wire fb_left = _T_94 & _T_95; // @[el2_ifu_ifc_ctrl.scala 125:78] + wire _T_109 = _T_2 & fb_left; // @[el2_ifu_ifc_ctrl.scala 130:16] + wire [3:0] _T_112 = {fb_write_f[2:0],1'h0}; // @[Cat.scala 29:58] + wire [3:0] _T_125 = _T_109 ? _T_112 : 4'h0; // @[Mux.scala 27:72] + wire [3:0] _T_129 = _T_128 | _T_125; // @[Mux.scala 27:72] + wire _T_114 = ~fb_right; // @[el2_ifu_ifc_ctrl.scala 131:18] + wire _T_115 = _T_2 & _T_114; // @[el2_ifu_ifc_ctrl.scala 131:16] + wire _T_116 = ~fb_right2; // @[el2_ifu_ifc_ctrl.scala 131:30] + wire _T_117 = _T_115 & _T_116; // @[el2_ifu_ifc_ctrl.scala 131:28] + wire _T_118 = ~fb_left; // @[el2_ifu_ifc_ctrl.scala 131:43] + wire _T_119 = _T_117 & _T_118; // @[el2_ifu_ifc_ctrl.scala 131:41] + wire [3:0] _T_126 = _T_119 ? fb_write_f : 4'h0; // @[Mux.scala 27:72] + wire [3:0] fb_write_ns = _T_129 | _T_126; // @[Mux.scala 27:72] wire fb_full_f_ns = fb_write_ns[3]; // @[el2_ifu_ifc_ctrl.scala 139:30] - wire _T_39 = fb_full_f_ns & _T_38; // @[el2_ifu_ifc_ctrl.scala 101:68] - wire _T_40 = ~_T_39; // @[el2_ifu_ifc_ctrl.scala 101:53] - wire _T_41 = io_ifc_fetch_req_bf_raw & _T_40; // @[el2_ifu_ifc_ctrl.scala 101:51] - wire _T_42 = ~dma_stall; // @[el2_ifu_ifc_ctrl.scala 102:5] - wire _T_43 = _T_41 & _T_42; // @[el2_ifu_ifc_ctrl.scala 101:114] - wire _T_44 = ~io_ic_write_stall; // @[el2_ifu_ifc_ctrl.scala 102:18] - wire _T_45 = _T_43 & _T_44; // @[el2_ifu_ifc_ctrl.scala 102:16] - wire _T_46 = ~io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 102:39] - wire goto_idle = io_exu_flush_final & io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 106:35] - wire _T_61 = io_exu_flush_final & _T_46; // @[el2_ifu_ifc_ctrl.scala 110:36] - wire leave_idle = _T_61 & idle; // @[el2_ifu_ifc_ctrl.scala 110:67] - wire _T_68 = ~goto_idle; // @[el2_ifu_ifc_ctrl.scala 112:55] - wire _T_76 = _T_68 & leave_idle; // @[el2_ifu_ifc_ctrl.scala 115:34] - wire _T_79 = state[0] & _T_68; // @[el2_ifu_ifc_ctrl.scala 115:60] - wire next_state_0 = _T_76 | _T_79; // @[el2_ifu_ifc_ctrl.scala 115:48] + wire _T_38 = fb_full_f_ns & _T_37; // @[el2_ifu_ifc_ctrl.scala 95:68] + wire _T_39 = ~_T_38; // @[el2_ifu_ifc_ctrl.scala 95:53] + wire _T_40 = io_ifc_fetch_req_bf_raw & _T_39; // @[el2_ifu_ifc_ctrl.scala 95:51] + wire _T_41 = ~dma_stall; // @[el2_ifu_ifc_ctrl.scala 96:5] + wire _T_42 = _T_40 & _T_41; // @[el2_ifu_ifc_ctrl.scala 95:114] + wire _T_43 = ~io_ic_write_stall; // @[el2_ifu_ifc_ctrl.scala 96:18] + wire _T_44 = _T_42 & _T_43; // @[el2_ifu_ifc_ctrl.scala 96:16] + wire _T_45 = ~io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 96:39] + wire fetch_bf_en = io_exu_flush_final | io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctrl.scala 98:37] + wire goto_idle = io_exu_flush_final & io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctrl.scala 104:35] + wire _T_61 = io_exu_flush_final & _T_45; // @[el2_ifu_ifc_ctrl.scala 106:36] + wire leave_idle = _T_61 & idle; // @[el2_ifu_ifc_ctrl.scala 106:67] + wire _T_68 = ~goto_idle; // @[el2_ifu_ifc_ctrl.scala 108:55] + wire _T_76 = _T_68 & leave_idle; // @[el2_ifu_ifc_ctrl.scala 111:34] + wire _T_79 = state[0] & _T_68; // @[el2_ifu_ifc_ctrl.scala 111:60] + wire next_state_0 = _T_76 | _T_79; // @[el2_ifu_ifc_ctrl.scala 111:48] wire [1:0] _T_80 = {next_state_0,next_state_0}; // @[Cat.scala 29:58] wire wfm = state == 2'h3; // @[el2_ifu_ifc_ctrl.scala 137:16] reg fb_full_f; // @[el2_ifu_ifc_ctrl.scala 140:26] - wire _T_136 = _T_37 | io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 143:47] - wire _T_137 = ~_T_136; // @[el2_ifu_ifc_ctrl.scala 143:5] - wire _T_138 = fb_full_f & _T_137; // @[el2_ifu_ifc_ctrl.scala 142:75] - wire _T_139 = _T_138 | dma_stall; // @[el2_ifu_ifc_ctrl.scala 143:70] - wire _T_140 = io_ifc_fetch_req_bf_raw & _T_139; // @[el2_ifu_ifc_ctrl.scala 142:60] - wire [31:0] _T_142 = {io_ifc_fetch_addr_bf,1'h0}; // @[Cat.scala 29:58] - wire [4:0] _T_146 = {io_ifc_fetch_addr_bf[30:27],1'h0}; // @[Cat.scala 29:58] - wire [30:0] _T_147 = io_dec_tlu_mrac_ff >> _T_146; // @[el2_ifu_ifc_ctrl.scala 150:53] - assign io_ifc_fetch_addr_f = _T_34; // @[el2_ifu_ifc_ctrl.scala 64:23 el2_ifu_ifc_ctrl.scala 95:23] - assign io_ifc_fetch_addr_bf = _T_31[30:0]; // @[el2_ifu_ifc_ctrl.scala 65:24 el2_ifu_ifc_ctrl.scala 89:24] - assign io_ifc_fetch_req_f = _T_36[0]; // @[el2_ifu_ifc_ctrl.scala 66:22 el2_ifu_ifc_ctrl.scala 99:22] - assign io_ifu_pmu_fetch_stall = wfm | _T_140; // @[el2_ifu_ifc_ctrl.scala 67:26 el2_ifu_ifc_ctrl.scala 142:26] - assign io_ifc_fetch_uncacheable_bf = ~_T_147[0]; // @[el2_ifu_ifc_ctrl.scala 68:31 el2_ifu_ifc_ctrl.scala 150:31] - assign io_ifc_fetch_req_bf = _T_45 & _T_46; // @[el2_ifu_ifc_ctrl.scala 69:23 el2_ifu_ifc_ctrl.scala 101:23] - assign io_ifc_fetch_req_bf_raw = ~idle; // @[el2_ifu_ifc_ctrl.scala 70:27 el2_ifu_ifc_ctrl.scala 97:27] - assign io_ifc_iccm_access_bf = _T_142[31:16] == 16'hee00; // @[el2_ifu_ifc_ctrl.scala 71:25 el2_ifu_ifc_ctrl.scala 149:25] - assign io_ifc_region_acc_fault_bf = 1'h0; // @[el2_ifu_ifc_ctrl.scala 72:30] - assign io_ifc_dma_access_ok = 1'h0; // @[el2_ifu_ifc_ctrl.scala 73:24] + wire _T_139 = _T_36 | io_exu_flush_final; // @[el2_ifu_ifc_ctrl.scala 144:47] + wire _T_140 = ~_T_139; // @[el2_ifu_ifc_ctrl.scala 144:5] + wire _T_141 = fb_full_f & _T_140; // @[el2_ifu_ifc_ctrl.scala 143:75] + wire _T_142 = _T_141 | dma_stall; // @[el2_ifu_ifc_ctrl.scala 144:70] + wire _T_143 = io_ifc_fetch_req_bf_raw & _T_142; // @[el2_ifu_ifc_ctrl.scala 143:60] + wire [31:0] _T_145 = {io_ifc_fetch_addr_bf,1'h0}; // @[Cat.scala 29:58] + wire [4:0] _T_149 = {io_ifc_fetch_addr_bf[30:27],1'h0}; // @[Cat.scala 29:58] + wire [31:0] _T_150 = io_dec_tlu_mrac_ff >> _T_149; // @[el2_ifu_ifc_ctrl.scala 151:53] + reg _T_153; // @[el2_ifu_ifc_ctrl.scala 155:32] + reg [30:0] _T_155; // @[Reg.scala 27:20] + assign io_ifc_fetch_addr_f = _T_155; // @[el2_ifu_ifc_ctrl.scala 158:23] + assign io_ifc_fetch_addr_bf = _T_26[30:0]; // @[el2_ifu_ifc_ctrl.scala 79:24] + assign io_ifc_fetch_req_f = _T_153; // @[el2_ifu_ifc_ctrl.scala 155:22] + assign io_ifu_pmu_fetch_stall = wfm | _T_143; // @[el2_ifu_ifc_ctrl.scala 143:26] + assign io_ifc_fetch_uncacheable_bf = ~_T_150[0]; // @[el2_ifu_ifc_ctrl.scala 151:31] + assign io_ifc_fetch_req_bf = _T_44 & _T_45; // @[el2_ifu_ifc_ctrl.scala 95:23] + assign io_ifc_fetch_req_bf_raw = ~idle; // @[el2_ifu_ifc_ctrl.scala 93:27] + assign io_ifc_iccm_access_bf = _T_145[31:16] == 16'hee00; // @[el2_ifu_ifc_ctrl.scala 150:25] + assign io_ifc_region_acc_fault_bf = 1'h0; // @[el2_ifu_ifc_ctrl.scala 40:30] + assign io_ifc_dma_access_ok = 1'h0; // @[el2_ifu_ifc_ctrl.scala 41:24] + assign io_test_out = io_ifc_fetch_addr_bf; // @[el2_ifu_ifc_ctrl.scala 84:15] `ifdef RANDOMIZE_GARBAGE_ASSIGN `define RANDOMIZE `endif @@ -144,13 +182,15 @@ initial begin _RAND_0 = {1{`RANDOM}}; dma_iccm_stall_any_f = _RAND_0[0:0]; _RAND_1 = {1{`RANDOM}}; - _T_34 = _RAND_1[30:0]; + state = _RAND_1[1:0]; _RAND_2 = {1{`RANDOM}}; - state = _RAND_2[1:0]; + fb_write_f = _RAND_2[3:0]; _RAND_3 = {1{`RANDOM}}; - _T_36 = _RAND_3[30:0]; + fb_full_f = _RAND_3[0:0]; _RAND_4 = {1{`RANDOM}}; - fb_full_f = _RAND_4[0:0]; + _T_153 = _RAND_4[0:0]; + _RAND_5 = {1{`RANDOM}}; + _T_155 = _RAND_5[30:0]; `endif // RANDOMIZE_REG_INIT `endif // RANDOMIZE end // initial @@ -164,25 +204,30 @@ end // initial end else begin dma_iccm_stall_any_f <= io_dma_iccm_stall_any; end - if (reset) begin - _T_34 <= 31'h0; - end else if (_T_33) begin - _T_34 <= io_ifc_fetch_addr_bf; - end if (reset) begin state <= 2'h0; end else begin state <= _T_80; end if (reset) begin - _T_36 <= 31'h0; + fb_write_f <= 4'h0; end else begin - _T_36 <= io_ifc_fetch_addr_bf; + fb_write_f <= fb_write_ns; end if (reset) begin fb_full_f <= 1'h0; end else begin fb_full_f <= fb_full_f_ns; end + if (reset) begin + _T_153 <= 1'h0; + end else begin + _T_153 <= io_ifc_fetch_req_bf; + end + if (reset) begin + _T_155 <= 31'h0; + end else if (fetch_bf_en) begin + _T_155 <= io_ifc_fetch_addr_bf; + end end endmodule diff --git a/encoder_generator.anno.json b/encoder_generator.anno.json new file mode 100644 index 00000000..f66478f1 --- /dev/null +++ b/encoder_generator.anno.json @@ -0,0 +1,25 @@ +[ + { + "class":"firrtl.transforms.CombinationalPath", + "sink":"~encoder_generator|encoder_generator>io_out", + "sources":[ + "~encoder_generator|encoder_generator>io_in" + ] + }, + { + "class":"firrtl.EmitCircuitAnnotation", + "emitter":"firrtl.VerilogEmitter" + }, + { + "class":"firrtl.options.TargetDirAnnotation", + "directory":"." + }, + { + "class":"firrtl.options.OutputAnnotationFileAnnotation", + "file":"encoder_generator" + }, + { + "class":"firrtl.transforms.BlackBoxTargetDirAnno", + "targetDir":"." + } +] \ No newline at end of file diff --git a/encoder_generator.fir b/encoder_generator.fir new file mode 100644 index 00000000..6a1b5292 --- /dev/null +++ b/encoder_generator.fir @@ -0,0 +1,22 @@ +;buildInfoPackage: chisel3, version: 3.3.1, scalaVersion: 2.12.11, sbtVersion: 1.3.10 +circuit encoder_generator : + module encoder_generator : + input clock : Clock + input reset : UInt<1> + output io : {flip in : UInt<4>, out : UInt<2>} + + node _T = bits(io.in, 0, 0) @[Mux.scala 29:36] + node _T_1 = bits(io.in, 1, 1) @[Mux.scala 29:36] + node _T_2 = bits(io.in, 2, 2) @[Mux.scala 29:36] + node _T_3 = bits(io.in, 3, 3) @[Mux.scala 29:36] + node _T_4 = mux(_T, UInt<1>("h00"), UInt<1>("h00")) @[Mux.scala 27:72] + node _T_5 = mux(_T_1, UInt<1>("h01"), UInt<1>("h00")) @[Mux.scala 27:72] + node _T_6 = mux(_T_2, UInt<2>("h02"), UInt<1>("h00")) @[Mux.scala 27:72] + node _T_7 = mux(_T_3, UInt<2>("h03"), UInt<1>("h00")) @[Mux.scala 27:72] + node _T_8 = or(_T_4, _T_5) @[Mux.scala 27:72] + node _T_9 = or(_T_8, _T_6) @[Mux.scala 27:72] + node _T_10 = or(_T_9, _T_7) @[Mux.scala 27:72] + wire _T_11 : UInt<2> @[Mux.scala 27:72] + _T_11 <= _T_10 @[Mux.scala 27:72] + io.out <= _T_11 @[el2_ifu_bp_ctl.scala 198:10] + diff --git a/encoder_generator.v b/encoder_generator.v new file mode 100644 index 00000000..823dd657 --- /dev/null +++ b/encoder_generator.v @@ -0,0 +1,12 @@ +module encoder_generator( + input clock, + input reset, + input [3:0] io_in, + output [1:0] io_out +); + wire [1:0] _T_6 = io_in[2] ? 2'h2 : 2'h0; // @[Mux.scala 27:72] + wire [1:0] _T_7 = io_in[3] ? 2'h3 : 2'h0; // @[Mux.scala 27:72] + wire [1:0] _GEN_0 = {{1'd0}, io_in[1]}; // @[Mux.scala 27:72] + wire [1:0] _T_9 = _GEN_0 | _T_6; // @[Mux.scala 27:72] + assign io_out = _T_9 | _T_7; // @[el2_ifu_bp_ctl.scala 198:10] +endmodule diff --git a/src/main/scala/ifu/el2_ifu_bp_ctl.scala b/src/main/scala/ifu/el2_ifu_bp_ctl.scala index fef6da21..13a3c751 100644 --- a/src/main/scala/ifu/el2_ifu_bp_ctl.scala +++ b/src/main/scala/ifu/el2_ifu_bp_ctl.scala @@ -95,8 +95,11 @@ class el2_ifu_bp_ctl extends Module with el2_lib { val btb_bank0_rd_data_way1_f = WireInit(UInt((TAG_START+1).W), 0.U) val btb_bank0_rd_data_way0_p1_f = WireInit(UInt((TAG_START+1).W), 0.U) val btb_bank0_rd_data_way1_p1_f = WireInit(UInt((TAG_START+1).W), 0.U) - + val eoc_mask = WireInit(Bool(), 0.U) + val btb_lru_b0_f = WireInit(UInt(LRU_SIZE.W), init = 0.U) val dec_tlu_way_wb = WireInit(Bool(), 0.U) + + // Hash the first PC val btb_rd_addr_f = el2_btb_addr_hash(io.ifc_fetch_addr_f) // Second pc = pc +4 @@ -141,8 +144,77 @@ class el2_ifu_bp_ctl extends Module with el2_lib { val tag_match_way1_p1_f = btb_bank0_rd_data_way1_p1_f(BV) & (btb_bank0_rd_data_way1_p1_f(TAG_START,17) === fetch_rd_tag_p1_f) & ~(dec_tlu_way_wb_f & branch_error_bank_conflict_f) & io.ifc_fetch_req_f & ~leak_one_f + + // Reordering to avoid multiple hit + val tag_match_way0_expanded_f = Cat(tag_match_way0_f & (btb_bank0_rd_data_way0_f(BOFF) ^ btb_bank0_rd_data_way0_f(PC4)), + tag_match_way0_f & ~(btb_bank0_rd_data_way0_f(BOFF) ^ btb_bank0_rd_data_way0_f(PC4))) + + val tag_match_way1_expanded_f = Cat(tag_match_way1_f & (btb_bank0_rd_data_way1_f(BOFF) ^ btb_bank0_rd_data_way1_f(PC4)), + tag_match_way1_f & ~(btb_bank0_rd_data_way1_f(BOFF) ^ btb_bank0_rd_data_way1_f(PC4))) + + + val tag_match_way0_expanded_p1_f = Cat(tag_match_way0_p1_f & (btb_bank0_rd_data_way0_p1_f(BOFF) ^ btb_bank0_rd_data_way0_p1_f(PC4)), + tag_match_way0_p1_f & ~(btb_bank0_rd_data_way0_p1_f(BOFF) ^ btb_bank0_rd_data_way0_p1_f(PC4))) + + val tag_match_way1_expanded_p1_f = Cat(tag_match_way1_p1_f & (btb_bank0_rd_data_way1_p1_f(BOFF) ^ btb_bank0_rd_data_way1_p1_f(PC4)), + tag_match_way1_p1_f & ~(btb_bank0_rd_data_way1_p1_f(BOFF) ^ btb_bank0_rd_data_way1_p1_f(PC4))) + + val wayhit_f = tag_match_way0_expanded_f | tag_match_way1_expanded_f + + val wayhit_p1_f = tag_match_way0_expanded_p1_f | tag_match_way1_expanded_p1_f + + // Chopping off the ways that had a hit + val btb_bank0e_rd_data_f = Mux1H(Seq(tag_match_way0_expanded_f(0).asBool->btb_bank0_rd_data_way0_f, + tag_match_way1_expanded_f(0).asBool->btb_bank0_rd_data_way1_f)) + + val btb_bank0o_rd_data_f = Mux1H(Seq(tag_match_way0_expanded_f(1).asBool->btb_bank0_rd_data_way0_f, + tag_match_way1_expanded_f(1).asBool->btb_bank0_rd_data_way1_f)) + + val btb_bank0e_rd_data_p1_f = Mux1H(Seq(tag_match_way0_expanded_p1_f(0).asBool->btb_bank0_rd_data_way0_p1_f, + tag_match_way1_expanded_p1_f(1).asBool->btb_bank0_rd_data_way1_p1_f)) + + // Making virtual banks, made bit 1 of the pc to check + val btb_vbank0_rd_data_f = Mux1H(Seq(~io.ifc_fetch_addr_f(1)->btb_bank0e_rd_data_f, + io.ifc_fetch_addr_f(1)->btb_bank0o_rd_data_f)) + + val btb_vbank1_rd_data_f = Mux1H(Seq(~io.ifc_fetch_addr_f(0)->btb_bank0o_rd_data_f, + io.ifc_fetch_addr_f(0)->btb_bank0e_rd_data_p1_f)) + + // Implimenting the LRU for a 2-way BTB + val mp_wrindex_dec = 1.U(LRU_SIZE) << exu_mp_addr + val fetch_wrindex_dec = 1.U(LRU_SIZE) << btb_rd_addr_f + val fetch_wrindex_p1_dec = 1.U(LRU_SIZE) << btb_rd_addr_p1_f + val mp_wrlru_b0 = mp_wrindex_dec & Fill(LRU_SIZE, exu_mp_valid) + + val vwayhit_f = Mux1H(Seq(~io.ifc_fetch_addr_f(1).asBool->wayhit_f, + io.ifc_fetch_addr_f(1).asBool->Cat(wayhit_p1_f(0), wayhit_f(1)))) & Cat(eoc_mask, 1.U(1.W)) + val lru_update_valid_f = (vwayhit_f(0) | vwayhit_f(1)) & io.ifc_fetch_req_f & ~leak_one_f + + val fetch_wrlru_b0 = fetch_wrindex_dec & Fill(fetch_wrindex_dec.getWidth, lru_update_valid_f) + val fetch_wrlru_p1_b0 = fetch_wrindex_p1_dec & Fill(fetch_wrindex_dec.getWidth, lru_update_valid_f) + + val btb_lru_b0_hold = ~mp_wrlru_b0 & ~fetch_wrlru_b0 + val use_mp_way = fetch_mp_collision_f + val use_mp_way_p1 = fetch_mp_collision_p1_f + + val btb_lru_b0_ns = Mux1H(Seq(~exu_mp_way.asBool->mp_wrlru_b0, + tag_match_way0_f.asBool->fetch_wrlru_b0,tag_match_way0_p1_f.asBool->fetch_wrlru_p1_b0)) | btb_lru_b0_hold & btb_lru_b0_f + + val btb_lru_rd_f = Mux(use_mp_way.asBool, exu_mp_way_f, (fetch_wrindex_dec & btb_lru_b0_f).orR) + val btb_lru_rd_p1_f = Mux(use_mp_way_p1.asBool, exu_mp_way_f, (fetch_wrindex_p1_dec & btb_lru_b0_f).orR) + + val btb_vlru_rd_f = Mux1H(Seq(~io.ifc_fetch_addr_f(1).asBool->Cat(btb_lru_rd_f, btb_lru_rd_f), + io.ifc_fetch_addr_f(1).asBool->Cat(btb_lru_rd_p1_f, btb_lru_rd_f))) + + val tag_match_vway1_expanded_f = Mux1H(Seq(~io.ifc_fetch_addr_f(1).asBool->tag_match_way1_expanded_f, + io.ifc_fetch_addr_f(1).asBool->Cat(tag_match_way1_expanded_p1_f(0),tag_match_way1_expanded_f(1)))) + + val way_raw = tag_match_vway1_expanded_f | (~vwayhit_f & btb_vlru_rd_f) + + //val btb_lru_b0_f = RegNext(btb_lru_b0_ns, init = 0.U) } + object ifu_bp extends App { println((new chisel3.stage.ChiselStage).emitVerilog(new el2_ifu_bp_ctl())) } diff --git a/src/main/scala/ifu/el2_ifu_compress.scala b/src/main/scala/ifu/el2_ifu_compress.scala index 70ad77d0..e913dbe7 100644 --- a/src/main/scala/ifu/el2_ifu_compress.scala +++ b/src/main/scala/ifu/el2_ifu_compress.scala @@ -2,7 +2,6 @@ package ifu import chisel3._ import chisel3.util._ -import lib.ExpandedInstruction class ExpandedInstruction extends Bundle { val bits = UInt(32.W) diff --git a/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala b/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala index 80831443..f7f40e67 100644 --- a/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala +++ b/src/main/scala/ifu/el2_ifu_ifc_ctrl.scala @@ -21,10 +21,11 @@ val io = IO(new Bundle{ val ic_dma_active = Input(Bool()) val ic_write_stall = Input(Bool()) val dma_iccm_stall_any = Input(Bool()) - val dec_tlu_mrac_ff = Input(UInt(31.W)) + val dec_tlu_mrac_ff = Input(UInt(32.W)) val ifc_fetch_addr_f = Output(UInt(31.W)) val ifc_fetch_addr_bf = Output(UInt(31.W)) + val ifc_fetch_req_f = Output(Bool()) val ifu_pmu_fetch_stall = Output(Bool()) val ifc_fetch_uncacheable_bf = Output(Bool()) @@ -33,14 +34,16 @@ 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 test_out = Output(UInt()) }) + 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) val fb_write_f = WireInit(UInt(4.W), init = 0.U) val fb_full_f_ns = WireInit(Bool(), init = 0.U) - //val fb_full_f = WireInit(Bool(), init = 0.U) val fb_right = WireInit(Bool(), init = 0.U) val fb_right2 = WireInit(Bool(), init = 0.U) val fb_left = WireInit(Bool(), init = 0.U) @@ -50,7 +53,7 @@ val io = IO(new Bundle{ val sel_btb_addr_bf = WireInit(Bool(), init = 0.U) val sel_next_addr_bf = WireInit(Bool(), init = 0.U) val miss_f = WireInit(Bool(), init = 0.U) - val miss_a = Wire(Bool()) + val miss_a = WireInit(Bool(), init = 0.U) val flush_fb = WireInit(Bool(), init = 0.U) val mb_empty_mod = WireInit(Bool(), init = 0.U) val goto_idle = WireInit(Bool(), init = 0.U) @@ -59,54 +62,45 @@ val io = IO(new Bundle{ val line_wrap = WireInit(Bool(), init = 0.U) //val fetch_addr_next_1 = WireInit(Bool(), init = 0.U) val state = WireInit(UInt(2.W), init = 0.U) + val dma_iccm_stall_any_f = WireInit(Bool(), init = 0.U) + val idle_E :: fetch_E :: stall_E :: wfm_E :: Nil = Enum(4) - io.ifc_fetch_addr_f := 0.U - io.ifc_fetch_addr_bf := 0.U - io.ifc_fetch_req_f := 0.U - io.ifu_pmu_fetch_stall := 0.U - io.ifc_fetch_uncacheable_bf := 0.U - io.ifc_fetch_req_bf := 0.U - io.ifc_fetch_req_bf_raw := 0.U - io.ifc_iccm_access_bf := 0.U - io.ifc_region_acc_fault_bf := 0.U - io.ifc_dma_access_ok := 0.U - - val dma_iccm_stall_any_f = RegNext(io.dma_iccm_stall_any, init=0.U) val dma_stall = io.ic_dma_active | dma_iccm_stall_any_f + dma_iccm_stall_any_f := RegNext(io.dma_iccm_stall_any, init=0.U) + miss_a := RegNext(miss_f, init=0.U) sel_last_addr_bf := ~io.exu_flush_final & (~io.ifc_fetch_req_f | ~io.ic_hit_f) sel_btb_addr_bf := ~io.exu_flush_final & io.ifc_fetch_req_f & io.ifu_bp_hit_taken_f & io.ic_hit_f sel_next_addr_bf := ~io.exu_flush_final & io.ifc_fetch_req_f & ~io.ifu_bp_hit_taken_f & io.ic_hit_f - - fetch_addr_next := (io.ifc_fetch_addr_f+2.U) | - Mux(line_wrap.asBool(), 0.U, io.ifc_fetch_addr_f(0)) - - // TODO: Make an assertion for the 1H-Mux under here io.ifc_fetch_addr_bf := Mux1H(Seq(io.exu_flush_final.asBool -> io.exu_flush_path_final, // Replay PC sel_last_addr_bf.asBool -> io.ifc_fetch_addr_f, // Hold the current PC sel_btb_addr_bf.asBool -> io.ifu_bp_btb_target_f, // Take the predicted PC sel_next_addr_bf.asBool -> fetch_addr_next)) // PC+4 + io.test_out := io.ifc_fetch_addr_bf - io.ifc_fetch_addr_f := RegEnable(io.ifc_fetch_addr_bf, init = 0.U, io.exu_flush_final|io.ifc_fetch_req_f) + line_wrap := 0.U//fetch_addr_next(ICACHE_TAG_INDEX_LO) ^ io.ifc_fetch_addr_f(ICACHE_TAG_INDEX_LO) + + fetch_addr_next := Cat((io.ifc_fetch_addr_f(30,1)+1.U) | + Mux(line_wrap.asBool(), 0.U, io.ifc_fetch_addr_f(0))) io.ifc_fetch_req_bf_raw := ~idle - io.ifc_fetch_req_f := RegNext(io.ifc_fetch_addr_bf, init=0.U) - io.ifc_fetch_req_bf := io.ifc_fetch_req_bf_raw & ~(fb_full_f_ns & ~(io.ifu_fb_consume2 | io.ifu_fb_consume1)) & ~dma_stall & ~io.ic_write_stall & ~io.dec_tlu_flush_noredir_wb + 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 - goto_idle := io.exu_flush_final & io.dec_tlu_flush_noredir_wb - mb_empty_mod := (io.ifu_ic_mb_empty | io.exu_flush_final) & ~dma_stall & ~miss_f & ~miss_a + 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 val next_state_1 = (~state(1) & state(0) & miss_f & ~goto_idle) | @@ -116,6 +110,9 @@ val io = IO(new Bundle{ state := RegNext(Cat(next_state_0, next_state_0), init = 0.U) + + + flush_fb := io.exu_flush_final fb_right := ( io.ifu_fb_consume1 & ~io.ifu_fb_consume2 & (~io.ifc_fetch_req_f | miss_f)) | @@ -124,29 +121,40 @@ val io = IO(new Bundle{ fb_right2 := (io.ifu_fb_consume2 & (~io.ifc_fetch_req_f | miss_f)) fb_left := io.ifc_fetch_req_f & ~(io.ifu_fb_consume1 | io.ifu_fb_consume2) & ~miss_f - fb_write_ns := Mux1H(Seq(io.exu_flush_final -> 1.U, + fb_write_ns := Mux1H(Seq(flush_fb.asBool -> 1.U(4.W), (~flush_fb & fb_right).asBool -> Cat(0.U(1.W), fb_write_f(3,1)), (~flush_fb & fb_right2).asBool -> Cat(0.U(2.W), fb_write_f(3,2)), (~flush_fb & fb_left).asBool -> Cat(fb_write_f(2,0), 0.U(1.W)), (~flush_fb & ~fb_right & ~fb_right2 & ~fb_left).asBool -> fb_write_f(3,0) )) - fb_full_f_ns := RegNext(fb_write_ns, init = 0.U) + fb_full_f_ns := RegNext(fb_write_ns(3), init = 0.U) - idle := state === idle_E - wfm := state === wfm_E + idle := state === 0.U(2.W) + wfm := state === 3.U(2.W) fb_full_f_ns := fb_write_ns(3) val fb_full_f = RegNext(fb_full_f_ns, init = 0.U) + fb_write_f := RegNext(fb_write_ns, 0.U) io.ifu_pmu_fetch_stall := wfm | (io.ifc_fetch_req_bf_raw & ( (fb_full_f & ~(io.ifu_fb_consume2 | io.ifu_fb_consume1 | io.exu_flush_final)) | dma_stall)) - val (iccm_acc_in_region_bf, iccm_acc_in_range_bf) = if(ICCM_ENABLE) + val (iccm_acc_in_region_bf, iccm_acc_in_range_bf) = if(ICCM_ENABLE) rvrangecheck(ICCM_SADR, ICCM_SIZE, Cat(io.ifc_fetch_addr_bf,0.U)) - else (0.U, 0.U) + else (0.U, 0.U) io.ifc_iccm_access_bf := iccm_acc_in_range_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) + + + io.ifc_fetch_addr_f := RegEnable(io.ifc_fetch_addr_bf, init = 0.U, io.exu_flush_final|io.ifc_fetch_req_f) } +object ifu_ifc extends App { + println((new chisel3.stage.ChiselStage).emitVerilog(new el2_ifu_ifc_ctrl())) +} \ No newline at end of file diff --git a/target/scala-2.12/classes/ifu/ExpandedInstruction.class b/target/scala-2.12/classes/ifu/ExpandedInstruction.class index 45e009e111ed3cfec0adfb8c6a70582b7709a236..37e0c81d31adbbbd8b6451eef4bdec299df43569 100644 GIT binary patch delta 79 zcmeAd=oi>1)fV4iF`sB$#ItNH!0MaYj)ERjuUu0V@$|WTdjkwrcu)x zjmpH}2RyaLXhy9WYDk+Bt>j1A8S|%Y`Xhc!ra#)r)TA@*G?{5W>H0}fbcc^(4I zCY-hD359G8Ql1jRy)q;IQLd2Z$HJ3X;mIjW#_U+(*;h8iOE4QZ;rVhSp{(-Fyfkf> z;+67{WK?p~JB)Mo2FawXPB~22XAeqdr4)Nz7W~G(hMV!g?xR&v{j|o^ZtS${a8dPf z3*K{>@K@D@dAkKRPZnGb9eD%IX7o7%IHT$iab@FzL&NV>Gd^;dB&%YgN+!%y__-DB z&M>!O?~n=Sv{FKgnp2l`gKbaUm<{&^O?a&3Vwb8S?p#jSr#W%VIjVc=NnlwjFo=j| zK%2{j=d?1Majn76H8X6EOq{OB7D@ar9Wp9{+%Bq8NBD`$1514le9jVl?lRzhg@>!u zi5W(>SyB~es$U((-46V+LWdu^t0jk0PX1CvE3@!-Z+2eRswdqz6t~#(*siCzpomL& z3JBK=eArV+c%8tDo*;MN&z>lEikh)Xv*Z*tYshoHGAe1}#+EC6Sy{|AalihmBKopi zXQC>fyfM{=^HmCYlawjNq9+r-t;!?2N!Smo3JJFge5XT(+nbE-B-?~RZ-6qq>}`@< zicv%?pR1U===D{&eK~}-C5-5C$ndK&hJC9kHXwFS`|=5g1zzlz@hhJPC%rm6^!a&( z;K=1Jh0D0@)dVRkaL(V!-S7p9@W@|>kNpO;1nS@o7%&^y$D8p=&upH6)v8g00<(J7GHBWDPQ+Ho1x2VNvKe7a|-z#oO?HG$h59HR3s}u{s`4 zU%}znh#Y6rtQ{Z6616hnZV}%;YaWw3c`@rk-!oTv z0uP@F@!qdob8ouFLd%HUOEvnah83PxmG`G3_qGPfT7D3tv`Mj&m^mP|HAn-be6emL zhTHN98ws0ns_iMlMah#FTy(#~U#omF$^%Na==4u*g-`cWwN30(Hh}-O^+!l$@6Q}OzD8QF-mAtlgKdrs( z6SOY1M{qX23nLvWtnJU@QHKq;+KW)R{s14r{Q72TG)3Cy6FE>iSMgC4cb?{3G2i*7 zw4FpF`I39O3JG_JelB+z3HK6q&>*;_F?zebE;A~-^ZA(I$WV7Vp}j*^TKOZ}KYWO5B_FU!P zMq}>`--F$K75G>0b9lekjdOjc_!R6L-jlyWqwrn)Z9|W=Unvt=royYSZ6Ful+@$jT zG!826Ml86ysf?`TSmgF=2yLv#o&go-HXcOICa3g0lH_IfruUMsS={k5+eHTayWfDU z0iSe0ajl3Ck{$nAtR8sLJ~SN66Y6E5|=IM*@g5>Sx48>mz5%Sf!$)S z;-k?8eu+e`5SO;jV0x$c6nwM~cLZ@VR5p_jc%A{UXar3G#s<-H~(?ix;yMfmHf zOHImKgREz-e@);{jTvxtoc= j$>P^nNL#;ro!w(^;El<)r*m00`vuEoxi`O<+?nw|xvm{@ delta 2525 zcmZuyYfPKh89pb64;nDxGZz!EjSapV@GTf)48$hDfB+^??w8O2NxQ5S(O8=%*|H=} zNR!ZzK1#bLjZ)ewD6G{;qR}7iBqHrc)=5oLRhl%ZTGmP1+DhBBRZFK%+g=}Bpw<3- ze$IQ|bDs0Q=Q)obe8?Ys$d}$K;#$02WaioUph(Yi@L7=_C8iu_cR|X#Y}-I~g_@^k zzQaN{Sj=T4rO}EXH!!2+L*9vOM+@)3IADAJ3XDa25V~ z1Ln+HLSb{YP}MN*7whrY5|tva%Se1fB%?TyGr1u$T|CGOaiQ6OBP9-Gm$Y+za-_$9 zOEh?+#3KyqmakXfaf=2S7Oya>nQO80Rt=^t0SH?WereJ3B0R8o>8o0O^o?0N=sRbv z#){2|KUodJq!!Xz1O8)4h0~_tCaS`SE}I|Cb`5Hr>3GHF;AY&mRSC0dkh$kvKGZlg zc+~F0LB}Xh!*3ix?6+FsbL!CLu=5fe7&PFbqYw*DBfRCCGgBYA$sS8~vjq1Ch|v+C zJioIR6)q26b!Ko2mK+9{Z7F!cl`i*t&!vOL<>Xem-^Vrsq4gXOPP;X@;|g*cMUBwA zjl!ndlV{Xm+-;+o=iS?dT_w)qLPX2b@E1>dR$A)%Y3!;y*#Rx(1!P{lG>34N#79eW z3D-%yR2txR{Gl|;9g;CtW)u#|7{nP*2Ik8ug;REEmFugreD0JT^_Az*%qr7Fc{W93 zRx@5MS1Fp%NgQ*fs|i^kjK_>1yf!i^H&ZB^j*By!tmY`}oWk3V}gc*#>CT&iB? ztk#y#U3BACxV;&K#^QQ(+7$S#3WmIylK0|aMQ%wEq{)lEHhBCxJoJTdn0_1lAzluzKMxoD(|iYh5-`FNnC4FqiiszaNBd`> zl5oB}=1QZ2j&0-0lk5~bgXL{Qd=}Xi{ro)kS4^QLXu!jYtsGE;Vfx-Cnf|aO9iO!4 z;$%>(yvX)3;Bv5uzlBeN)#7KgYpkOX;YuyeS8C8(8OBGIMR>c?fr5|$f2(xyo0zNA zBN%dVzm(D8PzIsIGc&~$#2W%MN))})sKMdU5yj7LvH&Kl7O@o8!4^KtgSZi%=auNL zUQw#p4_Fv;kL98);t&zlEcvG*+j#^_k#S_z=D}Ixz|Pt#9Idlrq4p4LwRT=hjC#xs zD443re{sT+qSi`L8L-r2#rbeC(zfeRTxaKXB(1MABce{qA(54e_+Bqw3#*i&5{q%W zS42sCiTV@#QJ7myxErCG_6D&jYF47`E{j3ipNmLzmVXDoiiSmtx>eqTDHh@_Yjq!u zjVLW_hPC4Nu{duh$%aI`>RA;_eKz50xhh_&;N5yHjT_|L=k9zmdbY{zwHG+hHGs<6?@1w z5;yr&doJNtd7i87dcwO1+vo+jaf51ib>#7JsgS{r5-9OvTPsX3C%-()N#Yek}ROqWn1h$CQfWbgYE8t~92=IOq^3Rt-u0vb12`-n8rl zb?l5dDb>#hGjtaQ6b)yI8MQ!?wGJ2Z z)8t=wCwbnHn(^^EQ2xjBlcZ(lzqg0Om}pQKgW*qf3Xvr2HA6)Zm^Rg z%1()8Hj|RiPUG|8*T^Z)jWqL1Nf%2OT6Sse1(`;-(ac64yTpFZF5~0TML5TFxU%~! z-XGK8z3^t#j?MC``1RO|GEX=9I=NYmcyrCk>S*6LrI(!@*Wryl4%`_}c$o#3i6fXF zckpY;HYdHzCa!(U%4Q~YxH{qB3mdGgTG6tF|6^tgI6c`YuCEzcg8upjE9+6Nv-@lj W*Y`GU&SL3Q)E1U?>&v~5Z~7m&zZNV2 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 92579f494745e03db62a526cbfb22c554a712ac5..e821a17f3a50fd88a46bd7e9e743c0623732de6f 100644 GIT binary patch literal 105737 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%0DXtj*^`LZ-)Soq?pwGQ%$L1Q7 z3-%yBtOq=9Pw;VX&Tg0s@k$9UTTpq-h==~OeOKnhnzgg~C@%bdTe>S6+huZGRZg>4 z>o=hsQpaOEoFMgAs?d*)DS_)ImUDE|lo5q3OLrwKgnDVJ*<~5tHhh|xu4a{YtJ533 zaDB^enAYgQ{;@)cuS!mv6}vj8uVUBu;hn2;+AMQ(*$u{`H0vFtxa2*G{vm$xa7G=!L&GVBJCv}ga_2cx{&&vEh?>u^aPPLRe%WE2P zTD^;QK%CgVp!^$z1iYST^^qJqA|J~G+IwtsyM4!mDe9~axF3My$cOf}1Isga{s_fc zq82vKw<~R3a6f^^Ges?I!s~^jDyI$lyK%8&@)}F6{WGDw@VHW9*X1^LTPtZfKvZew00_#+vxnp3TxW%&XseT`dE34!gwkha=TX)ZJQ9kD#u$~t8Bsg_3UKjID063 z(Kc%~&A%Z`{KUR9jwOalt5Cm#^J4%<62IFlu<$s9DILTcQ>;t%Vy{ zt-Z|X95u7EuDWtd^%`1kDMHlHcl$x%xEm1 z*WU*B4=wHNyiBz$)y_A#oIv@aR_66IKz!M&XLZy3t*l(L;C`@tUJJxk zu)$rhgSJ15htH=Se_TVdGP7&ttnS6ok0`5DakTDw3Fld!OBVe7p4P8zsaz!t^PlH< zUk3dQ#u2z)!1;sq=ewTb`Lqk$u^s!Z*4Q+W8C*CfF}^71v_B0A9RrgMO#oI%iAPnp|ve*e~FD z<+NabHAA8OoOZsaTB<_utelqe?RcHS{&BUH_KSGE?PuprD&H=O0?G4@xt4D2>1c0m z?=SA|>}l`t*7WqZcX#!r1#cF2c>4NmBnAdp!{cluRv-x+ut1W0$R1DgMo*hJt*E=Z zBh5w}0*N>5vXNmhQcL%9aLX#X`T>^&E>soBQ3iZkYj1Zac-41Tw!?_B2Zou43&dfx z>W;=2liy`UdrSX%8yP8(xL}(=MuZMyr=@wiy1UYHZDfo<(l>ZEd$Kz`U2QO+y}5g% zH@nK)zrMR=p{J{*!`qiu+1M8Sed^-#P)7Dh)UnF77ZXB3~5K# zyUN{l^{(1_fd~}>u`DT`CJ?EprmPGScp$6Sa~# zqJ{PD${H9^AW8a7cSUt|X{~!95C+?8meqs3vPK|IgjUzMT_q*8?kZP(@j?h-l|bwr zUe88%cbC`Q3dQFS7%L0HRlHjV+?_q{&7O|-7TB+CHg&hQ_IdjOtr>cn;V5FX4H(An z2<+-bzi4gO1{n7DVYYaV4q)J=f{w1g4K{pqo|cwgfy8PIo_^0pZx@tpi?`X`-vRF? zdUM>H-CLTVDeFy07-~f>YE9JpdV71jnK?;s?rd*?N~7+>^mYiG8b|1jef^%^es_S$ ziSf4QKzQ!fw)KqN+3M|YUhnR0arb-L+&#Ip$b)Q92hmOI``s<=0Mi|$j<>15Nz2B6 zFvHQ-}CXsED~t-LAj=I%nT44IECCTxw=|og@d{J&LgzI<}hp=tsMh>>)oyG@D7c^ zuu*h+u!Z<)&k<$c)G8)*45xHDP2+zy+IsW z$`?X6;;LKdhT~9t2G#*Z;U-gKit3B>#J(*?j9Yr*SoAK!j<2kyvIMHyzs=YZaT|B# zK|fYfx{?NV1yJlEf0sWf8zu~TS)mJQs{a~tdFR87^!YgwvtE`6(w!~HMa=VI)OY7=r+2n9+ zP^uw*c^q3l#|DvvV5f6zGdQ-H&^zkmE3I}FRhB}894o}gu|kv_E5ymMLZlok#LBTk zv>YqM8+5EyuDZp>@PqZ1!6K%%wM4PcZ(Pk`9v_X7vCB?;XL3ULyb{AFD z*Fne43{;P2dP9AwdqqVFo?XmB>p-(Gg3{t*pGyn{v8sV4Mz_lJ2*$zA5tb+8ptk}L z2n4}6YD>#2YN~x9)wxP){W`suU_>+yE%?}yDwn%xS(&dhu(RztcLkiVif;p3Jmx`t z>)dck3nZn?RaXxuF5GC;E?ZLXt}QL8s4XpqGa|O4*j2o+)SZWg1hF}^ZC#ng=}p*4 z1sUjli{3*kIXzLGdxZ;PO7OXrx^!Kh-w~~>#GINVEmy7QOVry~@#?eISAkt~g=z~N zps&h?X*+`}O*1lHJVr&cR93s|;10|eB&|gV6iO;y^FR|E9@eX7sj04nqxC`RimOZ9 zl~Dcx2iBqaB7r;2dg!Uxq5DwS6KhBAD>gI*4%}C9XvKo?RSJZ%#8teQ8iLzC9Fos~ zM+n*bHUq5D%t+4^Bl^fe)M@SDI_A#8+%Bi=ml`|?<77Xlf@zj;IcwrH=dbUkl zy}hDr8MJY&P5U;qHtpM_ZQ5B;4Q<-cmm6)^_ZV&1_ZV&Y92@pMMnCL(j5h3hj5h4c z^|nA?9%{wDJk*MPd8ifQ#f*-Vqb2w8Osy>jOB?oV|k*@ zSe|GzmM7Yb<%u?oud>Ef;;yf8FRLqcFR5Hs2eH^H>z3s~PX{*xpat5EZ$oQ0zD?S0 z;&2PwX>}1Y!px^&gTJRoa~<3iv5N)Ws@L_tPIypbZ5~tXL?MbL6~*qn;)dc%*oeiA zA{Ru9w|DTINVh2)-38sTdqquc3G^Hk=Q};9AL}BhUwuuzs}ehJs5zwYZ~ICi4xUBv zd9`@4cB>SPVQc45jHa`quxneaB@*!$|N0}j*t{i)>(X0(3n4v zShl7CDshtDNsGfFSYZ@Ho4Pj8)!*Lf&93Y39cYGGYo3l`c=)Y@fef1v1-(yGcXxkZ zf3K%UAgAji2s758KTe=+?`qRqf`Ii$_jtqa)Q7J@eE}9Kf?bHQ3(c)FeYFE!^-xl2HX#|#t*V-m zWtF9AFrCntmEIR}87`>NLW(egO-RIvi0j+?;qe*90Nkxn!YF7+J)T}qrx%8fusHf? zrLERgEvsxr7$c0u@L(V(KG3w-SeXDLH_>h0epdSeS)i{ftqwvd^<`^lKZ=khq}zq@ z!UVWhd%OBzI-{$(+1uCG-qhh0$P7Kd0UDNdk}%m0rI7*c6P~OEQm!Xr2dX>rAH$p_ zOu^Eb3U?<^mg~D)iapKiy>JSQGgeSYONXCa?K!*oR!SUJz=)gnI zWxRH2Q&MsC07hM);;<>q3Jx9ow5UJ}rGbkG&Tz#B)!qdoMV+3$jmR=Lm<8N476f2` ztc_?L3tV<$H5NL^0|Z6E1mK|&fEG#shp1=-bZ8(-fIDh^4S<7&=avRs&wO|oXTt-4 z@k2cx95g&=q50!;jFvwRn864`l(00I0bDc&&_WrY*!2uB=oBR^4`u)tjRCY!hS`B* zfMG<$uMWn8gN6q!A*2#=;by`Y0v)GBibkjzeM1JHD6Nr#${~Ta>(EM~hmCF`4V^DY)$ea9c_~GzW)a>>i5Zs^FqPFO3G(&?3!;CIS6Pvs*U~ z4*kh>2AV({LI8)x(1!8@Z3tBk09u5;(d7pk3#uG|p|Ru#8Vjl%093v2)l3r%Mn?&E z8L|vClYDM7$%nQOA1Iq%?Ddn+79}2;xM$G{6O15l>;!eo%}%CL6rl51`=-= zsgDw#FvJ;XQ2E>jH4WN_>N~61n7{vh!Iq{d;m^T*=&rRaR70bh1`Q?Iz}LOSi*J~s zgufcd0__W795O@unignZsB!>?_BAcgzEI@=4DD-Lpnajr0YID4x8P}k=7cH-0L>!^ z5NJ8mKy~2aBX+CU=3ejVTMut?Ck4OfoE*Ff?_PVFu}3rj;c+E%Ql)NjQ(-X9K%)r% z6h4R{R^dZ~IAYmR=FQ6TZh{`vHor z*V_ZHlE+S}2n&HX+3@;TfOpF>0w8-hAbmZBhby8iS|LZ#2B%)tz}DP_?#e2G%$cM; z`rvCo7=VDckJ)wJO@(}`q4EW?h7X_PKN6fWQ8Nc>_GUiX7bqNU zMexz`1LRu`yo#uZu~-yw(E9iYyoKNF-3-s)@ZjCve>6NMHgAMGbo$yE8$~p;!*dm$ zts$;yikL_%SWJSp7_`3)U+g=LCIAeljaO9Ro~(B>y!>tRYPlXYX;DbsvcU&Bu9OES z*Stfx1d5tgh`*e*>VYPKL)C0VnW=OzS;CVGIv#yIP!%xFq;GhKh)xkRFzl{YoMG znRc2&PGi~`3OSu=zgEZ@Ogo^EGnw`qh5VXn=PKkZrk$^l15CS6A!jq~Vuk#MX_qSG z9H#wNA?GsfcM3U=X;&)be5PHkkPDdhdxc!cwCfad5z}r^$i+;%NgO#6dEu438)3b~qT4=LmtrahvN-!tto zg_rNBg8T{2Y>QnXPqICVLY`t;oI;*vnnNLfX4)`?Jj1j^g*?l& zWQF{NX~Pxr9MeW9DHbx;YFzqOXyvVe13VDfXX$pCnX%iIk3ezSjQOL(kt5wJ+ zOsiMOr%YR}kk6R5QX!u+4f@=FGi{ARzF^uqg?!1hMumLEv?hgo&9oMUe8aR>h5UzU z>lN}X(>5sNJEnCgW70$g} zSm93dZh}kmq>9PQ58+!`!+a+UMHrZ7#T?Uza12cA@@2jXGanzu9p4f%=dnY01w6P1 zjMKpM2OQQZ?2#gq@krBnL4l)xo*9chtXtp!GKXL@&PoeUO6M%#WHnQ6zC#`=M9PL! z+f1!~=eu>_bzFKrRxk8c_z*$TDZVU7Uf1a()y@1p^s)OU1T)VtvC>nM z&X#4aygNlL0_w_66%&PEJm+~0P9w&%o)%P?N@v$w<~Etrm^3Qg)MVz%J8v{!b|}7j z=QVcCkxpc0bYZHJ_6<0{`H&f-Cr*22j=b|n%NS<>A2MJ6BRAQ`hM1YhhtdM{T+`i<0k$*RkO19lx4=e!j-QFCU**@PY99cRIN> za0TU8G0^E-^^i_lW1wdUzc~XFiz$%hkmX^xgbf*epzRGA*rBd+{<-R`ilj-4@S%Lj z90Sdh+gJD}w=*_wMQT3bFHX9t@QjMvJsM}on|BR!52~LNj)Mnb?m>;NVeUbVu3_#$ zjjmztL5;3q?m>;NVVE4e<{2u~Su0;|AEs*yEaouJP@&9Wo}ogW z!#qQUI){0N(mUg0L6~PKqpQjGi>xNwFS?p+zvybR{i3VM_KU72+b_C?Dc6vd6s%tu z!?`7aWe>Q(f;sTIG+YJ(T3!W?K6%{|XF&^#j92-=>s**0?@H`n{=!^%HLhC~GjvG=7RwAB zQ}7xZ=Eo}!`Y7RBTEpC&zS$?*dvm<8fN3K77ukpX;vBh#!CQFWj1=wT779rx6W|Sq z1n;#b(zhZKyw{q{G;JsEZ z)8M^U9({8s!D0xUCEyE&&RbB(G%_7SnWB&xOv_ftOs3^3WERu%6*8M?(-l&{w3!Mi zWZGK~Z3Mpb*xk8GWR-up*rY%-TDbuPH zQpU6zg_JXGsX`Vqtxh2oOk1XqMNC_vki|@EP)H@yRx6~6X=@cy%`~?{YMACx$P%VC zD`Y9tyb7shTAM=ZnAWb4dZuku$TFsNDr7m+x)rj5X`2+Xl4*SkX<*ubLRK+ti$Yd2 z?P!IpVcK?utYz9xg{))RF$!@r?Kp)rGVKI~c$jvQLYkO%vO=1fwpSr7OgmK}UZ(vj zxFyzlo4b2kpt{nf1Upp!=`i(WPJ35-|2+D#7TRrQ=yH<^`0h)y2d8({)5RpETbsS~ z!#XzUESP)dYgj{kd&ef7Es#`y^BckoS29WGL`%Ps&V`V0Nl|k@t^*3R+aZ9Quk#ct z()rQ_cHp{@PE_#)80=a&dATB;DP3$Ql5`2=nTEvxGh5<1a zfso)b=?a+BBV7s0yeIMIF0xFnwv(~aH85?m0u~GFCRdigO`^vq`tZ zF|!qKbTXpRp-{h`OIz5d&rLHa(w)*>c43Bew-%XapbsW6r36J*zrMG7iw9PALCxGN z-Dj5$NHCdM@gE$_^Rr2R)LF0~Y|?`ex6jA-Nh6!|FtliYYx0?C^LaE{dPI5*K3N1W zjzc{B-#yYkq6Fu_2#eGQFeMSHKe0!}$t;ifyw(OTkd^$c|Mr$KA^kMu28(RWbF{$ldgIZmAeALuuJ zh$c>%1YhRp#5!1nDT{X4X@RN5zFO61VS}GbARR+h$WK!}{=nJk4I#nzu&r{GBDB-; zlkG77y}hfsW1z)Lr#|=edRy>gJg~OK-EWg&;)K-M-q)kZanMBNSUDc9-q=`0*$I;b z*&WLgz<68JY;pq3VbtzoG#eI?oD?l5%E_?ys=bqaAq^L@PSCg9Fz2{DTvqLXhef6) z&JAp=HW?P4Ci_Y}xWU?F_^eobOSgNV%hP+bJFUOH1Lr(03Dm;jo(TSuX7@PqQF5wX zdR-oelW)7-X`ap=fvgK;6Fh_Sr^+-Q1R0hVGG*_lQAV|CjE*$o9!x4gl%ls93;nxhg4mTm1v)QIc5zc2CtUrhX8v6AsMfNgWt0G*)cEchDEBic|B5zomd}>Yfm?M(a315=7T7P< zEobl_W5_i){6*29FS`)P7swalX?f94+tFy`N6DAir3d6o;dnW>O*Z+ra5dfnA33P? zwz_(I@w0w&CUG2n^Qd*}DLM!G@y0281)zJpEfig-$iI`Xzz!L1JEsMjLs5HwAAhxk z?jFCq!m@2%dSF_6XJ* z^wjq;m&f6emF@VGB0R`!Pr)N5v;A2S9$~g;bvLH9-nMG*R&4Fh>2FMZX4=@FkCy)` zzhDOu1&@`C?PYj)X4#BK-!Q=b7zWMRI11TThk#GaRtAXW(JCw3t6%)P{drwlx=|`=0dh?3luRIGG<$#h`Eq8+X6+* zh0NI&C}J*T&$d7jb0Gk>1&WvpA+Rls1($=7pT9QZf@53AJ!olWoo7-kt(3FA2(%VBjIZfiyd`*6n+-^XJ5phvIh z>hku|aRvNtjGaCEmcfUW;fV#lSA$>nSq@(v1rk?RS9d=hBLYVU#K*qs!#KedUx(kV zsp#r}Sn$FP*L!M#@JT8Wi3E>tR+zg#497^}C-#Qn2q{fre3YgzI!aR*8>K0XjM5aw zMQIA7qBMmuQJTVtC{1BJl%_BmN>dp4q$v!0(i8?gX$nK0G=%|An!<1=O<}N;rZCh= zQyA!^DGYPc6b3nI3PYSUg#k{Q!tf?dVQ`bCFtkZi7}%sK3~SO91~q94Lz*;&0Zp31 za3)P*Fq5V*lu1(<$fPL@W6~4`F=+}zm^6g}Oq#;*B~4-QlBO_pNmCfOq$vzr(i8?Q zX$nJ@G=%|6n!<1;O<}N-rZ7}VQy8eEDGXE66b3123PY4Mg#k*M!tf+bVQ`YBFf>V1 z7?`AKt5z>P4eP$>Hmv%hDXjUTX}^{Z zXz6Ax-J+#iwG`HQQGZzFMN?SgMbjPH{+(L7OG}T@QdrqV{a{@eO<`3RO<_$JO<_eB zO<_G3O?PYQ$y&NcOZRH&DO!4}mhRKiUuo%nEj>+3PuJ2jv=mlt(R^Ud7ERC6(gRw0 zwwC@zOV80#Sf@q(VU-q5VT~3|FVNBpwe%t_y;w_OWft{=by+lpRarEJHCZ%;6f-k_y7YUxc{3ahSYKCtGBrnhSLK`lL~ zrMGG6?OF=!tf)V%vZ5)hv7+hST6&L`-m9heX(_C%qJFThil(rtil(rpil(rlil(rh zilz^1+mC4JqgwiymOiefuzHI6KdEg$rKL}6>7TXq87+ksQ`8^UOVRW>E&Z#OKCh)O zXz7bu3TvdOKdg|VDXfp8>8o1$nwGwkG1p@Erk_NG#^;+MAOf;^xsL^u)c|=-)iZ1TKc_~{=ibWQ-eQi8~DP{@(I_GXdHGYqIEr3cEEMb z0_l`H1^5(PWoE`fA*m|sVIpVUc(X7vBS9FQc~D3_C`>#kWL9NnWE~W;S7hA?0E@L9 zWDF6$Bg1S$v`v^{-2etFTqOy~ux5EP6Hn+7Q zN>ETG{-8?31qH+OW`kOII6+Mf3aY{%)S_@f!5ag!K~)`2P}xC2Rr`ag2^SQ+yf7P7 z?coHK6BJaPKdAa}LBV?zvq7ymoS<@pf?DYhsv%rZ@Jh#QP-_k+sJx({*7}257cMAx zyJR*f&*21>9~4xRKd9z#LBWeIvq7~UPEgZ=f@<>zwLV->@b<`TP#X^?sN$fYI{ZO( zh6@Vbc^uK8N`ivw_6OAyE+}}_azukF4GOB)A5>qspx`af5e=#=D5wE{P@BUA1+SNm zXi()rL2dO1b#%C(;KkMv4QgRfP}}`M?FbhXyi+@(K~)3=waXvWG2w!O*Lg=Ys6|0R z9p?|~_;5kNi^L-u)Z(C^PV@(LQn;Yt{iWHU_8d;PzS;V1@EZM26fKi zlvHg{Q0MxCIxk#M@VeY=P={50bwNR0;1BA;a6!RK`Xd@teNa#r`-8e9Tu?AM;D`pb zEGVeU{6YOTTu?AY;fMycJSeE&`GdM5Tu?A2!fa4iA5KGG5fs!l{-AyzE-0A2U^b}h z4<{&ZP*6AcgSs(XP%wSshz8Xb6x7ZBpl%5l6uj|2qCs^B1vTgo>R`B_V3xsuF{s=9 zLERB9D4056HmJJ~r%i1ODye(?LERfJD448ZHmE;D9@HQGK|K&ID3~o_HmJiYsqH}} z^^iZPhr2Tnbyy`89Mq%!pdJes6wLK78`Pf;r}~Z!Dyb*^K|K{ND42F)HmGL~ zC#d6tf_l~;)L+5{1v6mG2K9X8LA~G)>cwzD!MvFNVo)#pgL)-gP%s6?Y*2^Q(02z_ z-)sJ$UJn-(%)vRLLG29+>Tmv_{x4imFbU|02DL9JsK5JzdMjK|FbnC326b9cQ1AGI z`p3{g3BtR=dsP>U&6<*AAE)P;XS|Ldk6JC zyn_;iPxzFdM?eWPRe4c<6#?bf!Z#XaDZFCC*LSvz%&gl*__inS$niZKxcHCUCj1AF zoZ7wxO{8TIErQu0e2e7(?+Kwm=?lU@4kIClD3dve7I^naa}Xt64q$eG0dt6kRSy`r6nflk7XF-kU(=t;a0IY zf}cT1LlkKST0?{l40@zEN-LhF@D5dmEslZL@>oF8 z;#jB*Yy#2ZQE&i~R#c;DjfP zZWl{9;4*XI4cwd;ngeg-f)|+s!^D41*p=qMuvUNrt~LjT^tK79Jr4QUS$s4&jqhB2Oi*p*O>!v=7Jl|fwyqMP3FK`x!@La z;G?1vV1MlO4_n8C#iVNOv4!oZWKHVJnG%ol|bKujt;Iqtu&)|a3HU~bF z3qHpj_}5(UdFH@palsdu10UdmFER%{n+v|g9QZd}@MY$}=WxN7n**QA1z%wfd>$8k zl{xVFT<|sKz!z}A*O~)g$OT_-4tx<8e4{z=#a!^s=D?S5!MB{8uh`v^nteT<}E^&MbHNkMfnVW*Cz}Jm z$^~bd1HZ-vPca96oeR!32Y!PK&NT=A8yB2!4*Y*y@N{$FH@V=M=D>gFf@hlpzr_U? znghSh1 zwdTNIaKUbK;4isgk2&yHTyV2F@Yh_h*Btm8F1XDc_&;25yE*W;T<}J7;P1HLPIKVz zx!`Vd;2*f)O{T!`MXk`8OSfA3e$>n*OTT46oBkA-7&&rKoPQJdNhM@P6?~5aChu80 zaM~36IEP@_%%^lkK)HoaSsVf7R?E@611~dAnQuJsZTu(~nx_mY%k6y1MG;W$;8Rvc zK)I7oSsel8Ek0?G^cl=~u}ypT`1KLW~&_>`wdKzT8r^2`V*FX2<36#?a?e9E&UpuCJv zc}@hBzvWY&7Xjtve98+Vp!^-5@}dYRui#T&5&`9ve9FrrpuCDtd3gksSMw>ah=B4M zKIK&rQ2w4zc})bA*YYW^jeznxKIQchP+rfcyfFgG8~BtrM?iTapYqlSC~x9Z9*ltU zWyq{0`Tm+PV;8Q*y z0p%b0gE}vorwkc-dVo*)as-qQ@(=t~^OPauL=W*PUyp$DVLs*GBA|SPPx)p9l#lW$ z-->|pF@BA|W1cdk5k1b2@?Gg#W=0-sIF`qI&0?JSLl+z=i{FF~QGXl!b_>{9F zp!}RqSr`H3zxkANBcS|(PZ`N%$uIeokxZ8SiccBIWXZ4jl%)}r6o> zfbv^D<>Ck^zvEL@ML_vIpRy(b${+ZYOAntCemsyj)!0%O0j0pFTowVP$fsNp0i}gc z*$@Gx#HU;x0j12RTpIzUl~3u8fYQdN^h7`z#iwkJfHIm->5YKW&ZlgPfHHhT?X6Ohap_1D{TjCMd$kjJi&mtN)z&k(;K^KY$ZG4ETyO>#9J1Pa78jh!1&6G* zp3Mbkals+0tqZu|DO_;KYU@HScq$hhvf6qM7o5!nhpe`q%LV6f!6B=y=W)TgTyV&0 z>-k)89`9QfQpjrS1zhknDT~v#ryARK5f?mz3(hfu*{?|&PmGydaGnv&e)Z7^p2Y=E zGlJQ#GaA9Ox!@T_F#8onBe;MIo@E5HUpq8{3%TF|Bbfavp%FZX3l91AHv9EJBX}+s zJkOXj`;|Wi2^ZXA1UGWQOS#}yBiO?Q*K)z@jo@Z3 zxQ+|nU<9+@i8D6OdM>!b2xh^HC1n=U48@b>Ujo@RrU=J6(+X!aAYGypQKNKg$#ZCW3UP z^lJt#yMV-#wS=fQWZW#BcTl?MHtEug+oj*Z|5X_ocagCT8MjHlKPcUBzjV`}l#~HE zRAwHO25*;c%e34h-EmO5=SmV?m32`1!+rNl58N+3bhGrh<)HNBLFvzTNzXPUNPlr; zIMmyu=NbJ$>1E`oogTtrhGi6Ie1tI?F`Ej3z4WLNFsh^9IcLWpA27)tbx8lxjpR3#iy zHisxyjip5Isy5BR!39!e08+WeT+Ir?>=Ktn!()1s$;49EOo5T{V4S)y?f!HG>f^Xs;Sg{u9~WI zAE%DfyDu1&3YhzNbv$)1QpfAu)6_J*d+DGwhqD0YkP1m_kP$%f!7Y$1DnEOO^ zB6Y7+C+gfMsgv~XHG|Ru<~~`SOx>5NlXdPHDzpsj*`ZH{hEl|QGgW#Ckn7aIH6W%S zOJ!F9t)VO*luDTU6qWY&@=8_T-A`4gvPf3lFRwZ%uN{=in0vOGO(Suu*}6z_)EvD# zoMsD|d#;*G-J8^0oqL{|rw@D)^UYWDsc(y#uk)RzPSaDj4N8^FeY!fGy0@#-b?!6N z8G84QL8+R#&s1kp_bzp&&V80TOYh!2C@o>`v(?$ueUmy{=U$)|=-vAVrCR1*s1{Q9 z&1#{}eU3VZx@#3w??3yGhEpHv?$d+vj)U^C2jvq&yMhMC_>it(`Hvx3_?ik2To;o(rU`YHIe(9Eg#^%<<0&Q<5qW_qeRSJzDEsq+HO z^q~B!L1_bXpRdlR?x(5qb?yt)1p#+xxNviZHdLrT zJ{Pvmx9A8u9H~%rLl9gXY)7lL8*s@ z2Nz(M>Y{~lo$AsRMv+?ND-8JtNf%kSBTN=I>LLT`Vzro3->eqvs7ut6p{UD-jvlFf zm;Y`@-q4Ph=?}9PE96%AKM4P~>nM613x}q-JIFDAXh*n%=-20PuMXJfSUfaPpF^Kx z#?X$C!)DCkemo8x`)0@du%N97`lA7~#Zej-v<*N|ZKY}{t+of%QeCx`sb#)ulU@hn zhjr0x3)d*_2IohEoQsBz;xQUQxmr#mctS1LMX*p^$RdCzzSn~Ymkv!h5psVL{`Hl= z%`q@EKwmZ69IZn;Le=bG1y-R}&~TqtD|F#5QWpgk*fYA2w>xr&CN>t>_Hb>L71&~R zF^%9a>SA34m1-roz_vS944u2L!1Qf-yJP#%0DXaNcXSNx2nDtax}6uHHim`X80>V6 z0jTd*{v~?rcdX|AN~rrT+LZ>oAFsK;7V3VCV{{1niOd~Ze3e>7i|-A!N>_Z!%`#vD~I;{Q0t+QFiuzAA7O9w zG5mk3r#dNIH-52(*z0fxV`_)a{@;MnbxTfilEX8!x31ly=ggr!u~@%^|F89t>~vDBDzg~BTy|%z1>7J^cWVfTrWTd;p zUEJV2--8wY9sCDX_?|;mI3f%czQ^%nDtwRW3g7diD}1l%3g2tC!uK4y!dIv(Xodfv zuFzHZN_8c_!uS5D3g2tG!uKAc!cTz;w+hAzKh-g7=mrI6I7JvL{8Y#4p)q)d>#n0t za;js)(B463_^FP$Lwj=1@O_TqLnDID@O@E3I|iNMr#i`TL%Xt5yg_Zi8n;^123?J> zQdjY7d|$XS#*2B-DZbB9Gj#qzq3#RUHsBQBhczx6YkYsWXt2f+VW{!_KdQ#}o38Qw zKf1(s!gUrEjDIa*{kjo(yS; zyi8sRX`g(ed@`h$$+y7km;>@N@|*J8(g7>6I<1M2W?AQ27eKn&+F|X6^c3s)){7v$ z!}_@ONl4$eeqsGuI$%q*rQ0S!T5PMgt$?)Gc7km;q?g)mwhc-L>40O8 z<6H+EkK15U}AK51IgOzA*MQp$uBI8N23 z4p&D)xmv94giNR+EkBSsM6|<P&P%(t%Q&bjJ^5E|D~w&t6XL3y4)`H|~ov>@)7S zbM_m3lp%bKesN*^jJ}RT_!|9(neaDa5=~-^xa1#!(__CR9zgy;Eab;BU~LP_{%7DN zG-q;nVgEpulHovrCGlhav1R{2Y=?zqX9t`VJIIK`$l6zFnEm16{UJ;sqYg6!eHf8& z=t3D2K`8ogBIVJAbX0^P>BIUdxOAb7`w2qRhxb$Q=|W8Vi9*ze`BQT0LY?pvhN=(u zr{>j#Jn1J6Ss(V1;MRqnaRfrwhkvB_{f97~WF4VH&>zN;%)@^u6UfvfcqsbAInw#) z4k_mdACmsC{u_De4lVD$aA^9&`)}pvKg985+JET~^@sW2%+r6U6UdDJ;-Tsf_rIO5 z?vQ8wmk(Kg*#C>Xb%$Q?KR9&#;s3Al*A>B>|4|X>i{XD6gRdyWi^#nHVNvLd<9{88 z1gN;_ z9aY8BdcY*gr!T&rTU@?#k{nGI{>+L@Uu-|e*yy<`y-v^7 zE6AdsVd?2h@aGzzt^rp5Op8!oj6dfXbq!LOL8^borKvB`pL?9_lKfYCnlC2!js~Ou zIsf}!>HHF6g~DV#=vY$w3n*HB!~LbiYoSH_0Byikr2ZFD%KDQ2CB-cHN}D!o;c2q` z7gXT-LjR@3t-t!cOIH5EN?l*_zr@(}rT-pT^$RS0eGU9l;}5QdHNVhW(AUH-`4|GV zVckH8&_z}gLTqFhi6ZGRt*@PAk{d`C`HD;tTx6y)bEFDKm zq#H@8^ad%D<4CzYmn@V!NQHbpStLJB7Rz6gN^3f)veuI&))UB5>&>Lr`Z}qz#lro; z9J0)|5iVQjkrlRwNdpYBtcqGlR!8k7YohKXYoiHS7hO!;(Yr}w^kc+hS4gvc0rA>< zNSpm>(r$l+bi`~U-HM0wDi4sp*mSZvb`{wYdm7mmcR$%4{|VXYIEw6Y)R1EwyI@Vn zv*dW^yJWZXJ#x~pE6MHzk(`u}1?fv5vu_VeG12&0tk}*~VY!>nu*kZwECAW}NYaG~Q0qV*c54I@sE!Z4jvk9xg<^-Ev zC@+ijRVAB-j$go53~;YzY=8*hYgbS^N*!#(*tJN&(wgunm_4upI@q6zKx6 zrGjmQv>R;Wz@|!1fNeb3MoEKUO9R_T=^L=6gKdoT7T6|$ZL~ZYY!ktDl$-#zNnjf* zuLRp4Yo=0(_qU1 z+e9dxC~Gd*GUV^UmIt=U)&*e82U`~Kr&_0hEz{Z!w&`G-YHa}946seHUIez8V9T-Y z0oyFFWm}&F+ibAqS#JYd0oZb_UxTd>Y}2fN2iqL5<=ZBKZ7$em*oJ{^9@wVaR)B3j z*k;*WU|RsTnYP_vbAheE)&sU8u+6p&f~^>Ab8Hubtpsd^_BCKD1=~D(8Q99eHrIYC z*vi4Sz&-%Bga}L-lz*ZDzdax~aU^`d_wrU5q zgXLhWa(oQ76<}N9co}Rf!B*oO4z>oc)jCD6tpeLpXBXI3gRS1V5^QV0R+mr)wzXhe zo{$5!bzobTG!txYu&qo=1zRK7R-|AX@_=ns3bvspur;V7!PX46HL47@7O+8IsNNv_ zOZXW2M60zEWC8Sz3Wwzd>;higQt%hvIw`7ofNh#YHGCMsW#>OHo{g;UYf$_i#dRpIM{xs+8&TYZ;$|$NTTtAJn}aA0qPPvk?I`ZRy?3H^ z7mB-4+=Jp?6!)RHA6@={+8YnEO2>y61AsLJdNVd zD4s#_EQ-INcn-y1Q9O_01r#r$cnQVJC|*JFDvH-oypG}x6n{hUe<3Ls@Kc@yKTk>U ztBC|Z=11s<%l<9AM})71Z;0?NYM+20_+2rAUz8;H?NNf?5GDAvS%M#aCHN&&f*)cf z_z_ux-*YASfm4ECvxUVKAn>bZ1V7tH@SAP~zs*MQJCOvxG)eHoc=Vgl^m|+czo1L- z3v8Bt%K))#MzICOR``82%Qn=uqu7CBCyHGtj={ahqIMi=$D?)viW5}lTqwJ zu^0VLL2)XIeQ5g?iv1`~LvcEaGf^E(ameuWkPhH?Kf(C5o$1T#e!y6u(DtEsE<x2QM`xZeH8yh z@d1htQGA5rUnuZLbS$5s_!PxwC_YDlKi^{c0>zgozC!Ueif>T-2gSE2zC-aniXTAG zADNKwXCWl~AqNS6dO?y<$SABRY$&2oM5C~yh(V#Ch(!^HA|8Zbfw%dB8$}C>b`)JG zHlgT8u?5986gyEIi()2<6Hx3%aVm=aD1MFNY!v6CxCq6iC@x1a2gQ{ru0?SZid#|K zhT={X_n~+Y#Um&lN8v*8G>Yd?yoBOa6mOt-6UEyo%1|suu>{336stgpf+!L(8+sbi o2_27^f?B#bfrumFagE@I2?>59kl`!*&Keh8+wZ3_BST8MaOC HVebb3%3Ki_ diff --git a/target/scala-2.12/classes/ifu/el2_ifu_compress.class b/target/scala-2.12/classes/ifu/el2_ifu_compress.class index 29e2279881135beb0d4b3870a67df6196d35f7bd..e76e2288dbf64f012ae738021d7263a157570281 100644 GIT binary patch delta 159 zcmZ2yvCd+Hnh@iG$?8Irf#hzX$&+^p@lB2qZky~U%s2Uia2w;T$>k!GCzpxvO_mUC z1Ji3n{TR1Q{w-<)BrU{jCjSx@p4={`1>|iKTMINLLEH#PP8L@Mk~_sq84pd?m+%If zQ!P=*czg3(iM5Q1TNp$bwlb(Q>}SwsIKc3h;UJ?t!y(2rhFgs58E!KvGHltrTdJ55 E0H3ruivR!s delta 161 zcmZ2yvCd+Hn$ToFVZO;GLTzCBgissfp~?QjlNk?Bek?qB@;p(#$t@ynjCUq;i%tfT z^F^a4mxu{Z<`vTd(_Ug)jN2xcirIj9N5p0`9-N#YZUiJJi>m_3o#LfHlk_FL8E;Rn zmMCPrv-z#WT1LgK3?dBM7}OaKFlaLzWO&PPh*6&5Fk>3SZN~KscbF6zwr<`nRm=zg DQjIu; 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 de71b3078c8af1a6f63fee080756fb031397883e..12c7e4882359d6e1f60db703267997a266e77f0c 100644 GIT binary patch literal 5351 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 S!mk34qREAuMS(T83jYPMw@+XI 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 b7d3dd36971e2f9c1ff83e7c5c62187771a3d5ea..d118e6d0cf58bfa4a1b32c7318f8583eab57cb8a 100644 GIT binary patch literal 108514 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 diff --git a/target/scala-2.12/classes/ifu/ifu_bp$.class b/target/scala-2.12/classes/ifu/ifu_bp$.class index f2008e2d1f9b452851b569e2210937f124313431..2ccd0f44f1b5915da9c866ae0b198ecc225a8826 100644 GIT binary patch delta 111 zcmbO&H(PGQ11`o}lOJ-~0?7t$@yTY~o?uoWSX6ZKb8dAgONB=RswRcU3M?i(c@vKj kRO}CrHI(Jg>&ke0@>E`5*4qr~47Vmf=dA$BB=GG905Ya2$N&HU delta 111 zcmbO&H(PGQ11`o%lOJ-~0?7t$@yTY~o?uoWSX6ZKb8dAgONB=RswRcU3M?i(c@vKj kRO}CrHI(Jg>&iHJ@>E`5*2xU&43j25=dA$BB=GG90Cc}5AOHXW 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 199c73fd0a914393f84acd9d811b6461c111b884..0b090069b93056d9f0b93e419773de3c57a4323d 100644 GIT binary patch delta 19 Zcmcb~dXsg74HM(7$+k=ZK(dd?8vscS2Jrv@ delta 19 Zcmcb~dXsg74HM&}$+k=ZK(dd?8vsO&24MgI diff --git a/target/scala-2.12/classes/ifu/ifu_compress$.class b/target/scala-2.12/classes/ifu/ifu_compress$.class index 43b11cdbc550fbf16b071ff37e3e5e54b40bf863..4094985c9cab17574b51d56271c72c8529dd3e28 100644 GIT binary patch delta 107 zcmX>vcV2FTAUEUv$qqcClhwI3fUJ$&;*-<4J;AI%sEh=UI+$e(m7mIE1!P^|afR}A hd99(W23`-w2a`|o`m#P?P-nP5S(>i`C^Lm`HvrRgCG-FQ delta 107 zcmX>vcV2FTAUETK$qqcClhwI3fUJ$&;*-<4J;AI%sEh=UI+$e(m7mIE1!P^|afR}A hd99(W23`-whm%k8`m#P`P-l2BS(>i`C^Lm`HvrY^CIJ8d 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 52f4bda1350df9b93195d2f249a346d29f26e9ee..d94a2d7c74d85dde22afce01abb7eb9e6c7461d7 100644 GIT binary patch delta 19 Zcmey*`k!?}5)omD31Jju>nLvw*xPkkI z`|?4)dyWef4xHl;@JD%k?kvr;jhJ(6PG&N9-u1cf`@FY*{eAyW0DJM1Kuj-`Q~ZwW zgE2OcTDz4gi&asUh?t6jF z6>Z(TWL=P{5$T+>^2anYZ^%+SV_6r6I{K7M4Or7Mf11wI z2l)|b?#~%2mV*NIiLGOVq2GOsVHH+JQHO4U1}~|u#MY{5HLBM{Ykk6ZP9)ORL}OTs zN0y)o>uA$CrxU0pd1+`fGC#}^1eOOD=E6^_kW!15AC{HUXqd3_Gpx9fbq2UDu%iN8 z2oycV@F=#Z_!0u`i{8`fl%|_3$V3$wl-EY}o_;oj{Zy5WVLNsxPbnAn<1w_Nt%Yds zj-eeL>epVv5vmuru*T!^A{D0Ny9Bl*w)!FdSK*wlO)|iA4*OuCdg;W_iRCKL11#Z6 zpyMU!IMQaM^E$Nh;0x%z*rm{O$lW34ujd?1=%i@}8nT4_$ zH|1po{whMMs9_;Bv7we%TaREciXqiYYyFZuV&;pMZaQ&_tFKFnw7k>>B6Z4^d08M! zJ|)oV@3X&_j$tW=TW}2Ip6(pmNE&-mB}bc-sX_ON+%zd8$V4%sTrOv@6*lsSHre zWzR%#hLCB76Iv6vo(Ki;5WY@_#C+xqt;|y#ohiz6xWD||!s+@7gPLJvbw?7svv@Iz z7w{63ewjV16^jO`qI0fE=IVm7uR!Y{9uopxa!Pl`h=yTJ#K|Q);xL?%;fQ^ z5_`N_Dd@KC7^%aiX*rrZKIBE3pTs$(tdj>r<^@g!gk4m3fE+o{LNUtXBGEKmENg};_cfV+Ei+a;`DnL$WwI+WRfCG60o|%@ zmnp^|+)Zwms}UQd>JAOMe-*DOVtieoM|D!r8et|^%K4mew_sMF7uvPIt-@|5(kOb904(UqC*uI5xmD^%!Fk* zCCAo^0ynF;s&-iUKgB<yyzEq!Uy;;iudsmJK2A}=K=#VVhGN(B*&$E)3^(oEP zrX=SCj{vb@)0Fn0p_NLKkI}4EwsZ2Rt_-#f1Q>dHeBYW?r^8{BrxrPE7A&@~yMkTZ z>jnnf#A}NxH8yUCnyb9msj2Edb7)cK3wN!HGA&qvm0Y>Wl}_H(U*rMm?qcIcgz#O2G>9N5}O#0vVMTlbxJzfdkB8!Eqd|B@in!8Z}@HG)MaV{z1T*jMGkh>>R=6l5rN4yuE|zn=^>J$X)od1 z*z*hBE)IEN!tGVix{ZCcq4ij`WbR;Jt;zI-lj(Dl>BN2?pUUptM!J@GJk%d20{wVm z4&-{M5!sYncL#fFk4tTpzi%q8b{xc$G_+vf?jT*e$x0y~3Yl)}R%6}Yzx9k-{WU+p z(3!h9qOumDn!Uw9j?UHpRW$MgB!0)!4=_T76Pf$S0VBP$D4gKs{DFqvZQHvWW?|04 zu7s+17Py5i@Va0x?L@H}B{=lg#-8hA9oM0Y{aEH6)$?5xmvEWAL4SU|*Qx(G{KyC0 zUIx08cQKv(16SB`SCbEL?F<**p2fQr=Zo8~+cVe}#dX~94XWl=r5s7#$LD}Tf?b4f zd5!W#3zo2VyYU^L>kz^By!Y_eIGS+^S&ZT|#_&A9qxgjKS^PkWLxTLJ@aCAuN|!2x h0@Uq$auql{*`Op>^a!xJIg7C0ttX)>K;TDO!9Q@wp4R{X literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..e923cbae63ce14b59f081ba0128c40deae49ea31 GIT binary patch literal 737 zcmZ`%+iuf95Iy50Hc8!FN=Yg7!o{Gpl`uu{6odqbN|BsWDQ#b?wY{NR96NH>heBG7wT9B7rq4=t1kZ5cgcih|}O&}sCb=pvX-l4+R| z>fXhhx`c`tkE1DJxwGY+iFd+{MEu5m?Vrg&cWs!ksxVL^*cTfu*o5_&&{uIdPE@QN zuEJdG5<3{t20;H&4t~_g_W_!bT5-o5*nV0<$gBuWqK(5h>;~PVb_mE zs`7jWE)KK^-uA_KmN)xSpC;jfNX1C9$tFA(gq zv1NV%d{6E(pA58c1yx2iID5j8I4*2|!NNDRK4ax$QMAdsS$z6{TYR?9%Wxg5oDolU zlc{owK1YLNbLTfI^lN+PE3&d5@aVljbfv244I)X| zDBd5M$<2~pjVwV2Dq?mhIReSn z&C7}kNw}rJ5~Ng6Ad$e+GAe5`mrj{|>^Yo3I{!zgX6RYm@xA@oFyo)}(hcy}h z;M=cgKu3(T068kx4@Dr+U>^f!QO;}(I(`^ftm(K|n0Y;4<3_hPIruJu1y}io_out", - "sources":[ - "~test|test>io_in3", - "~test|test>io_in1", - "~test|test>io_in2" - ] - }, { "class":"firrtl.EmitCircuitAnnotation", "emitter":"firrtl.VerilogEmitter" diff --git a/test.fir b/test.fir index 348e20c1..4b0340ba 100644 --- a/test.fir +++ b/test.fir @@ -3,79 +3,7 @@ circuit test : module test : input clock : Clock input reset : UInt<1> - output io : {flip in1 : UInt<8>, flip in2 : UInt<8>, flip in3 : UInt<1>, out : UInt<1>} + output io : {flip in1 : UInt<4>, flip in2 : {waleed : UInt<5>, laraib : UInt<5>, hameed : UInt<5>}, out2 : {waleed : UInt<5>, laraib : UInt<5>, hameed : UInt<5>}, out1 : UInt} - wire _T : UInt<1>[8] @[el2_lib.scala 211:24] - node _T_1 = andr(io.in1) @[el2_lib.scala 212:45] - node _T_2 = not(_T_1) @[el2_lib.scala 212:39] - node _T_3 = and(io.in3, _T_2) @[el2_lib.scala 212:37] - node _T_4 = bits(io.in1, 0, 0) @[el2_lib.scala 213:48] - node _T_5 = bits(io.in2, 0, 0) @[el2_lib.scala 213:60] - node _T_6 = eq(_T_4, _T_5) @[el2_lib.scala 213:52] - node _T_7 = or(_T_3, _T_6) @[el2_lib.scala 213:41] - _T[0] <= _T_7 @[el2_lib.scala 213:18] - node _T_8 = bits(io.in1, 0, 0) @[el2_lib.scala 215:28] - node _T_9 = andr(_T_8) @[el2_lib.scala 215:36] - node _T_10 = and(_T_9, _T_3) @[el2_lib.scala 215:41] - node _T_11 = bits(io.in1, 1, 1) @[el2_lib.scala 215:74] - node _T_12 = bits(io.in2, 1, 1) @[el2_lib.scala 215:86] - node _T_13 = eq(_T_11, _T_12) @[el2_lib.scala 215:78] - node _T_14 = mux(_T_10, UInt<1>("h01"), _T_13) @[el2_lib.scala 215:23] - _T[1] <= _T_14 @[el2_lib.scala 215:17] - node _T_15 = bits(io.in1, 1, 0) @[el2_lib.scala 215:28] - node _T_16 = andr(_T_15) @[el2_lib.scala 215:36] - node _T_17 = and(_T_16, _T_3) @[el2_lib.scala 215:41] - node _T_18 = bits(io.in1, 2, 2) @[el2_lib.scala 215:74] - node _T_19 = bits(io.in2, 2, 2) @[el2_lib.scala 215:86] - node _T_20 = eq(_T_18, _T_19) @[el2_lib.scala 215:78] - node _T_21 = mux(_T_17, UInt<1>("h01"), _T_20) @[el2_lib.scala 215:23] - _T[2] <= _T_21 @[el2_lib.scala 215:17] - node _T_22 = bits(io.in1, 2, 0) @[el2_lib.scala 215:28] - node _T_23 = andr(_T_22) @[el2_lib.scala 215:36] - node _T_24 = and(_T_23, _T_3) @[el2_lib.scala 215:41] - node _T_25 = bits(io.in1, 3, 3) @[el2_lib.scala 215:74] - node _T_26 = bits(io.in2, 3, 3) @[el2_lib.scala 215:86] - node _T_27 = eq(_T_25, _T_26) @[el2_lib.scala 215:78] - node _T_28 = mux(_T_24, UInt<1>("h01"), _T_27) @[el2_lib.scala 215:23] - _T[3] <= _T_28 @[el2_lib.scala 215:17] - node _T_29 = bits(io.in1, 3, 0) @[el2_lib.scala 215:28] - node _T_30 = andr(_T_29) @[el2_lib.scala 215:36] - node _T_31 = and(_T_30, _T_3) @[el2_lib.scala 215:41] - node _T_32 = bits(io.in1, 4, 4) @[el2_lib.scala 215:74] - node _T_33 = bits(io.in2, 4, 4) @[el2_lib.scala 215:86] - node _T_34 = eq(_T_32, _T_33) @[el2_lib.scala 215:78] - node _T_35 = mux(_T_31, UInt<1>("h01"), _T_34) @[el2_lib.scala 215:23] - _T[4] <= _T_35 @[el2_lib.scala 215:17] - node _T_36 = bits(io.in1, 4, 0) @[el2_lib.scala 215:28] - node _T_37 = andr(_T_36) @[el2_lib.scala 215:36] - node _T_38 = and(_T_37, _T_3) @[el2_lib.scala 215:41] - node _T_39 = bits(io.in1, 5, 5) @[el2_lib.scala 215:74] - node _T_40 = bits(io.in2, 5, 5) @[el2_lib.scala 215:86] - node _T_41 = eq(_T_39, _T_40) @[el2_lib.scala 215:78] - node _T_42 = mux(_T_38, UInt<1>("h01"), _T_41) @[el2_lib.scala 215:23] - _T[5] <= _T_42 @[el2_lib.scala 215:17] - node _T_43 = bits(io.in1, 5, 0) @[el2_lib.scala 215:28] - node _T_44 = andr(_T_43) @[el2_lib.scala 215:36] - node _T_45 = and(_T_44, _T_3) @[el2_lib.scala 215:41] - node _T_46 = bits(io.in1, 6, 6) @[el2_lib.scala 215:74] - node _T_47 = bits(io.in2, 6, 6) @[el2_lib.scala 215:86] - node _T_48 = eq(_T_46, _T_47) @[el2_lib.scala 215:78] - node _T_49 = mux(_T_45, UInt<1>("h01"), _T_48) @[el2_lib.scala 215:23] - _T[6] <= _T_49 @[el2_lib.scala 215:17] - node _T_50 = bits(io.in1, 6, 0) @[el2_lib.scala 215:28] - node _T_51 = andr(_T_50) @[el2_lib.scala 215:36] - node _T_52 = and(_T_51, _T_3) @[el2_lib.scala 215:41] - node _T_53 = bits(io.in1, 7, 7) @[el2_lib.scala 215:74] - node _T_54 = bits(io.in2, 7, 7) @[el2_lib.scala 215:86] - node _T_55 = eq(_T_53, _T_54) @[el2_lib.scala 215:78] - node _T_56 = mux(_T_52, UInt<1>("h01"), _T_55) @[el2_lib.scala 215:23] - _T[7] <= _T_56 @[el2_lib.scala 215:17] - node _T_57 = cat(_T[1], _T[0]) @[el2_lib.scala 216:14] - node _T_58 = cat(_T[3], _T[2]) @[el2_lib.scala 216:14] - node _T_59 = cat(_T_58, _T_57) @[el2_lib.scala 216:14] - node _T_60 = cat(_T[5], _T[4]) @[el2_lib.scala 216:14] - node _T_61 = cat(_T[7], _T[6]) @[el2_lib.scala 216:14] - node _T_62 = cat(_T_61, _T_60) @[el2_lib.scala 216:14] - node _T_63 = cat(_T_62, _T_59) @[el2_lib.scala 216:14] - io.out <= _T_63 @[el2_ifu_ifc_ctrl.scala 12:10] + io.out1 <= UInt<1>("h00") @[el2_ifu_bp_ctl.scala 235:13] diff --git a/test.v b/test.v index 0cc66e2c..9049acae 100644 --- a/test.v +++ b/test.v @@ -1,44 +1,17 @@ module test( input clock, input reset, - input [7:0] io_in1, - input [7:0] io_in2, - input io_in3, - output io_out + input [3:0] io_in1, + input [4:0] io_in2_waleed, + input [4:0] io_in2_laraib, + input [4:0] io_in2_hameed, + output [4:0] io_out2_waleed, + output [4:0] io_out2_laraib, + output [4:0] io_out2_hameed, + output io_out1 ); - wire _T_1 = &io_in1; // @[el2_lib.scala 212:45] - wire _T_2 = ~_T_1; // @[el2_lib.scala 212:39] - wire _T_3 = io_in3 & _T_2; // @[el2_lib.scala 212:37] - wire _T_6 = io_in1[0] == io_in2[0]; // @[el2_lib.scala 213:52] - wire _T_7 = _T_3 | _T_6; // @[el2_lib.scala 213:41] - wire _T_9 = &io_in1[0]; // @[el2_lib.scala 215:36] - wire _T_10 = _T_9 & _T_3; // @[el2_lib.scala 215:41] - wire _T_13 = io_in1[1] == io_in2[1]; // @[el2_lib.scala 215:78] - wire _T_14 = _T_10 | _T_13; // @[el2_lib.scala 215:23] - wire _T_16 = &io_in1[1:0]; // @[el2_lib.scala 215:36] - wire _T_17 = _T_16 & _T_3; // @[el2_lib.scala 215:41] - wire _T_20 = io_in1[2] == io_in2[2]; // @[el2_lib.scala 215:78] - wire _T_21 = _T_17 | _T_20; // @[el2_lib.scala 215:23] - wire _T_23 = &io_in1[2:0]; // @[el2_lib.scala 215:36] - wire _T_24 = _T_23 & _T_3; // @[el2_lib.scala 215:41] - wire _T_27 = io_in1[3] == io_in2[3]; // @[el2_lib.scala 215:78] - wire _T_28 = _T_24 | _T_27; // @[el2_lib.scala 215:23] - wire _T_30 = &io_in1[3:0]; // @[el2_lib.scala 215:36] - wire _T_31 = _T_30 & _T_3; // @[el2_lib.scala 215:41] - wire _T_34 = io_in1[4] == io_in2[4]; // @[el2_lib.scala 215:78] - wire _T_35 = _T_31 | _T_34; // @[el2_lib.scala 215:23] - wire _T_37 = &io_in1[4:0]; // @[el2_lib.scala 215:36] - wire _T_38 = _T_37 & _T_3; // @[el2_lib.scala 215:41] - wire _T_41 = io_in1[5] == io_in2[5]; // @[el2_lib.scala 215:78] - wire _T_42 = _T_38 | _T_41; // @[el2_lib.scala 215:23] - wire _T_44 = &io_in1[5:0]; // @[el2_lib.scala 215:36] - wire _T_45 = _T_44 & _T_3; // @[el2_lib.scala 215:41] - wire _T_48 = io_in1[6] == io_in2[6]; // @[el2_lib.scala 215:78] - wire _T_49 = _T_45 | _T_48; // @[el2_lib.scala 215:23] - wire _T_51 = &io_in1[6:0]; // @[el2_lib.scala 215:36] - wire _T_52 = _T_51 & _T_3; // @[el2_lib.scala 215:41] - wire _T_55 = io_in1[7] == io_in2[7]; // @[el2_lib.scala 215:78] - wire _T_56 = _T_52 | _T_55; // @[el2_lib.scala 215:23] - wire [7:0] _T_63 = {_T_56,_T_49,_T_42,_T_35,_T_28,_T_21,_T_14,_T_7}; // @[el2_lib.scala 216:14] - assign io_out = _T_63[0]; // @[el2_ifu_ifc_ctrl.scala 12:10] + assign io_out2_waleed = 5'h0; // @[el2_ifu_bp_ctl.scala 228:20] + assign io_out2_laraib = 5'h0; // @[el2_ifu_bp_ctl.scala 229:20] + assign io_out2_hameed = 5'h0; // @[el2_ifu_bp_ctl.scala 230:20] + assign io_out1 = 1'h0; // @[el2_ifu_bp_ctl.scala 231:13] endmodule