Use CDEMatchError for improved performance (#304)
This commit is contained in:
		
				
					committed by
					
						 Andrew Waterman
						Andrew Waterman
					
				
			
			
				
	
			
			
			
						parent
						
							29ce599ea2
						
					
				
				
					commit
					f2fe437fa4
				
			| @@ -146,6 +146,7 @@ class WithTraceGen extends Config( | |||||||
|   knobValues = { |   knobValues = { | ||||||
|     case "L1D_SETS" => 16 |     case "L1D_SETS" => 16 | ||||||
|     case "L1D_WAYS" => 1 |     case "L1D_WAYS" => 1 | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
| class WithPCIeMockupTest extends Config( | class WithPCIeMockupTest extends Config( | ||||||
|   | |||||||
| @@ -152,6 +152,7 @@ class RoccExampleConfig extends Config(new WithRoccExample ++ new BaseConfig) | |||||||
| class WithMIFDataBits(n: Int) extends Config( | class WithMIFDataBits(n: Int) extends Config( | ||||||
|   (pname, site, here) => pname match { |   (pname, site, here) => pname match { | ||||||
|     case MIFDataBits => Dump("MIF_DATA_BITS", n) |     case MIFDataBits => Dump("MIF_DATA_BITS", n) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
| class MIF128BitConfig extends Config( | class MIF128BitConfig extends Config( | ||||||
| @@ -183,11 +184,13 @@ class TinyConfig extends Config( | |||||||
| class WithAsyncDebug extends Config ( | class WithAsyncDebug extends Config ( | ||||||
|   (pname, site, here) => pname match { |   (pname, site, here) => pname match { | ||||||
|     case AsyncDebugBus => true |     case AsyncDebugBus => true | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   } |   } | ||||||
| ) | ) | ||||||
|  |  | ||||||
| class WithJtagDTM extends Config ( | class WithJtagDTM extends Config ( | ||||||
|   (pname, site, here) => pname match { |   (pname, site, here) => pname match { | ||||||
|     case IncludeJtagDTM => true |     case IncludeJtagDTM => true | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   } |   } | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| package uncore | package uncore | ||||||
|  |  | ||||||
| import Chisel._ | import Chisel._ | ||||||
| import cde.{Config, Parameters, ParameterDump, Knob, Dump} | import cde.{Config, Parameters, ParameterDump, Knob, Dump, CDEMatchError} | ||||||
| import junctions.PAddrBits | import junctions.PAddrBits | ||||||
| import uncore.tilelink._ | import uncore.tilelink._ | ||||||
| import uncore.agents._ | import uncore.agents._ | ||||||
| @@ -85,6 +85,7 @@ class DefaultL2Config extends Config ( | |||||||
|       case ECCCode => None |       case ECCCode => None | ||||||
|       case AmoAluOperandBits => 64 |       case AmoAluOperandBits => 64 | ||||||
|       case SplitMetadata => false |       case SplitMetadata => false | ||||||
|  |       case _ => throw new CDEMatchError | ||||||
|  //     case XLen => 128 |  //     case XLen => 128 | ||||||
|   }}, |   }}, | ||||||
|   knobValues = { |   knobValues = { | ||||||
| @@ -93,22 +94,24 @@ class DefaultL2Config extends Config ( | |||||||
|     case "NTILES" => 2 |     case "NTILES" => 2 | ||||||
|     case "N_CACHED_TILES" => 2 |     case "N_CACHED_TILES" => 2 | ||||||
|     case "L2_CAPACITY_IN_KB" => 256 |     case "L2_CAPACITY_IN_KB" => 256 | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   } |   } | ||||||
| ) | ) | ||||||
|  |  | ||||||
| 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)) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
| class PLRUL2Config extends Config(new WithPLRU ++ new DefaultL2Config) | class PLRUL2Config extends Config(new WithPLRU ++ new DefaultL2Config) | ||||||
|  |  | ||||||
| class With1L2Ways extends Config(knobValues = { case "L2_WAYS" => 1 }) | class With1L2Ways extends Config(knobValues = { case "L2_WAYS" => 1; case _ => throw new CDEMatchError }) | ||||||
| class With2L2Ways extends Config(knobValues = { case "L2_WAYS" => 2 }) | class With2L2Ways extends Config(knobValues = { case "L2_WAYS" => 2; case _ => throw new CDEMatchError }) | ||||||
| class With4L2Ways extends Config(knobValues = { case "L2_WAYS" => 4 }) | class With4L2Ways extends Config(knobValues = { case "L2_WAYS" => 4; case _ => throw new CDEMatchError }) | ||||||
|  |  | ||||||
| class With1Cached extends Config(knobValues = { case "N_CACHED_TILES" => 1 }) | class With1Cached extends Config(knobValues = { case "N_CACHED_TILES" => 1; case _ => throw new CDEMatchError }) | ||||||
| class With2Cached extends Config(knobValues = { case "N_CACHED_TILES" => 2 }) | class With2Cached extends Config(knobValues = { case "N_CACHED_TILES" => 2; case _ => throw new CDEMatchError }) | ||||||
|  |  | ||||||
|  |  | ||||||
| class W1Cached1WaysConfig extends Config(new With1L2Ways ++ new With1Cached ++ new DefaultL2Config) | class W1Cached1WaysConfig extends Config(new With1L2Ways ++ new With1Cached ++ new DefaultL2Config) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user