@@ -3,15 +3,15 @@ package treecorel2
33import chisel3 ._
44import chisel3 .util ._
55
6- import treecorel2 .common .ConstVal
6+ import treecorel2 .common .{ ConstVal , InstConfig }
77
88class BTBLine extends Bundle {
99 val pc = UInt (ConstVal .AddrLen .W )
1010 val tgt = UInt (ConstVal .AddrLen .W )
1111 val jump = Bool ()
1212}
1313
14- class BTB extends Module {
14+ class BTB extends Module with InstConfig {
1515 val io = IO (new Bundle {
1616 // branch info (from idu)
1717 val branch = Input (Bool ())
@@ -26,11 +26,11 @@ class BTB extends Module {
2626 })
2727
2828 // definitions of BTB lines and valid bits
29- protected val valids = RegInit (VecInit (Seq .fill(ConstVal . BTBSize ) { false .B }))
30- protected val lines = Mem (ConstVal . BTBSize , new BTBLine )
29+ protected val valids = RegInit (VecInit (Seq .fill(BTBSize ) { false .B }))
30+ protected val lines = Mem (BTBSize , new BTBLine )
3131
3232 // branch info for BTB lines
33- protected val idx = io.pc(ConstVal . BTBIdxLen - 1 , 0 )
33+ protected val idx = io.pc(BTBIdxLen - 1 , 0 )
3434 // write to BTB lines
3535 when(io.branch) {
3636 valids(idx) := true .B
@@ -40,7 +40,7 @@ class BTB extends Module {
4040 }
4141
4242 // signals about BTB lookup
43- protected val lookupIdx = io.lookupPc(ConstVal . BTBIdxLen - 1 , 0 )
43+ protected val lookupIdx = io.lookupPc(BTBIdxLen - 1 , 0 )
4444 protected val lookupPcSel = io.lookupPc
4545 protected val btbHit = valids(lookupIdx) && lines(lookupIdx).pc === lookupPcSel
4646
0 commit comments