Merge pull request #128 from ucb-bar/dev-L2

Add SiFive InclusiveCache
This commit is contained in:
Abraham Gonzalez
2019-07-03 15:26:58 -07:00
committed by GitHub
6 changed files with 23 additions and 5 deletions

3
.gitmodules vendored
View File

@@ -37,3 +37,6 @@
[submodule "generators/icenet"] [submodule "generators/icenet"]
path = generators/icenet path = generators/icenet
url = https://github.com/firesim/icenet.git 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

View File

@@ -81,7 +81,7 @@ lazy val testchipip = (project in file("generators/testchipip"))
.settings(commonSettings) .settings(commonSettings)
lazy val example = conditionalDependsOn(project in file("generators/example")) lazy val example = conditionalDependsOn(project in file("generators/example"))
.dependsOn(boom, hwacha, sifive_blocks) .dependsOn(boom, hwacha, sifive_blocks, sifive_cache)
.settings(commonSettings) .settings(commonSettings)
lazy val utilities = conditionalDependsOn(project in file("generators/utilities")) 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) .dependsOn(rocketchip)
.settings(commonSettings) .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 // Library components of FireSim
lazy val midas = ProjectRef(firesimDir, "midas") lazy val midas = ProjectRef(firesimDir, "midas")
lazy val firesimLib = ProjectRef(firesimDir, "firesimLib") lazy val firesimLib = ProjectRef(firesimDir, "firesimLib")
lazy val firechip = (project in file("generators/firechip")) 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( .settings(
commonSettings, commonSettings,
testGrouping in Test := isolateAllTests( (definedTests in Test).value ) testGrouping in Test := isolateAllTests( (definedTests in Test).value )

View File

@@ -8,7 +8,7 @@ SHELL=/bin/bash
######################################################################################### #########################################################################################
lookup_scala_srcs = $(shell find -L $(1)/ -iname "*.scala" 2> /dev/null) 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) $(addprefix sims/firesim/sim/, . firesim-lib midas midas/targetutils)
SCALA_SOURCES=$(foreach pkg,$(PACKAGES),$(call lookup_scala_srcs,$(base_dir)/$(pkg)/src/main/scala)) SCALA_SOURCES=$(foreach pkg,$(PACKAGES),$(call lookup_scala_srcs,$(base_dir)/$(pkg)/src/main/scala))

View File

@@ -3,7 +3,7 @@ package example
import chisel3._ import chisel3._
import freechips.rocketchip.config.{Config} 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._ import testchipip._
@@ -62,6 +62,9 @@ class GB1MemoryConfig extends Config(
new WithExtMemSize((1<<30) * 1L) ++ new WithExtMemSize((1<<30) * 1L) ++
new DefaultRocketConfig) new DefaultRocketConfig)
class RocketL2Config extends Config(
new WithInclusiveCache ++ new DefaultRocketConfig)
// ------------ // ------------
// BOOM Configs // BOOM Configs
// ------------ // ------------
@@ -142,6 +145,9 @@ class RV32UnifiedBoomConfig extends Config(
new WithBootROM ++ new WithBootROM ++
new boom.system.SmallRV32UnifiedBoomConfig) new boom.system.SmallRV32UnifiedBoomConfig)
class BoomL2Config extends Config(
new WithInclusiveCache ++ new SmallDefaultBoomConfig)
// --------------------- // ---------------------
// BOOM and Rocket Configs // BOOM and Rocket Configs
// --------------------- // ---------------------
@@ -247,3 +253,6 @@ class RV32BoomAndRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithRV32 ++ new freechips.rocketchip.subsystem.WithRV32 ++
new freechips.rocketchip.subsystem.WithNBigCores(1) ++ new freechips.rocketchip.subsystem.WithNBigCores(1) ++
new freechips.rocketchip.system.BaseConfig) new freechips.rocketchip.system.BaseConfig)
class DualCoreRocketL2Config extends Config(
new WithInclusiveCache ++ new DualCoreRocketConfig)