From 65df55cf9d4b920d3897f2c4fe9e11ab5daa4e2e Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Tue, 2 Jul 2019 15:29:01 -0700 Subject: [PATCH] add InclusiveCache --- .gitmodules | 3 +++ build.sbt | 9 +++++++-- common.mk | 2 +- generators/example/src/main/scala/Configs.scala | 11 ++++++++++- generators/sifive-cache | 1 + 5 files changed, 22 insertions(+), 4 deletions(-) create mode 160000 generators/sifive-cache diff --git a/.gitmodules b/.gitmodules index 03010358..ca80d661 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,3 +37,6 @@ [submodule "generators/icenet"] path = generators/icenet url = https://github.com/firesim/icenet.git +[submodule "generators/block-inclusivecache-sifive"] + path = generators/sifive-cache + url = https://github.com/sifive/block-inclusivecache-sifive.git diff --git a/build.sbt b/build.sbt index f2fa105c..cb3a0b69 100644 --- a/build.sbt +++ b/build.sbt @@ -81,7 +81,7 @@ lazy val testchipip = (project in file("generators/testchipip")) .settings(commonSettings) lazy val example = conditionalDependsOn(project in file("generators/example")) - .dependsOn(boom, hwacha, sifive_blocks) + .dependsOn(boom, hwacha, sifive_blocks, sifive_cache) .settings(commonSettings) lazy val utilities = conditionalDependsOn(project in file("generators/utilities")) @@ -114,12 +114,17 @@ lazy val sifive_blocks = (project in file("generators/sifive-blocks")) .dependsOn(rocketchip) .settings(commonSettings) +lazy val sifive_cache = (project in file("generators/sifive-cache")).settings( + commonSettings, + scalaSource in Compile := baseDirectory.value / "craft" + ).dependsOn(rocketchip) + // Library components of FireSim lazy val midas = ProjectRef(firesimDir, "midas") lazy val firesimLib = ProjectRef(firesimDir, "firesimLib") lazy val firechip = (project in file("generators/firechip")) - .dependsOn(boom, icenet, testchipip, sifive_blocks, midasTargetUtils, midas, firesimLib % "test->test;compile->compile") + .dependsOn(boom, icenet, testchipip, sifive_blocks, sifive_cache, midasTargetUtils, midas, firesimLib % "test->test;compile->compile") .settings( commonSettings, testGrouping in Test := isolateAllTests( (definedTests in Test).value ) diff --git a/common.mk b/common.mk index a8160248..310da07c 100644 --- a/common.mk +++ b/common.mk @@ -8,7 +8,7 @@ SHELL=/bin/bash ######################################################################################### lookup_scala_srcs = $(shell find -L $(1)/ -iname "*.scala" 2> /dev/null) -PACKAGES=$(addprefix generators/, rocket-chip testchipip boom hwacha sifive-blocks example) \ +PACKAGES=$(addprefix generators/, rocket-chip testchipip boom hwacha sifive-blocks sifive-cache example) \ $(addprefix sims/firesim/sim/, . firesim-lib midas midas/targetutils) SCALA_SOURCES=$(foreach pkg,$(PACKAGES),$(call lookup_scala_srcs,$(base_dir)/$(pkg)/src/main/scala)) diff --git a/generators/example/src/main/scala/Configs.scala b/generators/example/src/main/scala/Configs.scala index cd81f894..6ac2f064 100644 --- a/generators/example/src/main/scala/Configs.scala +++ b/generators/example/src/main/scala/Configs.scala @@ -3,7 +3,7 @@ package example import chisel3._ import freechips.rocketchip.config.{Config} -import freechips.rocketchip.subsystem.{WithRoccExample, WithNMemoryChannels, WithNBigCores, WithRV32, WithExtMemSize, WithNBanks} +import freechips.rocketchip.subsystem.{WithRoccExample, WithNMemoryChannels, WithNBigCores, WithRV32, WithExtMemSize, WithNBanks, WithInclusiveCache} import testchipip._ @@ -247,3 +247,12 @@ class RV32BoomAndRocketConfig extends Config( new freechips.rocketchip.subsystem.WithRV32 ++ new freechips.rocketchip.subsystem.WithNBigCores(1) ++ new freechips.rocketchip.system.BaseConfig) + +class RocketL2Config extends Config( + new WithInclusiveCache ++ new DefaultRocketConfig) + +class BoomL2Config extends Config( + new WithInclusiveCache ++ new SmallDefaultBoomConfig) + +class DualCoreRocketL2Config extends Config( + new WithInclusiveCache ++ new DualCoreRocketConfig) diff --git a/generators/sifive-cache b/generators/sifive-cache new file mode 160000 index 00000000..13d0c2f1 --- /dev/null +++ b/generators/sifive-cache @@ -0,0 +1 @@ +Subproject commit 13d0c2f17853a658ae86eae793718c71ac82dddf