;buildInfoPackage: chisel3, version: 3.3.1, scalaVersion: 2.12.11, sbtVersion: 1.3.10 circuit el2_lsu_lsc_ctl : module el2_lsu_addrcheck : input clock : Clock input reset : AsyncReset output io : {flip lsu_c2_m_clk : Clock, flip start_addr_d : UInt<32>, flip end_addr_d : UInt<32>, flip lsu_pkt_d : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, flip dec_tlu_mrac_ff : UInt<32>, flip rs1_region_d : UInt<4>, flip rs1_d : UInt<32>, is_sideeffects_m : UInt<1>, addr_in_dccm_d : UInt<1>, addr_in_pic_d : UInt<1>, addr_external_d : UInt<1>, access_fault_d : UInt<1>, misaligned_fault_d : UInt<1>, exc_mscause_d : UInt<4>, fir_dccm_access_error_d : UInt<1>, fir_nondccm_access_error_d : UInt<1>, flip scan_mode : UInt<1>} node _T = bits(io.start_addr_d, 31, 28) @[el2_lib.scala 253:27] node start_addr_in_dccm_region_d = eq(_T, UInt<4>("h0f")) @[el2_lib.scala 253:49] wire start_addr_in_dccm_d : UInt<1> @[el2_lib.scala 254:26] node _T_1 = bits(io.start_addr_d, 31, 16) @[el2_lib.scala 258:24] node _T_2 = eq(_T_1, UInt<16>("h0f004")) @[el2_lib.scala 258:39] start_addr_in_dccm_d <= _T_2 @[el2_lib.scala 258:16] node _T_3 = bits(io.end_addr_d, 31, 28) @[el2_lib.scala 253:27] node end_addr_in_dccm_region_d = eq(_T_3, UInt<4>("h0f")) @[el2_lib.scala 253:49] wire end_addr_in_dccm_d : UInt<1> @[el2_lib.scala 254:26] node _T_4 = bits(io.end_addr_d, 31, 16) @[el2_lib.scala 258:24] node _T_5 = eq(_T_4, UInt<16>("h0f004")) @[el2_lib.scala 258:39] end_addr_in_dccm_d <= _T_5 @[el2_lib.scala 258:16] wire addr_in_iccm : UInt<1> addr_in_iccm <= UInt<1>("h00") node _T_6 = bits(io.start_addr_d, 31, 28) @[el2_lsu_addrcheck.scala 42:37] node _T_7 = eq(_T_6, UInt<4>("h0e")) @[el2_lsu_addrcheck.scala 42:45] addr_in_iccm <= _T_7 @[el2_lsu_addrcheck.scala 42:18] node _T_8 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 50:89] node _T_9 = bits(_T_8, 31, 28) @[el2_lib.scala 253:27] node start_addr_in_pic_region_d = eq(_T_9, UInt<4>("h0f")) @[el2_lib.scala 253:49] wire start_addr_in_pic_d : UInt<1> @[el2_lib.scala 254:26] node _T_10 = bits(_T_8, 31, 15) @[el2_lib.scala 258:24] node _T_11 = eq(_T_10, UInt<17>("h01e018")) @[el2_lib.scala 258:39] start_addr_in_pic_d <= _T_11 @[el2_lib.scala 258:16] node _T_12 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 52:83] node _T_13 = bits(_T_12, 31, 28) @[el2_lib.scala 253:27] node end_addr_in_pic_region_d = eq(_T_13, UInt<4>("h0f")) @[el2_lib.scala 253:49] wire end_addr_in_pic_d : UInt<1> @[el2_lib.scala 254:26] node _T_14 = bits(_T_12, 31, 15) @[el2_lib.scala 258:24] node _T_15 = eq(_T_14, UInt<17>("h01e018")) @[el2_lib.scala 258:39] end_addr_in_pic_d <= _T_15 @[el2_lib.scala 258:16] node start_addr_dccm_or_pic = or(start_addr_in_dccm_region_d, start_addr_in_pic_region_d) @[el2_lsu_addrcheck.scala 54:60] node _T_16 = bits(io.rs1_region_d, 3, 0) @[el2_lsu_addrcheck.scala 55:48] node _T_17 = eq(_T_16, UInt<4>("h0f")) @[el2_lsu_addrcheck.scala 55:54] node _T_18 = bits(io.rs1_region_d, 3, 0) @[el2_lsu_addrcheck.scala 55:91] node _T_19 = eq(_T_18, UInt<4>("h0f")) @[el2_lsu_addrcheck.scala 55:97] node base_reg_dccm_or_pic = or(_T_17, _T_19) @[el2_lsu_addrcheck.scala 55:73] node _T_20 = and(start_addr_in_dccm_d, end_addr_in_dccm_d) @[el2_lsu_addrcheck.scala 56:57] io.addr_in_dccm_d <= _T_20 @[el2_lsu_addrcheck.scala 56:32] node _T_21 = and(start_addr_in_pic_d, end_addr_in_pic_d) @[el2_lsu_addrcheck.scala 57:56] io.addr_in_pic_d <= _T_21 @[el2_lsu_addrcheck.scala 57:32] node _T_22 = or(start_addr_in_dccm_region_d, start_addr_in_pic_region_d) @[el2_lsu_addrcheck.scala 59:63] node _T_23 = not(_T_22) @[el2_lsu_addrcheck.scala 59:33] io.addr_external_d <= _T_23 @[el2_lsu_addrcheck.scala 59:30] node _T_24 = bits(io.start_addr_d, 31, 28) @[el2_lsu_addrcheck.scala 60:51] node csr_idx = cat(_T_24, UInt<1>("h01")) @[Cat.scala 29:58] node _T_25 = dshr(io.dec_tlu_mrac_ff, csr_idx) @[el2_lsu_addrcheck.scala 61:50] node _T_26 = bits(_T_25, 0, 0) @[el2_lsu_addrcheck.scala 61:50] node _T_27 = or(start_addr_in_dccm_region_d, start_addr_in_pic_region_d) @[el2_lsu_addrcheck.scala 61:92] node _T_28 = or(_T_27, addr_in_iccm) @[el2_lsu_addrcheck.scala 61:121] node _T_29 = eq(_T_28, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 61:62] node _T_30 = and(_T_26, _T_29) @[el2_lsu_addrcheck.scala 61:60] node _T_31 = and(_T_30, io.lsu_pkt_d.valid) @[el2_lsu_addrcheck.scala 61:137] node _T_32 = or(io.lsu_pkt_d.store, io.lsu_pkt_d.load) @[el2_lsu_addrcheck.scala 61:180] node is_sideeffects_d = and(_T_31, _T_32) @[el2_lsu_addrcheck.scala 61:158] node _T_33 = bits(io.start_addr_d, 1, 0) @[el2_lsu_addrcheck.scala 62:69] node _T_34 = eq(_T_33, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 62:75] node _T_35 = and(io.lsu_pkt_d.word, _T_34) @[el2_lsu_addrcheck.scala 62:51] node _T_36 = bits(io.start_addr_d, 0, 0) @[el2_lsu_addrcheck.scala 62:124] node _T_37 = eq(_T_36, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 62:128] node _T_38 = and(io.lsu_pkt_d.half, _T_37) @[el2_lsu_addrcheck.scala 62:106] node _T_39 = or(_T_35, _T_38) @[el2_lsu_addrcheck.scala 62:85] node is_aligned_d = or(_T_39, io.lsu_pkt_d.by) @[el2_lsu_addrcheck.scala 62:138] node _T_40 = cat(UInt<1>("h00"), UInt<1>("h00")) @[Cat.scala 29:58] node _T_41 = cat(UInt<1>("h00"), UInt<1>("h00")) @[Cat.scala 29:58] node _T_42 = cat(_T_41, _T_40) @[Cat.scala 29:58] node _T_43 = cat(UInt<1>("h01"), UInt<1>("h01")) @[Cat.scala 29:58] node _T_44 = cat(UInt<1>("h01"), UInt<1>("h01")) @[Cat.scala 29:58] node _T_45 = cat(_T_44, _T_43) @[Cat.scala 29:58] node _T_46 = cat(_T_45, _T_42) @[Cat.scala 29:58] node _T_47 = orr(_T_46) @[el2_lsu_addrcheck.scala 66:87] node _T_48 = eq(_T_47, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 65:33] node _T_49 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 67:47] node _T_50 = or(_T_49, UInt<32>("h07fffffff")) @[el2_lsu_addrcheck.scala 67:54] node _T_51 = or(UInt<32>("h00"), UInt<32>("h07fffffff")) @[el2_lsu_addrcheck.scala 67:99] node _T_52 = eq(_T_50, _T_51) @[el2_lsu_addrcheck.scala 67:76] node _T_53 = and(UInt<1>("h01"), _T_52) @[el2_lsu_addrcheck.scala 67:28] node _T_54 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 68:47] node _T_55 = or(_T_54, UInt<32>("h03fffffff")) @[el2_lsu_addrcheck.scala 68:54] node _T_56 = or(UInt<32>("h0c0000000"), UInt<32>("h03fffffff")) @[el2_lsu_addrcheck.scala 68:99] node _T_57 = eq(_T_55, _T_56) @[el2_lsu_addrcheck.scala 68:76] node _T_58 = and(UInt<1>("h01"), _T_57) @[el2_lsu_addrcheck.scala 68:28] node _T_59 = or(_T_53, _T_58) @[el2_lsu_addrcheck.scala 67:121] node _T_60 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 69:47] node _T_61 = or(_T_60, UInt<32>("h01fffffff")) @[el2_lsu_addrcheck.scala 69:54] node _T_62 = or(UInt<32>("h0a0000000"), UInt<32>("h01fffffff")) @[el2_lsu_addrcheck.scala 69:99] node _T_63 = eq(_T_61, _T_62) @[el2_lsu_addrcheck.scala 69:76] node _T_64 = and(UInt<1>("h01"), _T_63) @[el2_lsu_addrcheck.scala 69:28] node _T_65 = or(_T_59, _T_64) @[el2_lsu_addrcheck.scala 68:121] node _T_66 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 70:47] node _T_67 = or(_T_66, UInt<32>("h0fffffff")) @[el2_lsu_addrcheck.scala 70:54] node _T_68 = or(UInt<32>("h080000000"), UInt<32>("h0fffffff")) @[el2_lsu_addrcheck.scala 70:99] node _T_69 = eq(_T_67, _T_68) @[el2_lsu_addrcheck.scala 70:76] node _T_70 = and(UInt<1>("h01"), _T_69) @[el2_lsu_addrcheck.scala 70:28] node _T_71 = or(_T_65, _T_70) @[el2_lsu_addrcheck.scala 69:121] node _T_72 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 71:47] node _T_73 = or(_T_72, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 71:54] node _T_74 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 71:99] node _T_75 = eq(_T_73, _T_74) @[el2_lsu_addrcheck.scala 71:76] node _T_76 = and(UInt<1>("h00"), _T_75) @[el2_lsu_addrcheck.scala 71:28] node _T_77 = or(_T_71, _T_76) @[el2_lsu_addrcheck.scala 70:121] node _T_78 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 72:47] node _T_79 = or(_T_78, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 72:54] node _T_80 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 72:99] node _T_81 = eq(_T_79, _T_80) @[el2_lsu_addrcheck.scala 72:76] node _T_82 = and(UInt<1>("h00"), _T_81) @[el2_lsu_addrcheck.scala 72:28] node _T_83 = or(_T_77, _T_82) @[el2_lsu_addrcheck.scala 71:121] node _T_84 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 73:47] node _T_85 = or(_T_84, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 73:54] node _T_86 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 73:99] node _T_87 = eq(_T_85, _T_86) @[el2_lsu_addrcheck.scala 73:76] node _T_88 = and(UInt<1>("h00"), _T_87) @[el2_lsu_addrcheck.scala 73:28] node _T_89 = or(_T_83, _T_88) @[el2_lsu_addrcheck.scala 72:121] node _T_90 = bits(io.start_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 74:47] node _T_91 = or(_T_90, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 74:54] node _T_92 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 74:99] node _T_93 = eq(_T_91, _T_92) @[el2_lsu_addrcheck.scala 74:76] node _T_94 = and(UInt<1>("h00"), _T_93) @[el2_lsu_addrcheck.scala 74:28] node _T_95 = or(_T_89, _T_94) @[el2_lsu_addrcheck.scala 73:121] node _T_96 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 76:46] node _T_97 = or(_T_96, UInt<32>("h07fffffff")) @[el2_lsu_addrcheck.scala 76:55] node _T_98 = or(UInt<32>("h00"), UInt<32>("h07fffffff")) @[el2_lsu_addrcheck.scala 76:100] node _T_99 = eq(_T_97, _T_98) @[el2_lsu_addrcheck.scala 76:77] node _T_100 = and(UInt<1>("h01"), _T_99) @[el2_lsu_addrcheck.scala 76:29] node _T_101 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 77:47] node _T_102 = or(_T_101, UInt<32>("h03fffffff")) @[el2_lsu_addrcheck.scala 77:56] node _T_103 = or(UInt<32>("h0c0000000"), UInt<32>("h03fffffff")) @[el2_lsu_addrcheck.scala 77:101] node _T_104 = eq(_T_102, _T_103) @[el2_lsu_addrcheck.scala 77:78] node _T_105 = and(UInt<1>("h01"), _T_104) @[el2_lsu_addrcheck.scala 77:30] node _T_106 = or(_T_100, _T_105) @[el2_lsu_addrcheck.scala 76:122] node _T_107 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 78:47] node _T_108 = or(_T_107, UInt<32>("h01fffffff")) @[el2_lsu_addrcheck.scala 78:56] node _T_109 = or(UInt<32>("h0a0000000"), UInt<32>("h01fffffff")) @[el2_lsu_addrcheck.scala 78:101] node _T_110 = eq(_T_108, _T_109) @[el2_lsu_addrcheck.scala 78:78] node _T_111 = and(UInt<1>("h01"), _T_110) @[el2_lsu_addrcheck.scala 78:30] node _T_112 = or(_T_106, _T_111) @[el2_lsu_addrcheck.scala 77:123] node _T_113 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 79:47] node _T_114 = or(_T_113, UInt<32>("h0fffffff")) @[el2_lsu_addrcheck.scala 79:56] node _T_115 = or(UInt<32>("h080000000"), UInt<32>("h0fffffff")) @[el2_lsu_addrcheck.scala 79:101] node _T_116 = eq(_T_114, _T_115) @[el2_lsu_addrcheck.scala 79:78] node _T_117 = and(UInt<1>("h01"), _T_116) @[el2_lsu_addrcheck.scala 79:30] node _T_118 = or(_T_112, _T_117) @[el2_lsu_addrcheck.scala 78:123] node _T_119 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 80:47] node _T_120 = or(_T_119, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 80:56] node _T_121 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 80:101] node _T_122 = eq(_T_120, _T_121) @[el2_lsu_addrcheck.scala 80:78] node _T_123 = and(UInt<1>("h00"), _T_122) @[el2_lsu_addrcheck.scala 80:30] node _T_124 = or(_T_118, _T_123) @[el2_lsu_addrcheck.scala 79:123] node _T_125 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 81:47] node _T_126 = or(_T_125, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 81:56] node _T_127 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 81:101] node _T_128 = eq(_T_126, _T_127) @[el2_lsu_addrcheck.scala 81:78] node _T_129 = and(UInt<1>("h00"), _T_128) @[el2_lsu_addrcheck.scala 81:30] node _T_130 = or(_T_124, _T_129) @[el2_lsu_addrcheck.scala 80:123] node _T_131 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 82:47] node _T_132 = or(_T_131, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 82:56] node _T_133 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 82:101] node _T_134 = eq(_T_132, _T_133) @[el2_lsu_addrcheck.scala 82:78] node _T_135 = and(UInt<1>("h00"), _T_134) @[el2_lsu_addrcheck.scala 82:30] node _T_136 = or(_T_130, _T_135) @[el2_lsu_addrcheck.scala 81:123] node _T_137 = bits(io.end_addr_d, 31, 0) @[el2_lsu_addrcheck.scala 83:47] node _T_138 = or(_T_137, UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 83:56] node _T_139 = or(UInt<32>("h00"), UInt<32>("h0ffffffff")) @[el2_lsu_addrcheck.scala 83:101] node _T_140 = eq(_T_138, _T_139) @[el2_lsu_addrcheck.scala 83:78] node _T_141 = and(UInt<1>("h00"), _T_140) @[el2_lsu_addrcheck.scala 83:30] node _T_142 = or(_T_136, _T_141) @[el2_lsu_addrcheck.scala 82:123] node _T_143 = and(_T_95, _T_142) @[el2_lsu_addrcheck.scala 75:7] node non_dccm_access_ok = or(_T_48, _T_143) @[el2_lsu_addrcheck.scala 66:92] node regpred_access_fault_d = xor(start_addr_dccm_or_pic, base_reg_dccm_or_pic) @[el2_lsu_addrcheck.scala 85:57] node _T_144 = bits(io.start_addr_d, 1, 0) @[el2_lsu_addrcheck.scala 86:70] node _T_145 = neq(_T_144, UInt<2>("h00")) @[el2_lsu_addrcheck.scala 86:76] node _T_146 = eq(io.lsu_pkt_d.word, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 86:92] node _T_147 = or(_T_145, _T_146) @[el2_lsu_addrcheck.scala 86:90] node picm_access_fault_d = and(io.addr_in_pic_d, _T_147) @[el2_lsu_addrcheck.scala 86:51] wire unmapped_access_fault_d : UInt<1> unmapped_access_fault_d <= UInt<1>("h01") wire mpu_access_fault_d : UInt<1> mpu_access_fault_d <= UInt<1>("h01") node _T_148 = or(start_addr_in_dccm_d, start_addr_in_pic_d) @[el2_lsu_addrcheck.scala 91:87] node _T_149 = eq(_T_148, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 91:64] node _T_150 = and(start_addr_in_dccm_region_d, _T_149) @[el2_lsu_addrcheck.scala 91:62] node _T_151 = or(end_addr_in_dccm_d, end_addr_in_pic_d) @[el2_lsu_addrcheck.scala 93:57] node _T_152 = eq(_T_151, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 93:36] node _T_153 = and(end_addr_in_dccm_region_d, _T_152) @[el2_lsu_addrcheck.scala 93:34] node _T_154 = or(_T_150, _T_153) @[el2_lsu_addrcheck.scala 91:112] node _T_155 = and(start_addr_in_dccm_d, end_addr_in_pic_d) @[el2_lsu_addrcheck.scala 95:29] node _T_156 = or(_T_154, _T_155) @[el2_lsu_addrcheck.scala 93:85] node _T_157 = and(start_addr_in_pic_d, end_addr_in_dccm_d) @[el2_lsu_addrcheck.scala 97:29] node _T_158 = or(_T_156, _T_157) @[el2_lsu_addrcheck.scala 95:85] unmapped_access_fault_d <= _T_158 @[el2_lsu_addrcheck.scala 91:29] node _T_159 = eq(start_addr_in_dccm_region_d, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 99:33] node _T_160 = eq(non_dccm_access_ok, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 99:64] node _T_161 = and(_T_159, _T_160) @[el2_lsu_addrcheck.scala 99:62] mpu_access_fault_d <= _T_161 @[el2_lsu_addrcheck.scala 99:29] node _T_162 = or(unmapped_access_fault_d, mpu_access_fault_d) @[el2_lsu_addrcheck.scala 111:49] node _T_163 = or(_T_162, picm_access_fault_d) @[el2_lsu_addrcheck.scala 111:70] node _T_164 = or(_T_163, regpred_access_fault_d) @[el2_lsu_addrcheck.scala 111:92] node _T_165 = and(_T_164, io.lsu_pkt_d.valid) @[el2_lsu_addrcheck.scala 111:118] node _T_166 = eq(io.lsu_pkt_d.dma, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 111:141] node _T_167 = and(_T_165, _T_166) @[el2_lsu_addrcheck.scala 111:139] io.access_fault_d <= _T_167 @[el2_lsu_addrcheck.scala 111:21] node _T_168 = bits(unmapped_access_fault_d, 0, 0) @[el2_lsu_addrcheck.scala 112:60] node _T_169 = bits(mpu_access_fault_d, 0, 0) @[el2_lsu_addrcheck.scala 112:100] node _T_170 = bits(regpred_access_fault_d, 0, 0) @[el2_lsu_addrcheck.scala 112:144] node _T_171 = bits(picm_access_fault_d, 0, 0) @[el2_lsu_addrcheck.scala 112:185] node _T_172 = mux(_T_171, UInt<4>("h06"), UInt<4>("h00")) @[el2_lsu_addrcheck.scala 112:164] node _T_173 = mux(_T_170, UInt<4>("h05"), _T_172) @[el2_lsu_addrcheck.scala 112:120] node _T_174 = mux(_T_169, UInt<4>("h03"), _T_173) @[el2_lsu_addrcheck.scala 112:80] node access_fault_mscause_d = mux(_T_168, UInt<4>("h02"), _T_174) @[el2_lsu_addrcheck.scala 112:35] node _T_175 = bits(io.start_addr_d, 31, 28) @[el2_lsu_addrcheck.scala 113:53] node _T_176 = bits(io.end_addr_d, 31, 28) @[el2_lsu_addrcheck.scala 113:78] node regcross_misaligned_fault_d = neq(_T_175, _T_176) @[el2_lsu_addrcheck.scala 113:61] node _T_177 = eq(is_aligned_d, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 114:59] node sideeffect_misaligned_fault_d = and(is_sideeffects_d, _T_177) @[el2_lsu_addrcheck.scala 114:57] node _T_178 = and(sideeffect_misaligned_fault_d, io.addr_external_d) @[el2_lsu_addrcheck.scala 115:90] node _T_179 = or(regcross_misaligned_fault_d, _T_178) @[el2_lsu_addrcheck.scala 115:57] node _T_180 = and(_T_179, io.lsu_pkt_d.valid) @[el2_lsu_addrcheck.scala 115:113] node _T_181 = eq(io.lsu_pkt_d.dma, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 115:136] node _T_182 = and(_T_180, _T_181) @[el2_lsu_addrcheck.scala 115:134] io.misaligned_fault_d <= _T_182 @[el2_lsu_addrcheck.scala 115:25] node _T_183 = bits(sideeffect_misaligned_fault_d, 0, 0) @[el2_lsu_addrcheck.scala 116:111] node _T_184 = mux(_T_183, UInt<4>("h01"), UInt<4>("h00")) @[el2_lsu_addrcheck.scala 116:80] node misaligned_fault_mscause_d = mux(regcross_misaligned_fault_d, UInt<4>("h02"), _T_184) @[el2_lsu_addrcheck.scala 116:39] node _T_185 = bits(io.misaligned_fault_d, 0, 0) @[el2_lsu_addrcheck.scala 117:50] node _T_186 = bits(misaligned_fault_mscause_d, 3, 0) @[el2_lsu_addrcheck.scala 117:84] node _T_187 = bits(access_fault_mscause_d, 3, 0) @[el2_lsu_addrcheck.scala 117:113] node _T_188 = mux(_T_185, _T_186, _T_187) @[el2_lsu_addrcheck.scala 117:27] io.exc_mscause_d <= _T_188 @[el2_lsu_addrcheck.scala 117:21] node _T_189 = eq(start_addr_in_dccm_d, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 118:66] node _T_190 = and(start_addr_in_dccm_region_d, _T_189) @[el2_lsu_addrcheck.scala 118:64] node _T_191 = eq(end_addr_in_dccm_d, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 118:120] node _T_192 = and(end_addr_in_dccm_region_d, _T_191) @[el2_lsu_addrcheck.scala 118:118] node _T_193 = or(_T_190, _T_192) @[el2_lsu_addrcheck.scala 118:88] node _T_194 = and(_T_193, io.lsu_pkt_d.valid) @[el2_lsu_addrcheck.scala 118:142] node _T_195 = and(_T_194, io.lsu_pkt_d.fast_int) @[el2_lsu_addrcheck.scala 118:163] io.fir_dccm_access_error_d <= _T_195 @[el2_lsu_addrcheck.scala 118:31] node _T_196 = and(start_addr_in_dccm_region_d, end_addr_in_dccm_region_d) @[el2_lsu_addrcheck.scala 119:66] node _T_197 = eq(_T_196, UInt<1>("h00")) @[el2_lsu_addrcheck.scala 119:36] node _T_198 = and(_T_197, io.lsu_pkt_d.valid) @[el2_lsu_addrcheck.scala 119:95] node _T_199 = and(_T_198, io.lsu_pkt_d.fast_int) @[el2_lsu_addrcheck.scala 119:116] io.fir_nondccm_access_error_d <= _T_199 @[el2_lsu_addrcheck.scala 119:33] reg _T_200 : UInt, io.lsu_c2_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_addrcheck.scala 121:60] _T_200 <= is_sideeffects_d @[el2_lsu_addrcheck.scala 121:60] io.is_sideeffects_m <= _T_200 @[el2_lsu_addrcheck.scala 121:50] module el2_lsu_lsc_ctl : input clock : Clock input reset : AsyncReset output io : {flip lsu_c1_m_clk : Clock, flip lsu_c1_r_clk : Clock, flip lsu_c2_m_clk : Clock, flip lsu_c2_r_clk : Clock, flip lsu_store_c1_m_clk : Clock, flip lsu_ld_data_r : UInt<32>, flip lsu_ld_data_corr_r : UInt<32>, flip lsu_single_ecc_error_r : UInt<1>, flip lsu_double_ecc_error_r : UInt<1>, flip lsu_ld_data_m : UInt<32>, flip lsu_single_ecc_error_m : UInt<1>, flip lsu_double_ecc_error_m : UInt<1>, flip flush_m_up : UInt<1>, flip flush_r : UInt<1>, flip exu_lsu_rs1_d : UInt<32>, flip exu_lsu_rs2_d : UInt<32>, flip lsu_p : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, flip dec_lsu_valid_raw_d : UInt<1>, flip dec_lsu_offset_d : UInt<12>, flip picm_mask_data_m : UInt<32>, flip bus_read_data_m : UInt<32>, lsu_result_m : UInt<32>, lsu_result_corr_r : UInt<32>, lsu_addr_d : UInt<32>, lsu_addr_m : UInt<32>, lsu_addr_r : UInt<32>, end_addr_d : UInt<32>, end_addr_m : UInt<32>, end_addr_r : UInt<32>, store_data_m : UInt<32>, flip dec_tlu_mrac_ff : UInt<32>, lsu_exc_m : UInt<1>, is_sideeffects_m : UInt<1>, lsu_commit_r : UInt<1>, lsu_single_ecc_error_incr : UInt<1>, lsu_error_pkt_r : {exc_valid : UInt<1>, single_ecc_error : UInt<1>, inst_type : UInt<1>, exc_type : UInt<1>, mscause : UInt<4>, addr : UInt<32>}, lsu_fir_addr : UInt<31>, lsu_fir_error : UInt<2>, addr_in_dccm_d : UInt<1>, addr_in_dccm_m : UInt<1>, addr_in_dccm_r : UInt<1>, addr_in_pic_d : UInt<1>, addr_in_pic_m : UInt<1>, addr_in_pic_r : UInt<1>, addr_external_m : UInt<1>, flip dma_dccm_req : UInt<1>, flip dma_mem_addr : UInt<32>, flip dma_mem_sz : UInt<3>, flip dma_mem_write : UInt<1>, flip dma_mem_wdata : UInt<64>, lsu_pkt_d : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, lsu_pkt_m : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, lsu_pkt_r : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, flip scan_mode : UInt<1>} wire dma_pkt_d : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>} @[el2_lsu_lsc_ctl.scala 96:29] wire lsu_pkt_m_in : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>} @[el2_lsu_lsc_ctl.scala 97:29] wire lsu_pkt_r_in : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>} @[el2_lsu_lsc_ctl.scala 98:29] wire lsu_error_pkt_m : {exc_valid : UInt<1>, single_ecc_error : UInt<1>, inst_type : UInt<1>, exc_type : UInt<1>, mscause : UInt<4>, addr : UInt<32>} @[el2_lsu_lsc_ctl.scala 99:29] node _T = bits(io.dec_lsu_valid_raw_d, 0, 0) @[el2_lsu_lsc_ctl.scala 101:52] node lsu_rs1_d = mux(_T, io.exu_lsu_rs1_d, io.dma_mem_addr) @[el2_lsu_lsc_ctl.scala 101:28] node _T_1 = bits(io.dec_lsu_offset_d, 11, 0) @[el2_lsu_lsc_ctl.scala 102:44] node _T_2 = bits(io.dec_lsu_valid_raw_d, 0, 0) @[Bitwise.scala 72:15] node _T_3 = mux(_T_2, UInt<12>("h0fff"), UInt<12>("h00")) @[Bitwise.scala 72:12] node lsu_offset_d = and(_T_1, _T_3) @[el2_lsu_lsc_ctl.scala 102:51] node _T_4 = bits(io.lsu_pkt_d.load_ldst_bypass_d, 0, 0) @[el2_lsu_lsc_ctl.scala 105:61] node rs1_d = mux(_T_4, io.lsu_result_m, lsu_rs1_d) @[el2_lsu_lsc_ctl.scala 105:28] node _T_5 = bits(rs1_d, 11, 0) @[el2_lib.scala 195:31] node _T_6 = cat(UInt<1>("h00"), _T_5) @[Cat.scala 29:58] node _T_7 = bits(lsu_offset_d, 11, 0) @[el2_lib.scala 195:60] node _T_8 = cat(UInt<1>("h00"), _T_7) @[Cat.scala 29:58] node _T_9 = add(_T_6, _T_8) @[el2_lib.scala 195:39] node _T_10 = tail(_T_9, 1) @[el2_lib.scala 195:39] node _T_11 = bits(lsu_offset_d, 11, 11) @[el2_lib.scala 196:41] node _T_12 = bits(_T_10, 12, 12) @[el2_lib.scala 196:50] node _T_13 = xor(_T_11, _T_12) @[el2_lib.scala 196:46] node _T_14 = not(_T_13) @[el2_lib.scala 196:33] node _T_15 = bits(_T_14, 0, 0) @[Bitwise.scala 72:15] node _T_16 = mux(_T_15, UInt<20>("h0fffff"), UInt<20>("h00")) @[Bitwise.scala 72:12] node _T_17 = bits(rs1_d, 31, 12) @[el2_lib.scala 196:63] node _T_18 = and(_T_16, _T_17) @[el2_lib.scala 196:58] node _T_19 = bits(lsu_offset_d, 11, 11) @[el2_lib.scala 197:25] node _T_20 = not(_T_19) @[el2_lib.scala 197:18] node _T_21 = bits(_T_10, 12, 12) @[el2_lib.scala 197:34] node _T_22 = and(_T_20, _T_21) @[el2_lib.scala 197:30] node _T_23 = bits(_T_22, 0, 0) @[Bitwise.scala 72:15] node _T_24 = mux(_T_23, UInt<20>("h0fffff"), UInt<20>("h00")) @[Bitwise.scala 72:12] node _T_25 = bits(rs1_d, 31, 12) @[el2_lib.scala 197:47] node _T_26 = add(_T_25, UInt<1>("h01")) @[el2_lib.scala 197:54] node _T_27 = tail(_T_26, 1) @[el2_lib.scala 197:54] node _T_28 = and(_T_24, _T_27) @[el2_lib.scala 197:41] node _T_29 = or(_T_18, _T_28) @[el2_lib.scala 196:72] node _T_30 = bits(lsu_offset_d, 11, 11) @[el2_lib.scala 198:24] node _T_31 = bits(_T_10, 12, 12) @[el2_lib.scala 198:34] node _T_32 = not(_T_31) @[el2_lib.scala 198:31] node _T_33 = and(_T_30, _T_32) @[el2_lib.scala 198:29] node _T_34 = bits(_T_33, 0, 0) @[Bitwise.scala 72:15] node _T_35 = mux(_T_34, UInt<20>("h0fffff"), UInt<20>("h00")) @[Bitwise.scala 72:12] node _T_36 = bits(rs1_d, 31, 12) @[el2_lib.scala 198:47] node _T_37 = sub(_T_36, UInt<1>("h01")) @[el2_lib.scala 198:54] node _T_38 = tail(_T_37, 1) @[el2_lib.scala 198:54] node _T_39 = and(_T_35, _T_38) @[el2_lib.scala 198:41] node _T_40 = or(_T_29, _T_39) @[el2_lib.scala 197:61] node _T_41 = bits(_T_10, 11, 0) @[el2_lib.scala 199:22] node full_addr_d = cat(_T_40, _T_41) @[Cat.scala 29:58] node _T_42 = bits(io.lsu_pkt_d.half, 0, 0) @[Bitwise.scala 72:15] node _T_43 = mux(_T_42, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] node _T_44 = and(_T_43, UInt<3>("h01")) @[el2_lsu_lsc_ctl.scala 110:53] node _T_45 = bits(io.lsu_pkt_d.word, 0, 0) @[Bitwise.scala 72:15] node _T_46 = mux(_T_45, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] node _T_47 = and(_T_46, UInt<3>("h03")) @[el2_lsu_lsc_ctl.scala 111:35] node _T_48 = or(_T_44, _T_47) @[el2_lsu_lsc_ctl.scala 110:65] node _T_49 = bits(io.lsu_pkt_d.dword, 0, 0) @[Bitwise.scala 72:15] node _T_50 = mux(_T_49, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] node _T_51 = and(_T_50, UInt<3>("h07")) @[el2_lsu_lsc_ctl.scala 112:35] node addr_offset_d = or(_T_48, _T_51) @[el2_lsu_lsc_ctl.scala 111:47] node _T_52 = bits(lsu_offset_d, 11, 11) @[el2_lsu_lsc_ctl.scala 114:39] node _T_53 = bits(lsu_offset_d, 11, 0) @[el2_lsu_lsc_ctl.scala 114:52] node _T_54 = cat(_T_52, _T_53) @[Cat.scala 29:58] node _T_55 = mux(UInt<1>("h00"), UInt<9>("h01ff"), UInt<9>("h00")) @[Bitwise.scala 72:12] node _T_56 = bits(addr_offset_d, 2, 0) @[el2_lsu_lsc_ctl.scala 114:91] node _T_57 = cat(_T_55, _T_56) @[Cat.scala 29:58] node _T_58 = add(_T_54, _T_57) @[el2_lsu_lsc_ctl.scala 114:60] node end_addr_offset_d = tail(_T_58, 1) @[el2_lsu_lsc_ctl.scala 114:60] node _T_59 = bits(rs1_d, 31, 0) @[el2_lsu_lsc_ctl.scala 115:32] node _T_60 = bits(end_addr_offset_d, 12, 12) @[el2_lsu_lsc_ctl.scala 115:70] node _T_61 = bits(_T_60, 0, 0) @[Bitwise.scala 72:15] node _T_62 = mux(_T_61, UInt<19>("h07ffff"), UInt<19>("h00")) @[Bitwise.scala 72:12] node _T_63 = bits(end_addr_offset_d, 12, 0) @[el2_lsu_lsc_ctl.scala 115:93] node _T_64 = cat(_T_62, _T_63) @[Cat.scala 29:58] node _T_65 = add(_T_59, _T_64) @[el2_lsu_lsc_ctl.scala 115:39] node full_end_addr_d = tail(_T_65, 1) @[el2_lsu_lsc_ctl.scala 115:39] io.end_addr_d <= full_end_addr_d @[el2_lsu_lsc_ctl.scala 116:24] inst addrcheck of el2_lsu_addrcheck @[el2_lsu_lsc_ctl.scala 119:25] addrcheck.clock <= clock addrcheck.reset <= reset addrcheck.io.lsu_c2_m_clk <= io.lsu_c2_m_clk @[el2_lsu_lsc_ctl.scala 121:42] addrcheck.io.start_addr_d <= full_addr_d @[el2_lsu_lsc_ctl.scala 123:42] addrcheck.io.end_addr_d <= full_end_addr_d @[el2_lsu_lsc_ctl.scala 124:42] addrcheck.io.lsu_pkt_d.valid <= io.lsu_pkt_d.valid @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.store_data_bypass_m <= io.lsu_pkt_d.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.load_ldst_bypass_d <= io.lsu_pkt_d.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.store_data_bypass_d <= io.lsu_pkt_d.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.dma <= io.lsu_pkt_d.dma @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.unsign <= io.lsu_pkt_d.unsign @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.store <= io.lsu_pkt_d.store @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.load <= io.lsu_pkt_d.load @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.dword <= io.lsu_pkt_d.dword @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.word <= io.lsu_pkt_d.word @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.half <= io.lsu_pkt_d.half @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.by <= io.lsu_pkt_d.by @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.lsu_pkt_d.fast_int <= io.lsu_pkt_d.fast_int @[el2_lsu_lsc_ctl.scala 125:42] addrcheck.io.dec_tlu_mrac_ff <= io.dec_tlu_mrac_ff @[el2_lsu_lsc_ctl.scala 126:42] node _T_66 = bits(rs1_d, 31, 28) @[el2_lsu_lsc_ctl.scala 127:50] addrcheck.io.rs1_region_d <= _T_66 @[el2_lsu_lsc_ctl.scala 127:42] addrcheck.io.rs1_d <= rs1_d @[el2_lsu_lsc_ctl.scala 128:42] io.is_sideeffects_m <= addrcheck.io.is_sideeffects_m @[el2_lsu_lsc_ctl.scala 129:42] io.addr_in_dccm_d <= addrcheck.io.addr_in_dccm_d @[el2_lsu_lsc_ctl.scala 130:42] io.addr_in_pic_d <= addrcheck.io.addr_in_pic_d @[el2_lsu_lsc_ctl.scala 131:42] addrcheck.io.scan_mode <= io.scan_mode @[el2_lsu_lsc_ctl.scala 138:42] wire exc_mscause_r : UInt<4> exc_mscause_r <= UInt<4>("h00") wire fir_dccm_access_error_r : UInt<1> fir_dccm_access_error_r <= UInt<1>("h00") wire fir_nondccm_access_error_r : UInt<1> fir_nondccm_access_error_r <= UInt<1>("h00") wire access_fault_r : UInt<1> access_fault_r <= UInt<1>("h00") wire misaligned_fault_r : UInt<1> misaligned_fault_r <= UInt<1>("h00") wire lsu_fir_error_m : UInt<2> lsu_fir_error_m <= UInt<2>("h00") wire fir_dccm_access_error_m : UInt<1> fir_dccm_access_error_m <= UInt<1>("h00") wire fir_nondccm_access_error_m : UInt<1> fir_nondccm_access_error_m <= UInt<1>("h00") reg access_fault_m : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 150:75] access_fault_m <= addrcheck.io.access_fault_d @[el2_lsu_lsc_ctl.scala 150:75] reg misaligned_fault_m : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 151:75] misaligned_fault_m <= addrcheck.io.misaligned_fault_d @[el2_lsu_lsc_ctl.scala 151:75] reg exc_mscause_m : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 152:75] exc_mscause_m <= addrcheck.io.exc_mscause_d @[el2_lsu_lsc_ctl.scala 152:75] reg _T_67 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 153:75] _T_67 <= addrcheck.io.fir_dccm_access_error_d @[el2_lsu_lsc_ctl.scala 153:75] fir_dccm_access_error_m <= _T_67 @[el2_lsu_lsc_ctl.scala 153:38] reg _T_68 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 154:75] _T_68 <= addrcheck.io.fir_nondccm_access_error_d @[el2_lsu_lsc_ctl.scala 154:75] fir_nondccm_access_error_m <= _T_68 @[el2_lsu_lsc_ctl.scala 154:38] node _T_69 = or(access_fault_m, misaligned_fault_m) @[el2_lsu_lsc_ctl.scala 156:34] io.lsu_exc_m <= _T_69 @[el2_lsu_lsc_ctl.scala 156:16] node _T_70 = eq(io.lsu_double_ecc_error_r, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 157:64] node _T_71 = and(io.lsu_single_ecc_error_r, _T_70) @[el2_lsu_lsc_ctl.scala 157:62] node _T_72 = or(io.lsu_commit_r, io.lsu_pkt_r.dma) @[el2_lsu_lsc_ctl.scala 157:111] node _T_73 = and(_T_71, _T_72) @[el2_lsu_lsc_ctl.scala 157:92] node _T_74 = and(_T_73, io.lsu_pkt_r.valid) @[el2_lsu_lsc_ctl.scala 157:131] io.lsu_single_ecc_error_incr <= _T_74 @[el2_lsu_lsc_ctl.scala 157:32] node _T_75 = or(access_fault_m, misaligned_fault_m) @[el2_lsu_lsc_ctl.scala 179:50] node _T_76 = or(_T_75, io.lsu_double_ecc_error_m) @[el2_lsu_lsc_ctl.scala 179:71] node _T_77 = and(_T_76, io.lsu_pkt_m.valid) @[el2_lsu_lsc_ctl.scala 179:100] node _T_78 = eq(io.lsu_pkt_m.dma, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 179:123] node _T_79 = and(_T_77, _T_78) @[el2_lsu_lsc_ctl.scala 179:121] node _T_80 = eq(io.lsu_pkt_m.fast_int, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 179:143] node _T_81 = and(_T_79, _T_80) @[el2_lsu_lsc_ctl.scala 179:141] node _T_82 = eq(io.flush_m_up, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 179:168] node _T_83 = and(_T_81, _T_82) @[el2_lsu_lsc_ctl.scala 179:166] lsu_error_pkt_m.exc_valid <= _T_83 @[el2_lsu_lsc_ctl.scala 179:31] node _T_84 = eq(lsu_error_pkt_m.exc_valid, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 180:70] node _T_85 = and(io.lsu_single_ecc_error_m, _T_84) @[el2_lsu_lsc_ctl.scala 180:68] node _T_86 = eq(io.lsu_pkt_m.dma, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 180:100] node _T_87 = and(_T_85, _T_86) @[el2_lsu_lsc_ctl.scala 180:98] lsu_error_pkt_m.single_ecc_error <= _T_87 @[el2_lsu_lsc_ctl.scala 180:38] lsu_error_pkt_m.inst_type <= io.lsu_pkt_m.store @[el2_lsu_lsc_ctl.scala 181:38] node _T_88 = not(misaligned_fault_m) @[el2_lsu_lsc_ctl.scala 182:41] lsu_error_pkt_m.exc_type <= _T_88 @[el2_lsu_lsc_ctl.scala 182:38] node _T_89 = eq(misaligned_fault_m, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 183:75] node _T_90 = and(io.lsu_double_ecc_error_m, _T_89) @[el2_lsu_lsc_ctl.scala 183:73] node _T_91 = eq(access_fault_m, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 183:97] node _T_92 = and(_T_90, _T_91) @[el2_lsu_lsc_ctl.scala 183:95] node _T_93 = eq(_T_92, UInt<1>("h01")) @[el2_lsu_lsc_ctl.scala 183:113] node _T_94 = bits(exc_mscause_m, 3, 0) @[el2_lsu_lsc_ctl.scala 183:144] node _T_95 = mux(_T_93, UInt<4>("h01"), _T_94) @[el2_lsu_lsc_ctl.scala 183:44] lsu_error_pkt_m.mscause <= _T_95 @[el2_lsu_lsc_ctl.scala 183:38] node _T_96 = bits(io.lsu_addr_m, 31, 0) @[el2_lsu_lsc_ctl.scala 184:54] lsu_error_pkt_m.addr <= _T_96 @[el2_lsu_lsc_ctl.scala 184:38] node _T_97 = bits(fir_nondccm_access_error_m, 0, 0) @[el2_lsu_lsc_ctl.scala 185:72] node _T_98 = bits(fir_dccm_access_error_m, 0, 0) @[el2_lsu_lsc_ctl.scala 185:117] node _T_99 = and(io.lsu_pkt_m.fast_int, io.lsu_double_ecc_error_m) @[el2_lsu_lsc_ctl.scala 185:161] node _T_100 = bits(_T_99, 0, 0) @[el2_lsu_lsc_ctl.scala 185:190] node _T_101 = mux(_T_100, UInt<2>("h01"), UInt<2>("h00")) @[el2_lsu_lsc_ctl.scala 185:137] node _T_102 = mux(_T_98, UInt<2>("h02"), _T_101) @[el2_lsu_lsc_ctl.scala 185:92] node _T_103 = mux(_T_97, UInt<2>("h03"), _T_102) @[el2_lsu_lsc_ctl.scala 185:44] lsu_fir_error_m <= _T_103 @[el2_lsu_lsc_ctl.scala 185:38] wire _T_104 : {exc_valid : UInt<1>, single_ecc_error : UInt<1>, inst_type : UInt<1>, exc_type : UInt<1>, mscause : UInt<4>, addr : UInt<32>} @[el2_lsu_lsc_ctl.scala 186:104] _T_104.addr <= UInt<32>("h00") @[el2_lsu_lsc_ctl.scala 186:104] _T_104.mscause <= UInt<4>("h00") @[el2_lsu_lsc_ctl.scala 186:104] _T_104.exc_type <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 186:104] _T_104.inst_type <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 186:104] _T_104.single_ecc_error <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 186:104] _T_104.exc_valid <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 186:104] reg _T_105 : {exc_valid : UInt<1>, single_ecc_error : UInt<1>, inst_type : UInt<1>, exc_type : UInt<1>, mscause : UInt<4>, addr : UInt<32>}, io.lsu_c2_r_clk with : (reset => (reset, _T_104)) @[el2_lsu_lsc_ctl.scala 186:75] _T_105.addr <= lsu_error_pkt_m.addr @[el2_lsu_lsc_ctl.scala 186:75] _T_105.mscause <= lsu_error_pkt_m.mscause @[el2_lsu_lsc_ctl.scala 186:75] _T_105.exc_type <= lsu_error_pkt_m.exc_type @[el2_lsu_lsc_ctl.scala 186:75] _T_105.inst_type <= lsu_error_pkt_m.inst_type @[el2_lsu_lsc_ctl.scala 186:75] _T_105.single_ecc_error <= lsu_error_pkt_m.single_ecc_error @[el2_lsu_lsc_ctl.scala 186:75] _T_105.exc_valid <= lsu_error_pkt_m.exc_valid @[el2_lsu_lsc_ctl.scala 186:75] io.lsu_error_pkt_r.addr <= _T_105.addr @[el2_lsu_lsc_ctl.scala 186:38] io.lsu_error_pkt_r.mscause <= _T_105.mscause @[el2_lsu_lsc_ctl.scala 186:38] io.lsu_error_pkt_r.exc_type <= _T_105.exc_type @[el2_lsu_lsc_ctl.scala 186:38] io.lsu_error_pkt_r.inst_type <= _T_105.inst_type @[el2_lsu_lsc_ctl.scala 186:38] io.lsu_error_pkt_r.single_ecc_error <= _T_105.single_ecc_error @[el2_lsu_lsc_ctl.scala 186:38] io.lsu_error_pkt_r.exc_valid <= _T_105.exc_valid @[el2_lsu_lsc_ctl.scala 186:38] reg _T_106 : UInt, io.lsu_c2_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 187:75] _T_106 <= lsu_fir_error_m @[el2_lsu_lsc_ctl.scala 187:75] io.lsu_fir_error <= _T_106 @[el2_lsu_lsc_ctl.scala 187:38] dma_pkt_d.unsign <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 189:22] dma_pkt_d.fast_int <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 190:22] dma_pkt_d.valid <= io.dma_dccm_req @[el2_lsu_lsc_ctl.scala 191:22] dma_pkt_d.dma <= UInt<1>("h01") @[el2_lsu_lsc_ctl.scala 192:22] dma_pkt_d.store <= io.dma_mem_write @[el2_lsu_lsc_ctl.scala 193:22] node _T_107 = not(io.dma_mem_write) @[el2_lsu_lsc_ctl.scala 194:25] dma_pkt_d.load <= _T_107 @[el2_lsu_lsc_ctl.scala 194:22] node _T_108 = bits(io.dma_mem_sz, 2, 0) @[el2_lsu_lsc_ctl.scala 195:39] node _T_109 = eq(_T_108, UInt<3>("h00")) @[el2_lsu_lsc_ctl.scala 195:45] dma_pkt_d.by <= _T_109 @[el2_lsu_lsc_ctl.scala 195:22] node _T_110 = bits(io.dma_mem_sz, 2, 0) @[el2_lsu_lsc_ctl.scala 196:39] node _T_111 = eq(_T_110, UInt<3>("h01")) @[el2_lsu_lsc_ctl.scala 196:45] dma_pkt_d.half <= _T_111 @[el2_lsu_lsc_ctl.scala 196:22] node _T_112 = bits(io.dma_mem_sz, 2, 0) @[el2_lsu_lsc_ctl.scala 197:39] node _T_113 = eq(_T_112, UInt<3>("h02")) @[el2_lsu_lsc_ctl.scala 197:45] dma_pkt_d.word <= _T_113 @[el2_lsu_lsc_ctl.scala 197:22] node _T_114 = bits(io.dma_mem_sz, 2, 0) @[el2_lsu_lsc_ctl.scala 198:39] node _T_115 = eq(_T_114, UInt<3>("h03")) @[el2_lsu_lsc_ctl.scala 198:45] dma_pkt_d.dword <= _T_115 @[el2_lsu_lsc_ctl.scala 198:22] dma_pkt_d.store_data_bypass_d <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 199:34] dma_pkt_d.load_ldst_bypass_d <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 200:34] dma_pkt_d.store_data_bypass_m <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 201:34] wire lsu_ld_datafn_r : UInt<32> lsu_ld_datafn_r <= UInt<32>("h00") wire lsu_ld_datafn_corr_r : UInt<32> lsu_ld_datafn_corr_r <= UInt<32>("h00") wire lsu_ld_datafn_m : UInt<32> lsu_ld_datafn_m <= UInt<32>("h00") node _T_116 = bits(io.dec_lsu_valid_raw_d, 0, 0) @[el2_lsu_lsc_ctl.scala 207:50] node _T_117 = mux(_T_116, io.lsu_p, dma_pkt_d) @[el2_lsu_lsc_ctl.scala 207:26] io.lsu_pkt_d.valid <= _T_117.valid @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.store_data_bypass_m <= _T_117.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.load_ldst_bypass_d <= _T_117.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.store_data_bypass_d <= _T_117.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.dma <= _T_117.dma @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.unsign <= _T_117.unsign @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.store <= _T_117.store @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.load <= _T_117.load @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.dword <= _T_117.dword @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.word <= _T_117.word @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.half <= _T_117.half @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.by <= _T_117.by @[el2_lsu_lsc_ctl.scala 207:20] io.lsu_pkt_d.fast_int <= _T_117.fast_int @[el2_lsu_lsc_ctl.scala 207:20] lsu_pkt_m_in.valid <= io.lsu_pkt_d.valid @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.store_data_bypass_m <= io.lsu_pkt_d.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.load_ldst_bypass_d <= io.lsu_pkt_d.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.store_data_bypass_d <= io.lsu_pkt_d.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.dma <= io.lsu_pkt_d.dma @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.unsign <= io.lsu_pkt_d.unsign @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.store <= io.lsu_pkt_d.store @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.load <= io.lsu_pkt_d.load @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.dword <= io.lsu_pkt_d.dword @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.word <= io.lsu_pkt_d.word @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.half <= io.lsu_pkt_d.half @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.by <= io.lsu_pkt_d.by @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_m_in.fast_int <= io.lsu_pkt_d.fast_int @[el2_lsu_lsc_ctl.scala 208:20] lsu_pkt_r_in.valid <= io.lsu_pkt_m.valid @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.store_data_bypass_m <= io.lsu_pkt_m.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.load_ldst_bypass_d <= io.lsu_pkt_m.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.store_data_bypass_d <= io.lsu_pkt_m.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.dma <= io.lsu_pkt_m.dma @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.unsign <= io.lsu_pkt_m.unsign @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.store <= io.lsu_pkt_m.store @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.load <= io.lsu_pkt_m.load @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.dword <= io.lsu_pkt_m.dword @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.word <= io.lsu_pkt_m.word @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.half <= io.lsu_pkt_m.half @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.by <= io.lsu_pkt_m.by @[el2_lsu_lsc_ctl.scala 209:20] lsu_pkt_r_in.fast_int <= io.lsu_pkt_m.fast_int @[el2_lsu_lsc_ctl.scala 209:20] node _T_118 = eq(io.lsu_p.fast_int, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 211:64] node _T_119 = and(io.flush_m_up, _T_118) @[el2_lsu_lsc_ctl.scala 211:61] node _T_120 = eq(_T_119, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 211:45] node _T_121 = and(io.lsu_p.valid, _T_120) @[el2_lsu_lsc_ctl.scala 211:43] node _T_122 = or(_T_121, io.dma_dccm_req) @[el2_lsu_lsc_ctl.scala 211:85] io.lsu_pkt_d.valid <= _T_122 @[el2_lsu_lsc_ctl.scala 211:24] node _T_123 = eq(io.lsu_pkt_d.dma, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 212:68] node _T_124 = and(io.flush_m_up, _T_123) @[el2_lsu_lsc_ctl.scala 212:65] node _T_125 = eq(_T_124, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 212:49] node _T_126 = and(io.lsu_pkt_d.valid, _T_125) @[el2_lsu_lsc_ctl.scala 212:47] lsu_pkt_m_in.valid <= _T_126 @[el2_lsu_lsc_ctl.scala 212:24] node _T_127 = eq(io.lsu_pkt_m.dma, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 213:68] node _T_128 = and(io.flush_m_up, _T_127) @[el2_lsu_lsc_ctl.scala 213:65] node _T_129 = eq(_T_128, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 213:49] node _T_130 = and(io.lsu_pkt_m.valid, _T_129) @[el2_lsu_lsc_ctl.scala 213:47] lsu_pkt_r_in.valid <= _T_130 @[el2_lsu_lsc_ctl.scala 213:24] wire _T_131 : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>} @[el2_lsu_lsc_ctl.scala 215:91] _T_131.valid <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.store_data_bypass_m <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.load_ldst_bypass_d <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.store_data_bypass_d <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.dma <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.unsign <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.store <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.load <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.dword <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.word <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.half <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.by <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] _T_131.fast_int <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 215:91] reg _T_132 : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, io.lsu_c1_m_clk with : (reset => (reset, _T_131)) @[el2_lsu_lsc_ctl.scala 215:65] _T_132.valid <= lsu_pkt_m_in.valid @[el2_lsu_lsc_ctl.scala 215:65] _T_132.store_data_bypass_m <= lsu_pkt_m_in.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 215:65] _T_132.load_ldst_bypass_d <= lsu_pkt_m_in.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 215:65] _T_132.store_data_bypass_d <= lsu_pkt_m_in.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 215:65] _T_132.dma <= lsu_pkt_m_in.dma @[el2_lsu_lsc_ctl.scala 215:65] _T_132.unsign <= lsu_pkt_m_in.unsign @[el2_lsu_lsc_ctl.scala 215:65] _T_132.store <= lsu_pkt_m_in.store @[el2_lsu_lsc_ctl.scala 215:65] _T_132.load <= lsu_pkt_m_in.load @[el2_lsu_lsc_ctl.scala 215:65] _T_132.dword <= lsu_pkt_m_in.dword @[el2_lsu_lsc_ctl.scala 215:65] _T_132.word <= lsu_pkt_m_in.word @[el2_lsu_lsc_ctl.scala 215:65] _T_132.half <= lsu_pkt_m_in.half @[el2_lsu_lsc_ctl.scala 215:65] _T_132.by <= lsu_pkt_m_in.by @[el2_lsu_lsc_ctl.scala 215:65] _T_132.fast_int <= lsu_pkt_m_in.fast_int @[el2_lsu_lsc_ctl.scala 215:65] io.lsu_pkt_m.valid <= _T_132.valid @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.store_data_bypass_m <= _T_132.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.load_ldst_bypass_d <= _T_132.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.store_data_bypass_d <= _T_132.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.dma <= _T_132.dma @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.unsign <= _T_132.unsign @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.store <= _T_132.store @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.load <= _T_132.load @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.dword <= _T_132.dword @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.word <= _T_132.word @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.half <= _T_132.half @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.by <= _T_132.by @[el2_lsu_lsc_ctl.scala 215:28] io.lsu_pkt_m.fast_int <= _T_132.fast_int @[el2_lsu_lsc_ctl.scala 215:28] wire _T_133 : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>} @[el2_lsu_lsc_ctl.scala 216:91] _T_133.valid <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.store_data_bypass_m <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.load_ldst_bypass_d <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.store_data_bypass_d <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.dma <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.unsign <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.store <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.load <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.dword <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.word <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.half <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.by <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] _T_133.fast_int <= UInt<1>("h00") @[el2_lsu_lsc_ctl.scala 216:91] reg _T_134 : {fast_int : UInt<1>, by : UInt<1>, half : UInt<1>, word : UInt<1>, dword : UInt<1>, load : UInt<1>, store : UInt<1>, unsign : UInt<1>, dma : UInt<1>, store_data_bypass_d : UInt<1>, load_ldst_bypass_d : UInt<1>, store_data_bypass_m : UInt<1>, valid : UInt<1>}, io.lsu_c1_r_clk with : (reset => (reset, _T_133)) @[el2_lsu_lsc_ctl.scala 216:65] _T_134.valid <= lsu_pkt_r_in.valid @[el2_lsu_lsc_ctl.scala 216:65] _T_134.store_data_bypass_m <= lsu_pkt_r_in.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 216:65] _T_134.load_ldst_bypass_d <= lsu_pkt_r_in.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 216:65] _T_134.store_data_bypass_d <= lsu_pkt_r_in.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 216:65] _T_134.dma <= lsu_pkt_r_in.dma @[el2_lsu_lsc_ctl.scala 216:65] _T_134.unsign <= lsu_pkt_r_in.unsign @[el2_lsu_lsc_ctl.scala 216:65] _T_134.store <= lsu_pkt_r_in.store @[el2_lsu_lsc_ctl.scala 216:65] _T_134.load <= lsu_pkt_r_in.load @[el2_lsu_lsc_ctl.scala 216:65] _T_134.dword <= lsu_pkt_r_in.dword @[el2_lsu_lsc_ctl.scala 216:65] _T_134.word <= lsu_pkt_r_in.word @[el2_lsu_lsc_ctl.scala 216:65] _T_134.half <= lsu_pkt_r_in.half @[el2_lsu_lsc_ctl.scala 216:65] _T_134.by <= lsu_pkt_r_in.by @[el2_lsu_lsc_ctl.scala 216:65] _T_134.fast_int <= lsu_pkt_r_in.fast_int @[el2_lsu_lsc_ctl.scala 216:65] io.lsu_pkt_r.valid <= _T_134.valid @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.store_data_bypass_m <= _T_134.store_data_bypass_m @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.load_ldst_bypass_d <= _T_134.load_ldst_bypass_d @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.store_data_bypass_d <= _T_134.store_data_bypass_d @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.dma <= _T_134.dma @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.unsign <= _T_134.unsign @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.store <= _T_134.store @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.load <= _T_134.load @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.dword <= _T_134.dword @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.word <= _T_134.word @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.half <= _T_134.half @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.by <= _T_134.by @[el2_lsu_lsc_ctl.scala 216:28] io.lsu_pkt_r.fast_int <= _T_134.fast_int @[el2_lsu_lsc_ctl.scala 216:28] reg _T_135 : UInt, io.lsu_c2_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 217:65] _T_135 <= lsu_pkt_m_in.valid @[el2_lsu_lsc_ctl.scala 217:65] io.lsu_pkt_m.valid <= _T_135 @[el2_lsu_lsc_ctl.scala 217:28] reg _T_136 : UInt, io.lsu_c2_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 218:65] _T_136 <= lsu_pkt_r_in.valid @[el2_lsu_lsc_ctl.scala 218:65] io.lsu_pkt_r.valid <= _T_136 @[el2_lsu_lsc_ctl.scala 218:28] node _T_137 = bits(io.dma_mem_wdata, 63, 0) @[el2_lsu_lsc_ctl.scala 220:47] node _T_138 = bits(io.dma_mem_addr, 2, 0) @[el2_lsu_lsc_ctl.scala 220:76] node _T_139 = cat(_T_138, UInt<3>("h00")) @[Cat.scala 29:58] node dma_mem_wdata_shifted = dshr(_T_137, _T_139) @[el2_lsu_lsc_ctl.scala 220:54] node _T_140 = bits(io.dma_dccm_req, 0, 0) @[el2_lsu_lsc_ctl.scala 221:51] node _T_141 = bits(dma_mem_wdata_shifted, 31, 0) @[el2_lsu_lsc_ctl.scala 221:79] node _T_142 = bits(io.exu_lsu_rs2_d, 31, 0) @[el2_lsu_lsc_ctl.scala 221:102] node store_data_d = mux(_T_140, _T_141, _T_142) @[el2_lsu_lsc_ctl.scala 221:34] node _T_143 = bits(io.lsu_pkt_d.store_data_bypass_d, 0, 0) @[el2_lsu_lsc_ctl.scala 222:68] node _T_144 = bits(io.lsu_result_m, 31, 0) @[el2_lsu_lsc_ctl.scala 222:90] node _T_145 = bits(store_data_d, 31, 0) @[el2_lsu_lsc_ctl.scala 222:109] node store_data_m_in = mux(_T_143, _T_144, _T_145) @[el2_lsu_lsc_ctl.scala 222:34] reg store_data_pre_m : UInt, io.lsu_store_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 224:72] store_data_pre_m <= store_data_m_in @[el2_lsu_lsc_ctl.scala 224:72] reg _T_146 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 225:66] _T_146 <= io.lsu_addr_d @[el2_lsu_lsc_ctl.scala 225:66] io.lsu_addr_m <= _T_146 @[el2_lsu_lsc_ctl.scala 225:28] reg _T_147 : UInt, io.lsu_c1_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 226:66] _T_147 <= io.lsu_addr_m @[el2_lsu_lsc_ctl.scala 226:66] io.lsu_addr_r <= _T_147 @[el2_lsu_lsc_ctl.scala 226:28] reg _T_148 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 227:66] _T_148 <= io.end_addr_d @[el2_lsu_lsc_ctl.scala 227:66] io.end_addr_m <= _T_148 @[el2_lsu_lsc_ctl.scala 227:28] reg _T_149 : UInt, io.lsu_c1_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 228:66] _T_149 <= io.end_addr_m @[el2_lsu_lsc_ctl.scala 228:66] io.end_addr_r <= _T_149 @[el2_lsu_lsc_ctl.scala 228:28] reg _T_150 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 229:66] _T_150 <= io.addr_in_dccm_d @[el2_lsu_lsc_ctl.scala 229:66] io.addr_in_dccm_m <= _T_150 @[el2_lsu_lsc_ctl.scala 229:28] reg _T_151 : UInt, io.lsu_c1_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 230:66] _T_151 <= io.addr_in_dccm_m @[el2_lsu_lsc_ctl.scala 230:66] io.addr_in_dccm_r <= _T_151 @[el2_lsu_lsc_ctl.scala 230:28] reg _T_152 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 231:66] _T_152 <= io.addr_in_pic_d @[el2_lsu_lsc_ctl.scala 231:66] io.addr_in_pic_m <= _T_152 @[el2_lsu_lsc_ctl.scala 231:28] reg _T_153 : UInt, io.lsu_c1_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 232:66] _T_153 <= io.addr_in_pic_m @[el2_lsu_lsc_ctl.scala 232:66] io.addr_in_pic_r <= _T_153 @[el2_lsu_lsc_ctl.scala 232:28] reg _T_154 : UInt, io.lsu_c1_m_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 233:66] _T_154 <= addrcheck.io.addr_external_d @[el2_lsu_lsc_ctl.scala 233:66] io.addr_external_m <= _T_154 @[el2_lsu_lsc_ctl.scala 233:28] reg addr_external_r : UInt, io.lsu_c1_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 234:66] addr_external_r <= io.addr_external_m @[el2_lsu_lsc_ctl.scala 234:66] reg bus_read_data_r : UInt, io.lsu_c1_r_clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lsu_lsc_ctl.scala 235:66] bus_read_data_r <= io.bus_read_data_m @[el2_lsu_lsc_ctl.scala 235:66] node _T_155 = bits(io.lsu_ld_data_corr_r, 31, 1) @[el2_lsu_lsc_ctl.scala 237:52] io.lsu_fir_addr <= _T_155 @[el2_lsu_lsc_ctl.scala 237:28] io.lsu_addr_d <= full_addr_d @[el2_lsu_lsc_ctl.scala 239:28] node _T_156 = or(io.lsu_pkt_r.store, io.lsu_pkt_r.load) @[el2_lsu_lsc_ctl.scala 241:63] node _T_157 = and(io.lsu_pkt_r.valid, _T_156) @[el2_lsu_lsc_ctl.scala 241:41] node _T_158 = eq(io.flush_r, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 241:86] node _T_159 = and(_T_157, _T_158) @[el2_lsu_lsc_ctl.scala 241:84] node _T_160 = eq(io.lsu_pkt_r.dma, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 241:100] node _T_161 = and(_T_159, _T_160) @[el2_lsu_lsc_ctl.scala 241:98] io.lsu_commit_r <= _T_161 @[el2_lsu_lsc_ctl.scala 241:19] node _T_162 = bits(io.picm_mask_data_m, 31, 0) @[el2_lsu_lsc_ctl.scala 242:52] node _T_163 = eq(io.addr_in_pic_m, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 242:69] node _T_164 = bits(_T_163, 0, 0) @[Bitwise.scala 72:15] node _T_165 = mux(_T_164, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_166 = or(_T_162, _T_165) @[el2_lsu_lsc_ctl.scala 242:59] node _T_167 = bits(io.lsu_pkt_m.store_data_bypass_m, 0, 0) @[el2_lsu_lsc_ctl.scala 242:128] node _T_168 = mux(_T_167, io.lsu_result_m, store_data_pre_m) @[el2_lsu_lsc_ctl.scala 242:94] node _T_169 = and(_T_166, _T_168) @[el2_lsu_lsc_ctl.scala 242:89] io.store_data_m <= _T_169 @[el2_lsu_lsc_ctl.scala 242:29] node _T_170 = bits(io.addr_external_m, 0, 0) @[el2_lsu_lsc_ctl.scala 263:53] node _T_171 = mux(_T_170, io.bus_read_data_m, io.lsu_ld_data_m) @[el2_lsu_lsc_ctl.scala 263:33] lsu_ld_datafn_m <= _T_171 @[el2_lsu_lsc_ctl.scala 263:27] node _T_172 = eq(addr_external_r, UInt<1>("h01")) @[el2_lsu_lsc_ctl.scala 264:49] node _T_173 = mux(_T_172, bus_read_data_r, io.lsu_ld_data_corr_r) @[el2_lsu_lsc_ctl.scala 264:33] lsu_ld_datafn_corr_r <= _T_173 @[el2_lsu_lsc_ctl.scala 264:27] node _T_174 = and(io.lsu_pkt_m.unsign, io.lsu_pkt_m.by) @[el2_lsu_lsc_ctl.scala 265:61] node _T_175 = bits(_T_174, 0, 0) @[Bitwise.scala 72:15] node _T_176 = mux(_T_175, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_177 = bits(lsu_ld_datafn_m, 7, 0) @[el2_lsu_lsc_ctl.scala 265:115] node _T_178 = cat(UInt<24>("h00"), _T_177) @[Cat.scala 29:58] node _T_179 = and(_T_176, _T_178) @[el2_lsu_lsc_ctl.scala 265:84] node _T_180 = and(io.lsu_pkt_m.unsign, io.lsu_pkt_m.half) @[el2_lsu_lsc_ctl.scala 266:38] node _T_181 = bits(_T_180, 0, 0) @[Bitwise.scala 72:15] node _T_182 = mux(_T_181, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_183 = bits(lsu_ld_datafn_m, 15, 0) @[el2_lsu_lsc_ctl.scala 266:92] node _T_184 = cat(UInt<16>("h00"), _T_183) @[Cat.scala 29:58] node _T_185 = and(_T_182, _T_184) @[el2_lsu_lsc_ctl.scala 266:61] node _T_186 = or(_T_179, _T_185) @[el2_lsu_lsc_ctl.scala 265:123] node _T_187 = eq(io.lsu_pkt_m.unsign, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 267:17] node _T_188 = and(_T_187, io.lsu_pkt_m.by) @[el2_lsu_lsc_ctl.scala 267:38] node _T_189 = bits(_T_188, 0, 0) @[Bitwise.scala 72:15] node _T_190 = mux(_T_189, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_191 = bits(lsu_ld_datafn_m, 7, 7) @[el2_lsu_lsc_ctl.scala 267:92] node _T_192 = bits(_T_191, 0, 0) @[Bitwise.scala 72:15] node _T_193 = mux(_T_192, UInt<24>("h0ffffff"), UInt<24>("h00")) @[Bitwise.scala 72:12] node _T_194 = bits(lsu_ld_datafn_m, 7, 0) @[el2_lsu_lsc_ctl.scala 267:115] node _T_195 = cat(_T_193, _T_194) @[Cat.scala 29:58] node _T_196 = and(_T_190, _T_195) @[el2_lsu_lsc_ctl.scala 267:61] node _T_197 = or(_T_186, _T_196) @[el2_lsu_lsc_ctl.scala 266:104] node _T_198 = eq(io.lsu_pkt_m.unsign, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 268:17] node _T_199 = and(_T_198, io.lsu_pkt_m.half) @[el2_lsu_lsc_ctl.scala 268:38] node _T_200 = bits(_T_199, 0, 0) @[Bitwise.scala 72:15] node _T_201 = mux(_T_200, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_202 = bits(lsu_ld_datafn_m, 15, 15) @[el2_lsu_lsc_ctl.scala 268:91] node _T_203 = bits(_T_202, 0, 0) @[Bitwise.scala 72:15] node _T_204 = mux(_T_203, UInt<16>("h0ffff"), UInt<16>("h00")) @[Bitwise.scala 72:12] node _T_205 = bits(lsu_ld_datafn_m, 15, 0) @[el2_lsu_lsc_ctl.scala 268:115] node _T_206 = cat(_T_204, _T_205) @[Cat.scala 29:58] node _T_207 = and(_T_201, _T_206) @[el2_lsu_lsc_ctl.scala 268:61] node _T_208 = or(_T_197, _T_207) @[el2_lsu_lsc_ctl.scala 267:124] node _T_209 = bits(io.lsu_pkt_m.word, 0, 0) @[Bitwise.scala 72:15] node _T_210 = mux(_T_209, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_211 = bits(lsu_ld_datafn_m, 31, 0) @[el2_lsu_lsc_ctl.scala 269:55] node _T_212 = and(_T_210, _T_211) @[el2_lsu_lsc_ctl.scala 269:38] node _T_213 = or(_T_208, _T_212) @[el2_lsu_lsc_ctl.scala 268:124] io.lsu_result_m <= _T_213 @[el2_lsu_lsc_ctl.scala 265:27] node _T_214 = and(io.lsu_pkt_r.unsign, io.lsu_pkt_r.by) @[el2_lsu_lsc_ctl.scala 270:61] node _T_215 = bits(_T_214, 0, 0) @[Bitwise.scala 72:15] node _T_216 = mux(_T_215, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_217 = bits(lsu_ld_datafn_corr_r, 7, 0) @[el2_lsu_lsc_ctl.scala 270:120] node _T_218 = cat(UInt<24>("h00"), _T_217) @[Cat.scala 29:58] node _T_219 = and(_T_216, _T_218) @[el2_lsu_lsc_ctl.scala 270:84] node _T_220 = and(io.lsu_pkt_r.unsign, io.lsu_pkt_r.half) @[el2_lsu_lsc_ctl.scala 271:38] node _T_221 = bits(_T_220, 0, 0) @[Bitwise.scala 72:15] node _T_222 = mux(_T_221, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_223 = bits(lsu_ld_datafn_corr_r, 15, 0) @[el2_lsu_lsc_ctl.scala 271:97] node _T_224 = cat(UInt<16>("h00"), _T_223) @[Cat.scala 29:58] node _T_225 = and(_T_222, _T_224) @[el2_lsu_lsc_ctl.scala 271:61] node _T_226 = or(_T_219, _T_225) @[el2_lsu_lsc_ctl.scala 270:128] node _T_227 = eq(io.lsu_pkt_r.unsign, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 272:17] node _T_228 = and(_T_227, io.lsu_pkt_r.by) @[el2_lsu_lsc_ctl.scala 272:38] node _T_229 = bits(_T_228, 0, 0) @[Bitwise.scala 72:15] node _T_230 = mux(_T_229, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_231 = bits(lsu_ld_datafn_corr_r, 7, 7) @[el2_lsu_lsc_ctl.scala 272:97] node _T_232 = bits(_T_231, 0, 0) @[Bitwise.scala 72:15] node _T_233 = mux(_T_232, UInt<24>("h0ffffff"), UInt<24>("h00")) @[Bitwise.scala 72:12] node _T_234 = bits(lsu_ld_datafn_corr_r, 7, 0) @[el2_lsu_lsc_ctl.scala 272:125] node _T_235 = cat(_T_233, _T_234) @[Cat.scala 29:58] node _T_236 = and(_T_230, _T_235) @[el2_lsu_lsc_ctl.scala 272:61] node _T_237 = or(_T_226, _T_236) @[el2_lsu_lsc_ctl.scala 271:109] node _T_238 = eq(io.lsu_pkt_r.unsign, UInt<1>("h00")) @[el2_lsu_lsc_ctl.scala 273:17] node _T_239 = and(_T_238, io.lsu_pkt_r.half) @[el2_lsu_lsc_ctl.scala 273:38] node _T_240 = bits(_T_239, 0, 0) @[Bitwise.scala 72:15] node _T_241 = mux(_T_240, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_242 = bits(lsu_ld_datafn_corr_r, 15, 15) @[el2_lsu_lsc_ctl.scala 273:96] node _T_243 = bits(_T_242, 0, 0) @[Bitwise.scala 72:15] node _T_244 = mux(_T_243, UInt<16>("h0ffff"), UInt<16>("h00")) @[Bitwise.scala 72:12] node _T_245 = bits(lsu_ld_datafn_corr_r, 15, 0) @[el2_lsu_lsc_ctl.scala 273:125] node _T_246 = cat(_T_244, _T_245) @[Cat.scala 29:58] node _T_247 = and(_T_241, _T_246) @[el2_lsu_lsc_ctl.scala 273:61] node _T_248 = or(_T_237, _T_247) @[el2_lsu_lsc_ctl.scala 272:134] node _T_249 = bits(io.lsu_pkt_r.word, 0, 0) @[Bitwise.scala 72:15] node _T_250 = mux(_T_249, UInt<32>("h0ffffffff"), UInt<32>("h00")) @[Bitwise.scala 72:12] node _T_251 = bits(lsu_ld_datafn_corr_r, 31, 0) @[el2_lsu_lsc_ctl.scala 274:60] node _T_252 = and(_T_250, _T_251) @[el2_lsu_lsc_ctl.scala 274:38] node _T_253 = or(_T_248, _T_252) @[el2_lsu_lsc_ctl.scala 273:134] io.lsu_result_corr_r <= _T_253 @[el2_lsu_lsc_ctl.scala 270:27]