get rid of more global constants
This commit is contained in:
parent
c036cdc1ea
commit
de2f28193a
@ -5,6 +5,7 @@ import Chisel._
|
||||
import scala.math._
|
||||
|
||||
trait ScalarOpConstants {
|
||||
val SZ_BR = 3
|
||||
val BR_X = Bits("b???", 3)
|
||||
val BR_EQ = Bits(0, 3)
|
||||
val BR_NE = Bits(1, 3)
|
||||
@ -105,13 +106,6 @@ abstract trait RocketDcacheConstants extends uncore.constants.CacheConstants wit
|
||||
require(log2Up(OFFSET_BITS) <= uncore.Constants.X_INIT_SUBWORD_ADDR_BITS)
|
||||
}
|
||||
|
||||
trait TLBConstants {
|
||||
val BTB_ENTRIES = 8
|
||||
val ITLB_ENTRIES = 8
|
||||
val DTLB_ENTRIES = 16
|
||||
val VITLB_ENTRIES = 4
|
||||
}
|
||||
|
||||
trait VectorOpConstants {
|
||||
val VEC_X = Bits("b??", 2).toUFix
|
||||
val VEC_FN_N = UFix(0, 2)
|
||||
|
@ -43,7 +43,7 @@ class ioCtrlDpath extends Bundle()
|
||||
// inputs from datapath
|
||||
val inst = Bits(INPUT, 32);
|
||||
val jalr_eq = Bool(INPUT)
|
||||
val ex_br_type = Bits(OUTPUT, 3)
|
||||
val ex_br_type = Bits(OUTPUT, SZ_BR)
|
||||
val ex_br_taken = Bool(INPUT)
|
||||
val div_rdy = Bool(INPUT);
|
||||
val div_result_val = Bool(INPUT);
|
||||
|
@ -216,7 +216,7 @@ class Datapath(implicit conf: RocketConfiguration) extends Component
|
||||
io.ptw.status := pcr.io.status
|
||||
|
||||
// branch resolution logic
|
||||
io.ctrl.jalr_eq := ex_rs1 === id_pc.toFix && ex_reg_inst(11,0) === UFix(0)
|
||||
io.ctrl.jalr_eq := ex_rs1 === id_pc.toFix && ex_reg_inst(21,10) === UFix(0)
|
||||
io.ctrl.ex_br_taken :=
|
||||
Mux(io.ctrl.ex_br_type === BR_EQ, ex_rs1 === ex_rs2,
|
||||
Mux(io.ctrl.ex_br_type === BR_NE, ex_rs1 != ex_rs2,
|
||||
|
@ -7,6 +7,7 @@ import uncore._
|
||||
import Util._
|
||||
|
||||
case class ICacheConfig(sets: Int, assoc: Int, co: CoherencePolicyWithUncached,
|
||||
ntlb: Int = 8, nbtb: Int = 8,
|
||||
code: Code = new IdentityCode)
|
||||
{
|
||||
val w = 1
|
||||
@ -56,9 +57,9 @@ class Frontend(implicit c: ICacheConfig) extends Component
|
||||
val mem = new ioUncachedRequestor
|
||||
}
|
||||
|
||||
val btb = new rocketDpathBTB(BTB_ENTRIES)
|
||||
val btb = new rocketDpathBTB(c.nbtb)
|
||||
val icache = new ICache
|
||||
val tlb = new TLB(ITLB_ENTRIES)
|
||||
val tlb = new TLB(c.ntlb)
|
||||
|
||||
val s1_pc = Reg() { UFix() }
|
||||
val s1_same_block = Reg() { Bool() }
|
||||
|
@ -7,7 +7,7 @@ import uncore._
|
||||
import Util._
|
||||
|
||||
case class DCacheConfig(sets: Int, ways: Int, co: CoherencePolicy,
|
||||
nmshr: Int, nrpq: Int, nsdq: Int,
|
||||
nmshr: Int, nrpq: Int, nsdq: Int, ntlb: Int,
|
||||
reqtagbits: Int = -1, databits: Int = -1)
|
||||
{
|
||||
require(isPow2(sets))
|
||||
|
@ -13,7 +13,6 @@ object Constants extends
|
||||
InterruptConstants with
|
||||
RocketDcacheConstants with
|
||||
VectorOpConstants with
|
||||
TLBConstants with
|
||||
uncore.constants.MemoryInterfaceConstants
|
||||
{
|
||||
val START_ADDR = 0x2000
|
||||
|
Loading…
Reference in New Issue
Block a user