From 30ead79f4dbcbae8e1bb178bb8626eec1621b248 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 12:22:32 -0800 Subject: [PATCH] Add cloned-tile configs --- generators/boom | 2 +- generators/chipyard/src/main/scala/Subsystem.scala | 2 +- generators/chipyard/src/main/scala/config/BoomConfigs.scala | 6 ++++++ .../chipyard/src/main/scala/config/RocketConfigs.scala | 5 +++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/generators/boom b/generators/boom index 0a887434..98487c68 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 0a887434abcbfa6ef3e4a5a8bbfbc5fcfd062462 +Subproject commit 98487c68cc4229cd991eac6a4f94d2fe8e5fdc1d diff --git a/generators/chipyard/src/main/scala/Subsystem.scala b/generators/chipyard/src/main/scala/Subsystem.scala index 45b62115..aabf1200 100644 --- a/generators/chipyard/src/main/scala/Subsystem.scala +++ b/generators/chipyard/src/main/scala/Subsystem.scala @@ -78,7 +78,7 @@ class ChipyardSubsystemModuleImp[+L <: ChipyardSubsystem](_outer: L) extends Bas with HasTilesModuleImp { // create file with core params - ElaborationArtefacts.add("""core.config""", outer.tiles.map(x => x.module.toString).mkString("\n")) + ElaborationArtefacts.add("""core.config""", outer.tiles.map(_.name).mkString("\n")) // Generate C header with relevant information for Dromajo // This is included in the `dromajo_params.h` header file DromajoHelper.addArtefacts(InSubsystem) diff --git a/generators/chipyard/src/main/scala/config/BoomConfigs.scala b/generators/chipyard/src/main/scala/config/BoomConfigs.scala index aced79ae..bbc816f7 100644 --- a/generators/chipyard/src/main/scala/config/BoomConfigs.scala +++ b/generators/chipyard/src/main/scala/config/BoomConfigs.scala @@ -28,6 +28,12 @@ class DualSmallBoomConfig extends Config( new boom.common.WithNSmallBooms(2) ++ // 2 boom cores new chipyard.config.AbstractConfig) +class Cloned64MegaBoomConfig extends Config( + new boom.common.WithCloneBoomTiles(63, 0) ++ + new boom.common.WithNMegaBooms(1) ++ // mega boom config + new chipyard.config.WithSystemBusWidth(128) ++ + new chipyard.config.AbstractConfig) + class HwachaLargeBoomConfig extends Config( new chipyard.config.WithHwachaTest ++ new hwacha.DefaultHwachaConfig ++ // use Hwacha vector accelerator diff --git a/generators/chipyard/src/main/scala/config/RocketConfigs.scala b/generators/chipyard/src/main/scala/config/RocketConfigs.scala index 1a3ac0ed..d5993195 100644 --- a/generators/chipyard/src/main/scala/config/RocketConfigs.scala +++ b/generators/chipyard/src/main/scala/config/RocketConfigs.scala @@ -122,6 +122,11 @@ class QuadRocketConfig extends Config( new freechips.rocketchip.subsystem.WithNBigCores(4) ++ // quad-core (4 RocketTiles) new chipyard.config.AbstractConfig) +class Cloned64RocketConfig extends Config( + new freechips.rocketchip.subsystem.WithCloneRocketTiles(63, 0) ++ // copy tile0 63 more times + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ // tile0 is a BigRocket + new chipyard.config.AbstractConfig) + class RV32RocketConfig extends Config( new freechips.rocketchip.subsystem.WithRV32 ++ // set RocketTiles to be 32-bit new freechips.rocketchip.subsystem.WithNBigCores(1) ++