From e0d1ba285d27367deed7f1cdec45834e7f0ecef9 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 23 Apr 2019 16:20:23 -0700 Subject: [PATCH] Add Hwacha config to example project --- .gitmodules | 3 +++ build.sbt | 6 +++++- generators/hwacha | 1 + src/main/scala/example/Configs.scala | 8 ++++++++ variables.mk | 16 +++++++++++++--- 5 files changed, 30 insertions(+), 4 deletions(-) create mode 160000 generators/hwacha diff --git a/.gitmodules b/.gitmodules index 73e556a4..698c53b9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,3 +28,6 @@ [submodule "generators/sifive-blocks"] path = generators/sifive-blocks url = git@github.com:sifive/sifive-blocks.git +[submodule "generators/hwacha"] + path = generators/hwacha + url = git@github.com:ucb-bar/hwacha.git diff --git a/build.sbt b/build.sbt index 55a28adf..9fdc386a 100644 --- a/build.sbt +++ b/build.sbt @@ -46,7 +46,11 @@ def conditionalDependsOn(prj: Project): Project = { } lazy val example = conditionalDependsOn(project in file(".")) - .dependsOn(boom, sifive_blocks) + .dependsOn(boom, hwacha, sifive_blocks) + .settings(commonSettings) + +lazy val hwacha = (project in file ("generators/hwacha")) + .dependsOn(rebarrocketchip) .settings(commonSettings) lazy val boom = (project in file("generators/boom")) diff --git a/generators/hwacha b/generators/hwacha new file mode 160000 index 00000000..bc89157b --- /dev/null +++ b/generators/hwacha @@ -0,0 +1 @@ +Subproject commit bc89157b28b22ba59af6ddad1130f61749d648c1 diff --git a/src/main/scala/example/Configs.scala b/src/main/scala/example/Configs.scala index 52ee21de..57e4300f 100644 --- a/src/main/scala/example/Configs.scala +++ b/src/main/scala/example/Configs.scala @@ -17,6 +17,10 @@ class DefaultRocketConfig extends Config( new WithNormalRocketTop ++ new BaseRocketConfig) +class HwachaConfig extends Config( + new hwacha.DefaultHwachaConfig ++ + new DefaultRocketConfig) + class RoccRocketConfig extends Config( new WithRoccExample ++ new DefaultRocketConfig) @@ -64,6 +68,10 @@ class DefaultBoomConfig extends Config( new WithNormalBoomTop ++ new BaseBoomConfig) +class HwachaBoomConfig extends Config( + new hwacha.DefaultHwachaConfig ++ + new DefaultBoomConfig) + class RoccBoomConfig extends Config( new WithRoccExample ++ new DefaultBoomConfig) diff --git a/variables.mk b/variables.mk index 9b52c45c..606bf47f 100644 --- a/variables.mk +++ b/variables.mk @@ -28,22 +28,22 @@ TOP ?= RocketTop # make it so that you only change 1 param to change most or all of them! SUB_PROJECT ?= example +# for a BOOM based system (provides all necessary params) ifeq ($(SUB_PROJECT),boomexample) - # for a BOOM based system (provides all necessary params) MODEL=BoomTestHarness CONFIG=DefaultBoomConfig TOP=BoomTop endif +# for BOOM developers (only need to provide a CONFIG) ifeq ($(SUB_PROJECT),boom) - # for BOOM developers (only need to provide a CONFIG) PROJECT=boom.system MODEL=TestHarness CFG_PROJECT=boom.system SBT_PROJECT=boom TOP=ExampleBoomSystem endif +# for Rocket-chip developers ifeq ($(SUB_PROJECT),rocketchip) - # for Rocket-chip developers PROJECT=freechips.rocketchip.system MODEL=TestHarness CONFIG=DefaultConfig @@ -51,6 +51,16 @@ ifeq ($(SUB_PROJECT),rocketchip) SBT_PROJECT=rebarrocketchip TOP=ExampleRocketSystem endif +# for Hwacha developers (only need to provide a CONFIG) +ifeq ($(SUB_PROJECT),hwacha) + PROJECT=freechips.rocketchip.system + MODEL=TestHarness + CFG_PROJECT=hwacha + SBT_PROJECT=hwacha + TOP=ExampleRocketSystem + TB=TestDriver + CONFIG=HwachaConfig +endif ######################################################################################### # path to rocket-chip and testchipip