diff --git a/.circleci/defaults.sh b/.circleci/defaults.sh index 8497f304..bdc53e80 100755 --- a/.circleci/defaults.sh +++ b/.circleci/defaults.sh @@ -47,6 +47,6 @@ mapping["boom"]="SUB_PROJECT=example CONFIG=SmallBoomConfig" mapping["rocketchip"]="SUB_PROJECT=rocketchip" mapping["blockdevrocketchip"]="SUB_PROJECT=example CONFIG=SimBlockDeviceRocketConfig TOP=TopWithBlockDevice" mapping["hwacha"]="SUB_PROJECT=example CONFIG=HwachaRocketConfig GENERATOR_PACKAGE=hwacha" -mapping["firesim"]="DESIGN=FireSim TARGET_CONFIG=FireSimRocketChipConfig PLATFORM_CONFIG=FireSimConfig" -mapping["fireboom"]="DESIGN=FireBoom TARGET_CONFIG=FireSimBoomConfig PLATFORM_CONFIG=FireSimConfig" -mapping["firesim-clockdiv"]="DESIGN=FireSim TARGET_CONFIG=FireSimRocketChipConfig PLATFORM_CONFIG=FireSimClockDivConfig" +mapping["firesim"]="DESIGN=FireSim TARGET_CONFIG=DDR3FRFCFSLLC4MB_FireSimRocketChipConfig PLATFORM_CONFIG=BaseF1Config" +mapping["fireboom"]="DESIGN=FireBoom TARGET_CONFIG=DDR3FRFCFSLLC4MB_FireSimBoomConfig PLATFORM_CONFIG=BaseF1Config" +mapping["firesim-clockdiv"]="DESIGN=FireSim TARGET_CONFIG=DDR3FRFCFSLLC4MB3Div_FireSimRocketChipConfig PLATFORM_CONFIG=BaseF1Config" diff --git a/generators/firechip/src/main/scala/SimConfigs.scala b/generators/firechip/src/main/scala/SimConfigs.scala deleted file mode 100644 index 06e6aa93..00000000 --- a/generators/firechip/src/main/scala/SimConfigs.scala +++ /dev/null @@ -1,42 +0,0 @@ -//See LICENSE for license details. -package firesim.firesim - -import freechips.rocketchip.config.{Parameters, Config, Field} - -import midas.models._ - -import firesim.endpoints._ -import firesim.configs._ - -/******************************************************************************* -* Full PLATFORM_CONFIG Configurations. These set simulator parameters. -* -* In general, if you're adding or removing features from any of these, you -* should CREATE A NEW ONE, WITH A NEW NAME. This is because the manager -* will store this name as part of the tags for the AGFI, so that later you can -* reconstruct what is in a particular AGFI. These tags are also used to -* determine which driver to build. -*******************************************************************************/ -class FireSimConfig extends Config(new BasePlatformConfig) - -class FireSimClockDivConfig extends Config( - new FireSimConfig) - -class FireSimDDR3Config extends Config( - new FireSimConfig) - -class FireSimDDR3LLC4MBConfig extends Config( - new FireSimConfig) - -class FireSimDDR3FRFCFSConfig extends Config( - new FireSimConfig) - -class FireSimDDR3FRFCFSLLC4MBConfig extends Config( - new FireSimConfig) - -class FireSimDDR3FRFCFSLLC4MB3ClockDivConfig extends Config( - new FireSimConfig) - -class Midas2Config extends Config( - new WithMultiCycleRamModels ++ - new FireSimConfig) diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala index d88ffa25..d0c55ed3 100644 --- a/generators/firechip/src/main/scala/TargetConfigs.scala +++ b/generators/firechip/src/main/scala/TargetConfigs.scala @@ -20,7 +20,7 @@ import icenet._ import firesim.endpoints._ import firesim.util.{WithNumNodes} -import firesim.configs.WithDefaultMemModel +import firesim.configs._ class WithBootROM extends Config((site, here, up) => { case BootROMParams => { @@ -86,6 +86,11 @@ class WithScalaTestFeatures extends Config((site, here, up) => { case PrintTracePort => true }) +// FASED Config Aliases. This to enable config generation via "_" concatenation +// which requires that all config classes be defined in the same package +class DDR3FRFCFSLLC4MB extends FRFCFS16GBQuadRankLLC4MB +class DDR3FRFCFSLLC4MB3Div extends FRFCFS16GBQuadRankLLC4MB3Div + /******************************************************************************* * Full TARGET_CONFIG configurations. These set parameters of the target being * simulated. diff --git a/generators/firechip/src/test/scala/ScalaTestSuite.scala b/generators/firechip/src/test/scala/ScalaTestSuite.scala index 77415636..e7194d8c 100644 --- a/generators/firechip/src/test/scala/ScalaTestSuite.scala +++ b/generators/firechip/src/test/scala/ScalaTestSuite.scala @@ -130,10 +130,10 @@ abstract class FireSimTestSuite( runSuite("verilator")(FastBlockdevTests) } -class RocketF1Tests extends FireSimTestSuite("FireSimNoNIC", "FireSimRocketChipConfig", "FireSimConfig") -class BoomF1Tests extends FireSimTestSuite("FireBoomNoNIC", "FireSimBoomConfig", "FireSimConfig") -class RocketNICF1Tests extends FireSimTestSuite("FireSim", "FireSimRocketChipConfig", "FireSimConfig") { +class RocketF1Tests extends FireSimTestSuite("FireSimNoNIC", "DDR3FRFCFSLLC4MB_FireSimRocketChipQuadCoreConfig", "BaseF1Config") +class BoomF1Tests extends FireSimTestSuite("FireBoomNoNIC", "DDR3FRFCFSLLC4MB_FireSimBoomConfig", "BaseF1Config") +class RocketNICF1Tests extends FireSimTestSuite("FireSim", "DDR3FRFCFSLLC4MB_FireSimRocketChipConfig", "BaseF1Config") { runSuite("verilator")(NICLoopbackTests) } -class RamModelRocketF1Tests extends FireSimTestSuite("FireSimNoNIC", "FireSimRocketChipDualCoreConfig", "Midas2Config") -class RamModelBoomF1Tests extends FireSimTestSuite("FireBoomNoNIC", "FireSimBoomConfig", "Midas2Config") +class RamModelRocketF1Tests extends FireSimTestSuite("FireSimNoNIC", "FireSimRocketChipDualCoreConfig", "BaseF1Config_MCRams") +class RamModelBoomF1Tests extends FireSimTestSuite("FireBoomNoNIC", "FireSimBoomConfig", "BaseF1Config_MCRams") diff --git a/sims/firesim b/sims/firesim index 26ffba7c..31682ca9 160000 --- a/sims/firesim +++ b/sims/firesim @@ -1 +1 @@ -Subproject commit 26ffba7cbca2982fef6b221a7abbc51d5cdc4b62 +Subproject commit 31682ca9957ea20a823ab313285b1a95a6dfeb80