diff options
| author | azidar | 2015-09-30 09:29:38 -0700 |
|---|---|---|
| committer | azidar | 2015-09-30 09:29:38 -0700 |
| commit | 56852471179bee7549a2197735fa009fbb3036e7 (patch) | |
| tree | 7681c4eba2dfc4b67b625d75fb7106f5a6115f50 | |
| parent | 4fefd791eed5ede508a7d47a3f21bf7790d05514 (diff) | |
Moved To-Real-Ir earlier, so CheckWidth could happen before PadWidth
| -rw-r--r-- | src/main/stanza/compilers.stanza | 3 | ||||
| -rw-r--r-- | src/main/stanza/passes.stanza | 60 | ||||
| -rw-r--r-- | src/main/stanza/verilog.stanza | 4 | ||||
| -rw-r--r-- | test/passes/inline-indexers/simple7.fir | 13 | ||||
| -rw-r--r-- | test/passes/inline-indexers/simple8.fir | 240 | ||||
| -rw-r--r-- | test/passes/inline-indexers/simple9.fir | 3051 |
6 files changed, 3340 insertions, 31 deletions
diff --git a/src/main/stanza/compilers.stanza b/src/main/stanza/compilers.stanza index cc72bd14..0ea9a367 100644 --- a/src/main/stanza/compilers.stanza +++ b/src/main/stanza/compilers.stanza @@ -62,10 +62,11 @@ public defmethod passes (c:StandardVerilog) -> List<Pass> : CheckGenders() ;W ExpandWhens() ;W InferWidths() ;R + ToRealIR() ;W -> R + CheckWidths() ;R Pad() ;R ConstProp() ;R SplitExp() ;R - ToRealIR() ;W -> R CheckWidths() ;R CheckHighForm() ;R CheckLowForm() ;R diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza index 5c045867..6d79e9c2 100644 --- a/src/main/stanza/passes.stanza +++ b/src/main/stanza/passes.stanza @@ -2242,6 +2242,33 @@ defn inline-instances (c:Circuit) : val top = (for m in modules(c) find : name(m) == main(c)) as InModule Circuit(info(c),list(InModule(info(top),name(top),ports(top),inline-inst(body(top)))),main(c)) +;================= Bring to Real IR ======================== +; Returns a new Circuit with only real IR nodes. +public defstruct ToRealIR <: Pass +public defmethod pass (b:ToRealIR) -> (Circuit -> Circuit) : to-real-ir +public defmethod name (b:ToRealIR) -> String : "Real IR" +public defmethod short-name (b:ToRealIR) -> String : "real-ir" + +defn to-real-ir (c:Circuit) : + defn to-exp (e:Expression) : + match(map(to-exp,e)) : + (e:WRef) : Ref(name(e), type(e)) + (e:WSubfield) : Subfield(exp(e),name(e),type(e)) + (e:WIndex) : error("Shouldn't be here") + (e) : e + defn to-stmt (s:Stmt) : + match(map(to-exp,s)) : + (e:DecFromIndexer) : error("Shouldn't be here") + (e:DecToIndexer) : error("Shouldn't be here") + (e) : map(to-stmt,e) + + Circuit(info(c),modules*, main(c)) where : + val modules* = + for m in modules(c) map : + match(m) : + (m:InModule) : InModule(info(m),name(m), ports(m), to-stmt(body(m))) + (m:ExModule) : m + ;================= Split Expressions ======================== ; Intended to only work on low firrtl @@ -2252,7 +2279,7 @@ public defmethod short-name (b:SplitExp) -> String : "split-expressions" defn full-name (e:Expression) -> Symbol|False : match(e) : - (e:WRef) : name(e) + (e:Ref) : name(e) (e) : false defn split-exp (c:Circuit) : @@ -2272,7 +2299,7 @@ defn split-exp (c:Circuit) : if n typeof False : firrtl-gensym(`F,sh) else : firrtl-gensym(n as Symbol,sh) add(v,DefNode(info,n*,map(split-exp-e{_,n,info},e))) - WRef(n*,type(e),NodeKind(),UNKNOWN-GENDER) + Ref(n*,type(e)) ;else : e (e) : map(split-exp-e{_,n,info},e) defn f (s:Stmt) -> False: split-exp-s(s,v,sh) @@ -2313,33 +2340,6 @@ defn split-exp (c:Circuit) : InModule(info(m),name(m),ports(m),Begin(to-list(v))) (m:ExModule) : m -;================= Bring to Real IR ======================== -; Returns a new Circuit with only real IR nodes. -public defstruct ToRealIR <: Pass -public defmethod pass (b:ToRealIR) -> (Circuit -> Circuit) : to-real-ir -public defmethod name (b:ToRealIR) -> String : "Real IR" -public defmethod short-name (b:ToRealIR) -> String : "real-ir" - -defn to-real-ir (c:Circuit) : - defn to-exp (e:Expression) : - match(map(to-exp,e)) : - (e:WRef) : Ref(name(e), type(e)) - (e:WSubfield) : Subfield(exp(e),name(e),type(e)) - (e:WIndex) : error("Shouldn't be here") - (e) : e - defn to-stmt (s:Stmt) : - match(map(to-exp,s)) : - (e:DecFromIndexer) : error("Shouldn't be here") - (e:DecToIndexer) : error("Shouldn't be here") - (e) : map(to-stmt,e) - - Circuit(info(c),modules*, main(c)) where : - val modules* = - for m in modules(c) map : - match(m) : - (m:InModule) : InModule(info(m),name(m), ports(m), to-stmt(body(m))) - (m:ExModule) : m - ;================= Special Rename ======================== ; Returns a new Circuit with only real IR nodes. public defstruct SpecialRename <: Pass : @@ -2452,7 +2452,7 @@ defn pad-widths-e (desired:Long,e:Expression) -> Expression : else : map(pad-widths-e{new-desired,_},e) trim-pad(desired, e*) - (e:WRef|WSubfield|WIndex) : + (e:Ref|Subfield|Index) : trim-pad(desired, e) (e:UIntValue) : val i = int-width!(type(e)) diff --git a/src/main/stanza/verilog.stanza b/src/main/stanza/verilog.stanza index c4a52d5e..1a495835 100644 --- a/src/main/stanza/verilog.stanza +++ b/src/main/stanza/verilog.stanza @@ -155,6 +155,10 @@ defn emit (e:Expression) -> String : for x in tail(args(e)) do : v = concat(v, [" ^ " emit(x)]) v + (e) : + println(["Expression:" e]) + error("Unknown expression") + defn emit-module (m:InModule) : diff --git a/test/passes/inline-indexers/simple7.fir b/test/passes/inline-indexers/simple7.fir new file mode 100644 index 00000000..cc9c6231 --- /dev/null +++ b/test/passes/inline-indexers/simple7.fir @@ -0,0 +1,13 @@ +; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s + +;CHECK: Inline Indexers +circuit top : + module top : + output out : UInt<64> + input index : UInt<1> + wire T_292 : UInt<64>[2] + T_292[0] := UInt(1) + T_292[1] := UInt(1) + infer accessor T_297 = T_292[index] + out := T_297 +;CHECK: Done! diff --git a/test/passes/inline-indexers/simple8.fir b/test/passes/inline-indexers/simple8.fir new file mode 100644 index 00000000..a02395a7 --- /dev/null +++ b/test/passes/inline-indexers/simple8.fir @@ -0,0 +1,240 @@ +; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s + +;CHECK: Inline Indexers +circuit top : + module top : + output resp : UInt<128>[4] + input write : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>, wmask : UInt<2>, data : UInt<128>}} + input read : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>}} + input clock : Clock + input reset : UInt<1> + + resp[0] := UInt<1>("h00") + resp[1] := UInt<1>("h00") + resp[2] := UInt<1>("h00") + resp[3] := UInt<1>("h00") + write.ready := UInt<1>("h00") + read.ready := UInt<1>("h00") + node waddr = shr(write.bits.addr, 4) + node raddr = shr(read.bits.addr, 4) + node T_65 = bits(write.bits.way_en, 1, 0) + node T_66 = bits(read.bits.way_en, 1, 0) + wire T_75 : UInt<128>[2] + T_75[0] := UInt<1>("h00") + T_75[1] := UInt<1>("h00") + reg T_81 : UInt<12>, clock, reset + when read.valid : + T_81 := read.bits.addr + skip + cmem T_84 : UInt<128>[256], clock + node T_86 = neq(T_65, UInt<1>("h00")) + node T_87 = and(T_86, write.valid) + node T_88 = bit(write.bits.wmask, 0) + node T_89 = and(T_87, T_88) + when T_89 : + node T_90 = bits(write.bits.data, 63, 0) + node T_91 = cat(T_90, T_90) + node T_92 = bit(T_65, 0) + node T_93 = bit(T_65, 1) + wire T_95 : UInt<1>[2] + T_95[0] := T_92 + T_95[1] := T_93 + node T_100 = subw(UInt<64>("h00"), T_95[0]) + node T_102 = subw(UInt<64>("h00"), T_95[1]) + wire T_104 : UInt<64>[2] + T_104[0] := T_100 + T_104[1] := T_102 + node T_108 = cat(T_104[1], T_104[0]) + infer accessor T_109 = T_84[waddr] + node T_110 = not(T_108) + node T_111 = and(T_109, T_110) + node T_112 = and(T_91, T_108) + node T_113 = or(T_111, T_112) + wire T_114 : UInt<128> + T_114 := UInt<1>("h00") + T_114 := T_113 + infer accessor T_116 = T_84[waddr] + T_116 := T_114 + skip + node T_118 = neq(T_66, UInt<1>("h00")) + node T_119 = and(T_118, read.valid) + reg T_120 : UInt<8>, clock, reset + when T_119 : + T_120 := raddr + skip + infer accessor T_121 = T_84[T_120] + T_75[0] := T_121 + cmem T_124 : UInt<128>[256], clock + node T_126 = neq(T_65, UInt<1>("h00")) + node T_127 = and(T_126, write.valid) + node T_128 = bit(write.bits.wmask, 1) + node T_129 = and(T_127, T_128) + when T_129 : + node T_130 = bits(write.bits.data, 127, 64) + node T_131 = cat(T_130, T_130) + node T_132 = bit(T_65, 0) + node T_133 = bit(T_65, 1) + wire T_135 : UInt<1>[2] + T_135[0] := T_132 + T_135[1] := T_133 + node T_140 = subw(UInt<64>("h00"), T_135[0]) + node T_142 = subw(UInt<64>("h00"), T_135[1]) + wire T_144 : UInt<64>[2] + T_144[0] := T_140 + T_144[1] := T_142 + node T_148 = cat(T_144[1], T_144[0]) + infer accessor T_149 = T_124[waddr] + node T_150 = not(T_148) + node T_151 = and(T_149, T_150) + node T_152 = and(T_131, T_148) + node T_153 = or(T_151, T_152) + wire T_154 : UInt<128> + T_154 := UInt<1>("h00") + T_154 := T_153 + infer accessor T_156 = T_124[waddr] + T_156 := T_154 + skip + node T_158 = neq(T_66, UInt<1>("h00")) + node T_159 = and(T_158, read.valid) + reg T_160 : UInt<8>, clock, reset + when T_159 : + T_160 := raddr + skip + infer accessor T_161 = T_124[T_160] + T_75[1] := T_161 + node T_162 = bits(T_75[0], 63, 0) + node T_163 = bits(T_75[1], 63, 0) + wire T_165 : UInt<64>[2] + T_165[0] := T_162 + T_165[1] := T_163 + node T_169 = bits(T_81, 3, 3) + infer accessor T_170 = T_165[T_169] + wire T_172 : UInt<64>[2] + T_172[0] := T_170 + T_172[1] := T_165[1] + node T_176 = cat(T_172[1], T_172[0]) + resp[0] := T_176 + node T_177 = bits(T_75[0], 127, 64) + node T_178 = bits(T_75[1], 127, 64) + wire T_180 : UInt<64>[2] + T_180[0] := T_177 + T_180[1] := T_178 + node T_184 = bits(T_81, 3, 3) + infer accessor T_185 = T_180[T_184] + wire T_187 : UInt<64>[2] + T_187[0] := T_185 + T_187[1] := T_180[1] + node T_191 = cat(T_187[1], T_187[0]) + resp[1] := T_191 + node T_192 = bits(write.bits.way_en, 3, 2) + node T_193 = bits(read.bits.way_en, 3, 2) + wire T_202 : UInt<128>[2] + T_202[0] := UInt<1>("h00") + T_202[1] := UInt<1>("h00") + reg T_208 : UInt<12>, clock, reset + when read.valid : + T_208 := read.bits.addr + skip + cmem T_211 : UInt<128>[256], clock + node T_213 = neq(T_192, UInt<1>("h00")) + node T_214 = and(T_213, write.valid) + node T_215 = bit(write.bits.wmask, 0) + node T_216 = and(T_214, T_215) + when T_216 : + node T_217 = bits(write.bits.data, 63, 0) + node T_218 = cat(T_217, T_217) + node T_219 = bit(T_192, 0) + node T_220 = bit(T_192, 1) + wire T_222 : UInt<1>[2] + T_222[0] := T_219 + T_222[1] := T_220 + node T_227 = subw(UInt<64>("h00"), T_222[0]) + node T_229 = subw(UInt<64>("h00"), T_222[1]) + wire T_231 : UInt<64>[2] + T_231[0] := T_227 + T_231[1] := T_229 + node T_235 = cat(T_231[1], T_231[0]) + infer accessor T_236 = T_211[waddr] + node T_237 = not(T_235) + node T_238 = and(T_236, T_237) + node T_239 = and(T_218, T_235) + node T_240 = or(T_238, T_239) + wire T_241 : UInt<128> + T_241 := UInt<1>("h00") + T_241 := T_240 + infer accessor T_243 = T_211[waddr] + T_243 := T_241 + skip + node T_245 = neq(T_193, UInt<1>("h00")) + node T_246 = and(T_245, read.valid) + reg T_247 : UInt<8>, clock, reset + when T_246 : + T_247 := raddr + skip + infer accessor T_248 = T_211[T_247] + T_202[0] := T_248 + cmem T_251 : UInt<128>[256], clock + node T_253 = neq(T_192, UInt<1>("h00")) + node T_254 = and(T_253, write.valid) + node T_255 = bit(write.bits.wmask, 1) + node T_256 = and(T_254, T_255) + when T_256 : + node T_257 = bits(write.bits.data, 127, 64) + node T_258 = cat(T_257, T_257) + node T_259 = bit(T_192, 0) + node T_260 = bit(T_192, 1) + wire T_262 : UInt<1>[2] + T_262[0] := T_259 + T_262[1] := T_260 + node T_267 = subw(UInt<64>("h00"), T_262[0]) + node T_269 = subw(UInt<64>("h00"), T_262[1]) + wire T_271 : UInt<64>[2] + T_271[0] := T_267 + T_271[1] := T_269 + node T_275 = cat(T_271[1], T_271[0]) + infer accessor T_276 = T_251[waddr] + node T_277 = not(T_275) + node T_278 = and(T_276, T_277) + node T_279 = and(T_258, T_275) + node T_280 = or(T_278, T_279) + wire T_281 : UInt<128> + T_281 := UInt<1>("h00") + T_281 := T_280 + infer accessor T_283 = T_251[waddr] + T_283 := T_281 + skip + node T_285 = neq(T_193, UInt<1>("h00")) + node T_286 = and(T_285, read.valid) + reg T_287 : UInt<8>, clock, reset + when T_286 : + T_287 := raddr + skip + infer accessor T_288 = T_251[T_287] + T_202[1] := T_288 + node T_289 = bits(T_202[0], 63, 0) + node T_290 = bits(T_202[1], 63, 0) + wire T_292 : UInt<64>[2] + T_292[0] := T_289 + T_292[1] := T_290 + node T_296 = bits(T_208, 3, 3) + infer accessor T_297 = T_292[T_296] + wire T_299 : UInt<64>[2] + T_299[0] := T_297 + T_299[1] := T_292[1] + node T_303 = cat(T_299[1], T_299[0]) + resp[2] := T_303 + node T_304 = bits(T_202[0], 127, 64) + node T_305 = bits(T_202[1], 127, 64) + wire T_307 : UInt<64>[2] + T_307[0] := T_304 + T_307[1] := T_305 + node T_311 = bits(T_208, 3, 3) + infer accessor T_312 = T_307[T_311] + wire T_314 : UInt<64>[2] + T_314[0] := T_312 + T_314[1] := T_307[1] + node T_318 = cat(T_314[1], T_314[0]) + resp[3] := T_318 + read.ready := UInt<1>("h01") + write.ready := UInt<1>("h01") +;CHECK: Done! diff --git a/test/passes/inline-indexers/simple9.fir b/test/passes/inline-indexers/simple9.fir new file mode 100644 index 00000000..f009ef1b --- /dev/null +++ b/test/passes/inline-indexers/simple9.fir @@ -0,0 +1,3051 @@ +; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s + +;CHECK: Inline Indexers +circuit top : + module top : + input invalidate : UInt<1> + input ras_update : {valid : UInt<1>, bits : {isCall : UInt<1>, isReturn : UInt<1>, returnAddr : UInt<39>, prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}}} + input bht_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, taken : UInt<1>, mispredict : UInt<1>}} + input btb_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}} + output resp : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}} + input req : {valid : UInt<1>, bits : {addr : UInt<39>}} + input clock : Clock + input reset : UInt<1> + + resp.bits.bht.value := UInt<1>("h00") + resp.bits.bht.history := UInt<1>("h00") + resp.bits.entry := UInt<1>("h00") + resp.bits.target := UInt<1>("h00") + resp.bits.bridx := UInt<1>("h00") + resp.bits.mask := UInt<1>("h00") + resp.bits.taken := UInt<1>("h00") + resp.valid := UInt<1>("h00") + reg idxValid : UInt<62>, clock, reset + onreset idxValid := UInt<62>("h00") + cmem idxs : UInt<12>[62], clock + cmem idxPages : UInt<3>[62], clock + cmem tgts : UInt<12>[62], clock + cmem tgtPages : UInt<3>[62], clock + cmem pages : UInt<27>[6], clock + reg pageValid : UInt<6>, clock, reset + onreset pageValid := UInt<6>("h00") + infer accessor T_589 = idxPages[UInt<1>("h00")] + node T_591 = dshl(UInt<1>("h01"), T_589) + node T_592 = bits(T_591, 5, 0) + infer accessor T_594 = idxPages[UInt<1>("h01")] + node T_596 = dshl(UInt<1>("h01"), T_594) + node T_597 = bits(T_596, 5, 0) + infer accessor T_599 = idxPages[UInt<2>("h02")] + node T_601 = dshl(UInt<1>("h01"), T_599) + node T_602 = bits(T_601, 5, 0) + infer accessor T_604 = idxPages[UInt<2>("h03")] + node T_606 = dshl(UInt<1>("h01"), T_604) + node T_607 = bits(T_606, 5, 0) + infer accessor T_609 = idxPages[UInt<3>("h04")] + node T_611 = dshl(UInt<1>("h01"), T_609) + node T_612 = bits(T_611, 5, 0) + infer accessor T_614 = idxPages[UInt<3>("h05")] + node T_616 = dshl(UInt<1>("h01"), T_614) + node T_617 = bits(T_616, 5, 0) + infer accessor T_619 = idxPages[UInt<3>("h06")] + node T_621 = dshl(UInt<1>("h01"), T_619) + node T_622 = bits(T_621, 5, 0) + infer accessor T_624 = idxPages[UInt<3>("h07")] + node T_626 = dshl(UInt<1>("h01"), T_624) + node T_627 = bits(T_626, 5, 0) + infer accessor T_629 = idxPages[UInt<4>("h08")] + node T_631 = dshl(UInt<1>("h01"), T_629) + node T_632 = bits(T_631, 5, 0) + infer accessor T_634 = idxPages[UInt<4>("h09")] + node T_636 = dshl(UInt<1>("h01"), T_634) + node T_637 = bits(T_636, 5, 0) + infer accessor T_639 = idxPages[UInt<4>("h0a")] + node T_641 = dshl(UInt<1>("h01"), T_639) + node T_642 = bits(T_641, 5, 0) + infer accessor T_644 = idxPages[UInt<4>("h0b")] + node T_646 = dshl(UInt<1>("h01"), T_644) + node T_647 = bits(T_646, 5, 0) + infer accessor T_649 = idxPages[UInt<4>("h0c")] + node T_651 = dshl(UInt<1>("h01"), T_649) + node T_652 = bits(T_651, 5, 0) + infer accessor T_654 = idxPages[UInt<4>("h0d")] + node T_656 = dshl(UInt<1>("h01"), T_654) + node T_657 = bits(T_656, 5, 0) + infer accessor T_659 = idxPages[UInt<4>("h0e")] + node T_661 = dshl(UInt<1>("h01"), T_659) + node T_662 = bits(T_661, 5, 0) + infer accessor T_664 = idxPages[UInt<4>("h0f")] + node T_666 = dshl(UInt<1>("h01"), T_664) + node T_667 = bits(T_666, 5, 0) + infer accessor T_669 = idxPages[UInt<5>("h010")] + node T_671 = dshl(UInt<1>("h01"), T_669) + node T_672 = bits(T_671, 5, 0) + infer accessor T_674 = idxPages[UInt<5>("h011")] + node T_676 = dshl(UInt<1>("h01"), T_674) + node T_677 = bits(T_676, 5, 0) + infer accessor T_679 = idxPages[UInt<5>("h012")] + node T_681 = dshl(UInt<1>("h01"), T_679) + node T_682 = bits(T_681, 5, 0) + infer accessor T_684 = idxPages[UInt<5>("h013")] + node T_686 = dshl(UInt<1>("h01"), T_684) + node T_687 = bits(T_686, 5, 0) + infer accessor T_689 = idxPages[UInt<5>("h014")] + node T_691 = dshl(UInt<1>("h01"), T_689) + node T_692 = bits(T_691, 5, 0) + infer accessor T_694 = idxPages[UInt<5>("h015")] + node T_696 = dshl(UInt<1>("h01"), T_694) + node T_697 = bits(T_696, 5, 0) + infer accessor T_699 = idxPages[UInt<5>("h016")] + node T_701 = dshl(UInt<1>("h01"), T_699) + node T_702 = bits(T_701, 5, 0) + infer accessor T_704 = idxPages[UInt<5>("h017")] + node T_706 = dshl(UInt<1>("h01"), T_704) + node T_707 = bits(T_706, 5, 0) + infer accessor T_709 = idxPages[UInt<5>("h018")] + node T_711 = dshl(UInt<1>("h01"), T_709) + node T_712 = bits(T_711, 5, 0) + infer accessor T_714 = idxPages[UInt<5>("h019")] + node T_716 = dshl(UInt<1>("h01"), T_714) + node T_717 = bits(T_716, 5, 0) + infer accessor T_719 = idxPages[UInt<5>("h01a")] + node T_721 = dshl(UInt<1>("h01"), T_719) + node T_722 = bits(T_721, 5, 0) + infer accessor T_724 = idxPages[UInt<5>("h01b")] + node T_726 = dshl(UInt<1>("h01"), T_724) + node T_727 = bits(T_726, 5, 0) + infer accessor T_729 = idxPages[UInt<5>("h01c")] + node T_731 = dshl(UInt<1>("h01"), T_729) + node T_732 = bits(T_731, 5, 0) + infer accessor T_734 = idxPages[UInt<5>("h01d")] + node T_736 = dshl(UInt<1>("h01"), T_734) + node T_737 = bits(T_736, 5, 0) + infer accessor T_739 = idxPages[UInt<5>("h01e")] + node T_741 = dshl(UInt<1>("h01"), T_739) + node T_742 = bits(T_741, 5, 0) + infer accessor T_744 = idxPages[UInt<5>("h01f")] + node T_746 = dshl(UInt<1>("h01"), T_744) + node T_747 = bits(T_746, 5, 0) + infer accessor T_749 = idxPages[UInt<6>("h020")] + node T_751 = dshl(UInt<1>("h01"), T_749) + node T_752 = bits(T_751, 5, 0) + infer accessor T_754 = idxPages[UInt<6>("h021")] + node T_756 = dshl(UInt<1>("h01"), T_754) + node T_757 = bits(T_756, 5, 0) + infer accessor T_759 = idxPages[UInt<6>("h022")] + node T_761 = dshl(UInt<1>("h01"), T_759) + node T_762 = bits(T_761, 5, 0) + infer accessor T_764 = idxPages[UInt<6>("h023")] + node T_766 = dshl(UInt<1>("h01"), T_764) + node T_767 = bits(T_766, 5, 0) + infer accessor T_769 = idxPages[UInt<6>("h024")] + node T_771 = dshl(UInt<1>("h01"), T_769) + node T_772 = bits(T_771, 5, 0) + infer accessor T_774 = idxPages[UInt<6>("h025")] + node T_776 = dshl(UInt<1>("h01"), T_774) + node T_777 = bits(T_776, 5, 0) + infer accessor T_779 = idxPages[UInt<6>("h026")] + node T_781 = dshl(UInt<1>("h01"), T_779) + node T_782 = bits(T_781, 5, 0) + infer accessor T_784 = idxPages[UInt<6>("h027")] + node T_786 = dshl(UInt<1>("h01"), T_784) + node T_787 = bits(T_786, 5, 0) + infer accessor T_789 = idxPages[UInt<6>("h028")] + node T_791 = dshl(UInt<1>("h01"), T_789) + node T_792 = bits(T_791, 5, 0) + infer accessor T_794 = idxPages[UInt<6>("h029")] + node T_796 = dshl(UInt<1>("h01"), T_794) + node T_797 = bits(T_796, 5, 0) + infer accessor T_799 = idxPages[UInt<6>("h02a")] + node T_801 = dshl(UInt<1>("h01"), T_799) + node T_802 = bits(T_801, 5, 0) + infer accessor T_804 = idxPages[UInt<6>("h02b")] + node T_806 = dshl(UInt<1>("h01"), T_804) + node T_807 = bits(T_806, 5, 0) + infer accessor T_809 = idxPages[UInt<6>("h02c")] + node T_811 = dshl(UInt<1>("h01"), T_809) + node T_812 = bits(T_811, 5, 0) + infer accessor T_814 = idxPages[UInt<6>("h02d")] + node T_816 = dshl(UInt<1>("h01"), T_814) + node T_817 = bits(T_816, 5, 0) + infer accessor T_819 = idxPages[UInt<6>("h02e")] + node T_821 = dshl(UInt<1>("h01"), T_819) + node T_822 = bits(T_821, 5, 0) + infer accessor T_824 = idxPages[UInt<6>("h02f")] + node T_826 = dshl(UInt<1>("h01"), T_824) + node T_827 = bits(T_826, 5, 0) + infer accessor T_829 = idxPages[UInt<6>("h030")] + node T_831 = dshl(UInt<1>("h01"), T_829) + node T_832 = bits(T_831, 5, 0) + infer accessor T_834 = idxPages[UInt<6>("h031")] + node T_836 = dshl(UInt<1>("h01"), T_834) + node T_837 = bits(T_836, 5, 0) + infer accessor T_839 = idxPages[UInt<6>("h032")] + node T_841 = dshl(UInt<1>("h01"), T_839) + node T_842 = bits(T_841, 5, 0) + infer accessor T_844 = idxPages[UInt<6>("h033")] + node T_846 = dshl(UInt<1>("h01"), T_844) + node T_847 = bits(T_846, 5, 0) + infer accessor T_849 = idxPages[UInt<6>("h034")] + node T_851 = dshl(UInt<1>("h01"), T_849) + node T_852 = bits(T_851, 5, 0) + infer accessor T_854 = idxPages[UInt<6>("h035")] + node T_856 = dshl(UInt<1>("h01"), T_854) + node T_857 = bits(T_856, 5, 0) + infer accessor T_859 = idxPages[UInt<6>("h036")] + node T_861 = dshl(UInt<1>("h01"), T_859) + node T_862 = bits(T_861, 5, 0) + infer accessor T_864 = idxPages[UInt<6>("h037")] + node T_866 = dshl(UInt<1>("h01"), T_864) + node T_867 = bits(T_866, 5, 0) + infer accessor T_869 = idxPages[UInt<6>("h038")] + node T_871 = dshl(UInt<1>("h01"), T_869) + node T_872 = bits(T_871, 5, 0) + infer accessor T_874 = idxPages[UInt<6>("h039")] + node T_876 = dshl(UInt<1>("h01"), T_874) + node T_877 = bits(T_876, 5, 0) + infer accessor T_879 = idxPages[UInt<6>("h03a")] + node T_881 = dshl(UInt<1>("h01"), T_879) + node T_882 = bits(T_881, 5, 0) + infer accessor T_884 = idxPages[UInt<6>("h03b")] + node T_886 = dshl(UInt<1>("h01"), T_884) + node T_887 = bits(T_886, 5, 0) + infer accessor T_889 = idxPages[UInt<6>("h03c")] + node T_891 = dshl(UInt<1>("h01"), T_889) + node T_892 = bits(T_891, 5, 0) + infer accessor T_894 = idxPages[UInt<6>("h03d")] + node T_896 = dshl(UInt<1>("h01"), T_894) + node T_897 = bits(T_896, 5, 0) + infer accessor T_899 = tgtPages[UInt<1>("h00")] + node T_901 = dshl(UInt<1>("h01"), T_899) + node T_902 = bits(T_901, 5, 0) + infer accessor T_904 = tgtPages[UInt<1>("h01")] + node T_906 = dshl(UInt<1>("h01"), T_904) + node T_907 = bits(T_906, 5, 0) + infer accessor T_909 = tgtPages[UInt<2>("h02")] + node T_911 = dshl(UInt<1>("h01"), T_909) + node T_912 = bits(T_911, 5, 0) + infer accessor T_914 = tgtPages[UInt<2>("h03")] + node T_916 = dshl(UInt<1>("h01"), T_914) + node T_917 = bits(T_916, 5, 0) + infer accessor T_919 = tgtPages[UInt<3>("h04")] + node T_921 = dshl(UInt<1>("h01"), T_919) + node T_922 = bits(T_921, 5, 0) + infer accessor T_924 = tgtPages[UInt<3>("h05")] + node T_926 = dshl(UInt<1>("h01"), T_924) + node T_927 = bits(T_926, 5, 0) + infer accessor T_929 = tgtPages[UInt<3>("h06")] + node T_931 = dshl(UInt<1>("h01"), T_929) + node T_932 = bits(T_931, 5, 0) + infer accessor T_934 = tgtPages[UInt<3>("h07")] + node T_936 = dshl(UInt<1>("h01"), T_934) + node T_937 = bits(T_936, 5, 0) + infer accessor T_939 = tgtPages[UInt<4>("h08")] + node T_941 = dshl(UInt<1>("h01"), T_939) + node T_942 = bits(T_941, 5, 0) + infer accessor T_944 = tgtPages[UInt<4>("h09")] + node T_946 = dshl(UInt<1>("h01"), T_944) + node T_947 = bits(T_946, 5, 0) + infer accessor T_949 = tgtPages[UInt<4>("h0a")] + node T_951 = dshl(UInt<1>("h01"), T_949) + node T_952 = bits(T_951, 5, 0) + infer accessor T_954 = tgtPages[UInt<4>("h0b")] + node T_956 = dshl(UInt<1>("h01"), T_954) + node T_957 = bits(T_956, 5, 0) + infer accessor T_959 = tgtPages[UInt<4>("h0c")] + node T_961 = dshl(UInt<1>("h01"), T_959) + node T_962 = bits(T_961, 5, 0) + infer accessor T_964 = tgtPages[UInt<4>("h0d")] + node T_966 = dshl(UInt<1>("h01"), T_964) + node T_967 = bits(T_966, 5, 0) + infer accessor T_969 = tgtPages[UInt<4>("h0e")] + node T_971 = dshl(UInt<1>("h01"), T_969) + node T_972 = bits(T_971, 5, 0) + infer accessor T_974 = tgtPages[UInt<4>("h0f")] + node T_976 = dshl(UInt<1>("h01"), T_974) + node T_977 = bits(T_976, 5, 0) + infer accessor T_979 = tgtPages[UInt<5>("h010")] + node T_981 = dshl(UInt<1>("h01"), T_979) + node T_982 = bits(T_981, 5, 0) + infer accessor T_984 = tgtPages[UInt<5>("h011")] + node T_986 = dshl(UInt<1>("h01"), T_984) + node T_987 = bits(T_986, 5, 0) + infer accessor T_989 = tgtPages[UInt<5>("h012")] + node T_991 = dshl(UInt<1>("h01"), T_989) + node T_992 = bits(T_991, 5, 0) + infer accessor T_994 = tgtPages[UInt<5>("h013")] + node T_996 = dshl(UInt<1>("h01"), T_994) + node T_997 = bits(T_996, 5, 0) + infer accessor T_999 = tgtPages[UInt<5>("h014")] + node T_1001 = dshl(UInt<1>("h01"), T_999) + node T_1002 = bits(T_1001, 5, 0) + infer accessor T_1004 = tgtPages[UInt<5>("h015")] + node T_1006 = dshl(UInt<1>("h01"), T_1004) + node T_1007 = bits(T_1006, 5, 0) + infer accessor T_1009 = tgtPages[UInt<5>("h016")] + node T_1011 = dshl(UInt<1>("h01"), T_1009) + node T_1012 = bits(T_1011, 5, 0) + infer accessor T_1014 = tgtPages[UInt<5>("h017")] + node T_1016 = dshl(UInt<1>("h01"), T_1014) + node T_1017 = bits(T_1016, 5, 0) + infer accessor T_1019 = tgtPages[UInt<5>("h018")] + node T_1021 = dshl(UInt<1>("h01"), T_1019) + node T_1022 = bits(T_1021, 5, 0) + infer accessor T_1024 = tgtPages[UInt<5>("h019")] + node T_1026 = dshl(UInt<1>("h01"), T_1024) + node T_1027 = bits(T_1026, 5, 0) + infer accessor T_1029 = tgtPages[UInt<5>("h01a")] + node T_1031 = dshl(UInt<1>("h01"), T_1029) + node T_1032 = bits(T_1031, 5, 0) + infer accessor T_1034 = tgtPages[UInt<5>("h01b")] + node T_1036 = dshl(UInt<1>("h01"), T_1034) + node T_1037 = bits(T_1036, 5, 0) + infer accessor T_1039 = tgtPages[UInt<5>("h01c")] + node T_1041 = dshl(UInt<1>("h01"), T_1039) + node T_1042 = bits(T_1041, 5, 0) + infer accessor T_1044 = tgtPages[UInt<5>("h01d")] + node T_1046 = dshl(UInt<1>("h01"), T_1044) + node T_1047 = bits(T_1046, 5, 0) + infer accessor T_1049 = tgtPages[UInt<5>("h01e")] + node T_1051 = dshl(UInt<1>("h01"), T_1049) + node T_1052 = bits(T_1051, 5, 0) + infer accessor T_1054 = tgtPages[UInt<5>("h01f")] + node T_1056 = dshl(UInt<1>("h01"), T_1054) + node T_1057 = bits(T_1056, 5, 0) + infer accessor T_1059 = tgtPages[UInt<6>("h020")] + node T_1061 = dshl(UInt<1>("h01"), T_1059) + node T_1062 = bits(T_1061, 5, 0) + infer accessor T_1064 = tgtPages[UInt<6>("h021")] + node T_1066 = dshl(UInt<1>("h01"), T_1064) + node T_1067 = bits(T_1066, 5, 0) + infer accessor T_1069 = tgtPages[UInt<6>("h022")] + node T_1071 = dshl(UInt<1>("h01"), T_1069) + node T_1072 = bits(T_1071, 5, 0) + infer accessor T_1074 = tgtPages[UInt<6>("h023")] + node T_1076 = dshl(UInt<1>("h01"), T_1074) + node T_1077 = bits(T_1076, 5, 0) + infer accessor T_1079 = tgtPages[UInt<6>("h024")] + node T_1081 = dshl(UInt<1>("h01"), T_1079) + node T_1082 = bits(T_1081, 5, 0) + infer accessor T_1084 = tgtPages[UInt<6>("h025")] + node T_1086 = dshl(UInt<1>("h01"), T_1084) + node T_1087 = bits(T_1086, 5, 0) + infer accessor T_1089 = tgtPages[UInt<6>("h026")] + node T_1091 = dshl(UInt<1>("h01"), T_1089) + node T_1092 = bits(T_1091, 5, 0) + infer accessor T_1094 = tgtPages[UInt<6>("h027")] + node T_1096 = dshl(UInt<1>("h01"), T_1094) + node T_1097 = bits(T_1096, 5, 0) + infer accessor T_1099 = tgtPages[UInt<6>("h028")] + node T_1101 = dshl(UInt<1>("h01"), T_1099) + node T_1102 = bits(T_1101, 5, 0) + infer accessor T_1104 = tgtPages[UInt<6>("h029")] + node T_1106 = dshl(UInt<1>("h01"), T_1104) + node T_1107 = bits(T_1106, 5, 0) + infer accessor T_1109 = tgtPages[UInt<6>("h02a")] + node T_1111 = dshl(UInt<1>("h01"), T_1109) + node T_1112 = bits(T_1111, 5, 0) + infer accessor T_1114 = tgtPages[UInt<6>("h02b")] + node T_1116 = dshl(UInt<1>("h01"), T_1114) + node T_1117 = bits(T_1116, 5, 0) + infer accessor T_1119 = tgtPages[UInt<6>("h02c")] + node T_1121 = dshl(UInt<1>("h01"), T_1119) + node T_1122 = bits(T_1121, 5, 0) + infer accessor T_1124 = tgtPages[UInt<6>("h02d")] + node T_1126 = dshl(UInt<1>("h01"), T_1124) + node T_1127 = bits(T_1126, 5, 0) + infer accessor T_1129 = tgtPages[UInt<6>("h02e")] + node T_1131 = dshl(UInt<1>("h01"), T_1129) + node T_1132 = bits(T_1131, 5, 0) + infer accessor T_1134 = tgtPages[UInt<6>("h02f")] + node T_1136 = dshl(UInt<1>("h01"), T_1134) + node T_1137 = bits(T_1136, 5, 0) + infer accessor T_1139 = tgtPages[UInt<6>("h030")] + node T_1141 = dshl(UInt<1>("h01"), T_1139) + node T_1142 = bits(T_1141, 5, 0) + infer accessor T_1144 = tgtPages[UInt<6>("h031")] + node T_1146 = dshl(UInt<1>("h01"), T_1144) + node T_1147 = bits(T_1146, 5, 0) + infer accessor T_1149 = tgtPages[UInt<6>("h032")] + node T_1151 = dshl(UInt<1>("h01"), T_1149) + node T_1152 = bits(T_1151, 5, 0) + infer accessor T_1154 = tgtPages[UInt<6>("h033")] + node T_1156 = dshl(UInt<1>("h01"), T_1154) + node T_1157 = bits(T_1156, 5, 0) + infer accessor T_1159 = tgtPages[UInt<6>("h034")] + node T_1161 = dshl(UInt<1>("h01"), T_1159) + node T_1162 = bits(T_1161, 5, 0) + infer accessor T_1164 = tgtPages[UInt<6>("h035")] + node T_1166 = dshl(UInt<1>("h01"), T_1164) + node T_1167 = bits(T_1166, 5, 0) + infer accessor T_1169 = tgtPages[UInt<6>("h036")] + node T_1171 = dshl(UInt<1>("h01"), T_1169) + node T_1172 = bits(T_1171, 5, 0) + infer accessor T_1174 = tgtPages[UInt<6>("h037")] + node T_1176 = dshl(UInt<1>("h01"), T_1174) + node T_1177 = bits(T_1176, 5, 0) + infer accessor T_1179 = tgtPages[UInt<6>("h038")] + node T_1181 = dshl(UInt<1>("h01"), T_1179) + node T_1182 = bits(T_1181, 5, 0) + infer accessor T_1184 = tgtPages[UInt<6>("h039")] + node T_1186 = dshl(UInt<1>("h01"), T_1184) + node T_1187 = bits(T_1186, 5, 0) + infer accessor T_1189 = tgtPages[UInt<6>("h03a")] + node T_1191 = dshl(UInt<1>("h01"), T_1189) + node T_1192 = bits(T_1191, 5, 0) + infer accessor T_1194 = tgtPages[UInt<6>("h03b")] + node T_1196 = dshl(UInt<1>("h01"), T_1194) + node T_1197 = bits(T_1196, 5, 0) + infer accessor T_1199 = tgtPages[UInt<6>("h03c")] + node T_1201 = dshl(UInt<1>("h01"), T_1199) + node T_1202 = bits(T_1201, 5, 0) + infer accessor T_1204 = tgtPages[UInt<6>("h03d")] + node T_1206 = dshl(UInt<1>("h01"), T_1204) + node T_1207 = bits(T_1206, 5, 0) + reg useRAS : UInt<1>[62], clock, reset + reg isJump : UInt<1>[62], clock, reset + cmem brIdx : UInt<1>[62], clock + reg T_1477 : UInt<1>, clock, reset + onreset T_1477 := UInt<1>("h00") + T_1477 := btb_update.valid + reg T_1478 : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}, clock, reset + when btb_update.valid : + T_1478 <> btb_update.bits + skip + wire r_btb_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}} + r_btb_update.bits.br_pc := UInt<1>("h00") + r_btb_update.bits.isReturn := UInt<1>("h00") + r_btb_update.bits.isJump := UInt<1>("h00") + r_btb_update.bits.taken := UInt<1>("h00") + r_btb_update.bits.target := UInt<1>("h00") + r_btb_update.bits.pc := UInt<1>("h00") + r_btb_update.bits.prediction.bits.bht.value := UInt<1>("h00") + r_btb_update.bits.prediction.bits.bht.history := UInt<1>("h00") + r_btb_update.bits.prediction.bits.entry := UInt<1>("h00") + r_btb_update.bits.prediction.bits.target := UInt<1>("h00") + r_btb_update.bits.prediction.bits.bridx := UInt<1>("h00") + r_btb_update.bits.prediction.bits.mask := UInt<1>("h00") + r_btb_update.bits.prediction.bits.taken := UInt<1>("h00") + r_btb_update.bits.prediction.valid := UInt<1>("h00") + r_btb_update.valid := UInt<1>("h00") + r_btb_update.valid := T_1477 + r_btb_update.bits <> T_1478 + node T_1677 = shr(req.bits.addr, 12) + infer accessor T_1679 = pages[UInt<1>("h00")] + node T_1680 = eq(T_1679, T_1677) + infer accessor T_1682 = pages[UInt<1>("h01")] + node T_1683 = eq(T_1682, T_1677) + infer accessor T_1685 = pages[UInt<2>("h02")] + node T_1686 = eq(T_1685, T_1677) + infer accessor T_1688 = pages[UInt<2>("h03")] + node T_1689 = eq(T_1688, T_1677) + infer accessor T_1691 = pages[UInt<3>("h04")] + node T_1692 = eq(T_1691, T_1677) + infer accessor T_1694 = pages[UInt<3>("h05")] + node T_1695 = eq(T_1694, T_1677) + wire T_1697 : UInt<1>[6] + T_1697[0] := T_1680 + T_1697[1] := T_1683 + T_1697[2] := T_1686 + T_1697[3] := T_1689 + T_1697[4] := T_1692 + T_1697[5] := T_1695 + node T_1705 = cat(T_1697[4], T_1697[3]) + node T_1706 = cat(T_1697[5], T_1705) + node T_1707 = cat(T_1697[1], T_1697[0]) + node T_1708 = cat(T_1697[2], T_1707) + node T_1709 = cat(T_1706, T_1708) + node pageHit = and(T_1709, pageValid) + node T_1711 = bits(req.bits.addr, 11, 0) + infer accessor T_1713 = idxs[UInt<1>("h00")] + node T_1714 = eq(T_1713, T_1711) + infer accessor T_1716 = idxs[UInt<1>("h01")] + node T_1717 = eq(T_1716, T_1711) + infer accessor T_1719 = idxs[UInt<2>("h02")] + node T_1720 = eq(T_1719, T_1711) + infer accessor T_1722 = idxs[UInt<2>("h03")] + node T_1723 = eq(T_1722, T_1711) + infer accessor T_1725 = idxs[UInt<3>("h04")] + node T_1726 = eq(T_1725, T_1711) + infer accessor T_1728 = idxs[UInt<3>("h05")] + node T_1729 = eq(T_1728, T_1711) + infer accessor T_1731 = idxs[UInt<3>("h06")] + node T_1732 = eq(T_1731, T_1711) + infer accessor T_1734 = idxs[UInt<3>("h07")] + node T_1735 = eq(T_1734, T_1711) + infer accessor T_1737 = idxs[UInt<4>("h08")] + node T_1738 = eq(T_1737, T_1711) + infer accessor T_1740 = idxs[UInt<4>("h09")] + node T_1741 = eq(T_1740, T_1711) + infer accessor T_1743 = idxs[UInt<4>("h0a")] + node T_1744 = eq(T_1743, T_1711) + infer accessor T_1746 = idxs[UInt<4>("h0b")] + node T_1747 = eq(T_1746, T_1711) + infer accessor T_1749 = idxs[UInt<4>("h0c")] + node T_1750 = eq(T_1749, T_1711) + infer accessor T_1752 = idxs[UInt<4>("h0d")] + node T_1753 = eq(T_1752, T_1711) + infer accessor T_1755 = idxs[UInt<4>("h0e")] + node T_1756 = eq(T_1755, T_1711) + infer accessor T_1758 = idxs[UInt<4>("h0f")] + node T_1759 = eq(T_1758, T_1711) + infer accessor T_1761 = idxs[UInt<5>("h010")] + node T_1762 = eq(T_1761, T_1711) + infer accessor T_1764 = idxs[UInt<5>("h011")] + node T_1765 = eq(T_1764, T_1711) + infer accessor T_1767 = idxs[UInt<5>("h012")] + node T_1768 = eq(T_1767, T_1711) + infer accessor T_1770 = idxs[UInt<5>("h013")] + node T_1771 = eq(T_1770, T_1711) + infer accessor T_1773 = idxs[UInt<5>("h014")] + node T_1774 = eq(T_1773, T_1711) + infer accessor T_1776 = idxs[UInt<5>("h015")] + node T_1777 = eq(T_1776, T_1711) + infer accessor T_1779 = idxs[UInt<5>("h016")] + node T_1780 = eq(T_1779, T_1711) + infer accessor T_1782 = idxs[UInt<5>("h017")] + node T_1783 = eq(T_1782, T_1711) + infer accessor T_1785 = idxs[UInt<5>("h018")] + node T_1786 = eq(T_1785, T_1711) + infer accessor T_1788 = idxs[UInt<5>("h019")] + node T_1789 = eq(T_1788, T_1711) + infer accessor T_1791 = idxs[UInt<5>("h01a")] + node T_1792 = eq(T_1791, T_1711) + infer accessor T_1794 = idxs[UInt<5>("h01b")] + node T_1795 = eq(T_1794, T_1711) + infer accessor T_1797 = idxs[UInt<5>("h01c")] + node T_1798 = eq(T_1797, T_1711) + infer accessor T_1800 = idxs[UInt<5>("h01d")] + node T_1801 = eq(T_1800, T_1711) + infer accessor T_1803 = idxs[UInt<5>("h01e")] + node T_1804 = eq(T_1803, T_1711) + infer accessor T_1806 = idxs[UInt<5>("h01f")] + node T_1807 = eq(T_1806, T_1711) + infer accessor T_1809 = idxs[UInt<6>("h020")] + node T_1810 = eq(T_1809, T_1711) + infer accessor T_1812 = idxs[UInt<6>("h021")] + node T_1813 = eq(T_1812, T_1711) + infer accessor T_1815 = idxs[UInt<6>("h022")] + node T_1816 = eq(T_1815, T_1711) + infer accessor T_1818 = idxs[UInt<6>("h023")] + node T_1819 = eq(T_1818, T_1711) + infer accessor T_1821 = idxs[UInt<6>("h024")] + node T_1822 = eq(T_1821, T_1711) + infer accessor T_1824 = idxs[UInt<6>("h025")] + node T_1825 = eq(T_1824, T_1711) + infer accessor T_1827 = idxs[UInt<6>("h026")] + node T_1828 = eq(T_1827, T_1711) + infer accessor T_1830 = idxs[UInt<6>("h027")] + node T_1831 = eq(T_1830, T_1711) + infer accessor T_1833 = idxs[UInt<6>("h028")] + node T_1834 = eq(T_1833, T_1711) + infer accessor T_1836 = idxs[UInt<6>("h029")] + node T_1837 = eq(T_1836, T_1711) + infer accessor T_1839 = idxs[UInt<6>("h02a")] + node T_1840 = eq(T_1839, T_1711) + infer accessor T_1842 = idxs[UInt<6>("h02b")] + node T_1843 = eq(T_1842, T_1711) + infer accessor T_1845 = idxs[UInt<6>("h02c")] + node T_1846 = eq(T_1845, T_1711) + infer accessor T_1848 = idxs[UInt<6>("h02d")] + node T_1849 = eq(T_1848, T_1711) + infer accessor T_1851 = idxs[UInt<6>("h02e")] + node T_1852 = eq(T_1851, T_1711) + infer accessor T_1854 = idxs[UInt<6>("h02f")] + node T_1855 = eq(T_1854, T_1711) + infer accessor T_1857 = idxs[UInt<6>("h030")] + node T_1858 = eq(T_1857, T_1711) + infer accessor T_1860 = idxs[UInt<6>("h031")] + node T_1861 = eq(T_1860, T_1711) + infer accessor T_1863 = idxs[UInt<6>("h032")] + node T_1864 = eq(T_1863, T_1711) + infer accessor T_1866 = idxs[UInt<6>("h033")] + node T_1867 = eq(T_1866, T_1711) + infer accessor T_1869 = idxs[UInt<6>("h034")] + node T_1870 = eq(T_1869, T_1711) + infer accessor T_1872 = idxs[UInt<6>("h035")] + node T_1873 = eq(T_1872, T_1711) + infer accessor T_1875 = idxs[UInt<6>("h036")] + node T_1876 = eq(T_1875, T_1711) + infer accessor T_1878 = idxs[UInt<6>("h037")] + node T_1879 = eq(T_1878, T_1711) + infer accessor T_1881 = idxs[UInt<6>("h038")] + node T_1882 = eq(T_1881, T_1711) + infer accessor T_1884 = idxs[UInt<6>("h039")] + node T_1885 = eq(T_1884, T_1711) + infer accessor T_1887 = idxs[UInt<6>("h03a")] + node T_1888 = eq(T_1887, T_1711) + infer accessor T_1890 = idxs[UInt<6>("h03b")] + node T_1891 = eq(T_1890, T_1711) + infer accessor T_1893 = idxs[UInt<6>("h03c")] + node T_1894 = eq(T_1893, T_1711) + infer accessor T_1896 = idxs[UInt<6>("h03d")] + node T_1897 = eq(T_1896, T_1711) + wire T_1899 : UInt<1>[62] + T_1899[0] := T_1714 + T_1899[1] := T_1717 + T_1899[2] := T_1720 + T_1899[3] := T_1723 + T_1899[4] := T_1726 + T_1899[5] := T_1729 + T_1899[6] := T_1732 + T_1899[7] := T_1735 + T_1899[8] := T_1738 + T_1899[9] := T_1741 + T_1899[10] := T_1744 + T_1899[11] := T_1747 + T_1899[12] := T_1750 + T_1899[13] := T_1753 + T_1899[14] := T_1756 + T_1899[15] := T_1759 + T_1899[16] := T_1762 + T_1899[17] := T_1765 + T_1899[18] := T_1768 + T_1899[19] := T_1771 + T_1899[20] := T_1774 + T_1899[21] := T_1777 + T_1899[22] := T_1780 + T_1899[23] := T_1783 + T_1899[24] := T_1786 + T_1899[25] := T_1789 + T_1899[26] := T_1792 + T_1899[27] := T_1795 + T_1899[28] := T_1798 + T_1899[29] := T_1801 + T_1899[30] := T_1804 + T_1899[31] := T_1807 + T_1899[32] := T_1810 + T_1899[33] := T_1813 + T_1899[34] := T_1816 + T_1899[35] := T_1819 + T_1899[36] := T_1822 + T_1899[37] := T_1825 + T_1899[38] := T_1828 + T_1899[39] := T_1831 + T_1899[40] := T_1834 + T_1899[41] := T_1837 + T_1899[42] := T_1840 + T_1899[43] := T_1843 + T_1899[44] := T_1846 + T_1899[45] := T_1849 + T_1899[46] := T_1852 + T_1899[47] := T_1855 + T_1899[48] := T_1858 + T_1899[49] := T_1861 + T_1899[50] := T_1864 + T_1899[51] := T_1867 + T_1899[52] := T_1870 + T_1899[53] := T_1873 + T_1899[54] := T_1876 + T_1899[55] := T_1879 + T_1899[56] := T_1882 + T_1899[57] := T_1885 + T_1899[58] := T_1888 + T_1899[59] := T_1891 + T_1899[60] := T_1894 + T_1899[61] := T_1897 + node T_1963 = cat(T_1899[60], T_1899[59]) + node T_1964 = cat(T_1899[61], T_1963) + node T_1965 = cat(T_1899[58], T_1899[57]) + node T_1966 = cat(T_1899[56], T_1899[55]) + node T_1967 = cat(T_1965, T_1966) + node T_1968 = cat(T_1964, T_1967) + node T_1969 = cat(T_1899[54], T_1899[53]) + node T_1970 = cat(T_1899[52], T_1899[51]) + node T_1971 = cat(T_1969, T_1970) + node T_1972 = cat(T_1899[50], T_1899[49]) + node T_1973 = cat(T_1899[48], T_1899[47]) + node T_1974 = cat(T_1972, T_1973) + node T_1975 = cat(T_1971, T_1974) + node T_1976 = cat(T_1968, T_1975) + node T_1977 = cat(T_1899[46], T_1899[45]) + node T_1978 = cat(T_1899[44], T_1899[43]) + node T_1979 = cat(T_1977, T_1978) + node T_1980 = cat(T_1899[42], T_1899[41]) + node T_1981 = cat(T_1899[40], T_1899[39]) + node T_1982 = cat(T_1980, T_1981) + node T_1983 = cat(T_1979, T_1982) + node T_1984 = cat(T_1899[38], T_1899[37]) + node T_1985 = cat(T_1899[36], T_1899[35]) + node T_1986 = cat(T_1984, T_1985) + node T_1987 = cat(T_1899[34], T_1899[33]) + node T_1988 = cat(T_1899[32], T_1899[31]) + node T_1989 = cat(T_1987, T_1988) + node T_1990 = cat(T_1986, T_1989) + node T_1991 = cat(T_1983, T_1990) + node T_1992 = cat(T_1976, T_1991) + node T_1993 = cat(T_1899[29], T_1899[28]) + node T_1994 = cat(T_1899[30], T_1993) + node T_1995 = cat(T_1899[27], T_1899[26]) + node T_1996 = cat(T_1899[25], T_1899[24]) + node T_1997 = cat(T_1995, T_1996) + node T_1998 = cat(T_1994, T_1997) + node T_1999 = cat(T_1899[23], T_1899[22]) + node T_2000 = cat(T_1899[21], T_1899[20]) + node T_2001 = cat(T_1999, T_2000) + node T_2002 = cat(T_1899[19], T_1899[18]) + node T_2003 = cat(T_1899[17], T_1899[16]) + node T_2004 = cat(T_2002, T_2003) + node T_2005 = cat(T_2001, T_2004) + node T_2006 = cat(T_1998, T_2005) + node T_2007 = cat(T_1899[15], T_1899[14]) + node T_2008 = cat(T_1899[13], T_1899[12]) + node T_2009 = cat(T_2007, T_2008) + node T_2010 = cat(T_1899[11], T_1899[10]) + node T_2011 = cat(T_1899[9], T_1899[8]) + node T_2012 = cat(T_2010, T_2011) + node T_2013 = cat(T_2009, T_2012) + node T_2014 = cat(T_1899[7], T_1899[6]) + node T_2015 = cat(T_1899[5], T_1899[4]) + node T_2016 = cat(T_2014, T_2015) + node T_2017 = cat(T_1899[3], T_1899[2]) + node T_2018 = cat(T_1899[1], T_1899[0]) + node T_2019 = cat(T_2017, T_2018) + node T_2020 = cat(T_2016, T_2019) + node T_2021 = cat(T_2013, T_2020) + node T_2022 = cat(T_2006, T_2021) + node T_2023 = cat(T_1992, T_2022) + node T_2024 = and(T_592, pageHit) + node T_2025 = and(T_597, pageHit) + node T_2026 = and(T_602, pageHit) + node T_2027 = and(T_607, pageHit) + node T_2028 = and(T_612, pageHit) + node T_2029 = and(T_617, pageHit) + node T_2030 = and(T_622, pageHit) + node T_2031 = and(T_627, pageHit) + node T_2032 = and(T_632, pageHit) + node T_2033 = and(T_637, pageHit) + node T_2034 = and(T_642, pageHit) + node T_2035 = and(T_647, pageHit) + node T_2036 = and(T_652, pageHit) + node T_2037 = and(T_657, pageHit) + node T_2038 = and(T_662, pageHit) + node T_2039 = and(T_667, pageHit) + node T_2040 = and(T_672, pageHit) + node T_2041 = and(T_677, pageHit) + node T_2042 = and(T_682, pageHit) + node T_2043 = and(T_687, pageHit) + node T_2044 = and(T_692, pageHit) + node T_2045 = and(T_697, pageHit) + node T_2046 = and(T_702, pageHit) + node T_2047 = and(T_707, pageHit) + node T_2048 = and(T_712, pageHit) + node T_2049 = and(T_717, pageHit) + node T_2050 = and(T_722, pageHit) + node T_2051 = and(T_727, pageHit) + node T_2052 = and(T_732, pageHit) + node T_2053 = and(T_737, pageHit) + node T_2054 = and(T_742, pageHit) + node T_2055 = and(T_747, pageHit) + node T_2056 = and(T_752, pageHit) + node T_2057 = and(T_757, pageHit) + node T_2058 = and(T_762, pageHit) + node T_2059 = and(T_767, pageHit) + node T_2060 = and(T_772, pageHit) + node T_2061 = and(T_777, pageHit) + node T_2062 = and(T_782, pageHit) + node T_2063 = and(T_787, pageHit) + node T_2064 = and(T_792, pageHit) + node T_2065 = and(T_797, pageHit) + node T_2066 = and(T_802, pageHit) + node T_2067 = and(T_807, pageHit) + node T_2068 = and(T_812, pageHit) + node T_2069 = and(T_817, pageHit) + node T_2070 = and(T_822, pageHit) + node T_2071 = and(T_827, pageHit) + node T_2072 = and(T_832, pageHit) + node T_2073 = and(T_837, pageHit) + node T_2074 = and(T_842, pageHit) + node T_2075 = and(T_847, pageHit) + node T_2076 = and(T_852, pageHit) + node T_2077 = and(T_857, pageHit) + node T_2078 = and(T_862, pageHit) + node T_2079 = and(T_867, pageHit) + node T_2080 = and(T_872, pageHit) + node T_2081 = and(T_877, pageHit) + node T_2082 = and(T_882, pageHit) + node T_2083 = and(T_887, pageHit) + node T_2084 = and(T_892, pageHit) + node T_2085 = and(T_897, pageHit) + node T_2087 = neq(T_2024, UInt<1>("h00")) + node T_2089 = neq(T_2025, UInt<1>("h00")) + node T_2091 = neq(T_2026, UInt<1>("h00")) + node T_2093 = neq(T_2027, UInt<1>("h00")) + node T_2095 = neq(T_2028, UInt<1>("h00")) + node T_2097 = neq(T_2029, UInt<1>("h00")) + node T_2099 = neq(T_2030, UInt<1>("h00")) + node T_2101 = neq(T_2031, UInt<1>("h00")) + node T_2103 = neq(T_2032, UInt<1>("h00")) + node T_2105 = neq(T_2033, UInt<1>("h00")) + node T_2107 = neq(T_2034, UInt<1>("h00")) + node T_2109 = neq(T_2035, UInt<1>("h00")) + node T_2111 = neq(T_2036, UInt<1>("h00")) + node T_2113 = neq(T_2037, UInt<1>("h00")) + node T_2115 = neq(T_2038, UInt<1>("h00")) + node T_2117 = neq(T_2039, UInt<1>("h00")) + node T_2119 = neq(T_2040, UInt<1>("h00")) + node T_2121 = neq(T_2041, UInt<1>("h00")) + node T_2123 = neq(T_2042, UInt<1>("h00")) + node T_2125 = neq(T_2043, UInt<1>("h00")) + node T_2127 = neq(T_2044, UInt<1>("h00")) + node T_2129 = neq(T_2045, UInt<1>("h00")) + node T_2131 = neq(T_2046, UInt<1>("h00")) + node T_2133 = neq(T_2047, UInt<1>("h00")) + node T_2135 = neq(T_2048, UInt<1>("h00")) + node T_2137 = neq(T_2049, UInt<1>("h00")) + node T_2139 = neq(T_2050, UInt<1>("h00")) + node T_2141 = neq(T_2051, UInt<1>("h00")) + node T_2143 = neq(T_2052, UInt<1>("h00")) + node T_2145 = neq(T_2053, UInt<1>("h00")) + node T_2147 = neq(T_2054, UInt<1>("h00")) + node T_2149 = neq(T_2055, UInt<1>("h00")) + node T_2151 = neq(T_2056, UInt<1>("h00")) + node T_2153 = neq(T_2057, UInt<1>("h00")) + node T_2155 = neq(T_2058, UInt<1>("h00")) + node T_2157 = neq(T_2059, UInt<1>("h00")) + node T_2159 = neq(T_2060, UInt<1>("h00")) + node T_2161 = neq(T_2061, UInt<1>("h00")) + node T_2163 = neq(T_2062, UInt<1>("h00")) + node T_2165 = neq(T_2063, UInt<1>("h00")) + node T_2167 = neq(T_2064, UInt<1>("h00")) + node T_2169 = neq(T_2065, UInt<1>("h00")) + node T_2171 = neq(T_2066, UInt<1>("h00")) + node T_2173 = neq(T_2067, UInt<1>("h00")) + node T_2175 = neq(T_2068, UInt<1>("h00")) + node T_2177 = neq(T_2069, UInt<1>("h00")) + node T_2179 = neq(T_2070, UInt<1>("h00")) + node T_2181 = neq(T_2071, UInt<1>("h00")) + node T_2183 = neq(T_2072, UInt<1>("h00")) + node T_2185 = neq(T_2073, UInt<1>("h00")) + node T_2187 = neq(T_2074, UInt<1>("h00")) + node T_2189 = neq(T_2075, UInt<1>("h00")) + node T_2191 = neq(T_2076, UInt<1>("h00")) + node T_2193 = neq(T_2077, UInt<1>("h00")) + node T_2195 = neq(T_2078, UInt<1>("h00")) + node T_2197 = neq(T_2079, UInt<1>("h00")) + node T_2199 = neq(T_2080, UInt<1>("h00")) + node T_2201 = neq(T_2081, UInt<1>("h00")) + node T_2203 = neq(T_2082, UInt<1>("h00")) + node T_2205 = neq(T_2083, UInt<1>("h00")) + node T_2207 = neq(T_2084, UInt<1>("h00")) + node T_2209 = neq(T_2085, UInt<1>("h00")) + wire T_2211 : UInt<1>[62] + T_2211[0] := T_2087 + T_2211[1] := T_2089 + T_2211[2] := T_2091 + T_2211[3] := T_2093 + T_2211[4] := T_2095 + T_2211[5] := T_2097 + T_2211[6] := T_2099 + T_2211[7] := T_2101 + T_2211[8] := T_2103 + T_2211[9] := T_2105 + T_2211[10] := T_2107 + T_2211[11] := T_2109 + T_2211[12] := T_2111 + T_2211[13] := T_2113 + T_2211[14] := T_2115 + T_2211[15] := T_2117 + T_2211[16] := T_2119 + T_2211[17] := T_2121 + T_2211[18] := T_2123 + T_2211[19] := T_2125 + T_2211[20] := T_2127 + T_2211[21] := T_2129 + T_2211[22] := T_2131 + T_2211[23] := T_2133 + T_2211[24] := T_2135 + T_2211[25] := T_2137 + T_2211[26] := T_2139 + T_2211[27] := T_2141 + T_2211[28] := T_2143 + T_2211[29] := T_2145 + T_2211[30] := T_2147 + T_2211[31] := T_2149 + T_2211[32] := T_2151 + T_2211[33] := T_2153 + T_2211[34] := T_2155 + T_2211[35] := T_2157 + T_2211[36] := T_2159 + T_2211[37] := T_2161 + T_2211[38] := T_2163 + T_2211[39] := T_2165 + T_2211[40] := T_2167 + T_2211[41] := T_2169 + T_2211[42] := T_2171 + T_2211[43] := T_2173 + T_2211[44] := T_2175 + T_2211[45] := T_2177 + T_2211[46] := T_2179 + T_2211[47] := T_2181 + T_2211[48] := T_2183 + T_2211[49] := T_2185 + T_2211[50] := T_2187 + T_2211[51] := T_2189 + T_2211[52] := T_2191 + T_2211[53] := T_2193 + T_2211[54] := T_2195 + T_2211[55] := T_2197 + T_2211[56] := T_2199 + T_2211[57] := T_2201 + T_2211[58] := T_2203 + T_2211[59] := T_2205 + T_2211[60] := T_2207 + T_2211[61] := T_2209 + node T_2275 = cat(T_2211[60], T_2211[59]) + node T_2276 = cat(T_2211[61], T_2275) + node T_2277 = cat(T_2211[58], T_2211[57]) + node T_2278 = cat(T_2211[56], T_2211[55]) + node T_2279 = cat(T_2277, T_2278) + node T_2280 = cat(T_2276, T_2279) + node T_2281 = cat(T_2211[54], T_2211[53]) + node T_2282 = cat(T_2211[52], T_2211[51]) + node T_2283 = cat(T_2281, T_2282) + node T_2284 = cat(T_2211[50], T_2211[49]) + node T_2285 = cat(T_2211[48], T_2211[47]) + node T_2286 = cat(T_2284, T_2285) + node T_2287 = cat(T_2283, T_2286) + node T_2288 = cat(T_2280, T_2287) + node T_2289 = cat(T_2211[46], T_2211[45]) + node T_2290 = cat(T_2211[44], T_2211[43]) + node T_2291 = cat(T_2289, T_2290) + node T_2292 = cat(T_2211[42], T_2211[41]) + node T_2293 = cat(T_2211[40], T_2211[39]) + node T_2294 = cat(T_2292, T_2293) + node T_2295 = cat(T_2291, T_2294) + node T_2296 = cat(T_2211[38], T_2211[37]) + node T_2297 = cat(T_2211[36], T_2211[35]) + node T_2298 = cat(T_2296, T_2297) + node T_2299 = cat(T_2211[34], T_2211[33]) + node T_2300 = cat(T_2211[32], T_2211[31]) + node T_2301 = cat(T_2299, T_2300) + node T_2302 = cat(T_2298, T_2301) + node T_2303 = cat(T_2295, T_2302) + node T_2304 = cat(T_2288, T_2303) + node T_2305 = cat(T_2211[29], T_2211[28]) + node T_2306 = cat(T_2211[30], T_2305) + node T_2307 = cat(T_2211[27], T_2211[26]) + node T_2308 = cat(T_2211[25], T_2211[24]) + node T_2309 = cat(T_2307, T_2308) + node T_2310 = cat(T_2306, T_2309) + node T_2311 = cat(T_2211[23], T_2211[22]) + node T_2312 = cat(T_2211[21], T_2211[20]) + node T_2313 = cat(T_2311, T_2312) + node T_2314 = cat(T_2211[19], T_2211[18]) + node T_2315 = cat(T_2211[17], T_2211[16]) + node T_2316 = cat(T_2314, T_2315) + node T_2317 = cat(T_2313, T_2316) + node T_2318 = cat(T_2310, T_2317) + node T_2319 = cat(T_2211[15], T_2211[14]) + node T_2320 = cat(T_2211[13], T_2211[12]) + node T_2321 = cat(T_2319, T_2320) + node T_2322 = cat(T_2211[11], T_2211[10]) + node T_2323 = cat(T_2211[9], T_2211[8]) + node T_2324 = cat(T_2322, T_2323) + node T_2325 = cat(T_2321, T_2324) + node T_2326 = cat(T_2211[7], T_2211[6]) + node T_2327 = cat(T_2211[5], T_2211[4]) + node T_2328 = cat(T_2326, T_2327) + node T_2329 = cat(T_2211[3], T_2211[2]) + node T_2330 = cat(T_2211[1], T_2211[0]) + node T_2331 = cat(T_2329, T_2330) + node T_2332 = cat(T_2328, T_2331) + node T_2333 = cat(T_2325, T_2332) + node T_2334 = cat(T_2318, T_2333) + node T_2335 = cat(T_2304, T_2334) + node T_2336 = and(idxValid, T_2023) + node hits = and(T_2336, T_2335) + node T_2338 = shr(r_btb_update.bits.pc, 12) + infer accessor T_2340 = pages[UInt<1>("h00")] + node T_2341 = eq(T_2340, T_2338) + infer accessor T_2343 = pages[UInt<1>("h01")] + node T_2344 = eq(T_2343, T_2338) + infer accessor T_2346 = pages[UInt<2>("h02")] + node T_2347 = eq(T_2346, T_2338) + infer accessor T_2349 = pages[UInt<2>("h03")] + node T_2350 = eq(T_2349, T_2338) + infer accessor T_2352 = pages[UInt<3>("h04")] + node T_2353 = eq(T_2352, T_2338) + infer accessor T_2355 = pages[UInt<3>("h05")] + node T_2356 = eq(T_2355, T_2338) + wire T_2358 : UInt<1>[6] + T_2358[0] := T_2341 + T_2358[1] := T_2344 + T_2358[2] := T_2347 + T_2358[3] := T_2350 + T_2358[4] := T_2353 + T_2358[5] := T_2356 + node T_2366 = cat(T_2358[4], T_2358[3]) + node T_2367 = cat(T_2358[5], T_2366) + node T_2368 = cat(T_2358[1], T_2358[0]) + node T_2369 = cat(T_2358[2], T_2368) + node T_2370 = cat(T_2367, T_2369) + node updatePageHit = and(T_2370, pageValid) + node T_2372 = bits(r_btb_update.bits.pc, 11, 0) + infer accessor T_2374 = idxs[UInt<1>("h00")] + node T_2375 = eq(T_2374, T_2372) + infer accessor T_2377 = idxs[UInt<1>("h01")] + node T_2378 = eq(T_2377, T_2372) + infer accessor T_2380 = idxs[UInt<2>("h02")] + node T_2381 = eq(T_2380, T_2372) + infer accessor T_2383 = idxs[UInt<2>("h03")] + node T_2384 = eq(T_2383, T_2372) + infer accessor T_2386 = idxs[UInt<3>("h04")] + node T_2387 = eq(T_2386, T_2372) + infer accessor T_2389 = idxs[UInt<3>("h05")] + node T_2390 = eq(T_2389, T_2372) + infer accessor T_2392 = idxs[UInt<3>("h06")] + node T_2393 = eq(T_2392, T_2372) + infer accessor T_2395 = idxs[UInt<3>("h07")] + node T_2396 = eq(T_2395, T_2372) + infer accessor T_2398 = idxs[UInt<4>("h08")] + node T_2399 = eq(T_2398, T_2372) + infer accessor T_2401 = idxs[UInt<4>("h09")] + node T_2402 = eq(T_2401, T_2372) + infer accessor T_2404 = idxs[UInt<4>("h0a")] + node T_2405 = eq(T_2404, T_2372) + infer accessor T_2407 = idxs[UInt<4>("h0b")] + node T_2408 = eq(T_2407, T_2372) + infer accessor T_2410 = idxs[UInt<4>("h0c")] + node T_2411 = eq(T_2410, T_2372) + infer accessor T_2413 = idxs[UInt<4>("h0d")] + node T_2414 = eq(T_2413, T_2372) + infer accessor T_2416 = idxs[UInt<4>("h0e")] + node T_2417 = eq(T_2416, T_2372) + infer accessor T_2419 = idxs[UInt<4>("h0f")] + node T_2420 = eq(T_2419, T_2372) + infer accessor T_2422 = idxs[UInt<5>("h010")] + node T_2423 = eq(T_2422, T_2372) + infer accessor T_2425 = idxs[UInt<5>("h011")] + node T_2426 = eq(T_2425, T_2372) + infer accessor T_2428 = idxs[UInt<5>("h012")] + node T_2429 = eq(T_2428, T_2372) + infer accessor T_2431 = idxs[UInt<5>("h013")] + node T_2432 = eq(T_2431, T_2372) + infer accessor T_2434 = idxs[UInt<5>("h014")] + node T_2435 = eq(T_2434, T_2372) + infer accessor T_2437 = idxs[UInt<5>("h015")] + node T_2438 = eq(T_2437, T_2372) + infer accessor T_2440 = idxs[UInt<5>("h016")] + node T_2441 = eq(T_2440, T_2372) + infer accessor T_2443 = idxs[UInt<5>("h017")] + node T_2444 = eq(T_2443, T_2372) + infer accessor T_2446 = idxs[UInt<5>("h018")] + node T_2447 = eq(T_2446, T_2372) + infer accessor T_2449 = idxs[UInt<5>("h019")] + node T_2450 = eq(T_2449, T_2372) + infer accessor T_2452 = idxs[UInt<5>("h01a")] + node T_2453 = eq(T_2452, T_2372) + infer accessor T_2455 = idxs[UInt<5>("h01b")] + node T_2456 = eq(T_2455, T_2372) + infer accessor T_2458 = idxs[UInt<5>("h01c")] + node T_2459 = eq(T_2458, T_2372) + infer accessor T_2461 = idxs[UInt<5>("h01d")] + node T_2462 = eq(T_2461, T_2372) + infer accessor T_2464 = idxs[UInt<5>("h01e")] + node T_2465 = eq(T_2464, T_2372) + infer accessor T_2467 = idxs[UInt<5>("h01f")] + node T_2468 = eq(T_2467, T_2372) + infer accessor T_2470 = idxs[UInt<6>("h020")] + node T_2471 = eq(T_2470, T_2372) + infer accessor T_2473 = idxs[UInt<6>("h021")] + node T_2474 = eq(T_2473, T_2372) + infer accessor T_2476 = idxs[UInt<6>("h022")] + node T_2477 = eq(T_2476, T_2372) + infer accessor T_2479 = idxs[UInt<6>("h023")] + node T_2480 = eq(T_2479, T_2372) + infer accessor T_2482 = idxs[UInt<6>("h024")] + node T_2483 = eq(T_2482, T_2372) + infer accessor T_2485 = idxs[UInt<6>("h025")] + node T_2486 = eq(T_2485, T_2372) + infer accessor T_2488 = idxs[UInt<6>("h026")] + node T_2489 = eq(T_2488, T_2372) + infer accessor T_2491 = idxs[UInt<6>("h027")] + node T_2492 = eq(T_2491, T_2372) + infer accessor T_2494 = idxs[UInt<6>("h028")] + node T_2495 = eq(T_2494, T_2372) + infer accessor T_2497 = idxs[UInt<6>("h029")] + node T_2498 = eq(T_2497, T_2372) + infer accessor T_2500 = idxs[UInt<6>("h02a")] + node T_2501 = eq(T_2500, T_2372) + infer accessor T_2503 = idxs[UInt<6>("h02b")] + node T_2504 = eq(T_2503, T_2372) + infer accessor T_2506 = idxs[UInt<6>("h02c")] + node T_2507 = eq(T_2506, T_2372) + infer accessor T_2509 = idxs[UInt<6>("h02d")] + node T_2510 = eq(T_2509, T_2372) + infer accessor T_2512 = idxs[UInt<6>("h02e")] + node T_2513 = eq(T_2512, T_2372) + infer accessor T_2515 = idxs[UInt<6>("h02f")] + node T_2516 = eq(T_2515, T_2372) + infer accessor T_2518 = idxs[UInt<6>("h030")] + node T_2519 = eq(T_2518, T_2372) + infer accessor T_2521 = idxs[UInt<6>("h031")] + node T_2522 = eq(T_2521, T_2372) + infer accessor T_2524 = idxs[UInt<6>("h032")] + node T_2525 = eq(T_2524, T_2372) + infer accessor T_2527 = idxs[UInt<6>("h033")] + node T_2528 = eq(T_2527, T_2372) + infer accessor T_2530 = idxs[UInt<6>("h034")] + node T_2531 = eq(T_2530, T_2372) + infer accessor T_2533 = idxs[UInt<6>("h035")] + node T_2534 = eq(T_2533, T_2372) + infer accessor T_2536 = idxs[UInt<6>("h036")] + node T_2537 = eq(T_2536, T_2372) + infer accessor T_2539 = idxs[UInt<6>("h037")] + node T_2540 = eq(T_2539, T_2372) + infer accessor T_2542 = idxs[UInt<6>("h038")] + node T_2543 = eq(T_2542, T_2372) + infer accessor T_2545 = idxs[UInt<6>("h039")] + node T_2546 = eq(T_2545, T_2372) + infer accessor T_2548 = idxs[UInt<6>("h03a")] + node T_2549 = eq(T_2548, T_2372) + infer accessor T_2551 = idxs[UInt<6>("h03b")] + node T_2552 = eq(T_2551, T_2372) + infer accessor T_2554 = idxs[UInt<6>("h03c")] + node T_2555 = eq(T_2554, T_2372) + infer accessor T_2557 = idxs[UInt<6>("h03d")] + node T_2558 = eq(T_2557, T_2372) + wire T_2560 : UInt<1>[62] + T_2560[0] := T_2375 + T_2560[1] := T_2378 + T_2560[2] := T_2381 + T_2560[3] := T_2384 + T_2560[4] := T_2387 + T_2560[5] := T_2390 + T_2560[6] := T_2393 + T_2560[7] := T_2396 + T_2560[8] := T_2399 + T_2560[9] := T_2402 + T_2560[10] := T_2405 + T_2560[11] := T_2408 + T_2560[12] := T_2411 + T_2560[13] := T_2414 + T_2560[14] := T_2417 + T_2560[15] := T_2420 + T_2560[16] := T_2423 + T_2560[17] := T_2426 + T_2560[18] := T_2429 + T_2560[19] := T_2432 + T_2560[20] := T_2435 + T_2560[21] := T_2438 + T_2560[22] := T_2441 + T_2560[23] := T_2444 + T_2560[24] := T_2447 + T_2560[25] := T_2450 + T_2560[26] := T_2453 + T_2560[27] := T_2456 + T_2560[28] := T_2459 + T_2560[29] := T_2462 + T_2560[30] := T_2465 + T_2560[31] := T_2468 + T_2560[32] := T_2471 + T_2560[33] := T_2474 + T_2560[34] := T_2477 + T_2560[35] := T_2480 + T_2560[36] := T_2483 + T_2560[37] := T_2486 + T_2560[38] := T_2489 + T_2560[39] := T_2492 + T_2560[40] := T_2495 + T_2560[41] := T_2498 + T_2560[42] := T_2501 + T_2560[43] := T_2504 + T_2560[44] := T_2507 + T_2560[45] := T_2510 + T_2560[46] := T_2513 + T_2560[47] := T_2516 + T_2560[48] := T_2519 + T_2560[49] := T_2522 + T_2560[50] := T_2525 + T_2560[51] := T_2528 + T_2560[52] := T_2531 + T_2560[53] := T_2534 + T_2560[54] := T_2537 + T_2560[55] := T_2540 + T_2560[56] := T_2543 + T_2560[57] := T_2546 + T_2560[58] := T_2549 + T_2560[59] := T_2552 + T_2560[60] := T_2555 + T_2560[61] := T_2558 + node T_2624 = cat(T_2560[60], T_2560[59]) + node T_2625 = cat(T_2560[61], T_2624) + node T_2626 = cat(T_2560[58], T_2560[57]) + node T_2627 = cat(T_2560[56], T_2560[55]) + node T_2628 = cat(T_2626, T_2627) + node T_2629 = cat(T_2625, T_2628) + node T_2630 = cat(T_2560[54], T_2560[53]) + node T_2631 = cat(T_2560[52], T_2560[51]) + node T_2632 = cat(T_2630, T_2631) + node T_2633 = cat(T_2560[50], T_2560[49]) + node T_2634 = cat(T_2560[48], T_2560[47]) + node T_2635 = cat(T_2633, T_2634) + node T_2636 = cat(T_2632, T_2635) + node T_2637 = cat(T_2629, T_2636) + node T_2638 = cat(T_2560[46], T_2560[45]) + node T_2639 = cat(T_2560[44], T_2560[43]) + node T_2640 = cat(T_2638, T_2639) + node T_2641 = cat(T_2560[42], T_2560[41]) + node T_2642 = cat(T_2560[40], T_2560[39]) + node T_2643 = cat(T_2641, T_2642) + node T_2644 = cat(T_2640, T_2643) + node T_2645 = cat(T_2560[38], T_2560[37]) + node T_2646 = cat(T_2560[36], T_2560[35]) + node T_2647 = cat(T_2645, T_2646) + node T_2648 = cat(T_2560[34], T_2560[33]) + node T_2649 = cat(T_2560[32], T_2560[31]) + node T_2650 = cat(T_2648, T_2649) + node T_2651 = cat(T_2647, T_2650) + node T_2652 = cat(T_2644, T_2651) + node T_2653 = cat(T_2637, T_2652) + node T_2654 = cat(T_2560[29], T_2560[28]) + node T_2655 = cat(T_2560[30], T_2654) + node T_2656 = cat(T_2560[27], T_2560[26]) + node T_2657 = cat(T_2560[25], T_2560[24]) + node T_2658 = cat(T_2656, T_2657) + node T_2659 = cat(T_2655, T_2658) + node T_2660 = cat(T_2560[23], T_2560[22]) + node T_2661 = cat(T_2560[21], T_2560[20]) + node T_2662 = cat(T_2660, T_2661) + node T_2663 = cat(T_2560[19], T_2560[18]) + node T_2664 = cat(T_2560[17], T_2560[16]) + node T_2665 = cat(T_2663, T_2664) + node T_2666 = cat(T_2662, T_2665) + node T_2667 = cat(T_2659, T_2666) + node T_2668 = cat(T_2560[15], T_2560[14]) + node T_2669 = cat(T_2560[13], T_2560[12]) + node T_2670 = cat(T_2668, T_2669) + node T_2671 = cat(T_2560[11], T_2560[10]) + node T_2672 = cat(T_2560[9], T_2560[8]) + node T_2673 = cat(T_2671, T_2672) + node T_2674 = cat(T_2670, T_2673) + node T_2675 = cat(T_2560[7], T_2560[6]) + node T_2676 = cat(T_2560[5], T_2560[4]) + node T_2677 = cat(T_2675, T_2676) + node T_2678 = cat(T_2560[3], T_2560[2]) + node T_2679 = cat(T_2560[1], T_2560[0]) + node T_2680 = cat(T_2678, T_2679) + node T_2681 = cat(T_2677, T_2680) + node T_2682 = cat(T_2674, T_2681) + node T_2683 = cat(T_2667, T_2682) + node T_2684 = cat(T_2653, T_2683) + node T_2685 = and(T_592, updatePageHit) + node T_2686 = and(T_597, updatePageHit) + node T_2687 = and(T_602, updatePageHit) + node T_2688 = and(T_607, updatePageHit) + node T_2689 = and(T_612, updatePageHit) + node T_2690 = and(T_617, updatePageHit) + node T_2691 = and(T_622, updatePageHit) + node T_2692 = and(T_627, updatePageHit) + node T_2693 = and(T_632, updatePageHit) + node T_2694 = and(T_637, updatePageHit) + node T_2695 = and(T_642, updatePageHit) + node T_2696 = and(T_647, updatePageHit) + node T_2697 = and(T_652, updatePageHit) + node T_2698 = and(T_657, updatePageHit) + node T_2699 = and(T_662, updatePageHit) + node T_2700 = and(T_667, updatePageHit) + node T_2701 = and(T_672, updatePageHit) + node T_2702 = and(T_677, updatePageHit) + node T_2703 = and(T_682, updatePageHit) + node T_2704 = and(T_687, updatePageHit) + node T_2705 = and(T_692, updatePageHit) + node T_2706 = and(T_697, updatePageHit) + node T_2707 = and(T_702, updatePageHit) + node T_2708 = and(T_707, updatePageHit) + node T_2709 = and(T_712, updatePageHit) + node T_2710 = and(T_717, updatePageHit) + node T_2711 = and(T_722, updatePageHit) + node T_2712 = and(T_727, updatePageHit) + node T_2713 = and(T_732, updatePageHit) + node T_2714 = and(T_737, updatePageHit) + node T_2715 = and(T_742, updatePageHit) + node T_2716 = and(T_747, updatePageHit) + node T_2717 = and(T_752, updatePageHit) + node T_2718 = and(T_757, updatePageHit) + node T_2719 = and(T_762, updatePageHit) + node T_2720 = and(T_767, updatePageHit) + node T_2721 = and(T_772, updatePageHit) + node T_2722 = and(T_777, updatePageHit) + node T_2723 = and(T_782, updatePageHit) + node T_2724 = and(T_787, updatePageHit) + node T_2725 = and(T_792, updatePageHit) + node T_2726 = and(T_797, updatePageHit) + node T_2727 = and(T_802, updatePageHit) + node T_2728 = and(T_807, updatePageHit) + node T_2729 = and(T_812, updatePageHit) + node T_2730 = and(T_817, updatePageHit) + node T_2731 = and(T_822, updatePageHit) + node T_2732 = and(T_827, updatePageHit) + node T_2733 = and(T_832, updatePageHit) + node T_2734 = and(T_837, updatePageHit) + node T_2735 = and(T_842, updatePageHit) + node T_2736 = and(T_847, updatePageHit) + node T_2737 = and(T_852, updatePageHit) + node T_2738 = and(T_857, updatePageHit) + node T_2739 = and(T_862, updatePageHit) + node T_2740 = and(T_867, updatePageHit) + node T_2741 = and(T_872, updatePageHit) + node T_2742 = and(T_877, updatePageHit) + node T_2743 = and(T_882, updatePageHit) + node T_2744 = and(T_887, updatePageHit) + node T_2745 = and(T_892, updatePageHit) + node T_2746 = and(T_897, updatePageHit) + node T_2748 = neq(T_2685, UInt<1>("h00")) + node T_2750 = neq(T_2686, UInt<1>("h00")) + node T_2752 = neq(T_2687, UInt<1>("h00")) + node T_2754 = neq(T_2688, UInt<1>("h00")) + node T_2756 = neq(T_2689, UInt<1>("h00")) + node T_2758 = neq(T_2690, UInt<1>("h00")) + node T_2760 = neq(T_2691, UInt<1>("h00")) + node T_2762 = neq(T_2692, UInt<1>("h00")) + node T_2764 = neq(T_2693, UInt<1>("h00")) + node T_2766 = neq(T_2694, UInt<1>("h00")) + node T_2768 = neq(T_2695, UInt<1>("h00")) + node T_2770 = neq(T_2696, UInt<1>("h00")) + node T_2772 = neq(T_2697, UInt<1>("h00")) + node T_2774 = neq(T_2698, UInt<1>("h00")) + node T_2776 = neq(T_2699, UInt<1>("h00")) + node T_2778 = neq(T_2700, UInt<1>("h00")) + node T_2780 = neq(T_2701, UInt<1>("h00")) + node T_2782 = neq(T_2702, UInt<1>("h00")) + node T_2784 = neq(T_2703, UInt<1>("h00")) + node T_2786 = neq(T_2704, UInt<1>("h00")) + node T_2788 = neq(T_2705, UInt<1>("h00")) + node T_2790 = neq(T_2706, UInt<1>("h00")) + node T_2792 = neq(T_2707, UInt<1>("h00")) + node T_2794 = neq(T_2708, UInt<1>("h00")) + node T_2796 = neq(T_2709, UInt<1>("h00")) + node T_2798 = neq(T_2710, UInt<1>("h00")) + node T_2800 = neq(T_2711, UInt<1>("h00")) + node T_2802 = neq(T_2712, UInt<1>("h00")) + node T_2804 = neq(T_2713, UInt<1>("h00")) + node T_2806 = neq(T_2714, UInt<1>("h00")) + node T_2808 = neq(T_2715, UInt<1>("h00")) + node T_2810 = neq(T_2716, UInt<1>("h00")) + node T_2812 = neq(T_2717, UInt<1>("h00")) + node T_2814 = neq(T_2718, UInt<1>("h00")) + node T_2816 = neq(T_2719, UInt<1>("h00")) + node T_2818 = neq(T_2720, UInt<1>("h00")) + node T_2820 = neq(T_2721, UInt<1>("h00")) + node T_2822 = neq(T_2722, UInt<1>("h00")) + node T_2824 = neq(T_2723, UInt<1>("h00")) + node T_2826 = neq(T_2724, UInt<1>("h00")) + node T_2828 = neq(T_2725, UInt<1>("h00")) + node T_2830 = neq(T_2726, UInt<1>("h00")) + node T_2832 = neq(T_2727, UInt<1>("h00")) + node T_2834 = neq(T_2728, UInt<1>("h00")) + node T_2836 = neq(T_2729, UInt<1>("h00")) + node T_2838 = neq(T_2730, UInt<1>("h00")) + node T_2840 = neq(T_2731, UInt<1>("h00")) + node T_2842 = neq(T_2732, UInt<1>("h00")) + node T_2844 = neq(T_2733, UInt<1>("h00")) + node T_2846 = neq(T_2734, UInt<1>("h00")) + node T_2848 = neq(T_2735, UInt<1>("h00")) + node T_2850 = neq(T_2736, UInt<1>("h00")) + node T_2852 = neq(T_2737, UInt<1>("h00")) + node T_2854 = neq(T_2738, UInt<1>("h00")) + node T_2856 = neq(T_2739, UInt<1>("h00")) + node T_2858 = neq(T_2740, UInt<1>("h00")) + node T_2860 = neq(T_2741, UInt<1>("h00")) + node T_2862 = neq(T_2742, UInt<1>("h00")) + node T_2864 = neq(T_2743, UInt<1>("h00")) + node T_2866 = neq(T_2744, UInt<1>("h00")) + node T_2868 = neq(T_2745, UInt<1>("h00")) + node T_2870 = neq(T_2746, UInt<1>("h00")) + wire T_2872 : UInt<1>[62] + T_2872[0] := T_2748 + T_2872[1] := T_2750 + T_2872[2] := T_2752 + T_2872[3] := T_2754 + T_2872[4] := T_2756 + T_2872[5] := T_2758 + T_2872[6] := T_2760 + T_2872[7] := T_2762 + T_2872[8] := T_2764 + T_2872[9] := T_2766 + T_2872[10] := T_2768 + T_2872[11] := T_2770 + T_2872[12] := T_2772 + T_2872[13] := T_2774 + T_2872[14] := T_2776 + T_2872[15] := T_2778 + T_2872[16] := T_2780 + T_2872[17] := T_2782 + T_2872[18] := T_2784 + T_2872[19] := T_2786 + T_2872[20] := T_2788 + T_2872[21] := T_2790 + T_2872[22] := T_2792 + T_2872[23] := T_2794 + T_2872[24] := T_2796 + T_2872[25] := T_2798 + T_2872[26] := T_2800 + T_2872[27] := T_2802 + T_2872[28] := T_2804 + T_2872[29] := T_2806 + T_2872[30] := T_2808 + T_2872[31] := T_2810 + T_2872[32] := T_2812 + T_2872[33] := T_2814 + T_2872[34] := T_2816 + T_2872[35] := T_2818 + T_2872[36] := T_2820 + T_2872[37] := T_2822 + T_2872[38] := T_2824 + T_2872[39] := T_2826 + T_2872[40] := T_2828 + T_2872[41] := T_2830 + T_2872[42] := T_2832 + T_2872[43] := T_2834 + T_2872[44] := T_2836 + T_2872[45] := T_2838 + T_2872[46] := T_2840 + T_2872[47] := T_2842 + T_2872[48] := T_2844 + T_2872[49] := T_2846 + T_2872[50] := T_2848 + T_2872[51] := T_2850 + T_2872[52] := T_2852 + T_2872[53] := T_2854 + T_2872[54] := T_2856 + T_2872[55] := T_2858 + T_2872[56] := T_2860 + T_2872[57] := T_2862 + T_2872[58] := T_2864 + T_2872[59] := T_2866 + T_2872[60] := T_2868 + T_2872[61] := T_2870 + node T_2936 = cat(T_2872[60], T_2872[59]) + node T_2937 = cat(T_2872[61], T_2936) + node T_2938 = cat(T_2872[58], T_2872[57]) + node T_2939 = cat(T_2872[56], T_2872[55]) + node T_2940 = cat(T_2938, T_2939) + node T_2941 = cat(T_2937, T_2940) + node T_2942 = cat(T_2872[54], T_2872[53]) + node T_2943 = cat(T_2872[52], T_2872[51]) + node T_2944 = cat(T_2942, T_2943) + node T_2945 = cat(T_2872[50], T_2872[49]) + node T_2946 = cat(T_2872[48], T_2872[47]) + node T_2947 = cat(T_2945, T_2946) + node T_2948 = cat(T_2944, T_2947) + node T_2949 = cat(T_2941, T_2948) + node T_2950 = cat(T_2872[46], T_2872[45]) + node T_2951 = cat(T_2872[44], T_2872[43]) + node T_2952 = cat(T_2950, T_2951) + node T_2953 = cat(T_2872[42], T_2872[41]) + node T_2954 = cat(T_2872[40], T_2872[39]) + node T_2955 = cat(T_2953, T_2954) + node T_2956 = cat(T_2952, T_2955) + node T_2957 = cat(T_2872[38], T_2872[37]) + node T_2958 = cat(T_2872[36], T_2872[35]) + node T_2959 = cat(T_2957, T_2958) + node T_2960 = cat(T_2872[34], T_2872[33]) + node T_2961 = cat(T_2872[32], T_2872[31]) + node T_2962 = cat(T_2960, T_2961) + node T_2963 = cat(T_2959, T_2962) + node T_2964 = cat(T_2956, T_2963) + node T_2965 = cat(T_2949, T_2964) + node T_2966 = cat(T_2872[29], T_2872[28]) + node T_2967 = cat(T_2872[30], T_2966) + node T_2968 = cat(T_2872[27], T_2872[26]) + node T_2969 = cat(T_2872[25], T_2872[24]) + node T_2970 = cat(T_2968, T_2969) + node T_2971 = cat(T_2967, T_2970) + node T_2972 = cat(T_2872[23], T_2872[22]) + node T_2973 = cat(T_2872[21], T_2872[20]) + node T_2974 = cat(T_2972, T_2973) + node T_2975 = cat(T_2872[19], T_2872[18]) + node T_2976 = cat(T_2872[17], T_2872[16]) + node T_2977 = cat(T_2975, T_2976) + node T_2978 = cat(T_2974, T_2977) + node T_2979 = cat(T_2971, T_2978) + node T_2980 = cat(T_2872[15], T_2872[14]) + node T_2981 = cat(T_2872[13], T_2872[12]) + node T_2982 = cat(T_2980, T_2981) + node T_2983 = cat(T_2872[11], T_2872[10]) + node T_2984 = cat(T_2872[9], T_2872[8]) + node T_2985 = cat(T_2983, T_2984) + node T_2986 = cat(T_2982, T_2985) + node T_2987 = cat(T_2872[7], T_2872[6]) + node T_2988 = cat(T_2872[5], T_2872[4]) + node T_2989 = cat(T_2987, T_2988) + node T_2990 = cat(T_2872[3], T_2872[2]) + node T_2991 = cat(T_2872[1], T_2872[0]) + node T_2992 = cat(T_2990, T_2991) + node T_2993 = cat(T_2989, T_2992) + node T_2994 = cat(T_2986, T_2993) + node T_2995 = cat(T_2979, T_2994) + node T_2996 = cat(T_2965, T_2995) + node T_2997 = and(idxValid, T_2684) + node updateHits = and(T_2997, T_2996) + reg T_3000 : UInt<16>, clock, reset + onreset T_3000 := UInt<16>("h01") + when r_btb_update.valid : + node T_3001 = bit(T_3000, 0) + node T_3002 = bit(T_3000, 2) + node T_3003 = xor(T_3001, T_3002) + node T_3004 = bit(T_3000, 3) + node T_3005 = xor(T_3003, T_3004) + node T_3006 = bit(T_3000, 5) + node T_3007 = xor(T_3005, T_3006) + node T_3008 = bits(T_3000, 15, 1) + node T_3009 = cat(T_3007, T_3008) + T_3000 := T_3009 + skip + node useUpdatePageHit = neq(updatePageHit, UInt<1>("h00")) + node doIdxPageRepl = eq(useUpdatePageHit, UInt<1>("h00")) + wire idxPageRepl : UInt<6> + idxPageRepl := UInt<1>("h00") + node idxPageUpdateOH = mux(useUpdatePageHit, updatePageHit, idxPageRepl) + node T_3018 = bits(idxPageUpdateOH, 5, 4) + node T_3019 = bits(idxPageUpdateOH, 3, 0) + node T_3021 = neq(T_3018, UInt<1>("h00")) + node T_3022 = or(T_3018, T_3019) + node T_3023 = bits(T_3022, 3, 2) + node T_3024 = bits(T_3022, 1, 0) + node T_3026 = neq(T_3023, UInt<1>("h00")) + node T_3027 = or(T_3023, T_3024) + node T_3028 = bit(T_3027, 1) + node T_3029 = cat(T_3026, T_3028) + node idxPageUpdate = cat(T_3021, T_3029) + node idxPageReplEn = mux(doIdxPageRepl, idxPageRepl, UInt<1>("h00")) + node T_3033 = shr(r_btb_update.bits.pc, 12) + node T_3034 = shr(req.bits.addr, 12) + node samePage = eq(T_3033, T_3034) + node T_3036 = not(idxPageReplEn) + node T_3037 = and(pageHit, T_3036) + node usePageHit = neq(T_3037, UInt<1>("h00")) + node T_3041 = eq(samePage, UInt<1>("h00")) + node T_3043 = eq(usePageHit, UInt<1>("h00")) + node doTgtPageRepl = and(T_3041, T_3043) + node T_3045 = bits(idxPageUpdateOH, 4, 0) + node T_3046 = shl(T_3045, 1) + node T_3047 = bit(idxPageUpdateOH, 5) + node T_3048 = or(T_3046, T_3047) + node tgtPageRepl = mux(samePage, idxPageUpdateOH, T_3048) + node T_3050 = mux(usePageHit, pageHit, tgtPageRepl) + node T_3051 = bits(T_3050, 5, 4) + node T_3052 = bits(T_3050, 3, 0) + node T_3054 = neq(T_3051, UInt<1>("h00")) + node T_3055 = or(T_3051, T_3052) + node T_3056 = bits(T_3055, 3, 2) + node T_3057 = bits(T_3055, 1, 0) + node T_3059 = neq(T_3056, UInt<1>("h00")) + node T_3060 = or(T_3056, T_3057) + node T_3061 = bit(T_3060, 1) + node T_3062 = cat(T_3059, T_3061) + node tgtPageUpdate = cat(T_3054, T_3062) + node tgtPageReplEn = mux(doTgtPageRepl, tgtPageRepl, UInt<1>("h00")) + node doPageRepl = or(doIdxPageRepl, doTgtPageRepl) + node pageReplEn = or(idxPageReplEn, tgtPageReplEn) + node T_3068 = and(r_btb_update.valid, doPageRepl) + reg T_3070 : UInt<3>, clock, reset + onreset T_3070 := UInt<3>("h00") + when T_3068 : + node T_3072 = eq(T_3070, UInt<3>("h05")) + node T_3074 = and(UInt<1>("h01"), T_3072) + node T_3077 = addw(T_3070, UInt<1>("h01")) + node T_3078 = mux(T_3074, UInt<1>("h00"), T_3077) + T_3070 := T_3078 + skip + node T_3079 = and(T_3068, T_3072) + node T_3081 = dshl(UInt<1>("h01"), T_3070) + idxPageRepl := T_3081 + when r_btb_update.valid : + node T_3082 = eq(req.bits.addr, r_btb_update.bits.target) + node T_3084 = eq(r_btb_update.bits.prediction.valid, UInt<1>("h00")) + reg T_3086 : UInt<6>, clock, reset + onreset T_3086 := UInt<6>("h00") + when T_3084 : + node T_3088 = eq(T_3086, UInt<6>("h03d")) + node T_3090 = and(UInt<1>("h01"), T_3088) + node T_3093 = addw(T_3086, UInt<1>("h01")) + node T_3094 = mux(T_3090, UInt<1>("h00"), T_3093) + T_3086 := T_3094 + skip + node T_3095 = and(T_3084, T_3088) + node T_3096 = mux(r_btb_update.bits.prediction.valid, r_btb_update.bits.prediction.bits.entry, T_3086) + node T_3097 = or(T_592, T_902) + node T_3098 = and(pageReplEn, T_3097) + node T_3100 = neq(T_3098, UInt<1>("h00")) + node T_3101 = or(T_597, T_907) + node T_3102 = and(pageReplEn, T_3101) + node T_3104 = neq(T_3102, UInt<1>("h00")) + node T_3105 = or(T_602, T_912) + node T_3106 = and(pageReplEn, T_3105) + node T_3108 = neq(T_3106, UInt<1>("h00")) + node T_3109 = or(T_607, T_917) + node T_3110 = and(pageReplEn, T_3109) + node T_3112 = neq(T_3110, UInt<1>("h00")) + node T_3113 = or(T_612, T_922) + node T_3114 = and(pageReplEn, T_3113) + node T_3116 = neq(T_3114, UInt<1>("h00")) + node T_3117 = or(T_617, T_927) + node T_3118 = and(pageReplEn, T_3117) + node T_3120 = neq(T_3118, UInt<1>("h00")) + node T_3121 = or(T_622, T_932) + node T_3122 = and(pageReplEn, T_3121) + node T_3124 = neq(T_3122, UInt<1>("h00")) + node T_3125 = or(T_627, T_937) + node T_3126 = and(pageReplEn, T_3125) + node T_3128 = neq(T_3126, UInt<1>("h00")) + node T_3129 = or(T_632, T_942) + node T_3130 = and(pageReplEn, T_3129) + node T_3132 = neq(T_3130, UInt<1>("h00")) + node T_3133 = or(T_637, T_947) + node T_3134 = and(pageReplEn, T_3133) + node T_3136 = neq(T_3134, UInt<1>("h00")) + node T_3137 = or(T_642, T_952) + node T_3138 = and(pageReplEn, T_3137) + node T_3140 = neq(T_3138, UInt<1>("h00")) + node T_3141 = or(T_647, T_957) + node T_3142 = and(pageReplEn, T_3141) + node T_3144 = neq(T_3142, UInt<1>("h00")) + node T_3145 = or(T_652, T_962) + node T_3146 = and(pageReplEn, T_3145) + node T_3148 = neq(T_3146, UInt<1>("h00")) + node T_3149 = or(T_657, T_967) + node T_3150 = and(pageReplEn, T_3149) + node T_3152 = neq(T_3150, UInt<1>("h00")) + node T_3153 = or(T_662, T_972) + node T_3154 = and(pageReplEn, T_3153) + node T_3156 = neq(T_3154, UInt<1>("h00")) + node T_3157 = or(T_667, T_977) + node T_3158 = and(pageReplEn, T_3157) + node T_3160 = neq(T_3158, UInt<1>("h00")) + node T_3161 = or(T_672, T_982) + node T_3162 = and(pageReplEn, T_3161) + node T_3164 = neq(T_3162, UInt<1>("h00")) + node T_3165 = or(T_677, T_987) + node T_3166 = and(pageReplEn, T_3165) + node T_3168 = neq(T_3166, UInt<1>("h00")) + node T_3169 = or(T_682, T_992) + node T_3170 = and(pageReplEn, T_3169) + node T_3172 = neq(T_3170, UInt<1>("h00")) + node T_3173 = or(T_687, T_997) + node T_3174 = and(pageReplEn, T_3173) + node T_3176 = neq(T_3174, UInt<1>("h00")) + node T_3177 = or(T_692, T_1002) + node T_3178 = and(pageReplEn, T_3177) + node T_3180 = neq(T_3178, UInt<1>("h00")) + node T_3181 = or(T_697, T_1007) + node T_3182 = and(pageReplEn, T_3181) + node T_3184 = neq(T_3182, UInt<1>("h00")) + node T_3185 = or(T_702, T_1012) + node T_3186 = and(pageReplEn, T_3185) + node T_3188 = neq(T_3186, UInt<1>("h00")) + node T_3189 = or(T_707, T_1017) + node T_3190 = and(pageReplEn, T_3189) + node T_3192 = neq(T_3190, UInt<1>("h00")) + node T_3193 = or(T_712, T_1022) + node T_3194 = and(pageReplEn, T_3193) + node T_3196 = neq(T_3194, UInt<1>("h00")) + node T_3197 = or(T_717, T_1027) + node T_3198 = and(pageReplEn, T_3197) + node T_3200 = neq(T_3198, UInt<1>("h00")) + node T_3201 = or(T_722, T_1032) + node T_3202 = and(pageReplEn, T_3201) + node T_3204 = neq(T_3202, UInt<1>("h00")) + node T_3205 = or(T_727, T_1037) + node T_3206 = and(pageReplEn, T_3205) + node T_3208 = neq(T_3206, UInt<1>("h00")) + node T_3209 = or(T_732, T_1042) + node T_3210 = and(pageReplEn, T_3209) + node T_3212 = neq(T_3210, UInt<1>("h00")) + node T_3213 = or(T_737, T_1047) + node T_3214 = and(pageReplEn, T_3213) + node T_3216 = neq(T_3214, UInt<1>("h00")) + node T_3217 = or(T_742, T_1052) + node T_3218 = and(pageReplEn, T_3217) + node T_3220 = neq(T_3218, UInt<1>("h00")) + node T_3221 = or(T_747, T_1057) + node T_3222 = and(pageReplEn, T_3221) + node T_3224 = neq(T_3222, UInt<1>("h00")) + node T_3225 = or(T_752, T_1062) + node T_3226 = and(pageReplEn, T_3225) + node T_3228 = neq(T_3226, UInt<1>("h00")) + node T_3229 = or(T_757, T_1067) + node T_3230 = and(pageReplEn, T_3229) + node T_3232 = neq(T_3230, UInt<1>("h00")) + node T_3233 = or(T_762, T_1072) + node T_3234 = and(pageReplEn, T_3233) + node T_3236 = neq(T_3234, UInt<1>("h00")) + node T_3237 = or(T_767, T_1077) + node T_3238 = and(pageReplEn, T_3237) + node T_3240 = neq(T_3238, UInt<1>("h00")) + node T_3241 = or(T_772, T_1082) + node T_3242 = and(pageReplEn, T_3241) + node T_3244 = neq(T_3242, UInt<1>("h00")) + node T_3245 = or(T_777, T_1087) + node T_3246 = and(pageReplEn, T_3245) + node T_3248 = neq(T_3246, UInt<1>("h00")) + node T_3249 = or(T_782, T_1092) + node T_3250 = and(pageReplEn, T_3249) + node T_3252 = neq(T_3250, UInt<1>("h00")) + node T_3253 = or(T_787, T_1097) + node T_3254 = and(pageReplEn, T_3253) + node T_3256 = neq(T_3254, UInt<1>("h00")) + node T_3257 = or(T_792, T_1102) + node T_3258 = and(pageReplEn, T_3257) + node T_3260 = neq(T_3258, UInt<1>("h00")) + node T_3261 = or(T_797, T_1107) + node T_3262 = and(pageReplEn, T_3261) + node T_3264 = neq(T_3262, UInt<1>("h00")) + node T_3265 = or(T_802, T_1112) + node T_3266 = and(pageReplEn, T_3265) + node T_3268 = neq(T_3266, UInt<1>("h00")) + node T_3269 = or(T_807, T_1117) + node T_3270 = and(pageReplEn, T_3269) + node T_3272 = neq(T_3270, UInt<1>("h00")) + node T_3273 = or(T_812, T_1122) + node T_3274 = and(pageReplEn, T_3273) + node T_3276 = neq(T_3274, UInt<1>("h00")) + node T_3277 = or(T_817, T_1127) + node T_3278 = and(pageReplEn, T_3277) + node T_3280 = neq(T_3278, UInt<1>("h00")) + node T_3281 = or(T_822, T_1132) + node T_3282 = and(pageReplEn, T_3281) + node T_3284 = neq(T_3282, UInt<1>("h00")) + node T_3285 = or(T_827, T_1137) + node T_3286 = and(pageReplEn, T_3285) + node T_3288 = neq(T_3286, UInt<1>("h00")) + node T_3289 = or(T_832, T_1142) + node T_3290 = and(pageReplEn, T_3289) + node T_3292 = neq(T_3290, UInt<1>("h00")) + node T_3293 = or(T_837, T_1147) + node T_3294 = and(pageReplEn, T_3293) + node T_3296 = neq(T_3294, UInt<1>("h00")) + node T_3297 = or(T_842, T_1152) + node T_3298 = and(pageReplEn, T_3297) + node T_3300 = neq(T_3298, UInt<1>("h00")) + node T_3301 = or(T_847, T_1157) + node T_3302 = and(pageReplEn, T_3301) + node T_3304 = neq(T_3302, UInt<1>("h00")) + node T_3305 = or(T_852, T_1162) + node T_3306 = and(pageReplEn, T_3305) + node T_3308 = neq(T_3306, UInt<1>("h00")) + node T_3309 = or(T_857, T_1167) + node T_3310 = and(pageReplEn, T_3309) + node T_3312 = neq(T_3310, UInt<1>("h00")) + node T_3313 = or(T_862, T_1172) + node T_3314 = and(pageReplEn, T_3313) + node T_3316 = neq(T_3314, UInt<1>("h00")) + node T_3317 = or(T_867, T_1177) + node T_3318 = and(pageReplEn, T_3317) + node T_3320 = neq(T_3318, UInt<1>("h00")) + node T_3321 = or(T_872, T_1182) + node T_3322 = and(pageReplEn, T_3321) + node T_3324 = neq(T_3322, UInt<1>("h00")) + node T_3325 = or(T_877, T_1187) + node T_3326 = and(pageReplEn, T_3325) + node T_3328 = neq(T_3326, UInt<1>("h00")) + node T_3329 = or(T_882, T_1192) + node T_3330 = and(pageReplEn, T_3329) + node T_3332 = neq(T_3330, UInt<1>("h00")) + node T_3333 = or(T_887, T_1197) + node T_3334 = and(pageReplEn, T_3333) + node T_3336 = neq(T_3334, UInt<1>("h00")) + node T_3337 = or(T_892, T_1202) + node T_3338 = and(pageReplEn, T_3337) + node T_3340 = neq(T_3338, UInt<1>("h00")) + node T_3341 = or(T_897, T_1207) + node T_3342 = and(pageReplEn, T_3341) + node T_3344 = neq(T_3342, UInt<1>("h00")) + wire T_3346 : UInt<1>[62] + T_3346[0] := T_3100 + T_3346[1] := T_3104 + T_3346[2] := T_3108 + T_3346[3] := T_3112 + T_3346[4] := T_3116 + T_3346[5] := T_3120 + T_3346[6] := T_3124 + T_3346[7] := T_3128 + T_3346[8] := T_3132 + T_3346[9] := T_3136 + T_3346[10] := T_3140 + T_3346[11] := T_3144 + T_3346[12] := T_3148 + T_3346[13] := T_3152 + T_3346[14] := T_3156 + T_3346[15] := T_3160 + T_3346[16] := T_3164 + T_3346[17] := T_3168 + T_3346[18] := T_3172 + T_3346[19] := T_3176 + T_3346[20] := T_3180 + T_3346[21] := T_3184 + T_3346[22] := T_3188 + T_3346[23] := T_3192 + T_3346[24] := T_3196 + T_3346[25] := T_3200 + T_3346[26] := T_3204 + T_3346[27] := T_3208 + T_3346[28] := T_3212 + T_3346[29] := T_3216 + T_3346[30] := T_3220 + T_3346[31] := T_3224 + T_3346[32] := T_3228 + T_3346[33] := T_3232 + T_3346[34] := T_3236 + T_3346[35] := T_3240 + T_3346[36] := T_3244 + T_3346[37] := T_3248 + T_3346[38] := T_3252 + T_3346[39] := T_3256 + T_3346[40] := T_3260 + T_3346[41] := T_3264 + T_3346[42] := T_3268 + T_3346[43] := T_3272 + T_3346[44] := T_3276 + T_3346[45] := T_3280 + T_3346[46] := T_3284 + T_3346[47] := T_3288 + T_3346[48] := T_3292 + T_3346[49] := T_3296 + T_3346[50] := T_3300 + T_3346[51] := T_3304 + T_3346[52] := T_3308 + T_3346[53] := T_3312 + T_3346[54] := T_3316 + T_3346[55] := T_3320 + T_3346[56] := T_3324 + T_3346[57] := T_3328 + T_3346[58] := T_3332 + T_3346[59] := T_3336 + T_3346[60] := T_3340 + T_3346[61] := T_3344 + node T_3410 = cat(T_3346[60], T_3346[59]) + node T_3411 = cat(T_3346[61], T_3410) + node T_3412 = cat(T_3346[58], T_3346[57]) + node T_3413 = cat(T_3346[56], T_3346[55]) + node T_3414 = cat(T_3412, T_3413) + node T_3415 = cat(T_3411, T_3414) + node T_3416 = cat(T_3346[54], T_3346[53]) + node T_3417 = cat(T_3346[52], T_3346[51]) + node T_3418 = cat(T_3416, T_3417) + node T_3419 = cat(T_3346[50], T_3346[49]) + node T_3420 = cat(T_3346[48], T_3346[47]) + node T_3421 = cat(T_3419, T_3420) + node T_3422 = cat(T_3418, T_3421) + node T_3423 = cat(T_3415, T_3422) + node T_3424 = cat(T_3346[46], T_3346[45]) + node T_3425 = cat(T_3346[44], T_3346[43]) + node T_3426 = cat(T_3424, T_3425) + node T_3427 = cat(T_3346[42], T_3346[41]) + node T_3428 = cat(T_3346[40], T_3346[39]) + node T_3429 = cat(T_3427, T_3428) + node T_3430 = cat(T_3426, T_3429) + node T_3431 = cat(T_3346[38], T_3346[37]) + node T_3432 = cat(T_3346[36], T_3346[35]) + node T_3433 = cat(T_3431, T_3432) + node T_3434 = cat(T_3346[34], T_3346[33]) + node T_3435 = cat(T_3346[32], T_3346[31]) + node T_3436 = cat(T_3434, T_3435) + node T_3437 = cat(T_3433, T_3436) + node T_3438 = cat(T_3430, T_3437) + node T_3439 = cat(T_3423, T_3438) + node T_3440 = cat(T_3346[29], T_3346[28]) + node T_3441 = cat(T_3346[30], T_3440) + node T_3442 = cat(T_3346[27], T_3346[26]) + node T_3443 = cat(T_3346[25], T_3346[24]) + node T_3444 = cat(T_3442, T_3443) + node T_3445 = cat(T_3441, T_3444) + node T_3446 = cat(T_3346[23], T_3346[22]) + node T_3447 = cat(T_3346[21], T_3346[20]) + node T_3448 = cat(T_3446, T_3447) + node T_3449 = cat(T_3346[19], T_3346[18]) + node T_3450 = cat(T_3346[17], T_3346[16]) + node T_3451 = cat(T_3449, T_3450) + node T_3452 = cat(T_3448, T_3451) + node T_3453 = cat(T_3445, T_3452) + node T_3454 = cat(T_3346[15], T_3346[14]) + node T_3455 = cat(T_3346[13], T_3346[12]) + node T_3456 = cat(T_3454, T_3455) + node T_3457 = cat(T_3346[11], T_3346[10]) + node T_3458 = cat(T_3346[9], T_3346[8]) + node T_3459 = cat(T_3457, T_3458) + node T_3460 = cat(T_3456, T_3459) + node T_3461 = cat(T_3346[7], T_3346[6]) + node T_3462 = cat(T_3346[5], T_3346[4]) + node T_3463 = cat(T_3461, T_3462) + node T_3464 = cat(T_3346[3], T_3346[2]) + node T_3465 = cat(T_3346[1], T_3346[0]) + node T_3466 = cat(T_3464, T_3465) + node T_3467 = cat(T_3463, T_3466) + node T_3468 = cat(T_3460, T_3467) + node T_3469 = cat(T_3453, T_3468) + node T_3470 = cat(T_3439, T_3469) + node T_3472 = dshl(UInt<1>("h01"), T_3096) + node T_3473 = not(T_3470) + node T_3474 = and(idxValid, T_3473) + node T_3475 = or(T_3474, T_3472) + idxValid := T_3475 + infer accessor T_3476 = idxs[T_3096] + T_3476 := r_btb_update.bits.pc + infer accessor T_3477 = tgts[T_3096] + T_3477 := req.bits.addr + infer accessor T_3478 = idxPages[T_3096] + T_3478 := idxPageUpdate + infer accessor T_3479 = tgtPages[T_3096] + T_3479 := tgtPageUpdate + infer accessor T_3480 = useRAS[T_3096] + T_3480 := r_btb_update.bits.isReturn + infer accessor T_3481 = isJump[T_3096] + T_3481 := r_btb_update.bits.isJump + infer accessor T_3482 = brIdx[T_3096] + T_3482 := UInt<1>("h00") + node T_3485 = cat(UInt<2>("h01"), UInt<2>("h01")) + node T_3486 = cat(UInt<2>("h01"), T_3485) + node T_3487 = and(idxPageUpdateOH, T_3486) + node T_3489 = neq(T_3487, UInt<1>("h00")) + node T_3490 = mux(T_3489, doIdxPageRepl, doTgtPageRepl) + node T_3491 = shr(r_btb_update.bits.pc, 12) + node T_3492 = shr(req.bits.addr, 12) + node T_3493 = mux(T_3489, T_3491, T_3492) + node T_3494 = bit(pageReplEn, 0) + node T_3495 = and(T_3490, T_3494) + when T_3495 : + infer accessor T_3497 = pages[UInt<1>("h00")] + T_3497 := T_3493 + skip + node T_3498 = bit(pageReplEn, 2) + node T_3499 = and(T_3490, T_3498) + when T_3499 : + infer accessor T_3501 = pages[UInt<2>("h02")] + T_3501 := T_3493 + skip + node T_3502 = bit(pageReplEn, 4) + node T_3503 = and(T_3490, T_3502) + when T_3503 : + infer accessor T_3505 = pages[UInt<3>("h04")] + T_3505 := T_3493 + skip + node T_3506 = mux(T_3489, doTgtPageRepl, doIdxPageRepl) + node T_3507 = shr(req.bits.addr, 12) + node T_3508 = shr(r_btb_update.bits.pc, 12) + node T_3509 = mux(T_3489, T_3507, T_3508) + node T_3510 = bit(pageReplEn, 1) + node T_3511 = and(T_3506, T_3510) + when T_3511 : + infer accessor T_3513 = pages[UInt<1>("h01")] + T_3513 := T_3509 + skip + node T_3514 = bit(pageReplEn, 3) + node T_3515 = and(T_3506, T_3514) + when T_3515 : + infer accessor T_3517 = pages[UInt<2>("h03")] + T_3517 := T_3509 + skip + node T_3518 = bit(pageReplEn, 5) + node T_3519 = and(T_3506, T_3518) + when T_3519 : + infer accessor T_3521 = pages[UInt<3>("h05")] + T_3521 := T_3509 + skip + when doPageRepl : + node T_3522 = or(pageValid, pageReplEn) + pageValid := T_3522 + skip + skip + when invalidate : + idxValid := UInt<1>("h00") + pageValid := UInt<1>("h00") + skip + node T_3526 = neq(hits, UInt<1>("h00")) + resp.valid := T_3526 + resp.bits.taken := resp.valid + node T_3527 = bit(hits, 0) + node T_3528 = bit(hits, 1) + node T_3529 = bit(hits, 2) + node T_3530 = bit(hits, 3) + node T_3531 = bit(hits, 4) + node T_3532 = bit(hits, 5) + node T_3533 = bit(hits, 6) + node T_3534 = bit(hits, 7) + node T_3535 = bit(hits, 8) + node T_3536 = bit(hits, 9) + node T_3537 = bit(hits, 10) + node T_3538 = bit(hits, 11) + node T_3539 = bit(hits, 12) + node T_3540 = bit(hits, 13) + node T_3541 = bit(hits, 14) + node T_3542 = bit(hits, 15) + node T_3543 = bit(hits, 16) + node T_3544 = bit(hits, 17) + node T_3545 = bit(hits, 18) + node T_3546 = bit(hits, 19) + node T_3547 = bit(hits, 20) + node T_3548 = bit(hits, 21) + node T_3549 = bit(hits, 22) + node T_3550 = bit(hits, 23) + node T_3551 = bit(hits, 24) + node T_3552 = bit(hits, 25) + node T_3553 = bit(hits, 26) + node T_3554 = bit(hits, 27) + node T_3555 = bit(hits, 28) + node T_3556 = bit(hits, 29) + node T_3557 = bit(hits, 30) + node T_3558 = bit(hits, 31) + node T_3559 = bit(hits, 32) + node T_3560 = bit(hits, 33) + node T_3561 = bit(hits, 34) + node T_3562 = bit(hits, 35) + node T_3563 = bit(hits, 36) + node T_3564 = bit(hits, 37) + node T_3565 = bit(hits, 38) + node T_3566 = bit(hits, 39) + node T_3567 = bit(hits, 40) + node T_3568 = bit(hits, 41) + node T_3569 = bit(hits, 42) + node T_3570 = bit(hits, 43) + node T_3571 = bit(hits, 44) + node T_3572 = bit(hits, 45) + node T_3573 = bit(hits, 46) + node T_3574 = bit(hits, 47) + node T_3575 = bit(hits, 48) + node T_3576 = bit(hits, 49) + node T_3577 = bit(hits, 50) + node T_3578 = bit(hits, 51) + node T_3579 = bit(hits, 52) + node T_3580 = bit(hits, 53) + node T_3581 = bit(hits, 54) + node T_3582 = bit(hits, 55) + node T_3583 = bit(hits, 56) + node T_3584 = bit(hits, 57) + node T_3585 = bit(hits, 58) + node T_3586 = bit(hits, 59) + node T_3587 = bit(hits, 60) + node T_3588 = bit(hits, 61) + node T_3590 = mux(T_3527, T_902, UInt<1>("h00")) + node T_3592 = mux(T_3528, T_907, UInt<1>("h00")) + node T_3594 = mux(T_3529, T_912, UInt<1>("h00")) + node T_3596 = mux(T_3530, T_917, UInt<1>("h00")) + node T_3598 = mux(T_3531, T_922, UInt<1>("h00")) + node T_3600 = mux(T_3532, T_927, UInt<1>("h00")) + node T_3602 = mux(T_3533, T_932, UInt<1>("h00")) + node T_3604 = mux(T_3534, T_937, UInt<1>("h00")) + node T_3606 = mux(T_3535, T_942, UInt<1>("h00")) + node T_3608 = mux(T_3536, T_947, UInt<1>("h00")) + node T_3610 = mux(T_3537, T_952, UInt<1>("h00")) + node T_3612 = mux(T_3538, T_957, UInt<1>("h00")) + node T_3614 = mux(T_3539, T_962, UInt<1>("h00")) + node T_3616 = mux(T_3540, T_967, UInt<1>("h00")) + node T_3618 = mux(T_3541, T_972, UInt<1>("h00")) + node T_3620 = mux(T_3542, T_977, UInt<1>("h00")) + node T_3622 = mux(T_3543, T_982, UInt<1>("h00")) + node T_3624 = mux(T_3544, T_987, UInt<1>("h00")) + node T_3626 = mux(T_3545, T_992, UInt<1>("h00")) + node T_3628 = mux(T_3546, T_997, UInt<1>("h00")) + node T_3630 = mux(T_3547, T_1002, UInt<1>("h00")) + node T_3632 = mux(T_3548, T_1007, UInt<1>("h00")) + node T_3634 = mux(T_3549, T_1012, UInt<1>("h00")) + node T_3636 = mux(T_3550, T_1017, UInt<1>("h00")) + node T_3638 = mux(T_3551, T_1022, UInt<1>("h00")) + node T_3640 = mux(T_3552, T_1027, UInt<1>("h00")) + node T_3642 = mux(T_3553, T_1032, UInt<1>("h00")) + node T_3644 = mux(T_3554, T_1037, UInt<1>("h00")) + node T_3646 = mux(T_3555, T_1042, UInt<1>("h00")) + node T_3648 = mux(T_3556, T_1047, UInt<1>("h00")) + node T_3650 = mux(T_3557, T_1052, UInt<1>("h00")) + node T_3652 = mux(T_3558, T_1057, UInt<1>("h00")) + node T_3654 = mux(T_3559, T_1062, UInt<1>("h00")) + node T_3656 = mux(T_3560, T_1067, UInt<1>("h00")) + node T_3658 = mux(T_3561, T_1072, UInt<1>("h00")) + node T_3660 = mux(T_3562, T_1077, UInt<1>("h00")) + node T_3662 = mux(T_3563, T_1082, UInt<1>("h00")) + node T_3664 = mux(T_3564, T_1087, UInt<1>("h00")) + node T_3666 = mux(T_3565, T_1092, UInt<1>("h00")) + node T_3668 = mux(T_3566, T_1097, UInt<1>("h00")) + node T_3670 = mux(T_3567, T_1102, UInt<1>("h00")) + node T_3672 = mux(T_3568, T_1107, UInt<1>("h00")) + node T_3674 = mux(T_3569, T_1112, UInt<1>("h00")) + node T_3676 = mux(T_3570, T_1117, UInt<1>("h00")) + node T_3678 = mux(T_3571, T_1122, UInt<1>("h00")) + node T_3680 = mux(T_3572, T_1127, UInt<1>("h00")) + node T_3682 = mux(T_3573, T_1132, UInt<1>("h00")) + node T_3684 = mux(T_3574, T_1137, UInt<1>("h00")) + node T_3686 = mux(T_3575, T_1142, UInt<1>("h00")) + node T_3688 = mux(T_3576, T_1147, UInt<1>("h00")) + node T_3690 = mux(T_3577, T_1152, UInt<1>("h00")) + node T_3692 = mux(T_3578, T_1157, UInt<1>("h00")) + node T_3694 = mux(T_3579, T_1162, UInt<1>("h00")) + node T_3696 = mux(T_3580, T_1167, UInt<1>("h00")) + node T_3698 = mux(T_3581, T_1172, UInt<1>("h00")) + node T_3700 = mux(T_3582, T_1177, UInt<1>("h00")) + node T_3702 = mux(T_3583, T_1182, UInt<1>("h00")) + node T_3704 = mux(T_3584, T_1187, UInt<1>("h00")) + node T_3706 = mux(T_3585, T_1192, UInt<1>("h00")) + node T_3708 = mux(T_3586, T_1197, UInt<1>("h00")) + node T_3710 = mux(T_3587, T_1202, UInt<1>("h00")) + node T_3712 = mux(T_3588, T_1207, UInt<1>("h00")) + node T_3714 = or(T_3590, T_3592) + node T_3715 = or(T_3714, T_3594) + node T_3716 = or(T_3715, T_3596) + node T_3717 = or(T_3716, T_3598) + node T_3718 = or(T_3717, T_3600) + node T_3719 = or(T_3718, T_3602) + node T_3720 = or(T_3719, T_3604) + node T_3721 = or(T_3720, T_3606) + node T_3722 = or(T_3721, T_3608) + node T_3723 = or(T_3722, T_3610) + node T_3724 = or(T_3723, T_3612) + node T_3725 = or(T_3724, T_3614) + node T_3726 = or(T_3725, T_3616) + node T_3727 = or(T_3726, T_3618) + node T_3728 = or(T_3727, T_3620) + node T_3729 = or(T_3728, T_3622) + node T_3730 = or(T_3729, T_3624) + node T_3731 = or(T_3730, T_3626) + node T_3732 = or(T_3731, T_3628) + node T_3733 = or(T_3732, T_3630) + node T_3734 = or(T_3733, T_3632) + node T_3735 = or(T_3734, T_3634) + node T_3736 = or(T_3735, T_3636) + node T_3737 = or(T_3736, T_3638) + node T_3738 = or(T_3737, T_3640) + node T_3739 = or(T_3738, T_3642) + node T_3740 = or(T_3739, T_3644) + node T_3741 = or(T_3740, T_3646) + node T_3742 = or(T_3741, T_3648) + node T_3743 = or(T_3742, T_3650) + node T_3744 = or(T_3743, T_3652) + node T_3745 = or(T_3744, T_3654) + node T_3746 = or(T_3745, T_3656) + node T_3747 = or(T_3746, T_3658) + node T_3748 = or(T_3747, T_3660) + node T_3749 = or(T_3748, T_3662) + node T_3750 = or(T_3749, T_3664) + node T_3751 = or(T_3750, T_3666) + node T_3752 = or(T_3751, T_3668) + node T_3753 = or(T_3752, T_3670) + node T_3754 = or(T_3753, T_3672) + node T_3755 = or(T_3754, T_3674) + node T_3756 = or(T_3755, T_3676) + node T_3757 = or(T_3756, T_3678) + node T_3758 = or(T_3757, T_3680) + node T_3759 = or(T_3758, T_3682) + node T_3760 = or(T_3759, T_3684) + node T_3761 = or(T_3760, T_3686) + node T_3762 = or(T_3761, T_3688) + node T_3763 = or(T_3762, T_3690) + node T_3764 = or(T_3763, T_3692) + node T_3765 = or(T_3764, T_3694) + node T_3766 = or(T_3765, T_3696) + node T_3767 = or(T_3766, T_3698) + node T_3768 = or(T_3767, T_3700) + node T_3769 = or(T_3768, T_3702) + node T_3770 = or(T_3769, T_3704) + node T_3771 = or(T_3770, T_3706) + node T_3772 = or(T_3771, T_3708) + node T_3773 = or(T_3772, T_3710) + node T_3774 = or(T_3773, T_3712) + wire T_3775 : UInt<6> + T_3775 := UInt<1>("h00") + T_3775 := T_3774 + node T_3777 = bit(T_3775, 0) + node T_3778 = bit(T_3775, 1) + node T_3779 = bit(T_3775, 2) + node T_3780 = bit(T_3775, 3) + node T_3781 = bit(T_3775, 4) + node T_3782 = bit(T_3775, 5) + infer accessor T_3784 = pages[UInt<1>("h00")] + infer accessor T_3786 = pages[UInt<1>("h01")] + infer accessor T_3788 = pages[UInt<2>("h02")] + infer accessor T_3790 = pages[UInt<2>("h03")] + infer accessor T_3792 = pages[UInt<3>("h04")] + infer accessor T_3794 = pages[UInt<3>("h05")] + node T_3796 = mux(T_3777, T_3784, UInt<1>("h00")) + node T_3798 = mux(T_3778, T_3786, UInt<1>("h00")) + node T_3800 = mux(T_3779, T_3788, UInt<1>("h00")) + node T_3802 = mux(T_3780, T_3790, UInt<1>("h00")) + node T_3804 = mux(T_3781, T_3792, UInt<1>("h00")) + node T_3806 = mux(T_3782, T_3794, UInt<1>("h00")) + node T_3808 = or(T_3796, T_3798) + node T_3809 = or(T_3808, T_3800) + node T_3810 = or(T_3809, T_3802) + node T_3811 = or(T_3810, T_3804) + node T_3812 = or(T_3811, T_3806) + wire T_3813 : UInt<27> + T_3813 := UInt<1>("h00") + T_3813 := T_3812 + node T_3815 = bit(hits, 0) + node T_3816 = bit(hits, 1) + node T_3817 = bit(hits, 2) + node T_3818 = bit(hits, 3) + node T_3819 = bit(hits, 4) + node T_3820 = bit(hits, 5) + node T_3821 = bit(hits, 6) + node T_3822 = bit(hits, 7) + node T_3823 = bit(hits, 8) + node T_3824 = bit(hits, 9) + node T_3825 = bit(hits, 10) + node T_3826 = bit(hits, 11) + node T_3827 = bit(hits, 12) + node T_3828 = bit(hits, 13) + node T_3829 = bit(hits, 14) + node T_3830 = bit(hits, 15) + node T_3831 = bit(hits, 16) + node T_3832 = bit(hits, 17) + node T_3833 = bit(hits, 18) + node T_3834 = bit(hits, 19) + node T_3835 = bit(hits, 20) + node T_3836 = bit(hits, 21) + node T_3837 = bit(hits, 22) + node T_3838 = bit(hits, 23) + node T_3839 = bit(hits, 24) + node T_3840 = bit(hits, 25) + node T_3841 = bit(hits, 26) + node T_3842 = bit(hits, 27) + node T_3843 = bit(hits, 28) + node T_3844 = bit(hits, 29) + node T_3845 = bit(hits, 30) + node T_3846 = bit(hits, 31) + node T_3847 = bit(hits, 32) + node T_3848 = bit(hits, 33) + node T_3849 = bit(hits, 34) + node T_3850 = bit(hits, 35) + node T_3851 = bit(hits, 36) + node T_3852 = bit(hits, 37) + node T_3853 = bit(hits, 38) + node T_3854 = bit(hits, 39) + node T_3855 = bit(hits, 40) + node T_3856 = bit(hits, 41) + node T_3857 = bit(hits, 42) + node T_3858 = bit(hits, 43) + node T_3859 = bit(hits, 44) + node T_3860 = bit(hits, 45) + node T_3861 = bit(hits, 46) + node T_3862 = bit(hits, 47) + node T_3863 = bit(hits, 48) + node T_3864 = bit(hits, 49) + node T_3865 = bit(hits, 50) + node T_3866 = bit(hits, 51) + node T_3867 = bit(hits, 52) + node T_3868 = bit(hits, 53) + node T_3869 = bit(hits, 54) + node T_3870 = bit(hits, 55) + node T_3871 = bit(hits, 56) + node T_3872 = bit(hits, 57) + node T_3873 = bit(hits, 58) + node T_3874 = bit(hits, 59) + node T_3875 = bit(hits, 60) + node T_3876 = bit(hits, 61) + infer accessor T_3878 = tgts[UInt<1>("h00")] + infer accessor T_3880 = tgts[UInt<1>("h01")] + infer accessor T_3882 = tgts[UInt<2>("h02")] + infer accessor T_3884 = tgts[UInt<2>("h03")] + infer accessor T_3886 = tgts[UInt<3>("h04")] + infer accessor T_3888 = tgts[UInt<3>("h05")] + infer accessor T_3890 = tgts[UInt<3>("h06")] + infer accessor T_3892 = tgts[UInt<3>("h07")] + infer accessor T_3894 = tgts[UInt<4>("h08")] + infer accessor T_3896 = tgts[UInt<4>("h09")] + infer accessor T_3898 = tgts[UInt<4>("h0a")] + infer accessor T_3900 = tgts[UInt<4>("h0b")] + infer accessor T_3902 = tgts[UInt<4>("h0c")] + infer accessor T_3904 = tgts[UInt<4>("h0d")] + infer accessor T_3906 = tgts[UInt<4>("h0e")] + infer accessor T_3908 = tgts[UInt<4>("h0f")] + infer accessor T_3910 = tgts[UInt<5>("h010")] + infer accessor T_3912 = tgts[UInt<5>("h011")] + infer accessor T_3914 = tgts[UInt<5>("h012")] + infer accessor T_3916 = tgts[UInt<5>("h013")] + infer accessor T_3918 = tgts[UInt<5>("h014")] + infer accessor T_3920 = tgts[UInt<5>("h015")] + infer accessor T_3922 = tgts[UInt<5>("h016")] + infer accessor T_3924 = tgts[UInt<5>("h017")] + infer accessor T_3926 = tgts[UInt<5>("h018")] + infer accessor T_3928 = tgts[UInt<5>("h019")] + infer accessor T_3930 = tgts[UInt<5>("h01a")] + infer accessor T_3932 = tgts[UInt<5>("h01b")] + infer accessor T_3934 = tgts[UInt<5>("h01c")] + infer accessor T_3936 = tgts[UInt<5>("h01d")] + infer accessor T_3938 = tgts[UInt<5>("h01e")] + infer accessor T_3940 = tgts[UInt<5>("h01f")] + infer accessor T_3942 = tgts[UInt<6>("h020")] + infer accessor T_3944 = tgts[UInt<6>("h021")] + infer accessor T_3946 = tgts[UInt<6>("h022")] + infer accessor T_3948 = tgts[UInt<6>("h023")] + infer accessor T_3950 = tgts[UInt<6>("h024")] + infer accessor T_3952 = tgts[UInt<6>("h025")] + infer accessor T_3954 = tgts[UInt<6>("h026")] + infer accessor T_3956 = tgts[UInt<6>("h027")] + infer accessor T_3958 = tgts[UInt<6>("h028")] + infer accessor T_3960 = tgts[UInt<6>("h029")] + infer accessor T_3962 = tgts[UInt<6>("h02a")] + infer accessor T_3964 = tgts[UInt<6>("h02b")] + infer accessor T_3966 = tgts[UInt<6>("h02c")] + infer accessor T_3968 = tgts[UInt<6>("h02d")] + infer accessor T_3970 = tgts[UInt<6>("h02e")] + infer accessor T_3972 = tgts[UInt<6>("h02f")] + infer accessor T_3974 = tgts[UInt<6>("h030")] + infer accessor T_3976 = tgts[UInt<6>("h031")] + infer accessor T_3978 = tgts[UInt<6>("h032")] + infer accessor T_3980 = tgts[UInt<6>("h033")] + infer accessor T_3982 = tgts[UInt<6>("h034")] + infer accessor T_3984 = tgts[UInt<6>("h035")] + infer accessor T_3986 = tgts[UInt<6>("h036")] + infer accessor T_3988 = tgts[UInt<6>("h037")] + infer accessor T_3990 = tgts[UInt<6>("h038")] + infer accessor T_3992 = tgts[UInt<6>("h039")] + infer accessor T_3994 = tgts[UInt<6>("h03a")] + infer accessor T_3996 = tgts[UInt<6>("h03b")] + infer accessor T_3998 = tgts[UInt<6>("h03c")] + infer accessor T_4000 = tgts[UInt<6>("h03d")] + node T_4002 = mux(T_3815, T_3878, UInt<1>("h00")) + node T_4004 = mux(T_3816, T_3880, UInt<1>("h00")) + node T_4006 = mux(T_3817, T_3882, UInt<1>("h00")) + node T_4008 = mux(T_3818, T_3884, UInt<1>("h00")) + node T_4010 = mux(T_3819, T_3886, UInt<1>("h00")) + node T_4012 = mux(T_3820, T_3888, UInt<1>("h00")) + node T_4014 = mux(T_3821, T_3890, UInt<1>("h00")) + node T_4016 = mux(T_3822, T_3892, UInt<1>("h00")) + node T_4018 = mux(T_3823, T_3894, UInt<1>("h00")) + node T_4020 = mux(T_3824, T_3896, UInt<1>("h00")) + node T_4022 = mux(T_3825, T_3898, UInt<1>("h00")) + node T_4024 = mux(T_3826, T_3900, UInt<1>("h00")) + node T_4026 = mux(T_3827, T_3902, UInt<1>("h00")) + node T_4028 = mux(T_3828, T_3904, UInt<1>("h00")) + node T_4030 = mux(T_3829, T_3906, UInt<1>("h00")) + node T_4032 = mux(T_3830, T_3908, UInt<1>("h00")) + node T_4034 = mux(T_3831, T_3910, UInt<1>("h00")) + node T_4036 = mux(T_3832, T_3912, UInt<1>("h00")) + node T_4038 = mux(T_3833, T_3914, UInt<1>("h00")) + node T_4040 = mux(T_3834, T_3916, UInt<1>("h00")) + node T_4042 = mux(T_3835, T_3918, UInt<1>("h00")) + node T_4044 = mux(T_3836, T_3920, UInt<1>("h00")) + node T_4046 = mux(T_3837, T_3922, UInt<1>("h00")) + node T_4048 = mux(T_3838, T_3924, UInt<1>("h00")) + node T_4050 = mux(T_3839, T_3926, UInt<1>("h00")) + node T_4052 = mux(T_3840, T_3928, UInt<1>("h00")) + node T_4054 = mux(T_3841, T_3930, UInt<1>("h00")) + node T_4056 = mux(T_3842, T_3932, UInt<1>("h00")) + node T_4058 = mux(T_3843, T_3934, UInt<1>("h00")) + node T_4060 = mux(T_3844, T_3936, UInt<1>("h00")) + node T_4062 = mux(T_3845, T_3938, UInt<1>("h00")) + node T_4064 = mux(T_3846, T_3940, UInt<1>("h00")) + node T_4066 = mux(T_3847, T_3942, UInt<1>("h00")) + node T_4068 = mux(T_3848, T_3944, UInt<1>("h00")) + node T_4070 = mux(T_3849, T_3946, UInt<1>("h00")) + node T_4072 = mux(T_3850, T_3948, UInt<1>("h00")) + node T_4074 = mux(T_3851, T_3950, UInt<1>("h00")) + node T_4076 = mux(T_3852, T_3952, UInt<1>("h00")) + node T_4078 = mux(T_3853, T_3954, UInt<1>("h00")) + node T_4080 = mux(T_3854, T_3956, UInt<1>("h00")) + node T_4082 = mux(T_3855, T_3958, UInt<1>("h00")) + node T_4084 = mux(T_3856, T_3960, UInt<1>("h00")) + node T_4086 = mux(T_3857, T_3962, UInt<1>("h00")) + node T_4088 = mux(T_3858, T_3964, UInt<1>("h00")) + node T_4090 = mux(T_3859, T_3966, UInt<1>("h00")) + node T_4092 = mux(T_3860, T_3968, UInt<1>("h00")) + node T_4094 = mux(T_3861, T_3970, UInt<1>("h00")) + node T_4096 = mux(T_3862, T_3972, UInt<1>("h00")) + node T_4098 = mux(T_3863, T_3974, UInt<1>("h00")) + node T_4100 = mux(T_3864, T_3976, UInt<1>("h00")) + node T_4102 = mux(T_3865, T_3978, UInt<1>("h00")) + node T_4104 = mux(T_3866, T_3980, UInt<1>("h00")) + node T_4106 = mux(T_3867, T_3982, UInt<1>("h00")) + node T_4108 = mux(T_3868, T_3984, UInt<1>("h00")) + node T_4110 = mux(T_3869, T_3986, UInt<1>("h00")) + node T_4112 = mux(T_3870, T_3988, UInt<1>("h00")) + node T_4114 = mux(T_3871, T_3990, UInt<1>("h00")) + node T_4116 = mux(T_3872, T_3992, UInt<1>("h00")) + node T_4118 = mux(T_3873, T_3994, UInt<1>("h00")) + node T_4120 = mux(T_3874, T_3996, UInt<1>("h00")) + node T_4122 = mux(T_3875, T_3998, UInt<1>("h00")) + node T_4124 = mux(T_3876, T_4000, UInt<1>("h00")) + node T_4126 = or(T_4002, T_4004) + node T_4127 = or(T_4126, T_4006) + node T_4128 = or(T_4127, T_4008) + node T_4129 = or(T_4128, T_4010) + node T_4130 = or(T_4129, T_4012) + node T_4131 = or(T_4130, T_4014) + node T_4132 = or(T_4131, T_4016) + node T_4133 = or(T_4132, T_4018) + node T_4134 = or(T_4133, T_4020) + node T_4135 = or(T_4134, T_4022) + node T_4136 = or(T_4135, T_4024) + node T_4137 = or(T_4136, T_4026) + node T_4138 = or(T_4137, T_4028) + node T_4139 = or(T_4138, T_4030) + node T_4140 = or(T_4139, T_4032) + node T_4141 = or(T_4140, T_4034) + node T_4142 = or(T_4141, T_4036) + node T_4143 = or(T_4142, T_4038) + node T_4144 = or(T_4143, T_4040) + node T_4145 = or(T_4144, T_4042) + node T_4146 = or(T_4145, T_4044) + node T_4147 = or(T_4146, T_4046) + node T_4148 = or(T_4147, T_4048) + node T_4149 = or(T_4148, T_4050) + node T_4150 = or(T_4149, T_4052) + node T_4151 = or(T_4150, T_4054) + node T_4152 = or(T_4151, T_4056) + node T_4153 = or(T_4152, T_4058) + node T_4154 = or(T_4153, T_4060) + node T_4155 = or(T_4154, T_4062) + node T_4156 = or(T_4155, T_4064) + node T_4157 = or(T_4156, T_4066) + node T_4158 = or(T_4157, T_4068) + node T_4159 = or(T_4158, T_4070) + node T_4160 = or(T_4159, T_4072) + node T_4161 = or(T_4160, T_4074) + node T_4162 = or(T_4161, T_4076) + node T_4163 = or(T_4162, T_4078) + node T_4164 = or(T_4163, T_4080) + node T_4165 = or(T_4164, T_4082) + node T_4166 = or(T_4165, T_4084) + node T_4167 = or(T_4166, T_4086) + node T_4168 = or(T_4167, T_4088) + node T_4169 = or(T_4168, T_4090) + node T_4170 = or(T_4169, T_4092) + node T_4171 = or(T_4170, T_4094) + node T_4172 = or(T_4171, T_4096) + node T_4173 = or(T_4172, T_4098) + node T_4174 = or(T_4173, T_4100) + node T_4175 = or(T_4174, T_4102) + node T_4176 = or(T_4175, T_4104) + node T_4177 = or(T_4176, T_4106) + node T_4178 = or(T_4177, T_4108) + node T_4179 = or(T_4178, T_4110) + node T_4180 = or(T_4179, T_4112) + node T_4181 = or(T_4180, T_4114) + node T_4182 = or(T_4181, T_4116) + node T_4183 = or(T_4182, T_4118) + node T_4184 = or(T_4183, T_4120) + node T_4185 = or(T_4184, T_4122) + node T_4186 = or(T_4185, T_4124) + wire T_4187 : UInt<12> + T_4187 := UInt<1>("h00") + T_4187 := T_4186 + node T_4189 = cat(T_3813, T_4187) + resp.bits.target := T_4189 + node T_4190 = bits(hits, 61, 32) + node T_4191 = bits(hits, 31, 0) + node T_4193 = neq(T_4190, UInt<1>("h00")) + node T_4194 = or(T_4190, T_4191) + node T_4195 = bits(T_4194, 31, 16) + node T_4196 = bits(T_4194, 15, 0) + node T_4198 = neq(T_4195, UInt<1>("h00")) + node T_4199 = or(T_4195, T_4196) + node T_4200 = bits(T_4199, 15, 8) + node T_4201 = bits(T_4199, 7, 0) + node T_4203 = neq(T_4200, UInt<1>("h00")) + node T_4204 = or(T_4200, T_4201) + node T_4205 = bits(T_4204, 7, 4) + node T_4206 = bits(T_4204, 3, 0) + node T_4208 = neq(T_4205, UInt<1>("h00")) + node T_4209 = or(T_4205, T_4206) + node T_4210 = bits(T_4209, 3, 2) + node T_4211 = bits(T_4209, 1, 0) + node T_4213 = neq(T_4210, UInt<1>("h00")) + node T_4214 = or(T_4210, T_4211) + node T_4215 = bit(T_4214, 1) + node T_4216 = cat(T_4213, T_4215) + node T_4217 = cat(T_4208, T_4216) + node T_4218 = cat(T_4203, T_4217) + node T_4219 = cat(T_4198, T_4218) + node T_4220 = cat(T_4193, T_4219) + resp.bits.entry := T_4220 + infer accessor T_4221 = brIdx[resp.bits.entry] + resp.bits.bridx := T_4221 + resp.bits.mask := UInt<1>("h01") + cmem T_4225 : UInt<2>[128], clock + reg T_4227 : UInt<7>, clock, reset + node T_4228 = bit(hits, 0) + node T_4229 = bit(hits, 1) + node T_4230 = bit(hits, 2) + node T_4231 = bit(hits, 3) + node T_4232 = bit(hits, 4) + node T_4233 = bit(hits, 5) + node T_4234 = bit(hits, 6) + node T_4235 = bit(hits, 7) + node T_4236 = bit(hits, 8) + node T_4237 = bit(hits, 9) + node T_4238 = bit(hits, 10) + node T_4239 = bit(hits, 11) + node T_4240 = bit(hits, 12) + node T_4241 = bit(hits, 13) + node T_4242 = bit(hits, 14) + node T_4243 = bit(hits, 15) + node T_4244 = bit(hits, 16) + node T_4245 = bit(hits, 17) + node T_4246 = bit(hits, 18) + node T_4247 = bit(hits, 19) + node T_4248 = bit(hits, 20) + node T_4249 = bit(hits, 21) + node T_4250 = bit(hits, 22) + node T_4251 = bit(hits, 23) + node T_4252 = bit(hits, 24) + node T_4253 = bit(hits, 25) + node T_4254 = bit(hits, 26) + node T_4255 = bit(hits, 27) + node T_4256 = bit(hits, 28) + node T_4257 = bit(hits, 29) + node T_4258 = bit(hits, 30) + node T_4259 = bit(hits, 31) + node T_4260 = bit(hits, 32) + node T_4261 = bit(hits, 33) + node T_4262 = bit(hits, 34) + node T_4263 = bit(hits, 35) + node T_4264 = bit(hits, 36) + node T_4265 = bit(hits, 37) + node T_4266 = bit(hits, 38) + node T_4267 = bit(hits, 39) + node T_4268 = bit(hits, 40) + node T_4269 = bit(hits, 41) + node T_4270 = bit(hits, 42) + node T_4271 = bit(hits, 43) + node T_4272 = bit(hits, 44) + node T_4273 = bit(hits, 45) + node T_4274 = bit(hits, 46) + node T_4275 = bit(hits, 47) + node T_4276 = bit(hits, 48) + node T_4277 = bit(hits, 49) + node T_4278 = bit(hits, 50) + node T_4279 = bit(hits, 51) + node T_4280 = bit(hits, 52) + node T_4281 = bit(hits, 53) + node T_4282 = bit(hits, 54) + node T_4283 = bit(hits, 55) + node T_4284 = bit(hits, 56) + node T_4285 = bit(hits, 57) + node T_4286 = bit(hits, 58) + node T_4287 = bit(hits, 59) + node T_4288 = bit(hits, 60) + node T_4289 = bit(hits, 61) + node T_4291 = shl(isJump[0], 0) + node T_4292 = mux(T_4228, T_4291, UInt<1>("h00")) + node T_4294 = shl(isJump[1], 0) + node T_4295 = mux(T_4229, T_4294, UInt<1>("h00")) + node T_4297 = shl(isJump[2], 0) + node T_4298 = mux(T_4230, T_4297, UInt<1>("h00")) + node T_4300 = shl(isJump[3], 0) + node T_4301 = mux(T_4231, T_4300, UInt<1>("h00")) + node T_4303 = shl(isJump[4], 0) + node T_4304 = mux(T_4232, T_4303, UInt<1>("h00")) + node T_4306 = shl(isJump[5], 0) + node T_4307 = mux(T_4233, T_4306, UInt<1>("h00")) + node T_4309 = shl(isJump[6], 0) + node T_4310 = mux(T_4234, T_4309, UInt<1>("h00")) + node T_4312 = shl(isJump[7], 0) + node T_4313 = mux(T_4235, T_4312, UInt<1>("h00")) + node T_4315 = shl(isJump[8], 0) + node T_4316 = mux(T_4236, T_4315, UInt<1>("h00")) + node T_4318 = shl(isJump[9], 0) + node T_4319 = mux(T_4237, T_4318, UInt<1>("h00")) + node T_4321 = shl(isJump[10], 0) + node T_4322 = mux(T_4238, T_4321, UInt<1>("h00")) + node T_4324 = shl(isJump[11], 0) + node T_4325 = mux(T_4239, T_4324, UInt<1>("h00")) + node T_4327 = shl(isJump[12], 0) + node T_4328 = mux(T_4240, T_4327, UInt<1>("h00")) + node T_4330 = shl(isJump[13], 0) + node T_4331 = mux(T_4241, T_4330, UInt<1>("h00")) + node T_4333 = shl(isJump[14], 0) + node T_4334 = mux(T_4242, T_4333, UInt<1>("h00")) + node T_4336 = shl(isJump[15], 0) + node T_4337 = mux(T_4243, T_4336, UInt<1>("h00")) + node T_4339 = shl(isJump[16], 0) + node T_4340 = mux(T_4244, T_4339, UInt<1>("h00")) + node T_4342 = shl(isJump[17], 0) + node T_4343 = mux(T_4245, T_4342, UInt<1>("h00")) + node T_4345 = shl(isJump[18], 0) + node T_4346 = mux(T_4246, T_4345, UInt<1>("h00")) + node T_4348 = shl(isJump[19], 0) + node T_4349 = mux(T_4247, T_4348, UInt<1>("h00")) + node T_4351 = shl(isJump[20], 0) + node T_4352 = mux(T_4248, T_4351, UInt<1>("h00")) + node T_4354 = shl(isJump[21], 0) + node T_4355 = mux(T_4249, T_4354, UInt<1>("h00")) + node T_4357 = shl(isJump[22], 0) + node T_4358 = mux(T_4250, T_4357, UInt<1>("h00")) + node T_4360 = shl(isJump[23], 0) + node T_4361 = mux(T_4251, T_4360, UInt<1>("h00")) + node T_4363 = shl(isJump[24], 0) + node T_4364 = mux(T_4252, T_4363, UInt<1>("h00")) + node T_4366 = shl(isJump[25], 0) + node T_4367 = mux(T_4253, T_4366, UInt<1>("h00")) + node T_4369 = shl(isJump[26], 0) + node T_4370 = mux(T_4254, T_4369, UInt<1>("h00")) + node T_4372 = shl(isJump[27], 0) + node T_4373 = mux(T_4255, T_4372, UInt<1>("h00")) + node T_4375 = shl(isJump[28], 0) + node T_4376 = mux(T_4256, T_4375, UInt<1>("h00")) + node T_4378 = shl(isJump[29], 0) + node T_4379 = mux(T_4257, T_4378, UInt<1>("h00")) + node T_4381 = shl(isJump[30], 0) + node T_4382 = mux(T_4258, T_4381, UInt<1>("h00")) + node T_4384 = shl(isJump[31], 0) + node T_4385 = mux(T_4259, T_4384, UInt<1>("h00")) + node T_4387 = shl(isJump[32], 0) + node T_4388 = mux(T_4260, T_4387, UInt<1>("h00")) + node T_4390 = shl(isJump[33], 0) + node T_4391 = mux(T_4261, T_4390, UInt<1>("h00")) + node T_4393 = shl(isJump[34], 0) + node T_4394 = mux(T_4262, T_4393, UInt<1>("h00")) + node T_4396 = shl(isJump[35], 0) + node T_4397 = mux(T_4263, T_4396, UInt<1>("h00")) + node T_4399 = shl(isJump[36], 0) + node T_4400 = mux(T_4264, T_4399, UInt<1>("h00")) + node T_4402 = shl(isJump[37], 0) + node T_4403 = mux(T_4265, T_4402, UInt<1>("h00")) + node T_4405 = shl(isJump[38], 0) + node T_4406 = mux(T_4266, T_4405, UInt<1>("h00")) + node T_4408 = shl(isJump[39], 0) + node T_4409 = mux(T_4267, T_4408, UInt<1>("h00")) + node T_4411 = shl(isJump[40], 0) + node T_4412 = mux(T_4268, T_4411, UInt<1>("h00")) + node T_4414 = shl(isJump[41], 0) + node T_4415 = mux(T_4269, T_4414, UInt<1>("h00")) + node T_4417 = shl(isJump[42], 0) + node T_4418 = mux(T_4270, T_4417, UInt<1>("h00")) + node T_4420 = shl(isJump[43], 0) + node T_4421 = mux(T_4271, T_4420, UInt<1>("h00")) + node T_4423 = shl(isJump[44], 0) + node T_4424 = mux(T_4272, T_4423, UInt<1>("h00")) + node T_4426 = shl(isJump[45], 0) + node T_4427 = mux(T_4273, T_4426, UInt<1>("h00")) + node T_4429 = shl(isJump[46], 0) + node T_4430 = mux(T_4274, T_4429, UInt<1>("h00")) + node T_4432 = shl(isJump[47], 0) + node T_4433 = mux(T_4275, T_4432, UInt<1>("h00")) + node T_4435 = shl(isJump[48], 0) + node T_4436 = mux(T_4276, T_4435, UInt<1>("h00")) + node T_4438 = shl(isJump[49], 0) + node T_4439 = mux(T_4277, T_4438, UInt<1>("h00")) + node T_4441 = shl(isJump[50], 0) + node T_4442 = mux(T_4278, T_4441, UInt<1>("h00")) + node T_4444 = shl(isJump[51], 0) + node T_4445 = mux(T_4279, T_4444, UInt<1>("h00")) + node T_4447 = shl(isJump[52], 0) + node T_4448 = mux(T_4280, T_4447, UInt<1>("h00")) + node T_4450 = shl(isJump[53], 0) + node T_4451 = mux(T_4281, T_4450, UInt<1>("h00")) + node T_4453 = shl(isJump[54], 0) + node T_4454 = mux(T_4282, T_4453, UInt<1>("h00")) + node T_4456 = shl(isJump[55], 0) + node T_4457 = mux(T_4283, T_4456, UInt<1>("h00")) + node T_4459 = shl(isJump[56], 0) + node T_4460 = mux(T_4284, T_4459, UInt<1>("h00")) + node T_4462 = shl(isJump[57], 0) + node T_4463 = mux(T_4285, T_4462, UInt<1>("h00")) + node T_4465 = shl(isJump[58], 0) + node T_4466 = mux(T_4286, T_4465, UInt<1>("h00")) + node T_4468 = shl(isJump[59], 0) + node T_4469 = mux(T_4287, T_4468, UInt<1>("h00")) + node T_4471 = shl(isJump[60], 0) + node T_4472 = mux(T_4288, T_4471, UInt<1>("h00")) + node T_4474 = shl(isJump[61], 0) + node T_4475 = mux(T_4289, T_4474, UInt<1>("h00")) + node T_4477 = or(T_4292, T_4295) + node T_4478 = or(T_4477, T_4298) + node T_4479 = or(T_4478, T_4301) + node T_4480 = or(T_4479, T_4304) + node T_4481 = or(T_4480, T_4307) + node T_4482 = or(T_4481, T_4310) + node T_4483 = or(T_4482, T_4313) + node T_4484 = or(T_4483, T_4316) + node T_4485 = or(T_4484, T_4319) + node T_4486 = or(T_4485, T_4322) + node T_4487 = or(T_4486, T_4325) + node T_4488 = or(T_4487, T_4328) + node T_4489 = or(T_4488, T_4331) + node T_4490 = or(T_4489, T_4334) + node T_4491 = or(T_4490, T_4337) + node T_4492 = or(T_4491, T_4340) + node T_4493 = or(T_4492, T_4343) + node T_4494 = or(T_4493, T_4346) + node T_4495 = or(T_4494, T_4349) + node T_4496 = or(T_4495, T_4352) + node T_4497 = or(T_4496, T_4355) + node T_4498 = or(T_4497, T_4358) + node T_4499 = or(T_4498, T_4361) + node T_4500 = or(T_4499, T_4364) + node T_4501 = or(T_4500, T_4367) + node T_4502 = or(T_4501, T_4370) + node T_4503 = or(T_4502, T_4373) + node T_4504 = or(T_4503, T_4376) + node T_4505 = or(T_4504, T_4379) + node T_4506 = or(T_4505, T_4382) + node T_4507 = or(T_4506, T_4385) + node T_4508 = or(T_4507, T_4388) + node T_4509 = or(T_4508, T_4391) + node T_4510 = or(T_4509, T_4394) + node T_4511 = or(T_4510, T_4397) + node T_4512 = or(T_4511, T_4400) + node T_4513 = or(T_4512, T_4403) + node T_4514 = or(T_4513, T_4406) + node T_4515 = or(T_4514, T_4409) + node T_4516 = or(T_4515, T_4412) + node T_4517 = or(T_4516, T_4415) + node T_4518 = or(T_4517, T_4418) + node T_4519 = or(T_4518, T_4421) + node T_4520 = or(T_4519, T_4424) + node T_4521 = or(T_4520, T_4427) + node T_4522 = or(T_4521, T_4430) + node T_4523 = or(T_4522, T_4433) + node T_4524 = or(T_4523, T_4436) + node T_4525 = or(T_4524, T_4439) + node T_4526 = or(T_4525, T_4442) + node T_4527 = or(T_4526, T_4445) + node T_4528 = or(T_4527, T_4448) + node T_4529 = or(T_4528, T_4451) + node T_4530 = or(T_4529, T_4454) + node T_4531 = or(T_4530, T_4457) + node T_4532 = or(T_4531, T_4460) + node T_4533 = or(T_4532, T_4463) + node T_4534 = or(T_4533, T_4466) + node T_4535 = or(T_4534, T_4469) + node T_4536 = or(T_4535, T_4472) + node T_4537 = or(T_4536, T_4475) + wire T_4538 : UInt<1> + T_4538 := UInt<1>("h00") + T_4538 := T_4537 + node T_4541 = eq(T_4538, UInt<1>("h00")) + node T_4542 = and(req.valid, resp.valid) + node T_4543 = and(T_4542, T_4541) + wire T_4547 : {history : UInt<7>, value : UInt<2>} + T_4547.value := UInt<1>("h00") + T_4547.history := UInt<1>("h00") + node T_4552 = bits(req.bits.addr, 8, 2) + node T_4553 = xor(T_4552, T_4227) + infer accessor T_4554 = T_4225[T_4553] + T_4547.value := T_4554 + T_4547.history := T_4227 + node T_4555 = bit(T_4547.value, 0) + when T_4543 : + node T_4556 = bits(T_4227, 6, 1) + node T_4557 = cat(T_4555, T_4556) + T_4227 := T_4557 + skip + node T_4558 = and(bht_update.valid, bht_update.bits.prediction.valid) + when T_4558 : + node T_4559 = bits(bht_update.bits.pc, 8, 2) + node T_4560 = xor(T_4559, bht_update.bits.prediction.bits.bht.history) + infer accessor T_4561 = T_4225[T_4560] + node T_4562 = bit(bht_update.bits.prediction.bits.bht.value, 1) + node T_4563 = bit(bht_update.bits.prediction.bits.bht.value, 0) + node T_4564 = and(T_4562, T_4563) + node T_4565 = bit(bht_update.bits.prediction.bits.bht.value, 1) + node T_4566 = bit(bht_update.bits.prediction.bits.bht.value, 0) + node T_4567 = or(T_4565, T_4566) + node T_4568 = and(T_4567, bht_update.bits.taken) + node T_4569 = or(T_4564, T_4568) + node T_4570 = cat(bht_update.bits.taken, T_4569) + T_4561 := T_4570 + when bht_update.bits.mispredict : + node T_4571 = bits(bht_update.bits.prediction.bits.bht.history, 6, 1) + node T_4572 = cat(bht_update.bits.taken, T_4571) + T_4227 := T_4572 + skip + skip + node T_4573 = bit(T_4547.value, 0) + node T_4575 = eq(T_4573, UInt<1>("h00")) + node T_4576 = and(T_4575, T_4541) + when T_4576 : + resp.bits.taken := UInt<1>("h00") + skip + resp.bits.bht <> T_4547 + reg T_4579 : UInt<2>, clock, reset + onreset T_4579 := UInt<2>("h00") + reg T_4581 : UInt<1>, clock, reset + onreset T_4581 := UInt<1>("h00") + reg T_4590 : UInt<1>[2], clock, reset + node T_4594 = bit(hits, 0) + node T_4595 = bit(hits, 1) + node T_4596 = bit(hits, 2) + node T_4597 = bit(hits, 3) + node T_4598 = bit(hits, 4) + node T_4599 = bit(hits, 5) + node T_4600 = bit(hits, 6) + node T_4601 = bit(hits, 7) + node T_4602 = bit(hits, 8) + node T_4603 = bit(hits, 9) + node T_4604 = bit(hits, 10) + node T_4605 = bit(hits, 11) + node T_4606 = bit(hits, 12) + node T_4607 = bit(hits, 13) + node T_4608 = bit(hits, 14) + node T_4609 = bit(hits, 15) + node T_4610 = bit(hits, 16) + node T_4611 = bit(hits, 17) + node T_4612 = bit(hits, 18) + node T_4613 = bit(hits, 19) + node T_4614 = bit(hits, 20) + node T_4615 = bit(hits, 21) + node T_4616 = bit(hits, 22) + node T_4617 = bit(hits, 23) + node T_4618 = bit(hits, 24) + node T_4619 = bit(hits, 25) + node T_4620 = bit(hits, 26) + node T_4621 = bit(hits, 27) + node T_4622 = bit(hits, 28) + node T_4623 = bit(hits, 29) + node T_4624 = bit(hits, 30) + node T_4625 = bit(hits, 31) + node T_4626 = bit(hits, 32) + node T_4627 = bit(hits, 33) + node T_4628 = bit(hits, 34) + node T_4629 = bit(hits, 35) + node T_4630 = bit(hits, 36) + node T_4631 = bit(hits, 37) + node T_4632 = bit(hits, 38) + node T_4633 = bit(hits, 39) + node T_4634 = bit(hits, 40) + node T_4635 = bit(hits, 41) + node T_4636 = bit(hits, 42) + node T_4637 = bit(hits, 43) + node T_4638 = bit(hits, 44) + node T_4639 = bit(hits, 45) + node T_4640 = bit(hits, 46) + node T_4641 = bit(hits, 47) + node T_4642 = bit(hits, 48) + node T_4643 = bit(hits, 49) + node T_4644 = bit(hits, 50) + node T_4645 = bit(hits, 51) + node T_4646 = bit(hits, 52) + node T_4647 = bit(hits, 53) + node T_4648 = bit(hits, 54) + node T_4649 = bit(hits, 55) + node T_4650 = bit(hits, 56) + node T_4651 = bit(hits, 57) + node T_4652 = bit(hits, 58) + node T_4653 = bit(hits, 59) + node T_4654 = bit(hits, 60) + node T_4655 = bit(hits, 61) + node T_4657 = shl(useRAS[0], 0) + node T_4658 = mux(T_4594, T_4657, UInt<1>("h00")) + node T_4660 = shl(useRAS[1], 0) + node T_4661 = mux(T_4595, T_4660, UInt<1>("h00")) + node T_4663 = shl(useRAS[2], 0) + node T_4664 = mux(T_4596, T_4663, UInt<1>("h00")) + node T_4666 = shl(useRAS[3], 0) + node T_4667 = mux(T_4597, T_4666, UInt<1>("h00")) + node T_4669 = shl(useRAS[4], 0) + node T_4670 = mux(T_4598, T_4669, UInt<1>("h00")) + node T_4672 = shl(useRAS[5], 0) + node T_4673 = mux(T_4599, T_4672, UInt<1>("h00")) + node T_4675 = shl(useRAS[6], 0) + node T_4676 = mux(T_4600, T_4675, UInt<1>("h00")) + node T_4678 = shl(useRAS[7], 0) + node T_4679 = mux(T_4601, T_4678, UInt<1>("h00")) + node T_4681 = shl(useRAS[8], 0) + node T_4682 = mux(T_4602, T_4681, UInt<1>("h00")) + node T_4684 = shl(useRAS[9], 0) + node T_4685 = mux(T_4603, T_4684, UInt<1>("h00")) + node T_4687 = shl(useRAS[10], 0) + node T_4688 = mux(T_4604, T_4687, UInt<1>("h00")) + node T_4690 = shl(useRAS[11], 0) + node T_4691 = mux(T_4605, T_4690, UInt<1>("h00")) + node T_4693 = shl(useRAS[12], 0) + node T_4694 = mux(T_4606, T_4693, UInt<1>("h00")) + node T_4696 = shl(useRAS[13], 0) + node T_4697 = mux(T_4607, T_4696, UInt<1>("h00")) + node T_4699 = shl(useRAS[14], 0) + node T_4700 = mux(T_4608, T_4699, UInt<1>("h00")) + node T_4702 = shl(useRAS[15], 0) + node T_4703 = mux(T_4609, T_4702, UInt<1>("h00")) + node T_4705 = shl(useRAS[16], 0) + node T_4706 = mux(T_4610, T_4705, UInt<1>("h00")) + node T_4708 = shl(useRAS[17], 0) + node T_4709 = mux(T_4611, T_4708, UInt<1>("h00")) + node T_4711 = shl(useRAS[18], 0) + node T_4712 = mux(T_4612, T_4711, UInt<1>("h00")) + node T_4714 = shl(useRAS[19], 0) + node T_4715 = mux(T_4613, T_4714, UInt<1>("h00")) + node T_4717 = shl(useRAS[20], 0) + node T_4718 = mux(T_4614, T_4717, UInt<1>("h00")) + node T_4720 = shl(useRAS[21], 0) + node T_4721 = mux(T_4615, T_4720, UInt<1>("h00")) + node T_4723 = shl(useRAS[22], 0) + node T_4724 = mux(T_4616, T_4723, UInt<1>("h00")) + node T_4726 = shl(useRAS[23], 0) + node T_4727 = mux(T_4617, T_4726, UInt<1>("h00")) + node T_4729 = shl(useRAS[24], 0) + node T_4730 = mux(T_4618, T_4729, UInt<1>("h00")) + node T_4732 = shl(useRAS[25], 0) + node T_4733 = mux(T_4619, T_4732, UInt<1>("h00")) + node T_4735 = shl(useRAS[26], 0) + node T_4736 = mux(T_4620, T_4735, UInt<1>("h00")) + node T_4738 = shl(useRAS[27], 0) + node T_4739 = mux(T_4621, T_4738, UInt<1>("h00")) + node T_4741 = shl(useRAS[28], 0) + node T_4742 = mux(T_4622, T_4741, UInt<1>("h00")) + node T_4744 = shl(useRAS[29], 0) + node T_4745 = mux(T_4623, T_4744, UInt<1>("h00")) + node T_4747 = shl(useRAS[30], 0) + node T_4748 = mux(T_4624, T_4747, UInt<1>("h00")) + node T_4750 = shl(useRAS[31], 0) + node T_4751 = mux(T_4625, T_4750, UInt<1>("h00")) + node T_4753 = shl(useRAS[32], 0) + node T_4754 = mux(T_4626, T_4753, UInt<1>("h00")) + node T_4756 = shl(useRAS[33], 0) + node T_4757 = mux(T_4627, T_4756, UInt<1>("h00")) + node T_4759 = shl(useRAS[34], 0) + node T_4760 = mux(T_4628, T_4759, UInt<1>("h00")) + node T_4762 = shl(useRAS[35], 0) + node T_4763 = mux(T_4629, T_4762, UInt<1>("h00")) + node T_4765 = shl(useRAS[36], 0) + node T_4766 = mux(T_4630, T_4765, UInt<1>("h00")) + node T_4768 = shl(useRAS[37], 0) + node T_4769 = mux(T_4631, T_4768, UInt<1>("h00")) + node T_4771 = shl(useRAS[38], 0) + node T_4772 = mux(T_4632, T_4771, UInt<1>("h00")) + node T_4774 = shl(useRAS[39], 0) + node T_4775 = mux(T_4633, T_4774, UInt<1>("h00")) + node T_4777 = shl(useRAS[40], 0) + node T_4778 = mux(T_4634, T_4777, UInt<1>("h00")) + node T_4780 = shl(useRAS[41], 0) + node T_4781 = mux(T_4635, T_4780, UInt<1>("h00")) + node T_4783 = shl(useRAS[42], 0) + node T_4784 = mux(T_4636, T_4783, UInt<1>("h00")) + node T_4786 = shl(useRAS[43], 0) + node T_4787 = mux(T_4637, T_4786, UInt<1>("h00")) + node T_4789 = shl(useRAS[44], 0) + node T_4790 = mux(T_4638, T_4789, UInt<1>("h00")) + node T_4792 = shl(useRAS[45], 0) + node T_4793 = mux(T_4639, T_4792, UInt<1>("h00")) + node T_4795 = shl(useRAS[46], 0) + node T_4796 = mux(T_4640, T_4795, UInt<1>("h00")) + node T_4798 = shl(useRAS[47], 0) + node T_4799 = mux(T_4641, T_4798, UInt<1>("h00")) + node T_4801 = shl(useRAS[48], 0) + node T_4802 = mux(T_4642, T_4801, UInt<1>("h00")) + node T_4804 = shl(useRAS[49], 0) + node T_4805 = mux(T_4643, T_4804, UInt<1>("h00")) + node T_4807 = shl(useRAS[50], 0) + node T_4808 = mux(T_4644, T_4807, UInt<1>("h00")) + node T_4810 = shl(useRAS[51], 0) + node T_4811 = mux(T_4645, T_4810, UInt<1>("h00")) + node T_4813 = shl(useRAS[52], 0) + node T_4814 = mux(T_4646, T_4813, UInt<1>("h00")) + node T_4816 = shl(useRAS[53], 0) + node T_4817 = mux(T_4647, T_4816, UInt<1>("h00")) + node T_4819 = shl(useRAS[54], 0) + node T_4820 = mux(T_4648, T_4819, UInt<1>("h00")) + node T_4822 = shl(useRAS[55], 0) + node T_4823 = mux(T_4649, T_4822, UInt<1>("h00")) + node T_4825 = shl(useRAS[56], 0) + node T_4826 = mux(T_4650, T_4825, UInt<1>("h00")) + node T_4828 = shl(useRAS[57], 0) + node T_4829 = mux(T_4651, T_4828, UInt<1>("h00")) + node T_4831 = shl(useRAS[58], 0) + node T_4832 = mux(T_4652, T_4831, UInt<1>("h00")) + node T_4834 = shl(useRAS[59], 0) + node T_4835 = mux(T_4653, T_4834, UInt<1>("h00")) + node T_4837 = shl(useRAS[60], 0) + node T_4838 = mux(T_4654, T_4837, UInt<1>("h00")) + node T_4840 = shl(useRAS[61], 0) + node T_4841 = mux(T_4655, T_4840, UInt<1>("h00")) + node T_4843 = or(T_4658, T_4661) + node T_4844 = or(T_4843, T_4664) + node T_4845 = or(T_4844, T_4667) + node T_4846 = or(T_4845, T_4670) + node T_4847 = or(T_4846, T_4673) + node T_4848 = or(T_4847, T_4676) + node T_4849 = or(T_4848, T_4679) + node T_4850 = or(T_4849, T_4682) + node T_4851 = or(T_4850, T_4685) + node T_4852 = or(T_4851, T_4688) + node T_4853 = or(T_4852, T_4691) + node T_4854 = or(T_4853, T_4694) + node T_4855 = or(T_4854, T_4697) + node T_4856 = or(T_4855, T_4700) + node T_4857 = or(T_4856, T_4703) + node T_4858 = or(T_4857, T_4706) + node T_4859 = or(T_4858, T_4709) + node T_4860 = or(T_4859, T_4712) + node T_4861 = or(T_4860, T_4715) + node T_4862 = or(T_4861, T_4718) + node T_4863 = or(T_4862, T_4721) + node T_4864 = or(T_4863, T_4724) + node T_4865 = or(T_4864, T_4727) + node T_4866 = or(T_4865, T_4730) + node T_4867 = or(T_4866, T_4733) + node T_4868 = or(T_4867, T_4736) + node T_4869 = or(T_4868, T_4739) + node T_4870 = or(T_4869, T_4742) + node T_4871 = or(T_4870, T_4745) + node T_4872 = or(T_4871, T_4748) + node T_4873 = or(T_4872, T_4751) + node T_4874 = or(T_4873, T_4754) + node T_4875 = or(T_4874, T_4757) + node T_4876 = or(T_4875, T_4760) + node T_4877 = or(T_4876, T_4763) + node T_4878 = or(T_4877, T_4766) + node T_4879 = or(T_4878, T_4769) + node T_4880 = or(T_4879, T_4772) + node T_4881 = or(T_4880, T_4775) + node T_4882 = or(T_4881, T_4778) + node T_4883 = or(T_4882, T_4781) + node T_4884 = or(T_4883, T_4784) + node T_4885 = or(T_4884, T_4787) + node T_4886 = or(T_4885, T_4790) + node T_4887 = or(T_4886, T_4793) + node T_4888 = or(T_4887, T_4796) + node T_4889 = or(T_4888, T_4799) + node T_4890 = or(T_4889, T_4802) + node T_4891 = or(T_4890, T_4805) + node T_4892 = or(T_4891, T_4808) + node T_4893 = or(T_4892, T_4811) + node T_4894 = or(T_4893, T_4814) + node T_4895 = or(T_4894, T_4817) + node T_4896 = or(T_4895, T_4820) + node T_4897 = or(T_4896, T_4823) + node T_4898 = or(T_4897, T_4826) + node T_4899 = or(T_4898, T_4829) + node T_4900 = or(T_4899, T_4832) + node T_4901 = or(T_4900, T_4835) + node T_4902 = or(T_4901, T_4838) + node T_4903 = or(T_4902, T_4841) + wire T_4904 : UInt<1> + T_4904 := UInt<1>("h00") + T_4904 := T_4903 + node T_4907 = eq(T_4579, UInt<1>("h00")) + node T_4909 = eq(T_4907, UInt<1>("h00")) + node T_4910 = and(T_4909, T_4904) + when T_4910 : + infer accessor T_4911 = T_4590[T_4581] + resp.bits.target := T_4911 + skip + when ras_update.valid : + when ras_update.bits.isCall : + node T_4913 = lt(T_4579, UInt<2>("h02")) + when T_4913 : + node T_4915 = addw(T_4579, UInt<1>("h01")) + T_4579 := T_4915 + skip + node T_4918 = lt(T_4581, UInt<1>("h01")) + node T_4919 = or(UInt<1>("h01"), T_4918) + node T_4921 = addw(T_4581, UInt<1>("h01")) + node T_4923 = mux(T_4919, T_4921, UInt<1>("h00")) + infer accessor T_4924 = T_4590[T_4923] + T_4924 := ras_update.bits.returnAddr + T_4581 := T_4923 + when T_4904 : + resp.bits.target := ras_update.bits.returnAddr + skip + skip + else : + node T_4925 = and(ras_update.bits.isReturn, ras_update.bits.prediction.valid) + when T_4925 : + node T_4927 = eq(T_4579, UInt<1>("h00")) + node T_4929 = eq(T_4927, UInt<1>("h00")) + when T_4929 : + node T_4931 = subw(T_4579, UInt<1>("h01")) + T_4579 := T_4931 + node T_4934 = gt(T_4581, UInt<1>("h00")) + node T_4935 = or(UInt<1>("h01"), T_4934) + node T_4937 = subw(T_4581, UInt<1>("h01")) + node T_4939 = mux(T_4935, T_4937, UInt<1>("h01")) + T_4581 := T_4939 + skip + skip + skip + skip + when invalidate : + T_4579 := UInt<1>("h00") + skip +;CHECK: Done! |
