1
0

Use CDEMatchError for improved performance (#304)

This commit is contained in:
Jack Koenig 2016-09-15 19:47:18 -07:00 committed by Andrew Waterman
parent 29ce599ea2
commit f2fe437fa4
3 changed files with 15 additions and 8 deletions

View File

@ -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(

View File

@ -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(
@ -182,12 +183,14 @@ 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
} }
) )

View File

@ -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)