diff --git a/EL2_IC_TAG.anno.json b/EL2_IC_TAG.anno.json index 8bada636..da12c6d2 100644 --- a/EL2_IC_TAG.anno.json +++ b/EL2_IC_TAG.anno.json @@ -20,6 +20,13 @@ "~EL2_IC_TAG|EL2_IC_TAG>io_dec_tlu_core_ecc_disable" ] }, + { + "class":"firrtl.transforms.CombinationalPath", + "sink":"~EL2_IC_TAG|EL2_IC_TAG>io_ic_rd_hit", + "sources":[ + "~EL2_IC_TAG|EL2_IC_TAG>io_ic_tag_valid" + ] + }, { "class":"firrtl.transforms.CombinationalPath", "sink":"~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_out_0", @@ -27,6 +34,18 @@ "~EL2_IC_TAG|EL2_IC_TAG>io_dec_tlu_core_ecc_disable" ] }, + { + "class":"firrtl.transforms.CombinationalPath", + "sink":"~EL2_IC_TAG|EL2_IC_TAG>io_ic_tag_perr", + "sources":[ + "~EL2_IC_TAG|EL2_IC_TAG>io_ic_tag_valid", + "~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_sb_out_0", + "~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_db_out_0", + "~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_sb_out_1", + "~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_db_out_1", + "~EL2_IC_TAG|EL2_IC_TAG>io_dec_tlu_core_ecc_disable" + ] + }, { "class":"firrtl.transforms.CombinationalPath", "sink":"~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_data_out_1", diff --git a/EL2_IC_TAG.fir b/EL2_IC_TAG.fir index e5ebb08a..36d3a97b 100644 --- a/EL2_IC_TAG.fir +++ b/EL2_IC_TAG.fir @@ -1061,7 +1061,7 @@ circuit EL2_IC_TAG : module EL2_IC_TAG : input clock : Clock input reset : UInt<1> - output io : {flip clk : UInt<1>, flip rst_l : UInt<1>, flip clk_override : UInt<1>, flip dec_tlu_core_ecc_disable : UInt<1>, flip ic_rw_addr : UInt<32>, flip ic_wr_en : UInt<2>, flip ic_tag_valid : UInt<2>, flip ic_rd_en : UInt<1>, flip ic_debug_addr : UInt<13>, flip ic_debug_rd_en : UInt<1>, flip ic_debug_wr_en : UInt<1>, flip ic_debug_tag_array : UInt<1>, flip ic_debug_way : UInt<2>, ictag_debug_rd_data : UInt<26>, flip ic_debug_wr_data : UInt<71>, ic_rd_hit : UInt<2>, ic_tag_perr : UInt<1>, flip scan_mode : UInt<1>, test : UInt<26>[2], test_ecc_data_out : UInt<32>[2], test_ecc_out : UInt<7>[2], test_ecc_sb_out : UInt<1>[2], test_ecc_db_out : UInt<1>[2]} + output io : {flip clk : UInt<1>, flip rst_l : UInt<1>, flip clk_override : UInt<1>, flip dec_tlu_core_ecc_disable : UInt<1>, flip ic_rw_addr : UInt<32>, flip ic_wr_en : UInt<2>, flip ic_tag_valid : UInt<2>, flip ic_rd_en : UInt<1>, flip ic_debug_addr : UInt<13>, flip ic_debug_rd_en : UInt<1>, flip ic_debug_wr_en : UInt<1>, flip ic_debug_tag_array : UInt<1>, flip ic_debug_way : UInt<2>, ictag_debug_rd_data : UInt<26>, flip ic_debug_wr_data : UInt<71>, ic_rd_hit : UInt<2>, ic_tag_perr : UInt<1>, flip scan_mode : UInt<1>, test : UInt<26>, test_ecc_data_out : UInt<32>[2], test_ecc_out : UInt<7>[2], test_ecc_sb_out : UInt<1>[2], test_ecc_db_out : UInt<1>[2]} node _T = bits(io.ic_rw_addr, 5, 4) @[el2_ifu_ic_mem.scala 73:70] wire _T_1 : UInt<1>[1] @[el2_lib.scala 177:24] @@ -1094,9 +1094,8 @@ circuit EL2_IC_TAG : node ic_tag_clken = or(_T_15, ic_debug_rd_way_en) @[el2_ifu_ic_mem.scala 77:109] reg ic_rd_en_ff : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 79:28] ic_rd_en_ff <= io.ic_rd_en @[el2_ifu_ic_mem.scala 79:28] - node _T_16 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 80:44] - reg ic_rw_addr_ff : UInt, clock @[el2_ifu_ic_mem.scala 80:30] - ic_rw_addr_ff <= _T_16 @[el2_ifu_ic_mem.scala 80:30] + reg ic_rw_addr_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 80:30] + ic_rw_addr_ff <= io.ic_rw_addr @[el2_ifu_ic_mem.scala 80:30] node ic_tag_wren_q = or(ic_tag_wren, ic_debug_wr_way_en) @[el2_ifu_ic_mem.scala 82:35] wire ic_tag_ecc : UInt<7> @[el2_ifu_ic_mem.scala 83:24] wire ic_tag_wr_data : UInt<26> @[el2_ifu_ic_mem.scala 84:28] @@ -1106,770 +1105,770 @@ circuit EL2_IC_TAG : ic_tag_parity <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 88:17] when UInt<1>("h00") : @[el2_ifu_ic_mem.scala 89:32] when UInt<1>("h01") : @[el2_ifu_ic_mem.scala 90:25] - wire _T_17 : UInt<1>[13] @[el2_lib.scala 177:24] - _T_17[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[2] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[3] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[4] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[5] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[6] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[7] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[8] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[9] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[10] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[11] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_17[12] <= UInt<1>("h00") @[el2_lib.scala 177:24] - node _T_18 = cat(_T_17[0], _T_17[1]) @[Cat.scala 29:58] - node _T_19 = cat(_T_18, _T_17[2]) @[Cat.scala 29:58] - node _T_20 = cat(_T_19, _T_17[3]) @[Cat.scala 29:58] - node _T_21 = cat(_T_20, _T_17[4]) @[Cat.scala 29:58] - node _T_22 = cat(_T_21, _T_17[5]) @[Cat.scala 29:58] - node _T_23 = cat(_T_22, _T_17[6]) @[Cat.scala 29:58] - node _T_24 = cat(_T_23, _T_17[7]) @[Cat.scala 29:58] - node _T_25 = cat(_T_24, _T_17[8]) @[Cat.scala 29:58] - node _T_26 = cat(_T_25, _T_17[9]) @[Cat.scala 29:58] - node _T_27 = cat(_T_26, _T_17[10]) @[Cat.scala 29:58] - node _T_28 = cat(_T_27, _T_17[11]) @[Cat.scala 29:58] - node _T_29 = cat(_T_28, _T_17[12]) @[Cat.scala 29:58] - node _T_30 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 91:77] - node _T_31 = cat(_T_29, _T_30) @[Cat.scala 29:58] - wire _T_32 : UInt<1>[18] @[el2_lib.scala 193:18] - wire _T_33 : UInt<1>[18] @[el2_lib.scala 194:18] - wire _T_34 : UInt<1>[18] @[el2_lib.scala 195:18] - wire _T_35 : UInt<1>[15] @[el2_lib.scala 196:18] - wire _T_36 : UInt<1>[15] @[el2_lib.scala 197:18] - wire _T_37 : UInt<1>[6] @[el2_lib.scala 198:18] - node _T_38 = bits(_T_31, 0, 0) @[el2_lib.scala 205:36] - _T_33[0] <= _T_38 @[el2_lib.scala 205:30] - node _T_39 = bits(_T_31, 0, 0) @[el2_lib.scala 206:36] - _T_34[0] <= _T_39 @[el2_lib.scala 206:30] - node _T_40 = bits(_T_31, 0, 0) @[el2_lib.scala 209:36] - _T_37[0] <= _T_40 @[el2_lib.scala 209:30] - node _T_41 = bits(_T_31, 1, 1) @[el2_lib.scala 204:36] - _T_32[0] <= _T_41 @[el2_lib.scala 204:30] - node _T_42 = bits(_T_31, 1, 1) @[el2_lib.scala 206:36] - _T_34[1] <= _T_42 @[el2_lib.scala 206:30] - node _T_43 = bits(_T_31, 1, 1) @[el2_lib.scala 209:36] - _T_37[1] <= _T_43 @[el2_lib.scala 209:30] - node _T_44 = bits(_T_31, 2, 2) @[el2_lib.scala 206:36] - _T_34[2] <= _T_44 @[el2_lib.scala 206:30] - node _T_45 = bits(_T_31, 2, 2) @[el2_lib.scala 209:36] - _T_37[2] <= _T_45 @[el2_lib.scala 209:30] - node _T_46 = bits(_T_31, 3, 3) @[el2_lib.scala 204:36] - _T_32[1] <= _T_46 @[el2_lib.scala 204:30] - node _T_47 = bits(_T_31, 3, 3) @[el2_lib.scala 205:36] - _T_33[1] <= _T_47 @[el2_lib.scala 205:30] - node _T_48 = bits(_T_31, 3, 3) @[el2_lib.scala 209:36] - _T_37[3] <= _T_48 @[el2_lib.scala 209:30] - node _T_49 = bits(_T_31, 4, 4) @[el2_lib.scala 205:36] - _T_33[2] <= _T_49 @[el2_lib.scala 205:30] - node _T_50 = bits(_T_31, 4, 4) @[el2_lib.scala 209:36] - _T_37[4] <= _T_50 @[el2_lib.scala 209:30] - node _T_51 = bits(_T_31, 5, 5) @[el2_lib.scala 204:36] - _T_32[2] <= _T_51 @[el2_lib.scala 204:30] - node _T_52 = bits(_T_31, 5, 5) @[el2_lib.scala 209:36] - _T_37[5] <= _T_52 @[el2_lib.scala 209:30] - node _T_53 = bits(_T_31, 6, 6) @[el2_lib.scala 204:36] - _T_32[3] <= _T_53 @[el2_lib.scala 204:30] - node _T_54 = bits(_T_31, 6, 6) @[el2_lib.scala 205:36] - _T_33[3] <= _T_54 @[el2_lib.scala 205:30] - node _T_55 = bits(_T_31, 6, 6) @[el2_lib.scala 206:36] - _T_34[3] <= _T_55 @[el2_lib.scala 206:30] - node _T_56 = bits(_T_31, 6, 6) @[el2_lib.scala 207:36] - _T_35[0] <= _T_56 @[el2_lib.scala 207:30] - node _T_57 = bits(_T_31, 6, 6) @[el2_lib.scala 208:36] - _T_36[0] <= _T_57 @[el2_lib.scala 208:30] - node _T_58 = bits(_T_31, 7, 7) @[el2_lib.scala 205:36] - _T_33[4] <= _T_58 @[el2_lib.scala 205:30] - node _T_59 = bits(_T_31, 7, 7) @[el2_lib.scala 206:36] - _T_34[4] <= _T_59 @[el2_lib.scala 206:30] - node _T_60 = bits(_T_31, 7, 7) @[el2_lib.scala 207:36] - _T_35[1] <= _T_60 @[el2_lib.scala 207:30] - node _T_61 = bits(_T_31, 7, 7) @[el2_lib.scala 208:36] - _T_36[1] <= _T_61 @[el2_lib.scala 208:30] - node _T_62 = bits(_T_31, 8, 8) @[el2_lib.scala 204:36] - _T_32[4] <= _T_62 @[el2_lib.scala 204:30] - node _T_63 = bits(_T_31, 8, 8) @[el2_lib.scala 206:36] - _T_34[5] <= _T_63 @[el2_lib.scala 206:30] - node _T_64 = bits(_T_31, 8, 8) @[el2_lib.scala 207:36] - _T_35[2] <= _T_64 @[el2_lib.scala 207:30] - node _T_65 = bits(_T_31, 8, 8) @[el2_lib.scala 208:36] - _T_36[2] <= _T_65 @[el2_lib.scala 208:30] - node _T_66 = bits(_T_31, 9, 9) @[el2_lib.scala 206:36] - _T_34[6] <= _T_66 @[el2_lib.scala 206:30] - node _T_67 = bits(_T_31, 9, 9) @[el2_lib.scala 207:36] - _T_35[3] <= _T_67 @[el2_lib.scala 207:30] - node _T_68 = bits(_T_31, 9, 9) @[el2_lib.scala 208:36] - _T_36[3] <= _T_68 @[el2_lib.scala 208:30] - node _T_69 = bits(_T_31, 10, 10) @[el2_lib.scala 204:36] - _T_32[5] <= _T_69 @[el2_lib.scala 204:30] - node _T_70 = bits(_T_31, 10, 10) @[el2_lib.scala 205:36] - _T_33[5] <= _T_70 @[el2_lib.scala 205:30] - node _T_71 = bits(_T_31, 10, 10) @[el2_lib.scala 207:36] - _T_35[4] <= _T_71 @[el2_lib.scala 207:30] - node _T_72 = bits(_T_31, 10, 10) @[el2_lib.scala 208:36] - _T_36[4] <= _T_72 @[el2_lib.scala 208:30] - node _T_73 = bits(_T_31, 11, 11) @[el2_lib.scala 205:36] - _T_33[6] <= _T_73 @[el2_lib.scala 205:30] - node _T_74 = bits(_T_31, 11, 11) @[el2_lib.scala 207:36] - _T_35[5] <= _T_74 @[el2_lib.scala 207:30] - node _T_75 = bits(_T_31, 11, 11) @[el2_lib.scala 208:36] - _T_36[5] <= _T_75 @[el2_lib.scala 208:30] - node _T_76 = bits(_T_31, 12, 12) @[el2_lib.scala 204:36] - _T_32[6] <= _T_76 @[el2_lib.scala 204:30] - node _T_77 = bits(_T_31, 12, 12) @[el2_lib.scala 207:36] - _T_35[6] <= _T_77 @[el2_lib.scala 207:30] - node _T_78 = bits(_T_31, 12, 12) @[el2_lib.scala 208:36] - _T_36[6] <= _T_78 @[el2_lib.scala 208:30] - node _T_79 = bits(_T_31, 13, 13) @[el2_lib.scala 207:36] - _T_35[7] <= _T_79 @[el2_lib.scala 207:30] - node _T_80 = bits(_T_31, 13, 13) @[el2_lib.scala 208:36] - _T_36[7] <= _T_80 @[el2_lib.scala 208:30] - node _T_81 = bits(_T_31, 14, 14) @[el2_lib.scala 204:36] - _T_32[7] <= _T_81 @[el2_lib.scala 204:30] - node _T_82 = bits(_T_31, 14, 14) @[el2_lib.scala 205:36] - _T_33[7] <= _T_82 @[el2_lib.scala 205:30] - node _T_83 = bits(_T_31, 14, 14) @[el2_lib.scala 206:36] - _T_34[7] <= _T_83 @[el2_lib.scala 206:30] - node _T_84 = bits(_T_31, 14, 14) @[el2_lib.scala 208:36] - _T_36[8] <= _T_84 @[el2_lib.scala 208:30] - node _T_85 = bits(_T_31, 15, 15) @[el2_lib.scala 205:36] - _T_33[8] <= _T_85 @[el2_lib.scala 205:30] - node _T_86 = bits(_T_31, 15, 15) @[el2_lib.scala 206:36] - _T_34[8] <= _T_86 @[el2_lib.scala 206:30] - node _T_87 = bits(_T_31, 15, 15) @[el2_lib.scala 208:36] - _T_36[9] <= _T_87 @[el2_lib.scala 208:30] - node _T_88 = bits(_T_31, 16, 16) @[el2_lib.scala 204:36] - _T_32[8] <= _T_88 @[el2_lib.scala 204:30] - node _T_89 = bits(_T_31, 16, 16) @[el2_lib.scala 206:36] - _T_34[9] <= _T_89 @[el2_lib.scala 206:30] - node _T_90 = bits(_T_31, 16, 16) @[el2_lib.scala 208:36] - _T_36[10] <= _T_90 @[el2_lib.scala 208:30] - node _T_91 = bits(_T_31, 17, 17) @[el2_lib.scala 206:36] - _T_34[10] <= _T_91 @[el2_lib.scala 206:30] - node _T_92 = bits(_T_31, 17, 17) @[el2_lib.scala 208:36] - _T_36[11] <= _T_92 @[el2_lib.scala 208:30] - node _T_93 = bits(_T_31, 18, 18) @[el2_lib.scala 204:36] - _T_32[9] <= _T_93 @[el2_lib.scala 204:30] - node _T_94 = bits(_T_31, 18, 18) @[el2_lib.scala 205:36] - _T_33[9] <= _T_94 @[el2_lib.scala 205:30] - node _T_95 = bits(_T_31, 18, 18) @[el2_lib.scala 208:36] - _T_36[12] <= _T_95 @[el2_lib.scala 208:30] - node _T_96 = bits(_T_31, 19, 19) @[el2_lib.scala 205:36] - _T_33[10] <= _T_96 @[el2_lib.scala 205:30] - node _T_97 = bits(_T_31, 19, 19) @[el2_lib.scala 208:36] - _T_36[13] <= _T_97 @[el2_lib.scala 208:30] - node _T_98 = bits(_T_31, 20, 20) @[el2_lib.scala 204:36] - _T_32[10] <= _T_98 @[el2_lib.scala 204:30] - node _T_99 = bits(_T_31, 20, 20) @[el2_lib.scala 208:36] - _T_36[14] <= _T_99 @[el2_lib.scala 208:30] - node _T_100 = bits(_T_31, 21, 21) @[el2_lib.scala 204:36] - _T_32[11] <= _T_100 @[el2_lib.scala 204:30] - node _T_101 = bits(_T_31, 21, 21) @[el2_lib.scala 205:36] - _T_33[11] <= _T_101 @[el2_lib.scala 205:30] - node _T_102 = bits(_T_31, 21, 21) @[el2_lib.scala 206:36] - _T_34[11] <= _T_102 @[el2_lib.scala 206:30] - node _T_103 = bits(_T_31, 21, 21) @[el2_lib.scala 207:36] - _T_35[8] <= _T_103 @[el2_lib.scala 207:30] - node _T_104 = bits(_T_31, 22, 22) @[el2_lib.scala 205:36] - _T_33[12] <= _T_104 @[el2_lib.scala 205:30] - node _T_105 = bits(_T_31, 22, 22) @[el2_lib.scala 206:36] - _T_34[12] <= _T_105 @[el2_lib.scala 206:30] - node _T_106 = bits(_T_31, 22, 22) @[el2_lib.scala 207:36] - _T_35[9] <= _T_106 @[el2_lib.scala 207:30] - node _T_107 = bits(_T_31, 23, 23) @[el2_lib.scala 204:36] - _T_32[12] <= _T_107 @[el2_lib.scala 204:30] - node _T_108 = bits(_T_31, 23, 23) @[el2_lib.scala 206:36] - _T_34[13] <= _T_108 @[el2_lib.scala 206:30] - node _T_109 = bits(_T_31, 23, 23) @[el2_lib.scala 207:36] - _T_35[10] <= _T_109 @[el2_lib.scala 207:30] - node _T_110 = bits(_T_31, 24, 24) @[el2_lib.scala 206:36] - _T_34[14] <= _T_110 @[el2_lib.scala 206:30] - node _T_111 = bits(_T_31, 24, 24) @[el2_lib.scala 207:36] - _T_35[11] <= _T_111 @[el2_lib.scala 207:30] - node _T_112 = bits(_T_31, 25, 25) @[el2_lib.scala 204:36] - _T_32[13] <= _T_112 @[el2_lib.scala 204:30] - node _T_113 = bits(_T_31, 25, 25) @[el2_lib.scala 205:36] - _T_33[13] <= _T_113 @[el2_lib.scala 205:30] - node _T_114 = bits(_T_31, 25, 25) @[el2_lib.scala 207:36] - _T_35[12] <= _T_114 @[el2_lib.scala 207:30] - node _T_115 = bits(_T_31, 26, 26) @[el2_lib.scala 205:36] - _T_33[14] <= _T_115 @[el2_lib.scala 205:30] - node _T_116 = bits(_T_31, 26, 26) @[el2_lib.scala 207:36] - _T_35[13] <= _T_116 @[el2_lib.scala 207:30] - node _T_117 = bits(_T_31, 27, 27) @[el2_lib.scala 204:36] - _T_32[14] <= _T_117 @[el2_lib.scala 204:30] - node _T_118 = bits(_T_31, 27, 27) @[el2_lib.scala 207:36] - _T_35[14] <= _T_118 @[el2_lib.scala 207:30] - node _T_119 = bits(_T_31, 28, 28) @[el2_lib.scala 204:36] - _T_32[15] <= _T_119 @[el2_lib.scala 204:30] - node _T_120 = bits(_T_31, 28, 28) @[el2_lib.scala 205:36] - _T_33[15] <= _T_120 @[el2_lib.scala 205:30] - node _T_121 = bits(_T_31, 28, 28) @[el2_lib.scala 206:36] - _T_34[15] <= _T_121 @[el2_lib.scala 206:30] - node _T_122 = bits(_T_31, 29, 29) @[el2_lib.scala 205:36] - _T_33[16] <= _T_122 @[el2_lib.scala 205:30] - node _T_123 = bits(_T_31, 29, 29) @[el2_lib.scala 206:36] - _T_34[16] <= _T_123 @[el2_lib.scala 206:30] - node _T_124 = bits(_T_31, 30, 30) @[el2_lib.scala 204:36] - _T_32[16] <= _T_124 @[el2_lib.scala 204:30] - node _T_125 = bits(_T_31, 30, 30) @[el2_lib.scala 206:36] - _T_34[17] <= _T_125 @[el2_lib.scala 206:30] - node _T_126 = bits(_T_31, 31, 31) @[el2_lib.scala 204:36] - _T_32[17] <= _T_126 @[el2_lib.scala 204:30] - node _T_127 = bits(_T_31, 31, 31) @[el2_lib.scala 205:36] - _T_33[17] <= _T_127 @[el2_lib.scala 205:30] - node _T_128 = cat(_T_32[1], _T_32[0]) @[el2_lib.scala 211:22] - node _T_129 = cat(_T_32[3], _T_32[2]) @[el2_lib.scala 211:22] - node _T_130 = cat(_T_129, _T_128) @[el2_lib.scala 211:22] - node _T_131 = cat(_T_32[5], _T_32[4]) @[el2_lib.scala 211:22] - node _T_132 = cat(_T_32[8], _T_32[7]) @[el2_lib.scala 211:22] - node _T_133 = cat(_T_132, _T_32[6]) @[el2_lib.scala 211:22] - node _T_134 = cat(_T_133, _T_131) @[el2_lib.scala 211:22] - node _T_135 = cat(_T_134, _T_130) @[el2_lib.scala 211:22] - node _T_136 = cat(_T_32[10], _T_32[9]) @[el2_lib.scala 211:22] - node _T_137 = cat(_T_32[12], _T_32[11]) @[el2_lib.scala 211:22] - node _T_138 = cat(_T_137, _T_136) @[el2_lib.scala 211:22] - node _T_139 = cat(_T_32[14], _T_32[13]) @[el2_lib.scala 211:22] - node _T_140 = cat(_T_32[17], _T_32[16]) @[el2_lib.scala 211:22] - node _T_141 = cat(_T_140, _T_32[15]) @[el2_lib.scala 211:22] - node _T_142 = cat(_T_141, _T_139) @[el2_lib.scala 211:22] - node _T_143 = cat(_T_142, _T_138) @[el2_lib.scala 211:22] - node _T_144 = cat(_T_143, _T_135) @[el2_lib.scala 211:22] - node _T_145 = xorr(_T_144) @[el2_lib.scala 211:29] - node _T_146 = cat(_T_33[1], _T_33[0]) @[el2_lib.scala 211:39] - node _T_147 = cat(_T_33[3], _T_33[2]) @[el2_lib.scala 211:39] - node _T_148 = cat(_T_147, _T_146) @[el2_lib.scala 211:39] - node _T_149 = cat(_T_33[5], _T_33[4]) @[el2_lib.scala 211:39] - node _T_150 = cat(_T_33[8], _T_33[7]) @[el2_lib.scala 211:39] - node _T_151 = cat(_T_150, _T_33[6]) @[el2_lib.scala 211:39] - node _T_152 = cat(_T_151, _T_149) @[el2_lib.scala 211:39] - node _T_153 = cat(_T_152, _T_148) @[el2_lib.scala 211:39] - node _T_154 = cat(_T_33[10], _T_33[9]) @[el2_lib.scala 211:39] - node _T_155 = cat(_T_33[12], _T_33[11]) @[el2_lib.scala 211:39] - node _T_156 = cat(_T_155, _T_154) @[el2_lib.scala 211:39] - node _T_157 = cat(_T_33[14], _T_33[13]) @[el2_lib.scala 211:39] - node _T_158 = cat(_T_33[17], _T_33[16]) @[el2_lib.scala 211:39] - node _T_159 = cat(_T_158, _T_33[15]) @[el2_lib.scala 211:39] - node _T_160 = cat(_T_159, _T_157) @[el2_lib.scala 211:39] - node _T_161 = cat(_T_160, _T_156) @[el2_lib.scala 211:39] - node _T_162 = cat(_T_161, _T_153) @[el2_lib.scala 211:39] - node _T_163 = xorr(_T_162) @[el2_lib.scala 211:46] - node _T_164 = cat(_T_34[1], _T_34[0]) @[el2_lib.scala 211:56] - node _T_165 = cat(_T_34[3], _T_34[2]) @[el2_lib.scala 211:56] - node _T_166 = cat(_T_165, _T_164) @[el2_lib.scala 211:56] - node _T_167 = cat(_T_34[5], _T_34[4]) @[el2_lib.scala 211:56] - node _T_168 = cat(_T_34[8], _T_34[7]) @[el2_lib.scala 211:56] - node _T_169 = cat(_T_168, _T_34[6]) @[el2_lib.scala 211:56] - node _T_170 = cat(_T_169, _T_167) @[el2_lib.scala 211:56] - node _T_171 = cat(_T_170, _T_166) @[el2_lib.scala 211:56] - node _T_172 = cat(_T_34[10], _T_34[9]) @[el2_lib.scala 211:56] - node _T_173 = cat(_T_34[12], _T_34[11]) @[el2_lib.scala 211:56] - node _T_174 = cat(_T_173, _T_172) @[el2_lib.scala 211:56] - node _T_175 = cat(_T_34[14], _T_34[13]) @[el2_lib.scala 211:56] - node _T_176 = cat(_T_34[17], _T_34[16]) @[el2_lib.scala 211:56] - node _T_177 = cat(_T_176, _T_34[15]) @[el2_lib.scala 211:56] - node _T_178 = cat(_T_177, _T_175) @[el2_lib.scala 211:56] - node _T_179 = cat(_T_178, _T_174) @[el2_lib.scala 211:56] - node _T_180 = cat(_T_179, _T_171) @[el2_lib.scala 211:56] - node _T_181 = xorr(_T_180) @[el2_lib.scala 211:63] - node _T_182 = cat(_T_35[2], _T_35[1]) @[el2_lib.scala 211:73] - node _T_183 = cat(_T_182, _T_35[0]) @[el2_lib.scala 211:73] - node _T_184 = cat(_T_35[4], _T_35[3]) @[el2_lib.scala 211:73] - node _T_185 = cat(_T_35[6], _T_35[5]) @[el2_lib.scala 211:73] - node _T_186 = cat(_T_185, _T_184) @[el2_lib.scala 211:73] - node _T_187 = cat(_T_186, _T_183) @[el2_lib.scala 211:73] - node _T_188 = cat(_T_35[8], _T_35[7]) @[el2_lib.scala 211:73] - node _T_189 = cat(_T_35[10], _T_35[9]) @[el2_lib.scala 211:73] - node _T_190 = cat(_T_189, _T_188) @[el2_lib.scala 211:73] - node _T_191 = cat(_T_35[12], _T_35[11]) @[el2_lib.scala 211:73] - node _T_192 = cat(_T_35[14], _T_35[13]) @[el2_lib.scala 211:73] - node _T_193 = cat(_T_192, _T_191) @[el2_lib.scala 211:73] - node _T_194 = cat(_T_193, _T_190) @[el2_lib.scala 211:73] - node _T_195 = cat(_T_194, _T_187) @[el2_lib.scala 211:73] - node _T_196 = xorr(_T_195) @[el2_lib.scala 211:80] - node _T_197 = cat(_T_36[2], _T_36[1]) @[el2_lib.scala 211:90] - node _T_198 = cat(_T_197, _T_36[0]) @[el2_lib.scala 211:90] - node _T_199 = cat(_T_36[4], _T_36[3]) @[el2_lib.scala 211:90] - node _T_200 = cat(_T_36[6], _T_36[5]) @[el2_lib.scala 211:90] - node _T_201 = cat(_T_200, _T_199) @[el2_lib.scala 211:90] - node _T_202 = cat(_T_201, _T_198) @[el2_lib.scala 211:90] - node _T_203 = cat(_T_36[8], _T_36[7]) @[el2_lib.scala 211:90] - node _T_204 = cat(_T_36[10], _T_36[9]) @[el2_lib.scala 211:90] - node _T_205 = cat(_T_204, _T_203) @[el2_lib.scala 211:90] - node _T_206 = cat(_T_36[12], _T_36[11]) @[el2_lib.scala 211:90] - node _T_207 = cat(_T_36[14], _T_36[13]) @[el2_lib.scala 211:90] - node _T_208 = cat(_T_207, _T_206) @[el2_lib.scala 211:90] - node _T_209 = cat(_T_208, _T_205) @[el2_lib.scala 211:90] - node _T_210 = cat(_T_209, _T_202) @[el2_lib.scala 211:90] - node _T_211 = xorr(_T_210) @[el2_lib.scala 211:97] - node _T_212 = cat(_T_37[2], _T_37[1]) @[el2_lib.scala 211:107] - node _T_213 = cat(_T_212, _T_37[0]) @[el2_lib.scala 211:107] - node _T_214 = cat(_T_37[5], _T_37[4]) @[el2_lib.scala 211:107] - node _T_215 = cat(_T_214, _T_37[3]) @[el2_lib.scala 211:107] - node _T_216 = cat(_T_215, _T_213) @[el2_lib.scala 211:107] - node _T_217 = xorr(_T_216) @[el2_lib.scala 211:114] - node _T_218 = cat(_T_196, _T_211) @[Cat.scala 29:58] - node _T_219 = cat(_T_218, _T_217) @[Cat.scala 29:58] - node _T_220 = cat(_T_145, _T_163) @[Cat.scala 29:58] - node _T_221 = cat(_T_220, _T_181) @[Cat.scala 29:58] - node _T_222 = cat(_T_221, _T_219) @[Cat.scala 29:58] - node _T_223 = xorr(_T_31) @[el2_lib.scala 212:13] - node _T_224 = xorr(_T_222) @[el2_lib.scala 212:23] - node _T_225 = xor(_T_223, _T_224) @[el2_lib.scala 212:18] - node _T_226 = cat(_T_225, _T_222) @[Cat.scala 29:58] - ic_tag_ecc <= _T_226 @[el2_ifu_ic_mem.scala 91:18] - node _T_227 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 92:47] - node _T_228 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 93:32] - node _T_229 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 93:60] - node _T_230 = cat(_T_228, _T_229) @[Cat.scala 29:58] - node _T_231 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 94:23] - node _T_232 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 94:43] - node _T_233 = cat(_T_231, _T_232) @[Cat.scala 29:58] - node _T_234 = mux(_T_227, _T_230, _T_233) @[el2_ifu_ic_mem.scala 92:28] - ic_tag_wr_data <= _T_234 @[el2_ifu_ic_mem.scala 92:22] + wire _T_16 : UInt<1>[13] @[el2_lib.scala 177:24] + _T_16[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[2] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[3] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[4] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[5] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[6] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[7] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[8] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[9] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[10] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[11] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_16[12] <= UInt<1>("h00") @[el2_lib.scala 177:24] + node _T_17 = cat(_T_16[0], _T_16[1]) @[Cat.scala 29:58] + node _T_18 = cat(_T_17, _T_16[2]) @[Cat.scala 29:58] + node _T_19 = cat(_T_18, _T_16[3]) @[Cat.scala 29:58] + node _T_20 = cat(_T_19, _T_16[4]) @[Cat.scala 29:58] + node _T_21 = cat(_T_20, _T_16[5]) @[Cat.scala 29:58] + node _T_22 = cat(_T_21, _T_16[6]) @[Cat.scala 29:58] + node _T_23 = cat(_T_22, _T_16[7]) @[Cat.scala 29:58] + node _T_24 = cat(_T_23, _T_16[8]) @[Cat.scala 29:58] + node _T_25 = cat(_T_24, _T_16[9]) @[Cat.scala 29:58] + node _T_26 = cat(_T_25, _T_16[10]) @[Cat.scala 29:58] + node _T_27 = cat(_T_26, _T_16[11]) @[Cat.scala 29:58] + node _T_28 = cat(_T_27, _T_16[12]) @[Cat.scala 29:58] + node _T_29 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 91:77] + node _T_30 = cat(_T_28, _T_29) @[Cat.scala 29:58] + wire _T_31 : UInt<1>[18] @[el2_lib.scala 193:18] + wire _T_32 : UInt<1>[18] @[el2_lib.scala 194:18] + wire _T_33 : UInt<1>[18] @[el2_lib.scala 195:18] + wire _T_34 : UInt<1>[15] @[el2_lib.scala 196:18] + wire _T_35 : UInt<1>[15] @[el2_lib.scala 197:18] + wire _T_36 : UInt<1>[6] @[el2_lib.scala 198:18] + node _T_37 = bits(_T_30, 0, 0) @[el2_lib.scala 205:36] + _T_32[0] <= _T_37 @[el2_lib.scala 205:30] + node _T_38 = bits(_T_30, 0, 0) @[el2_lib.scala 206:36] + _T_33[0] <= _T_38 @[el2_lib.scala 206:30] + node _T_39 = bits(_T_30, 0, 0) @[el2_lib.scala 209:36] + _T_36[0] <= _T_39 @[el2_lib.scala 209:30] + node _T_40 = bits(_T_30, 1, 1) @[el2_lib.scala 204:36] + _T_31[0] <= _T_40 @[el2_lib.scala 204:30] + node _T_41 = bits(_T_30, 1, 1) @[el2_lib.scala 206:36] + _T_33[1] <= _T_41 @[el2_lib.scala 206:30] + node _T_42 = bits(_T_30, 1, 1) @[el2_lib.scala 209:36] + _T_36[1] <= _T_42 @[el2_lib.scala 209:30] + node _T_43 = bits(_T_30, 2, 2) @[el2_lib.scala 206:36] + _T_33[2] <= _T_43 @[el2_lib.scala 206:30] + node _T_44 = bits(_T_30, 2, 2) @[el2_lib.scala 209:36] + _T_36[2] <= _T_44 @[el2_lib.scala 209:30] + node _T_45 = bits(_T_30, 3, 3) @[el2_lib.scala 204:36] + _T_31[1] <= _T_45 @[el2_lib.scala 204:30] + node _T_46 = bits(_T_30, 3, 3) @[el2_lib.scala 205:36] + _T_32[1] <= _T_46 @[el2_lib.scala 205:30] + node _T_47 = bits(_T_30, 3, 3) @[el2_lib.scala 209:36] + _T_36[3] <= _T_47 @[el2_lib.scala 209:30] + node _T_48 = bits(_T_30, 4, 4) @[el2_lib.scala 205:36] + _T_32[2] <= _T_48 @[el2_lib.scala 205:30] + node _T_49 = bits(_T_30, 4, 4) @[el2_lib.scala 209:36] + _T_36[4] <= _T_49 @[el2_lib.scala 209:30] + node _T_50 = bits(_T_30, 5, 5) @[el2_lib.scala 204:36] + _T_31[2] <= _T_50 @[el2_lib.scala 204:30] + node _T_51 = bits(_T_30, 5, 5) @[el2_lib.scala 209:36] + _T_36[5] <= _T_51 @[el2_lib.scala 209:30] + node _T_52 = bits(_T_30, 6, 6) @[el2_lib.scala 204:36] + _T_31[3] <= _T_52 @[el2_lib.scala 204:30] + node _T_53 = bits(_T_30, 6, 6) @[el2_lib.scala 205:36] + _T_32[3] <= _T_53 @[el2_lib.scala 205:30] + node _T_54 = bits(_T_30, 6, 6) @[el2_lib.scala 206:36] + _T_33[3] <= _T_54 @[el2_lib.scala 206:30] + node _T_55 = bits(_T_30, 6, 6) @[el2_lib.scala 207:36] + _T_34[0] <= _T_55 @[el2_lib.scala 207:30] + node _T_56 = bits(_T_30, 6, 6) @[el2_lib.scala 208:36] + _T_35[0] <= _T_56 @[el2_lib.scala 208:30] + node _T_57 = bits(_T_30, 7, 7) @[el2_lib.scala 205:36] + _T_32[4] <= _T_57 @[el2_lib.scala 205:30] + node _T_58 = bits(_T_30, 7, 7) @[el2_lib.scala 206:36] + _T_33[4] <= _T_58 @[el2_lib.scala 206:30] + node _T_59 = bits(_T_30, 7, 7) @[el2_lib.scala 207:36] + _T_34[1] <= _T_59 @[el2_lib.scala 207:30] + node _T_60 = bits(_T_30, 7, 7) @[el2_lib.scala 208:36] + _T_35[1] <= _T_60 @[el2_lib.scala 208:30] + node _T_61 = bits(_T_30, 8, 8) @[el2_lib.scala 204:36] + _T_31[4] <= _T_61 @[el2_lib.scala 204:30] + node _T_62 = bits(_T_30, 8, 8) @[el2_lib.scala 206:36] + _T_33[5] <= _T_62 @[el2_lib.scala 206:30] + node _T_63 = bits(_T_30, 8, 8) @[el2_lib.scala 207:36] + _T_34[2] <= _T_63 @[el2_lib.scala 207:30] + node _T_64 = bits(_T_30, 8, 8) @[el2_lib.scala 208:36] + _T_35[2] <= _T_64 @[el2_lib.scala 208:30] + node _T_65 = bits(_T_30, 9, 9) @[el2_lib.scala 206:36] + _T_33[6] <= _T_65 @[el2_lib.scala 206:30] + node _T_66 = bits(_T_30, 9, 9) @[el2_lib.scala 207:36] + _T_34[3] <= _T_66 @[el2_lib.scala 207:30] + node _T_67 = bits(_T_30, 9, 9) @[el2_lib.scala 208:36] + _T_35[3] <= _T_67 @[el2_lib.scala 208:30] + node _T_68 = bits(_T_30, 10, 10) @[el2_lib.scala 204:36] + _T_31[5] <= _T_68 @[el2_lib.scala 204:30] + node _T_69 = bits(_T_30, 10, 10) @[el2_lib.scala 205:36] + _T_32[5] <= _T_69 @[el2_lib.scala 205:30] + node _T_70 = bits(_T_30, 10, 10) @[el2_lib.scala 207:36] + _T_34[4] <= _T_70 @[el2_lib.scala 207:30] + node _T_71 = bits(_T_30, 10, 10) @[el2_lib.scala 208:36] + _T_35[4] <= _T_71 @[el2_lib.scala 208:30] + node _T_72 = bits(_T_30, 11, 11) @[el2_lib.scala 205:36] + _T_32[6] <= _T_72 @[el2_lib.scala 205:30] + node _T_73 = bits(_T_30, 11, 11) @[el2_lib.scala 207:36] + _T_34[5] <= _T_73 @[el2_lib.scala 207:30] + node _T_74 = bits(_T_30, 11, 11) @[el2_lib.scala 208:36] + _T_35[5] <= _T_74 @[el2_lib.scala 208:30] + node _T_75 = bits(_T_30, 12, 12) @[el2_lib.scala 204:36] + _T_31[6] <= _T_75 @[el2_lib.scala 204:30] + node _T_76 = bits(_T_30, 12, 12) @[el2_lib.scala 207:36] + _T_34[6] <= _T_76 @[el2_lib.scala 207:30] + node _T_77 = bits(_T_30, 12, 12) @[el2_lib.scala 208:36] + _T_35[6] <= _T_77 @[el2_lib.scala 208:30] + node _T_78 = bits(_T_30, 13, 13) @[el2_lib.scala 207:36] + _T_34[7] <= _T_78 @[el2_lib.scala 207:30] + node _T_79 = bits(_T_30, 13, 13) @[el2_lib.scala 208:36] + _T_35[7] <= _T_79 @[el2_lib.scala 208:30] + node _T_80 = bits(_T_30, 14, 14) @[el2_lib.scala 204:36] + _T_31[7] <= _T_80 @[el2_lib.scala 204:30] + node _T_81 = bits(_T_30, 14, 14) @[el2_lib.scala 205:36] + _T_32[7] <= _T_81 @[el2_lib.scala 205:30] + node _T_82 = bits(_T_30, 14, 14) @[el2_lib.scala 206:36] + _T_33[7] <= _T_82 @[el2_lib.scala 206:30] + node _T_83 = bits(_T_30, 14, 14) @[el2_lib.scala 208:36] + _T_35[8] <= _T_83 @[el2_lib.scala 208:30] + node _T_84 = bits(_T_30, 15, 15) @[el2_lib.scala 205:36] + _T_32[8] <= _T_84 @[el2_lib.scala 205:30] + node _T_85 = bits(_T_30, 15, 15) @[el2_lib.scala 206:36] + _T_33[8] <= _T_85 @[el2_lib.scala 206:30] + node _T_86 = bits(_T_30, 15, 15) @[el2_lib.scala 208:36] + _T_35[9] <= _T_86 @[el2_lib.scala 208:30] + node _T_87 = bits(_T_30, 16, 16) @[el2_lib.scala 204:36] + _T_31[8] <= _T_87 @[el2_lib.scala 204:30] + node _T_88 = bits(_T_30, 16, 16) @[el2_lib.scala 206:36] + _T_33[9] <= _T_88 @[el2_lib.scala 206:30] + node _T_89 = bits(_T_30, 16, 16) @[el2_lib.scala 208:36] + _T_35[10] <= _T_89 @[el2_lib.scala 208:30] + node _T_90 = bits(_T_30, 17, 17) @[el2_lib.scala 206:36] + _T_33[10] <= _T_90 @[el2_lib.scala 206:30] + node _T_91 = bits(_T_30, 17, 17) @[el2_lib.scala 208:36] + _T_35[11] <= _T_91 @[el2_lib.scala 208:30] + node _T_92 = bits(_T_30, 18, 18) @[el2_lib.scala 204:36] + _T_31[9] <= _T_92 @[el2_lib.scala 204:30] + node _T_93 = bits(_T_30, 18, 18) @[el2_lib.scala 205:36] + _T_32[9] <= _T_93 @[el2_lib.scala 205:30] + node _T_94 = bits(_T_30, 18, 18) @[el2_lib.scala 208:36] + _T_35[12] <= _T_94 @[el2_lib.scala 208:30] + node _T_95 = bits(_T_30, 19, 19) @[el2_lib.scala 205:36] + _T_32[10] <= _T_95 @[el2_lib.scala 205:30] + node _T_96 = bits(_T_30, 19, 19) @[el2_lib.scala 208:36] + _T_35[13] <= _T_96 @[el2_lib.scala 208:30] + node _T_97 = bits(_T_30, 20, 20) @[el2_lib.scala 204:36] + _T_31[10] <= _T_97 @[el2_lib.scala 204:30] + node _T_98 = bits(_T_30, 20, 20) @[el2_lib.scala 208:36] + _T_35[14] <= _T_98 @[el2_lib.scala 208:30] + node _T_99 = bits(_T_30, 21, 21) @[el2_lib.scala 204:36] + _T_31[11] <= _T_99 @[el2_lib.scala 204:30] + node _T_100 = bits(_T_30, 21, 21) @[el2_lib.scala 205:36] + _T_32[11] <= _T_100 @[el2_lib.scala 205:30] + node _T_101 = bits(_T_30, 21, 21) @[el2_lib.scala 206:36] + _T_33[11] <= _T_101 @[el2_lib.scala 206:30] + node _T_102 = bits(_T_30, 21, 21) @[el2_lib.scala 207:36] + _T_34[8] <= _T_102 @[el2_lib.scala 207:30] + node _T_103 = bits(_T_30, 22, 22) @[el2_lib.scala 205:36] + _T_32[12] <= _T_103 @[el2_lib.scala 205:30] + node _T_104 = bits(_T_30, 22, 22) @[el2_lib.scala 206:36] + _T_33[12] <= _T_104 @[el2_lib.scala 206:30] + node _T_105 = bits(_T_30, 22, 22) @[el2_lib.scala 207:36] + _T_34[9] <= _T_105 @[el2_lib.scala 207:30] + node _T_106 = bits(_T_30, 23, 23) @[el2_lib.scala 204:36] + _T_31[12] <= _T_106 @[el2_lib.scala 204:30] + node _T_107 = bits(_T_30, 23, 23) @[el2_lib.scala 206:36] + _T_33[13] <= _T_107 @[el2_lib.scala 206:30] + node _T_108 = bits(_T_30, 23, 23) @[el2_lib.scala 207:36] + _T_34[10] <= _T_108 @[el2_lib.scala 207:30] + node _T_109 = bits(_T_30, 24, 24) @[el2_lib.scala 206:36] + _T_33[14] <= _T_109 @[el2_lib.scala 206:30] + node _T_110 = bits(_T_30, 24, 24) @[el2_lib.scala 207:36] + _T_34[11] <= _T_110 @[el2_lib.scala 207:30] + node _T_111 = bits(_T_30, 25, 25) @[el2_lib.scala 204:36] + _T_31[13] <= _T_111 @[el2_lib.scala 204:30] + node _T_112 = bits(_T_30, 25, 25) @[el2_lib.scala 205:36] + _T_32[13] <= _T_112 @[el2_lib.scala 205:30] + node _T_113 = bits(_T_30, 25, 25) @[el2_lib.scala 207:36] + _T_34[12] <= _T_113 @[el2_lib.scala 207:30] + node _T_114 = bits(_T_30, 26, 26) @[el2_lib.scala 205:36] + _T_32[14] <= _T_114 @[el2_lib.scala 205:30] + node _T_115 = bits(_T_30, 26, 26) @[el2_lib.scala 207:36] + _T_34[13] <= _T_115 @[el2_lib.scala 207:30] + node _T_116 = bits(_T_30, 27, 27) @[el2_lib.scala 204:36] + _T_31[14] <= _T_116 @[el2_lib.scala 204:30] + node _T_117 = bits(_T_30, 27, 27) @[el2_lib.scala 207:36] + _T_34[14] <= _T_117 @[el2_lib.scala 207:30] + node _T_118 = bits(_T_30, 28, 28) @[el2_lib.scala 204:36] + _T_31[15] <= _T_118 @[el2_lib.scala 204:30] + node _T_119 = bits(_T_30, 28, 28) @[el2_lib.scala 205:36] + _T_32[15] <= _T_119 @[el2_lib.scala 205:30] + node _T_120 = bits(_T_30, 28, 28) @[el2_lib.scala 206:36] + _T_33[15] <= _T_120 @[el2_lib.scala 206:30] + node _T_121 = bits(_T_30, 29, 29) @[el2_lib.scala 205:36] + _T_32[16] <= _T_121 @[el2_lib.scala 205:30] + node _T_122 = bits(_T_30, 29, 29) @[el2_lib.scala 206:36] + _T_33[16] <= _T_122 @[el2_lib.scala 206:30] + node _T_123 = bits(_T_30, 30, 30) @[el2_lib.scala 204:36] + _T_31[16] <= _T_123 @[el2_lib.scala 204:30] + node _T_124 = bits(_T_30, 30, 30) @[el2_lib.scala 206:36] + _T_33[17] <= _T_124 @[el2_lib.scala 206:30] + node _T_125 = bits(_T_30, 31, 31) @[el2_lib.scala 204:36] + _T_31[17] <= _T_125 @[el2_lib.scala 204:30] + node _T_126 = bits(_T_30, 31, 31) @[el2_lib.scala 205:36] + _T_32[17] <= _T_126 @[el2_lib.scala 205:30] + node _T_127 = cat(_T_31[1], _T_31[0]) @[el2_lib.scala 211:22] + node _T_128 = cat(_T_31[3], _T_31[2]) @[el2_lib.scala 211:22] + node _T_129 = cat(_T_128, _T_127) @[el2_lib.scala 211:22] + node _T_130 = cat(_T_31[5], _T_31[4]) @[el2_lib.scala 211:22] + node _T_131 = cat(_T_31[8], _T_31[7]) @[el2_lib.scala 211:22] + node _T_132 = cat(_T_131, _T_31[6]) @[el2_lib.scala 211:22] + node _T_133 = cat(_T_132, _T_130) @[el2_lib.scala 211:22] + node _T_134 = cat(_T_133, _T_129) @[el2_lib.scala 211:22] + node _T_135 = cat(_T_31[10], _T_31[9]) @[el2_lib.scala 211:22] + node _T_136 = cat(_T_31[12], _T_31[11]) @[el2_lib.scala 211:22] + node _T_137 = cat(_T_136, _T_135) @[el2_lib.scala 211:22] + node _T_138 = cat(_T_31[14], _T_31[13]) @[el2_lib.scala 211:22] + node _T_139 = cat(_T_31[17], _T_31[16]) @[el2_lib.scala 211:22] + node _T_140 = cat(_T_139, _T_31[15]) @[el2_lib.scala 211:22] + node _T_141 = cat(_T_140, _T_138) @[el2_lib.scala 211:22] + node _T_142 = cat(_T_141, _T_137) @[el2_lib.scala 211:22] + node _T_143 = cat(_T_142, _T_134) @[el2_lib.scala 211:22] + node _T_144 = xorr(_T_143) @[el2_lib.scala 211:29] + node _T_145 = cat(_T_32[1], _T_32[0]) @[el2_lib.scala 211:39] + node _T_146 = cat(_T_32[3], _T_32[2]) @[el2_lib.scala 211:39] + node _T_147 = cat(_T_146, _T_145) @[el2_lib.scala 211:39] + node _T_148 = cat(_T_32[5], _T_32[4]) @[el2_lib.scala 211:39] + node _T_149 = cat(_T_32[8], _T_32[7]) @[el2_lib.scala 211:39] + node _T_150 = cat(_T_149, _T_32[6]) @[el2_lib.scala 211:39] + node _T_151 = cat(_T_150, _T_148) @[el2_lib.scala 211:39] + node _T_152 = cat(_T_151, _T_147) @[el2_lib.scala 211:39] + node _T_153 = cat(_T_32[10], _T_32[9]) @[el2_lib.scala 211:39] + node _T_154 = cat(_T_32[12], _T_32[11]) @[el2_lib.scala 211:39] + node _T_155 = cat(_T_154, _T_153) @[el2_lib.scala 211:39] + node _T_156 = cat(_T_32[14], _T_32[13]) @[el2_lib.scala 211:39] + node _T_157 = cat(_T_32[17], _T_32[16]) @[el2_lib.scala 211:39] + node _T_158 = cat(_T_157, _T_32[15]) @[el2_lib.scala 211:39] + node _T_159 = cat(_T_158, _T_156) @[el2_lib.scala 211:39] + node _T_160 = cat(_T_159, _T_155) @[el2_lib.scala 211:39] + node _T_161 = cat(_T_160, _T_152) @[el2_lib.scala 211:39] + node _T_162 = xorr(_T_161) @[el2_lib.scala 211:46] + node _T_163 = cat(_T_33[1], _T_33[0]) @[el2_lib.scala 211:56] + node _T_164 = cat(_T_33[3], _T_33[2]) @[el2_lib.scala 211:56] + node _T_165 = cat(_T_164, _T_163) @[el2_lib.scala 211:56] + node _T_166 = cat(_T_33[5], _T_33[4]) @[el2_lib.scala 211:56] + node _T_167 = cat(_T_33[8], _T_33[7]) @[el2_lib.scala 211:56] + node _T_168 = cat(_T_167, _T_33[6]) @[el2_lib.scala 211:56] + node _T_169 = cat(_T_168, _T_166) @[el2_lib.scala 211:56] + node _T_170 = cat(_T_169, _T_165) @[el2_lib.scala 211:56] + node _T_171 = cat(_T_33[10], _T_33[9]) @[el2_lib.scala 211:56] + node _T_172 = cat(_T_33[12], _T_33[11]) @[el2_lib.scala 211:56] + node _T_173 = cat(_T_172, _T_171) @[el2_lib.scala 211:56] + node _T_174 = cat(_T_33[14], _T_33[13]) @[el2_lib.scala 211:56] + node _T_175 = cat(_T_33[17], _T_33[16]) @[el2_lib.scala 211:56] + node _T_176 = cat(_T_175, _T_33[15]) @[el2_lib.scala 211:56] + node _T_177 = cat(_T_176, _T_174) @[el2_lib.scala 211:56] + node _T_178 = cat(_T_177, _T_173) @[el2_lib.scala 211:56] + node _T_179 = cat(_T_178, _T_170) @[el2_lib.scala 211:56] + node _T_180 = xorr(_T_179) @[el2_lib.scala 211:63] + node _T_181 = cat(_T_34[2], _T_34[1]) @[el2_lib.scala 211:73] + node _T_182 = cat(_T_181, _T_34[0]) @[el2_lib.scala 211:73] + node _T_183 = cat(_T_34[4], _T_34[3]) @[el2_lib.scala 211:73] + node _T_184 = cat(_T_34[6], _T_34[5]) @[el2_lib.scala 211:73] + node _T_185 = cat(_T_184, _T_183) @[el2_lib.scala 211:73] + node _T_186 = cat(_T_185, _T_182) @[el2_lib.scala 211:73] + node _T_187 = cat(_T_34[8], _T_34[7]) @[el2_lib.scala 211:73] + node _T_188 = cat(_T_34[10], _T_34[9]) @[el2_lib.scala 211:73] + node _T_189 = cat(_T_188, _T_187) @[el2_lib.scala 211:73] + node _T_190 = cat(_T_34[12], _T_34[11]) @[el2_lib.scala 211:73] + node _T_191 = cat(_T_34[14], _T_34[13]) @[el2_lib.scala 211:73] + node _T_192 = cat(_T_191, _T_190) @[el2_lib.scala 211:73] + node _T_193 = cat(_T_192, _T_189) @[el2_lib.scala 211:73] + node _T_194 = cat(_T_193, _T_186) @[el2_lib.scala 211:73] + node _T_195 = xorr(_T_194) @[el2_lib.scala 211:80] + node _T_196 = cat(_T_35[2], _T_35[1]) @[el2_lib.scala 211:90] + node _T_197 = cat(_T_196, _T_35[0]) @[el2_lib.scala 211:90] + node _T_198 = cat(_T_35[4], _T_35[3]) @[el2_lib.scala 211:90] + node _T_199 = cat(_T_35[6], _T_35[5]) @[el2_lib.scala 211:90] + node _T_200 = cat(_T_199, _T_198) @[el2_lib.scala 211:90] + node _T_201 = cat(_T_200, _T_197) @[el2_lib.scala 211:90] + node _T_202 = cat(_T_35[8], _T_35[7]) @[el2_lib.scala 211:90] + node _T_203 = cat(_T_35[10], _T_35[9]) @[el2_lib.scala 211:90] + node _T_204 = cat(_T_203, _T_202) @[el2_lib.scala 211:90] + node _T_205 = cat(_T_35[12], _T_35[11]) @[el2_lib.scala 211:90] + node _T_206 = cat(_T_35[14], _T_35[13]) @[el2_lib.scala 211:90] + node _T_207 = cat(_T_206, _T_205) @[el2_lib.scala 211:90] + node _T_208 = cat(_T_207, _T_204) @[el2_lib.scala 211:90] + node _T_209 = cat(_T_208, _T_201) @[el2_lib.scala 211:90] + node _T_210 = xorr(_T_209) @[el2_lib.scala 211:97] + node _T_211 = cat(_T_36[2], _T_36[1]) @[el2_lib.scala 211:107] + node _T_212 = cat(_T_211, _T_36[0]) @[el2_lib.scala 211:107] + node _T_213 = cat(_T_36[5], _T_36[4]) @[el2_lib.scala 211:107] + node _T_214 = cat(_T_213, _T_36[3]) @[el2_lib.scala 211:107] + node _T_215 = cat(_T_214, _T_212) @[el2_lib.scala 211:107] + node _T_216 = xorr(_T_215) @[el2_lib.scala 211:114] + node _T_217 = cat(_T_195, _T_210) @[Cat.scala 29:58] + node _T_218 = cat(_T_217, _T_216) @[Cat.scala 29:58] + node _T_219 = cat(_T_144, _T_162) @[Cat.scala 29:58] + node _T_220 = cat(_T_219, _T_180) @[Cat.scala 29:58] + node _T_221 = cat(_T_220, _T_218) @[Cat.scala 29:58] + node _T_222 = xorr(_T_30) @[el2_lib.scala 212:13] + node _T_223 = xorr(_T_221) @[el2_lib.scala 212:23] + node _T_224 = xor(_T_222, _T_223) @[el2_lib.scala 212:18] + node _T_225 = cat(_T_224, _T_221) @[Cat.scala 29:58] + ic_tag_ecc <= _T_225 @[el2_ifu_ic_mem.scala 91:18] + node _T_226 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 92:47] + node _T_227 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 93:32] + node _T_228 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 93:60] + node _T_229 = cat(_T_227, _T_228) @[Cat.scala 29:58] + node _T_230 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 94:23] + node _T_231 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 94:43] + node _T_232 = cat(_T_230, _T_231) @[Cat.scala 29:58] + node _T_233 = mux(_T_226, _T_229, _T_232) @[el2_ifu_ic_mem.scala 92:28] + ic_tag_wr_data <= _T_233 @[el2_ifu_ic_mem.scala 92:22] skip @[el2_ifu_ic_mem.scala 90:25] else : @[el2_ifu_ic_mem.scala 96:17] - node _T_235 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 97:56] - node _T_236 = xorr(_T_235) @[el2_lib.scala 183:13] - ic_tag_parity <= _T_236 @[el2_ifu_ic_mem.scala 97:23] - node _T_237 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 98:49] - node _T_238 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 99:34] - node _T_239 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 99:62] - node _T_240 = cat(_T_238, _T_239) @[Cat.scala 29:58] - node _T_241 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 100:25] - node _T_242 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 100:45] - node _T_243 = cat(_T_241, _T_242) @[Cat.scala 29:58] - node _T_244 = mux(_T_237, _T_240, _T_243) @[el2_ifu_ic_mem.scala 98:30] - ic_tag_wr_data <= _T_244 @[el2_ifu_ic_mem.scala 98:24] + node _T_234 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 97:56] + node _T_235 = xorr(_T_234) @[el2_lib.scala 183:13] + ic_tag_parity <= _T_235 @[el2_ifu_ic_mem.scala 97:23] + node _T_236 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 98:49] + node _T_237 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 99:34] + node _T_238 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 99:62] + node _T_239 = cat(_T_237, _T_238) @[Cat.scala 29:58] + node _T_240 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 100:25] + node _T_241 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 100:45] + node _T_242 = cat(_T_240, _T_241) @[Cat.scala 29:58] + node _T_243 = mux(_T_236, _T_239, _T_242) @[el2_ifu_ic_mem.scala 98:30] + ic_tag_wr_data <= _T_243 @[el2_ifu_ic_mem.scala 98:24] skip @[el2_ifu_ic_mem.scala 96:17] skip @[el2_ifu_ic_mem.scala 89:32] else : @[el2_ifu_ic_mem.scala 104:15] when UInt<1>("h01") : @[el2_ifu_ic_mem.scala 105:25] - wire _T_245 : UInt<1>[13] @[el2_lib.scala 177:24] - _T_245[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[2] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[3] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[4] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[5] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[6] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[7] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[8] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[9] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[10] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[11] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_245[12] <= UInt<1>("h00") @[el2_lib.scala 177:24] - node _T_246 = cat(_T_245[0], _T_245[1]) @[Cat.scala 29:58] - node _T_247 = cat(_T_246, _T_245[2]) @[Cat.scala 29:58] - node _T_248 = cat(_T_247, _T_245[3]) @[Cat.scala 29:58] - node _T_249 = cat(_T_248, _T_245[4]) @[Cat.scala 29:58] - node _T_250 = cat(_T_249, _T_245[5]) @[Cat.scala 29:58] - node _T_251 = cat(_T_250, _T_245[6]) @[Cat.scala 29:58] - node _T_252 = cat(_T_251, _T_245[7]) @[Cat.scala 29:58] - node _T_253 = cat(_T_252, _T_245[8]) @[Cat.scala 29:58] - node _T_254 = cat(_T_253, _T_245[9]) @[Cat.scala 29:58] - node _T_255 = cat(_T_254, _T_245[10]) @[Cat.scala 29:58] - node _T_256 = cat(_T_255, _T_245[11]) @[Cat.scala 29:58] - node _T_257 = cat(_T_256, _T_245[12]) @[Cat.scala 29:58] - node _T_258 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 106:79] - node _T_259 = cat(_T_257, _T_258) @[Cat.scala 29:58] - wire _T_260 : UInt<1>[18] @[el2_lib.scala 193:18] - wire _T_261 : UInt<1>[18] @[el2_lib.scala 194:18] - wire _T_262 : UInt<1>[18] @[el2_lib.scala 195:18] - wire _T_263 : UInt<1>[15] @[el2_lib.scala 196:18] - wire _T_264 : UInt<1>[15] @[el2_lib.scala 197:18] - wire _T_265 : UInt<1>[6] @[el2_lib.scala 198:18] - node _T_266 = bits(_T_259, 0, 0) @[el2_lib.scala 205:36] - _T_261[0] <= _T_266 @[el2_lib.scala 205:30] - node _T_267 = bits(_T_259, 0, 0) @[el2_lib.scala 206:36] - _T_262[0] <= _T_267 @[el2_lib.scala 206:30] - node _T_268 = bits(_T_259, 0, 0) @[el2_lib.scala 209:36] - _T_265[0] <= _T_268 @[el2_lib.scala 209:30] - node _T_269 = bits(_T_259, 1, 1) @[el2_lib.scala 204:36] - _T_260[0] <= _T_269 @[el2_lib.scala 204:30] - node _T_270 = bits(_T_259, 1, 1) @[el2_lib.scala 206:36] - _T_262[1] <= _T_270 @[el2_lib.scala 206:30] - node _T_271 = bits(_T_259, 1, 1) @[el2_lib.scala 209:36] - _T_265[1] <= _T_271 @[el2_lib.scala 209:30] - node _T_272 = bits(_T_259, 2, 2) @[el2_lib.scala 206:36] - _T_262[2] <= _T_272 @[el2_lib.scala 206:30] - node _T_273 = bits(_T_259, 2, 2) @[el2_lib.scala 209:36] - _T_265[2] <= _T_273 @[el2_lib.scala 209:30] - node _T_274 = bits(_T_259, 3, 3) @[el2_lib.scala 204:36] - _T_260[1] <= _T_274 @[el2_lib.scala 204:30] - node _T_275 = bits(_T_259, 3, 3) @[el2_lib.scala 205:36] - _T_261[1] <= _T_275 @[el2_lib.scala 205:30] - node _T_276 = bits(_T_259, 3, 3) @[el2_lib.scala 209:36] - _T_265[3] <= _T_276 @[el2_lib.scala 209:30] - node _T_277 = bits(_T_259, 4, 4) @[el2_lib.scala 205:36] - _T_261[2] <= _T_277 @[el2_lib.scala 205:30] - node _T_278 = bits(_T_259, 4, 4) @[el2_lib.scala 209:36] - _T_265[4] <= _T_278 @[el2_lib.scala 209:30] - node _T_279 = bits(_T_259, 5, 5) @[el2_lib.scala 204:36] - _T_260[2] <= _T_279 @[el2_lib.scala 204:30] - node _T_280 = bits(_T_259, 5, 5) @[el2_lib.scala 209:36] - _T_265[5] <= _T_280 @[el2_lib.scala 209:30] - node _T_281 = bits(_T_259, 6, 6) @[el2_lib.scala 204:36] - _T_260[3] <= _T_281 @[el2_lib.scala 204:30] - node _T_282 = bits(_T_259, 6, 6) @[el2_lib.scala 205:36] - _T_261[3] <= _T_282 @[el2_lib.scala 205:30] - node _T_283 = bits(_T_259, 6, 6) @[el2_lib.scala 206:36] - _T_262[3] <= _T_283 @[el2_lib.scala 206:30] - node _T_284 = bits(_T_259, 6, 6) @[el2_lib.scala 207:36] - _T_263[0] <= _T_284 @[el2_lib.scala 207:30] - node _T_285 = bits(_T_259, 6, 6) @[el2_lib.scala 208:36] - _T_264[0] <= _T_285 @[el2_lib.scala 208:30] - node _T_286 = bits(_T_259, 7, 7) @[el2_lib.scala 205:36] - _T_261[4] <= _T_286 @[el2_lib.scala 205:30] - node _T_287 = bits(_T_259, 7, 7) @[el2_lib.scala 206:36] - _T_262[4] <= _T_287 @[el2_lib.scala 206:30] - node _T_288 = bits(_T_259, 7, 7) @[el2_lib.scala 207:36] - _T_263[1] <= _T_288 @[el2_lib.scala 207:30] - node _T_289 = bits(_T_259, 7, 7) @[el2_lib.scala 208:36] - _T_264[1] <= _T_289 @[el2_lib.scala 208:30] - node _T_290 = bits(_T_259, 8, 8) @[el2_lib.scala 204:36] - _T_260[4] <= _T_290 @[el2_lib.scala 204:30] - node _T_291 = bits(_T_259, 8, 8) @[el2_lib.scala 206:36] - _T_262[5] <= _T_291 @[el2_lib.scala 206:30] - node _T_292 = bits(_T_259, 8, 8) @[el2_lib.scala 207:36] - _T_263[2] <= _T_292 @[el2_lib.scala 207:30] - node _T_293 = bits(_T_259, 8, 8) @[el2_lib.scala 208:36] - _T_264[2] <= _T_293 @[el2_lib.scala 208:30] - node _T_294 = bits(_T_259, 9, 9) @[el2_lib.scala 206:36] - _T_262[6] <= _T_294 @[el2_lib.scala 206:30] - node _T_295 = bits(_T_259, 9, 9) @[el2_lib.scala 207:36] - _T_263[3] <= _T_295 @[el2_lib.scala 207:30] - node _T_296 = bits(_T_259, 9, 9) @[el2_lib.scala 208:36] - _T_264[3] <= _T_296 @[el2_lib.scala 208:30] - node _T_297 = bits(_T_259, 10, 10) @[el2_lib.scala 204:36] - _T_260[5] <= _T_297 @[el2_lib.scala 204:30] - node _T_298 = bits(_T_259, 10, 10) @[el2_lib.scala 205:36] - _T_261[5] <= _T_298 @[el2_lib.scala 205:30] - node _T_299 = bits(_T_259, 10, 10) @[el2_lib.scala 207:36] - _T_263[4] <= _T_299 @[el2_lib.scala 207:30] - node _T_300 = bits(_T_259, 10, 10) @[el2_lib.scala 208:36] - _T_264[4] <= _T_300 @[el2_lib.scala 208:30] - node _T_301 = bits(_T_259, 11, 11) @[el2_lib.scala 205:36] - _T_261[6] <= _T_301 @[el2_lib.scala 205:30] - node _T_302 = bits(_T_259, 11, 11) @[el2_lib.scala 207:36] - _T_263[5] <= _T_302 @[el2_lib.scala 207:30] - node _T_303 = bits(_T_259, 11, 11) @[el2_lib.scala 208:36] - _T_264[5] <= _T_303 @[el2_lib.scala 208:30] - node _T_304 = bits(_T_259, 12, 12) @[el2_lib.scala 204:36] - _T_260[6] <= _T_304 @[el2_lib.scala 204:30] - node _T_305 = bits(_T_259, 12, 12) @[el2_lib.scala 207:36] - _T_263[6] <= _T_305 @[el2_lib.scala 207:30] - node _T_306 = bits(_T_259, 12, 12) @[el2_lib.scala 208:36] - _T_264[6] <= _T_306 @[el2_lib.scala 208:30] - node _T_307 = bits(_T_259, 13, 13) @[el2_lib.scala 207:36] - _T_263[7] <= _T_307 @[el2_lib.scala 207:30] - node _T_308 = bits(_T_259, 13, 13) @[el2_lib.scala 208:36] - _T_264[7] <= _T_308 @[el2_lib.scala 208:30] - node _T_309 = bits(_T_259, 14, 14) @[el2_lib.scala 204:36] - _T_260[7] <= _T_309 @[el2_lib.scala 204:30] - node _T_310 = bits(_T_259, 14, 14) @[el2_lib.scala 205:36] - _T_261[7] <= _T_310 @[el2_lib.scala 205:30] - node _T_311 = bits(_T_259, 14, 14) @[el2_lib.scala 206:36] - _T_262[7] <= _T_311 @[el2_lib.scala 206:30] - node _T_312 = bits(_T_259, 14, 14) @[el2_lib.scala 208:36] - _T_264[8] <= _T_312 @[el2_lib.scala 208:30] - node _T_313 = bits(_T_259, 15, 15) @[el2_lib.scala 205:36] - _T_261[8] <= _T_313 @[el2_lib.scala 205:30] - node _T_314 = bits(_T_259, 15, 15) @[el2_lib.scala 206:36] - _T_262[8] <= _T_314 @[el2_lib.scala 206:30] - node _T_315 = bits(_T_259, 15, 15) @[el2_lib.scala 208:36] - _T_264[9] <= _T_315 @[el2_lib.scala 208:30] - node _T_316 = bits(_T_259, 16, 16) @[el2_lib.scala 204:36] - _T_260[8] <= _T_316 @[el2_lib.scala 204:30] - node _T_317 = bits(_T_259, 16, 16) @[el2_lib.scala 206:36] - _T_262[9] <= _T_317 @[el2_lib.scala 206:30] - node _T_318 = bits(_T_259, 16, 16) @[el2_lib.scala 208:36] - _T_264[10] <= _T_318 @[el2_lib.scala 208:30] - node _T_319 = bits(_T_259, 17, 17) @[el2_lib.scala 206:36] - _T_262[10] <= _T_319 @[el2_lib.scala 206:30] - node _T_320 = bits(_T_259, 17, 17) @[el2_lib.scala 208:36] - _T_264[11] <= _T_320 @[el2_lib.scala 208:30] - node _T_321 = bits(_T_259, 18, 18) @[el2_lib.scala 204:36] - _T_260[9] <= _T_321 @[el2_lib.scala 204:30] - node _T_322 = bits(_T_259, 18, 18) @[el2_lib.scala 205:36] - _T_261[9] <= _T_322 @[el2_lib.scala 205:30] - node _T_323 = bits(_T_259, 18, 18) @[el2_lib.scala 208:36] - _T_264[12] <= _T_323 @[el2_lib.scala 208:30] - node _T_324 = bits(_T_259, 19, 19) @[el2_lib.scala 205:36] - _T_261[10] <= _T_324 @[el2_lib.scala 205:30] - node _T_325 = bits(_T_259, 19, 19) @[el2_lib.scala 208:36] - _T_264[13] <= _T_325 @[el2_lib.scala 208:30] - node _T_326 = bits(_T_259, 20, 20) @[el2_lib.scala 204:36] - _T_260[10] <= _T_326 @[el2_lib.scala 204:30] - node _T_327 = bits(_T_259, 20, 20) @[el2_lib.scala 208:36] - _T_264[14] <= _T_327 @[el2_lib.scala 208:30] - node _T_328 = bits(_T_259, 21, 21) @[el2_lib.scala 204:36] - _T_260[11] <= _T_328 @[el2_lib.scala 204:30] - node _T_329 = bits(_T_259, 21, 21) @[el2_lib.scala 205:36] - _T_261[11] <= _T_329 @[el2_lib.scala 205:30] - node _T_330 = bits(_T_259, 21, 21) @[el2_lib.scala 206:36] - _T_262[11] <= _T_330 @[el2_lib.scala 206:30] - node _T_331 = bits(_T_259, 21, 21) @[el2_lib.scala 207:36] - _T_263[8] <= _T_331 @[el2_lib.scala 207:30] - node _T_332 = bits(_T_259, 22, 22) @[el2_lib.scala 205:36] - _T_261[12] <= _T_332 @[el2_lib.scala 205:30] - node _T_333 = bits(_T_259, 22, 22) @[el2_lib.scala 206:36] - _T_262[12] <= _T_333 @[el2_lib.scala 206:30] - node _T_334 = bits(_T_259, 22, 22) @[el2_lib.scala 207:36] - _T_263[9] <= _T_334 @[el2_lib.scala 207:30] - node _T_335 = bits(_T_259, 23, 23) @[el2_lib.scala 204:36] - _T_260[12] <= _T_335 @[el2_lib.scala 204:30] - node _T_336 = bits(_T_259, 23, 23) @[el2_lib.scala 206:36] - _T_262[13] <= _T_336 @[el2_lib.scala 206:30] - node _T_337 = bits(_T_259, 23, 23) @[el2_lib.scala 207:36] - _T_263[10] <= _T_337 @[el2_lib.scala 207:30] - node _T_338 = bits(_T_259, 24, 24) @[el2_lib.scala 206:36] - _T_262[14] <= _T_338 @[el2_lib.scala 206:30] - node _T_339 = bits(_T_259, 24, 24) @[el2_lib.scala 207:36] - _T_263[11] <= _T_339 @[el2_lib.scala 207:30] - node _T_340 = bits(_T_259, 25, 25) @[el2_lib.scala 204:36] - _T_260[13] <= _T_340 @[el2_lib.scala 204:30] - node _T_341 = bits(_T_259, 25, 25) @[el2_lib.scala 205:36] - _T_261[13] <= _T_341 @[el2_lib.scala 205:30] - node _T_342 = bits(_T_259, 25, 25) @[el2_lib.scala 207:36] - _T_263[12] <= _T_342 @[el2_lib.scala 207:30] - node _T_343 = bits(_T_259, 26, 26) @[el2_lib.scala 205:36] - _T_261[14] <= _T_343 @[el2_lib.scala 205:30] - node _T_344 = bits(_T_259, 26, 26) @[el2_lib.scala 207:36] - _T_263[13] <= _T_344 @[el2_lib.scala 207:30] - node _T_345 = bits(_T_259, 27, 27) @[el2_lib.scala 204:36] - _T_260[14] <= _T_345 @[el2_lib.scala 204:30] - node _T_346 = bits(_T_259, 27, 27) @[el2_lib.scala 207:36] - _T_263[14] <= _T_346 @[el2_lib.scala 207:30] - node _T_347 = bits(_T_259, 28, 28) @[el2_lib.scala 204:36] - _T_260[15] <= _T_347 @[el2_lib.scala 204:30] - node _T_348 = bits(_T_259, 28, 28) @[el2_lib.scala 205:36] - _T_261[15] <= _T_348 @[el2_lib.scala 205:30] - node _T_349 = bits(_T_259, 28, 28) @[el2_lib.scala 206:36] - _T_262[15] <= _T_349 @[el2_lib.scala 206:30] - node _T_350 = bits(_T_259, 29, 29) @[el2_lib.scala 205:36] - _T_261[16] <= _T_350 @[el2_lib.scala 205:30] - node _T_351 = bits(_T_259, 29, 29) @[el2_lib.scala 206:36] - _T_262[16] <= _T_351 @[el2_lib.scala 206:30] - node _T_352 = bits(_T_259, 30, 30) @[el2_lib.scala 204:36] - _T_260[16] <= _T_352 @[el2_lib.scala 204:30] - node _T_353 = bits(_T_259, 30, 30) @[el2_lib.scala 206:36] - _T_262[17] <= _T_353 @[el2_lib.scala 206:30] - node _T_354 = bits(_T_259, 31, 31) @[el2_lib.scala 204:36] - _T_260[17] <= _T_354 @[el2_lib.scala 204:30] - node _T_355 = bits(_T_259, 31, 31) @[el2_lib.scala 205:36] - _T_261[17] <= _T_355 @[el2_lib.scala 205:30] - node _T_356 = cat(_T_260[1], _T_260[0]) @[el2_lib.scala 211:22] - node _T_357 = cat(_T_260[3], _T_260[2]) @[el2_lib.scala 211:22] - node _T_358 = cat(_T_357, _T_356) @[el2_lib.scala 211:22] - node _T_359 = cat(_T_260[5], _T_260[4]) @[el2_lib.scala 211:22] - node _T_360 = cat(_T_260[8], _T_260[7]) @[el2_lib.scala 211:22] - node _T_361 = cat(_T_360, _T_260[6]) @[el2_lib.scala 211:22] - node _T_362 = cat(_T_361, _T_359) @[el2_lib.scala 211:22] - node _T_363 = cat(_T_362, _T_358) @[el2_lib.scala 211:22] - node _T_364 = cat(_T_260[10], _T_260[9]) @[el2_lib.scala 211:22] - node _T_365 = cat(_T_260[12], _T_260[11]) @[el2_lib.scala 211:22] - node _T_366 = cat(_T_365, _T_364) @[el2_lib.scala 211:22] - node _T_367 = cat(_T_260[14], _T_260[13]) @[el2_lib.scala 211:22] - node _T_368 = cat(_T_260[17], _T_260[16]) @[el2_lib.scala 211:22] - node _T_369 = cat(_T_368, _T_260[15]) @[el2_lib.scala 211:22] - node _T_370 = cat(_T_369, _T_367) @[el2_lib.scala 211:22] - node _T_371 = cat(_T_370, _T_366) @[el2_lib.scala 211:22] - node _T_372 = cat(_T_371, _T_363) @[el2_lib.scala 211:22] - node _T_373 = xorr(_T_372) @[el2_lib.scala 211:29] - node _T_374 = cat(_T_261[1], _T_261[0]) @[el2_lib.scala 211:39] - node _T_375 = cat(_T_261[3], _T_261[2]) @[el2_lib.scala 211:39] - node _T_376 = cat(_T_375, _T_374) @[el2_lib.scala 211:39] - node _T_377 = cat(_T_261[5], _T_261[4]) @[el2_lib.scala 211:39] - node _T_378 = cat(_T_261[8], _T_261[7]) @[el2_lib.scala 211:39] - node _T_379 = cat(_T_378, _T_261[6]) @[el2_lib.scala 211:39] - node _T_380 = cat(_T_379, _T_377) @[el2_lib.scala 211:39] - node _T_381 = cat(_T_380, _T_376) @[el2_lib.scala 211:39] - node _T_382 = cat(_T_261[10], _T_261[9]) @[el2_lib.scala 211:39] - node _T_383 = cat(_T_261[12], _T_261[11]) @[el2_lib.scala 211:39] - node _T_384 = cat(_T_383, _T_382) @[el2_lib.scala 211:39] - node _T_385 = cat(_T_261[14], _T_261[13]) @[el2_lib.scala 211:39] - node _T_386 = cat(_T_261[17], _T_261[16]) @[el2_lib.scala 211:39] - node _T_387 = cat(_T_386, _T_261[15]) @[el2_lib.scala 211:39] - node _T_388 = cat(_T_387, _T_385) @[el2_lib.scala 211:39] - node _T_389 = cat(_T_388, _T_384) @[el2_lib.scala 211:39] - node _T_390 = cat(_T_389, _T_381) @[el2_lib.scala 211:39] - node _T_391 = xorr(_T_390) @[el2_lib.scala 211:46] - node _T_392 = cat(_T_262[1], _T_262[0]) @[el2_lib.scala 211:56] - node _T_393 = cat(_T_262[3], _T_262[2]) @[el2_lib.scala 211:56] - node _T_394 = cat(_T_393, _T_392) @[el2_lib.scala 211:56] - node _T_395 = cat(_T_262[5], _T_262[4]) @[el2_lib.scala 211:56] - node _T_396 = cat(_T_262[8], _T_262[7]) @[el2_lib.scala 211:56] - node _T_397 = cat(_T_396, _T_262[6]) @[el2_lib.scala 211:56] - node _T_398 = cat(_T_397, _T_395) @[el2_lib.scala 211:56] - node _T_399 = cat(_T_398, _T_394) @[el2_lib.scala 211:56] - node _T_400 = cat(_T_262[10], _T_262[9]) @[el2_lib.scala 211:56] - node _T_401 = cat(_T_262[12], _T_262[11]) @[el2_lib.scala 211:56] - node _T_402 = cat(_T_401, _T_400) @[el2_lib.scala 211:56] - node _T_403 = cat(_T_262[14], _T_262[13]) @[el2_lib.scala 211:56] - node _T_404 = cat(_T_262[17], _T_262[16]) @[el2_lib.scala 211:56] - node _T_405 = cat(_T_404, _T_262[15]) @[el2_lib.scala 211:56] - node _T_406 = cat(_T_405, _T_403) @[el2_lib.scala 211:56] - node _T_407 = cat(_T_406, _T_402) @[el2_lib.scala 211:56] - node _T_408 = cat(_T_407, _T_399) @[el2_lib.scala 211:56] - node _T_409 = xorr(_T_408) @[el2_lib.scala 211:63] - node _T_410 = cat(_T_263[2], _T_263[1]) @[el2_lib.scala 211:73] - node _T_411 = cat(_T_410, _T_263[0]) @[el2_lib.scala 211:73] - node _T_412 = cat(_T_263[4], _T_263[3]) @[el2_lib.scala 211:73] - node _T_413 = cat(_T_263[6], _T_263[5]) @[el2_lib.scala 211:73] - node _T_414 = cat(_T_413, _T_412) @[el2_lib.scala 211:73] - node _T_415 = cat(_T_414, _T_411) @[el2_lib.scala 211:73] - node _T_416 = cat(_T_263[8], _T_263[7]) @[el2_lib.scala 211:73] - node _T_417 = cat(_T_263[10], _T_263[9]) @[el2_lib.scala 211:73] - node _T_418 = cat(_T_417, _T_416) @[el2_lib.scala 211:73] - node _T_419 = cat(_T_263[12], _T_263[11]) @[el2_lib.scala 211:73] - node _T_420 = cat(_T_263[14], _T_263[13]) @[el2_lib.scala 211:73] - node _T_421 = cat(_T_420, _T_419) @[el2_lib.scala 211:73] - node _T_422 = cat(_T_421, _T_418) @[el2_lib.scala 211:73] - node _T_423 = cat(_T_422, _T_415) @[el2_lib.scala 211:73] - node _T_424 = xorr(_T_423) @[el2_lib.scala 211:80] - node _T_425 = cat(_T_264[2], _T_264[1]) @[el2_lib.scala 211:90] - node _T_426 = cat(_T_425, _T_264[0]) @[el2_lib.scala 211:90] - node _T_427 = cat(_T_264[4], _T_264[3]) @[el2_lib.scala 211:90] - node _T_428 = cat(_T_264[6], _T_264[5]) @[el2_lib.scala 211:90] - node _T_429 = cat(_T_428, _T_427) @[el2_lib.scala 211:90] - node _T_430 = cat(_T_429, _T_426) @[el2_lib.scala 211:90] - node _T_431 = cat(_T_264[8], _T_264[7]) @[el2_lib.scala 211:90] - node _T_432 = cat(_T_264[10], _T_264[9]) @[el2_lib.scala 211:90] - node _T_433 = cat(_T_432, _T_431) @[el2_lib.scala 211:90] - node _T_434 = cat(_T_264[12], _T_264[11]) @[el2_lib.scala 211:90] - node _T_435 = cat(_T_264[14], _T_264[13]) @[el2_lib.scala 211:90] - node _T_436 = cat(_T_435, _T_434) @[el2_lib.scala 211:90] - node _T_437 = cat(_T_436, _T_433) @[el2_lib.scala 211:90] - node _T_438 = cat(_T_437, _T_430) @[el2_lib.scala 211:90] - node _T_439 = xorr(_T_438) @[el2_lib.scala 211:97] - node _T_440 = cat(_T_265[2], _T_265[1]) @[el2_lib.scala 211:107] - node _T_441 = cat(_T_440, _T_265[0]) @[el2_lib.scala 211:107] - node _T_442 = cat(_T_265[5], _T_265[4]) @[el2_lib.scala 211:107] - node _T_443 = cat(_T_442, _T_265[3]) @[el2_lib.scala 211:107] - node _T_444 = cat(_T_443, _T_441) @[el2_lib.scala 211:107] - node _T_445 = xorr(_T_444) @[el2_lib.scala 211:114] - node _T_446 = cat(_T_424, _T_439) @[Cat.scala 29:58] - node _T_447 = cat(_T_446, _T_445) @[Cat.scala 29:58] - node _T_448 = cat(_T_373, _T_391) @[Cat.scala 29:58] - node _T_449 = cat(_T_448, _T_409) @[Cat.scala 29:58] - node _T_450 = cat(_T_449, _T_447) @[Cat.scala 29:58] - node _T_451 = xorr(_T_259) @[el2_lib.scala 212:13] - node _T_452 = xorr(_T_450) @[el2_lib.scala 212:23] - node _T_453 = xor(_T_451, _T_452) @[el2_lib.scala 212:18] - node _T_454 = cat(_T_453, _T_450) @[Cat.scala 29:58] - ic_tag_ecc <= _T_454 @[el2_ifu_ic_mem.scala 106:20] - node _T_455 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 107:49] - node _T_456 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 108:34] - node _T_457 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 108:62] - node _T_458 = cat(_T_456, _T_457) @[Cat.scala 29:58] - node _T_459 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 109:25] - wire _T_460 : UInt<1>[2] @[el2_lib.scala 177:24] - _T_460[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_460[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] - node _T_461 = cat(_T_460[0], _T_460[1]) @[Cat.scala 29:58] - node _T_462 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 109:65] - node _T_463 = cat(_T_459, _T_461) @[Cat.scala 29:58] - node _T_464 = cat(_T_463, _T_462) @[Cat.scala 29:58] - node _T_465 = mux(_T_455, _T_458, _T_464) @[el2_ifu_ic_mem.scala 107:30] - ic_tag_wr_data <= _T_465 @[el2_ifu_ic_mem.scala 107:24] + wire _T_244 : UInt<1>[13] @[el2_lib.scala 177:24] + _T_244[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[2] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[3] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[4] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[5] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[6] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[7] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[8] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[9] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[10] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[11] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_244[12] <= UInt<1>("h00") @[el2_lib.scala 177:24] + node _T_245 = cat(_T_244[0], _T_244[1]) @[Cat.scala 29:58] + node _T_246 = cat(_T_245, _T_244[2]) @[Cat.scala 29:58] + node _T_247 = cat(_T_246, _T_244[3]) @[Cat.scala 29:58] + node _T_248 = cat(_T_247, _T_244[4]) @[Cat.scala 29:58] + node _T_249 = cat(_T_248, _T_244[5]) @[Cat.scala 29:58] + node _T_250 = cat(_T_249, _T_244[6]) @[Cat.scala 29:58] + node _T_251 = cat(_T_250, _T_244[7]) @[Cat.scala 29:58] + node _T_252 = cat(_T_251, _T_244[8]) @[Cat.scala 29:58] + node _T_253 = cat(_T_252, _T_244[9]) @[Cat.scala 29:58] + node _T_254 = cat(_T_253, _T_244[10]) @[Cat.scala 29:58] + node _T_255 = cat(_T_254, _T_244[11]) @[Cat.scala 29:58] + node _T_256 = cat(_T_255, _T_244[12]) @[Cat.scala 29:58] + node _T_257 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 106:79] + node _T_258 = cat(_T_256, _T_257) @[Cat.scala 29:58] + wire _T_259 : UInt<1>[18] @[el2_lib.scala 193:18] + wire _T_260 : UInt<1>[18] @[el2_lib.scala 194:18] + wire _T_261 : UInt<1>[18] @[el2_lib.scala 195:18] + wire _T_262 : UInt<1>[15] @[el2_lib.scala 196:18] + wire _T_263 : UInt<1>[15] @[el2_lib.scala 197:18] + wire _T_264 : UInt<1>[6] @[el2_lib.scala 198:18] + node _T_265 = bits(_T_258, 0, 0) @[el2_lib.scala 205:36] + _T_260[0] <= _T_265 @[el2_lib.scala 205:30] + node _T_266 = bits(_T_258, 0, 0) @[el2_lib.scala 206:36] + _T_261[0] <= _T_266 @[el2_lib.scala 206:30] + node _T_267 = bits(_T_258, 0, 0) @[el2_lib.scala 209:36] + _T_264[0] <= _T_267 @[el2_lib.scala 209:30] + node _T_268 = bits(_T_258, 1, 1) @[el2_lib.scala 204:36] + _T_259[0] <= _T_268 @[el2_lib.scala 204:30] + node _T_269 = bits(_T_258, 1, 1) @[el2_lib.scala 206:36] + _T_261[1] <= _T_269 @[el2_lib.scala 206:30] + node _T_270 = bits(_T_258, 1, 1) @[el2_lib.scala 209:36] + _T_264[1] <= _T_270 @[el2_lib.scala 209:30] + node _T_271 = bits(_T_258, 2, 2) @[el2_lib.scala 206:36] + _T_261[2] <= _T_271 @[el2_lib.scala 206:30] + node _T_272 = bits(_T_258, 2, 2) @[el2_lib.scala 209:36] + _T_264[2] <= _T_272 @[el2_lib.scala 209:30] + node _T_273 = bits(_T_258, 3, 3) @[el2_lib.scala 204:36] + _T_259[1] <= _T_273 @[el2_lib.scala 204:30] + node _T_274 = bits(_T_258, 3, 3) @[el2_lib.scala 205:36] + _T_260[1] <= _T_274 @[el2_lib.scala 205:30] + node _T_275 = bits(_T_258, 3, 3) @[el2_lib.scala 209:36] + _T_264[3] <= _T_275 @[el2_lib.scala 209:30] + node _T_276 = bits(_T_258, 4, 4) @[el2_lib.scala 205:36] + _T_260[2] <= _T_276 @[el2_lib.scala 205:30] + node _T_277 = bits(_T_258, 4, 4) @[el2_lib.scala 209:36] + _T_264[4] <= _T_277 @[el2_lib.scala 209:30] + node _T_278 = bits(_T_258, 5, 5) @[el2_lib.scala 204:36] + _T_259[2] <= _T_278 @[el2_lib.scala 204:30] + node _T_279 = bits(_T_258, 5, 5) @[el2_lib.scala 209:36] + _T_264[5] <= _T_279 @[el2_lib.scala 209:30] + node _T_280 = bits(_T_258, 6, 6) @[el2_lib.scala 204:36] + _T_259[3] <= _T_280 @[el2_lib.scala 204:30] + node _T_281 = bits(_T_258, 6, 6) @[el2_lib.scala 205:36] + _T_260[3] <= _T_281 @[el2_lib.scala 205:30] + node _T_282 = bits(_T_258, 6, 6) @[el2_lib.scala 206:36] + _T_261[3] <= _T_282 @[el2_lib.scala 206:30] + node _T_283 = bits(_T_258, 6, 6) @[el2_lib.scala 207:36] + _T_262[0] <= _T_283 @[el2_lib.scala 207:30] + node _T_284 = bits(_T_258, 6, 6) @[el2_lib.scala 208:36] + _T_263[0] <= _T_284 @[el2_lib.scala 208:30] + node _T_285 = bits(_T_258, 7, 7) @[el2_lib.scala 205:36] + _T_260[4] <= _T_285 @[el2_lib.scala 205:30] + node _T_286 = bits(_T_258, 7, 7) @[el2_lib.scala 206:36] + _T_261[4] <= _T_286 @[el2_lib.scala 206:30] + node _T_287 = bits(_T_258, 7, 7) @[el2_lib.scala 207:36] + _T_262[1] <= _T_287 @[el2_lib.scala 207:30] + node _T_288 = bits(_T_258, 7, 7) @[el2_lib.scala 208:36] + _T_263[1] <= _T_288 @[el2_lib.scala 208:30] + node _T_289 = bits(_T_258, 8, 8) @[el2_lib.scala 204:36] + _T_259[4] <= _T_289 @[el2_lib.scala 204:30] + node _T_290 = bits(_T_258, 8, 8) @[el2_lib.scala 206:36] + _T_261[5] <= _T_290 @[el2_lib.scala 206:30] + node _T_291 = bits(_T_258, 8, 8) @[el2_lib.scala 207:36] + _T_262[2] <= _T_291 @[el2_lib.scala 207:30] + node _T_292 = bits(_T_258, 8, 8) @[el2_lib.scala 208:36] + _T_263[2] <= _T_292 @[el2_lib.scala 208:30] + node _T_293 = bits(_T_258, 9, 9) @[el2_lib.scala 206:36] + _T_261[6] <= _T_293 @[el2_lib.scala 206:30] + node _T_294 = bits(_T_258, 9, 9) @[el2_lib.scala 207:36] + _T_262[3] <= _T_294 @[el2_lib.scala 207:30] + node _T_295 = bits(_T_258, 9, 9) @[el2_lib.scala 208:36] + _T_263[3] <= _T_295 @[el2_lib.scala 208:30] + node _T_296 = bits(_T_258, 10, 10) @[el2_lib.scala 204:36] + _T_259[5] <= _T_296 @[el2_lib.scala 204:30] + node _T_297 = bits(_T_258, 10, 10) @[el2_lib.scala 205:36] + _T_260[5] <= _T_297 @[el2_lib.scala 205:30] + node _T_298 = bits(_T_258, 10, 10) @[el2_lib.scala 207:36] + _T_262[4] <= _T_298 @[el2_lib.scala 207:30] + node _T_299 = bits(_T_258, 10, 10) @[el2_lib.scala 208:36] + _T_263[4] <= _T_299 @[el2_lib.scala 208:30] + node _T_300 = bits(_T_258, 11, 11) @[el2_lib.scala 205:36] + _T_260[6] <= _T_300 @[el2_lib.scala 205:30] + node _T_301 = bits(_T_258, 11, 11) @[el2_lib.scala 207:36] + _T_262[5] <= _T_301 @[el2_lib.scala 207:30] + node _T_302 = bits(_T_258, 11, 11) @[el2_lib.scala 208:36] + _T_263[5] <= _T_302 @[el2_lib.scala 208:30] + node _T_303 = bits(_T_258, 12, 12) @[el2_lib.scala 204:36] + _T_259[6] <= _T_303 @[el2_lib.scala 204:30] + node _T_304 = bits(_T_258, 12, 12) @[el2_lib.scala 207:36] + _T_262[6] <= _T_304 @[el2_lib.scala 207:30] + node _T_305 = bits(_T_258, 12, 12) @[el2_lib.scala 208:36] + _T_263[6] <= _T_305 @[el2_lib.scala 208:30] + node _T_306 = bits(_T_258, 13, 13) @[el2_lib.scala 207:36] + _T_262[7] <= _T_306 @[el2_lib.scala 207:30] + node _T_307 = bits(_T_258, 13, 13) @[el2_lib.scala 208:36] + _T_263[7] <= _T_307 @[el2_lib.scala 208:30] + node _T_308 = bits(_T_258, 14, 14) @[el2_lib.scala 204:36] + _T_259[7] <= _T_308 @[el2_lib.scala 204:30] + node _T_309 = bits(_T_258, 14, 14) @[el2_lib.scala 205:36] + _T_260[7] <= _T_309 @[el2_lib.scala 205:30] + node _T_310 = bits(_T_258, 14, 14) @[el2_lib.scala 206:36] + _T_261[7] <= _T_310 @[el2_lib.scala 206:30] + node _T_311 = bits(_T_258, 14, 14) @[el2_lib.scala 208:36] + _T_263[8] <= _T_311 @[el2_lib.scala 208:30] + node _T_312 = bits(_T_258, 15, 15) @[el2_lib.scala 205:36] + _T_260[8] <= _T_312 @[el2_lib.scala 205:30] + node _T_313 = bits(_T_258, 15, 15) @[el2_lib.scala 206:36] + _T_261[8] <= _T_313 @[el2_lib.scala 206:30] + node _T_314 = bits(_T_258, 15, 15) @[el2_lib.scala 208:36] + _T_263[9] <= _T_314 @[el2_lib.scala 208:30] + node _T_315 = bits(_T_258, 16, 16) @[el2_lib.scala 204:36] + _T_259[8] <= _T_315 @[el2_lib.scala 204:30] + node _T_316 = bits(_T_258, 16, 16) @[el2_lib.scala 206:36] + _T_261[9] <= _T_316 @[el2_lib.scala 206:30] + node _T_317 = bits(_T_258, 16, 16) @[el2_lib.scala 208:36] + _T_263[10] <= _T_317 @[el2_lib.scala 208:30] + node _T_318 = bits(_T_258, 17, 17) @[el2_lib.scala 206:36] + _T_261[10] <= _T_318 @[el2_lib.scala 206:30] + node _T_319 = bits(_T_258, 17, 17) @[el2_lib.scala 208:36] + _T_263[11] <= _T_319 @[el2_lib.scala 208:30] + node _T_320 = bits(_T_258, 18, 18) @[el2_lib.scala 204:36] + _T_259[9] <= _T_320 @[el2_lib.scala 204:30] + node _T_321 = bits(_T_258, 18, 18) @[el2_lib.scala 205:36] + _T_260[9] <= _T_321 @[el2_lib.scala 205:30] + node _T_322 = bits(_T_258, 18, 18) @[el2_lib.scala 208:36] + _T_263[12] <= _T_322 @[el2_lib.scala 208:30] + node _T_323 = bits(_T_258, 19, 19) @[el2_lib.scala 205:36] + _T_260[10] <= _T_323 @[el2_lib.scala 205:30] + node _T_324 = bits(_T_258, 19, 19) @[el2_lib.scala 208:36] + _T_263[13] <= _T_324 @[el2_lib.scala 208:30] + node _T_325 = bits(_T_258, 20, 20) @[el2_lib.scala 204:36] + _T_259[10] <= _T_325 @[el2_lib.scala 204:30] + node _T_326 = bits(_T_258, 20, 20) @[el2_lib.scala 208:36] + _T_263[14] <= _T_326 @[el2_lib.scala 208:30] + node _T_327 = bits(_T_258, 21, 21) @[el2_lib.scala 204:36] + _T_259[11] <= _T_327 @[el2_lib.scala 204:30] + node _T_328 = bits(_T_258, 21, 21) @[el2_lib.scala 205:36] + _T_260[11] <= _T_328 @[el2_lib.scala 205:30] + node _T_329 = bits(_T_258, 21, 21) @[el2_lib.scala 206:36] + _T_261[11] <= _T_329 @[el2_lib.scala 206:30] + node _T_330 = bits(_T_258, 21, 21) @[el2_lib.scala 207:36] + _T_262[8] <= _T_330 @[el2_lib.scala 207:30] + node _T_331 = bits(_T_258, 22, 22) @[el2_lib.scala 205:36] + _T_260[12] <= _T_331 @[el2_lib.scala 205:30] + node _T_332 = bits(_T_258, 22, 22) @[el2_lib.scala 206:36] + _T_261[12] <= _T_332 @[el2_lib.scala 206:30] + node _T_333 = bits(_T_258, 22, 22) @[el2_lib.scala 207:36] + _T_262[9] <= _T_333 @[el2_lib.scala 207:30] + node _T_334 = bits(_T_258, 23, 23) @[el2_lib.scala 204:36] + _T_259[12] <= _T_334 @[el2_lib.scala 204:30] + node _T_335 = bits(_T_258, 23, 23) @[el2_lib.scala 206:36] + _T_261[13] <= _T_335 @[el2_lib.scala 206:30] + node _T_336 = bits(_T_258, 23, 23) @[el2_lib.scala 207:36] + _T_262[10] <= _T_336 @[el2_lib.scala 207:30] + node _T_337 = bits(_T_258, 24, 24) @[el2_lib.scala 206:36] + _T_261[14] <= _T_337 @[el2_lib.scala 206:30] + node _T_338 = bits(_T_258, 24, 24) @[el2_lib.scala 207:36] + _T_262[11] <= _T_338 @[el2_lib.scala 207:30] + node _T_339 = bits(_T_258, 25, 25) @[el2_lib.scala 204:36] + _T_259[13] <= _T_339 @[el2_lib.scala 204:30] + node _T_340 = bits(_T_258, 25, 25) @[el2_lib.scala 205:36] + _T_260[13] <= _T_340 @[el2_lib.scala 205:30] + node _T_341 = bits(_T_258, 25, 25) @[el2_lib.scala 207:36] + _T_262[12] <= _T_341 @[el2_lib.scala 207:30] + node _T_342 = bits(_T_258, 26, 26) @[el2_lib.scala 205:36] + _T_260[14] <= _T_342 @[el2_lib.scala 205:30] + node _T_343 = bits(_T_258, 26, 26) @[el2_lib.scala 207:36] + _T_262[13] <= _T_343 @[el2_lib.scala 207:30] + node _T_344 = bits(_T_258, 27, 27) @[el2_lib.scala 204:36] + _T_259[14] <= _T_344 @[el2_lib.scala 204:30] + node _T_345 = bits(_T_258, 27, 27) @[el2_lib.scala 207:36] + _T_262[14] <= _T_345 @[el2_lib.scala 207:30] + node _T_346 = bits(_T_258, 28, 28) @[el2_lib.scala 204:36] + _T_259[15] <= _T_346 @[el2_lib.scala 204:30] + node _T_347 = bits(_T_258, 28, 28) @[el2_lib.scala 205:36] + _T_260[15] <= _T_347 @[el2_lib.scala 205:30] + node _T_348 = bits(_T_258, 28, 28) @[el2_lib.scala 206:36] + _T_261[15] <= _T_348 @[el2_lib.scala 206:30] + node _T_349 = bits(_T_258, 29, 29) @[el2_lib.scala 205:36] + _T_260[16] <= _T_349 @[el2_lib.scala 205:30] + node _T_350 = bits(_T_258, 29, 29) @[el2_lib.scala 206:36] + _T_261[16] <= _T_350 @[el2_lib.scala 206:30] + node _T_351 = bits(_T_258, 30, 30) @[el2_lib.scala 204:36] + _T_259[16] <= _T_351 @[el2_lib.scala 204:30] + node _T_352 = bits(_T_258, 30, 30) @[el2_lib.scala 206:36] + _T_261[17] <= _T_352 @[el2_lib.scala 206:30] + node _T_353 = bits(_T_258, 31, 31) @[el2_lib.scala 204:36] + _T_259[17] <= _T_353 @[el2_lib.scala 204:30] + node _T_354 = bits(_T_258, 31, 31) @[el2_lib.scala 205:36] + _T_260[17] <= _T_354 @[el2_lib.scala 205:30] + node _T_355 = cat(_T_259[1], _T_259[0]) @[el2_lib.scala 211:22] + node _T_356 = cat(_T_259[3], _T_259[2]) @[el2_lib.scala 211:22] + node _T_357 = cat(_T_356, _T_355) @[el2_lib.scala 211:22] + node _T_358 = cat(_T_259[5], _T_259[4]) @[el2_lib.scala 211:22] + node _T_359 = cat(_T_259[8], _T_259[7]) @[el2_lib.scala 211:22] + node _T_360 = cat(_T_359, _T_259[6]) @[el2_lib.scala 211:22] + node _T_361 = cat(_T_360, _T_358) @[el2_lib.scala 211:22] + node _T_362 = cat(_T_361, _T_357) @[el2_lib.scala 211:22] + node _T_363 = cat(_T_259[10], _T_259[9]) @[el2_lib.scala 211:22] + node _T_364 = cat(_T_259[12], _T_259[11]) @[el2_lib.scala 211:22] + node _T_365 = cat(_T_364, _T_363) @[el2_lib.scala 211:22] + node _T_366 = cat(_T_259[14], _T_259[13]) @[el2_lib.scala 211:22] + node _T_367 = cat(_T_259[17], _T_259[16]) @[el2_lib.scala 211:22] + node _T_368 = cat(_T_367, _T_259[15]) @[el2_lib.scala 211:22] + node _T_369 = cat(_T_368, _T_366) @[el2_lib.scala 211:22] + node _T_370 = cat(_T_369, _T_365) @[el2_lib.scala 211:22] + node _T_371 = cat(_T_370, _T_362) @[el2_lib.scala 211:22] + node _T_372 = xorr(_T_371) @[el2_lib.scala 211:29] + node _T_373 = cat(_T_260[1], _T_260[0]) @[el2_lib.scala 211:39] + node _T_374 = cat(_T_260[3], _T_260[2]) @[el2_lib.scala 211:39] + node _T_375 = cat(_T_374, _T_373) @[el2_lib.scala 211:39] + node _T_376 = cat(_T_260[5], _T_260[4]) @[el2_lib.scala 211:39] + node _T_377 = cat(_T_260[8], _T_260[7]) @[el2_lib.scala 211:39] + node _T_378 = cat(_T_377, _T_260[6]) @[el2_lib.scala 211:39] + node _T_379 = cat(_T_378, _T_376) @[el2_lib.scala 211:39] + node _T_380 = cat(_T_379, _T_375) @[el2_lib.scala 211:39] + node _T_381 = cat(_T_260[10], _T_260[9]) @[el2_lib.scala 211:39] + node _T_382 = cat(_T_260[12], _T_260[11]) @[el2_lib.scala 211:39] + node _T_383 = cat(_T_382, _T_381) @[el2_lib.scala 211:39] + node _T_384 = cat(_T_260[14], _T_260[13]) @[el2_lib.scala 211:39] + node _T_385 = cat(_T_260[17], _T_260[16]) @[el2_lib.scala 211:39] + node _T_386 = cat(_T_385, _T_260[15]) @[el2_lib.scala 211:39] + node _T_387 = cat(_T_386, _T_384) @[el2_lib.scala 211:39] + node _T_388 = cat(_T_387, _T_383) @[el2_lib.scala 211:39] + node _T_389 = cat(_T_388, _T_380) @[el2_lib.scala 211:39] + node _T_390 = xorr(_T_389) @[el2_lib.scala 211:46] + node _T_391 = cat(_T_261[1], _T_261[0]) @[el2_lib.scala 211:56] + node _T_392 = cat(_T_261[3], _T_261[2]) @[el2_lib.scala 211:56] + node _T_393 = cat(_T_392, _T_391) @[el2_lib.scala 211:56] + node _T_394 = cat(_T_261[5], _T_261[4]) @[el2_lib.scala 211:56] + node _T_395 = cat(_T_261[8], _T_261[7]) @[el2_lib.scala 211:56] + node _T_396 = cat(_T_395, _T_261[6]) @[el2_lib.scala 211:56] + node _T_397 = cat(_T_396, _T_394) @[el2_lib.scala 211:56] + node _T_398 = cat(_T_397, _T_393) @[el2_lib.scala 211:56] + node _T_399 = cat(_T_261[10], _T_261[9]) @[el2_lib.scala 211:56] + node _T_400 = cat(_T_261[12], _T_261[11]) @[el2_lib.scala 211:56] + node _T_401 = cat(_T_400, _T_399) @[el2_lib.scala 211:56] + node _T_402 = cat(_T_261[14], _T_261[13]) @[el2_lib.scala 211:56] + node _T_403 = cat(_T_261[17], _T_261[16]) @[el2_lib.scala 211:56] + node _T_404 = cat(_T_403, _T_261[15]) @[el2_lib.scala 211:56] + node _T_405 = cat(_T_404, _T_402) @[el2_lib.scala 211:56] + node _T_406 = cat(_T_405, _T_401) @[el2_lib.scala 211:56] + node _T_407 = cat(_T_406, _T_398) @[el2_lib.scala 211:56] + node _T_408 = xorr(_T_407) @[el2_lib.scala 211:63] + node _T_409 = cat(_T_262[2], _T_262[1]) @[el2_lib.scala 211:73] + node _T_410 = cat(_T_409, _T_262[0]) @[el2_lib.scala 211:73] + node _T_411 = cat(_T_262[4], _T_262[3]) @[el2_lib.scala 211:73] + node _T_412 = cat(_T_262[6], _T_262[5]) @[el2_lib.scala 211:73] + node _T_413 = cat(_T_412, _T_411) @[el2_lib.scala 211:73] + node _T_414 = cat(_T_413, _T_410) @[el2_lib.scala 211:73] + node _T_415 = cat(_T_262[8], _T_262[7]) @[el2_lib.scala 211:73] + node _T_416 = cat(_T_262[10], _T_262[9]) @[el2_lib.scala 211:73] + node _T_417 = cat(_T_416, _T_415) @[el2_lib.scala 211:73] + node _T_418 = cat(_T_262[12], _T_262[11]) @[el2_lib.scala 211:73] + node _T_419 = cat(_T_262[14], _T_262[13]) @[el2_lib.scala 211:73] + node _T_420 = cat(_T_419, _T_418) @[el2_lib.scala 211:73] + node _T_421 = cat(_T_420, _T_417) @[el2_lib.scala 211:73] + node _T_422 = cat(_T_421, _T_414) @[el2_lib.scala 211:73] + node _T_423 = xorr(_T_422) @[el2_lib.scala 211:80] + node _T_424 = cat(_T_263[2], _T_263[1]) @[el2_lib.scala 211:90] + node _T_425 = cat(_T_424, _T_263[0]) @[el2_lib.scala 211:90] + node _T_426 = cat(_T_263[4], _T_263[3]) @[el2_lib.scala 211:90] + node _T_427 = cat(_T_263[6], _T_263[5]) @[el2_lib.scala 211:90] + node _T_428 = cat(_T_427, _T_426) @[el2_lib.scala 211:90] + node _T_429 = cat(_T_428, _T_425) @[el2_lib.scala 211:90] + node _T_430 = cat(_T_263[8], _T_263[7]) @[el2_lib.scala 211:90] + node _T_431 = cat(_T_263[10], _T_263[9]) @[el2_lib.scala 211:90] + node _T_432 = cat(_T_431, _T_430) @[el2_lib.scala 211:90] + node _T_433 = cat(_T_263[12], _T_263[11]) @[el2_lib.scala 211:90] + node _T_434 = cat(_T_263[14], _T_263[13]) @[el2_lib.scala 211:90] + node _T_435 = cat(_T_434, _T_433) @[el2_lib.scala 211:90] + node _T_436 = cat(_T_435, _T_432) @[el2_lib.scala 211:90] + node _T_437 = cat(_T_436, _T_429) @[el2_lib.scala 211:90] + node _T_438 = xorr(_T_437) @[el2_lib.scala 211:97] + node _T_439 = cat(_T_264[2], _T_264[1]) @[el2_lib.scala 211:107] + node _T_440 = cat(_T_439, _T_264[0]) @[el2_lib.scala 211:107] + node _T_441 = cat(_T_264[5], _T_264[4]) @[el2_lib.scala 211:107] + node _T_442 = cat(_T_441, _T_264[3]) @[el2_lib.scala 211:107] + node _T_443 = cat(_T_442, _T_440) @[el2_lib.scala 211:107] + node _T_444 = xorr(_T_443) @[el2_lib.scala 211:114] + node _T_445 = cat(_T_423, _T_438) @[Cat.scala 29:58] + node _T_446 = cat(_T_445, _T_444) @[Cat.scala 29:58] + node _T_447 = cat(_T_372, _T_390) @[Cat.scala 29:58] + node _T_448 = cat(_T_447, _T_408) @[Cat.scala 29:58] + node _T_449 = cat(_T_448, _T_446) @[Cat.scala 29:58] + node _T_450 = xorr(_T_258) @[el2_lib.scala 212:13] + node _T_451 = xorr(_T_449) @[el2_lib.scala 212:23] + node _T_452 = xor(_T_450, _T_451) @[el2_lib.scala 212:18] + node _T_453 = cat(_T_452, _T_449) @[Cat.scala 29:58] + ic_tag_ecc <= _T_453 @[el2_ifu_ic_mem.scala 106:20] + node _T_454 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 107:49] + node _T_455 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 108:34] + node _T_456 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 108:62] + node _T_457 = cat(_T_455, _T_456) @[Cat.scala 29:58] + node _T_458 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 109:25] + wire _T_459 : UInt<1>[2] @[el2_lib.scala 177:24] + _T_459[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_459[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] + node _T_460 = cat(_T_459[0], _T_459[1]) @[Cat.scala 29:58] + node _T_461 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 109:65] + node _T_462 = cat(_T_458, _T_460) @[Cat.scala 29:58] + node _T_463 = cat(_T_462, _T_461) @[Cat.scala 29:58] + node _T_464 = mux(_T_454, _T_457, _T_463) @[el2_ifu_ic_mem.scala 107:30] + ic_tag_wr_data <= _T_464 @[el2_ifu_ic_mem.scala 107:24] skip @[el2_ifu_ic_mem.scala 105:25] else : @[el2_ifu_ic_mem.scala 111:19] - node _T_466 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 112:58] - node _T_467 = xorr(_T_466) @[el2_lib.scala 183:13] - ic_tag_parity <= _T_467 @[el2_ifu_ic_mem.scala 112:25] - node _T_468 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 113:51] - node _T_469 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 114:36] - node _T_470 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 114:64] - node _T_471 = cat(_T_469, _T_470) @[Cat.scala 29:58] - node _T_472 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 115:27] - wire _T_473 : UInt<1>[2] @[el2_lib.scala 177:24] - _T_473[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] - _T_473[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] - node _T_474 = cat(_T_473[0], _T_473[1]) @[Cat.scala 29:58] - node _T_475 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 115:67] - node _T_476 = cat(_T_472, _T_474) @[Cat.scala 29:58] - node _T_477 = cat(_T_476, _T_475) @[Cat.scala 29:58] - node _T_478 = mux(_T_468, _T_471, _T_477) @[el2_ifu_ic_mem.scala 113:32] - ic_tag_wr_data <= _T_478 @[el2_ifu_ic_mem.scala 113:26] + node _T_465 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 112:58] + node _T_466 = xorr(_T_465) @[el2_lib.scala 183:13] + ic_tag_parity <= _T_466 @[el2_ifu_ic_mem.scala 112:25] + node _T_467 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 113:51] + node _T_468 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 114:36] + node _T_469 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 114:64] + node _T_470 = cat(_T_468, _T_469) @[Cat.scala 29:58] + node _T_471 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 115:27] + wire _T_472 : UInt<1>[2] @[el2_lib.scala 177:24] + _T_472[0] <= UInt<1>("h00") @[el2_lib.scala 177:24] + _T_472[1] <= UInt<1>("h00") @[el2_lib.scala 177:24] + node _T_473 = cat(_T_472[0], _T_472[1]) @[Cat.scala 29:58] + node _T_474 = bits(io.ic_rw_addr, 31, 13) @[el2_ifu_ic_mem.scala 115:67] + node _T_475 = cat(_T_471, _T_473) @[Cat.scala 29:58] + node _T_476 = cat(_T_475, _T_474) @[Cat.scala 29:58] + node _T_477 = mux(_T_467, _T_470, _T_476) @[el2_ifu_ic_mem.scala 113:32] + ic_tag_wr_data <= _T_477 @[el2_ifu_ic_mem.scala 113:26] skip @[el2_ifu_ic_mem.scala 111:19] skip @[el2_ifu_ic_mem.scala 104:15] - node _T_479 = or(io.ic_debug_rd_en, io.ic_debug_wr_en) @[el2_ifu_ic_mem.scala 119:44] - node _T_480 = bits(io.ic_debug_addr, 12, 6) @[el2_ifu_ic_mem.scala 120:21] - node _T_481 = bits(io.ic_rw_addr, 12, 6) @[el2_ifu_ic_mem.scala 121:18] - node ic_rw_addr_q = mux(_T_479, _T_480, _T_481) @[el2_ifu_ic_mem.scala 119:25] - reg ic_debug_rd_way_en_ff : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 123:38] - ic_debug_rd_way_en_ff <= io.ic_debug_rd_en @[el2_ifu_ic_mem.scala 123:38] + node _T_478 = or(io.ic_debug_rd_en, io.ic_debug_wr_en) @[el2_ifu_ic_mem.scala 119:44] + node _T_479 = bits(io.ic_debug_addr, 12, 6) @[el2_ifu_ic_mem.scala 120:21] + node _T_480 = bits(io.ic_rw_addr, 12, 6) @[el2_ifu_ic_mem.scala 121:18] + node ic_rw_addr_q = mux(_T_478, _T_479, _T_480) @[el2_ifu_ic_mem.scala 119:25] + reg ic_debug_rd_way_en_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 123:38] + ic_debug_rd_way_en_ff <= ic_debug_rd_way_en @[el2_ifu_ic_mem.scala 123:38] smem ic_way_tag : UInt<26>[2][128], undefined @[el2_ifu_ic_mem.scala 125:46] wire write_data : UInt<26>[2] @[el2_ifu_ic_mem.scala 129:53] write_data[0] <= ic_tag_wr_data @[el2_ifu_ic_mem.scala 129:53] write_data[1] <= ic_tag_wr_data @[el2_ifu_ic_mem.scala 129:53] - node _T_482 = bits(ic_tag_wren_q, 0, 0) @[el2_ifu_ic_mem.scala 131:70] - node _T_483 = bits(ic_tag_clken, 0, 0) @[el2_ifu_ic_mem.scala 131:88] - node _T_484 = and(_T_482, _T_483) @[el2_ifu_ic_mem.scala 131:74] - node _T_485 = bits(ic_tag_wren_q, 1, 1) @[el2_ifu_ic_mem.scala 131:70] - node _T_486 = bits(ic_tag_clken, 1, 1) @[el2_ifu_ic_mem.scala 131:88] - node _T_487 = and(_T_485, _T_486) @[el2_ifu_ic_mem.scala 131:74] + node _T_481 = bits(ic_tag_wren_q, 0, 0) @[el2_ifu_ic_mem.scala 131:70] + node _T_482 = bits(ic_tag_clken, 0, 0) @[el2_ifu_ic_mem.scala 131:88] + node _T_483 = and(_T_481, _T_482) @[el2_ifu_ic_mem.scala 131:74] + node _T_484 = bits(ic_tag_wren_q, 1, 1) @[el2_ifu_ic_mem.scala 131:70] + node _T_485 = bits(ic_tag_clken, 1, 1) @[el2_ifu_ic_mem.scala 131:88] + node _T_486 = and(_T_484, _T_485) @[el2_ifu_ic_mem.scala 131:74] wire mem_mask : UInt<1>[2] @[el2_ifu_ic_mem.scala 131:51] - mem_mask[0] <= _T_484 @[el2_ifu_ic_mem.scala 131:51] - mem_mask[1] <= _T_487 @[el2_ifu_ic_mem.scala 131:51] - write mport _T_488 = ic_way_tag[ic_rw_addr_q], clock + mem_mask[0] <= _T_483 @[el2_ifu_ic_mem.scala 131:51] + mem_mask[1] <= _T_486 @[el2_ifu_ic_mem.scala 131:51] + write mport _T_487 = ic_way_tag[ic_rw_addr_q], clock when mem_mask[0] : - _T_488[0] <= write_data[0] + _T_487[0] <= write_data[0] skip when mem_mask[1] : - _T_488[1] <= write_data[1] + _T_487[1] <= write_data[1] skip - wire _T_489 : UInt @[el2_ifu_ic_mem.scala 135:40] - _T_489 is invalid @[el2_ifu_ic_mem.scala 135:40] + wire _T_488 : UInt @[el2_ifu_ic_mem.scala 135:40] + _T_488 is invalid @[el2_ifu_ic_mem.scala 135:40] when UInt<1>("h01") : @[el2_ifu_ic_mem.scala 135:40] - _T_489 <= ic_rw_addr_q @[el2_ifu_ic_mem.scala 135:40] - node _T_490 = or(_T_489, UInt<7>("h00")) @[el2_ifu_ic_mem.scala 135:40] - node _T_491 = bits(_T_490, 6, 0) @[el2_ifu_ic_mem.scala 135:40] - read mport ic_tag_data_raw = ic_way_tag[_T_491], clock @[el2_ifu_ic_mem.scala 135:40] + _T_488 <= ic_rw_addr_q @[el2_ifu_ic_mem.scala 135:40] + node _T_489 = or(_T_488, UInt<7>("h00")) @[el2_ifu_ic_mem.scala 135:40] + node _T_490 = bits(_T_489, 6, 0) @[el2_ifu_ic_mem.scala 135:40] + read mport ic_tag_data_raw = ic_way_tag[_T_490], clock @[el2_ifu_ic_mem.scala 135:40] skip @[el2_ifu_ic_mem.scala 135:40] - node _T_492 = bits(ic_tag_data_raw[0], 0, 0) - node _T_493 = bits(ic_tag_data_raw[_T_492], 25, 21) @[el2_ifu_ic_mem.scala 137:75] - node _T_494 = bits(ic_tag_data_raw[0], 0, 0) - node _T_495 = bits(ic_tag_data_raw[_T_494], 18, 0) @[el2_ifu_ic_mem.scala 137:101] - node _T_496 = cat(_T_493, _T_495) @[Cat.scala 29:58] - node w_tout_0 = cat(_T_496, UInt<13>("h00")) @[Cat.scala 29:58] - node _T_497 = bits(ic_tag_data_raw[1], 0, 0) - node _T_498 = bits(ic_tag_data_raw[_T_497], 25, 21) @[el2_ifu_ic_mem.scala 137:75] - node _T_499 = bits(ic_tag_data_raw[1], 0, 0) - node _T_500 = bits(ic_tag_data_raw[_T_499], 18, 0) @[el2_ifu_ic_mem.scala 137:101] - node _T_501 = cat(_T_498, _T_500) @[Cat.scala 29:58] - node w_tout_1 = cat(_T_501, UInt<13>("h00")) @[Cat.scala 29:58] + node _T_491 = bits(ic_tag_data_raw[0], 0, 0) + node _T_492 = bits(ic_tag_data_raw[_T_491], 25, 21) @[el2_ifu_ic_mem.scala 137:75] + node _T_493 = bits(ic_tag_data_raw[0], 0, 0) + node _T_494 = bits(ic_tag_data_raw[_T_493], 18, 0) @[el2_ifu_ic_mem.scala 137:101] + node _T_495 = cat(_T_492, _T_494) @[Cat.scala 29:58] + node w_tout_0 = cat(_T_495, UInt<13>("h00")) @[Cat.scala 29:58] + node _T_496 = bits(ic_tag_data_raw[1], 0, 0) + node _T_497 = bits(ic_tag_data_raw[_T_496], 25, 21) @[el2_ifu_ic_mem.scala 137:75] + node _T_498 = bits(ic_tag_data_raw[1], 0, 0) + node _T_499 = bits(ic_tag_data_raw[_T_498], 18, 0) @[el2_ifu_ic_mem.scala 137:101] + node _T_500 = cat(_T_497, _T_499) @[Cat.scala 29:58] + node w_tout_1 = cat(_T_500, UInt<13>("h00")) @[Cat.scala 29:58] wire ic_tag_corrected_data_unc : UInt<32>[2] @[el2_ifu_ic_mem.scala 142:39] wire ic_tag_corrected_ecc_unc : UInt<7>[2] @[el2_ifu_ic_mem.scala 143:38] wire ic_tag_single_ecc_error : UInt<1>[2] @[el2_ifu_ic_mem.scala 144:37] wire ic_tag_double_ecc_error : UInt<1>[2] @[el2_ifu_ic_mem.scala 145:37] - node _T_502 = bits(w_tout_0, 31, 13) @[el2_ifu_ic_mem.scala 147:92] - node _T_503 = bits(w_tout_0, 31, 31) @[el2_ifu_ic_mem.scala 147:120] - node _T_504 = xorr(_T_502) @[el2_lib.scala 180:14] - node _T_505 = xor(_T_504, _T_503) @[el2_lib.scala 180:27] - node _T_506 = bits(w_tout_1, 31, 13) @[el2_ifu_ic_mem.scala 147:92] - node _T_507 = bits(w_tout_1, 31, 31) @[el2_ifu_ic_mem.scala 147:120] - node _T_508 = xorr(_T_506) @[el2_lib.scala 180:14] - node _T_509 = xor(_T_508, _T_507) @[el2_lib.scala 180:27] + node _T_501 = bits(w_tout_0, 31, 13) @[el2_ifu_ic_mem.scala 147:92] + node _T_502 = bits(w_tout_0, 31, 31) @[el2_ifu_ic_mem.scala 147:120] + node _T_503 = xorr(_T_501) @[el2_lib.scala 180:14] + node _T_504 = xor(_T_503, _T_502) @[el2_lib.scala 180:27] + node _T_505 = bits(w_tout_1, 31, 13) @[el2_ifu_ic_mem.scala 147:92] + node _T_506 = bits(w_tout_1, 31, 31) @[el2_ifu_ic_mem.scala 147:120] + node _T_507 = xorr(_T_505) @[el2_lib.scala 180:14] + node _T_508 = xor(_T_507, _T_506) @[el2_lib.scala 180:27] wire ic_tag_way_perr : UInt<1>[2] @[el2_ifu_ic_mem.scala 147:58] - ic_tag_way_perr[0] <= _T_505 @[el2_ifu_ic_mem.scala 147:58] - ic_tag_way_perr[1] <= _T_509 @[el2_ifu_ic_mem.scala 147:58] + ic_tag_way_perr[0] <= _T_504 @[el2_ifu_ic_mem.scala 147:58] + ic_tag_way_perr[1] <= _T_508 @[el2_ifu_ic_mem.scala 147:58] inst rvecc_decode of rvecc_decode @[el2_ifu_ic_mem.scala 149:27] rvecc_decode.clock <= clock rvecc_decode.reset <= reset - node _T_510 = not(io.dec_tlu_core_ecc_disable) @[el2_ifu_ic_mem.scala 150:28] - node _T_511 = and(_T_510, ic_rd_en_ff) @[el2_ifu_ic_mem.scala 150:57] - rvecc_decode.io.en <= _T_511 @[el2_ifu_ic_mem.scala 150:25] + node _T_509 = not(io.dec_tlu_core_ecc_disable) @[el2_ifu_ic_mem.scala 150:28] + node _T_510 = and(_T_509, ic_rd_en_ff) @[el2_ifu_ic_mem.scala 150:57] + rvecc_decode.io.en <= _T_510 @[el2_ifu_ic_mem.scala 150:25] rvecc_decode.io.sed_ded <= UInt<1>("h01") @[el2_ifu_ic_mem.scala 151:30] - node _T_512 = bits(ic_tag_data_raw[0], 20, 0) @[el2_ifu_ic_mem.scala 152:61] - node _T_513 = cat(UInt<11>("h00"), _T_512) @[Cat.scala 29:58] - rvecc_decode.io.din <= _T_513 @[el2_ifu_ic_mem.scala 152:26] - node _T_514 = bits(ic_tag_data_raw[0], 25, 21) @[el2_ifu_ic_mem.scala 153:63] - node _T_515 = cat(UInt<2>("h00"), _T_514) @[Cat.scala 29:58] - rvecc_decode.io.ecc_in <= _T_515 @[el2_ifu_ic_mem.scala 153:29] + node _T_511 = bits(ic_tag_data_raw[0], 20, 0) @[el2_ifu_ic_mem.scala 152:61] + node _T_512 = cat(UInt<11>("h00"), _T_511) @[Cat.scala 29:58] + rvecc_decode.io.din <= _T_512 @[el2_ifu_ic_mem.scala 152:26] + node _T_513 = bits(ic_tag_data_raw[0], 25, 21) @[el2_ifu_ic_mem.scala 153:63] + node _T_514 = cat(UInt<2>("h00"), _T_513) @[Cat.scala 29:58] + rvecc_decode.io.ecc_in <= _T_514 @[el2_ifu_ic_mem.scala 153:29] ic_tag_corrected_data_unc[0] <= io.test_ecc_data_out[0] @[el2_ifu_ic_mem.scala 155:31] ic_tag_corrected_data_unc[1] <= io.test_ecc_data_out[1] @[el2_ifu_ic_mem.scala 155:31] ic_tag_corrected_ecc_unc[0] <= io.test_ecc_out[0] @[el2_ifu_ic_mem.scala 156:30] @@ -1882,21 +1881,21 @@ circuit EL2_IC_TAG : io.test_ecc_out[0] <= rvecc_decode.io.ecc_out @[el2_ifu_ic_mem.scala 161:24] io.test_ecc_sb_out[0] <= rvecc_decode.io.single_ecc_error @[el2_ifu_ic_mem.scala 162:27] io.test_ecc_db_out[0] <= rvecc_decode.io.double_ecc_error @[el2_ifu_ic_mem.scala 163:27] - node _T_516 = or(ic_tag_single_ecc_error[0], ic_tag_double_ecc_error[0]) @[el2_ifu_ic_mem.scala 165:54] - ic_tag_way_perr[0] <= _T_516 @[el2_ifu_ic_mem.scala 165:24] + node _T_515 = or(ic_tag_single_ecc_error[0], ic_tag_double_ecc_error[0]) @[el2_ifu_ic_mem.scala 165:54] + ic_tag_way_perr[0] <= _T_515 @[el2_ifu_ic_mem.scala 165:24] inst rvecc_decode_1 of rvecc_decode_1 @[el2_ifu_ic_mem.scala 149:27] rvecc_decode_1.clock <= clock rvecc_decode_1.reset <= reset - node _T_517 = not(io.dec_tlu_core_ecc_disable) @[el2_ifu_ic_mem.scala 150:28] - node _T_518 = and(_T_517, ic_rd_en_ff) @[el2_ifu_ic_mem.scala 150:57] - rvecc_decode_1.io.en <= _T_518 @[el2_ifu_ic_mem.scala 150:25] + node _T_516 = not(io.dec_tlu_core_ecc_disable) @[el2_ifu_ic_mem.scala 150:28] + node _T_517 = and(_T_516, ic_rd_en_ff) @[el2_ifu_ic_mem.scala 150:57] + rvecc_decode_1.io.en <= _T_517 @[el2_ifu_ic_mem.scala 150:25] rvecc_decode_1.io.sed_ded <= UInt<1>("h01") @[el2_ifu_ic_mem.scala 151:30] - node _T_519 = bits(ic_tag_data_raw[1], 20, 0) @[el2_ifu_ic_mem.scala 152:61] - node _T_520 = cat(UInt<11>("h00"), _T_519) @[Cat.scala 29:58] - rvecc_decode_1.io.din <= _T_520 @[el2_ifu_ic_mem.scala 152:26] - node _T_521 = bits(ic_tag_data_raw[1], 25, 21) @[el2_ifu_ic_mem.scala 153:63] - node _T_522 = cat(UInt<2>("h00"), _T_521) @[Cat.scala 29:58] - rvecc_decode_1.io.ecc_in <= _T_522 @[el2_ifu_ic_mem.scala 153:29] + node _T_518 = bits(ic_tag_data_raw[1], 20, 0) @[el2_ifu_ic_mem.scala 152:61] + node _T_519 = cat(UInt<11>("h00"), _T_518) @[Cat.scala 29:58] + rvecc_decode_1.io.din <= _T_519 @[el2_ifu_ic_mem.scala 152:26] + node _T_520 = bits(ic_tag_data_raw[1], 25, 21) @[el2_ifu_ic_mem.scala 153:63] + node _T_521 = cat(UInt<2>("h00"), _T_520) @[Cat.scala 29:58] + rvecc_decode_1.io.ecc_in <= _T_521 @[el2_ifu_ic_mem.scala 153:29] ic_tag_corrected_data_unc[0] <= io.test_ecc_data_out[0] @[el2_ifu_ic_mem.scala 155:31] ic_tag_corrected_data_unc[1] <= io.test_ecc_data_out[1] @[el2_ifu_ic_mem.scala 155:31] ic_tag_corrected_ecc_unc[0] <= io.test_ecc_out[0] @[el2_ifu_ic_mem.scala 156:30] @@ -1909,11 +1908,249 @@ circuit EL2_IC_TAG : io.test_ecc_out[1] <= rvecc_decode_1.io.ecc_out @[el2_ifu_ic_mem.scala 161:24] io.test_ecc_sb_out[1] <= rvecc_decode_1.io.single_ecc_error @[el2_ifu_ic_mem.scala 162:27] io.test_ecc_db_out[1] <= rvecc_decode_1.io.double_ecc_error @[el2_ifu_ic_mem.scala 163:27] - node _T_523 = or(ic_tag_single_ecc_error[1], ic_tag_double_ecc_error[1]) @[el2_ifu_ic_mem.scala 165:54] - ic_tag_way_perr[1] <= _T_523 @[el2_ifu_ic_mem.scala 165:24] - io.test[0] <= w_tout_0 @[el2_ifu_ic_mem.scala 168:11] - io.test[1] <= w_tout_1 @[el2_ifu_ic_mem.scala 168:11] - io.ic_tag_perr <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 169:18] - io.ic_rd_hit <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 170:16] - io.ictag_debug_rd_data <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 171:26] + node _T_522 = or(ic_tag_single_ecc_error[1], ic_tag_double_ecc_error[1]) @[el2_ifu_ic_mem.scala 165:54] + ic_tag_way_perr[1] <= _T_522 @[el2_ifu_ic_mem.scala 165:24] + node _T_523 = bits(ic_debug_rd_way_en_ff, 0, 0) @[el2_ifu_ic_mem.scala 168:71] + wire _T_524 : UInt<1>[26] @[el2_lib.scala 177:24] + _T_524[0] <= _T_523 @[el2_lib.scala 177:24] + _T_524[1] <= _T_523 @[el2_lib.scala 177:24] + _T_524[2] <= _T_523 @[el2_lib.scala 177:24] + _T_524[3] <= _T_523 @[el2_lib.scala 177:24] + _T_524[4] <= _T_523 @[el2_lib.scala 177:24] + _T_524[5] <= _T_523 @[el2_lib.scala 177:24] + _T_524[6] <= _T_523 @[el2_lib.scala 177:24] + _T_524[7] <= _T_523 @[el2_lib.scala 177:24] + _T_524[8] <= _T_523 @[el2_lib.scala 177:24] + _T_524[9] <= _T_523 @[el2_lib.scala 177:24] + _T_524[10] <= _T_523 @[el2_lib.scala 177:24] + _T_524[11] <= _T_523 @[el2_lib.scala 177:24] + _T_524[12] <= _T_523 @[el2_lib.scala 177:24] + _T_524[13] <= _T_523 @[el2_lib.scala 177:24] + _T_524[14] <= _T_523 @[el2_lib.scala 177:24] + _T_524[15] <= _T_523 @[el2_lib.scala 177:24] + _T_524[16] <= _T_523 @[el2_lib.scala 177:24] + _T_524[17] <= _T_523 @[el2_lib.scala 177:24] + _T_524[18] <= _T_523 @[el2_lib.scala 177:24] + _T_524[19] <= _T_523 @[el2_lib.scala 177:24] + _T_524[20] <= _T_523 @[el2_lib.scala 177:24] + _T_524[21] <= _T_523 @[el2_lib.scala 177:24] + _T_524[22] <= _T_523 @[el2_lib.scala 177:24] + _T_524[23] <= _T_523 @[el2_lib.scala 177:24] + _T_524[24] <= _T_523 @[el2_lib.scala 177:24] + _T_524[25] <= _T_523 @[el2_lib.scala 177:24] + node _T_525 = cat(_T_524[0], _T_524[1]) @[Cat.scala 29:58] + node _T_526 = cat(_T_525, _T_524[2]) @[Cat.scala 29:58] + node _T_527 = cat(_T_526, _T_524[3]) @[Cat.scala 29:58] + node _T_528 = cat(_T_527, _T_524[4]) @[Cat.scala 29:58] + node _T_529 = cat(_T_528, _T_524[5]) @[Cat.scala 29:58] + node _T_530 = cat(_T_529, _T_524[6]) @[Cat.scala 29:58] + node _T_531 = cat(_T_530, _T_524[7]) @[Cat.scala 29:58] + node _T_532 = cat(_T_531, _T_524[8]) @[Cat.scala 29:58] + node _T_533 = cat(_T_532, _T_524[9]) @[Cat.scala 29:58] + node _T_534 = cat(_T_533, _T_524[10]) @[Cat.scala 29:58] + node _T_535 = cat(_T_534, _T_524[11]) @[Cat.scala 29:58] + node _T_536 = cat(_T_535, _T_524[12]) @[Cat.scala 29:58] + node _T_537 = cat(_T_536, _T_524[13]) @[Cat.scala 29:58] + node _T_538 = cat(_T_537, _T_524[14]) @[Cat.scala 29:58] + node _T_539 = cat(_T_538, _T_524[15]) @[Cat.scala 29:58] + node _T_540 = cat(_T_539, _T_524[16]) @[Cat.scala 29:58] + node _T_541 = cat(_T_540, _T_524[17]) @[Cat.scala 29:58] + node _T_542 = cat(_T_541, _T_524[18]) @[Cat.scala 29:58] + node _T_543 = cat(_T_542, _T_524[19]) @[Cat.scala 29:58] + node _T_544 = cat(_T_543, _T_524[20]) @[Cat.scala 29:58] + node _T_545 = cat(_T_544, _T_524[21]) @[Cat.scala 29:58] + node _T_546 = cat(_T_545, _T_524[22]) @[Cat.scala 29:58] + node _T_547 = cat(_T_546, _T_524[23]) @[Cat.scala 29:58] + node _T_548 = cat(_T_547, _T_524[24]) @[Cat.scala 29:58] + node _T_549 = cat(_T_548, _T_524[25]) @[Cat.scala 29:58] + node _T_550 = and(_T_549, ic_tag_data_raw[0]) @[el2_ifu_ic_mem.scala 168:75] + node _T_551 = bits(ic_debug_rd_way_en_ff, 1, 1) @[el2_ifu_ic_mem.scala 168:71] + wire _T_552 : UInt<1>[26] @[el2_lib.scala 177:24] + _T_552[0] <= _T_551 @[el2_lib.scala 177:24] + _T_552[1] <= _T_551 @[el2_lib.scala 177:24] + _T_552[2] <= _T_551 @[el2_lib.scala 177:24] + _T_552[3] <= _T_551 @[el2_lib.scala 177:24] + _T_552[4] <= _T_551 @[el2_lib.scala 177:24] + _T_552[5] <= _T_551 @[el2_lib.scala 177:24] + _T_552[6] <= _T_551 @[el2_lib.scala 177:24] + _T_552[7] <= _T_551 @[el2_lib.scala 177:24] + _T_552[8] <= _T_551 @[el2_lib.scala 177:24] + _T_552[9] <= _T_551 @[el2_lib.scala 177:24] + _T_552[10] <= _T_551 @[el2_lib.scala 177:24] + _T_552[11] <= _T_551 @[el2_lib.scala 177:24] + _T_552[12] <= _T_551 @[el2_lib.scala 177:24] + _T_552[13] <= _T_551 @[el2_lib.scala 177:24] + _T_552[14] <= _T_551 @[el2_lib.scala 177:24] + _T_552[15] <= _T_551 @[el2_lib.scala 177:24] + _T_552[16] <= _T_551 @[el2_lib.scala 177:24] + _T_552[17] <= _T_551 @[el2_lib.scala 177:24] + _T_552[18] <= _T_551 @[el2_lib.scala 177:24] + _T_552[19] <= _T_551 @[el2_lib.scala 177:24] + _T_552[20] <= _T_551 @[el2_lib.scala 177:24] + _T_552[21] <= _T_551 @[el2_lib.scala 177:24] + _T_552[22] <= _T_551 @[el2_lib.scala 177:24] + _T_552[23] <= _T_551 @[el2_lib.scala 177:24] + _T_552[24] <= _T_551 @[el2_lib.scala 177:24] + _T_552[25] <= _T_551 @[el2_lib.scala 177:24] + node _T_553 = cat(_T_552[0], _T_552[1]) @[Cat.scala 29:58] + node _T_554 = cat(_T_553, _T_552[2]) @[Cat.scala 29:58] + node _T_555 = cat(_T_554, _T_552[3]) @[Cat.scala 29:58] + node _T_556 = cat(_T_555, _T_552[4]) @[Cat.scala 29:58] + node _T_557 = cat(_T_556, _T_552[5]) @[Cat.scala 29:58] + node _T_558 = cat(_T_557, _T_552[6]) @[Cat.scala 29:58] + node _T_559 = cat(_T_558, _T_552[7]) @[Cat.scala 29:58] + node _T_560 = cat(_T_559, _T_552[8]) @[Cat.scala 29:58] + node _T_561 = cat(_T_560, _T_552[9]) @[Cat.scala 29:58] + node _T_562 = cat(_T_561, _T_552[10]) @[Cat.scala 29:58] + node _T_563 = cat(_T_562, _T_552[11]) @[Cat.scala 29:58] + node _T_564 = cat(_T_563, _T_552[12]) @[Cat.scala 29:58] + node _T_565 = cat(_T_564, _T_552[13]) @[Cat.scala 29:58] + node _T_566 = cat(_T_565, _T_552[14]) @[Cat.scala 29:58] + node _T_567 = cat(_T_566, _T_552[15]) @[Cat.scala 29:58] + node _T_568 = cat(_T_567, _T_552[16]) @[Cat.scala 29:58] + node _T_569 = cat(_T_568, _T_552[17]) @[Cat.scala 29:58] + node _T_570 = cat(_T_569, _T_552[18]) @[Cat.scala 29:58] + node _T_571 = cat(_T_570, _T_552[19]) @[Cat.scala 29:58] + node _T_572 = cat(_T_571, _T_552[20]) @[Cat.scala 29:58] + node _T_573 = cat(_T_572, _T_552[21]) @[Cat.scala 29:58] + node _T_574 = cat(_T_573, _T_552[22]) @[Cat.scala 29:58] + node _T_575 = cat(_T_574, _T_552[23]) @[Cat.scala 29:58] + node _T_576 = cat(_T_575, _T_552[24]) @[Cat.scala 29:58] + node _T_577 = cat(_T_576, _T_552[25]) @[Cat.scala 29:58] + node _T_578 = and(_T_577, ic_tag_data_raw[1]) @[el2_ifu_ic_mem.scala 168:75] + wire _T_579 : UInt<26>[2] @[el2_ifu_ic_mem.scala 168:38] + _T_579[0] <= _T_550 @[el2_ifu_ic_mem.scala 168:38] + _T_579[1] <= _T_578 @[el2_ifu_ic_mem.scala 168:38] + node temp = or(_T_579[0], _T_579[1]) @[el2_ifu_ic_mem.scala 168:104] + node _T_580 = bits(ic_debug_rd_way_en_ff, 0, 0) @[el2_ifu_ic_mem.scala 173:36] + wire _T_581 : UInt<1>[26] @[el2_lib.scala 177:24] + _T_581[0] <= _T_580 @[el2_lib.scala 177:24] + _T_581[1] <= _T_580 @[el2_lib.scala 177:24] + _T_581[2] <= _T_580 @[el2_lib.scala 177:24] + _T_581[3] <= _T_580 @[el2_lib.scala 177:24] + _T_581[4] <= _T_580 @[el2_lib.scala 177:24] + _T_581[5] <= _T_580 @[el2_lib.scala 177:24] + _T_581[6] <= _T_580 @[el2_lib.scala 177:24] + _T_581[7] <= _T_580 @[el2_lib.scala 177:24] + _T_581[8] <= _T_580 @[el2_lib.scala 177:24] + _T_581[9] <= _T_580 @[el2_lib.scala 177:24] + _T_581[10] <= _T_580 @[el2_lib.scala 177:24] + _T_581[11] <= _T_580 @[el2_lib.scala 177:24] + _T_581[12] <= _T_580 @[el2_lib.scala 177:24] + _T_581[13] <= _T_580 @[el2_lib.scala 177:24] + _T_581[14] <= _T_580 @[el2_lib.scala 177:24] + _T_581[15] <= _T_580 @[el2_lib.scala 177:24] + _T_581[16] <= _T_580 @[el2_lib.scala 177:24] + _T_581[17] <= _T_580 @[el2_lib.scala 177:24] + _T_581[18] <= _T_580 @[el2_lib.scala 177:24] + _T_581[19] <= _T_580 @[el2_lib.scala 177:24] + _T_581[20] <= _T_580 @[el2_lib.scala 177:24] + _T_581[21] <= _T_580 @[el2_lib.scala 177:24] + _T_581[22] <= _T_580 @[el2_lib.scala 177:24] + _T_581[23] <= _T_580 @[el2_lib.scala 177:24] + _T_581[24] <= _T_580 @[el2_lib.scala 177:24] + _T_581[25] <= _T_580 @[el2_lib.scala 177:24] + node _T_582 = cat(_T_581[0], _T_581[1]) @[Cat.scala 29:58] + node _T_583 = cat(_T_582, _T_581[2]) @[Cat.scala 29:58] + node _T_584 = cat(_T_583, _T_581[3]) @[Cat.scala 29:58] + node _T_585 = cat(_T_584, _T_581[4]) @[Cat.scala 29:58] + node _T_586 = cat(_T_585, _T_581[5]) @[Cat.scala 29:58] + node _T_587 = cat(_T_586, _T_581[6]) @[Cat.scala 29:58] + node _T_588 = cat(_T_587, _T_581[7]) @[Cat.scala 29:58] + node _T_589 = cat(_T_588, _T_581[8]) @[Cat.scala 29:58] + node _T_590 = cat(_T_589, _T_581[9]) @[Cat.scala 29:58] + node _T_591 = cat(_T_590, _T_581[10]) @[Cat.scala 29:58] + node _T_592 = cat(_T_591, _T_581[11]) @[Cat.scala 29:58] + node _T_593 = cat(_T_592, _T_581[12]) @[Cat.scala 29:58] + node _T_594 = cat(_T_593, _T_581[13]) @[Cat.scala 29:58] + node _T_595 = cat(_T_594, _T_581[14]) @[Cat.scala 29:58] + node _T_596 = cat(_T_595, _T_581[15]) @[Cat.scala 29:58] + node _T_597 = cat(_T_596, _T_581[16]) @[Cat.scala 29:58] + node _T_598 = cat(_T_597, _T_581[17]) @[Cat.scala 29:58] + node _T_599 = cat(_T_598, _T_581[18]) @[Cat.scala 29:58] + node _T_600 = cat(_T_599, _T_581[19]) @[Cat.scala 29:58] + node _T_601 = cat(_T_600, _T_581[20]) @[Cat.scala 29:58] + node _T_602 = cat(_T_601, _T_581[21]) @[Cat.scala 29:58] + node _T_603 = cat(_T_602, _T_581[22]) @[Cat.scala 29:58] + node _T_604 = cat(_T_603, _T_581[23]) @[Cat.scala 29:58] + node _T_605 = cat(_T_604, _T_581[24]) @[Cat.scala 29:58] + node _T_606 = cat(_T_605, _T_581[25]) @[Cat.scala 29:58] + node _T_607 = and(_T_606, ic_tag_data_raw[0]) @[el2_ifu_ic_mem.scala 173:40] + node _T_608 = bits(ic_debug_rd_way_en_ff, 1, 1) @[el2_ifu_ic_mem.scala 173:36] + wire _T_609 : UInt<1>[26] @[el2_lib.scala 177:24] + _T_609[0] <= _T_608 @[el2_lib.scala 177:24] + _T_609[1] <= _T_608 @[el2_lib.scala 177:24] + _T_609[2] <= _T_608 @[el2_lib.scala 177:24] + _T_609[3] <= _T_608 @[el2_lib.scala 177:24] + _T_609[4] <= _T_608 @[el2_lib.scala 177:24] + _T_609[5] <= _T_608 @[el2_lib.scala 177:24] + _T_609[6] <= _T_608 @[el2_lib.scala 177:24] + _T_609[7] <= _T_608 @[el2_lib.scala 177:24] + _T_609[8] <= _T_608 @[el2_lib.scala 177:24] + _T_609[9] <= _T_608 @[el2_lib.scala 177:24] + _T_609[10] <= _T_608 @[el2_lib.scala 177:24] + _T_609[11] <= _T_608 @[el2_lib.scala 177:24] + _T_609[12] <= _T_608 @[el2_lib.scala 177:24] + _T_609[13] <= _T_608 @[el2_lib.scala 177:24] + _T_609[14] <= _T_608 @[el2_lib.scala 177:24] + _T_609[15] <= _T_608 @[el2_lib.scala 177:24] + _T_609[16] <= _T_608 @[el2_lib.scala 177:24] + _T_609[17] <= _T_608 @[el2_lib.scala 177:24] + _T_609[18] <= _T_608 @[el2_lib.scala 177:24] + _T_609[19] <= _T_608 @[el2_lib.scala 177:24] + _T_609[20] <= _T_608 @[el2_lib.scala 177:24] + _T_609[21] <= _T_608 @[el2_lib.scala 177:24] + _T_609[22] <= _T_608 @[el2_lib.scala 177:24] + _T_609[23] <= _T_608 @[el2_lib.scala 177:24] + _T_609[24] <= _T_608 @[el2_lib.scala 177:24] + _T_609[25] <= _T_608 @[el2_lib.scala 177:24] + node _T_610 = cat(_T_609[0], _T_609[1]) @[Cat.scala 29:58] + node _T_611 = cat(_T_610, _T_609[2]) @[Cat.scala 29:58] + node _T_612 = cat(_T_611, _T_609[3]) @[Cat.scala 29:58] + node _T_613 = cat(_T_612, _T_609[4]) @[Cat.scala 29:58] + node _T_614 = cat(_T_613, _T_609[5]) @[Cat.scala 29:58] + node _T_615 = cat(_T_614, _T_609[6]) @[Cat.scala 29:58] + node _T_616 = cat(_T_615, _T_609[7]) @[Cat.scala 29:58] + node _T_617 = cat(_T_616, _T_609[8]) @[Cat.scala 29:58] + node _T_618 = cat(_T_617, _T_609[9]) @[Cat.scala 29:58] + node _T_619 = cat(_T_618, _T_609[10]) @[Cat.scala 29:58] + node _T_620 = cat(_T_619, _T_609[11]) @[Cat.scala 29:58] + node _T_621 = cat(_T_620, _T_609[12]) @[Cat.scala 29:58] + node _T_622 = cat(_T_621, _T_609[13]) @[Cat.scala 29:58] + node _T_623 = cat(_T_622, _T_609[14]) @[Cat.scala 29:58] + node _T_624 = cat(_T_623, _T_609[15]) @[Cat.scala 29:58] + node _T_625 = cat(_T_624, _T_609[16]) @[Cat.scala 29:58] + node _T_626 = cat(_T_625, _T_609[17]) @[Cat.scala 29:58] + node _T_627 = cat(_T_626, _T_609[18]) @[Cat.scala 29:58] + node _T_628 = cat(_T_627, _T_609[19]) @[Cat.scala 29:58] + node _T_629 = cat(_T_628, _T_609[20]) @[Cat.scala 29:58] + node _T_630 = cat(_T_629, _T_609[21]) @[Cat.scala 29:58] + node _T_631 = cat(_T_630, _T_609[22]) @[Cat.scala 29:58] + node _T_632 = cat(_T_631, _T_609[23]) @[Cat.scala 29:58] + node _T_633 = cat(_T_632, _T_609[24]) @[Cat.scala 29:58] + node _T_634 = cat(_T_633, _T_609[25]) @[Cat.scala 29:58] + node _T_635 = and(_T_634, ic_tag_data_raw[1]) @[el2_ifu_ic_mem.scala 173:40] + io.ictag_debug_rd_data <= temp @[el2_ifu_ic_mem.scala 175:26] + node _T_636 = and(w_tout_0, w_tout_1) @[el2_ifu_ic_mem.scala 176:31] + io.test <= _T_636 @[el2_ifu_ic_mem.scala 176:13] + node _T_637 = cat(ic_tag_way_perr[0], ic_tag_way_perr[1]) @[Cat.scala 29:58] + node _T_638 = and(_T_637, io.ic_tag_valid) @[el2_ifu_ic_mem.scala 177:55] + node _T_639 = orr(_T_638) @[el2_ifu_ic_mem.scala 177:74] + io.ic_tag_perr <= _T_639 @[el2_ifu_ic_mem.scala 177:18] + wire w_tout_Vec : UInt<37>[2] @[el2_ifu_ic_mem.scala 178:53] + w_tout_Vec[0] <= w_tout_0 @[el2_ifu_ic_mem.scala 178:53] + w_tout_Vec[1] <= w_tout_1 @[el2_ifu_ic_mem.scala 178:53] + node _T_640 = bits(w_tout_Vec[0], 31, 13) @[el2_ifu_ic_mem.scala 179:70] + node _T_641 = bits(ic_rw_addr_ff, 31, 13) @[el2_ifu_ic_mem.scala 179:104] + node _T_642 = eq(_T_640, _T_641) @[el2_ifu_ic_mem.scala 179:88] + node _T_643 = and(_T_642, io.ic_tag_valid) @[el2_ifu_ic_mem.scala 179:133] + node _T_644 = bits(w_tout_Vec[1], 31, 13) @[el2_ifu_ic_mem.scala 179:70] + node _T_645 = bits(ic_rw_addr_ff, 31, 13) @[el2_ifu_ic_mem.scala 179:104] + node _T_646 = eq(_T_644, _T_645) @[el2_ifu_ic_mem.scala 179:88] + node _T_647 = and(_T_646, io.ic_tag_valid) @[el2_ifu_ic_mem.scala 179:133] + wire _T_648 : UInt<2>[2] @[el2_ifu_ic_mem.scala 179:52] + _T_648[0] <= _T_643 @[el2_ifu_ic_mem.scala 179:52] + _T_648[1] <= _T_647 @[el2_ifu_ic_mem.scala 179:52] + node _T_649 = cat(_T_648[0], _T_648[1]) @[Cat.scala 29:58] + io.ic_rd_hit <= _T_649 @[el2_ifu_ic_mem.scala 179:16] diff --git a/EL2_IC_TAG.v b/EL2_IC_TAG.v index d872fbe5..1a723dbe 100644 --- a/EL2_IC_TAG.v +++ b/EL2_IC_TAG.v @@ -140,8 +140,7 @@ module EL2_IC_TAG( output [1:0] io_ic_rd_hit, output io_ic_tag_perr, input io_scan_mode, - output [25:0] io_test_0, - output [25:0] io_test_1, + output [25:0] io_test, output [31:0] io_test_ecc_data_out_0, output [31:0] io_test_ecc_data_out_1, output [6:0] io_test_ecc_out_0, @@ -158,22 +157,24 @@ module EL2_IC_TAG( `ifdef RANDOMIZE_REG_INIT reg [31:0] _RAND_1; reg [31:0] _RAND_3; + reg [31:0] _RAND_4; + reg [31:0] _RAND_5; `endif // RANDOMIZE_REG_INIT reg [25:0] ic_way_tag_0 [0:127]; // @[el2_ifu_ic_mem.scala 125:46] wire [25:0] ic_way_tag_0_ic_tag_data_raw_data; // @[el2_ifu_ic_mem.scala 125:46] wire [6:0] ic_way_tag_0_ic_tag_data_raw_addr; // @[el2_ifu_ic_mem.scala 125:46] - wire [25:0] ic_way_tag_0__T_488_data; // @[el2_ifu_ic_mem.scala 125:46] - wire [6:0] ic_way_tag_0__T_488_addr; // @[el2_ifu_ic_mem.scala 125:46] - wire ic_way_tag_0__T_488_mask; // @[el2_ifu_ic_mem.scala 125:46] - wire ic_way_tag_0__T_488_en; // @[el2_ifu_ic_mem.scala 125:46] + wire [25:0] ic_way_tag_0__T_487_data; // @[el2_ifu_ic_mem.scala 125:46] + wire [6:0] ic_way_tag_0__T_487_addr; // @[el2_ifu_ic_mem.scala 125:46] + wire ic_way_tag_0__T_487_mask; // @[el2_ifu_ic_mem.scala 125:46] + wire ic_way_tag_0__T_487_en; // @[el2_ifu_ic_mem.scala 125:46] reg [6:0] ic_way_tag_0_ic_tag_data_raw_addr_pipe_0; reg [25:0] ic_way_tag_1 [0:127]; // @[el2_ifu_ic_mem.scala 125:46] wire [25:0] ic_way_tag_1_ic_tag_data_raw_data; // @[el2_ifu_ic_mem.scala 125:46] wire [6:0] ic_way_tag_1_ic_tag_data_raw_addr; // @[el2_ifu_ic_mem.scala 125:46] - wire [25:0] ic_way_tag_1__T_488_data; // @[el2_ifu_ic_mem.scala 125:46] - wire [6:0] ic_way_tag_1__T_488_addr; // @[el2_ifu_ic_mem.scala 125:46] - wire ic_way_tag_1__T_488_mask; // @[el2_ifu_ic_mem.scala 125:46] - wire ic_way_tag_1__T_488_en; // @[el2_ifu_ic_mem.scala 125:46] + wire [25:0] ic_way_tag_1__T_487_data; // @[el2_ifu_ic_mem.scala 125:46] + wire [6:0] ic_way_tag_1__T_487_addr; // @[el2_ifu_ic_mem.scala 125:46] + wire ic_way_tag_1__T_487_mask; // @[el2_ifu_ic_mem.scala 125:46] + wire ic_way_tag_1__T_487_en; // @[el2_ifu_ic_mem.scala 125:46] reg [6:0] ic_way_tag_1_ic_tag_data_raw_addr_pipe_0; wire [31:0] rvecc_decode_io_din; // @[el2_ifu_ic_mem.scala 149:27] wire [6:0] rvecc_decode_io_ecc_in; // @[el2_ifu_ic_mem.scala 149:27] @@ -199,37 +200,59 @@ module EL2_IC_TAG( wire [1:0] _T_14 = _T_13 | io_ic_wr_en; // @[el2_ifu_ic_mem.scala 77:74] wire [1:0] _T_15 = _T_14 | ic_debug_wr_way_en; // @[el2_ifu_ic_mem.scala 77:88] wire [1:0] ic_tag_clken = _T_15 | ic_debug_rd_way_en; // @[el2_ifu_ic_mem.scala 77:109] + reg [31:0] ic_rw_addr_ff; // @[el2_ifu_ic_mem.scala 80:30] wire [1:0] ic_tag_wren_q = ic_tag_wren | ic_debug_wr_way_en; // @[el2_ifu_ic_mem.scala 82:35] - wire [31:0] _T_31 = {13'h0,io_ic_rw_addr[31:13]}; // @[Cat.scala 29:58] - wire [8:0] _T_135 = {_T_31[16],_T_31[14],_T_31[12],_T_31[10],_T_31[8],_T_31[6],_T_31[5],_T_31[3],_T_31[1]}; // @[el2_lib.scala 211:22] - wire [17:0] _T_144 = {_T_31[31],_T_31[30],_T_31[28],_T_31[27],_T_31[25],_T_31[23],_T_31[21],_T_31[20],_T_31[18],_T_135}; // @[el2_lib.scala 211:22] - wire _T_145 = ^_T_144; // @[el2_lib.scala 211:29] - wire [8:0] _T_153 = {_T_31[15],_T_31[14],_T_31[11],_T_31[10],_T_31[7],_T_31[6],_T_31[4],_T_31[3],_T_31[0]}; // @[el2_lib.scala 211:39] - wire [17:0] _T_162 = {_T_31[31],_T_31[29],_T_31[28],_T_31[26],_T_31[25],_T_31[22],_T_31[21],_T_31[19],_T_31[18],_T_153}; // @[el2_lib.scala 211:39] - wire _T_163 = ^_T_162; // @[el2_lib.scala 211:46] - wire [8:0] _T_171 = {_T_31[15],_T_31[14],_T_31[9],_T_31[8],_T_31[7],_T_31[6],_T_31[2],_T_31[1],_T_31[0]}; // @[el2_lib.scala 211:56] - wire [17:0] _T_180 = {_T_31[30],_T_31[29],_T_31[28],_T_31[24],_T_31[23],_T_31[22],_T_31[21],_T_31[17],_T_31[16],_T_171}; // @[el2_lib.scala 211:56] - wire _T_181 = ^_T_180; // @[el2_lib.scala 211:63] - wire [6:0] _T_187 = {_T_31[12],_T_31[11],_T_31[10],_T_31[9],_T_31[8],_T_31[7],_T_31[6]}; // @[el2_lib.scala 211:73] - wire [14:0] _T_195 = {_T_31[27],_T_31[26],_T_31[25],_T_31[24],_T_31[23],_T_31[22],_T_31[21],_T_31[13],_T_187}; // @[el2_lib.scala 211:73] - wire _T_196 = ^_T_195; // @[el2_lib.scala 211:80] - wire [14:0] _T_210 = {_T_31[20],_T_31[19],_T_31[18],_T_31[17],_T_31[16],_T_31[15],_T_31[14],_T_31[13],_T_187}; // @[el2_lib.scala 211:90] - wire _T_211 = ^_T_210; // @[el2_lib.scala 211:97] - wire [5:0] _T_216 = {_T_31[5],_T_31[4],_T_31[3],_T_31[2],_T_31[1],_T_31[0]}; // @[el2_lib.scala 211:107] - wire _T_217 = ^_T_216; // @[el2_lib.scala 211:114] - wire [5:0] _T_222 = {_T_145,_T_163,_T_181,_T_196,_T_211,_T_217}; // @[Cat.scala 29:58] - wire _T_223 = ^_T_31; // @[el2_lib.scala 212:13] - wire _T_224 = ^_T_222; // @[el2_lib.scala 212:23] - wire _T_225 = _T_223 ^ _T_224; // @[el2_lib.scala 212:18] - wire [6:0] _T_226 = {_T_225,_T_145,_T_163,_T_181,_T_196,_T_211,_T_217}; // @[Cat.scala 29:58] - wire [25:0] _T_230 = {io_ic_debug_wr_data[68:64],io_ic_debug_wr_data[31:11]}; // @[Cat.scala 29:58] - wire [25:0] _T_464 = {_T_226[4:0],2'h0,io_ic_rw_addr[31:13]}; // @[Cat.scala 29:58] - wire _T_479 = io_ic_debug_rd_en | io_ic_debug_wr_en; // @[el2_ifu_ic_mem.scala 119:44] + wire [31:0] _T_30 = {13'h0,io_ic_rw_addr[31:13]}; // @[Cat.scala 29:58] + wire [8:0] _T_134 = {_T_30[16],_T_30[14],_T_30[12],_T_30[10],_T_30[8],_T_30[6],_T_30[5],_T_30[3],_T_30[1]}; // @[el2_lib.scala 211:22] + wire [17:0] _T_143 = {_T_30[31],_T_30[30],_T_30[28],_T_30[27],_T_30[25],_T_30[23],_T_30[21],_T_30[20],_T_30[18],_T_134}; // @[el2_lib.scala 211:22] + wire _T_144 = ^_T_143; // @[el2_lib.scala 211:29] + wire [8:0] _T_152 = {_T_30[15],_T_30[14],_T_30[11],_T_30[10],_T_30[7],_T_30[6],_T_30[4],_T_30[3],_T_30[0]}; // @[el2_lib.scala 211:39] + wire [17:0] _T_161 = {_T_30[31],_T_30[29],_T_30[28],_T_30[26],_T_30[25],_T_30[22],_T_30[21],_T_30[19],_T_30[18],_T_152}; // @[el2_lib.scala 211:39] + wire _T_162 = ^_T_161; // @[el2_lib.scala 211:46] + wire [8:0] _T_170 = {_T_30[15],_T_30[14],_T_30[9],_T_30[8],_T_30[7],_T_30[6],_T_30[2],_T_30[1],_T_30[0]}; // @[el2_lib.scala 211:56] + wire [17:0] _T_179 = {_T_30[30],_T_30[29],_T_30[28],_T_30[24],_T_30[23],_T_30[22],_T_30[21],_T_30[17],_T_30[16],_T_170}; // @[el2_lib.scala 211:56] + wire _T_180 = ^_T_179; // @[el2_lib.scala 211:63] + wire [6:0] _T_186 = {_T_30[12],_T_30[11],_T_30[10],_T_30[9],_T_30[8],_T_30[7],_T_30[6]}; // @[el2_lib.scala 211:73] + wire [14:0] _T_194 = {_T_30[27],_T_30[26],_T_30[25],_T_30[24],_T_30[23],_T_30[22],_T_30[21],_T_30[13],_T_186}; // @[el2_lib.scala 211:73] + wire _T_195 = ^_T_194; // @[el2_lib.scala 211:80] + wire [14:0] _T_209 = {_T_30[20],_T_30[19],_T_30[18],_T_30[17],_T_30[16],_T_30[15],_T_30[14],_T_30[13],_T_186}; // @[el2_lib.scala 211:90] + wire _T_210 = ^_T_209; // @[el2_lib.scala 211:97] + wire [5:0] _T_215 = {_T_30[5],_T_30[4],_T_30[3],_T_30[2],_T_30[1],_T_30[0]}; // @[el2_lib.scala 211:107] + wire _T_216 = ^_T_215; // @[el2_lib.scala 211:114] + wire [5:0] _T_221 = {_T_144,_T_162,_T_180,_T_195,_T_210,_T_216}; // @[Cat.scala 29:58] + wire _T_222 = ^_T_30; // @[el2_lib.scala 212:13] + wire _T_223 = ^_T_221; // @[el2_lib.scala 212:23] + wire _T_224 = _T_222 ^ _T_223; // @[el2_lib.scala 212:18] + wire [6:0] _T_225 = {_T_224,_T_144,_T_162,_T_180,_T_195,_T_210,_T_216}; // @[Cat.scala 29:58] + wire [25:0] _T_229 = {io_ic_debug_wr_data[68:64],io_ic_debug_wr_data[31:11]}; // @[Cat.scala 29:58] + wire [25:0] _T_463 = {_T_225[4:0],2'h0,io_ic_rw_addr[31:13]}; // @[Cat.scala 29:58] + wire _T_478 = io_ic_debug_rd_en | io_ic_debug_wr_en; // @[el2_ifu_ic_mem.scala 119:44] + reg [1:0] ic_debug_rd_way_en_ff; // @[el2_ifu_ic_mem.scala 123:38] wire [25:0] _GEN_17 = ic_way_tag_0_ic_tag_data_raw_data; // @[el2_ifu_ic_mem.scala 137:75] wire [25:0] _GEN_18 = ic_way_tag_0_ic_tag_data_raw_data[0] ? ic_way_tag_1_ic_tag_data_raw_data : _GEN_17; // @[el2_ifu_ic_mem.scala 137:75] wire [36:0] w_tout_0 = {_GEN_18[25:21],_GEN_18[18:0],13'h0}; // @[Cat.scala 29:58] wire [25:0] _GEN_22 = ic_way_tag_1_ic_tag_data_raw_data[0] ? ic_way_tag_1_ic_tag_data_raw_data : _GEN_17; // @[el2_ifu_ic_mem.scala 137:75] wire [36:0] w_tout_1 = {_GEN_22[25:21],_GEN_22[18:0],13'h0}; // @[Cat.scala 29:58] + wire ic_tag_way_perr_0 = io_test_ecc_sb_out_0 | io_test_ecc_db_out_0; // @[el2_ifu_ic_mem.scala 165:54] + wire ic_tag_way_perr_1 = io_test_ecc_sb_out_1 | io_test_ecc_db_out_1; // @[el2_ifu_ic_mem.scala 165:54] + wire [9:0] _T_533 = {ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0]}; // @[Cat.scala 29:58] + wire [18:0] _T_542 = {_T_533,ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0]}; // @[Cat.scala 29:58] + wire [25:0] _T_549 = {_T_542,ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0],ic_debug_rd_way_en_ff[0]}; // @[Cat.scala 29:58] + wire [25:0] _T_550 = _T_549 & ic_way_tag_0_ic_tag_data_raw_data; // @[el2_ifu_ic_mem.scala 168:75] + wire [9:0] _T_561 = {ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1]}; // @[Cat.scala 29:58] + wire [18:0] _T_570 = {_T_561,ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1]}; // @[Cat.scala 29:58] + wire [25:0] _T_577 = {_T_570,ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1],ic_debug_rd_way_en_ff[1]}; // @[Cat.scala 29:58] + wire [25:0] _T_578 = _T_577 & ic_way_tag_1_ic_tag_data_raw_data; // @[el2_ifu_ic_mem.scala 168:75] + wire [36:0] _T_636 = w_tout_0 & w_tout_1; // @[el2_ifu_ic_mem.scala 176:31] + wire [1:0] _T_637 = {ic_tag_way_perr_0,ic_tag_way_perr_1}; // @[Cat.scala 29:58] + wire [1:0] _T_638 = _T_637 & io_ic_tag_valid; // @[el2_ifu_ic_mem.scala 177:55] + wire _T_642 = w_tout_0[31:13] == ic_rw_addr_ff[31:13]; // @[el2_ifu_ic_mem.scala 179:88] + wire [1:0] _GEN_25 = {{1'd0}, _T_642}; // @[el2_ifu_ic_mem.scala 179:133] + wire [1:0] _T_643 = _GEN_25 & io_ic_tag_valid; // @[el2_ifu_ic_mem.scala 179:133] + wire _T_646 = w_tout_1[31:13] == ic_rw_addr_ff[31:13]; // @[el2_ifu_ic_mem.scala 179:88] + wire [1:0] _GEN_26 = {{1'd0}, _T_646}; // @[el2_ifu_ic_mem.scala 179:133] + wire [1:0] _T_647 = _GEN_26 & io_ic_tag_valid; // @[el2_ifu_ic_mem.scala 179:133] + wire [3:0] _T_649 = {_T_643,_T_647}; // @[Cat.scala 29:58] rvecc_decode rvecc_decode ( // @[el2_ifu_ic_mem.scala 149:27] .io_din(rvecc_decode_io_din), .io_ecc_in(rvecc_decode_io_ecc_in), @@ -246,21 +269,20 @@ module EL2_IC_TAG( ); assign ic_way_tag_0_ic_tag_data_raw_addr = ic_way_tag_0_ic_tag_data_raw_addr_pipe_0; assign ic_way_tag_0_ic_tag_data_raw_data = ic_way_tag_0[ic_way_tag_0_ic_tag_data_raw_addr]; // @[el2_ifu_ic_mem.scala 125:46] - assign ic_way_tag_0__T_488_data = _T_8 ? _T_230 : _T_464; - assign ic_way_tag_0__T_488_addr = _T_479 ? io_ic_debug_addr[12:6] : io_ic_rw_addr[12:6]; - assign ic_way_tag_0__T_488_mask = ic_tag_wren_q[0] & ic_tag_clken[0]; - assign ic_way_tag_0__T_488_en = 1'h1; + assign ic_way_tag_0__T_487_data = _T_8 ? _T_229 : _T_463; + assign ic_way_tag_0__T_487_addr = _T_478 ? io_ic_debug_addr[12:6] : io_ic_rw_addr[12:6]; + assign ic_way_tag_0__T_487_mask = ic_tag_wren_q[0] & ic_tag_clken[0]; + assign ic_way_tag_0__T_487_en = 1'h1; assign ic_way_tag_1_ic_tag_data_raw_addr = ic_way_tag_1_ic_tag_data_raw_addr_pipe_0; assign ic_way_tag_1_ic_tag_data_raw_data = ic_way_tag_1[ic_way_tag_1_ic_tag_data_raw_addr]; // @[el2_ifu_ic_mem.scala 125:46] - assign ic_way_tag_1__T_488_data = _T_8 ? _T_230 : _T_464; - assign ic_way_tag_1__T_488_addr = _T_479 ? io_ic_debug_addr[12:6] : io_ic_rw_addr[12:6]; - assign ic_way_tag_1__T_488_mask = ic_tag_wren_q[1] & ic_tag_clken[1]; - assign ic_way_tag_1__T_488_en = 1'h1; - assign io_ictag_debug_rd_data = 26'h0; // @[el2_ifu_ic_mem.scala 171:26] - assign io_ic_rd_hit = 2'h0; // @[el2_ifu_ic_mem.scala 170:16] - assign io_ic_tag_perr = 1'h0; // @[el2_ifu_ic_mem.scala 169:18] - assign io_test_0 = w_tout_0[25:0]; // @[el2_ifu_ic_mem.scala 168:11] - assign io_test_1 = w_tout_1[25:0]; // @[el2_ifu_ic_mem.scala 168:11] + assign ic_way_tag_1__T_487_data = _T_8 ? _T_229 : _T_463; + assign ic_way_tag_1__T_487_addr = _T_478 ? io_ic_debug_addr[12:6] : io_ic_rw_addr[12:6]; + assign ic_way_tag_1__T_487_mask = ic_tag_wren_q[1] & ic_tag_clken[1]; + assign ic_way_tag_1__T_487_en = 1'h1; + assign io_ictag_debug_rd_data = _T_550 | _T_578; // @[el2_ifu_ic_mem.scala 175:26] + assign io_ic_rd_hit = _T_649[1:0]; // @[el2_ifu_ic_mem.scala 179:16] + assign io_ic_tag_perr = |_T_638; // @[el2_ifu_ic_mem.scala 177:18] + assign io_test = _T_636[25:0]; // @[el2_ifu_ic_mem.scala 176:13] assign io_test_ecc_data_out_0 = rvecc_decode_io_dout; // @[el2_ifu_ic_mem.scala 160:29] assign io_test_ecc_data_out_1 = rvecc_decode_1_io_dout; // @[el2_ifu_ic_mem.scala 160:29] assign io_test_ecc_out_0 = rvecc_decode_io_ecc_out; // @[el2_ifu_ic_mem.scala 161:24] @@ -320,6 +342,10 @@ initial begin ic_way_tag_0_ic_tag_data_raw_addr_pipe_0 = _RAND_1[6:0]; _RAND_3 = {1{`RANDOM}}; ic_way_tag_1_ic_tag_data_raw_addr_pipe_0 = _RAND_3[6:0]; + _RAND_4 = {1{`RANDOM}}; + ic_rw_addr_ff = _RAND_4[31:0]; + _RAND_5 = {1{`RANDOM}}; + ic_debug_rd_way_en_ff = _RAND_5[1:0]; `endif // RANDOMIZE_REG_INIT `endif // RANDOMIZE end // initial @@ -328,21 +354,31 @@ end // initial `endif `endif // SYNTHESIS always @(posedge clock) begin - if(ic_way_tag_0__T_488_en & ic_way_tag_0__T_488_mask) begin - ic_way_tag_0[ic_way_tag_0__T_488_addr] <= ic_way_tag_0__T_488_data; // @[el2_ifu_ic_mem.scala 125:46] + if(ic_way_tag_0__T_487_en & ic_way_tag_0__T_487_mask) begin + ic_way_tag_0[ic_way_tag_0__T_487_addr] <= ic_way_tag_0__T_487_data; // @[el2_ifu_ic_mem.scala 125:46] end - if (_T_479) begin + if (_T_478) begin ic_way_tag_0_ic_tag_data_raw_addr_pipe_0 <= io_ic_debug_addr[12:6]; end else begin ic_way_tag_0_ic_tag_data_raw_addr_pipe_0 <= io_ic_rw_addr[12:6]; end - if(ic_way_tag_1__T_488_en & ic_way_tag_1__T_488_mask) begin - ic_way_tag_1[ic_way_tag_1__T_488_addr] <= ic_way_tag_1__T_488_data; // @[el2_ifu_ic_mem.scala 125:46] + if(ic_way_tag_1__T_487_en & ic_way_tag_1__T_487_mask) begin + ic_way_tag_1[ic_way_tag_1__T_487_addr] <= ic_way_tag_1__T_487_data; // @[el2_ifu_ic_mem.scala 125:46] end - if (_T_479) begin + if (_T_478) begin ic_way_tag_1_ic_tag_data_raw_addr_pipe_0 <= io_ic_debug_addr[12:6]; end else begin ic_way_tag_1_ic_tag_data_raw_addr_pipe_0 <= io_ic_rw_addr[12:6]; end + if (reset) begin + ic_rw_addr_ff <= 32'h0; + end else begin + ic_rw_addr_ff <= io_ic_rw_addr; + end + if (reset) begin + ic_debug_rd_way_en_ff <= 2'h0; + end else begin + ic_debug_rd_way_en_ff <= ic_debug_rd_way_en; + end end endmodule diff --git a/src/main/scala/ifu/el2_ifu_ic_mem.scala b/src/main/scala/ifu/el2_ifu_ic_mem.scala index 4dd98595..8e1948f3 100644 --- a/src/main/scala/ifu/el2_ifu_ic_mem.scala +++ b/src/main/scala/ifu/el2_ifu_ic_mem.scala @@ -63,7 +63,7 @@ class EL2_IC_TAG extends Module with el2_lib with param { val ic_tag_perr = Output(Bool()) val scan_mode = Input(Bool()) - val test = Output(Vec(ICACHE_NUM_WAYS, UInt(26.W))) + val test = Output(UInt(26.W)) val test_ecc_data_out = Output(Vec(ICACHE_NUM_WAYS,UInt(32.W))) val test_ecc_out = Output(Vec(ICACHE_NUM_WAYS,UInt(7.W))) val test_ecc_sb_out = Output(Vec(ICACHE_NUM_WAYS,UInt(1.W))) @@ -77,7 +77,7 @@ class EL2_IC_TAG extends Module with el2_lib with param { val ic_tag_clken = repl(ICACHE_NUM_WAYS,io.ic_rd_en | io.clk_override) | io.ic_wr_en | ic_debug_wr_way_en | ic_debug_rd_way_en val ic_rd_en_ff = RegNext(io.ic_rd_en, init=0.U) - val ic_rw_addr_ff = RegNext(io.ic_rw_addr(31,ICACHE_TAG_LO)) + val ic_rw_addr_ff = RegNext(io.ic_rw_addr, init=0.U) val PAD_BITS = 21 - (32 - ICACHE_TAG_LO) val ic_tag_wren_q = ic_tag_wren | ic_debug_wr_way_en val ic_tag_ecc = Wire(UInt(7.W)) @@ -120,7 +120,7 @@ class EL2_IC_TAG extends Module with el2_lib with param { io.ic_debug_addr(ICACHE_INDEX_HI, ICACHE_TAG_INDEX_LO), io.ic_rw_addr(ICACHE_INDEX_HI, ICACHE_TAG_INDEX_LO)) - val ic_debug_rd_way_en_ff = RegNext(io.ic_debug_rd_en, init = 0.U) + val ic_debug_rd_way_en_ff = RegNext(ic_debug_rd_way_en, init = 0.U) val ic_way_tag = if(ICACHE_ECC) SyncReadMem(ICACHE_TAG_DEPTH, Vec(ICACHE_NUM_WAYS, UInt(26.W))) else SyncReadMem(ICACHE_TAG_DEPTH, Vec(ICACHE_NUM_WAYS, UInt(22.W))) @@ -164,11 +164,19 @@ class EL2_IC_TAG extends Module with el2_lib with param { ic_tag_way_perr(i) := ic_tag_single_ecc_error(i) | ic_tag_double_ecc_error(i) } + val temp = if(ICACHE_ECC) + VecInit.tabulate(ICACHE_NUM_WAYS)(i=>repl(26,ic_debug_rd_way_en_ff(i))&ic_tag_data_raw(i)).reduce(_|_) + else + VecInit.tabulate(ICACHE_NUM_WAYS)(i=>Cat(0.U(4.W),repl(22,ic_debug_rd_way_en_ff(i))&ic_tag_data_raw(i))).reduce(_|_) - io.test := w_tout - io.ic_tag_perr := 0.U - io.ic_rd_hit := 0.U - io.ictag_debug_rd_data := 0.U + for(i <- 0 until ICACHE_NUM_WAYS){ + repl(26,ic_debug_rd_way_en_ff(i))&ic_tag_data_raw(i) + } + io.ictag_debug_rd_data := temp + io.test := w_tout.reduce(_&_) + io.ic_tag_perr := (ic_tag_way_perr.reduce(Cat(_,_)) & io.ic_tag_valid).orR + val w_tout_Vec = VecInit.tabulate(ICACHE_NUM_WAYS)(i=> w_tout(i)) + io.ic_rd_hit := VecInit.tabulate(ICACHE_NUM_WAYS)(i=>(w_tout_Vec(i)(31,ICACHE_TAG_LO)===ic_rw_addr_ff(31,ICACHE_TAG_LO)).asUInt() & io.ic_tag_valid).reduce(Cat(_,_)) } object ifu_ic extends App { diff --git a/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class b/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class index 59596384..c405d587 100644 Binary files a/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class and b/target/scala-2.12/classes/ifu/EL2_IC_TAG$$anon$2.class differ diff --git a/target/scala-2.12/classes/ifu/EL2_IC_TAG.class b/target/scala-2.12/classes/ifu/EL2_IC_TAG.class index ab8c5058..787354a8 100644 Binary files a/target/scala-2.12/classes/ifu/EL2_IC_TAG.class and b/target/scala-2.12/classes/ifu/EL2_IC_TAG.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_ic$.class b/target/scala-2.12/classes/ifu/ifu_ic$.class index 3e1c279a..09aa2b30 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_ic$.class and b/target/scala-2.12/classes/ifu/ifu_ic$.class differ diff --git a/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class b/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class index aaf631dc..760b749f 100644 Binary files a/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class and b/target/scala-2.12/classes/ifu/ifu_ic$delayedInit$body.class differ