Make blocking L1 D$ the default
The nonblocking cache is overdesigned for most Rocket-class cores, so the blocking cache is the more appropriate default.
This commit is contained in:
parent
487b8db5ef
commit
3ea822c2cf
@ -41,7 +41,7 @@ class WithNBigCores(n: Int) extends Config((site, here, up) => {
|
||||
divEarlyOut = true))),
|
||||
dcache = Some(DCacheParams(
|
||||
rowBits = site(L1toL2Config).beatBytes*8,
|
||||
nMSHRs = 2,
|
||||
nMSHRs = 0,
|
||||
blockBytes = site(CacheBlockBytes))),
|
||||
icache = Some(ICacheParams(
|
||||
rowBits = site(L1toL2Config).beatBytes*8,
|
||||
@ -147,9 +147,9 @@ class WithRV32 extends Config((site, here, up) => {
|
||||
}
|
||||
})
|
||||
|
||||
class WithBlockingL1 extends Config((site, here, up) => {
|
||||
class WithNonblockingL1(nMSHRs: Int) extends Config((site, here, up) => {
|
||||
case RocketTilesKey => up(RocketTilesKey, site) map { r =>
|
||||
r.copy(dcache = r.dcache.map(_.copy(nMSHRs = 0)))
|
||||
r.copy(dcache = r.dcache.map(_.copy(nMSHRs = nMSHRs)))
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -46,7 +46,7 @@ class BasePlatformConfig extends Config((site, here, up) => {
|
||||
/** Actual elaboratable target Configs */
|
||||
|
||||
class BaseConfig extends Config(new BaseCoreplexConfig ++ new BasePlatformConfig)
|
||||
class DefaultConfig extends Config(new WithBlockingL1 ++ new WithNBigCores(1) ++ new BaseConfig)
|
||||
class DefaultConfig extends Config(new WithNBigCores(1) ++ new BaseConfig)
|
||||
|
||||
class DefaultL2Config extends Config(new WithL2Cache ++ new WithNBigCores(1) ++ new BaseConfig)
|
||||
class DefaultBufferlessConfig extends Config(
|
||||
|
Loading…
Reference in New Issue
Block a user