add CacheFillTest to check L2 conflict misses
This commit is contained in:
parent
3514b6eb87
commit
4806f72b08
@ -1 +1 @@
|
|||||||
Subproject commit cb4b70a820fc04e86b6c7e6cf8c4faed699283ce
|
Subproject commit e9112db2cacf9cdd1aaf6529eb94d6edc9100d78
|
@ -248,39 +248,54 @@ class WithZscale extends Config(
|
|||||||
|
|
||||||
class ZscaleConfig extends Config(new WithZscale ++ new DefaultConfig)
|
class ZscaleConfig extends Config(new WithZscale ++ new DefaultConfig)
|
||||||
|
|
||||||
class WithMemtest extends Config (
|
class WithGroundTest extends Config(
|
||||||
(pname, site, here) => pname match {
|
(pname, site, here) => pname match {
|
||||||
case TLKey("L1toL2") =>
|
case TLKey("L1toL2") =>
|
||||||
TileLinkParameters(
|
TileLinkParameters(
|
||||||
coherencePolicy = new MESICoherence(site(L2DirectoryRepresentation)),
|
coherencePolicy = new MESICoherence(site(L2DirectoryRepresentation)),
|
||||||
nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels),
|
nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels),
|
||||||
nCachingClients = site(NGeneratorTiles),
|
nCachingClients = site(NTiles),
|
||||||
nCachelessClients = site(NGeneratorTiles) + 1,
|
nCachelessClients = site(NTiles) + 1,
|
||||||
maxClientXacts = 1,
|
maxClientXacts = 1,
|
||||||
maxClientsPerPort = site(NGeneratorsPerTile),
|
maxClientsPerPort = site(GroundTestMaxXacts),
|
||||||
maxManagerXacts = site(NAcquireTransactors) + 2,
|
maxManagerXacts = site(NAcquireTransactors) + 2,
|
||||||
dataBits = site(CacheBlockBytes)*8)
|
dataBits = site(CacheBlockBytes)*8)
|
||||||
|
case BuildTiles => {
|
||||||
|
(0 until site(NTiles)).map { i =>
|
||||||
|
(r: Bool, p: Parameters) =>
|
||||||
|
Module(new GroundTestTile(i, r)
|
||||||
|
(p.alterPartial({case TLId => "L1toL2"})))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case GroundTestMaxXacts => 1
|
||||||
|
})
|
||||||
|
|
||||||
case NTiles => site(NGeneratorTiles)
|
class WithMemtest extends Config(
|
||||||
|
(pname, site, here) => pname match {
|
||||||
case NGeneratorTiles => 1
|
case NGenerators => 1
|
||||||
case NGeneratorsPerTile => 1
|
|
||||||
case GenerateUncached => true
|
case GenerateUncached => true
|
||||||
case GenerateCached => true
|
case GenerateCached => true
|
||||||
case MaxGenerateRequests => 128
|
case MaxGenerateRequests => 128
|
||||||
case GeneratorStartAddress => 0
|
case GeneratorStartAddress => 0
|
||||||
|
case BuildGroundTest =>
|
||||||
|
(id: Int, p: Parameters) => Module(new GeneratorTest(id)(p))
|
||||||
|
|
||||||
case BuildTiles => {
|
case NTiles => site(NGenerators)
|
||||||
(0 until site(NTiles)).map { i =>
|
|
||||||
(r: Bool, p: Parameters) => Module(
|
|
||||||
new GeneratorTile(i, r)
|
|
||||||
(p.alterPartial({case TLId => "L1toL2"})))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
class MemtestConfig extends Config(new WithMemtest ++ new DefaultConfig)
|
class WithCacheFillTest extends Config(
|
||||||
class MemtestL2Config extends Config(new WithMemtest ++ new DefaultL2Config)
|
(pname, site, here) => pname match {
|
||||||
|
case BuildGroundTest =>
|
||||||
|
(id: Int, p: Parameters) => Module(new CacheFillTest()(p))
|
||||||
|
case "L2_CAPACITY_IN_KB" => 4
|
||||||
|
})
|
||||||
|
|
||||||
|
class GroundTestConfig extends Config(new WithGroundTest ++ new DefaultConfig)
|
||||||
|
class MemtestConfig extends Config(new WithMemtest ++ new GroundTestConfig)
|
||||||
|
class MemtestL2Config extends Config(
|
||||||
|
new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig)
|
||||||
|
class CacheFillTestConfig extends Config(
|
||||||
|
new WithCacheFillTest ++ new WithL2Cache ++ new GroundTestConfig)
|
||||||
|
|
||||||
class FPGAConfig extends Config (
|
class FPGAConfig extends Config (
|
||||||
(pname,site,here) => pname match {
|
(pname,site,here) => pname match {
|
||||||
@ -326,7 +341,7 @@ class DualChannelDualBankL2Config extends Config(
|
|||||||
|
|
||||||
class MemtestDualChannelDualBankL2Config extends Config(
|
class MemtestDualChannelDualBankL2Config extends Config(
|
||||||
new With2MemoryChannels ++ new With2BanksPerMemChannel ++
|
new With2MemoryChannels ++ new With2BanksPerMemChannel ++
|
||||||
new WithMemtest ++ new WithL2Cache ++ new DefaultConfig)
|
new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig)
|
||||||
|
|
||||||
class WithAccumulatorExample extends Config(
|
class WithAccumulatorExample extends Config(
|
||||||
(pname, site, here) => pname match {
|
(pname, site, here) => pname match {
|
||||||
|
Loading…
Reference in New Issue
Block a user