From c924ec2a224bea1c2f28d725bdc1ad7f9960e024 Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Mon, 4 Jul 2016 17:07:58 -0700 Subject: [PATCH] fixing bufferless broadcast hub --- groundtest | 2 +- regression/Makefile | 9 +++++---- src/main/scala/Configs.scala | 11 +++++++++++ src/main/scala/TestConfigs.scala | 11 +++++++++-- uncore | 2 +- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/groundtest b/groundtest index 23468258..2da3e8b4 160000 --- a/groundtest +++ b/groundtest @@ -1 +1 @@ -Subproject commit 23468258900d231f1960afa67c958d3d058145ce +Subproject commit 2da3e8b4d7a5c6e37253a91b1ee58a318451bde6 diff --git a/regression/Makefile b/regression/Makefile index c4c8eff2..38cbfd8a 100644 --- a/regression/Makefile +++ b/regression/Makefile @@ -44,13 +44,14 @@ $(error Set SUITE to the regression suite you want to run) endif ifeq ($(SUITE),RocketSuite) -CONFIGS=DefaultConfig DefaultL2Config RoccExampleConfig SplitL2MetadataTestConfig +CONFIGS=DefaultConfig DefaultL2Config DefaultBufferlessConfig RoccExampleConfig endif ifeq ($(SUITE),GroundtestSuite) -CONFIGS=MemtestConfig FancyMemtestConfig \ - BroadcastRegressionTestConfig CacheRegressionTestConfig \ - ComparatorConfig ComparatorL2Config UnitTestConfig +CONFIGS=MemtestConfig MemtestBufferlessConfig FancyMemtestConfig \ + BroadcastRegressionTestConfig BufferlessRegressionTestConfig CacheRegressionTestConfig \ + ComparatorConfig ComparatorBufferlessConfig ComparatorL2Config \ + UnitTestConfig endif # These are the named regression targets. While it's expected you run them in diff --git a/src/main/scala/Configs.scala b/src/main/scala/Configs.scala index be075d28..13a56beb 100644 --- a/src/main/scala/Configs.scala +++ b/src/main/scala/Configs.scala @@ -366,6 +366,14 @@ class WithL2Cache extends Config( knobValues = { case "L2_WAYS" => 8; case "L2_CAPACITY_IN_KB" => 2048; case "L2_SPLIT_METADATA" => false; case _ => throw new CDEMatchError } ) +class WithBufferlessBroadcastHub extends Config( + (pname, site, here) => pname match { + case BuildL2CoherenceManager => (id: Int, p: Parameters) => + Module(new BufferlessBroadcastHub()(p.alterPartial({ + case InnerTLId => "L1toL2" + case OuterTLId => "L2toMC" }))) + }) + class WithPLRU extends Config( (pname, site, here) => pname match { case L2Replacer => () => new SeqPLRU(site(NSets), site(NWays)) @@ -388,6 +396,9 @@ class DefaultL2Config extends Config(new WithL2Cache ++ new BaseConfig) class DefaultL2FPGAConfig extends Config( new WithL2Capacity(64) ++ new WithL2Cache ++ new DefaultFPGAConfig) +class DefaultBufferlessConfig extends Config( + new WithBufferlessBroadcastHub ++ new BaseConfig) + class PLRUL2Config extends Config(new WithPLRU ++ new DefaultL2Config) class WithRV32 extends Config( diff --git a/src/main/scala/TestConfigs.scala b/src/main/scala/TestConfigs.scala index dd4f5b00..9b8dd95a 100644 --- a/src/main/scala/TestConfigs.scala +++ b/src/main/scala/TestConfigs.scala @@ -195,14 +195,20 @@ class ComparatorConfig extends Config(new WithComparator ++ new GroundTestConfig class ComparatorL2Config extends Config( new WithAtomics ++ new WithPrefetches ++ new WithL2Cache ++ new ComparatorConfig) +class ComparatorBufferlessConfig extends Config( + new WithBufferlessBroadcastHub ++ new ComparatorConfig) class GroundTestConfig extends Config(new WithGroundTest ++ new BaseConfig) class MemtestConfig extends Config(new WithMemtest ++ new GroundTestConfig) class MemtestL2Config extends Config( new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig) +class MemtestBufferlessConfig extends Config( + new WithMemtest ++ new WithBufferlessBroadcastHub ++ new GroundTestConfig) class CacheFillTestConfig extends Config( new WithCacheFillTest ++ new WithPLRU ++ new WithL2Cache ++ new GroundTestConfig) class BroadcastRegressionTestConfig extends Config( new WithBroadcastRegressionTest ++ new GroundTestConfig) +class BufferlessRegressionTestConfig extends Config( + new WithBufferlessBroadcastHub ++ new BroadcastRegressionTestConfig) class CacheRegressionTestConfig extends Config( new WithCacheRegressionTest ++ new WithL2Cache ++ new GroundTestConfig) class DmaTestConfig extends Config(new WithDmaTest ++ new WithL2Cache ++ new GroundTestConfig) @@ -223,11 +229,12 @@ class WithNUncachedGenerators(n: Int) extends Config( case _ => throw new CDEMatchError }) +// Test ALL the things class FancyMemtestConfig extends Config( new WithNCachedGenerators(1) ++ new WithNUncachedGenerators(2) ++ - new WithNCores(2) ++ + new WithNCores(2) ++ new WithMemtest ++ new WithNMemoryChannels(2) ++ new WithNBanksPerMemChannel(4) ++ - new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig) + new WithSplitL2Metadata ++ new WithL2Cache ++ new GroundTestConfig) class MIF128BitComparatorConfig extends Config( new WithMIFDataBits(128) ++ new ComparatorConfig) diff --git a/uncore b/uncore index e2ee3196..aef8a2a4 160000 --- a/uncore +++ b/uncore @@ -1 +1 @@ -Subproject commit e2ee3196adf2006dc62264ccdbbaf0612d5216e6 +Subproject commit aef8a2a474c346e764b07ca3c42fd08c2b961a4e