fixing bufferless broadcast hub
This commit is contained in:
		 Submodule groundtest updated: 2346825890...2da3e8b4d7
									
								
							@@ -44,13 +44,14 @@ $(error Set SUITE to the regression suite you want to run)
 | 
				
			|||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(SUITE),RocketSuite)
 | 
					ifeq ($(SUITE),RocketSuite)
 | 
				
			||||||
CONFIGS=DefaultConfig DefaultL2Config RoccExampleConfig SplitL2MetadataTestConfig
 | 
					CONFIGS=DefaultConfig DefaultL2Config DefaultBufferlessConfig RoccExampleConfig
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(SUITE),GroundtestSuite)
 | 
					ifeq ($(SUITE),GroundtestSuite)
 | 
				
			||||||
CONFIGS=MemtestConfig FancyMemtestConfig \
 | 
					CONFIGS=MemtestConfig MemtestBufferlessConfig FancyMemtestConfig \
 | 
				
			||||||
	BroadcastRegressionTestConfig CacheRegressionTestConfig \
 | 
						BroadcastRegressionTestConfig BufferlessRegressionTestConfig CacheRegressionTestConfig \
 | 
				
			||||||
	ComparatorConfig ComparatorL2Config UnitTestConfig
 | 
						ComparatorConfig ComparatorBufferlessConfig ComparatorL2Config \
 | 
				
			||||||
 | 
						UnitTestConfig
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# These are the named regression targets.  While it's expected you run them in
 | 
					# These are the named regression targets.  While it's expected you run them in
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 }
 | 
					  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(
 | 
					class WithPLRU extends Config(
 | 
				
			||||||
  (pname, site, here) => pname match {
 | 
					  (pname, site, here) => pname match {
 | 
				
			||||||
    case L2Replacer => () => new SeqPLRU(site(NSets), site(NWays))
 | 
					    case L2Replacer => () => new SeqPLRU(site(NSets), site(NWays))
 | 
				
			||||||
@@ -388,6 +396,9 @@ class DefaultL2Config extends Config(new WithL2Cache ++ new BaseConfig)
 | 
				
			|||||||
class DefaultL2FPGAConfig extends Config(
 | 
					class DefaultL2FPGAConfig extends Config(
 | 
				
			||||||
  new WithL2Capacity(64) ++ new WithL2Cache ++ new DefaultFPGAConfig)
 | 
					  new WithL2Capacity(64) ++ new WithL2Cache ++ new DefaultFPGAConfig)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class DefaultBufferlessConfig extends Config(
 | 
				
			||||||
 | 
					  new WithBufferlessBroadcastHub ++ new BaseConfig)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PLRUL2Config extends Config(new WithPLRU ++ new DefaultL2Config)
 | 
					class PLRUL2Config extends Config(new WithPLRU ++ new DefaultL2Config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class WithRV32 extends Config(
 | 
					class WithRV32 extends Config(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -195,14 +195,20 @@ class ComparatorConfig extends Config(new WithComparator ++ new GroundTestConfig
 | 
				
			|||||||
class ComparatorL2Config extends Config(
 | 
					class ComparatorL2Config extends Config(
 | 
				
			||||||
  new WithAtomics ++ new WithPrefetches ++
 | 
					  new WithAtomics ++ new WithPrefetches ++
 | 
				
			||||||
  new WithL2Cache ++ new ComparatorConfig)
 | 
					  new WithL2Cache ++ new ComparatorConfig)
 | 
				
			||||||
 | 
					class ComparatorBufferlessConfig extends Config(
 | 
				
			||||||
 | 
					  new WithBufferlessBroadcastHub ++ new ComparatorConfig)
 | 
				
			||||||
class GroundTestConfig extends Config(new WithGroundTest ++ new BaseConfig)
 | 
					class GroundTestConfig extends Config(new WithGroundTest ++ new BaseConfig)
 | 
				
			||||||
class MemtestConfig extends Config(new WithMemtest ++ new GroundTestConfig)
 | 
					class MemtestConfig extends Config(new WithMemtest ++ new GroundTestConfig)
 | 
				
			||||||
class MemtestL2Config extends Config(
 | 
					class MemtestL2Config extends Config(
 | 
				
			||||||
  new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig)
 | 
					  new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig)
 | 
				
			||||||
 | 
					class MemtestBufferlessConfig extends Config(
 | 
				
			||||||
 | 
					  new WithMemtest ++ new WithBufferlessBroadcastHub ++ new GroundTestConfig)
 | 
				
			||||||
class CacheFillTestConfig extends Config(
 | 
					class CacheFillTestConfig extends Config(
 | 
				
			||||||
  new WithCacheFillTest ++ new WithPLRU ++ new WithL2Cache ++ new GroundTestConfig)
 | 
					  new WithCacheFillTest ++ new WithPLRU ++ new WithL2Cache ++ new GroundTestConfig)
 | 
				
			||||||
class BroadcastRegressionTestConfig extends Config(
 | 
					class BroadcastRegressionTestConfig extends Config(
 | 
				
			||||||
  new WithBroadcastRegressionTest ++ new GroundTestConfig)
 | 
					  new WithBroadcastRegressionTest ++ new GroundTestConfig)
 | 
				
			||||||
 | 
					class BufferlessRegressionTestConfig extends Config(
 | 
				
			||||||
 | 
					  new WithBufferlessBroadcastHub ++ new BroadcastRegressionTestConfig)
 | 
				
			||||||
class CacheRegressionTestConfig extends Config(
 | 
					class CacheRegressionTestConfig extends Config(
 | 
				
			||||||
  new WithCacheRegressionTest ++ new WithL2Cache ++ new GroundTestConfig)
 | 
					  new WithCacheRegressionTest ++ new WithL2Cache ++ new GroundTestConfig)
 | 
				
			||||||
class DmaTestConfig extends Config(new WithDmaTest ++ 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
 | 
					    case _ => throw new CDEMatchError
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Test ALL the things
 | 
				
			||||||
class FancyMemtestConfig extends Config(
 | 
					class FancyMemtestConfig extends Config(
 | 
				
			||||||
  new WithNCachedGenerators(1) ++ new WithNUncachedGenerators(2) ++
 | 
					  new WithNCachedGenerators(1) ++ new WithNUncachedGenerators(2) ++
 | 
				
			||||||
  new WithNCores(2) ++
 | 
					  new WithNCores(2) ++ new WithMemtest ++
 | 
				
			||||||
  new WithNMemoryChannels(2) ++ new WithNBanksPerMemChannel(4) ++
 | 
					  new WithNMemoryChannels(2) ++ new WithNBanksPerMemChannel(4) ++
 | 
				
			||||||
  new WithMemtest ++ new WithL2Cache ++ new GroundTestConfig)
 | 
					  new WithSplitL2Metadata ++ new WithL2Cache ++ new GroundTestConfig)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MIF128BitComparatorConfig extends Config(
 | 
					class MIF128BitComparatorConfig extends Config(
 | 
				
			||||||
  new WithMIFDataBits(128) ++ new ComparatorConfig)
 | 
					  new WithMIFDataBits(128) ++ new ComparatorConfig)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								uncore
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								uncore
									
									
									
									
									
								
							 Submodule uncore updated: e2ee3196ad...aef8a2a474
									
								
							
		Reference in New Issue
	
	Block a user