From 1a16fe41786f0729e77f0af33a41d8795b744b01 Mon Sep 17 00:00:00 2001 From: waleed-lm Date: Fri, 2 Oct 2020 10:14:08 +0500 Subject: [PATCH] Bug fixed --- EL2_IC_TAG.anno.json | 72 +- EL2_IC_TAG.fir | 2482 +++-------------- EL2_IC_TAG.v | 372 +-- el2_ifu_ifc_ctl.fir | 351 +-- el2_ifu_ifc_ctl.v | 209 +- src/main/scala/ifu/el2_ifu_ic_mem.scala | 44 +- src/main/scala/ifu/el2_ifu_ifc_ctl.scala | 2 +- .../classes/ifu/EL2_IC_DATA$$anon$3.class | Bin 4700 -> 4700 bytes .../scala-2.12/classes/ifu/EL2_IC_DATA.class | Bin 87630 -> 87640 bytes .../classes/ifu/EL2_IC_TAG$$anon$2.class | Bin 3332 -> 3929 bytes .../scala-2.12/classes/ifu/EL2_IC_TAG.class | Bin 41081 -> 58387 bytes .../classes/ifu/el2_ifu_ifc_ctl.class | Bin 116259 -> 116300 bytes target/scala-2.12/classes/ifu/ifu_ic$.class | Bin 3860 -> 3860 bytes .../classes/ifu/ifu_ic$delayedInit$body.class | Bin 729 -> 729 bytes 14 files changed, 658 insertions(+), 2874 deletions(-) diff --git a/EL2_IC_TAG.anno.json b/EL2_IC_TAG.anno.json index da12c6d2..3f5e9f9a 100644 --- a/EL2_IC_TAG.anno.json +++ b/EL2_IC_TAG.anno.json @@ -1,77 +1,9 @@ [ { "class":"firrtl.transforms.CombinationalPath", - "sink":"~EL2_IC_TAG|EL2_IC_TAG>io_test_ecc_out_1", + "sink":"~EL2_IC_TAG|EL2_IC_TAG>io_test", "sources":[ - "~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_db_out_0", - "sources":[ - "~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_sb_out_1", - "sources":[ - "~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", - "sources":[ - "~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", - "sources":[ - "~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_sb_out_0", - "sources":[ - "~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_0", - "sources":[ - "~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_db_out_1", - "sources":[ - "~EL2_IC_TAG|EL2_IC_TAG>io_dec_tlu_core_ecc_disable" + "~EL2_IC_TAG|EL2_IC_TAG>io_ic_rw_addr" ] }, { diff --git a/EL2_IC_TAG.fir b/EL2_IC_TAG.fir index 36d3a97b..eda47883 100644 --- a/EL2_IC_TAG.fir +++ b/EL2_IC_TAG.fir @@ -1,2156 +1,340 @@ ;buildInfoPackage: chisel3, version: 3.3.1, scalaVersion: 2.12.11, sbtVersion: 1.3.10 circuit EL2_IC_TAG : - module rvecc_decode : - input clock : Clock - input reset : Reset - output io : {flip en : UInt<1>, flip din : UInt<32>, flip ecc_in : UInt<7>, flip sed_ded : UInt<1>, ecc_out : UInt<7>, dout : UInt<32>, single_ecc_error : UInt<1>, double_ecc_error : UInt<1>} - - wire w0 : UInt<1>[18] @[beh_lib.scala 227:16] - wire w1 : UInt<1>[18] @[beh_lib.scala 228:16] - wire w2 : UInt<1>[18] @[beh_lib.scala 229:16] - wire w3 : UInt<1>[15] @[beh_lib.scala 230:16] - wire w4 : UInt<1>[15] @[beh_lib.scala 231:16] - wire w5 : UInt<1>[6] @[beh_lib.scala 232:16] - node _T = bits(io.din, 0, 0) @[beh_lib.scala 239:37] - w0[0] <= _T @[beh_lib.scala 239:28] - node _T_1 = bits(io.din, 0, 0) @[beh_lib.scala 240:37] - w1[0] <= _T_1 @[beh_lib.scala 240:28] - node _T_2 = bits(io.din, 1, 1) @[beh_lib.scala 239:37] - w0[1] <= _T_2 @[beh_lib.scala 239:28] - node _T_3 = bits(io.din, 1, 1) @[beh_lib.scala 241:37] - w2[0] <= _T_3 @[beh_lib.scala 241:28] - node _T_4 = bits(io.din, 2, 2) @[beh_lib.scala 240:37] - w1[1] <= _T_4 @[beh_lib.scala 240:28] - node _T_5 = bits(io.din, 2, 2) @[beh_lib.scala 241:37] - w2[1] <= _T_5 @[beh_lib.scala 241:28] - node _T_6 = bits(io.din, 3, 3) @[beh_lib.scala 239:37] - w0[2] <= _T_6 @[beh_lib.scala 239:28] - node _T_7 = bits(io.din, 3, 3) @[beh_lib.scala 240:37] - w1[2] <= _T_7 @[beh_lib.scala 240:28] - node _T_8 = bits(io.din, 3, 3) @[beh_lib.scala 241:37] - w2[2] <= _T_8 @[beh_lib.scala 241:28] - node _T_9 = bits(io.din, 4, 4) @[beh_lib.scala 239:37] - w0[3] <= _T_9 @[beh_lib.scala 239:28] - node _T_10 = bits(io.din, 4, 4) @[beh_lib.scala 242:37] - w3[0] <= _T_10 @[beh_lib.scala 242:28] - node _T_11 = bits(io.din, 5, 5) @[beh_lib.scala 240:37] - w1[3] <= _T_11 @[beh_lib.scala 240:28] - node _T_12 = bits(io.din, 5, 5) @[beh_lib.scala 242:37] - w3[1] <= _T_12 @[beh_lib.scala 242:28] - node _T_13 = bits(io.din, 6, 6) @[beh_lib.scala 239:37] - w0[4] <= _T_13 @[beh_lib.scala 239:28] - node _T_14 = bits(io.din, 6, 6) @[beh_lib.scala 240:37] - w1[4] <= _T_14 @[beh_lib.scala 240:28] - node _T_15 = bits(io.din, 6, 6) @[beh_lib.scala 242:37] - w3[2] <= _T_15 @[beh_lib.scala 242:28] - node _T_16 = bits(io.din, 7, 7) @[beh_lib.scala 241:37] - w2[3] <= _T_16 @[beh_lib.scala 241:28] - node _T_17 = bits(io.din, 7, 7) @[beh_lib.scala 242:37] - w3[3] <= _T_17 @[beh_lib.scala 242:28] - node _T_18 = bits(io.din, 8, 8) @[beh_lib.scala 239:37] - w0[5] <= _T_18 @[beh_lib.scala 239:28] - node _T_19 = bits(io.din, 8, 8) @[beh_lib.scala 241:37] - w2[4] <= _T_19 @[beh_lib.scala 241:28] - node _T_20 = bits(io.din, 8, 8) @[beh_lib.scala 242:37] - w3[4] <= _T_20 @[beh_lib.scala 242:28] - node _T_21 = bits(io.din, 9, 9) @[beh_lib.scala 240:37] - w1[5] <= _T_21 @[beh_lib.scala 240:28] - node _T_22 = bits(io.din, 9, 9) @[beh_lib.scala 241:37] - w2[5] <= _T_22 @[beh_lib.scala 241:28] - node _T_23 = bits(io.din, 9, 9) @[beh_lib.scala 242:37] - w3[5] <= _T_23 @[beh_lib.scala 242:28] - node _T_24 = bits(io.din, 10, 10) @[beh_lib.scala 239:37] - w0[6] <= _T_24 @[beh_lib.scala 239:28] - node _T_25 = bits(io.din, 10, 10) @[beh_lib.scala 240:37] - w1[6] <= _T_25 @[beh_lib.scala 240:28] - node _T_26 = bits(io.din, 10, 10) @[beh_lib.scala 241:37] - w2[6] <= _T_26 @[beh_lib.scala 241:28] - node _T_27 = bits(io.din, 10, 10) @[beh_lib.scala 242:37] - w3[6] <= _T_27 @[beh_lib.scala 242:28] - node _T_28 = bits(io.din, 11, 11) @[beh_lib.scala 239:37] - w0[7] <= _T_28 @[beh_lib.scala 239:28] - node _T_29 = bits(io.din, 11, 11) @[beh_lib.scala 243:37] - w4[0] <= _T_29 @[beh_lib.scala 243:28] - node _T_30 = bits(io.din, 12, 12) @[beh_lib.scala 240:37] - w1[7] <= _T_30 @[beh_lib.scala 240:28] - node _T_31 = bits(io.din, 12, 12) @[beh_lib.scala 243:37] - w4[1] <= _T_31 @[beh_lib.scala 243:28] - node _T_32 = bits(io.din, 13, 13) @[beh_lib.scala 239:37] - w0[8] <= _T_32 @[beh_lib.scala 239:28] - node _T_33 = bits(io.din, 13, 13) @[beh_lib.scala 240:37] - w1[8] <= _T_33 @[beh_lib.scala 240:28] - node _T_34 = bits(io.din, 13, 13) @[beh_lib.scala 243:37] - w4[2] <= _T_34 @[beh_lib.scala 243:28] - node _T_35 = bits(io.din, 14, 14) @[beh_lib.scala 241:37] - w2[7] <= _T_35 @[beh_lib.scala 241:28] - node _T_36 = bits(io.din, 14, 14) @[beh_lib.scala 243:37] - w4[3] <= _T_36 @[beh_lib.scala 243:28] - node _T_37 = bits(io.din, 15, 15) @[beh_lib.scala 239:37] - w0[9] <= _T_37 @[beh_lib.scala 239:28] - node _T_38 = bits(io.din, 15, 15) @[beh_lib.scala 241:37] - w2[8] <= _T_38 @[beh_lib.scala 241:28] - node _T_39 = bits(io.din, 15, 15) @[beh_lib.scala 243:37] - w4[4] <= _T_39 @[beh_lib.scala 243:28] - node _T_40 = bits(io.din, 16, 16) @[beh_lib.scala 240:37] - w1[9] <= _T_40 @[beh_lib.scala 240:28] - node _T_41 = bits(io.din, 16, 16) @[beh_lib.scala 241:37] - w2[9] <= _T_41 @[beh_lib.scala 241:28] - node _T_42 = bits(io.din, 16, 16) @[beh_lib.scala 243:37] - w4[5] <= _T_42 @[beh_lib.scala 243:28] - node _T_43 = bits(io.din, 17, 17) @[beh_lib.scala 239:37] - w0[10] <= _T_43 @[beh_lib.scala 239:28] - node _T_44 = bits(io.din, 17, 17) @[beh_lib.scala 240:37] - w1[10] <= _T_44 @[beh_lib.scala 240:28] - node _T_45 = bits(io.din, 17, 17) @[beh_lib.scala 241:37] - w2[10] <= _T_45 @[beh_lib.scala 241:28] - node _T_46 = bits(io.din, 17, 17) @[beh_lib.scala 243:37] - w4[6] <= _T_46 @[beh_lib.scala 243:28] - node _T_47 = bits(io.din, 18, 18) @[beh_lib.scala 242:37] - w3[7] <= _T_47 @[beh_lib.scala 242:28] - node _T_48 = bits(io.din, 18, 18) @[beh_lib.scala 243:37] - w4[7] <= _T_48 @[beh_lib.scala 243:28] - node _T_49 = bits(io.din, 19, 19) @[beh_lib.scala 239:37] - w0[11] <= _T_49 @[beh_lib.scala 239:28] - node _T_50 = bits(io.din, 19, 19) @[beh_lib.scala 242:37] - w3[8] <= _T_50 @[beh_lib.scala 242:28] - node _T_51 = bits(io.din, 19, 19) @[beh_lib.scala 243:37] - w4[8] <= _T_51 @[beh_lib.scala 243:28] - node _T_52 = bits(io.din, 20, 20) @[beh_lib.scala 240:37] - w1[11] <= _T_52 @[beh_lib.scala 240:28] - node _T_53 = bits(io.din, 20, 20) @[beh_lib.scala 242:37] - w3[9] <= _T_53 @[beh_lib.scala 242:28] - node _T_54 = bits(io.din, 20, 20) @[beh_lib.scala 243:37] - w4[9] <= _T_54 @[beh_lib.scala 243:28] - node _T_55 = bits(io.din, 21, 21) @[beh_lib.scala 239:37] - w0[12] <= _T_55 @[beh_lib.scala 239:28] - node _T_56 = bits(io.din, 21, 21) @[beh_lib.scala 240:37] - w1[12] <= _T_56 @[beh_lib.scala 240:28] - node _T_57 = bits(io.din, 21, 21) @[beh_lib.scala 242:37] - w3[10] <= _T_57 @[beh_lib.scala 242:28] - node _T_58 = bits(io.din, 21, 21) @[beh_lib.scala 243:37] - w4[10] <= _T_58 @[beh_lib.scala 243:28] - node _T_59 = bits(io.din, 22, 22) @[beh_lib.scala 241:37] - w2[11] <= _T_59 @[beh_lib.scala 241:28] - node _T_60 = bits(io.din, 22, 22) @[beh_lib.scala 242:37] - w3[11] <= _T_60 @[beh_lib.scala 242:28] - node _T_61 = bits(io.din, 22, 22) @[beh_lib.scala 243:37] - w4[11] <= _T_61 @[beh_lib.scala 243:28] - node _T_62 = bits(io.din, 23, 23) @[beh_lib.scala 239:37] - w0[13] <= _T_62 @[beh_lib.scala 239:28] - node _T_63 = bits(io.din, 23, 23) @[beh_lib.scala 241:37] - w2[12] <= _T_63 @[beh_lib.scala 241:28] - node _T_64 = bits(io.din, 23, 23) @[beh_lib.scala 242:37] - w3[12] <= _T_64 @[beh_lib.scala 242:28] - node _T_65 = bits(io.din, 23, 23) @[beh_lib.scala 243:37] - w4[12] <= _T_65 @[beh_lib.scala 243:28] - node _T_66 = bits(io.din, 24, 24) @[beh_lib.scala 240:37] - w1[13] <= _T_66 @[beh_lib.scala 240:28] - node _T_67 = bits(io.din, 24, 24) @[beh_lib.scala 241:37] - w2[13] <= _T_67 @[beh_lib.scala 241:28] - node _T_68 = bits(io.din, 24, 24) @[beh_lib.scala 242:37] - w3[13] <= _T_68 @[beh_lib.scala 242:28] - node _T_69 = bits(io.din, 24, 24) @[beh_lib.scala 243:37] - w4[13] <= _T_69 @[beh_lib.scala 243:28] - node _T_70 = bits(io.din, 25, 25) @[beh_lib.scala 239:37] - w0[14] <= _T_70 @[beh_lib.scala 239:28] - node _T_71 = bits(io.din, 25, 25) @[beh_lib.scala 240:37] - w1[14] <= _T_71 @[beh_lib.scala 240:28] - node _T_72 = bits(io.din, 25, 25) @[beh_lib.scala 241:37] - w2[14] <= _T_72 @[beh_lib.scala 241:28] - node _T_73 = bits(io.din, 25, 25) @[beh_lib.scala 242:37] - w3[14] <= _T_73 @[beh_lib.scala 242:28] - node _T_74 = bits(io.din, 25, 25) @[beh_lib.scala 243:37] - w4[14] <= _T_74 @[beh_lib.scala 243:28] - node _T_75 = bits(io.din, 26, 26) @[beh_lib.scala 239:37] - w0[15] <= _T_75 @[beh_lib.scala 239:28] - node _T_76 = bits(io.din, 26, 26) @[beh_lib.scala 244:37] - w5[0] <= _T_76 @[beh_lib.scala 244:28] - node _T_77 = bits(io.din, 27, 27) @[beh_lib.scala 240:37] - w1[15] <= _T_77 @[beh_lib.scala 240:28] - node _T_78 = bits(io.din, 27, 27) @[beh_lib.scala 244:37] - w5[1] <= _T_78 @[beh_lib.scala 244:28] - node _T_79 = bits(io.din, 28, 28) @[beh_lib.scala 239:37] - w0[16] <= _T_79 @[beh_lib.scala 239:28] - node _T_80 = bits(io.din, 28, 28) @[beh_lib.scala 240:37] - w1[16] <= _T_80 @[beh_lib.scala 240:28] - node _T_81 = bits(io.din, 28, 28) @[beh_lib.scala 244:37] - w5[2] <= _T_81 @[beh_lib.scala 244:28] - node _T_82 = bits(io.din, 29, 29) @[beh_lib.scala 241:37] - w2[15] <= _T_82 @[beh_lib.scala 241:28] - node _T_83 = bits(io.din, 29, 29) @[beh_lib.scala 244:37] - w5[3] <= _T_83 @[beh_lib.scala 244:28] - node _T_84 = bits(io.din, 30, 30) @[beh_lib.scala 239:37] - w0[17] <= _T_84 @[beh_lib.scala 239:28] - node _T_85 = bits(io.din, 30, 30) @[beh_lib.scala 241:37] - w2[16] <= _T_85 @[beh_lib.scala 241:28] - node _T_86 = bits(io.din, 30, 30) @[beh_lib.scala 244:37] - w5[4] <= _T_86 @[beh_lib.scala 244:28] - node _T_87 = bits(io.din, 31, 31) @[beh_lib.scala 240:37] - w1[17] <= _T_87 @[beh_lib.scala 240:28] - node _T_88 = bits(io.din, 31, 31) @[beh_lib.scala 241:37] - w2[17] <= _T_88 @[beh_lib.scala 241:28] - node _T_89 = bits(io.din, 31, 31) @[beh_lib.scala 244:37] - w5[5] <= _T_89 @[beh_lib.scala 244:28] - node _T_90 = xorr(io.din) @[beh_lib.scala 247:31] - node _T_91 = xorr(io.ecc_in) @[beh_lib.scala 247:48] - node _T_92 = xor(_T_90, _T_91) @[beh_lib.scala 247:36] - node _T_93 = not(io.sed_ded) @[beh_lib.scala 247:56] - node _T_94 = and(_T_92, _T_93) @[beh_lib.scala 247:54] - node _T_95 = bits(io.ecc_in, 5, 5) @[beh_lib.scala 247:78] - node _T_96 = cat(w5[2], w5[1]) @[beh_lib.scala 247:86] - node _T_97 = cat(_T_96, w5[0]) @[beh_lib.scala 247:86] - node _T_98 = cat(w5[5], w5[4]) @[beh_lib.scala 247:86] - node _T_99 = cat(_T_98, w5[3]) @[beh_lib.scala 247:86] - node _T_100 = cat(_T_99, _T_97) @[beh_lib.scala 247:86] - node _T_101 = xorr(_T_100) @[beh_lib.scala 247:93] - node _T_102 = xor(_T_95, _T_101) @[beh_lib.scala 247:81] - node _T_103 = bits(io.ecc_in, 4, 4) @[beh_lib.scala 247:108] - node _T_104 = cat(w4[2], w4[1]) @[beh_lib.scala 247:116] - node _T_105 = cat(_T_104, w4[0]) @[beh_lib.scala 247:116] - node _T_106 = cat(w4[4], w4[3]) @[beh_lib.scala 247:116] - node _T_107 = cat(w4[6], w4[5]) @[beh_lib.scala 247:116] - node _T_108 = cat(_T_107, _T_106) @[beh_lib.scala 247:116] - node _T_109 = cat(_T_108, _T_105) @[beh_lib.scala 247:116] - node _T_110 = cat(w4[8], w4[7]) @[beh_lib.scala 247:116] - node _T_111 = cat(w4[10], w4[9]) @[beh_lib.scala 247:116] - node _T_112 = cat(_T_111, _T_110) @[beh_lib.scala 247:116] - node _T_113 = cat(w4[12], w4[11]) @[beh_lib.scala 247:116] - node _T_114 = cat(w4[14], w4[13]) @[beh_lib.scala 247:116] - node _T_115 = cat(_T_114, _T_113) @[beh_lib.scala 247:116] - node _T_116 = cat(_T_115, _T_112) @[beh_lib.scala 247:116] - node _T_117 = cat(_T_116, _T_109) @[beh_lib.scala 247:116] - node _T_118 = xorr(_T_117) @[beh_lib.scala 247:123] - node _T_119 = xor(_T_103, _T_118) @[beh_lib.scala 247:111] - node _T_120 = bits(io.ecc_in, 3, 3) @[beh_lib.scala 247:138] - node _T_121 = cat(w3[2], w3[1]) @[beh_lib.scala 247:146] - node _T_122 = cat(_T_121, w3[0]) @[beh_lib.scala 247:146] - node _T_123 = cat(w3[4], w3[3]) @[beh_lib.scala 247:146] - node _T_124 = cat(w3[6], w3[5]) @[beh_lib.scala 247:146] - node _T_125 = cat(_T_124, _T_123) @[beh_lib.scala 247:146] - node _T_126 = cat(_T_125, _T_122) @[beh_lib.scala 247:146] - node _T_127 = cat(w3[8], w3[7]) @[beh_lib.scala 247:146] - node _T_128 = cat(w3[10], w3[9]) @[beh_lib.scala 247:146] - node _T_129 = cat(_T_128, _T_127) @[beh_lib.scala 247:146] - node _T_130 = cat(w3[12], w3[11]) @[beh_lib.scala 247:146] - node _T_131 = cat(w3[14], w3[13]) @[beh_lib.scala 247:146] - node _T_132 = cat(_T_131, _T_130) @[beh_lib.scala 247:146] - node _T_133 = cat(_T_132, _T_129) @[beh_lib.scala 247:146] - node _T_134 = cat(_T_133, _T_126) @[beh_lib.scala 247:146] - node _T_135 = xorr(_T_134) @[beh_lib.scala 247:153] - node _T_136 = xor(_T_120, _T_135) @[beh_lib.scala 247:141] - node _T_137 = bits(io.ecc_in, 2, 2) @[beh_lib.scala 247:168] - node _T_138 = cat(w2[1], w2[0]) @[beh_lib.scala 247:176] - node _T_139 = cat(w2[3], w2[2]) @[beh_lib.scala 247:176] - node _T_140 = cat(_T_139, _T_138) @[beh_lib.scala 247:176] - node _T_141 = cat(w2[5], w2[4]) @[beh_lib.scala 247:176] - node _T_142 = cat(w2[8], w2[7]) @[beh_lib.scala 247:176] - node _T_143 = cat(_T_142, w2[6]) @[beh_lib.scala 247:176] - node _T_144 = cat(_T_143, _T_141) @[beh_lib.scala 247:176] - node _T_145 = cat(_T_144, _T_140) @[beh_lib.scala 247:176] - node _T_146 = cat(w2[10], w2[9]) @[beh_lib.scala 247:176] - node _T_147 = cat(w2[12], w2[11]) @[beh_lib.scala 247:176] - node _T_148 = cat(_T_147, _T_146) @[beh_lib.scala 247:176] - node _T_149 = cat(w2[14], w2[13]) @[beh_lib.scala 247:176] - node _T_150 = cat(w2[17], w2[16]) @[beh_lib.scala 247:176] - node _T_151 = cat(_T_150, w2[15]) @[beh_lib.scala 247:176] - node _T_152 = cat(_T_151, _T_149) @[beh_lib.scala 247:176] - node _T_153 = cat(_T_152, _T_148) @[beh_lib.scala 247:176] - node _T_154 = cat(_T_153, _T_145) @[beh_lib.scala 247:176] - node _T_155 = xorr(_T_154) @[beh_lib.scala 247:183] - node _T_156 = xor(_T_137, _T_155) @[beh_lib.scala 247:171] - node _T_157 = bits(io.ecc_in, 1, 1) @[beh_lib.scala 247:198] - node _T_158 = cat(w1[1], w1[0]) @[beh_lib.scala 247:206] - node _T_159 = cat(w1[3], w1[2]) @[beh_lib.scala 247:206] - node _T_160 = cat(_T_159, _T_158) @[beh_lib.scala 247:206] - node _T_161 = cat(w1[5], w1[4]) @[beh_lib.scala 247:206] - node _T_162 = cat(w1[8], w1[7]) @[beh_lib.scala 247:206] - node _T_163 = cat(_T_162, w1[6]) @[beh_lib.scala 247:206] - node _T_164 = cat(_T_163, _T_161) @[beh_lib.scala 247:206] - node _T_165 = cat(_T_164, _T_160) @[beh_lib.scala 247:206] - node _T_166 = cat(w1[10], w1[9]) @[beh_lib.scala 247:206] - node _T_167 = cat(w1[12], w1[11]) @[beh_lib.scala 247:206] - node _T_168 = cat(_T_167, _T_166) @[beh_lib.scala 247:206] - node _T_169 = cat(w1[14], w1[13]) @[beh_lib.scala 247:206] - node _T_170 = cat(w1[17], w1[16]) @[beh_lib.scala 247:206] - node _T_171 = cat(_T_170, w1[15]) @[beh_lib.scala 247:206] - node _T_172 = cat(_T_171, _T_169) @[beh_lib.scala 247:206] - node _T_173 = cat(_T_172, _T_168) @[beh_lib.scala 247:206] - node _T_174 = cat(_T_173, _T_165) @[beh_lib.scala 247:206] - node _T_175 = xorr(_T_174) @[beh_lib.scala 247:213] - node _T_176 = xor(_T_157, _T_175) @[beh_lib.scala 247:201] - node _T_177 = bits(io.ecc_in, 0, 0) @[beh_lib.scala 247:228] - node _T_178 = cat(w0[1], w0[0]) @[beh_lib.scala 247:236] - node _T_179 = cat(w0[3], w0[2]) @[beh_lib.scala 247:236] - node _T_180 = cat(_T_179, _T_178) @[beh_lib.scala 247:236] - node _T_181 = cat(w0[5], w0[4]) @[beh_lib.scala 247:236] - node _T_182 = cat(w0[8], w0[7]) @[beh_lib.scala 247:236] - node _T_183 = cat(_T_182, w0[6]) @[beh_lib.scala 247:236] - node _T_184 = cat(_T_183, _T_181) @[beh_lib.scala 247:236] - node _T_185 = cat(_T_184, _T_180) @[beh_lib.scala 247:236] - node _T_186 = cat(w0[10], w0[9]) @[beh_lib.scala 247:236] - node _T_187 = cat(w0[12], w0[11]) @[beh_lib.scala 247:236] - node _T_188 = cat(_T_187, _T_186) @[beh_lib.scala 247:236] - node _T_189 = cat(w0[14], w0[13]) @[beh_lib.scala 247:236] - node _T_190 = cat(w0[17], w0[16]) @[beh_lib.scala 247:236] - node _T_191 = cat(_T_190, w0[15]) @[beh_lib.scala 247:236] - node _T_192 = cat(_T_191, _T_189) @[beh_lib.scala 247:236] - node _T_193 = cat(_T_192, _T_188) @[beh_lib.scala 247:236] - node _T_194 = cat(_T_193, _T_185) @[beh_lib.scala 247:236] - node _T_195 = xorr(_T_194) @[beh_lib.scala 247:243] - node _T_196 = xor(_T_177, _T_195) @[beh_lib.scala 247:231] - node _T_197 = cat(_T_156, _T_176) @[Cat.scala 29:58] - node _T_198 = cat(_T_197, _T_196) @[Cat.scala 29:58] - node _T_199 = cat(_T_119, _T_136) @[Cat.scala 29:58] - node _T_200 = cat(_T_94, _T_102) @[Cat.scala 29:58] - node _T_201 = cat(_T_200, _T_199) @[Cat.scala 29:58] - node ecc_check = cat(_T_201, _T_198) @[Cat.scala 29:58] - io.ecc_out <= ecc_check @[beh_lib.scala 248:14] - node _T_202 = neq(ecc_check, UInt<1>("h00")) @[beh_lib.scala 250:45] - node _T_203 = and(io.en, _T_202) @[beh_lib.scala 250:33] - node _T_204 = xorr(io.din) @[beh_lib.scala 250:64] - node _T_205 = xorr(io.ecc_in) @[beh_lib.scala 250:81] - node _T_206 = xor(_T_204, _T_205) @[beh_lib.scala 250:69] - node _T_207 = not(io.sed_ded) @[beh_lib.scala 250:89] - node _T_208 = and(_T_206, _T_207) @[beh_lib.scala 250:87] - node _T_209 = and(_T_203, _T_208) @[beh_lib.scala 250:53] - io.single_ecc_error <= _T_209 @[beh_lib.scala 250:23] - node _T_210 = neq(ecc_check, UInt<1>("h00")) @[beh_lib.scala 251:45] - node _T_211 = and(io.en, _T_210) @[beh_lib.scala 251:33] - node _T_212 = xorr(io.din) @[beh_lib.scala 251:64] - node _T_213 = xorr(io.ecc_in) @[beh_lib.scala 251:81] - node _T_214 = xor(_T_212, _T_213) @[beh_lib.scala 251:69] - node _T_215 = not(io.sed_ded) @[beh_lib.scala 251:89] - node _T_216 = and(_T_214, _T_215) @[beh_lib.scala 251:87] - node _T_217 = and(_T_211, _T_216) @[beh_lib.scala 251:53] - io.double_ecc_error <= _T_217 @[beh_lib.scala 251:23] - wire error_mask : UInt<1>[39] @[beh_lib.scala 252:24] - node _T_218 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_219 = eq(_T_218, UInt<1>("h01")) @[beh_lib.scala 255:39] - error_mask[0] <= _T_219 @[beh_lib.scala 255:21] - node _T_220 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_221 = eq(_T_220, UInt<2>("h02")) @[beh_lib.scala 255:39] - error_mask[1] <= _T_221 @[beh_lib.scala 255:21] - node _T_222 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_223 = eq(_T_222, UInt<2>("h03")) @[beh_lib.scala 255:39] - error_mask[2] <= _T_223 @[beh_lib.scala 255:21] - node _T_224 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_225 = eq(_T_224, UInt<3>("h04")) @[beh_lib.scala 255:39] - error_mask[3] <= _T_225 @[beh_lib.scala 255:21] - node _T_226 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_227 = eq(_T_226, UInt<3>("h05")) @[beh_lib.scala 255:39] - error_mask[4] <= _T_227 @[beh_lib.scala 255:21] - node _T_228 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_229 = eq(_T_228, UInt<3>("h06")) @[beh_lib.scala 255:39] - error_mask[5] <= _T_229 @[beh_lib.scala 255:21] - node _T_230 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_231 = eq(_T_230, UInt<3>("h07")) @[beh_lib.scala 255:39] - error_mask[6] <= _T_231 @[beh_lib.scala 255:21] - node _T_232 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_233 = eq(_T_232, UInt<4>("h08")) @[beh_lib.scala 255:39] - error_mask[7] <= _T_233 @[beh_lib.scala 255:21] - node _T_234 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_235 = eq(_T_234, UInt<4>("h09")) @[beh_lib.scala 255:39] - error_mask[8] <= _T_235 @[beh_lib.scala 255:21] - node _T_236 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_237 = eq(_T_236, UInt<4>("h0a")) @[beh_lib.scala 255:39] - error_mask[9] <= _T_237 @[beh_lib.scala 255:21] - node _T_238 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_239 = eq(_T_238, UInt<4>("h0b")) @[beh_lib.scala 255:39] - error_mask[10] <= _T_239 @[beh_lib.scala 255:21] - node _T_240 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_241 = eq(_T_240, UInt<4>("h0c")) @[beh_lib.scala 255:39] - error_mask[11] <= _T_241 @[beh_lib.scala 255:21] - node _T_242 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_243 = eq(_T_242, UInt<4>("h0d")) @[beh_lib.scala 255:39] - error_mask[12] <= _T_243 @[beh_lib.scala 255:21] - node _T_244 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_245 = eq(_T_244, UInt<4>("h0e")) @[beh_lib.scala 255:39] - error_mask[13] <= _T_245 @[beh_lib.scala 255:21] - node _T_246 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_247 = eq(_T_246, UInt<4>("h0f")) @[beh_lib.scala 255:39] - error_mask[14] <= _T_247 @[beh_lib.scala 255:21] - node _T_248 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_249 = eq(_T_248, UInt<5>("h010")) @[beh_lib.scala 255:39] - error_mask[15] <= _T_249 @[beh_lib.scala 255:21] - node _T_250 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_251 = eq(_T_250, UInt<5>("h011")) @[beh_lib.scala 255:39] - error_mask[16] <= _T_251 @[beh_lib.scala 255:21] - node _T_252 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_253 = eq(_T_252, UInt<5>("h012")) @[beh_lib.scala 255:39] - error_mask[17] <= _T_253 @[beh_lib.scala 255:21] - node _T_254 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_255 = eq(_T_254, UInt<5>("h013")) @[beh_lib.scala 255:39] - error_mask[18] <= _T_255 @[beh_lib.scala 255:21] - node _T_256 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_257 = eq(_T_256, UInt<5>("h014")) @[beh_lib.scala 255:39] - error_mask[19] <= _T_257 @[beh_lib.scala 255:21] - node _T_258 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_259 = eq(_T_258, UInt<5>("h015")) @[beh_lib.scala 255:39] - error_mask[20] <= _T_259 @[beh_lib.scala 255:21] - node _T_260 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_261 = eq(_T_260, UInt<5>("h016")) @[beh_lib.scala 255:39] - error_mask[21] <= _T_261 @[beh_lib.scala 255:21] - node _T_262 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_263 = eq(_T_262, UInt<5>("h017")) @[beh_lib.scala 255:39] - error_mask[22] <= _T_263 @[beh_lib.scala 255:21] - node _T_264 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_265 = eq(_T_264, UInt<5>("h018")) @[beh_lib.scala 255:39] - error_mask[23] <= _T_265 @[beh_lib.scala 255:21] - node _T_266 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_267 = eq(_T_266, UInt<5>("h019")) @[beh_lib.scala 255:39] - error_mask[24] <= _T_267 @[beh_lib.scala 255:21] - node _T_268 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_269 = eq(_T_268, UInt<5>("h01a")) @[beh_lib.scala 255:39] - error_mask[25] <= _T_269 @[beh_lib.scala 255:21] - node _T_270 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_271 = eq(_T_270, UInt<5>("h01b")) @[beh_lib.scala 255:39] - error_mask[26] <= _T_271 @[beh_lib.scala 255:21] - node _T_272 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_273 = eq(_T_272, UInt<5>("h01c")) @[beh_lib.scala 255:39] - error_mask[27] <= _T_273 @[beh_lib.scala 255:21] - node _T_274 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_275 = eq(_T_274, UInt<5>("h01d")) @[beh_lib.scala 255:39] - error_mask[28] <= _T_275 @[beh_lib.scala 255:21] - node _T_276 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_277 = eq(_T_276, UInt<5>("h01e")) @[beh_lib.scala 255:39] - error_mask[29] <= _T_277 @[beh_lib.scala 255:21] - node _T_278 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_279 = eq(_T_278, UInt<5>("h01f")) @[beh_lib.scala 255:39] - error_mask[30] <= _T_279 @[beh_lib.scala 255:21] - node _T_280 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_281 = eq(_T_280, UInt<6>("h020")) @[beh_lib.scala 255:39] - error_mask[31] <= _T_281 @[beh_lib.scala 255:21] - node _T_282 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_283 = eq(_T_282, UInt<6>("h021")) @[beh_lib.scala 255:39] - error_mask[32] <= _T_283 @[beh_lib.scala 255:21] - node _T_284 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_285 = eq(_T_284, UInt<6>("h022")) @[beh_lib.scala 255:39] - error_mask[33] <= _T_285 @[beh_lib.scala 255:21] - node _T_286 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_287 = eq(_T_286, UInt<6>("h023")) @[beh_lib.scala 255:39] - error_mask[34] <= _T_287 @[beh_lib.scala 255:21] - node _T_288 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_289 = eq(_T_288, UInt<6>("h024")) @[beh_lib.scala 255:39] - error_mask[35] <= _T_289 @[beh_lib.scala 255:21] - node _T_290 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_291 = eq(_T_290, UInt<6>("h025")) @[beh_lib.scala 255:39] - error_mask[36] <= _T_291 @[beh_lib.scala 255:21] - node _T_292 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_293 = eq(_T_292, UInt<6>("h026")) @[beh_lib.scala 255:39] - error_mask[37] <= _T_293 @[beh_lib.scala 255:21] - node _T_294 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_295 = eq(_T_294, UInt<6>("h027")) @[beh_lib.scala 255:39] - error_mask[38] <= _T_295 @[beh_lib.scala 255:21] - node _T_296 = bits(io.ecc_in, 6, 6) @[beh_lib.scala 257:38] - node _T_297 = bits(io.din, 31, 26) @[beh_lib.scala 257:49] - node _T_298 = bits(io.ecc_in, 5, 5) @[beh_lib.scala 257:67] - node _T_299 = bits(io.din, 25, 11) @[beh_lib.scala 257:78] - node _T_300 = bits(io.ecc_in, 4, 4) @[beh_lib.scala 257:96] - node _T_301 = bits(io.din, 10, 4) @[beh_lib.scala 257:107] - node _T_302 = bits(io.ecc_in, 3, 3) @[beh_lib.scala 257:124] - node _T_303 = bits(io.din, 3, 1) @[beh_lib.scala 257:135] - node _T_304 = bits(io.ecc_in, 2, 2) @[beh_lib.scala 257:151] - node _T_305 = bits(io.din, 0, 0) @[beh_lib.scala 257:162] - node _T_306 = bits(io.ecc_in, 1, 0) @[beh_lib.scala 257:176] - node _T_307 = cat(_T_305, _T_306) @[Cat.scala 29:58] - node _T_308 = cat(_T_302, _T_303) @[Cat.scala 29:58] - node _T_309 = cat(_T_308, _T_304) @[Cat.scala 29:58] - node _T_310 = cat(_T_309, _T_307) @[Cat.scala 29:58] - node _T_311 = cat(_T_299, _T_300) @[Cat.scala 29:58] - node _T_312 = cat(_T_311, _T_301) @[Cat.scala 29:58] - node _T_313 = cat(_T_296, _T_297) @[Cat.scala 29:58] - node _T_314 = cat(_T_313, _T_298) @[Cat.scala 29:58] - node _T_315 = cat(_T_314, _T_312) @[Cat.scala 29:58] - node din_plus_parity = cat(_T_315, _T_310) @[Cat.scala 29:58] - node _T_316 = bits(io.single_ecc_error, 0, 0) @[beh_lib.scala 258:50] - node _T_317 = cat(error_mask[1], error_mask[0]) @[beh_lib.scala 258:70] - node _T_318 = cat(error_mask[3], error_mask[2]) @[beh_lib.scala 258:70] - node _T_319 = cat(_T_318, _T_317) @[beh_lib.scala 258:70] - node _T_320 = cat(error_mask[5], error_mask[4]) @[beh_lib.scala 258:70] - node _T_321 = cat(error_mask[8], error_mask[7]) @[beh_lib.scala 258:70] - node _T_322 = cat(_T_321, error_mask[6]) @[beh_lib.scala 258:70] - node _T_323 = cat(_T_322, _T_320) @[beh_lib.scala 258:70] - node _T_324 = cat(_T_323, _T_319) @[beh_lib.scala 258:70] - node _T_325 = cat(error_mask[10], error_mask[9]) @[beh_lib.scala 258:70] - node _T_326 = cat(error_mask[13], error_mask[12]) @[beh_lib.scala 258:70] - node _T_327 = cat(_T_326, error_mask[11]) @[beh_lib.scala 258:70] - node _T_328 = cat(_T_327, _T_325) @[beh_lib.scala 258:70] - node _T_329 = cat(error_mask[15], error_mask[14]) @[beh_lib.scala 258:70] - node _T_330 = cat(error_mask[18], error_mask[17]) @[beh_lib.scala 258:70] - node _T_331 = cat(_T_330, error_mask[16]) @[beh_lib.scala 258:70] - node _T_332 = cat(_T_331, _T_329) @[beh_lib.scala 258:70] - node _T_333 = cat(_T_332, _T_328) @[beh_lib.scala 258:70] - node _T_334 = cat(_T_333, _T_324) @[beh_lib.scala 258:70] - node _T_335 = cat(error_mask[20], error_mask[19]) @[beh_lib.scala 258:70] - node _T_336 = cat(error_mask[23], error_mask[22]) @[beh_lib.scala 258:70] - node _T_337 = cat(_T_336, error_mask[21]) @[beh_lib.scala 258:70] - node _T_338 = cat(_T_337, _T_335) @[beh_lib.scala 258:70] - node _T_339 = cat(error_mask[25], error_mask[24]) @[beh_lib.scala 258:70] - node _T_340 = cat(error_mask[28], error_mask[27]) @[beh_lib.scala 258:70] - node _T_341 = cat(_T_340, error_mask[26]) @[beh_lib.scala 258:70] - node _T_342 = cat(_T_341, _T_339) @[beh_lib.scala 258:70] - node _T_343 = cat(_T_342, _T_338) @[beh_lib.scala 258:70] - node _T_344 = cat(error_mask[30], error_mask[29]) @[beh_lib.scala 258:70] - node _T_345 = cat(error_mask[33], error_mask[32]) @[beh_lib.scala 258:70] - node _T_346 = cat(_T_345, error_mask[31]) @[beh_lib.scala 258:70] - node _T_347 = cat(_T_346, _T_344) @[beh_lib.scala 258:70] - node _T_348 = cat(error_mask[35], error_mask[34]) @[beh_lib.scala 258:70] - node _T_349 = cat(error_mask[38], error_mask[37]) @[beh_lib.scala 258:70] - node _T_350 = cat(_T_349, error_mask[36]) @[beh_lib.scala 258:70] - node _T_351 = cat(_T_350, _T_348) @[beh_lib.scala 258:70] - node _T_352 = cat(_T_351, _T_347) @[beh_lib.scala 258:70] - node _T_353 = cat(_T_352, _T_343) @[beh_lib.scala 258:70] - node _T_354 = cat(_T_353, _T_334) @[beh_lib.scala 258:70] - node _T_355 = xor(_T_354, din_plus_parity) @[beh_lib.scala 258:77] - node dout_plus_parity = mux(_T_316, _T_355, din_plus_parity) @[beh_lib.scala 258:29] - node _T_356 = bits(dout_plus_parity, 37, 32) @[beh_lib.scala 260:35] - node _T_357 = bits(dout_plus_parity, 30, 16) @[beh_lib.scala 260:59] - node _T_358 = bits(dout_plus_parity, 14, 8) @[beh_lib.scala 260:84] - node _T_359 = bits(dout_plus_parity, 6, 4) @[beh_lib.scala 260:108] - node _T_360 = bits(dout_plus_parity, 2, 2) @[beh_lib.scala 260:131] - node _T_361 = cat(_T_359, _T_360) @[Cat.scala 29:58] - node _T_362 = cat(_T_356, _T_357) @[Cat.scala 29:58] - node _T_363 = cat(_T_362, _T_358) @[Cat.scala 29:58] - node _T_364 = cat(_T_363, _T_361) @[Cat.scala 29:58] - io.dout <= _T_364 @[beh_lib.scala 260:11] - node _T_365 = bits(dout_plus_parity, 38, 38) @[beh_lib.scala 261:37] - node _T_366 = bits(ecc_check, 6, 0) @[beh_lib.scala 261:54] - node _T_367 = eq(_T_366, UInt<7>("h040")) @[beh_lib.scala 261:60] - node _T_368 = xor(_T_365, _T_367) @[beh_lib.scala 261:42] - node _T_369 = bits(dout_plus_parity, 31, 31) @[beh_lib.scala 261:95] - node _T_370 = bits(dout_plus_parity, 15, 15) @[beh_lib.scala 261:117] - node _T_371 = bits(dout_plus_parity, 7, 7) @[beh_lib.scala 261:139] - node _T_372 = bits(dout_plus_parity, 3, 3) @[beh_lib.scala 261:160] - node _T_373 = bits(dout_plus_parity, 1, 0) @[beh_lib.scala 261:181] - node _T_374 = cat(_T_371, _T_372) @[Cat.scala 29:58] - node _T_375 = cat(_T_374, _T_373) @[Cat.scala 29:58] - node _T_376 = cat(_T_368, _T_369) @[Cat.scala 29:58] - node _T_377 = cat(_T_376, _T_370) @[Cat.scala 29:58] - node _T_378 = cat(_T_377, _T_375) @[Cat.scala 29:58] - io.ecc_out <= _T_378 @[beh_lib.scala 261:14] - - module rvecc_decode_1 : - input clock : Clock - input reset : Reset - output io : {flip en : UInt<1>, flip din : UInt<32>, flip ecc_in : UInt<7>, flip sed_ded : UInt<1>, ecc_out : UInt<7>, dout : UInt<32>, single_ecc_error : UInt<1>, double_ecc_error : UInt<1>} - - wire w0 : UInt<1>[18] @[beh_lib.scala 227:16] - wire w1 : UInt<1>[18] @[beh_lib.scala 228:16] - wire w2 : UInt<1>[18] @[beh_lib.scala 229:16] - wire w3 : UInt<1>[15] @[beh_lib.scala 230:16] - wire w4 : UInt<1>[15] @[beh_lib.scala 231:16] - wire w5 : UInt<1>[6] @[beh_lib.scala 232:16] - node _T = bits(io.din, 0, 0) @[beh_lib.scala 239:37] - w0[0] <= _T @[beh_lib.scala 239:28] - node _T_1 = bits(io.din, 0, 0) @[beh_lib.scala 240:37] - w1[0] <= _T_1 @[beh_lib.scala 240:28] - node _T_2 = bits(io.din, 1, 1) @[beh_lib.scala 239:37] - w0[1] <= _T_2 @[beh_lib.scala 239:28] - node _T_3 = bits(io.din, 1, 1) @[beh_lib.scala 241:37] - w2[0] <= _T_3 @[beh_lib.scala 241:28] - node _T_4 = bits(io.din, 2, 2) @[beh_lib.scala 240:37] - w1[1] <= _T_4 @[beh_lib.scala 240:28] - node _T_5 = bits(io.din, 2, 2) @[beh_lib.scala 241:37] - w2[1] <= _T_5 @[beh_lib.scala 241:28] - node _T_6 = bits(io.din, 3, 3) @[beh_lib.scala 239:37] - w0[2] <= _T_6 @[beh_lib.scala 239:28] - node _T_7 = bits(io.din, 3, 3) @[beh_lib.scala 240:37] - w1[2] <= _T_7 @[beh_lib.scala 240:28] - node _T_8 = bits(io.din, 3, 3) @[beh_lib.scala 241:37] - w2[2] <= _T_8 @[beh_lib.scala 241:28] - node _T_9 = bits(io.din, 4, 4) @[beh_lib.scala 239:37] - w0[3] <= _T_9 @[beh_lib.scala 239:28] - node _T_10 = bits(io.din, 4, 4) @[beh_lib.scala 242:37] - w3[0] <= _T_10 @[beh_lib.scala 242:28] - node _T_11 = bits(io.din, 5, 5) @[beh_lib.scala 240:37] - w1[3] <= _T_11 @[beh_lib.scala 240:28] - node _T_12 = bits(io.din, 5, 5) @[beh_lib.scala 242:37] - w3[1] <= _T_12 @[beh_lib.scala 242:28] - node _T_13 = bits(io.din, 6, 6) @[beh_lib.scala 239:37] - w0[4] <= _T_13 @[beh_lib.scala 239:28] - node _T_14 = bits(io.din, 6, 6) @[beh_lib.scala 240:37] - w1[4] <= _T_14 @[beh_lib.scala 240:28] - node _T_15 = bits(io.din, 6, 6) @[beh_lib.scala 242:37] - w3[2] <= _T_15 @[beh_lib.scala 242:28] - node _T_16 = bits(io.din, 7, 7) @[beh_lib.scala 241:37] - w2[3] <= _T_16 @[beh_lib.scala 241:28] - node _T_17 = bits(io.din, 7, 7) @[beh_lib.scala 242:37] - w3[3] <= _T_17 @[beh_lib.scala 242:28] - node _T_18 = bits(io.din, 8, 8) @[beh_lib.scala 239:37] - w0[5] <= _T_18 @[beh_lib.scala 239:28] - node _T_19 = bits(io.din, 8, 8) @[beh_lib.scala 241:37] - w2[4] <= _T_19 @[beh_lib.scala 241:28] - node _T_20 = bits(io.din, 8, 8) @[beh_lib.scala 242:37] - w3[4] <= _T_20 @[beh_lib.scala 242:28] - node _T_21 = bits(io.din, 9, 9) @[beh_lib.scala 240:37] - w1[5] <= _T_21 @[beh_lib.scala 240:28] - node _T_22 = bits(io.din, 9, 9) @[beh_lib.scala 241:37] - w2[5] <= _T_22 @[beh_lib.scala 241:28] - node _T_23 = bits(io.din, 9, 9) @[beh_lib.scala 242:37] - w3[5] <= _T_23 @[beh_lib.scala 242:28] - node _T_24 = bits(io.din, 10, 10) @[beh_lib.scala 239:37] - w0[6] <= _T_24 @[beh_lib.scala 239:28] - node _T_25 = bits(io.din, 10, 10) @[beh_lib.scala 240:37] - w1[6] <= _T_25 @[beh_lib.scala 240:28] - node _T_26 = bits(io.din, 10, 10) @[beh_lib.scala 241:37] - w2[6] <= _T_26 @[beh_lib.scala 241:28] - node _T_27 = bits(io.din, 10, 10) @[beh_lib.scala 242:37] - w3[6] <= _T_27 @[beh_lib.scala 242:28] - node _T_28 = bits(io.din, 11, 11) @[beh_lib.scala 239:37] - w0[7] <= _T_28 @[beh_lib.scala 239:28] - node _T_29 = bits(io.din, 11, 11) @[beh_lib.scala 243:37] - w4[0] <= _T_29 @[beh_lib.scala 243:28] - node _T_30 = bits(io.din, 12, 12) @[beh_lib.scala 240:37] - w1[7] <= _T_30 @[beh_lib.scala 240:28] - node _T_31 = bits(io.din, 12, 12) @[beh_lib.scala 243:37] - w4[1] <= _T_31 @[beh_lib.scala 243:28] - node _T_32 = bits(io.din, 13, 13) @[beh_lib.scala 239:37] - w0[8] <= _T_32 @[beh_lib.scala 239:28] - node _T_33 = bits(io.din, 13, 13) @[beh_lib.scala 240:37] - w1[8] <= _T_33 @[beh_lib.scala 240:28] - node _T_34 = bits(io.din, 13, 13) @[beh_lib.scala 243:37] - w4[2] <= _T_34 @[beh_lib.scala 243:28] - node _T_35 = bits(io.din, 14, 14) @[beh_lib.scala 241:37] - w2[7] <= _T_35 @[beh_lib.scala 241:28] - node _T_36 = bits(io.din, 14, 14) @[beh_lib.scala 243:37] - w4[3] <= _T_36 @[beh_lib.scala 243:28] - node _T_37 = bits(io.din, 15, 15) @[beh_lib.scala 239:37] - w0[9] <= _T_37 @[beh_lib.scala 239:28] - node _T_38 = bits(io.din, 15, 15) @[beh_lib.scala 241:37] - w2[8] <= _T_38 @[beh_lib.scala 241:28] - node _T_39 = bits(io.din, 15, 15) @[beh_lib.scala 243:37] - w4[4] <= _T_39 @[beh_lib.scala 243:28] - node _T_40 = bits(io.din, 16, 16) @[beh_lib.scala 240:37] - w1[9] <= _T_40 @[beh_lib.scala 240:28] - node _T_41 = bits(io.din, 16, 16) @[beh_lib.scala 241:37] - w2[9] <= _T_41 @[beh_lib.scala 241:28] - node _T_42 = bits(io.din, 16, 16) @[beh_lib.scala 243:37] - w4[5] <= _T_42 @[beh_lib.scala 243:28] - node _T_43 = bits(io.din, 17, 17) @[beh_lib.scala 239:37] - w0[10] <= _T_43 @[beh_lib.scala 239:28] - node _T_44 = bits(io.din, 17, 17) @[beh_lib.scala 240:37] - w1[10] <= _T_44 @[beh_lib.scala 240:28] - node _T_45 = bits(io.din, 17, 17) @[beh_lib.scala 241:37] - w2[10] <= _T_45 @[beh_lib.scala 241:28] - node _T_46 = bits(io.din, 17, 17) @[beh_lib.scala 243:37] - w4[6] <= _T_46 @[beh_lib.scala 243:28] - node _T_47 = bits(io.din, 18, 18) @[beh_lib.scala 242:37] - w3[7] <= _T_47 @[beh_lib.scala 242:28] - node _T_48 = bits(io.din, 18, 18) @[beh_lib.scala 243:37] - w4[7] <= _T_48 @[beh_lib.scala 243:28] - node _T_49 = bits(io.din, 19, 19) @[beh_lib.scala 239:37] - w0[11] <= _T_49 @[beh_lib.scala 239:28] - node _T_50 = bits(io.din, 19, 19) @[beh_lib.scala 242:37] - w3[8] <= _T_50 @[beh_lib.scala 242:28] - node _T_51 = bits(io.din, 19, 19) @[beh_lib.scala 243:37] - w4[8] <= _T_51 @[beh_lib.scala 243:28] - node _T_52 = bits(io.din, 20, 20) @[beh_lib.scala 240:37] - w1[11] <= _T_52 @[beh_lib.scala 240:28] - node _T_53 = bits(io.din, 20, 20) @[beh_lib.scala 242:37] - w3[9] <= _T_53 @[beh_lib.scala 242:28] - node _T_54 = bits(io.din, 20, 20) @[beh_lib.scala 243:37] - w4[9] <= _T_54 @[beh_lib.scala 243:28] - node _T_55 = bits(io.din, 21, 21) @[beh_lib.scala 239:37] - w0[12] <= _T_55 @[beh_lib.scala 239:28] - node _T_56 = bits(io.din, 21, 21) @[beh_lib.scala 240:37] - w1[12] <= _T_56 @[beh_lib.scala 240:28] - node _T_57 = bits(io.din, 21, 21) @[beh_lib.scala 242:37] - w3[10] <= _T_57 @[beh_lib.scala 242:28] - node _T_58 = bits(io.din, 21, 21) @[beh_lib.scala 243:37] - w4[10] <= _T_58 @[beh_lib.scala 243:28] - node _T_59 = bits(io.din, 22, 22) @[beh_lib.scala 241:37] - w2[11] <= _T_59 @[beh_lib.scala 241:28] - node _T_60 = bits(io.din, 22, 22) @[beh_lib.scala 242:37] - w3[11] <= _T_60 @[beh_lib.scala 242:28] - node _T_61 = bits(io.din, 22, 22) @[beh_lib.scala 243:37] - w4[11] <= _T_61 @[beh_lib.scala 243:28] - node _T_62 = bits(io.din, 23, 23) @[beh_lib.scala 239:37] - w0[13] <= _T_62 @[beh_lib.scala 239:28] - node _T_63 = bits(io.din, 23, 23) @[beh_lib.scala 241:37] - w2[12] <= _T_63 @[beh_lib.scala 241:28] - node _T_64 = bits(io.din, 23, 23) @[beh_lib.scala 242:37] - w3[12] <= _T_64 @[beh_lib.scala 242:28] - node _T_65 = bits(io.din, 23, 23) @[beh_lib.scala 243:37] - w4[12] <= _T_65 @[beh_lib.scala 243:28] - node _T_66 = bits(io.din, 24, 24) @[beh_lib.scala 240:37] - w1[13] <= _T_66 @[beh_lib.scala 240:28] - node _T_67 = bits(io.din, 24, 24) @[beh_lib.scala 241:37] - w2[13] <= _T_67 @[beh_lib.scala 241:28] - node _T_68 = bits(io.din, 24, 24) @[beh_lib.scala 242:37] - w3[13] <= _T_68 @[beh_lib.scala 242:28] - node _T_69 = bits(io.din, 24, 24) @[beh_lib.scala 243:37] - w4[13] <= _T_69 @[beh_lib.scala 243:28] - node _T_70 = bits(io.din, 25, 25) @[beh_lib.scala 239:37] - w0[14] <= _T_70 @[beh_lib.scala 239:28] - node _T_71 = bits(io.din, 25, 25) @[beh_lib.scala 240:37] - w1[14] <= _T_71 @[beh_lib.scala 240:28] - node _T_72 = bits(io.din, 25, 25) @[beh_lib.scala 241:37] - w2[14] <= _T_72 @[beh_lib.scala 241:28] - node _T_73 = bits(io.din, 25, 25) @[beh_lib.scala 242:37] - w3[14] <= _T_73 @[beh_lib.scala 242:28] - node _T_74 = bits(io.din, 25, 25) @[beh_lib.scala 243:37] - w4[14] <= _T_74 @[beh_lib.scala 243:28] - node _T_75 = bits(io.din, 26, 26) @[beh_lib.scala 239:37] - w0[15] <= _T_75 @[beh_lib.scala 239:28] - node _T_76 = bits(io.din, 26, 26) @[beh_lib.scala 244:37] - w5[0] <= _T_76 @[beh_lib.scala 244:28] - node _T_77 = bits(io.din, 27, 27) @[beh_lib.scala 240:37] - w1[15] <= _T_77 @[beh_lib.scala 240:28] - node _T_78 = bits(io.din, 27, 27) @[beh_lib.scala 244:37] - w5[1] <= _T_78 @[beh_lib.scala 244:28] - node _T_79 = bits(io.din, 28, 28) @[beh_lib.scala 239:37] - w0[16] <= _T_79 @[beh_lib.scala 239:28] - node _T_80 = bits(io.din, 28, 28) @[beh_lib.scala 240:37] - w1[16] <= _T_80 @[beh_lib.scala 240:28] - node _T_81 = bits(io.din, 28, 28) @[beh_lib.scala 244:37] - w5[2] <= _T_81 @[beh_lib.scala 244:28] - node _T_82 = bits(io.din, 29, 29) @[beh_lib.scala 241:37] - w2[15] <= _T_82 @[beh_lib.scala 241:28] - node _T_83 = bits(io.din, 29, 29) @[beh_lib.scala 244:37] - w5[3] <= _T_83 @[beh_lib.scala 244:28] - node _T_84 = bits(io.din, 30, 30) @[beh_lib.scala 239:37] - w0[17] <= _T_84 @[beh_lib.scala 239:28] - node _T_85 = bits(io.din, 30, 30) @[beh_lib.scala 241:37] - w2[16] <= _T_85 @[beh_lib.scala 241:28] - node _T_86 = bits(io.din, 30, 30) @[beh_lib.scala 244:37] - w5[4] <= _T_86 @[beh_lib.scala 244:28] - node _T_87 = bits(io.din, 31, 31) @[beh_lib.scala 240:37] - w1[17] <= _T_87 @[beh_lib.scala 240:28] - node _T_88 = bits(io.din, 31, 31) @[beh_lib.scala 241:37] - w2[17] <= _T_88 @[beh_lib.scala 241:28] - node _T_89 = bits(io.din, 31, 31) @[beh_lib.scala 244:37] - w5[5] <= _T_89 @[beh_lib.scala 244:28] - node _T_90 = xorr(io.din) @[beh_lib.scala 247:31] - node _T_91 = xorr(io.ecc_in) @[beh_lib.scala 247:48] - node _T_92 = xor(_T_90, _T_91) @[beh_lib.scala 247:36] - node _T_93 = not(io.sed_ded) @[beh_lib.scala 247:56] - node _T_94 = and(_T_92, _T_93) @[beh_lib.scala 247:54] - node _T_95 = bits(io.ecc_in, 5, 5) @[beh_lib.scala 247:78] - node _T_96 = cat(w5[2], w5[1]) @[beh_lib.scala 247:86] - node _T_97 = cat(_T_96, w5[0]) @[beh_lib.scala 247:86] - node _T_98 = cat(w5[5], w5[4]) @[beh_lib.scala 247:86] - node _T_99 = cat(_T_98, w5[3]) @[beh_lib.scala 247:86] - node _T_100 = cat(_T_99, _T_97) @[beh_lib.scala 247:86] - node _T_101 = xorr(_T_100) @[beh_lib.scala 247:93] - node _T_102 = xor(_T_95, _T_101) @[beh_lib.scala 247:81] - node _T_103 = bits(io.ecc_in, 4, 4) @[beh_lib.scala 247:108] - node _T_104 = cat(w4[2], w4[1]) @[beh_lib.scala 247:116] - node _T_105 = cat(_T_104, w4[0]) @[beh_lib.scala 247:116] - node _T_106 = cat(w4[4], w4[3]) @[beh_lib.scala 247:116] - node _T_107 = cat(w4[6], w4[5]) @[beh_lib.scala 247:116] - node _T_108 = cat(_T_107, _T_106) @[beh_lib.scala 247:116] - node _T_109 = cat(_T_108, _T_105) @[beh_lib.scala 247:116] - node _T_110 = cat(w4[8], w4[7]) @[beh_lib.scala 247:116] - node _T_111 = cat(w4[10], w4[9]) @[beh_lib.scala 247:116] - node _T_112 = cat(_T_111, _T_110) @[beh_lib.scala 247:116] - node _T_113 = cat(w4[12], w4[11]) @[beh_lib.scala 247:116] - node _T_114 = cat(w4[14], w4[13]) @[beh_lib.scala 247:116] - node _T_115 = cat(_T_114, _T_113) @[beh_lib.scala 247:116] - node _T_116 = cat(_T_115, _T_112) @[beh_lib.scala 247:116] - node _T_117 = cat(_T_116, _T_109) @[beh_lib.scala 247:116] - node _T_118 = xorr(_T_117) @[beh_lib.scala 247:123] - node _T_119 = xor(_T_103, _T_118) @[beh_lib.scala 247:111] - node _T_120 = bits(io.ecc_in, 3, 3) @[beh_lib.scala 247:138] - node _T_121 = cat(w3[2], w3[1]) @[beh_lib.scala 247:146] - node _T_122 = cat(_T_121, w3[0]) @[beh_lib.scala 247:146] - node _T_123 = cat(w3[4], w3[3]) @[beh_lib.scala 247:146] - node _T_124 = cat(w3[6], w3[5]) @[beh_lib.scala 247:146] - node _T_125 = cat(_T_124, _T_123) @[beh_lib.scala 247:146] - node _T_126 = cat(_T_125, _T_122) @[beh_lib.scala 247:146] - node _T_127 = cat(w3[8], w3[7]) @[beh_lib.scala 247:146] - node _T_128 = cat(w3[10], w3[9]) @[beh_lib.scala 247:146] - node _T_129 = cat(_T_128, _T_127) @[beh_lib.scala 247:146] - node _T_130 = cat(w3[12], w3[11]) @[beh_lib.scala 247:146] - node _T_131 = cat(w3[14], w3[13]) @[beh_lib.scala 247:146] - node _T_132 = cat(_T_131, _T_130) @[beh_lib.scala 247:146] - node _T_133 = cat(_T_132, _T_129) @[beh_lib.scala 247:146] - node _T_134 = cat(_T_133, _T_126) @[beh_lib.scala 247:146] - node _T_135 = xorr(_T_134) @[beh_lib.scala 247:153] - node _T_136 = xor(_T_120, _T_135) @[beh_lib.scala 247:141] - node _T_137 = bits(io.ecc_in, 2, 2) @[beh_lib.scala 247:168] - node _T_138 = cat(w2[1], w2[0]) @[beh_lib.scala 247:176] - node _T_139 = cat(w2[3], w2[2]) @[beh_lib.scala 247:176] - node _T_140 = cat(_T_139, _T_138) @[beh_lib.scala 247:176] - node _T_141 = cat(w2[5], w2[4]) @[beh_lib.scala 247:176] - node _T_142 = cat(w2[8], w2[7]) @[beh_lib.scala 247:176] - node _T_143 = cat(_T_142, w2[6]) @[beh_lib.scala 247:176] - node _T_144 = cat(_T_143, _T_141) @[beh_lib.scala 247:176] - node _T_145 = cat(_T_144, _T_140) @[beh_lib.scala 247:176] - node _T_146 = cat(w2[10], w2[9]) @[beh_lib.scala 247:176] - node _T_147 = cat(w2[12], w2[11]) @[beh_lib.scala 247:176] - node _T_148 = cat(_T_147, _T_146) @[beh_lib.scala 247:176] - node _T_149 = cat(w2[14], w2[13]) @[beh_lib.scala 247:176] - node _T_150 = cat(w2[17], w2[16]) @[beh_lib.scala 247:176] - node _T_151 = cat(_T_150, w2[15]) @[beh_lib.scala 247:176] - node _T_152 = cat(_T_151, _T_149) @[beh_lib.scala 247:176] - node _T_153 = cat(_T_152, _T_148) @[beh_lib.scala 247:176] - node _T_154 = cat(_T_153, _T_145) @[beh_lib.scala 247:176] - node _T_155 = xorr(_T_154) @[beh_lib.scala 247:183] - node _T_156 = xor(_T_137, _T_155) @[beh_lib.scala 247:171] - node _T_157 = bits(io.ecc_in, 1, 1) @[beh_lib.scala 247:198] - node _T_158 = cat(w1[1], w1[0]) @[beh_lib.scala 247:206] - node _T_159 = cat(w1[3], w1[2]) @[beh_lib.scala 247:206] - node _T_160 = cat(_T_159, _T_158) @[beh_lib.scala 247:206] - node _T_161 = cat(w1[5], w1[4]) @[beh_lib.scala 247:206] - node _T_162 = cat(w1[8], w1[7]) @[beh_lib.scala 247:206] - node _T_163 = cat(_T_162, w1[6]) @[beh_lib.scala 247:206] - node _T_164 = cat(_T_163, _T_161) @[beh_lib.scala 247:206] - node _T_165 = cat(_T_164, _T_160) @[beh_lib.scala 247:206] - node _T_166 = cat(w1[10], w1[9]) @[beh_lib.scala 247:206] - node _T_167 = cat(w1[12], w1[11]) @[beh_lib.scala 247:206] - node _T_168 = cat(_T_167, _T_166) @[beh_lib.scala 247:206] - node _T_169 = cat(w1[14], w1[13]) @[beh_lib.scala 247:206] - node _T_170 = cat(w1[17], w1[16]) @[beh_lib.scala 247:206] - node _T_171 = cat(_T_170, w1[15]) @[beh_lib.scala 247:206] - node _T_172 = cat(_T_171, _T_169) @[beh_lib.scala 247:206] - node _T_173 = cat(_T_172, _T_168) @[beh_lib.scala 247:206] - node _T_174 = cat(_T_173, _T_165) @[beh_lib.scala 247:206] - node _T_175 = xorr(_T_174) @[beh_lib.scala 247:213] - node _T_176 = xor(_T_157, _T_175) @[beh_lib.scala 247:201] - node _T_177 = bits(io.ecc_in, 0, 0) @[beh_lib.scala 247:228] - node _T_178 = cat(w0[1], w0[0]) @[beh_lib.scala 247:236] - node _T_179 = cat(w0[3], w0[2]) @[beh_lib.scala 247:236] - node _T_180 = cat(_T_179, _T_178) @[beh_lib.scala 247:236] - node _T_181 = cat(w0[5], w0[4]) @[beh_lib.scala 247:236] - node _T_182 = cat(w0[8], w0[7]) @[beh_lib.scala 247:236] - node _T_183 = cat(_T_182, w0[6]) @[beh_lib.scala 247:236] - node _T_184 = cat(_T_183, _T_181) @[beh_lib.scala 247:236] - node _T_185 = cat(_T_184, _T_180) @[beh_lib.scala 247:236] - node _T_186 = cat(w0[10], w0[9]) @[beh_lib.scala 247:236] - node _T_187 = cat(w0[12], w0[11]) @[beh_lib.scala 247:236] - node _T_188 = cat(_T_187, _T_186) @[beh_lib.scala 247:236] - node _T_189 = cat(w0[14], w0[13]) @[beh_lib.scala 247:236] - node _T_190 = cat(w0[17], w0[16]) @[beh_lib.scala 247:236] - node _T_191 = cat(_T_190, w0[15]) @[beh_lib.scala 247:236] - node _T_192 = cat(_T_191, _T_189) @[beh_lib.scala 247:236] - node _T_193 = cat(_T_192, _T_188) @[beh_lib.scala 247:236] - node _T_194 = cat(_T_193, _T_185) @[beh_lib.scala 247:236] - node _T_195 = xorr(_T_194) @[beh_lib.scala 247:243] - node _T_196 = xor(_T_177, _T_195) @[beh_lib.scala 247:231] - node _T_197 = cat(_T_156, _T_176) @[Cat.scala 29:58] - node _T_198 = cat(_T_197, _T_196) @[Cat.scala 29:58] - node _T_199 = cat(_T_119, _T_136) @[Cat.scala 29:58] - node _T_200 = cat(_T_94, _T_102) @[Cat.scala 29:58] - node _T_201 = cat(_T_200, _T_199) @[Cat.scala 29:58] - node ecc_check = cat(_T_201, _T_198) @[Cat.scala 29:58] - io.ecc_out <= ecc_check @[beh_lib.scala 248:14] - node _T_202 = neq(ecc_check, UInt<1>("h00")) @[beh_lib.scala 250:45] - node _T_203 = and(io.en, _T_202) @[beh_lib.scala 250:33] - node _T_204 = xorr(io.din) @[beh_lib.scala 250:64] - node _T_205 = xorr(io.ecc_in) @[beh_lib.scala 250:81] - node _T_206 = xor(_T_204, _T_205) @[beh_lib.scala 250:69] - node _T_207 = not(io.sed_ded) @[beh_lib.scala 250:89] - node _T_208 = and(_T_206, _T_207) @[beh_lib.scala 250:87] - node _T_209 = and(_T_203, _T_208) @[beh_lib.scala 250:53] - io.single_ecc_error <= _T_209 @[beh_lib.scala 250:23] - node _T_210 = neq(ecc_check, UInt<1>("h00")) @[beh_lib.scala 251:45] - node _T_211 = and(io.en, _T_210) @[beh_lib.scala 251:33] - node _T_212 = xorr(io.din) @[beh_lib.scala 251:64] - node _T_213 = xorr(io.ecc_in) @[beh_lib.scala 251:81] - node _T_214 = xor(_T_212, _T_213) @[beh_lib.scala 251:69] - node _T_215 = not(io.sed_ded) @[beh_lib.scala 251:89] - node _T_216 = and(_T_214, _T_215) @[beh_lib.scala 251:87] - node _T_217 = and(_T_211, _T_216) @[beh_lib.scala 251:53] - io.double_ecc_error <= _T_217 @[beh_lib.scala 251:23] - wire error_mask : UInt<1>[39] @[beh_lib.scala 252:24] - node _T_218 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_219 = eq(_T_218, UInt<1>("h01")) @[beh_lib.scala 255:39] - error_mask[0] <= _T_219 @[beh_lib.scala 255:21] - node _T_220 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_221 = eq(_T_220, UInt<2>("h02")) @[beh_lib.scala 255:39] - error_mask[1] <= _T_221 @[beh_lib.scala 255:21] - node _T_222 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_223 = eq(_T_222, UInt<2>("h03")) @[beh_lib.scala 255:39] - error_mask[2] <= _T_223 @[beh_lib.scala 255:21] - node _T_224 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_225 = eq(_T_224, UInt<3>("h04")) @[beh_lib.scala 255:39] - error_mask[3] <= _T_225 @[beh_lib.scala 255:21] - node _T_226 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_227 = eq(_T_226, UInt<3>("h05")) @[beh_lib.scala 255:39] - error_mask[4] <= _T_227 @[beh_lib.scala 255:21] - node _T_228 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_229 = eq(_T_228, UInt<3>("h06")) @[beh_lib.scala 255:39] - error_mask[5] <= _T_229 @[beh_lib.scala 255:21] - node _T_230 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_231 = eq(_T_230, UInt<3>("h07")) @[beh_lib.scala 255:39] - error_mask[6] <= _T_231 @[beh_lib.scala 255:21] - node _T_232 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_233 = eq(_T_232, UInt<4>("h08")) @[beh_lib.scala 255:39] - error_mask[7] <= _T_233 @[beh_lib.scala 255:21] - node _T_234 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_235 = eq(_T_234, UInt<4>("h09")) @[beh_lib.scala 255:39] - error_mask[8] <= _T_235 @[beh_lib.scala 255:21] - node _T_236 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_237 = eq(_T_236, UInt<4>("h0a")) @[beh_lib.scala 255:39] - error_mask[9] <= _T_237 @[beh_lib.scala 255:21] - node _T_238 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_239 = eq(_T_238, UInt<4>("h0b")) @[beh_lib.scala 255:39] - error_mask[10] <= _T_239 @[beh_lib.scala 255:21] - node _T_240 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_241 = eq(_T_240, UInt<4>("h0c")) @[beh_lib.scala 255:39] - error_mask[11] <= _T_241 @[beh_lib.scala 255:21] - node _T_242 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_243 = eq(_T_242, UInt<4>("h0d")) @[beh_lib.scala 255:39] - error_mask[12] <= _T_243 @[beh_lib.scala 255:21] - node _T_244 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_245 = eq(_T_244, UInt<4>("h0e")) @[beh_lib.scala 255:39] - error_mask[13] <= _T_245 @[beh_lib.scala 255:21] - node _T_246 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_247 = eq(_T_246, UInt<4>("h0f")) @[beh_lib.scala 255:39] - error_mask[14] <= _T_247 @[beh_lib.scala 255:21] - node _T_248 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_249 = eq(_T_248, UInt<5>("h010")) @[beh_lib.scala 255:39] - error_mask[15] <= _T_249 @[beh_lib.scala 255:21] - node _T_250 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_251 = eq(_T_250, UInt<5>("h011")) @[beh_lib.scala 255:39] - error_mask[16] <= _T_251 @[beh_lib.scala 255:21] - node _T_252 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_253 = eq(_T_252, UInt<5>("h012")) @[beh_lib.scala 255:39] - error_mask[17] <= _T_253 @[beh_lib.scala 255:21] - node _T_254 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_255 = eq(_T_254, UInt<5>("h013")) @[beh_lib.scala 255:39] - error_mask[18] <= _T_255 @[beh_lib.scala 255:21] - node _T_256 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_257 = eq(_T_256, UInt<5>("h014")) @[beh_lib.scala 255:39] - error_mask[19] <= _T_257 @[beh_lib.scala 255:21] - node _T_258 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_259 = eq(_T_258, UInt<5>("h015")) @[beh_lib.scala 255:39] - error_mask[20] <= _T_259 @[beh_lib.scala 255:21] - node _T_260 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_261 = eq(_T_260, UInt<5>("h016")) @[beh_lib.scala 255:39] - error_mask[21] <= _T_261 @[beh_lib.scala 255:21] - node _T_262 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_263 = eq(_T_262, UInt<5>("h017")) @[beh_lib.scala 255:39] - error_mask[22] <= _T_263 @[beh_lib.scala 255:21] - node _T_264 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_265 = eq(_T_264, UInt<5>("h018")) @[beh_lib.scala 255:39] - error_mask[23] <= _T_265 @[beh_lib.scala 255:21] - node _T_266 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_267 = eq(_T_266, UInt<5>("h019")) @[beh_lib.scala 255:39] - error_mask[24] <= _T_267 @[beh_lib.scala 255:21] - node _T_268 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_269 = eq(_T_268, UInt<5>("h01a")) @[beh_lib.scala 255:39] - error_mask[25] <= _T_269 @[beh_lib.scala 255:21] - node _T_270 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_271 = eq(_T_270, UInt<5>("h01b")) @[beh_lib.scala 255:39] - error_mask[26] <= _T_271 @[beh_lib.scala 255:21] - node _T_272 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_273 = eq(_T_272, UInt<5>("h01c")) @[beh_lib.scala 255:39] - error_mask[27] <= _T_273 @[beh_lib.scala 255:21] - node _T_274 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_275 = eq(_T_274, UInt<5>("h01d")) @[beh_lib.scala 255:39] - error_mask[28] <= _T_275 @[beh_lib.scala 255:21] - node _T_276 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_277 = eq(_T_276, UInt<5>("h01e")) @[beh_lib.scala 255:39] - error_mask[29] <= _T_277 @[beh_lib.scala 255:21] - node _T_278 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_279 = eq(_T_278, UInt<5>("h01f")) @[beh_lib.scala 255:39] - error_mask[30] <= _T_279 @[beh_lib.scala 255:21] - node _T_280 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_281 = eq(_T_280, UInt<6>("h020")) @[beh_lib.scala 255:39] - error_mask[31] <= _T_281 @[beh_lib.scala 255:21] - node _T_282 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_283 = eq(_T_282, UInt<6>("h021")) @[beh_lib.scala 255:39] - error_mask[32] <= _T_283 @[beh_lib.scala 255:21] - node _T_284 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_285 = eq(_T_284, UInt<6>("h022")) @[beh_lib.scala 255:39] - error_mask[33] <= _T_285 @[beh_lib.scala 255:21] - node _T_286 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_287 = eq(_T_286, UInt<6>("h023")) @[beh_lib.scala 255:39] - error_mask[34] <= _T_287 @[beh_lib.scala 255:21] - node _T_288 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_289 = eq(_T_288, UInt<6>("h024")) @[beh_lib.scala 255:39] - error_mask[35] <= _T_289 @[beh_lib.scala 255:21] - node _T_290 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_291 = eq(_T_290, UInt<6>("h025")) @[beh_lib.scala 255:39] - error_mask[36] <= _T_291 @[beh_lib.scala 255:21] - node _T_292 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_293 = eq(_T_292, UInt<6>("h026")) @[beh_lib.scala 255:39] - error_mask[37] <= _T_293 @[beh_lib.scala 255:21] - node _T_294 = bits(ecc_check, 5, 0) @[beh_lib.scala 255:33] - node _T_295 = eq(_T_294, UInt<6>("h027")) @[beh_lib.scala 255:39] - error_mask[38] <= _T_295 @[beh_lib.scala 255:21] - node _T_296 = bits(io.ecc_in, 6, 6) @[beh_lib.scala 257:38] - node _T_297 = bits(io.din, 31, 26) @[beh_lib.scala 257:49] - node _T_298 = bits(io.ecc_in, 5, 5) @[beh_lib.scala 257:67] - node _T_299 = bits(io.din, 25, 11) @[beh_lib.scala 257:78] - node _T_300 = bits(io.ecc_in, 4, 4) @[beh_lib.scala 257:96] - node _T_301 = bits(io.din, 10, 4) @[beh_lib.scala 257:107] - node _T_302 = bits(io.ecc_in, 3, 3) @[beh_lib.scala 257:124] - node _T_303 = bits(io.din, 3, 1) @[beh_lib.scala 257:135] - node _T_304 = bits(io.ecc_in, 2, 2) @[beh_lib.scala 257:151] - node _T_305 = bits(io.din, 0, 0) @[beh_lib.scala 257:162] - node _T_306 = bits(io.ecc_in, 1, 0) @[beh_lib.scala 257:176] - node _T_307 = cat(_T_305, _T_306) @[Cat.scala 29:58] - node _T_308 = cat(_T_302, _T_303) @[Cat.scala 29:58] - node _T_309 = cat(_T_308, _T_304) @[Cat.scala 29:58] - node _T_310 = cat(_T_309, _T_307) @[Cat.scala 29:58] - node _T_311 = cat(_T_299, _T_300) @[Cat.scala 29:58] - node _T_312 = cat(_T_311, _T_301) @[Cat.scala 29:58] - node _T_313 = cat(_T_296, _T_297) @[Cat.scala 29:58] - node _T_314 = cat(_T_313, _T_298) @[Cat.scala 29:58] - node _T_315 = cat(_T_314, _T_312) @[Cat.scala 29:58] - node din_plus_parity = cat(_T_315, _T_310) @[Cat.scala 29:58] - node _T_316 = bits(io.single_ecc_error, 0, 0) @[beh_lib.scala 258:50] - node _T_317 = cat(error_mask[1], error_mask[0]) @[beh_lib.scala 258:70] - node _T_318 = cat(error_mask[3], error_mask[2]) @[beh_lib.scala 258:70] - node _T_319 = cat(_T_318, _T_317) @[beh_lib.scala 258:70] - node _T_320 = cat(error_mask[5], error_mask[4]) @[beh_lib.scala 258:70] - node _T_321 = cat(error_mask[8], error_mask[7]) @[beh_lib.scala 258:70] - node _T_322 = cat(_T_321, error_mask[6]) @[beh_lib.scala 258:70] - node _T_323 = cat(_T_322, _T_320) @[beh_lib.scala 258:70] - node _T_324 = cat(_T_323, _T_319) @[beh_lib.scala 258:70] - node _T_325 = cat(error_mask[10], error_mask[9]) @[beh_lib.scala 258:70] - node _T_326 = cat(error_mask[13], error_mask[12]) @[beh_lib.scala 258:70] - node _T_327 = cat(_T_326, error_mask[11]) @[beh_lib.scala 258:70] - node _T_328 = cat(_T_327, _T_325) @[beh_lib.scala 258:70] - node _T_329 = cat(error_mask[15], error_mask[14]) @[beh_lib.scala 258:70] - node _T_330 = cat(error_mask[18], error_mask[17]) @[beh_lib.scala 258:70] - node _T_331 = cat(_T_330, error_mask[16]) @[beh_lib.scala 258:70] - node _T_332 = cat(_T_331, _T_329) @[beh_lib.scala 258:70] - node _T_333 = cat(_T_332, _T_328) @[beh_lib.scala 258:70] - node _T_334 = cat(_T_333, _T_324) @[beh_lib.scala 258:70] - node _T_335 = cat(error_mask[20], error_mask[19]) @[beh_lib.scala 258:70] - node _T_336 = cat(error_mask[23], error_mask[22]) @[beh_lib.scala 258:70] - node _T_337 = cat(_T_336, error_mask[21]) @[beh_lib.scala 258:70] - node _T_338 = cat(_T_337, _T_335) @[beh_lib.scala 258:70] - node _T_339 = cat(error_mask[25], error_mask[24]) @[beh_lib.scala 258:70] - node _T_340 = cat(error_mask[28], error_mask[27]) @[beh_lib.scala 258:70] - node _T_341 = cat(_T_340, error_mask[26]) @[beh_lib.scala 258:70] - node _T_342 = cat(_T_341, _T_339) @[beh_lib.scala 258:70] - node _T_343 = cat(_T_342, _T_338) @[beh_lib.scala 258:70] - node _T_344 = cat(error_mask[30], error_mask[29]) @[beh_lib.scala 258:70] - node _T_345 = cat(error_mask[33], error_mask[32]) @[beh_lib.scala 258:70] - node _T_346 = cat(_T_345, error_mask[31]) @[beh_lib.scala 258:70] - node _T_347 = cat(_T_346, _T_344) @[beh_lib.scala 258:70] - node _T_348 = cat(error_mask[35], error_mask[34]) @[beh_lib.scala 258:70] - node _T_349 = cat(error_mask[38], error_mask[37]) @[beh_lib.scala 258:70] - node _T_350 = cat(_T_349, error_mask[36]) @[beh_lib.scala 258:70] - node _T_351 = cat(_T_350, _T_348) @[beh_lib.scala 258:70] - node _T_352 = cat(_T_351, _T_347) @[beh_lib.scala 258:70] - node _T_353 = cat(_T_352, _T_343) @[beh_lib.scala 258:70] - node _T_354 = cat(_T_353, _T_334) @[beh_lib.scala 258:70] - node _T_355 = xor(_T_354, din_plus_parity) @[beh_lib.scala 258:77] - node dout_plus_parity = mux(_T_316, _T_355, din_plus_parity) @[beh_lib.scala 258:29] - node _T_356 = bits(dout_plus_parity, 37, 32) @[beh_lib.scala 260:35] - node _T_357 = bits(dout_plus_parity, 30, 16) @[beh_lib.scala 260:59] - node _T_358 = bits(dout_plus_parity, 14, 8) @[beh_lib.scala 260:84] - node _T_359 = bits(dout_plus_parity, 6, 4) @[beh_lib.scala 260:108] - node _T_360 = bits(dout_plus_parity, 2, 2) @[beh_lib.scala 260:131] - node _T_361 = cat(_T_359, _T_360) @[Cat.scala 29:58] - node _T_362 = cat(_T_356, _T_357) @[Cat.scala 29:58] - node _T_363 = cat(_T_362, _T_358) @[Cat.scala 29:58] - node _T_364 = cat(_T_363, _T_361) @[Cat.scala 29:58] - io.dout <= _T_364 @[beh_lib.scala 260:11] - node _T_365 = bits(dout_plus_parity, 38, 38) @[beh_lib.scala 261:37] - node _T_366 = bits(ecc_check, 6, 0) @[beh_lib.scala 261:54] - node _T_367 = eq(_T_366, UInt<7>("h040")) @[beh_lib.scala 261:60] - node _T_368 = xor(_T_365, _T_367) @[beh_lib.scala 261:42] - node _T_369 = bits(dout_plus_parity, 31, 31) @[beh_lib.scala 261:95] - node _T_370 = bits(dout_plus_parity, 15, 15) @[beh_lib.scala 261:117] - node _T_371 = bits(dout_plus_parity, 7, 7) @[beh_lib.scala 261:139] - node _T_372 = bits(dout_plus_parity, 3, 3) @[beh_lib.scala 261:160] - node _T_373 = bits(dout_plus_parity, 1, 0) @[beh_lib.scala 261:181] - node _T_374 = cat(_T_371, _T_372) @[Cat.scala 29:58] - node _T_375 = cat(_T_374, _T_373) @[Cat.scala 29:58] - node _T_376 = cat(_T_368, _T_369) @[Cat.scala 29:58] - node _T_377 = cat(_T_376, _T_370) @[Cat.scala 29:58] - node _T_378 = cat(_T_377, _T_375) @[Cat.scala 29:58] - io.ecc_out <= _T_378 @[beh_lib.scala 261:14] - 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>, 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_override : UInt<1>, flip dec_tlu_core_ecc_disable : UInt<1>, flip ic_rw_addr : UInt<29>, flip ic_wr_en : UInt<2>, flip ic_tag_valid : UInt<2>, flip ic_rd_en : UInt<1>, flip ic_debug_addr : UInt<10>, 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} - 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] - _T_1[0] <= UInt<1>("h01") @[el2_lib.scala 177:24] - node _T_2 = eq(_T, _T_1[0]) @[el2_ifu_ic_mem.scala 73:93] - wire _T_3 : UInt<1>[2] @[el2_lib.scala 177:24] - _T_3[0] <= _T_2 @[el2_lib.scala 177:24] - _T_3[1] <= _T_2 @[el2_lib.scala 177:24] - node _T_4 = cat(_T_3[0], _T_3[1]) @[Cat.scala 29:58] - node ic_tag_wren = and(io.ic_wr_en, _T_4) @[el2_ifu_ic_mem.scala 73:33] - node _T_5 = and(io.ic_debug_rd_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 75:68] - wire _T_6 : UInt<1>[2] @[el2_lib.scala 177:24] - _T_6[0] <= _T_5 @[el2_lib.scala 177:24] - _T_6[1] <= _T_5 @[el2_lib.scala 177:24] - node _T_7 = cat(_T_6[0], _T_6[1]) @[Cat.scala 29:58] - node ic_debug_rd_way_en = and(_T_7, io.ic_debug_way) @[el2_ifu_ic_mem.scala 75:93] - node _T_8 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 76:68] - wire _T_9 : UInt<1>[2] @[el2_lib.scala 177:24] - _T_9[0] <= _T_8 @[el2_lib.scala 177:24] - _T_9[1] <= _T_8 @[el2_lib.scala 177:24] - node _T_10 = cat(_T_9[0], _T_9[1]) @[Cat.scala 29:58] - node ic_debug_wr_way_en = and(_T_10, io.ic_debug_way) @[el2_ifu_ic_mem.scala 76:93] - node _T_11 = or(io.ic_rd_en, io.clk_override) @[el2_ifu_ic_mem.scala 77:55] - wire _T_12 : UInt<1>[2] @[el2_lib.scala 177:24] - _T_12[0] <= _T_11 @[el2_lib.scala 177:24] - _T_12[1] <= _T_11 @[el2_lib.scala 177:24] - node _T_13 = cat(_T_12[0], _T_12[1]) @[Cat.scala 29:58] - node _T_14 = or(_T_13, io.ic_wr_en) @[el2_ifu_ic_mem.scala 77:74] - node _T_15 = or(_T_14, ic_debug_wr_way_en) @[el2_ifu_ic_mem.scala 77:88] - 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] - 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] - wire ic_tag_parity : UInt<1> @[el2_ifu_ic_mem.scala 85:27] - ic_tag_ecc <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 86:14] - ic_tag_wr_data <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 87:18] - 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_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_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_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_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_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_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_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_487[0] <= write_data[0] - skip - when mem_mask[1] : - _T_487[1] <= write_data[1] - skip - 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_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_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_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_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_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_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] - ic_tag_corrected_ecc_unc[1] <= io.test_ecc_out[1] @[el2_ifu_ic_mem.scala 156:30] - ic_tag_single_ecc_error[0] <= io.test_ecc_sb_out[0] @[el2_ifu_ic_mem.scala 157:29] - ic_tag_single_ecc_error[1] <= io.test_ecc_sb_out[1] @[el2_ifu_ic_mem.scala 157:29] - ic_tag_double_ecc_error[0] <= io.test_ecc_db_out[0] @[el2_ifu_ic_mem.scala 158:29] - ic_tag_double_ecc_error[1] <= io.test_ecc_db_out[1] @[el2_ifu_ic_mem.scala 158:29] - io.test_ecc_data_out[0] <= rvecc_decode.io.dout @[el2_ifu_ic_mem.scala 160:29] - 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_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_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_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] - ic_tag_corrected_ecc_unc[1] <= io.test_ecc_out[1] @[el2_ifu_ic_mem.scala 156:30] - ic_tag_single_ecc_error[0] <= io.test_ecc_sb_out[0] @[el2_ifu_ic_mem.scala 157:29] - ic_tag_single_ecc_error[1] <= io.test_ecc_sb_out[1] @[el2_ifu_ic_mem.scala 157:29] - ic_tag_double_ecc_error[0] <= io.test_ecc_db_out[0] @[el2_ifu_ic_mem.scala 158:29] - ic_tag_double_ecc_error[1] <= io.test_ecc_db_out[1] @[el2_ifu_ic_mem.scala 158:29] - io.test_ecc_data_out[1] <= rvecc_decode_1.io.dout @[el2_ifu_ic_mem.scala 160:29] - 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_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] + io.ictag_debug_rd_data <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 65:26] + io.ic_rd_hit <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 66:16] + io.ic_tag_perr <= UInt<1>("h00") @[el2_ifu_ic_mem.scala 67:18] + wire ic_debug_wr_way_en : UInt<2> + ic_debug_wr_way_en <= UInt<1>("h00") + wire ic_debug_rd_way_en : UInt<2> + ic_debug_rd_way_en <= UInt<1>("h00") + node _T = bits(io.ic_rw_addr, 2, 1) @[el2_ifu_ic_mem.scala 70:70] + node _T_1 = eq(_T, UInt<1>("h01")) @[el2_ifu_ic_mem.scala 70:95] + node _T_2 = bits(_T_1, 0, 0) @[Bitwise.scala 72:15] + node _T_3 = mux(_T_2, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node ic_tag_wren = and(io.ic_wr_en, _T_3) @[el2_ifu_ic_mem.scala 70:33] + node _T_4 = or(io.ic_rd_en, io.clk_override) @[el2_ifu_ic_mem.scala 71:55] + node _T_5 = bits(_T_4, 0, 0) @[Bitwise.scala 72:15] + node _T_6 = mux(_T_5, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_7 = or(_T_6, io.ic_wr_en) @[el2_ifu_ic_mem.scala 71:73] + node _T_8 = or(_T_7, ic_debug_wr_way_en) @[el2_ifu_ic_mem.scala 71:87] + node ic_tag_clken = or(_T_8, ic_debug_rd_way_en) @[el2_ifu_ic_mem.scala 71:108] + reg ic_rd_en_ff : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 73:28] + ic_rd_en_ff <= io.ic_rd_en @[el2_ifu_ic_mem.scala 73:28] + node _T_9 = bits(io.ic_rw_addr, 18, 0) @[el2_ifu_ic_mem.scala 74:44] + reg ic_rw_addr_ff : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ic_mem.scala 74:30] + ic_rw_addr_ff <= _T_9 @[el2_ifu_ic_mem.scala 74:30] + node _T_10 = and(io.ic_debug_rd_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 78:65] + node _T_11 = bits(_T_10, 0, 0) @[Bitwise.scala 72:15] + node _T_12 = mux(_T_11, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_13 = and(_T_12, io.ic_debug_way) @[el2_ifu_ic_mem.scala 78:90] + ic_debug_rd_way_en <= _T_13 @[el2_ifu_ic_mem.scala 78:22] + node _T_14 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 79:65] + node _T_15 = bits(_T_14, 0, 0) @[Bitwise.scala 72:15] + node _T_16 = mux(_T_15, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_17 = and(_T_16, io.ic_debug_way) @[el2_ifu_ic_mem.scala 79:90] + ic_debug_wr_way_en <= _T_17 @[el2_ifu_ic_mem.scala 79:22] + node ic_tag_wren_q = or(ic_tag_wren, ic_debug_wr_way_en) @[el2_ifu_ic_mem.scala 81:35] + node _T_18 = mux(UInt<1>("h00"), UInt<13>("h01fff"), UInt<13>("h00")) @[Bitwise.scala 72:12] + node _T_19 = bits(io.ic_rw_addr, 28, 10) @[el2_ifu_ic_mem.scala 83:74] + node _T_20 = cat(_T_18, _T_19) @[Cat.scala 29:58] + wire _T_21 : UInt<1>[18] @[el2_lib.scala 235:18] + wire _T_22 : UInt<1>[18] @[el2_lib.scala 236:18] + wire _T_23 : UInt<1>[18] @[el2_lib.scala 237:18] + wire _T_24 : UInt<1>[15] @[el2_lib.scala 238:18] + wire _T_25 : UInt<1>[15] @[el2_lib.scala 239:18] + wire _T_26 : UInt<1>[6] @[el2_lib.scala 240:18] + node _T_27 = bits(_T_20, 0, 0) @[el2_lib.scala 247:36] + _T_22[0] <= _T_27 @[el2_lib.scala 247:30] + node _T_28 = bits(_T_20, 0, 0) @[el2_lib.scala 248:36] + _T_23[0] <= _T_28 @[el2_lib.scala 248:30] + node _T_29 = bits(_T_20, 0, 0) @[el2_lib.scala 251:36] + _T_26[0] <= _T_29 @[el2_lib.scala 251:30] + node _T_30 = bits(_T_20, 1, 1) @[el2_lib.scala 246:36] + _T_21[0] <= _T_30 @[el2_lib.scala 246:30] + node _T_31 = bits(_T_20, 1, 1) @[el2_lib.scala 248:36] + _T_23[1] <= _T_31 @[el2_lib.scala 248:30] + node _T_32 = bits(_T_20, 1, 1) @[el2_lib.scala 251:36] + _T_26[1] <= _T_32 @[el2_lib.scala 251:30] + node _T_33 = bits(_T_20, 2, 2) @[el2_lib.scala 248:36] + _T_23[2] <= _T_33 @[el2_lib.scala 248:30] + node _T_34 = bits(_T_20, 2, 2) @[el2_lib.scala 251:36] + _T_26[2] <= _T_34 @[el2_lib.scala 251:30] + node _T_35 = bits(_T_20, 3, 3) @[el2_lib.scala 246:36] + _T_21[1] <= _T_35 @[el2_lib.scala 246:30] + node _T_36 = bits(_T_20, 3, 3) @[el2_lib.scala 247:36] + _T_22[1] <= _T_36 @[el2_lib.scala 247:30] + node _T_37 = bits(_T_20, 3, 3) @[el2_lib.scala 251:36] + _T_26[3] <= _T_37 @[el2_lib.scala 251:30] + node _T_38 = bits(_T_20, 4, 4) @[el2_lib.scala 247:36] + _T_22[2] <= _T_38 @[el2_lib.scala 247:30] + node _T_39 = bits(_T_20, 4, 4) @[el2_lib.scala 251:36] + _T_26[4] <= _T_39 @[el2_lib.scala 251:30] + node _T_40 = bits(_T_20, 5, 5) @[el2_lib.scala 246:36] + _T_21[2] <= _T_40 @[el2_lib.scala 246:30] + node _T_41 = bits(_T_20, 5, 5) @[el2_lib.scala 251:36] + _T_26[5] <= _T_41 @[el2_lib.scala 251:30] + node _T_42 = bits(_T_20, 6, 6) @[el2_lib.scala 246:36] + _T_21[3] <= _T_42 @[el2_lib.scala 246:30] + node _T_43 = bits(_T_20, 6, 6) @[el2_lib.scala 247:36] + _T_22[3] <= _T_43 @[el2_lib.scala 247:30] + node _T_44 = bits(_T_20, 6, 6) @[el2_lib.scala 248:36] + _T_23[3] <= _T_44 @[el2_lib.scala 248:30] + node _T_45 = bits(_T_20, 6, 6) @[el2_lib.scala 249:36] + _T_24[0] <= _T_45 @[el2_lib.scala 249:30] + node _T_46 = bits(_T_20, 6, 6) @[el2_lib.scala 250:36] + _T_25[0] <= _T_46 @[el2_lib.scala 250:30] + node _T_47 = bits(_T_20, 7, 7) @[el2_lib.scala 247:36] + _T_22[4] <= _T_47 @[el2_lib.scala 247:30] + node _T_48 = bits(_T_20, 7, 7) @[el2_lib.scala 248:36] + _T_23[4] <= _T_48 @[el2_lib.scala 248:30] + node _T_49 = bits(_T_20, 7, 7) @[el2_lib.scala 249:36] + _T_24[1] <= _T_49 @[el2_lib.scala 249:30] + node _T_50 = bits(_T_20, 7, 7) @[el2_lib.scala 250:36] + _T_25[1] <= _T_50 @[el2_lib.scala 250:30] + node _T_51 = bits(_T_20, 8, 8) @[el2_lib.scala 246:36] + _T_21[4] <= _T_51 @[el2_lib.scala 246:30] + node _T_52 = bits(_T_20, 8, 8) @[el2_lib.scala 248:36] + _T_23[5] <= _T_52 @[el2_lib.scala 248:30] + node _T_53 = bits(_T_20, 8, 8) @[el2_lib.scala 249:36] + _T_24[2] <= _T_53 @[el2_lib.scala 249:30] + node _T_54 = bits(_T_20, 8, 8) @[el2_lib.scala 250:36] + _T_25[2] <= _T_54 @[el2_lib.scala 250:30] + node _T_55 = bits(_T_20, 9, 9) @[el2_lib.scala 248:36] + _T_23[6] <= _T_55 @[el2_lib.scala 248:30] + node _T_56 = bits(_T_20, 9, 9) @[el2_lib.scala 249:36] + _T_24[3] <= _T_56 @[el2_lib.scala 249:30] + node _T_57 = bits(_T_20, 9, 9) @[el2_lib.scala 250:36] + _T_25[3] <= _T_57 @[el2_lib.scala 250:30] + node _T_58 = bits(_T_20, 10, 10) @[el2_lib.scala 246:36] + _T_21[5] <= _T_58 @[el2_lib.scala 246:30] + node _T_59 = bits(_T_20, 10, 10) @[el2_lib.scala 247:36] + _T_22[5] <= _T_59 @[el2_lib.scala 247:30] + node _T_60 = bits(_T_20, 10, 10) @[el2_lib.scala 249:36] + _T_24[4] <= _T_60 @[el2_lib.scala 249:30] + node _T_61 = bits(_T_20, 10, 10) @[el2_lib.scala 250:36] + _T_25[4] <= _T_61 @[el2_lib.scala 250:30] + node _T_62 = bits(_T_20, 11, 11) @[el2_lib.scala 247:36] + _T_22[6] <= _T_62 @[el2_lib.scala 247:30] + node _T_63 = bits(_T_20, 11, 11) @[el2_lib.scala 249:36] + _T_24[5] <= _T_63 @[el2_lib.scala 249:30] + node _T_64 = bits(_T_20, 11, 11) @[el2_lib.scala 250:36] + _T_25[5] <= _T_64 @[el2_lib.scala 250:30] + node _T_65 = bits(_T_20, 12, 12) @[el2_lib.scala 246:36] + _T_21[6] <= _T_65 @[el2_lib.scala 246:30] + node _T_66 = bits(_T_20, 12, 12) @[el2_lib.scala 249:36] + _T_24[6] <= _T_66 @[el2_lib.scala 249:30] + node _T_67 = bits(_T_20, 12, 12) @[el2_lib.scala 250:36] + _T_25[6] <= _T_67 @[el2_lib.scala 250:30] + node _T_68 = bits(_T_20, 13, 13) @[el2_lib.scala 249:36] + _T_24[7] <= _T_68 @[el2_lib.scala 249:30] + node _T_69 = bits(_T_20, 13, 13) @[el2_lib.scala 250:36] + _T_25[7] <= _T_69 @[el2_lib.scala 250:30] + node _T_70 = bits(_T_20, 14, 14) @[el2_lib.scala 246:36] + _T_21[7] <= _T_70 @[el2_lib.scala 246:30] + node _T_71 = bits(_T_20, 14, 14) @[el2_lib.scala 247:36] + _T_22[7] <= _T_71 @[el2_lib.scala 247:30] + node _T_72 = bits(_T_20, 14, 14) @[el2_lib.scala 248:36] + _T_23[7] <= _T_72 @[el2_lib.scala 248:30] + node _T_73 = bits(_T_20, 14, 14) @[el2_lib.scala 250:36] + _T_25[8] <= _T_73 @[el2_lib.scala 250:30] + node _T_74 = bits(_T_20, 15, 15) @[el2_lib.scala 247:36] + _T_22[8] <= _T_74 @[el2_lib.scala 247:30] + node _T_75 = bits(_T_20, 15, 15) @[el2_lib.scala 248:36] + _T_23[8] <= _T_75 @[el2_lib.scala 248:30] + node _T_76 = bits(_T_20, 15, 15) @[el2_lib.scala 250:36] + _T_25[9] <= _T_76 @[el2_lib.scala 250:30] + node _T_77 = bits(_T_20, 16, 16) @[el2_lib.scala 246:36] + _T_21[8] <= _T_77 @[el2_lib.scala 246:30] + node _T_78 = bits(_T_20, 16, 16) @[el2_lib.scala 248:36] + _T_23[9] <= _T_78 @[el2_lib.scala 248:30] + node _T_79 = bits(_T_20, 16, 16) @[el2_lib.scala 250:36] + _T_25[10] <= _T_79 @[el2_lib.scala 250:30] + node _T_80 = bits(_T_20, 17, 17) @[el2_lib.scala 248:36] + _T_23[10] <= _T_80 @[el2_lib.scala 248:30] + node _T_81 = bits(_T_20, 17, 17) @[el2_lib.scala 250:36] + _T_25[11] <= _T_81 @[el2_lib.scala 250:30] + node _T_82 = bits(_T_20, 18, 18) @[el2_lib.scala 246:36] + _T_21[9] <= _T_82 @[el2_lib.scala 246:30] + node _T_83 = bits(_T_20, 18, 18) @[el2_lib.scala 247:36] + _T_22[9] <= _T_83 @[el2_lib.scala 247:30] + node _T_84 = bits(_T_20, 18, 18) @[el2_lib.scala 250:36] + _T_25[12] <= _T_84 @[el2_lib.scala 250:30] + node _T_85 = bits(_T_20, 19, 19) @[el2_lib.scala 247:36] + _T_22[10] <= _T_85 @[el2_lib.scala 247:30] + node _T_86 = bits(_T_20, 19, 19) @[el2_lib.scala 250:36] + _T_25[13] <= _T_86 @[el2_lib.scala 250:30] + node _T_87 = bits(_T_20, 20, 20) @[el2_lib.scala 246:36] + _T_21[10] <= _T_87 @[el2_lib.scala 246:30] + node _T_88 = bits(_T_20, 20, 20) @[el2_lib.scala 250:36] + _T_25[14] <= _T_88 @[el2_lib.scala 250:30] + node _T_89 = bits(_T_20, 21, 21) @[el2_lib.scala 246:36] + _T_21[11] <= _T_89 @[el2_lib.scala 246:30] + node _T_90 = bits(_T_20, 21, 21) @[el2_lib.scala 247:36] + _T_22[11] <= _T_90 @[el2_lib.scala 247:30] + node _T_91 = bits(_T_20, 21, 21) @[el2_lib.scala 248:36] + _T_23[11] <= _T_91 @[el2_lib.scala 248:30] + node _T_92 = bits(_T_20, 21, 21) @[el2_lib.scala 249:36] + _T_24[8] <= _T_92 @[el2_lib.scala 249:30] + node _T_93 = bits(_T_20, 22, 22) @[el2_lib.scala 247:36] + _T_22[12] <= _T_93 @[el2_lib.scala 247:30] + node _T_94 = bits(_T_20, 22, 22) @[el2_lib.scala 248:36] + _T_23[12] <= _T_94 @[el2_lib.scala 248:30] + node _T_95 = bits(_T_20, 22, 22) @[el2_lib.scala 249:36] + _T_24[9] <= _T_95 @[el2_lib.scala 249:30] + node _T_96 = bits(_T_20, 23, 23) @[el2_lib.scala 246:36] + _T_21[12] <= _T_96 @[el2_lib.scala 246:30] + node _T_97 = bits(_T_20, 23, 23) @[el2_lib.scala 248:36] + _T_23[13] <= _T_97 @[el2_lib.scala 248:30] + node _T_98 = bits(_T_20, 23, 23) @[el2_lib.scala 249:36] + _T_24[10] <= _T_98 @[el2_lib.scala 249:30] + node _T_99 = bits(_T_20, 24, 24) @[el2_lib.scala 248:36] + _T_23[14] <= _T_99 @[el2_lib.scala 248:30] + node _T_100 = bits(_T_20, 24, 24) @[el2_lib.scala 249:36] + _T_24[11] <= _T_100 @[el2_lib.scala 249:30] + node _T_101 = bits(_T_20, 25, 25) @[el2_lib.scala 246:36] + _T_21[13] <= _T_101 @[el2_lib.scala 246:30] + node _T_102 = bits(_T_20, 25, 25) @[el2_lib.scala 247:36] + _T_22[13] <= _T_102 @[el2_lib.scala 247:30] + node _T_103 = bits(_T_20, 25, 25) @[el2_lib.scala 249:36] + _T_24[12] <= _T_103 @[el2_lib.scala 249:30] + node _T_104 = bits(_T_20, 26, 26) @[el2_lib.scala 247:36] + _T_22[14] <= _T_104 @[el2_lib.scala 247:30] + node _T_105 = bits(_T_20, 26, 26) @[el2_lib.scala 249:36] + _T_24[13] <= _T_105 @[el2_lib.scala 249:30] + node _T_106 = bits(_T_20, 27, 27) @[el2_lib.scala 246:36] + _T_21[14] <= _T_106 @[el2_lib.scala 246:30] + node _T_107 = bits(_T_20, 27, 27) @[el2_lib.scala 249:36] + _T_24[14] <= _T_107 @[el2_lib.scala 249:30] + node _T_108 = bits(_T_20, 28, 28) @[el2_lib.scala 246:36] + _T_21[15] <= _T_108 @[el2_lib.scala 246:30] + node _T_109 = bits(_T_20, 28, 28) @[el2_lib.scala 247:36] + _T_22[15] <= _T_109 @[el2_lib.scala 247:30] + node _T_110 = bits(_T_20, 28, 28) @[el2_lib.scala 248:36] + _T_23[15] <= _T_110 @[el2_lib.scala 248:30] + node _T_111 = bits(_T_20, 29, 29) @[el2_lib.scala 247:36] + _T_22[16] <= _T_111 @[el2_lib.scala 247:30] + node _T_112 = bits(_T_20, 29, 29) @[el2_lib.scala 248:36] + _T_23[16] <= _T_112 @[el2_lib.scala 248:30] + node _T_113 = bits(_T_20, 30, 30) @[el2_lib.scala 246:36] + _T_21[16] <= _T_113 @[el2_lib.scala 246:30] + node _T_114 = bits(_T_20, 30, 30) @[el2_lib.scala 248:36] + _T_23[17] <= _T_114 @[el2_lib.scala 248:30] + node _T_115 = bits(_T_20, 31, 31) @[el2_lib.scala 246:36] + _T_21[17] <= _T_115 @[el2_lib.scala 246:30] + node _T_116 = bits(_T_20, 31, 31) @[el2_lib.scala 247:36] + _T_22[17] <= _T_116 @[el2_lib.scala 247:30] + node _T_117 = cat(_T_21[1], _T_21[0]) @[el2_lib.scala 253:22] + node _T_118 = cat(_T_21[3], _T_21[2]) @[el2_lib.scala 253:22] + node _T_119 = cat(_T_118, _T_117) @[el2_lib.scala 253:22] + node _T_120 = cat(_T_21[5], _T_21[4]) @[el2_lib.scala 253:22] + node _T_121 = cat(_T_21[8], _T_21[7]) @[el2_lib.scala 253:22] + node _T_122 = cat(_T_121, _T_21[6]) @[el2_lib.scala 253:22] + node _T_123 = cat(_T_122, _T_120) @[el2_lib.scala 253:22] + node _T_124 = cat(_T_123, _T_119) @[el2_lib.scala 253:22] + node _T_125 = cat(_T_21[10], _T_21[9]) @[el2_lib.scala 253:22] + node _T_126 = cat(_T_21[12], _T_21[11]) @[el2_lib.scala 253:22] + node _T_127 = cat(_T_126, _T_125) @[el2_lib.scala 253:22] + node _T_128 = cat(_T_21[14], _T_21[13]) @[el2_lib.scala 253:22] + node _T_129 = cat(_T_21[17], _T_21[16]) @[el2_lib.scala 253:22] + node _T_130 = cat(_T_129, _T_21[15]) @[el2_lib.scala 253:22] + node _T_131 = cat(_T_130, _T_128) @[el2_lib.scala 253:22] + node _T_132 = cat(_T_131, _T_127) @[el2_lib.scala 253:22] + node _T_133 = cat(_T_132, _T_124) @[el2_lib.scala 253:22] + node _T_134 = xorr(_T_133) @[el2_lib.scala 253:29] + node _T_135 = cat(_T_22[1], _T_22[0]) @[el2_lib.scala 253:39] + node _T_136 = cat(_T_22[3], _T_22[2]) @[el2_lib.scala 253:39] + node _T_137 = cat(_T_136, _T_135) @[el2_lib.scala 253:39] + node _T_138 = cat(_T_22[5], _T_22[4]) @[el2_lib.scala 253:39] + node _T_139 = cat(_T_22[8], _T_22[7]) @[el2_lib.scala 253:39] + node _T_140 = cat(_T_139, _T_22[6]) @[el2_lib.scala 253:39] + node _T_141 = cat(_T_140, _T_138) @[el2_lib.scala 253:39] + node _T_142 = cat(_T_141, _T_137) @[el2_lib.scala 253:39] + node _T_143 = cat(_T_22[10], _T_22[9]) @[el2_lib.scala 253:39] + node _T_144 = cat(_T_22[12], _T_22[11]) @[el2_lib.scala 253:39] + node _T_145 = cat(_T_144, _T_143) @[el2_lib.scala 253:39] + node _T_146 = cat(_T_22[14], _T_22[13]) @[el2_lib.scala 253:39] + node _T_147 = cat(_T_22[17], _T_22[16]) @[el2_lib.scala 253:39] + node _T_148 = cat(_T_147, _T_22[15]) @[el2_lib.scala 253:39] + node _T_149 = cat(_T_148, _T_146) @[el2_lib.scala 253:39] + node _T_150 = cat(_T_149, _T_145) @[el2_lib.scala 253:39] + node _T_151 = cat(_T_150, _T_142) @[el2_lib.scala 253:39] + node _T_152 = xorr(_T_151) @[el2_lib.scala 253:46] + node _T_153 = cat(_T_23[1], _T_23[0]) @[el2_lib.scala 253:56] + node _T_154 = cat(_T_23[3], _T_23[2]) @[el2_lib.scala 253:56] + node _T_155 = cat(_T_154, _T_153) @[el2_lib.scala 253:56] + node _T_156 = cat(_T_23[5], _T_23[4]) @[el2_lib.scala 253:56] + node _T_157 = cat(_T_23[8], _T_23[7]) @[el2_lib.scala 253:56] + node _T_158 = cat(_T_157, _T_23[6]) @[el2_lib.scala 253:56] + node _T_159 = cat(_T_158, _T_156) @[el2_lib.scala 253:56] + node _T_160 = cat(_T_159, _T_155) @[el2_lib.scala 253:56] + node _T_161 = cat(_T_23[10], _T_23[9]) @[el2_lib.scala 253:56] + node _T_162 = cat(_T_23[12], _T_23[11]) @[el2_lib.scala 253:56] + node _T_163 = cat(_T_162, _T_161) @[el2_lib.scala 253:56] + node _T_164 = cat(_T_23[14], _T_23[13]) @[el2_lib.scala 253:56] + node _T_165 = cat(_T_23[17], _T_23[16]) @[el2_lib.scala 253:56] + node _T_166 = cat(_T_165, _T_23[15]) @[el2_lib.scala 253:56] + node _T_167 = cat(_T_166, _T_164) @[el2_lib.scala 253:56] + node _T_168 = cat(_T_167, _T_163) @[el2_lib.scala 253:56] + node _T_169 = cat(_T_168, _T_160) @[el2_lib.scala 253:56] + node _T_170 = xorr(_T_169) @[el2_lib.scala 253:63] + node _T_171 = cat(_T_24[2], _T_24[1]) @[el2_lib.scala 253:73] + node _T_172 = cat(_T_171, _T_24[0]) @[el2_lib.scala 253:73] + node _T_173 = cat(_T_24[4], _T_24[3]) @[el2_lib.scala 253:73] + node _T_174 = cat(_T_24[6], _T_24[5]) @[el2_lib.scala 253:73] + node _T_175 = cat(_T_174, _T_173) @[el2_lib.scala 253:73] + node _T_176 = cat(_T_175, _T_172) @[el2_lib.scala 253:73] + node _T_177 = cat(_T_24[8], _T_24[7]) @[el2_lib.scala 253:73] + node _T_178 = cat(_T_24[10], _T_24[9]) @[el2_lib.scala 253:73] + node _T_179 = cat(_T_178, _T_177) @[el2_lib.scala 253:73] + node _T_180 = cat(_T_24[12], _T_24[11]) @[el2_lib.scala 253:73] + node _T_181 = cat(_T_24[14], _T_24[13]) @[el2_lib.scala 253:73] + node _T_182 = cat(_T_181, _T_180) @[el2_lib.scala 253:73] + node _T_183 = cat(_T_182, _T_179) @[el2_lib.scala 253:73] + node _T_184 = cat(_T_183, _T_176) @[el2_lib.scala 253:73] + node _T_185 = xorr(_T_184) @[el2_lib.scala 253:80] + node _T_186 = cat(_T_25[2], _T_25[1]) @[el2_lib.scala 253:90] + node _T_187 = cat(_T_186, _T_25[0]) @[el2_lib.scala 253:90] + node _T_188 = cat(_T_25[4], _T_25[3]) @[el2_lib.scala 253:90] + node _T_189 = cat(_T_25[6], _T_25[5]) @[el2_lib.scala 253:90] + node _T_190 = cat(_T_189, _T_188) @[el2_lib.scala 253:90] + node _T_191 = cat(_T_190, _T_187) @[el2_lib.scala 253:90] + node _T_192 = cat(_T_25[8], _T_25[7]) @[el2_lib.scala 253:90] + node _T_193 = cat(_T_25[10], _T_25[9]) @[el2_lib.scala 253:90] + node _T_194 = cat(_T_193, _T_192) @[el2_lib.scala 253:90] + node _T_195 = cat(_T_25[12], _T_25[11]) @[el2_lib.scala 253:90] + node _T_196 = cat(_T_25[14], _T_25[13]) @[el2_lib.scala 253:90] + node _T_197 = cat(_T_196, _T_195) @[el2_lib.scala 253:90] + node _T_198 = cat(_T_197, _T_194) @[el2_lib.scala 253:90] + node _T_199 = cat(_T_198, _T_191) @[el2_lib.scala 253:90] + node _T_200 = xorr(_T_199) @[el2_lib.scala 253:97] + node _T_201 = cat(_T_26[2], _T_26[1]) @[el2_lib.scala 253:107] + node _T_202 = cat(_T_201, _T_26[0]) @[el2_lib.scala 253:107] + node _T_203 = cat(_T_26[5], _T_26[4]) @[el2_lib.scala 253:107] + node _T_204 = cat(_T_203, _T_26[3]) @[el2_lib.scala 253:107] + node _T_205 = cat(_T_204, _T_202) @[el2_lib.scala 253:107] + node _T_206 = xorr(_T_205) @[el2_lib.scala 253:114] + node _T_207 = cat(_T_185, _T_200) @[Cat.scala 29:58] + node _T_208 = cat(_T_207, _T_206) @[Cat.scala 29:58] + node _T_209 = cat(_T_134, _T_152) @[Cat.scala 29:58] + node _T_210 = cat(_T_209, _T_170) @[Cat.scala 29:58] + node _T_211 = cat(_T_210, _T_208) @[Cat.scala 29:58] + node _T_212 = xorr(_T_20) @[el2_lib.scala 254:13] + node _T_213 = xorr(_T_211) @[el2_lib.scala 254:23] + node _T_214 = xor(_T_212, _T_213) @[el2_lib.scala 254:18] + node ic_tag_ecc = cat(_T_214, _T_211) @[Cat.scala 29:58] + node _T_215 = and(io.ic_debug_wr_en, io.ic_debug_tag_array) @[el2_ifu_ic_mem.scala 85:47] + node _T_216 = bits(_T_215, 0, 0) @[el2_ifu_ic_mem.scala 85:72] + node _T_217 = bits(io.ic_debug_wr_data, 68, 64) @[el2_ifu_ic_mem.scala 85:103] + node _T_218 = bits(io.ic_debug_wr_data, 31, 11) @[el2_ifu_ic_mem.scala 85:131] + node _T_219 = cat(_T_217, _T_218) @[Cat.scala 29:58] + node _T_220 = bits(ic_tag_ecc, 4, 0) @[el2_ifu_ic_mem.scala 86:19] + node _T_221 = bits(io.ic_rw_addr, 28, 10) @[el2_ifu_ic_mem.scala 86:38] + node _T_222 = cat(_T_220, _T_221) @[Cat.scala 29:58] + node ic_tag_wr_data = mux(_T_216, _T_219, _T_222) @[el2_ifu_ic_mem.scala 85:27] + io.test <= io.ic_rw_addr @[el2_ifu_ic_mem.scala 87:11] diff --git a/EL2_IC_TAG.v b/EL2_IC_TAG.v index 1a723dbe..8ce2d3c3 100644 --- a/EL2_IC_TAG.v +++ b/EL2_IC_TAG.v @@ -1,136 +1,13 @@ -module rvecc_decode( - input [31:0] io_din, - input [6:0] io_ecc_in, - output [6:0] io_ecc_out, - output [31:0] io_dout, - output io_single_ecc_error -); - wire w0_0 = io_din[0]; // @[beh_lib.scala 239:37] - wire w0_1 = io_din[1]; // @[beh_lib.scala 239:37] - wire w1_1 = io_din[2]; // @[beh_lib.scala 240:37] - wire w0_2 = io_din[3]; // @[beh_lib.scala 239:37] - wire w0_3 = io_din[4]; // @[beh_lib.scala 239:37] - wire w1_3 = io_din[5]; // @[beh_lib.scala 240:37] - wire w0_4 = io_din[6]; // @[beh_lib.scala 239:37] - wire w2_3 = io_din[7]; // @[beh_lib.scala 241:37] - wire w0_5 = io_din[8]; // @[beh_lib.scala 239:37] - wire w1_5 = io_din[9]; // @[beh_lib.scala 240:37] - wire w0_6 = io_din[10]; // @[beh_lib.scala 239:37] - wire w0_7 = io_din[11]; // @[beh_lib.scala 239:37] - wire w1_7 = io_din[12]; // @[beh_lib.scala 240:37] - wire w0_8 = io_din[13]; // @[beh_lib.scala 239:37] - wire w2_7 = io_din[14]; // @[beh_lib.scala 241:37] - wire w0_9 = io_din[15]; // @[beh_lib.scala 239:37] - wire w1_9 = io_din[16]; // @[beh_lib.scala 240:37] - wire w0_10 = io_din[17]; // @[beh_lib.scala 239:37] - wire w3_7 = io_din[18]; // @[beh_lib.scala 242:37] - wire w0_11 = io_din[19]; // @[beh_lib.scala 239:37] - wire w1_11 = io_din[20]; // @[beh_lib.scala 240:37] - wire w0_12 = io_din[21]; // @[beh_lib.scala 239:37] - wire w2_11 = io_din[22]; // @[beh_lib.scala 241:37] - wire w0_13 = io_din[23]; // @[beh_lib.scala 239:37] - wire w1_13 = io_din[24]; // @[beh_lib.scala 240:37] - wire w0_14 = io_din[25]; // @[beh_lib.scala 239:37] - wire w0_15 = io_din[26]; // @[beh_lib.scala 239:37] - wire w1_15 = io_din[27]; // @[beh_lib.scala 240:37] - wire w0_16 = io_din[28]; // @[beh_lib.scala 239:37] - wire w2_15 = io_din[29]; // @[beh_lib.scala 241:37] - wire w0_17 = io_din[30]; // @[beh_lib.scala 239:37] - wire w1_17 = io_din[31]; // @[beh_lib.scala 240:37] - wire [5:0] _T_100 = {w1_17,w0_17,w2_15,w0_16,w1_15,w0_15}; // @[beh_lib.scala 247:86] - wire _T_101 = ^_T_100; // @[beh_lib.scala 247:93] - wire _T_102 = io_ecc_in[5] ^ _T_101; // @[beh_lib.scala 247:81] - wire [6:0] _T_109 = {w0_10,w1_9,w0_9,w2_7,w0_8,w1_7,w0_7}; // @[beh_lib.scala 247:116] - wire [14:0] _T_117 = {w0_14,w1_13,w0_13,w2_11,w0_12,w1_11,w0_11,w3_7,_T_109}; // @[beh_lib.scala 247:116] - wire _T_118 = ^_T_117; // @[beh_lib.scala 247:123] - wire _T_119 = io_ecc_in[4] ^ _T_118; // @[beh_lib.scala 247:111] - wire [6:0] _T_126 = {w0_6,w1_5,w0_5,w2_3,w0_4,w1_3,w0_3}; // @[beh_lib.scala 247:146] - wire [14:0] _T_134 = {w0_14,w1_13,w0_13,w2_11,w0_12,w1_11,w0_11,w3_7,_T_126}; // @[beh_lib.scala 247:146] - wire _T_135 = ^_T_134; // @[beh_lib.scala 247:153] - wire _T_136 = io_ecc_in[3] ^ _T_135; // @[beh_lib.scala 247:141] - wire [8:0] _T_145 = {w0_9,w2_7,w0_6,w1_5,w0_5,w2_3,w0_2,w1_1,w0_1}; // @[beh_lib.scala 247:176] - wire [17:0] _T_154 = {w1_17,w0_17,w2_15,w0_14,w1_13,w0_13,w2_11,w0_10,w1_9,_T_145}; // @[beh_lib.scala 247:176] - wire _T_155 = ^_T_154; // @[beh_lib.scala 247:183] - wire _T_156 = io_ecc_in[2] ^ _T_155; // @[beh_lib.scala 247:171] - wire [8:0] _T_165 = {w0_8,w1_7,w0_6,w1_5,w0_4,w1_3,w0_2,w1_1,w0_0}; // @[beh_lib.scala 247:206] - wire [17:0] _T_174 = {w1_17,w0_16,w1_15,w0_14,w1_13,w0_12,w1_11,w0_10,w1_9,_T_165}; // @[beh_lib.scala 247:206] - wire _T_175 = ^_T_174; // @[beh_lib.scala 247:213] - wire _T_176 = io_ecc_in[1] ^ _T_175; // @[beh_lib.scala 247:201] - wire [8:0] _T_185 = {w0_8,w0_7,w0_6,w0_5,w0_4,w0_3,w0_2,w0_1,w0_0}; // @[beh_lib.scala 247:236] - wire [17:0] _T_194 = {w0_17,w0_16,w0_15,w0_14,w0_13,w0_12,w0_11,w0_10,w0_9,_T_185}; // @[beh_lib.scala 247:236] - wire _T_195 = ^_T_194; // @[beh_lib.scala 247:243] - wire _T_196 = io_ecc_in[0] ^ _T_195; // @[beh_lib.scala 247:231] - wire [6:0] ecc_check = {1'h0,_T_102,_T_119,_T_136,_T_156,_T_176,_T_196}; // @[Cat.scala 29:58] - wire error_mask_0 = ecc_check[5:0] == 6'h1; // @[beh_lib.scala 255:39] - wire error_mask_1 = ecc_check[5:0] == 6'h2; // @[beh_lib.scala 255:39] - wire error_mask_2 = ecc_check[5:0] == 6'h3; // @[beh_lib.scala 255:39] - wire error_mask_3 = ecc_check[5:0] == 6'h4; // @[beh_lib.scala 255:39] - wire error_mask_4 = ecc_check[5:0] == 6'h5; // @[beh_lib.scala 255:39] - wire error_mask_5 = ecc_check[5:0] == 6'h6; // @[beh_lib.scala 255:39] - wire error_mask_6 = ecc_check[5:0] == 6'h7; // @[beh_lib.scala 255:39] - wire error_mask_7 = ecc_check[5:0] == 6'h8; // @[beh_lib.scala 255:39] - wire error_mask_8 = ecc_check[5:0] == 6'h9; // @[beh_lib.scala 255:39] - wire error_mask_9 = ecc_check[5:0] == 6'ha; // @[beh_lib.scala 255:39] - wire error_mask_10 = ecc_check[5:0] == 6'hb; // @[beh_lib.scala 255:39] - wire error_mask_11 = ecc_check[5:0] == 6'hc; // @[beh_lib.scala 255:39] - wire error_mask_12 = ecc_check[5:0] == 6'hd; // @[beh_lib.scala 255:39] - wire error_mask_13 = ecc_check[5:0] == 6'he; // @[beh_lib.scala 255:39] - wire error_mask_14 = ecc_check[5:0] == 6'hf; // @[beh_lib.scala 255:39] - wire error_mask_15 = ecc_check[5:0] == 6'h10; // @[beh_lib.scala 255:39] - wire error_mask_16 = ecc_check[5:0] == 6'h11; // @[beh_lib.scala 255:39] - wire error_mask_17 = ecc_check[5:0] == 6'h12; // @[beh_lib.scala 255:39] - wire error_mask_18 = ecc_check[5:0] == 6'h13; // @[beh_lib.scala 255:39] - wire error_mask_19 = ecc_check[5:0] == 6'h14; // @[beh_lib.scala 255:39] - wire error_mask_20 = ecc_check[5:0] == 6'h15; // @[beh_lib.scala 255:39] - wire error_mask_21 = ecc_check[5:0] == 6'h16; // @[beh_lib.scala 255:39] - wire error_mask_22 = ecc_check[5:0] == 6'h17; // @[beh_lib.scala 255:39] - wire error_mask_23 = ecc_check[5:0] == 6'h18; // @[beh_lib.scala 255:39] - wire error_mask_24 = ecc_check[5:0] == 6'h19; // @[beh_lib.scala 255:39] - wire error_mask_25 = ecc_check[5:0] == 6'h1a; // @[beh_lib.scala 255:39] - wire error_mask_26 = ecc_check[5:0] == 6'h1b; // @[beh_lib.scala 255:39] - wire error_mask_27 = ecc_check[5:0] == 6'h1c; // @[beh_lib.scala 255:39] - wire error_mask_28 = ecc_check[5:0] == 6'h1d; // @[beh_lib.scala 255:39] - wire error_mask_29 = ecc_check[5:0] == 6'h1e; // @[beh_lib.scala 255:39] - wire error_mask_30 = ecc_check[5:0] == 6'h1f; // @[beh_lib.scala 255:39] - wire error_mask_31 = ecc_check[5:0] == 6'h20; // @[beh_lib.scala 255:39] - wire error_mask_32 = ecc_check[5:0] == 6'h21; // @[beh_lib.scala 255:39] - wire error_mask_33 = ecc_check[5:0] == 6'h22; // @[beh_lib.scala 255:39] - wire error_mask_34 = ecc_check[5:0] == 6'h23; // @[beh_lib.scala 255:39] - wire error_mask_35 = ecc_check[5:0] == 6'h24; // @[beh_lib.scala 255:39] - wire error_mask_36 = ecc_check[5:0] == 6'h25; // @[beh_lib.scala 255:39] - wire error_mask_37 = ecc_check[5:0] == 6'h26; // @[beh_lib.scala 255:39] - wire error_mask_38 = ecc_check[5:0] == 6'h27; // @[beh_lib.scala 255:39] - wire [7:0] _T_310 = {io_ecc_in[3],io_din[3:1],io_ecc_in[2],w0_0,io_ecc_in[1:0]}; // @[Cat.scala 29:58] - wire [38:0] din_plus_parity = {io_ecc_in[6],io_din[31:26],io_ecc_in[5],io_din[25:11],io_ecc_in[4],io_din[10:4],_T_310}; // @[Cat.scala 29:58] - wire [9:0] _T_333 = {error_mask_18,error_mask_17,error_mask_16,error_mask_15,error_mask_14,error_mask_13,error_mask_12,error_mask_11,error_mask_10,error_mask_9}; // @[beh_lib.scala 258:70] - wire [18:0] _T_334 = {_T_333,error_mask_8,error_mask_7,error_mask_6,error_mask_5,error_mask_4,error_mask_3,error_mask_2,error_mask_1,error_mask_0}; // @[beh_lib.scala 258:70] - wire [9:0] _T_343 = {error_mask_28,error_mask_27,error_mask_26,error_mask_25,error_mask_24,error_mask_23,error_mask_22,error_mask_21,error_mask_20,error_mask_19}; // @[beh_lib.scala 258:70] - wire [9:0] _T_352 = {error_mask_38,error_mask_37,error_mask_36,error_mask_35,error_mask_34,error_mask_33,error_mask_32,error_mask_31,error_mask_30,error_mask_29}; // @[beh_lib.scala 258:70] - wire [38:0] _T_354 = {_T_352,_T_343,_T_334}; // @[beh_lib.scala 258:70] - wire [38:0] _T_355 = _T_354 ^ din_plus_parity; // @[beh_lib.scala 258:77] - wire [38:0] dout_plus_parity = io_single_ecc_error ? _T_355 : din_plus_parity; // @[beh_lib.scala 258:29] - wire [3:0] _T_361 = {dout_plus_parity[6:4],dout_plus_parity[2]}; // @[Cat.scala 29:58] - wire [27:0] _T_363 = {dout_plus_parity[37:32],dout_plus_parity[30:16],dout_plus_parity[14:8]}; // @[Cat.scala 29:58] - wire _T_367 = ecc_check == 7'h40; // @[beh_lib.scala 261:60] - wire _T_368 = dout_plus_parity[38] ^ _T_367; // @[beh_lib.scala 261:42] - wire [3:0] _T_375 = {dout_plus_parity[7],dout_plus_parity[3],dout_plus_parity[1:0]}; // @[Cat.scala 29:58] - wire [2:0] _T_377 = {_T_368,dout_plus_parity[31],dout_plus_parity[15]}; // @[Cat.scala 29:58] - assign io_ecc_out = {_T_377,_T_375}; // @[beh_lib.scala 248:14 beh_lib.scala 261:14] - assign io_dout = {_T_363,_T_361}; // @[beh_lib.scala 260:11] - assign io_single_ecc_error = 1'h0; // @[beh_lib.scala 250:23] -endmodule module EL2_IC_TAG( input clock, input reset, - input io_clk, - input io_rst_l, input io_clk_override, input io_dec_tlu_core_ecc_disable, - input [31:0] io_ic_rw_addr, + input [28:0] io_ic_rw_addr, input [1:0] io_ic_wr_en, input [1:0] io_ic_tag_valid, input io_ic_rd_en, - input [12:0] io_ic_debug_addr, + input [9:0] io_ic_debug_addr, input io_ic_debug_rd_en, input io_ic_debug_wr_en, input io_ic_debug_tag_array, @@ -140,245 +17,10 @@ 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, - 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, - output [6:0] io_test_ecc_out_1, - output io_test_ecc_sb_out_0, - output io_test_ecc_sb_out_1, - output io_test_ecc_db_out_0, - output io_test_ecc_db_out_1 + output [28:0] io_test ); -`ifdef RANDOMIZE_MEM_INIT - reg [31:0] _RAND_0; - reg [31:0] _RAND_2; -`endif // RANDOMIZE_MEM_INIT -`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_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_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] - wire [6:0] rvecc_decode_io_ecc_out; // @[el2_ifu_ic_mem.scala 149:27] - wire [31:0] rvecc_decode_io_dout; // @[el2_ifu_ic_mem.scala 149:27] - wire rvecc_decode_io_single_ecc_error; // @[el2_ifu_ic_mem.scala 149:27] - wire [31:0] rvecc_decode_1_io_din; // @[el2_ifu_ic_mem.scala 149:27] - wire [6:0] rvecc_decode_1_io_ecc_in; // @[el2_ifu_ic_mem.scala 149:27] - wire [6:0] rvecc_decode_1_io_ecc_out; // @[el2_ifu_ic_mem.scala 149:27] - wire [31:0] rvecc_decode_1_io_dout; // @[el2_ifu_ic_mem.scala 149:27] - wire rvecc_decode_1_io_single_ecc_error; // @[el2_ifu_ic_mem.scala 149:27] - wire _T_2 = io_ic_rw_addr[5:4] == 2'h1; // @[el2_ifu_ic_mem.scala 73:93] - wire [1:0] _T_4 = {_T_2,_T_2}; // @[Cat.scala 29:58] - wire [1:0] ic_tag_wren = io_ic_wr_en & _T_4; // @[el2_ifu_ic_mem.scala 73:33] - wire _T_5 = io_ic_debug_rd_en & io_ic_debug_tag_array; // @[el2_ifu_ic_mem.scala 75:68] - wire [1:0] _T_7 = {_T_5,_T_5}; // @[Cat.scala 29:58] - wire [1:0] ic_debug_rd_way_en = _T_7 & io_ic_debug_way; // @[el2_ifu_ic_mem.scala 75:93] - wire _T_8 = io_ic_debug_wr_en & io_ic_debug_tag_array; // @[el2_ifu_ic_mem.scala 76:68] - wire [1:0] _T_10 = {_T_8,_T_8}; // @[Cat.scala 29:58] - wire [1:0] ic_debug_wr_way_en = _T_10 & io_ic_debug_way; // @[el2_ifu_ic_mem.scala 76:93] - wire _T_11 = io_ic_rd_en | io_clk_override; // @[el2_ifu_ic_mem.scala 77:55] - wire [1:0] _T_13 = {_T_11,_T_11}; // @[Cat.scala 29:58] - 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_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), - .io_ecc_out(rvecc_decode_io_ecc_out), - .io_dout(rvecc_decode_io_dout), - .io_single_ecc_error(rvecc_decode_io_single_ecc_error) - ); - rvecc_decode rvecc_decode_1 ( // @[el2_ifu_ic_mem.scala 149:27] - .io_din(rvecc_decode_1_io_din), - .io_ecc_in(rvecc_decode_1_io_ecc_in), - .io_ecc_out(rvecc_decode_1_io_ecc_out), - .io_dout(rvecc_decode_1_io_dout), - .io_single_ecc_error(rvecc_decode_1_io_single_ecc_error) - ); - 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_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_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] - assign io_test_ecc_out_1 = rvecc_decode_1_io_ecc_out; // @[el2_ifu_ic_mem.scala 161:24] - assign io_test_ecc_sb_out_0 = 1'h0; // @[el2_ifu_ic_mem.scala 162:27] - assign io_test_ecc_sb_out_1 = 1'h0; // @[el2_ifu_ic_mem.scala 162:27] - assign io_test_ecc_db_out_0 = 1'h0; // @[el2_ifu_ic_mem.scala 163:27] - assign io_test_ecc_db_out_1 = 1'h0; // @[el2_ifu_ic_mem.scala 163:27] - assign rvecc_decode_io_din = {11'h0,ic_way_tag_0_ic_tag_data_raw_data[20:0]}; // @[el2_ifu_ic_mem.scala 152:26] - assign rvecc_decode_io_ecc_in = {2'h0,ic_way_tag_0_ic_tag_data_raw_data[25:21]}; // @[el2_ifu_ic_mem.scala 153:29] - assign rvecc_decode_1_io_din = {11'h0,ic_way_tag_1_ic_tag_data_raw_data[20:0]}; // @[el2_ifu_ic_mem.scala 152:26] - assign rvecc_decode_1_io_ecc_in = {2'h0,ic_way_tag_1_ic_tag_data_raw_data[25:21]}; // @[el2_ifu_ic_mem.scala 153:29] -`ifdef RANDOMIZE_GARBAGE_ASSIGN -`define RANDOMIZE -`endif -`ifdef RANDOMIZE_INVALID_ASSIGN -`define RANDOMIZE -`endif -`ifdef RANDOMIZE_REG_INIT -`define RANDOMIZE -`endif -`ifdef RANDOMIZE_MEM_INIT -`define RANDOMIZE -`endif -`ifndef RANDOM -`define RANDOM $random -`endif -`ifdef RANDOMIZE_MEM_INIT - integer initvar; -`endif -`ifndef SYNTHESIS -`ifdef FIRRTL_BEFORE_INITIAL -`FIRRTL_BEFORE_INITIAL -`endif -initial begin - `ifdef RANDOMIZE - `ifdef INIT_RANDOM - `INIT_RANDOM - `endif - `ifndef VERILATOR - `ifdef RANDOMIZE_DELAY - #`RANDOMIZE_DELAY begin end - `else - #0.002 begin end - `endif - `endif -`ifdef RANDOMIZE_MEM_INIT - _RAND_0 = {1{`RANDOM}}; - for (initvar = 0; initvar < 128; initvar = initvar+1) - ic_way_tag_0[initvar] = _RAND_0[25:0]; - _RAND_2 = {1{`RANDOM}}; - for (initvar = 0; initvar < 128; initvar = initvar+1) - ic_way_tag_1[initvar] = _RAND_2[25:0]; -`endif // RANDOMIZE_MEM_INIT -`ifdef RANDOMIZE_REG_INIT - _RAND_1 = {1{`RANDOM}}; - 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 -`ifdef FIRRTL_AFTER_INITIAL -`FIRRTL_AFTER_INITIAL -`endif -`endif // SYNTHESIS - always @(posedge clock) begin - 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_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_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_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 + assign io_ictag_debug_rd_data = 26'h0; // @[el2_ifu_ic_mem.scala 65:26] + assign io_ic_rd_hit = 2'h0; // @[el2_ifu_ic_mem.scala 66:16] + assign io_ic_tag_perr = 1'h0; // @[el2_ifu_ic_mem.scala 67:18] + assign io_test = io_ic_rw_addr; // @[el2_ifu_ic_mem.scala 87:11] endmodule diff --git a/el2_ifu_ifc_ctl.fir b/el2_ifu_ifc_ctl.fir index 9cc3dc93..bf373468 100644 --- a/el2_ifu_ifc_ctl.fir +++ b/el2_ifu_ifc_ctl.fir @@ -85,186 +85,187 @@ circuit el2_ifu_ifc_ctl : node _T_25 = bits(io.ifc_fetch_addr_f, 30, 1) @[el2_ifu_ifc_ctl.scala 77:42] node _T_26 = add(_T_25, UInt<1>("h01")) @[el2_ifu_ifc_ctl.scala 77:48] node address_upper = tail(_T_26, 1) @[el2_ifu_ifc_ctl.scala 77:48] - node _T_27 = bits(address_upper, 5, 5) @[el2_ifu_ifc_ctl.scala 78:38] - node _T_28 = bits(io.ifc_fetch_addr_f, 5, 5) @[el2_ifu_ifc_ctl.scala 78:83] - node _T_29 = xor(_T_27, _T_28) @[el2_ifu_ifc_ctl.scala 78:62] - node _T_30 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_ifc_ctl.scala 78:129] - node _T_31 = and(_T_29, _T_30) @[el2_ifu_ifc_ctl.scala 78:108] - fetch_addr_next_0 <= _T_31 @[el2_ifu_ifc_ctl.scala 78:21] - node _T_32 = cat(address_upper, fetch_addr_next_0) @[Cat.scala 29:58] - fetch_addr_next <= _T_32 @[el2_ifu_ifc_ctl.scala 80:19] - node _T_33 = not(idle) @[el2_ifu_ifc_ctl.scala 82:30] - io.ifc_fetch_req_bf_raw <= _T_33 @[el2_ifu_ifc_ctl.scala 82:27] - node _T_34 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctl.scala 84:91] - node _T_35 = eq(_T_34, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 84:70] - node _T_36 = and(fb_full_f_ns, _T_35) @[el2_ifu_ifc_ctl.scala 84:68] - node _T_37 = eq(_T_36, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 84:53] - node _T_38 = and(io.ifc_fetch_req_bf_raw, _T_37) @[el2_ifu_ifc_ctl.scala 84:51] - node _T_39 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 85:5] - node _T_40 = and(_T_38, _T_39) @[el2_ifu_ifc_ctl.scala 84:114] - node _T_41 = eq(io.ic_write_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 85:18] - node _T_42 = and(_T_40, _T_41) @[el2_ifu_ifc_ctl.scala 85:16] - node _T_43 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 85:39] - node _T_44 = and(_T_42, _T_43) @[el2_ifu_ifc_ctl.scala 85:37] - io.ifc_fetch_req_bf <= _T_44 @[el2_ifu_ifc_ctl.scala 84:23] - node _T_45 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 87:37] - fetch_bf_en <= _T_45 @[el2_ifu_ifc_ctl.scala 87:15] - node _T_46 = eq(io.ic_hit_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 89:34] - node _T_47 = and(io.ifc_fetch_req_f, _T_46) @[el2_ifu_ifc_ctl.scala 89:32] - node _T_48 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 89:49] - node _T_49 = and(_T_47, _T_48) @[el2_ifu_ifc_ctl.scala 89:47] - miss_f <= _T_49 @[el2_ifu_ifc_ctl.scala 89:10] - node _T_50 = or(io.ifu_ic_mb_empty, io.exu_flush_final) @[el2_ifu_ifc_ctl.scala 91:39] - node _T_51 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 91:63] - node _T_52 = and(_T_50, _T_51) @[el2_ifu_ifc_ctl.scala 91:61] - node _T_53 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 91:76] - node _T_54 = and(_T_52, _T_53) @[el2_ifu_ifc_ctl.scala 91:74] - node _T_55 = eq(miss_a, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 91:86] - node _T_56 = and(_T_54, _T_55) @[el2_ifu_ifc_ctl.scala 91:84] - mb_empty_mod <= _T_56 @[el2_ifu_ifc_ctl.scala 91:16] - node _T_57 = and(io.exu_flush_final, io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctl.scala 93:35] - goto_idle <= _T_57 @[el2_ifu_ifc_ctl.scala 93:13] - node _T_58 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 95:38] - node _T_59 = and(io.exu_flush_final, _T_58) @[el2_ifu_ifc_ctl.scala 95:36] - node _T_60 = and(_T_59, idle) @[el2_ifu_ifc_ctl.scala 95:67] - leave_idle <= _T_60 @[el2_ifu_ifc_ctl.scala 95:14] - node _T_61 = bits(state, 1, 1) @[el2_ifu_ifc_ctl.scala 97:29] - node _T_62 = eq(_T_61, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 97:23] - node _T_63 = bits(state, 0, 0) @[el2_ifu_ifc_ctl.scala 97:40] - node _T_64 = and(_T_62, _T_63) @[el2_ifu_ifc_ctl.scala 97:33] - node _T_65 = and(_T_64, miss_f) @[el2_ifu_ifc_ctl.scala 97:44] - node _T_66 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 97:55] - node _T_67 = and(_T_65, _T_66) @[el2_ifu_ifc_ctl.scala 97:53] - node _T_68 = bits(state, 1, 1) @[el2_ifu_ifc_ctl.scala 98:11] - node _T_69 = eq(mb_empty_mod, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 98:17] - node _T_70 = and(_T_68, _T_69) @[el2_ifu_ifc_ctl.scala 98:15] - node _T_71 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 98:33] - node _T_72 = and(_T_70, _T_71) @[el2_ifu_ifc_ctl.scala 98:31] - node next_state_1 = or(_T_67, _T_72) @[el2_ifu_ifc_ctl.scala 97:67] - node _T_73 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 100:23] - node _T_74 = and(_T_73, leave_idle) @[el2_ifu_ifc_ctl.scala 100:34] - node _T_75 = bits(state, 0, 0) @[el2_ifu_ifc_ctl.scala 100:56] - node _T_76 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 100:62] - node _T_77 = and(_T_75, _T_76) @[el2_ifu_ifc_ctl.scala 100:60] - node next_state_0 = or(_T_74, _T_77) @[el2_ifu_ifc_ctl.scala 100:48] - node _T_78 = cat(next_state_1, next_state_0) @[Cat.scala 29:58] - reg _T_79 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 102:19] - _T_79 <= _T_78 @[el2_ifu_ifc_ctl.scala 102:19] - state <= _T_79 @[el2_ifu_ifc_ctl.scala 102:9] + node _T_27 = bits(address_upper, 4, 4) @[el2_ifu_ifc_ctl.scala 78:39] + node _T_28 = bits(io.ifc_fetch_addr_f, 5, 5) @[el2_ifu_ifc_ctl.scala 78:84] + node _T_29 = xor(_T_27, _T_28) @[el2_ifu_ifc_ctl.scala 78:63] + node _T_30 = eq(_T_29, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 78:24] + node _T_31 = bits(io.ifc_fetch_addr_f, 0, 0) @[el2_ifu_ifc_ctl.scala 78:130] + node _T_32 = and(_T_30, _T_31) @[el2_ifu_ifc_ctl.scala 78:109] + fetch_addr_next_0 <= _T_32 @[el2_ifu_ifc_ctl.scala 78:21] + node _T_33 = cat(address_upper, fetch_addr_next_0) @[Cat.scala 29:58] + fetch_addr_next <= _T_33 @[el2_ifu_ifc_ctl.scala 80:19] + node _T_34 = not(idle) @[el2_ifu_ifc_ctl.scala 82:30] + io.ifc_fetch_req_bf_raw <= _T_34 @[el2_ifu_ifc_ctl.scala 82:27] + node _T_35 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctl.scala 84:91] + node _T_36 = eq(_T_35, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 84:70] + node _T_37 = and(fb_full_f_ns, _T_36) @[el2_ifu_ifc_ctl.scala 84:68] + node _T_38 = eq(_T_37, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 84:53] + node _T_39 = and(io.ifc_fetch_req_bf_raw, _T_38) @[el2_ifu_ifc_ctl.scala 84:51] + node _T_40 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 85:5] + node _T_41 = and(_T_39, _T_40) @[el2_ifu_ifc_ctl.scala 84:114] + node _T_42 = eq(io.ic_write_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 85:18] + node _T_43 = and(_T_41, _T_42) @[el2_ifu_ifc_ctl.scala 85:16] + node _T_44 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 85:39] + node _T_45 = and(_T_43, _T_44) @[el2_ifu_ifc_ctl.scala 85:37] + io.ifc_fetch_req_bf <= _T_45 @[el2_ifu_ifc_ctl.scala 84:23] + node _T_46 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 87:37] + fetch_bf_en <= _T_46 @[el2_ifu_ifc_ctl.scala 87:15] + node _T_47 = eq(io.ic_hit_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 89:34] + node _T_48 = and(io.ifc_fetch_req_f, _T_47) @[el2_ifu_ifc_ctl.scala 89:32] + node _T_49 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 89:49] + node _T_50 = and(_T_48, _T_49) @[el2_ifu_ifc_ctl.scala 89:47] + miss_f <= _T_50 @[el2_ifu_ifc_ctl.scala 89:10] + node _T_51 = or(io.ifu_ic_mb_empty, io.exu_flush_final) @[el2_ifu_ifc_ctl.scala 91:39] + node _T_52 = eq(dma_stall, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 91:63] + node _T_53 = and(_T_51, _T_52) @[el2_ifu_ifc_ctl.scala 91:61] + node _T_54 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 91:76] + node _T_55 = and(_T_53, _T_54) @[el2_ifu_ifc_ctl.scala 91:74] + node _T_56 = eq(miss_a, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 91:86] + node _T_57 = and(_T_55, _T_56) @[el2_ifu_ifc_ctl.scala 91:84] + mb_empty_mod <= _T_57 @[el2_ifu_ifc_ctl.scala 91:16] + node _T_58 = and(io.exu_flush_final, io.dec_tlu_flush_noredir_wb) @[el2_ifu_ifc_ctl.scala 93:35] + goto_idle <= _T_58 @[el2_ifu_ifc_ctl.scala 93:13] + node _T_59 = eq(io.dec_tlu_flush_noredir_wb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 95:38] + node _T_60 = and(io.exu_flush_final, _T_59) @[el2_ifu_ifc_ctl.scala 95:36] + node _T_61 = and(_T_60, idle) @[el2_ifu_ifc_ctl.scala 95:67] + leave_idle <= _T_61 @[el2_ifu_ifc_ctl.scala 95:14] + node _T_62 = bits(state, 1, 1) @[el2_ifu_ifc_ctl.scala 97:29] + node _T_63 = eq(_T_62, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 97:23] + node _T_64 = bits(state, 0, 0) @[el2_ifu_ifc_ctl.scala 97:40] + node _T_65 = and(_T_63, _T_64) @[el2_ifu_ifc_ctl.scala 97:33] + node _T_66 = and(_T_65, miss_f) @[el2_ifu_ifc_ctl.scala 97:44] + node _T_67 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 97:55] + node _T_68 = and(_T_66, _T_67) @[el2_ifu_ifc_ctl.scala 97:53] + node _T_69 = bits(state, 1, 1) @[el2_ifu_ifc_ctl.scala 98:11] + node _T_70 = eq(mb_empty_mod, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 98:17] + node _T_71 = and(_T_69, _T_70) @[el2_ifu_ifc_ctl.scala 98:15] + node _T_72 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 98:33] + node _T_73 = and(_T_71, _T_72) @[el2_ifu_ifc_ctl.scala 98:31] + node next_state_1 = or(_T_68, _T_73) @[el2_ifu_ifc_ctl.scala 97:67] + node _T_74 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 100:23] + node _T_75 = and(_T_74, leave_idle) @[el2_ifu_ifc_ctl.scala 100:34] + node _T_76 = bits(state, 0, 0) @[el2_ifu_ifc_ctl.scala 100:56] + node _T_77 = eq(goto_idle, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 100:62] + node _T_78 = and(_T_76, _T_77) @[el2_ifu_ifc_ctl.scala 100:60] + node next_state_0 = or(_T_75, _T_78) @[el2_ifu_ifc_ctl.scala 100:48] + node _T_79 = cat(next_state_1, next_state_0) @[Cat.scala 29:58] + reg _T_80 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 102:19] + _T_80 <= _T_79 @[el2_ifu_ifc_ctl.scala 102:19] + state <= _T_80 @[el2_ifu_ifc_ctl.scala 102:9] flush_fb <= io.exu_flush_final @[el2_ifu_ifc_ctl.scala 104:12] - node _T_80 = eq(io.ifu_fb_consume2, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 106:38] - node _T_81 = and(io.ifu_fb_consume1, _T_80) @[el2_ifu_ifc_ctl.scala 106:36] - node _T_82 = eq(io.ifc_fetch_req_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 106:61] - node _T_83 = or(_T_82, miss_f) @[el2_ifu_ifc_ctl.scala 106:81] - node _T_84 = and(_T_81, _T_83) @[el2_ifu_ifc_ctl.scala 106:58] - node _T_85 = and(io.ifu_fb_consume2, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 107:25] - node _T_86 = or(_T_84, _T_85) @[el2_ifu_ifc_ctl.scala 106:92] - fb_right <= _T_86 @[el2_ifu_ifc_ctl.scala 106:12] - node _T_87 = not(io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 109:39] - node _T_88 = or(_T_87, miss_f) @[el2_ifu_ifc_ctl.scala 109:59] - node _T_89 = and(io.ifu_fb_consume2, _T_88) @[el2_ifu_ifc_ctl.scala 109:36] - fb_right2 <= _T_89 @[el2_ifu_ifc_ctl.scala 109:13] - node _T_90 = or(io.ifu_fb_consume1, io.ifu_fb_consume2) @[el2_ifu_ifc_ctl.scala 110:56] - node _T_91 = eq(_T_90, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 110:35] - node _T_92 = and(io.ifc_fetch_req_f, _T_91) @[el2_ifu_ifc_ctl.scala 110:33] - node _T_93 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 110:80] - node _T_94 = and(_T_92, _T_93) @[el2_ifu_ifc_ctl.scala 110:78] - fb_left <= _T_94 @[el2_ifu_ifc_ctl.scala 110:11] - node _T_95 = bits(flush_fb, 0, 0) @[el2_ifu_ifc_ctl.scala 112:37] - node _T_96 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 113:6] - node _T_97 = and(_T_96, fb_right) @[el2_ifu_ifc_ctl.scala 113:16] - node _T_98 = bits(_T_97, 0, 0) @[el2_ifu_ifc_ctl.scala 113:28] - node _T_99 = bits(fb_write_f, 3, 1) @[el2_ifu_ifc_ctl.scala 113:62] - node _T_100 = cat(UInt<1>("h00"), _T_99) @[Cat.scala 29:58] - node _T_101 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 114:6] - node _T_102 = and(_T_101, fb_right2) @[el2_ifu_ifc_ctl.scala 114:16] - node _T_103 = bits(_T_102, 0, 0) @[el2_ifu_ifc_ctl.scala 114:29] - node _T_104 = bits(fb_write_f, 3, 2) @[el2_ifu_ifc_ctl.scala 114:63] - node _T_105 = cat(UInt<2>("h00"), _T_104) @[Cat.scala 29:58] - node _T_106 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 115:6] - node _T_107 = and(_T_106, fb_left) @[el2_ifu_ifc_ctl.scala 115:16] - node _T_108 = bits(_T_107, 0, 0) @[el2_ifu_ifc_ctl.scala 115:27] - node _T_109 = bits(fb_write_f, 2, 0) @[el2_ifu_ifc_ctl.scala 115:51] - node _T_110 = cat(_T_109, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_111 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:6] - node _T_112 = eq(fb_right, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:18] - node _T_113 = and(_T_111, _T_112) @[el2_ifu_ifc_ctl.scala 116:16] - node _T_114 = eq(fb_right2, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:30] - node _T_115 = and(_T_113, _T_114) @[el2_ifu_ifc_ctl.scala 116:28] - node _T_116 = eq(fb_left, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:43] - node _T_117 = and(_T_115, _T_116) @[el2_ifu_ifc_ctl.scala 116:41] - node _T_118 = bits(_T_117, 0, 0) @[el2_ifu_ifc_ctl.scala 116:53] - node _T_119 = bits(fb_write_f, 3, 0) @[el2_ifu_ifc_ctl.scala 116:73] - node _T_120 = mux(_T_95, UInt<4>("h01"), UInt<1>("h00")) @[Mux.scala 27:72] - node _T_121 = mux(_T_98, _T_100, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_122 = mux(_T_103, _T_105, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_123 = mux(_T_108, _T_110, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_124 = mux(_T_118, _T_119, UInt<1>("h00")) @[Mux.scala 27:72] - node _T_125 = or(_T_120, _T_121) @[Mux.scala 27:72] - node _T_126 = or(_T_125, _T_122) @[Mux.scala 27:72] + node _T_81 = eq(io.ifu_fb_consume2, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 106:38] + node _T_82 = and(io.ifu_fb_consume1, _T_81) @[el2_ifu_ifc_ctl.scala 106:36] + node _T_83 = eq(io.ifc_fetch_req_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 106:61] + node _T_84 = or(_T_83, miss_f) @[el2_ifu_ifc_ctl.scala 106:81] + node _T_85 = and(_T_82, _T_84) @[el2_ifu_ifc_ctl.scala 106:58] + node _T_86 = and(io.ifu_fb_consume2, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 107:25] + node _T_87 = or(_T_85, _T_86) @[el2_ifu_ifc_ctl.scala 106:92] + fb_right <= _T_87 @[el2_ifu_ifc_ctl.scala 106:12] + node _T_88 = not(io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 109:39] + node _T_89 = or(_T_88, miss_f) @[el2_ifu_ifc_ctl.scala 109:59] + node _T_90 = and(io.ifu_fb_consume2, _T_89) @[el2_ifu_ifc_ctl.scala 109:36] + fb_right2 <= _T_90 @[el2_ifu_ifc_ctl.scala 109:13] + node _T_91 = or(io.ifu_fb_consume1, io.ifu_fb_consume2) @[el2_ifu_ifc_ctl.scala 110:56] + node _T_92 = eq(_T_91, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 110:35] + node _T_93 = and(io.ifc_fetch_req_f, _T_92) @[el2_ifu_ifc_ctl.scala 110:33] + node _T_94 = eq(miss_f, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 110:80] + node _T_95 = and(_T_93, _T_94) @[el2_ifu_ifc_ctl.scala 110:78] + fb_left <= _T_95 @[el2_ifu_ifc_ctl.scala 110:11] + node _T_96 = bits(flush_fb, 0, 0) @[el2_ifu_ifc_ctl.scala 112:37] + node _T_97 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 113:6] + node _T_98 = and(_T_97, fb_right) @[el2_ifu_ifc_ctl.scala 113:16] + node _T_99 = bits(_T_98, 0, 0) @[el2_ifu_ifc_ctl.scala 113:28] + node _T_100 = bits(fb_write_f, 3, 1) @[el2_ifu_ifc_ctl.scala 113:62] + node _T_101 = cat(UInt<1>("h00"), _T_100) @[Cat.scala 29:58] + node _T_102 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 114:6] + node _T_103 = and(_T_102, fb_right2) @[el2_ifu_ifc_ctl.scala 114:16] + node _T_104 = bits(_T_103, 0, 0) @[el2_ifu_ifc_ctl.scala 114:29] + node _T_105 = bits(fb_write_f, 3, 2) @[el2_ifu_ifc_ctl.scala 114:63] + node _T_106 = cat(UInt<2>("h00"), _T_105) @[Cat.scala 29:58] + node _T_107 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 115:6] + node _T_108 = and(_T_107, fb_left) @[el2_ifu_ifc_ctl.scala 115:16] + node _T_109 = bits(_T_108, 0, 0) @[el2_ifu_ifc_ctl.scala 115:27] + node _T_110 = bits(fb_write_f, 2, 0) @[el2_ifu_ifc_ctl.scala 115:51] + node _T_111 = cat(_T_110, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_112 = eq(flush_fb, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:6] + node _T_113 = eq(fb_right, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:18] + node _T_114 = and(_T_112, _T_113) @[el2_ifu_ifc_ctl.scala 116:16] + node _T_115 = eq(fb_right2, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:30] + node _T_116 = and(_T_114, _T_115) @[el2_ifu_ifc_ctl.scala 116:28] + node _T_117 = eq(fb_left, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 116:43] + node _T_118 = and(_T_116, _T_117) @[el2_ifu_ifc_ctl.scala 116:41] + node _T_119 = bits(_T_118, 0, 0) @[el2_ifu_ifc_ctl.scala 116:53] + node _T_120 = bits(fb_write_f, 3, 0) @[el2_ifu_ifc_ctl.scala 116:73] + node _T_121 = mux(_T_96, UInt<4>("h01"), UInt<1>("h00")) @[Mux.scala 27:72] + node _T_122 = mux(_T_99, _T_101, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_123 = mux(_T_104, _T_106, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_124 = mux(_T_109, _T_111, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_125 = mux(_T_119, _T_120, UInt<1>("h00")) @[Mux.scala 27:72] + node _T_126 = or(_T_121, _T_122) @[Mux.scala 27:72] node _T_127 = or(_T_126, _T_123) @[Mux.scala 27:72] node _T_128 = or(_T_127, _T_124) @[Mux.scala 27:72] - wire _T_129 : UInt<4> @[Mux.scala 27:72] - _T_129 <= _T_128 @[Mux.scala 27:72] - fb_write_ns <= _T_129 @[el2_ifu_ifc_ctl.scala 112:15] - node _T_130 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctl.scala 119:38] - reg _T_131 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 119:26] - _T_131 <= _T_130 @[el2_ifu_ifc_ctl.scala 119:26] - fb_full_f_ns <= _T_131 @[el2_ifu_ifc_ctl.scala 119:16] - node _T_132 = eq(state, UInt<2>("h00")) @[el2_ifu_ifc_ctl.scala 121:17] - idle <= _T_132 @[el2_ifu_ifc_ctl.scala 121:8] - node _T_133 = eq(state, UInt<2>("h03")) @[el2_ifu_ifc_ctl.scala 122:16] - wfm <= _T_133 @[el2_ifu_ifc_ctl.scala 122:7] - node _T_134 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctl.scala 124:30] - fb_full_f_ns <= _T_134 @[el2_ifu_ifc_ctl.scala 124:16] + node _T_129 = or(_T_128, _T_125) @[Mux.scala 27:72] + wire _T_130 : UInt<4> @[Mux.scala 27:72] + _T_130 <= _T_129 @[Mux.scala 27:72] + fb_write_ns <= _T_130 @[el2_ifu_ifc_ctl.scala 112:15] + node _T_131 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctl.scala 119:38] + reg _T_132 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 119:26] + _T_132 <= _T_131 @[el2_ifu_ifc_ctl.scala 119:26] + fb_full_f_ns <= _T_132 @[el2_ifu_ifc_ctl.scala 119:16] + node _T_133 = eq(state, UInt<2>("h00")) @[el2_ifu_ifc_ctl.scala 121:17] + idle <= _T_133 @[el2_ifu_ifc_ctl.scala 121:8] + node _T_134 = eq(state, UInt<2>("h03")) @[el2_ifu_ifc_ctl.scala 122:16] + wfm <= _T_134 @[el2_ifu_ifc_ctl.scala 122:7] + node _T_135 = bits(fb_write_ns, 3, 3) @[el2_ifu_ifc_ctl.scala 124:30] + fb_full_f_ns <= _T_135 @[el2_ifu_ifc_ctl.scala 124:16] reg fb_full_f : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 125:26] fb_full_f <= fb_full_f_ns @[el2_ifu_ifc_ctl.scala 125:26] - reg _T_135 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 126:24] - _T_135 <= fb_write_ns @[el2_ifu_ifc_ctl.scala 126:24] - fb_write_f <= _T_135 @[el2_ifu_ifc_ctl.scala 126:14] - node _T_136 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctl.scala 129:40] - node _T_137 = or(_T_136, io.exu_flush_final) @[el2_ifu_ifc_ctl.scala 129:61] - node _T_138 = eq(_T_137, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 129:19] - node _T_139 = and(fb_full_f, _T_138) @[el2_ifu_ifc_ctl.scala 129:17] - node _T_140 = or(_T_139, dma_stall) @[el2_ifu_ifc_ctl.scala 129:84] - node _T_141 = and(io.ifc_fetch_req_bf_raw, _T_140) @[el2_ifu_ifc_ctl.scala 128:60] - node _T_142 = or(wfm, _T_141) @[el2_ifu_ifc_ctl.scala 128:33] - io.ifu_pmu_fetch_stall <= _T_142 @[el2_ifu_ifc_ctl.scala 128:26] - node _T_143 = cat(io.ifc_fetch_addr_bf, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_144 = bits(_T_143, 31, 28) @[el2_lib.scala 211:25] - node iccm_acc_in_region_bf = eq(_T_144, UInt<4>("h0e")) @[el2_lib.scala 211:47] - node _T_145 = bits(_T_143, 31, 16) @[el2_lib.scala 214:14] - node iccm_acc_in_range_bf = eq(_T_145, UInt<16>("h0ee00")) @[el2_lib.scala 214:29] + reg _T_136 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 126:24] + _T_136 <= fb_write_ns @[el2_ifu_ifc_ctl.scala 126:24] + fb_write_f <= _T_136 @[el2_ifu_ifc_ctl.scala 126:14] + node _T_137 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctl.scala 129:40] + node _T_138 = or(_T_137, io.exu_flush_final) @[el2_ifu_ifc_ctl.scala 129:61] + node _T_139 = eq(_T_138, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 129:19] + node _T_140 = and(fb_full_f, _T_139) @[el2_ifu_ifc_ctl.scala 129:17] + node _T_141 = or(_T_140, dma_stall) @[el2_ifu_ifc_ctl.scala 129:84] + node _T_142 = and(io.ifc_fetch_req_bf_raw, _T_141) @[el2_ifu_ifc_ctl.scala 128:60] + node _T_143 = or(wfm, _T_142) @[el2_ifu_ifc_ctl.scala 128:33] + io.ifu_pmu_fetch_stall <= _T_143 @[el2_ifu_ifc_ctl.scala 128:26] + node _T_144 = cat(io.ifc_fetch_addr_bf, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_145 = bits(_T_144, 31, 28) @[el2_lib.scala 211:25] + node iccm_acc_in_region_bf = eq(_T_145, UInt<4>("h0e")) @[el2_lib.scala 211:47] + node _T_146 = bits(_T_144, 31, 16) @[el2_lib.scala 214:14] + node iccm_acc_in_range_bf = eq(_T_146, UInt<16>("h0ee00")) @[el2_lib.scala 214:29] io.ifc_iccm_access_bf <= iccm_acc_in_range_bf @[el2_ifu_ifc_ctl.scala 134:25] - node _T_146 = eq(io.ifc_iccm_access_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 135:30] - node _T_147 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctl.scala 136:39] - node _T_148 = eq(_T_147, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 136:18] - node _T_149 = and(fb_full_f, _T_148) @[el2_ifu_ifc_ctl.scala 136:16] - node _T_150 = or(_T_146, _T_149) @[el2_ifu_ifc_ctl.scala 135:53] - node _T_151 = eq(io.ifc_fetch_req_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 137:13] - node _T_152 = and(wfm, _T_151) @[el2_ifu_ifc_ctl.scala 137:11] - node _T_153 = or(_T_150, _T_152) @[el2_ifu_ifc_ctl.scala 136:62] - node _T_154 = or(_T_153, idle) @[el2_ifu_ifc_ctl.scala 137:35] - node _T_155 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 137:46] - node _T_156 = and(_T_154, _T_155) @[el2_ifu_ifc_ctl.scala 137:44] - node _T_157 = or(_T_156, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctl.scala 137:67] - io.ifc_dma_access_ok <= _T_157 @[el2_ifu_ifc_ctl.scala 135:24] - node _T_158 = eq(iccm_acc_in_range_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 139:33] - node _T_159 = and(_T_158, iccm_acc_in_region_bf) @[el2_ifu_ifc_ctl.scala 139:55] - io.ifc_region_acc_fault_bf <= _T_159 @[el2_ifu_ifc_ctl.scala 139:30] - node _T_160 = bits(io.ifc_fetch_addr_bf, 30, 27) @[el2_ifu_ifc_ctl.scala 140:78] - node _T_161 = cat(_T_160, UInt<1>("h00")) @[Cat.scala 29:58] - node _T_162 = dshr(io.dec_tlu_mrac_ff, _T_161) @[el2_ifu_ifc_ctl.scala 140:53] - node _T_163 = bits(_T_162, 0, 0) @[el2_ifu_ifc_ctl.scala 140:53] - node _T_164 = not(_T_163) @[el2_ifu_ifc_ctl.scala 140:34] - io.ifc_fetch_uncacheable_bf <= _T_164 @[el2_ifu_ifc_ctl.scala 140:31] - reg _T_165 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 142:32] - _T_165 <= io.ifc_fetch_req_bf @[el2_ifu_ifc_ctl.scala 142:32] - io.ifc_fetch_req_f <= _T_165 @[el2_ifu_ifc_ctl.scala 142:22] - node _T_166 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 144:88] - reg _T_167 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_166 : @[Reg.scala 28:19] - _T_167 <= io.ifc_fetch_addr_bf @[Reg.scala 28:23] + node _T_147 = eq(io.ifc_iccm_access_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 135:30] + node _T_148 = or(io.ifu_fb_consume2, io.ifu_fb_consume1) @[el2_ifu_ifc_ctl.scala 136:39] + node _T_149 = eq(_T_148, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 136:18] + node _T_150 = and(fb_full_f, _T_149) @[el2_ifu_ifc_ctl.scala 136:16] + node _T_151 = or(_T_147, _T_150) @[el2_ifu_ifc_ctl.scala 135:53] + node _T_152 = eq(io.ifc_fetch_req_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 137:13] + node _T_153 = and(wfm, _T_152) @[el2_ifu_ifc_ctl.scala 137:11] + node _T_154 = or(_T_151, _T_153) @[el2_ifu_ifc_ctl.scala 136:62] + node _T_155 = or(_T_154, idle) @[el2_ifu_ifc_ctl.scala 137:35] + node _T_156 = eq(io.exu_flush_final, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 137:46] + node _T_157 = and(_T_155, _T_156) @[el2_ifu_ifc_ctl.scala 137:44] + node _T_158 = or(_T_157, dma_iccm_stall_any_f) @[el2_ifu_ifc_ctl.scala 137:67] + io.ifc_dma_access_ok <= _T_158 @[el2_ifu_ifc_ctl.scala 135:24] + node _T_159 = eq(iccm_acc_in_range_bf, UInt<1>("h00")) @[el2_ifu_ifc_ctl.scala 139:33] + node _T_160 = and(_T_159, iccm_acc_in_region_bf) @[el2_ifu_ifc_ctl.scala 139:55] + io.ifc_region_acc_fault_bf <= _T_160 @[el2_ifu_ifc_ctl.scala 139:30] + node _T_161 = bits(io.ifc_fetch_addr_bf, 30, 27) @[el2_ifu_ifc_ctl.scala 140:78] + node _T_162 = cat(_T_161, UInt<1>("h00")) @[Cat.scala 29:58] + node _T_163 = dshr(io.dec_tlu_mrac_ff, _T_162) @[el2_ifu_ifc_ctl.scala 140:53] + node _T_164 = bits(_T_163, 0, 0) @[el2_ifu_ifc_ctl.scala 140:53] + node _T_165 = not(_T_164) @[el2_ifu_ifc_ctl.scala 140:34] + io.ifc_fetch_uncacheable_bf <= _T_165 @[el2_ifu_ifc_ctl.scala 140:31] + reg _T_166 : UInt<1>, clock with : (reset => (reset, UInt<1>("h00"))) @[el2_ifu_ifc_ctl.scala 142:32] + _T_166 <= io.ifc_fetch_req_bf @[el2_ifu_ifc_ctl.scala 142:32] + io.ifc_fetch_req_f <= _T_166 @[el2_ifu_ifc_ctl.scala 142:22] + node _T_167 = or(io.exu_flush_final, io.ifc_fetch_req_f) @[el2_ifu_ifc_ctl.scala 144:88] + reg _T_168 : UInt, clock with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_167 : @[Reg.scala 28:19] + _T_168 <= io.ifc_fetch_addr_bf @[Reg.scala 28:23] skip @[Reg.scala 28:19] - io.ifc_fetch_addr_f <= _T_167 @[el2_ifu_ifc_ctl.scala 144:23] + io.ifc_fetch_addr_f <= _T_168 @[el2_ifu_ifc_ctl.scala 144:23] diff --git a/el2_ifu_ifc_ctl.v b/el2_ifu_ifc_ctl.v index 873deb1d..704e985a 100644 --- a/el2_ifu_ifc_ctl.v +++ b/el2_ifu_ifc_ctl.v @@ -55,115 +55,116 @@ module el2_ifu_ifc_ctl( wire [30:0] _T_18 = sel_last_addr_bf ? io_ifc_fetch_addr_f : 31'h0; // @[Mux.scala 27:72] wire [30:0] _T_19 = sel_btb_addr_bf ? io_ifu_bp_btb_target_f : 31'h0; // @[Mux.scala 27:72] wire [29:0] address_upper = io_ifc_fetch_addr_f[30:1] + 30'h1; // @[el2_ifu_ifc_ctl.scala 77:48] - wire _T_29 = address_upper[5] ^ io_ifc_fetch_addr_f[5]; // @[el2_ifu_ifc_ctl.scala 78:62] - wire fetch_addr_next_0 = _T_29 & io_ifc_fetch_addr_f[0]; // @[el2_ifu_ifc_ctl.scala 78:108] + wire _T_29 = address_upper[4] ^ io_ifc_fetch_addr_f[5]; // @[el2_ifu_ifc_ctl.scala 78:63] + wire _T_30 = ~_T_29; // @[el2_ifu_ifc_ctl.scala 78:24] + wire fetch_addr_next_0 = _T_30 & io_ifc_fetch_addr_f[0]; // @[el2_ifu_ifc_ctl.scala 78:109] wire [30:0] fetch_addr_next = {address_upper,fetch_addr_next_0}; // @[Cat.scala 29:58] wire [30:0] _T_20 = sel_next_addr_bf ? fetch_addr_next : 31'h0; // @[Mux.scala 27:72] wire [30:0] _T_21 = _T_17 | _T_18; // @[Mux.scala 27:72] wire [30:0] _T_22 = _T_21 | _T_19; // @[Mux.scala 27:72] reg [1:0] state; // @[el2_ifu_ifc_ctl.scala 102:19] wire idle = state == 2'h0; // @[el2_ifu_ifc_ctl.scala 121:17] - wire _T_34 = io_ifu_fb_consume2 | io_ifu_fb_consume1; // @[el2_ifu_ifc_ctl.scala 84:91] - wire _T_35 = ~_T_34; // @[el2_ifu_ifc_ctl.scala 84:70] - wire [3:0] _T_120 = io_exu_flush_final ? 4'h1 : 4'h0; // @[Mux.scala 27:72] - wire _T_80 = ~io_ifu_fb_consume2; // @[el2_ifu_ifc_ctl.scala 106:38] - wire _T_81 = io_ifu_fb_consume1 & _T_80; // @[el2_ifu_ifc_ctl.scala 106:36] - wire _T_47 = io_ifc_fetch_req_f & _T_4; // @[el2_ifu_ifc_ctl.scala 89:32] - wire miss_f = _T_47 & _T_2; // @[el2_ifu_ifc_ctl.scala 89:47] - wire _T_83 = _T_3 | miss_f; // @[el2_ifu_ifc_ctl.scala 106:81] - wire _T_84 = _T_81 & _T_83; // @[el2_ifu_ifc_ctl.scala 106:58] - wire _T_85 = io_ifu_fb_consume2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctl.scala 107:25] - wire fb_right = _T_84 | _T_85; // @[el2_ifu_ifc_ctl.scala 106:92] - wire _T_97 = _T_2 & fb_right; // @[el2_ifu_ifc_ctl.scala 113:16] + wire _T_35 = io_ifu_fb_consume2 | io_ifu_fb_consume1; // @[el2_ifu_ifc_ctl.scala 84:91] + wire _T_36 = ~_T_35; // @[el2_ifu_ifc_ctl.scala 84:70] + wire [3:0] _T_121 = io_exu_flush_final ? 4'h1 : 4'h0; // @[Mux.scala 27:72] + wire _T_81 = ~io_ifu_fb_consume2; // @[el2_ifu_ifc_ctl.scala 106:38] + wire _T_82 = io_ifu_fb_consume1 & _T_81; // @[el2_ifu_ifc_ctl.scala 106:36] + wire _T_48 = io_ifc_fetch_req_f & _T_4; // @[el2_ifu_ifc_ctl.scala 89:32] + wire miss_f = _T_48 & _T_2; // @[el2_ifu_ifc_ctl.scala 89:47] + wire _T_84 = _T_3 | miss_f; // @[el2_ifu_ifc_ctl.scala 106:81] + wire _T_85 = _T_82 & _T_84; // @[el2_ifu_ifc_ctl.scala 106:58] + wire _T_86 = io_ifu_fb_consume2 & io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctl.scala 107:25] + wire fb_right = _T_85 | _T_86; // @[el2_ifu_ifc_ctl.scala 106:92] + wire _T_98 = _T_2 & fb_right; // @[el2_ifu_ifc_ctl.scala 113:16] reg [3:0] fb_write_f; // @[el2_ifu_ifc_ctl.scala 126:24] - wire [3:0] _T_100 = {1'h0,fb_write_f[3:1]}; // @[Cat.scala 29:58] - wire [3:0] _T_121 = _T_97 ? _T_100 : 4'h0; // @[Mux.scala 27:72] - wire [3:0] _T_125 = _T_120 | _T_121; // @[Mux.scala 27:72] - wire fb_right2 = io_ifu_fb_consume2 & _T_83; // @[el2_ifu_ifc_ctl.scala 109:36] - wire _T_102 = _T_2 & fb_right2; // @[el2_ifu_ifc_ctl.scala 114:16] - wire [3:0] _T_105 = {2'h0,fb_write_f[3:2]}; // @[Cat.scala 29:58] - wire [3:0] _T_122 = _T_102 ? _T_105 : 4'h0; // @[Mux.scala 27:72] - wire [3:0] _T_126 = _T_125 | _T_122; // @[Mux.scala 27:72] - wire _T_90 = io_ifu_fb_consume1 | io_ifu_fb_consume2; // @[el2_ifu_ifc_ctl.scala 110:56] - wire _T_91 = ~_T_90; // @[el2_ifu_ifc_ctl.scala 110:35] - wire _T_92 = io_ifc_fetch_req_f & _T_91; // @[el2_ifu_ifc_ctl.scala 110:33] - wire _T_93 = ~miss_f; // @[el2_ifu_ifc_ctl.scala 110:80] - wire fb_left = _T_92 & _T_93; // @[el2_ifu_ifc_ctl.scala 110:78] - wire _T_107 = _T_2 & fb_left; // @[el2_ifu_ifc_ctl.scala 115:16] - wire [3:0] _T_110 = {fb_write_f[2:0],1'h0}; // @[Cat.scala 29:58] - wire [3:0] _T_123 = _T_107 ? _T_110 : 4'h0; // @[Mux.scala 27:72] + wire [3:0] _T_101 = {1'h0,fb_write_f[3:1]}; // @[Cat.scala 29:58] + wire [3:0] _T_122 = _T_98 ? _T_101 : 4'h0; // @[Mux.scala 27:72] + wire [3:0] _T_126 = _T_121 | _T_122; // @[Mux.scala 27:72] + wire fb_right2 = io_ifu_fb_consume2 & _T_84; // @[el2_ifu_ifc_ctl.scala 109:36] + wire _T_103 = _T_2 & fb_right2; // @[el2_ifu_ifc_ctl.scala 114:16] + wire [3:0] _T_106 = {2'h0,fb_write_f[3:2]}; // @[Cat.scala 29:58] + wire [3:0] _T_123 = _T_103 ? _T_106 : 4'h0; // @[Mux.scala 27:72] wire [3:0] _T_127 = _T_126 | _T_123; // @[Mux.scala 27:72] - wire _T_112 = ~fb_right; // @[el2_ifu_ifc_ctl.scala 116:18] - wire _T_113 = _T_2 & _T_112; // @[el2_ifu_ifc_ctl.scala 116:16] - wire _T_114 = ~fb_right2; // @[el2_ifu_ifc_ctl.scala 116:30] - wire _T_115 = _T_113 & _T_114; // @[el2_ifu_ifc_ctl.scala 116:28] - wire _T_116 = ~fb_left; // @[el2_ifu_ifc_ctl.scala 116:43] - wire _T_117 = _T_115 & _T_116; // @[el2_ifu_ifc_ctl.scala 116:41] - wire [3:0] _T_124 = _T_117 ? fb_write_f : 4'h0; // @[Mux.scala 27:72] - wire [3:0] fb_write_ns = _T_127 | _T_124; // @[Mux.scala 27:72] + wire _T_91 = io_ifu_fb_consume1 | io_ifu_fb_consume2; // @[el2_ifu_ifc_ctl.scala 110:56] + wire _T_92 = ~_T_91; // @[el2_ifu_ifc_ctl.scala 110:35] + wire _T_93 = io_ifc_fetch_req_f & _T_92; // @[el2_ifu_ifc_ctl.scala 110:33] + wire _T_94 = ~miss_f; // @[el2_ifu_ifc_ctl.scala 110:80] + wire fb_left = _T_93 & _T_94; // @[el2_ifu_ifc_ctl.scala 110:78] + wire _T_108 = _T_2 & fb_left; // @[el2_ifu_ifc_ctl.scala 115:16] + wire [3:0] _T_111 = {fb_write_f[2:0],1'h0}; // @[Cat.scala 29:58] + wire [3:0] _T_124 = _T_108 ? _T_111 : 4'h0; // @[Mux.scala 27:72] + wire [3:0] _T_128 = _T_127 | _T_124; // @[Mux.scala 27:72] + wire _T_113 = ~fb_right; // @[el2_ifu_ifc_ctl.scala 116:18] + wire _T_114 = _T_2 & _T_113; // @[el2_ifu_ifc_ctl.scala 116:16] + wire _T_115 = ~fb_right2; // @[el2_ifu_ifc_ctl.scala 116:30] + wire _T_116 = _T_114 & _T_115; // @[el2_ifu_ifc_ctl.scala 116:28] + wire _T_117 = ~fb_left; // @[el2_ifu_ifc_ctl.scala 116:43] + wire _T_118 = _T_116 & _T_117; // @[el2_ifu_ifc_ctl.scala 116:41] + wire [3:0] _T_125 = _T_118 ? fb_write_f : 4'h0; // @[Mux.scala 27:72] + wire [3:0] fb_write_ns = _T_128 | _T_125; // @[Mux.scala 27:72] wire fb_full_f_ns = fb_write_ns[3]; // @[el2_ifu_ifc_ctl.scala 124:30] - wire _T_36 = fb_full_f_ns & _T_35; // @[el2_ifu_ifc_ctl.scala 84:68] - wire _T_37 = ~_T_36; // @[el2_ifu_ifc_ctl.scala 84:53] - wire _T_38 = io_ifc_fetch_req_bf_raw & _T_37; // @[el2_ifu_ifc_ctl.scala 84:51] - wire _T_39 = ~dma_stall; // @[el2_ifu_ifc_ctl.scala 85:5] - wire _T_40 = _T_38 & _T_39; // @[el2_ifu_ifc_ctl.scala 84:114] - wire _T_41 = ~io_ic_write_stall; // @[el2_ifu_ifc_ctl.scala 85:18] - wire _T_42 = _T_40 & _T_41; // @[el2_ifu_ifc_ctl.scala 85:16] - wire _T_43 = ~io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctl.scala 85:39] + wire _T_37 = fb_full_f_ns & _T_36; // @[el2_ifu_ifc_ctl.scala 84:68] + wire _T_38 = ~_T_37; // @[el2_ifu_ifc_ctl.scala 84:53] + wire _T_39 = io_ifc_fetch_req_bf_raw & _T_38; // @[el2_ifu_ifc_ctl.scala 84:51] + wire _T_40 = ~dma_stall; // @[el2_ifu_ifc_ctl.scala 85:5] + wire _T_41 = _T_39 & _T_40; // @[el2_ifu_ifc_ctl.scala 84:114] + wire _T_42 = ~io_ic_write_stall; // @[el2_ifu_ifc_ctl.scala 85:18] + wire _T_43 = _T_41 & _T_42; // @[el2_ifu_ifc_ctl.scala 85:16] + wire _T_44 = ~io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctl.scala 85:39] wire fetch_bf_en = io_exu_flush_final | io_ifc_fetch_req_f; // @[el2_ifu_ifc_ctl.scala 87:37] - wire _T_50 = io_ifu_ic_mb_empty | io_exu_flush_final; // @[el2_ifu_ifc_ctl.scala 91:39] - wire _T_52 = _T_50 & _T_39; // @[el2_ifu_ifc_ctl.scala 91:61] - wire _T_54 = _T_52 & _T_93; // @[el2_ifu_ifc_ctl.scala 91:74] - wire _T_55 = ~miss_a; // @[el2_ifu_ifc_ctl.scala 91:86] - wire mb_empty_mod = _T_54 & _T_55; // @[el2_ifu_ifc_ctl.scala 91:84] + wire _T_51 = io_ifu_ic_mb_empty | io_exu_flush_final; // @[el2_ifu_ifc_ctl.scala 91:39] + wire _T_53 = _T_51 & _T_40; // @[el2_ifu_ifc_ctl.scala 91:61] + wire _T_55 = _T_53 & _T_94; // @[el2_ifu_ifc_ctl.scala 91:74] + wire _T_56 = ~miss_a; // @[el2_ifu_ifc_ctl.scala 91:86] + wire mb_empty_mod = _T_55 & _T_56; // @[el2_ifu_ifc_ctl.scala 91:84] wire goto_idle = io_exu_flush_final & io_dec_tlu_flush_noredir_wb; // @[el2_ifu_ifc_ctl.scala 93:35] - wire _T_59 = io_exu_flush_final & _T_43; // @[el2_ifu_ifc_ctl.scala 95:36] - wire leave_idle = _T_59 & idle; // @[el2_ifu_ifc_ctl.scala 95:67] - wire _T_62 = ~state[1]; // @[el2_ifu_ifc_ctl.scala 97:23] - wire _T_64 = _T_62 & state[0]; // @[el2_ifu_ifc_ctl.scala 97:33] - wire _T_65 = _T_64 & miss_f; // @[el2_ifu_ifc_ctl.scala 97:44] - wire _T_66 = ~goto_idle; // @[el2_ifu_ifc_ctl.scala 97:55] - wire _T_67 = _T_65 & _T_66; // @[el2_ifu_ifc_ctl.scala 97:53] - wire _T_69 = ~mb_empty_mod; // @[el2_ifu_ifc_ctl.scala 98:17] - wire _T_70 = state[1] & _T_69; // @[el2_ifu_ifc_ctl.scala 98:15] - wire _T_72 = _T_70 & _T_66; // @[el2_ifu_ifc_ctl.scala 98:31] - wire next_state_1 = _T_67 | _T_72; // @[el2_ifu_ifc_ctl.scala 97:67] - wire _T_74 = _T_66 & leave_idle; // @[el2_ifu_ifc_ctl.scala 100:34] - wire _T_77 = state[0] & _T_66; // @[el2_ifu_ifc_ctl.scala 100:60] - wire next_state_0 = _T_74 | _T_77; // @[el2_ifu_ifc_ctl.scala 100:48] + wire _T_60 = io_exu_flush_final & _T_44; // @[el2_ifu_ifc_ctl.scala 95:36] + wire leave_idle = _T_60 & idle; // @[el2_ifu_ifc_ctl.scala 95:67] + wire _T_63 = ~state[1]; // @[el2_ifu_ifc_ctl.scala 97:23] + wire _T_65 = _T_63 & state[0]; // @[el2_ifu_ifc_ctl.scala 97:33] + wire _T_66 = _T_65 & miss_f; // @[el2_ifu_ifc_ctl.scala 97:44] + wire _T_67 = ~goto_idle; // @[el2_ifu_ifc_ctl.scala 97:55] + wire _T_68 = _T_66 & _T_67; // @[el2_ifu_ifc_ctl.scala 97:53] + wire _T_70 = ~mb_empty_mod; // @[el2_ifu_ifc_ctl.scala 98:17] + wire _T_71 = state[1] & _T_70; // @[el2_ifu_ifc_ctl.scala 98:15] + wire _T_73 = _T_71 & _T_67; // @[el2_ifu_ifc_ctl.scala 98:31] + wire next_state_1 = _T_68 | _T_73; // @[el2_ifu_ifc_ctl.scala 97:67] + wire _T_75 = _T_67 & leave_idle; // @[el2_ifu_ifc_ctl.scala 100:34] + wire _T_78 = state[0] & _T_67; // @[el2_ifu_ifc_ctl.scala 100:60] + wire next_state_0 = _T_75 | _T_78; // @[el2_ifu_ifc_ctl.scala 100:48] wire wfm = state == 2'h3; // @[el2_ifu_ifc_ctl.scala 122:16] reg fb_full_f; // @[el2_ifu_ifc_ctl.scala 125:26] - wire _T_137 = _T_34 | io_exu_flush_final; // @[el2_ifu_ifc_ctl.scala 129:61] - wire _T_138 = ~_T_137; // @[el2_ifu_ifc_ctl.scala 129:19] - wire _T_139 = fb_full_f & _T_138; // @[el2_ifu_ifc_ctl.scala 129:17] - wire _T_140 = _T_139 | dma_stall; // @[el2_ifu_ifc_ctl.scala 129:84] - wire _T_141 = io_ifc_fetch_req_bf_raw & _T_140; // @[el2_ifu_ifc_ctl.scala 128:60] - wire [31:0] _T_143 = {io_ifc_fetch_addr_bf,1'h0}; // @[Cat.scala 29:58] - wire iccm_acc_in_region_bf = _T_143[31:28] == 4'he; // @[el2_lib.scala 211:47] - wire iccm_acc_in_range_bf = _T_143[31:16] == 16'hee00; // @[el2_lib.scala 214:29] - wire _T_146 = ~io_ifc_iccm_access_bf; // @[el2_ifu_ifc_ctl.scala 135:30] - wire _T_149 = fb_full_f & _T_35; // @[el2_ifu_ifc_ctl.scala 136:16] - wire _T_150 = _T_146 | _T_149; // @[el2_ifu_ifc_ctl.scala 135:53] - wire _T_151 = ~io_ifc_fetch_req_bf; // @[el2_ifu_ifc_ctl.scala 137:13] - wire _T_152 = wfm & _T_151; // @[el2_ifu_ifc_ctl.scala 137:11] - wire _T_153 = _T_150 | _T_152; // @[el2_ifu_ifc_ctl.scala 136:62] - wire _T_154 = _T_153 | idle; // @[el2_ifu_ifc_ctl.scala 137:35] - wire _T_156 = _T_154 & _T_2; // @[el2_ifu_ifc_ctl.scala 137:44] - wire _T_158 = ~iccm_acc_in_range_bf; // @[el2_ifu_ifc_ctl.scala 139:33] - wire [4:0] _T_161 = {io_ifc_fetch_addr_bf[30:27],1'h0}; // @[Cat.scala 29:58] - wire [31:0] _T_162 = io_dec_tlu_mrac_ff >> _T_161; // @[el2_ifu_ifc_ctl.scala 140:53] - reg _T_165; // @[el2_ifu_ifc_ctl.scala 142:32] - reg [30:0] _T_167; // @[Reg.scala 27:20] - assign io_ifc_fetch_addr_f = _T_167; // @[el2_ifu_ifc_ctl.scala 144:23] + wire _T_138 = _T_35 | io_exu_flush_final; // @[el2_ifu_ifc_ctl.scala 129:61] + wire _T_139 = ~_T_138; // @[el2_ifu_ifc_ctl.scala 129:19] + wire _T_140 = fb_full_f & _T_139; // @[el2_ifu_ifc_ctl.scala 129:17] + wire _T_141 = _T_140 | dma_stall; // @[el2_ifu_ifc_ctl.scala 129:84] + wire _T_142 = io_ifc_fetch_req_bf_raw & _T_141; // @[el2_ifu_ifc_ctl.scala 128:60] + wire [31:0] _T_144 = {io_ifc_fetch_addr_bf,1'h0}; // @[Cat.scala 29:58] + wire iccm_acc_in_region_bf = _T_144[31:28] == 4'he; // @[el2_lib.scala 211:47] + wire iccm_acc_in_range_bf = _T_144[31:16] == 16'hee00; // @[el2_lib.scala 214:29] + wire _T_147 = ~io_ifc_iccm_access_bf; // @[el2_ifu_ifc_ctl.scala 135:30] + wire _T_150 = fb_full_f & _T_36; // @[el2_ifu_ifc_ctl.scala 136:16] + wire _T_151 = _T_147 | _T_150; // @[el2_ifu_ifc_ctl.scala 135:53] + wire _T_152 = ~io_ifc_fetch_req_bf; // @[el2_ifu_ifc_ctl.scala 137:13] + wire _T_153 = wfm & _T_152; // @[el2_ifu_ifc_ctl.scala 137:11] + wire _T_154 = _T_151 | _T_153; // @[el2_ifu_ifc_ctl.scala 136:62] + wire _T_155 = _T_154 | idle; // @[el2_ifu_ifc_ctl.scala 137:35] + wire _T_157 = _T_155 & _T_2; // @[el2_ifu_ifc_ctl.scala 137:44] + wire _T_159 = ~iccm_acc_in_range_bf; // @[el2_ifu_ifc_ctl.scala 139:33] + wire [4:0] _T_162 = {io_ifc_fetch_addr_bf[30:27],1'h0}; // @[Cat.scala 29:58] + wire [31:0] _T_163 = io_dec_tlu_mrac_ff >> _T_162; // @[el2_ifu_ifc_ctl.scala 140:53] + reg _T_166; // @[el2_ifu_ifc_ctl.scala 142:32] + reg [30:0] _T_168; // @[Reg.scala 27:20] + assign io_ifc_fetch_addr_f = _T_168; // @[el2_ifu_ifc_ctl.scala 144:23] assign io_ifc_fetch_addr_bf = _T_22 | _T_20; // @[el2_ifu_ifc_ctl.scala 72:24] - assign io_ifc_fetch_req_f = _T_165; // @[el2_ifu_ifc_ctl.scala 142:22] - assign io_ifu_pmu_fetch_stall = wfm | _T_141; // @[el2_ifu_ifc_ctl.scala 128:26] - assign io_ifc_fetch_uncacheable_bf = ~_T_162[0]; // @[el2_ifu_ifc_ctl.scala 140:31] - assign io_ifc_fetch_req_bf = _T_42 & _T_43; // @[el2_ifu_ifc_ctl.scala 84:23] + assign io_ifc_fetch_req_f = _T_166; // @[el2_ifu_ifc_ctl.scala 142:22] + assign io_ifu_pmu_fetch_stall = wfm | _T_142; // @[el2_ifu_ifc_ctl.scala 128:26] + assign io_ifc_fetch_uncacheable_bf = ~_T_163[0]; // @[el2_ifu_ifc_ctl.scala 140:31] + assign io_ifc_fetch_req_bf = _T_43 & _T_44; // @[el2_ifu_ifc_ctl.scala 84:23] assign io_ifc_fetch_req_bf_raw = ~idle; // @[el2_ifu_ifc_ctl.scala 82:27] - assign io_ifc_iccm_access_bf = _T_143[31:16] == 16'hee00; // @[el2_ifu_ifc_ctl.scala 134:25] - assign io_ifc_region_acc_fault_bf = _T_158 & iccm_acc_in_region_bf; // @[el2_ifu_ifc_ctl.scala 139:30] - assign io_ifc_dma_access_ok = _T_156 | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctl.scala 135:24] + assign io_ifc_iccm_access_bf = _T_144[31:16] == 16'hee00; // @[el2_ifu_ifc_ctl.scala 134:25] + assign io_ifc_region_acc_fault_bf = _T_159 & iccm_acc_in_region_bf; // @[el2_ifu_ifc_ctl.scala 139:30] + assign io_ifc_dma_access_ok = _T_157 | dma_iccm_stall_any_f; // @[el2_ifu_ifc_ctl.scala 135:24] `ifdef RANDOMIZE_GARBAGE_ASSIGN `define RANDOMIZE `endif @@ -210,9 +211,9 @@ initial begin _RAND_4 = {1{`RANDOM}}; fb_full_f = _RAND_4[0:0]; _RAND_5 = {1{`RANDOM}}; - _T_165 = _RAND_5[0:0]; + _T_166 = _RAND_5[0:0]; _RAND_6 = {1{`RANDOM}}; - _T_167 = _RAND_6[30:0]; + _T_168 = _RAND_6[30:0]; `endif // RANDOMIZE_REG_INIT if (reset) begin dma_iccm_stall_any_f = 1'h0; @@ -230,10 +231,10 @@ initial begin fb_full_f = 1'h0; end if (reset) begin - _T_165 = 1'h0; + _T_166 = 1'h0; end if (reset) begin - _T_167 = 31'h0; + _T_168 = 31'h0; end `endif // RANDOMIZE end // initial @@ -252,7 +253,7 @@ end // initial if (reset) begin miss_a <= 1'h0; end else begin - miss_a <= _T_47 & _T_2; + miss_a <= _T_48 & _T_2; end end always @(posedge clock or posedge reset) begin @@ -266,7 +267,7 @@ end // initial if (reset) begin fb_write_f <= 4'h0; end else begin - fb_write_f <= _T_127 | _T_124; + fb_write_f <= _T_128 | _T_125; end end always @(posedge clock or posedge reset) begin @@ -278,16 +279,16 @@ end // initial end always @(posedge clock or posedge reset) begin if (reset) begin - _T_165 <= 1'h0; + _T_166 <= 1'h0; end else begin - _T_165 <= io_ifc_fetch_req_bf; + _T_166 <= io_ifc_fetch_req_bf; end end always @(posedge clock or posedge reset) begin if (reset) begin - _T_167 <= 31'h0; + _T_168 <= 31'h0; end else if (fetch_bf_en) begin - _T_167 <= io_ifc_fetch_addr_bf; + _T_168 <= io_ifc_fetch_addr_bf; 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 b8c90388..0d7e6623 100644 --- a/src/main/scala/ifu/el2_ifu_ic_mem.scala +++ b/src/main/scala/ifu/el2_ifu_ic_mem.scala @@ -44,7 +44,7 @@ class EL2_IC_TAG extends Module with el2_lib with param { val io = IO(new Bundle{ val clk_override = Input(Bool()) val dec_tlu_core_ecc_disable = Input(Bool()) - val ic_rw_addr = Input(UInt(28.W)) + val ic_rw_addr = Input(UInt(29.W)) // 32:3 val ic_wr_en = Input(UInt(ICACHE_NUM_WAYS.W)) val ic_tag_valid = Input(UInt(ICACHE_NUM_WAYS.W)) val ic_rd_en = Input(Bool()) @@ -53,16 +53,43 @@ class EL2_IC_TAG extends Module with el2_lib with param { val ic_debug_wr_en = Input(Bool()) val ic_debug_tag_array = Input(Bool()) val ic_debug_way = Input(UInt(ICACHE_NUM_WAYS.W)) - // val ictag_debug_rd_data = Output(UInt(26.W)) + val ictag_debug_rd_data = Output(UInt(26.W)) val ic_debug_wr_data = Input(UInt(71.W)) -// val ic_rd_hit = Output(UInt(ICACHE_NUM_WAYS.W)) -// val ic_tag_perr = Output(Bool()) + val ic_rd_hit = Output(UInt(ICACHE_NUM_WAYS.W)) + val ic_tag_perr = Output(Bool()) val scan_mode = Input(Bool()) + val test = Output(UInt()) }) -// val ic_tag_wren = io.ic_wr_en & Fill(ICACHE_NUM_WAYS, io.ic_rw_addr(ICACHE_BEAT_ADDR_HI-3,1)=== Fill(ICACHE_NUM_WAYS-1, 1.U)) -// val ic_tag_clken = Fill(ICACHE_NUM_WAYS, io.ic_rd_en|io.clk_override) | io.ic_wr_en | + io.ictag_debug_rd_data := 0.U + io.ic_rd_hit := 0.U + io.ic_tag_perr := 0.U + val ic_debug_wr_way_en = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U) + val ic_debug_rd_way_en = WireInit(UInt(ICACHE_NUM_WAYS.W), 0.U) + val ic_tag_wren = io.ic_wr_en & Fill(ICACHE_NUM_WAYS, io.ic_rw_addr(ICACHE_BEAT_ADDR_HI-3,1)=== Fill(ICACHE_NUM_WAYS-1, 1.U)) + val ic_tag_clken = Fill(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, 0.U) + val ic_rw_addr_ff = RegNext(io.ic_rw_addr(31-ICACHE_TAG_LO, 0), 0.U) + + val PAD_BITS = 21 - (32 - ICACHE_TAG_LO) + + ic_debug_rd_way_en := Fill(ICACHE_NUM_WAYS, io.ic_debug_rd_en & io.ic_debug_tag_array) & io.ic_debug_way + ic_debug_wr_way_en := Fill(ICACHE_NUM_WAYS, io.ic_debug_wr_en & io.ic_debug_tag_array) & io.ic_debug_way + + val ic_tag_wren_q = ic_tag_wren | ic_debug_wr_way_en + + val ic_tag_ecc = rvecc_encode(Cat(Fill(ICACHE_TAG_LO,0.U),io.ic_rw_addr(31-3, ICACHE_TAG_LO-3))) + + val ic_tag_wr_data = Mux((io.ic_debug_wr_en & io.ic_debug_tag_array).asBool, Cat(io.ic_debug_wr_data(68,64), io.ic_debug_wr_data(31,11)), + Cat(ic_tag_ecc(4,0),io.ic_rw_addr(31-3,ICACHE_TAG_LO-3))) + io.test := io.ic_rw_addr + + + + + // val ic_debug_rd_way_en = Fill(ICACHE_NUM_WAYS, io.ic_debug_rd_en & io.ic_debug_tag_array) & io.ic_debug_way // val ic_debug_wr_way_en = repl(ICACHE_NUM_WAYS, io.ic_debug_wr_en & io.ic_debug_tag_array) & io.ic_debug_way // val ic_tag_clken = repl(ICACHE_NUM_WAYS,io.ic_rd_en | io.clk_override) | io.ic_wr_en | ic_debug_wr_way_en | ic_debug_wr_way_en | ic_debug_rd_way_en @@ -215,10 +242,7 @@ class EL2_IC_DATA extends Module with el2_lib { val ic_rw_addr_bank_q = VecInit(Mux((!ic_rw_addr_wrap).asBool,ic_rw_addr_q(ICACHE_INDEX_HI-1,ICACHE_DATA_INDEX_LO-1), Cat(ic_rw_addr_q(ICACHE_INDEX_HI-1, ICACHE_TAG_INDEX_LO-1) , ic_rw_addr_q_inc(ICACHE_TAG_INDEX_LO-2,ICACHE_DATA_INDEX_LO-1))), - ic_rw_addr_q(ICACHE_INDEX_HI-1,ICACHE_DATA_INDEX_LO-1) - ) - - + ic_rw_addr_q(ICACHE_INDEX_HI-1,ICACHE_DATA_INDEX_LO-1)) val ic_b_rden_ff = RegNext(ic_b_rden, 0.U) val ic_rw_addr_ff = RegNext(ic_rw_addr_q(ICACHE_TAG_INDEX_LO-2,0), 0.U) diff --git a/src/main/scala/ifu/el2_ifu_ifc_ctl.scala b/src/main/scala/ifu/el2_ifu_ifc_ctl.scala index 2fb291f2..9e53b8b2 100644 --- a/src/main/scala/ifu/el2_ifu_ifc_ctl.scala +++ b/src/main/scala/ifu/el2_ifu_ifc_ctl.scala @@ -75,7 +75,7 @@ class el2_ifu_ifc_ctl extends Module with el2_lib with RequireAsyncReset { sel_next_addr_bf.asBool -> fetch_addr_next)) // PC+4 val address_upper = io.ifc_fetch_addr_f(30,1)+1.U - fetch_addr_next_0 := (address_upper(ICACHE_TAG_INDEX_LO-1) ^ io.ifc_fetch_addr_f(ICACHE_TAG_INDEX_LO-1)) & io.ifc_fetch_addr_f(0) + fetch_addr_next_0 := !(address_upper(ICACHE_TAG_INDEX_LO-2) ^ io.ifc_fetch_addr_f(ICACHE_TAG_INDEX_LO-1)) & io.ifc_fetch_addr_f(0) fetch_addr_next := Cat(address_upper, fetch_addr_next_0) diff --git a/target/scala-2.12/classes/ifu/EL2_IC_DATA$$anon$3.class b/target/scala-2.12/classes/ifu/EL2_IC_DATA$$anon$3.class index 32e46a95834204639a89b44d3e35ac7391c9b1f8..8726d07cd55c88c925fa015f78d997d2927a0eb8 100644 GIT binary patch delta 285 zcmW;At!qMI7>4otez8pF89J6M1BEw=#p1vyV`*(+VSj+IG*~hWgW2;J7&QrFS;q0` z@%VZCN~hZl1HmMFc-rr};zC^LpRYJ{qx7BYBrSc_lW3%BiN-2l6o_uysS+o;YAMT5 z)f7!tzoMDyBATlz*Om*_r)a7A5v^2zqDWOtTdq}g(MHu3ZAA~`ViD K(}CxHWDft%K4lgF delta 285 zcmW;AuWJHv9LDkI`C^$rZn$Au5fr{rEGrurWh|{34EqBHOM=ND3+CNlVDnB-PtWsb zkTEPa`}MVjfnXYb__Wvios^Suc)p_N9&-iPNn84=XVFmA6OB}RQ6Reg%v3qnRnJ&X zR3D;H^(C6B{zWs@L)J1C8WhH|27D@;N2qBO?x4aw7=a=uhzu!5(bI(2RynFA<>|Go1 z^V)#*#R-HYw+JjO04+O%tWC-)Uzu=SkFbp$K6%9Wk}gAsjTl~7KvuN$h6D>2TKik} zVUwJNg`n9+4l6Dh{@j$(;-MualY$|i?C_M3HOVbWCvPsPOO7RPdee>YVPi%YkDoex z(xj0k!-Js<+2SoE(^BF|P==kQ(hJ*>iWHBnupMaTI_=2Za*UpG|D-!zT*C;wF_8j~F>Q82;F70?OtDvLel?`wGeC)D)W!pULzW ziVA$>ZmP%T^EC-RA^1txw3arXze(^jA;DMFY%R3SoJAs{O|uBJ&4@N4qHVJXw9SaN zA_9B$n-(HbQTUO#$i!*R@*yJ*LL56(!jA+Gl(c+# zq{pa%VeI5^70=CQqZ%XFxe+!JH*rsQm;W?6!u~2d7{ZT4XQx3}NOX1tgoQ+B+h15n zbe~x*Bf8J5krCZzR>p|VwkMy*h|cz+u#o8fSIx56R@B+P6Cx{y?KxqwV%Yu?7AuDB z9bvIz*gg>!D~9a}VXfm`PlD$#xLS{ocv`r8y$1l_z537&Mkv#a*&Uu^B8Zyv4+egWl&E%Ww>rQ*;>Zd z>OH><+~h2dDP;PBGVl;P9ZWu`b&$N5NY26x$!0FhL^gg=4B54? zr(|i11RE*sYm0jD=or#xaR=#Jz4!@a*B4L2ar6h{q~3LjgIJe{+%cr9w>IdZWqerCyGwBql8r_A?R}Njxmkv0UiACB7%|JBdLb3cahunG&~2 zyeqNo3K2I&;zo(p60=qceWb*XC7zbpa+T2kByq9C|4NMdNa%eezAy26iNULd-c8~x ziQ6SMNNo49h?^?0T;er}*?$-MD2acUct&FKCqf@0@dJrJOLVRgdS8jNCH^2W>KS-P-@kfcF z{}B4)68|c3r^NdbA6hTsrb*l+@w&v^4MHCyagD@t5>qz{{aJ}iC00s|DHnP_iE}0H zl^FIL*g3}cMF{Ng^)W+oG!6KVy(pdts-um#LpyNkeL22p+6^axx}Lq;)fia-xRv zql#5=#-5?$59aD~6g#b0(T}G3wqi#W%iU|Lvp8c_{ztKleN64M&#Y}Pw^>Z`ex@)s zS+Q>va~&|%v5M_b%yH0EpI2-PXY6Uhe=^l##WpGyaL81j=4|F6v$p$6>GK~m<|EEn z*4xV0^RTHdRqUE#UH)sT3lzJkScjiYb+%%s6!RZ3)wej?aKx-Fr_xkra>gn;q?q>? zQ=P8ZkBYTCYN{_N_BCfLOWZM29i!NG#ajGos>2ogoU@a^vf5aNA;-;_4T@P$n7)CE zeaab|aZj<{C(XE3irrGI$0<`?!WsKl<=0c~;h+zXUx96f5wbCshIDq z>3dVLO2x9znd%J1ep1YH-c(;w><7h?E|}^h#lBK3_99a|Uo>mm#%*>2BCE`KC5lxj z7JA84|D@P@#VnUib%0`P6l+kd*A+8vrD8V~>wcA~6R(=JUF9~bt#h?GuS~J?inYIH zs_!XwLb1XcQ+-3RBZ_5RH`P}aJE&Ot4WVX|7m@8IJC`}hrW;=Tzn!t`$SOI@t@XlD za&1X08DE zkETPI^;!5!$9#w_^ ziM;0`A2!4wpUC;41_QZ=)&zhTe{I?Cy^rIvdmmZO7*D9+Gsbwv7qkEy{uWztzb}rp z_g}$rQe%J1S>s810NC%K##}f{55z+}y&R6AXX#EiB+P#XI$%r(mVtK41nc}QFax#r z0A+BV?gPlQoHz33cLuk8qqStK_4z>#YiXo*-Z1!-M|4QTfJeA7Lx)t$1)~*P(2L|@ zHjN%nfB5dkfRnxTd_;*2Xsa@2+*Q#j0Kp2UU+X7*b<&rUo zx10KdzyX(Nk02OqxnelkY!}@b1O;ft3CjouH(DKp^(=cSSJ)%C>A#Y|rfXN|j9@51 z-`QYz7hz%u%nG=yrJ+z40)MnZpy3j8Cxn8FnLd>&oSC8p__o7Yk4}U_7VX^w@btZF zr7>aftQCR`yO=UR4AOK6qFcitfnjABjIctmk=&F~hhW@+@${W=a3N>;+_V_0X2$+- z$YAl}mEQ{mJM(7PV44*|jFuwHHXFn+(@DP!1Gf$#^p*`K=wP8EA|TreRwG{oX4|oZ zFCrkC`FaT7)d)z|@#RO_p&dsjE?;VgB=&4?*#VDYFkNqlq7<-b`C!#Pg8=YAAml?3 zv_tFz!7vCyU?|1~8}ObEI;93I$L&JfM#5Cwp>%yD6j;G9irE&x?TBqOj8b#+1kz~^ zNMvz+TCln!S$rnF+yWfTz!#1^hE0ed6Bu35m)@(|nM+{sZ;Y6XY! z6pajkM0zg@THw_}Bb_Xz!x(I4vC-j9h-9uQe3zCvA<+s^28ObEuV=D(Q40zoUQ{1t zwB%Fq+~BE+G9Ko$rbdH@S^SovUqrJ-oMsMd49nqc%Hfnbiep#~r_Awj49nq^IjUk< zj%bl1PlxEH>Ctlf>{vEET24P4%ce)m>8?1)ivWjq5u)@sa9VmmG<`Y_Ua-U(&xqH5 zAr2lzs~fMMT~ze{T<{9S(to>PhQ(z(E{+a}TI#hvGqU@@kg z)e@#zl8o*wiJQhI`)6*aVJoIhh zW0#`x1*OARaD?vj;1e7%y7HwQ9%zfk5caWh(~%w+4wWLJQbstv7*T0PjP^oC+)*RB z!a91Rb?Rp8^v!`|&Dyl1bgdVBaEzYx!eq;FBU@|&e52vIcAU=0fK}*?;|t?vNVA;8 zucUbb9BB2T2Rz`a*pvyYz*24W6!V|T#;-xO(UH&NpN49qJvZ1V5fu-Q3yW8URMY#d zA>C4Ar1SmdY_-{X&1!k@OIU-u1y|0;m?v2({t>G&+VZq}vmg>`*k{j8?`A;}2L1Vg zQfiEGO{LTrV?^&(WrNFd!^mKd;6>6NPjDg)&Ve{Io)r75a}Iv+YH4u}o{Czduh=i! zb08W+JUk~qBe!y}_?t$g(t~KHTnNXY6y6{@G8dBIHhnu6k4+u>_$1MWDBSHQav=mA zRm^{fy7J%;P*2C@;bq#uq8_z082$J%jd`$M2aRsXhiDgQM%?ecPt;H5LpK+I(fN0E zpq&aJ&WgGdv&PY>1yF$hbcwIwR|V|G562s&FT1Pz6~Zw*&jmghfnEK;2RCuo&-Fu5 zT&m&!-R!CKgdbucmDc&;9o*l3*5^dJstDSkRVun(SA<8~QxV<=5rwqL*&;R1U^XK+M}fY^xH;EJfj|HOtuynQYt+CPUR`*BDy212T_ z2M_eG;E6n_?W)M`4AlUaX>}Kfp}sEAn|9Jc|D(3#H_7rZ|`} z2(N1%9orpex&)uZxLfca7>^g+(*t>;;4>Ic61<@$f2bYoXc>n+a delta 7919 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 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 07e8841b2e67e8aa19a464416797e67d695bdec9..2a55d3e47255cd671fba049007c14b8f788ee932 100644 GIT binary patch literal 3929 zcma)9NpllN6#m-S2#EoNSpxyH2=D?JgfRvi0$udq_g| zorLVioN`F0;8f+1;*v`$eDmY4Su$q0nN;>@&DwB0@3gJm!4+7ZkXSZ=#XlNi&~!yBA73btiVT}E4WU^DGlXw1;@2d7D`UuD<y+s{RY-3-(B^AWU>sb#iK!>JqFe( zZLfj#O510kO+oh?*r56tZlmfuXke4l9y736X-5nsl;4nnElL|PuvKZt3~WRb$d^ktlhszKnFgmQg0ljV(UZgH(jy6h zjnyx$5>C`$rxijC9t-=I&{4&*JI!`F2&Fc zlf_(FP|7QmgHsliPZg><svTmegZRn=HId-B*ypUEf|V~WSrDiqus1{`$7*z-)V zqAF~dCE8zYg(p`vNVgz_8{@#a;P_VfkHjba(NVety8GTR84;MVFe zm2L^T7DXA?1va;*<_NjCdJ0Uv#`Fg| zl5V6Vd7=vfpR?6XDJWYyf5DEQs5IdVe&@^19k@f?P!8BhXHZ|G1@8`ncWS|Fkz|PQ z$UR|jw-&rk3+@ercWJ@vwcx%mc()eZrd{)aFgU3NZ_tiB5C-qjf;VbMJ`@J`Xu+Gb z;KO0?UM+aD7CaaR_iDij?V5+f;C))~7A^Q_7~H1?Z`Fd2hr#=`;B8v)i7@zp7Tm5) zSUL>u*Md8=;IS}xKnw2FPWx0Cd{7HMjWay;Jd#bfdG4DiS9jjU#Th*PD=t&B?_zoe zS5?;xy!$BJ!;VIV-O5nBi|69&X7IucUYWto8t@zU&@<=LHG{Vsc=i4-uf9eTIZy|G zuO-`Hn1MzC4mC0yZe$p&8?w>5hUxY3UC0crd1z9f+y^ssbS_f-*h4|EExZ#0yc;fK7jE&w z`;o=?2ln6}^oaS`E85U2`mj%2LZ7&a{o)545PzXx{EY$e00)~^G0q)ETd8Vq_MTxC zVjQ=5S$s)bi@}TD^2jlpX4(NU3`B9A2OKWOP(LHC|};ehxEXwZSdh)=g+`E U0~0>d+oh{ zq5TPcXk9g3s}Eg$=}Z4h|3X*4IYR=OHR)>B%ItH_-rwH)%-Q>!^VdJW{SIIZ-wE`Z zYt>XXpVo32ZE1Qgnbd8^PNo$Ifv&=aSuw29)J)YbT84sM0{aastr4S{1+8S1hARc# z(rMc4MnR`Qx(?4iDO+a2^fFGVY+A;xvS&JWCD}a9SbC+RV7I`r|HdhZ3+#&k3mm8; z%X;CFzHTIE9LGv3*dx##QYq*b=#csd+;YzLi0h$=9PUV}?t0C2O0-&XR?MQeq2K^t zLi3t{TCg5z&SS%M&7whlzMh01cS7J$(I{x1Rn-cPYiLHHpcT!EzG~4n&iCtXYI?Eg z?gaYT5V)J#O;U!NvW4>k3)mYf_)zet;J?gHj zKMeu|ZZ`dCqG3Z&QTKTGF&2TXl^lPMiT;7+U8*>Qmt$x{zd*akg5tLG&DBybx(OAp z1h(g!9m!p*IE*8{qm+uH!RUgDW5H-tMPC5DsN#6Ac1gvFVC{;Elfj4~P6eY^RU`wu z*HoMiM$;dpngvf_e8+oj0gPw~`dYxPIDOp~INaX|-E7MJsL0~YINGtu zYO8N3XP2vf8!YoQ8qi=-Cb<&B9o!W-*ihD+L-v)lc`Jr4yv;t+%Vq1Siu*Vl=gI?r zM-A94%V?r83n$l5NHgEX!#D%8@YH&yemn(*s8nSC%2bRP_F;{CsiW%ID%cR{X@sdS zOVGP9n0O>`sz0|~*maBMey9CGl;X5!TZ$DP^^P+$Z5E5ITd6hEbv-L3S%Zi&-ixCb ztfSQS`-nE)j=$9p_u<94rRt6s;cFCZlJ9bv>CBC+wy->}txVtJvF_?0$fXfI*z&OfbDD@K6{$90@** zVY&!M9tnd}k>I0|;B*)~5(z#Q2_6fBFGPa-BKJHV2B#yz$0H+O4ueM{!6zakUk!uD zBEcsk!INR|#Ypg}Nbpn`JRS*7M(+7q7fi9PiYi1xq!o{(<5P475@V1&a0Ouo6dVaB8U3@OTIK z$qS5Z+nlT6!xmQQ|7A7SDv|Lf_$M937GW;8a&WbkVzQNDswrfveO=qOO3bxLYNl0) z*`FJHHHB`D&m)c@-iU@VNn(455qw30{Sj&WiBbHGG0};Oq7UQZGA@Y+xFVimQhZOG z&vU)Od2jI?Pabpllw|b|)-_{0G^ScX$6m NDiplkaqV0B!@th$z~2A> 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 d67cc4fcc9fb891d612eeb09b93de381b28d4f71..041d56d32d58f498bc9050a4efe6700b30ae07e3 100644 GIT binary patch literal 58387 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 UXk2_go6*<1jUNC2$1ivPAB~I(b^rhX literal 41081 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%0D+ IcryY15AONEod5s; diff --git a/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctl.class b/target/scala-2.12/classes/ifu/el2_ifu_ifc_ctl.class index 044a8e5f1f3791e0acf926dd1995459779bfd144..c0d3e46a0e47b290e1b151c27314b60a9967ba25 100644 GIT binary patch delta 2432 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 diff --git a/target/scala-2.12/classes/ifu/ifu_ic$.class b/target/scala-2.12/classes/ifu/ifu_ic$.class index eb4e2c2927e89558287402a19fbda4adf6797b0e..b30b60b06023df6f7979d693cf422636f1544fca 100644 GIT binary patch delta 99 zcmbOtH$`s4O)f^w$+x&{futd?_+))`YX7_}z%@%plAF{lIi4|pqpWF+5i07D-dd;kCd delta 99 zcmbOtH$`s4O)f^k$+x&{futd?_+))`YX7=