From 0c91e0067657a8b37373cf17a64639251ada1df5 Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Sun, 6 Dec 2015 03:01:05 -0800 Subject: [PATCH] move GroundTest configs to a separate file --- groundtest | 2 +- src/main/scala/Configs.scala | 54 ------------------------ src/main/scala/TestConfigs.scala | 71 ++++++++++++++++++++++++++++++++ uncore | 2 +- 4 files changed, 73 insertions(+), 56 deletions(-) create mode 100644 src/main/scala/TestConfigs.scala diff --git a/groundtest b/groundtest index b7e14087..1069aa03 160000 --- a/groundtest +++ b/groundtest @@ -1 +1 @@ -Subproject commit b7e140877d98e85c590d604ece28860df420d2e9 +Subproject commit 1069aa03c6fcf6234d44599ffca7680c5fcb56af diff --git a/src/main/scala/Configs.scala b/src/main/scala/Configs.scala index 95fa7e06..f47b21a8 100644 --- a/src/main/scala/Configs.scala +++ b/src/main/scala/Configs.scala @@ -297,56 +297,6 @@ class WithZscale extends Config( class ZscaleConfig extends Config(new WithZscale ++ new DefaultConfig) -class WithGroundTest extends Config( - (pname, site, here) => pname match { - case TLKey("L1toL2") => - TileLinkParameters( - coherencePolicy = new MESICoherence(site(L2DirectoryRepresentation)), - nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels), - nCachingClients = site(NTiles), - nCachelessClients = site(NTiles) + 1, - maxClientXacts = 1, - maxClientsPerPort = site(GroundTestMaxXacts), - maxManagerXacts = site(NAcquireTransactors) + 2, - 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 - }) - -class WithMemtest extends Config( - (pname, site, here) => pname match { - case NGenerators => site(NTiles) - case GenerateUncached => true - case GenerateCached => true - case MaxGenerateRequests => 128 - case GeneratorStartAddress => 0 - case BuildGroundTest => - (id: Int, p: Parameters) => Module(new GeneratorTest(id)(p)) - }) - -class WithCacheFillTest extends Config( - (pname, site, here) => pname match { - case BuildGroundTest => - (id: Int, p: Parameters) => Module(new CacheFillTest()(p)) - }, - knobValues = { - case "L2_WAYS" => 4 - 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 ( (pname,site,here) => pname match { case NAcquireTransactors => 4 @@ -389,10 +339,6 @@ class DualChannelDualBankL2Config extends Config( new With2MemoryChannels ++ new With2BanksPerMemChannel ++ new WithL2Cache ++ new DefaultConfig) -class FancyMemtestConfig extends Config( - new With2Cores ++ new With2MemoryChannels ++ new With2BanksPerMemChannel ++ - new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig) - class WithRoccExample extends Config( (pname, site, here) => pname match { case BuildRoCC => Seq( diff --git a/src/main/scala/TestConfigs.scala b/src/main/scala/TestConfigs.scala new file mode 100644 index 00000000..59f86e6b --- /dev/null +++ b/src/main/scala/TestConfigs.scala @@ -0,0 +1,71 @@ +package rocketchip + +import Chisel._ +import groundtest._ +import rocket._ +import uncore._ +import cde.{Parameters, Config, Dump, Knob} +import scala.math.max + +class WithGroundTest extends Config( + (pname, site, here) => pname match { + case TLKey("L1toL2") => + TileLinkParameters( + coherencePolicy = new MESICoherence(site(L2DirectoryRepresentation)), + nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels), + nCachingClients = site(NTiles), + nCachelessClients = site(NTiles) + 1, + maxClientXacts = max(site(NMSHRs) + site(NIOMSHRs), + site(GroundTestMaxXacts)), + maxClientsPerPort = 1, + maxManagerXacts = site(NAcquireTransactors) + 2, + 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 + }) + +class WithMemtest extends Config( + (pname, site, here) => pname match { + case NGenerators => site(NTiles) + case GenerateUncached => true + case GenerateCached => true + case MaxGenerateRequests => 128 + case GeneratorStartAddress => 0 + case BuildGroundTest => + (id: Int, p: Parameters) => Module(new GeneratorTest(id)(p)) + }) + +class WithCacheFillTest extends Config( + (pname, site, here) => pname match { + case BuildGroundTest => + (id: Int, p: Parameters) => Module(new CacheFillTest()(p)) + }, + knobValues = { + case "L2_WAYS" => 4 + case "L2_CAPACITY_IN_KB" => 4 + }) + +class WithRegressionTest extends Config( + (pname, site, here) => pname match { + case BuildGroundTest => + (id: Int, p: Parameters) => Module(new RegressionTest()(p)) + }) + +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 RegressionTestConfig extends Config( + new WithRegressionTest ++ new GroundTestConfig) + +class FancyMemtestConfig extends Config( + new With2Cores ++ new With2MemoryChannels ++ new With2BanksPerMemChannel ++ + new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig) diff --git a/uncore b/uncore index 67724914..9c11a10b 160000 --- a/uncore +++ b/uncore @@ -1 +1 @@ -Subproject commit 677249148f87cc2735ce88c0892ca02ebd767a94 +Subproject commit 9c11a10b2e3b89ca9a14f06a6930eb454bc7f4ec