allow rocket builds | asm tests pass
This commit is contained in:
12
build.sbt
12
build.sbt
@@ -24,10 +24,14 @@ lazy val rebarFirrtl = (project in file("tools/firrtl"))
|
|||||||
|
|
||||||
lazy val rocketchip = RootProject(file("generators/rocket-chip"))
|
lazy val rocketchip = RootProject(file("generators/rocket-chip"))
|
||||||
|
|
||||||
lazy val testchipip = (project in file("generators/testchipip"))
|
lazy val rebarrocketchip = project
|
||||||
.dependsOn(rocketchip)
|
.dependsOn(rocketchip)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
|
lazy val testchipip = (project in file("generators/testchipip"))
|
||||||
|
.dependsOn(rebarrocketchip)
|
||||||
|
.settings(commonSettings)
|
||||||
|
|
||||||
// Checks for -DROCKET_USE_MAVEN.
|
// Checks for -DROCKET_USE_MAVEN.
|
||||||
// If it's there, use a maven dependency.
|
// If it's there, use a maven dependency.
|
||||||
// Else, depend on subprojects in git submodules.
|
// Else, depend on subprojects in git submodules.
|
||||||
@@ -46,7 +50,7 @@ lazy val example = conditionalDependsOn(project in file("."))
|
|||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val boom = (project in file("generators/boom"))
|
lazy val boom = (project in file("generators/boom"))
|
||||||
.dependsOn(rocketchip)
|
.dependsOn(rebarrocketchip)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val tapeout = conditionalDependsOn(project in file("./tools/barstools/tapeout/"))
|
lazy val tapeout = conditionalDependsOn(project in file("./tools/barstools/tapeout/"))
|
||||||
@@ -57,10 +61,10 @@ lazy val mdf = (project in file("./tools/barstools/mdf/scalalib/"))
|
|||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val `barstools-macros` = (project in file("./tools/barstools/macros/"))
|
lazy val `barstools-macros` = (project in file("./tools/barstools/macros/"))
|
||||||
.dependsOn(mdf, rocketchip, rebarFirrtl)
|
.dependsOn(mdf, rebarrocketchip, rebarFirrtl)
|
||||||
.enablePlugins(sbtassembly.AssemblyPlugin)
|
.enablePlugins(sbtassembly.AssemblyPlugin)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val sifive_blocks = (project in file("generators/sifive-blocks"))
|
lazy val sifive_blocks = (project in file("generators/sifive-blocks"))
|
||||||
.dependsOn(rocketchip)
|
.dependsOn(rebarrocketchip)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ object GenerateSimFiles extends App with HasGenerateSimConfig {
|
|||||||
firrtl.FileUtils.makeDirectory("./bootrom/")
|
firrtl.FileUtils.makeDirectory("./bootrom/")
|
||||||
writeResource("/testchipip/bootrom/bootrom.rv64.img", "./bootrom/")
|
writeResource("/testchipip/bootrom/bootrom.rv64.img", "./bootrom/")
|
||||||
writeResource("/testchipip/bootrom/bootrom.rv32.img", "./bootrom/")
|
writeResource("/testchipip/bootrom/bootrom.rv32.img", "./bootrom/")
|
||||||
|
writeResource("/project-template/bootrom/bootrom.img", "./bootrom/")
|
||||||
}
|
}
|
||||||
|
|
||||||
def writeFiles(cfg: GenerateSimConfig): Unit = {
|
def writeFiles(cfg: GenerateSimConfig): Unit = {
|
||||||
|
|||||||
14
variables.mk
14
variables.mk
@@ -42,6 +42,15 @@ ifeq ($(SUB_PROJECT),boom)
|
|||||||
SBT_PROJECT=boom
|
SBT_PROJECT=boom
|
||||||
TOP=ExampleBoomSystem
|
TOP=ExampleBoomSystem
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(SUB_PROJECT),rocketchip)
|
||||||
|
# for Rocket-chip developers
|
||||||
|
PROJECT=freechips.rocketchip.system
|
||||||
|
MODEL=TestHarness
|
||||||
|
CONFIG=DefaultConfig
|
||||||
|
CFG_PROJECT=freechips.rocketchip.system
|
||||||
|
SBT_PROJECT=rebarrocketchip
|
||||||
|
TOP=ExampleRocketSystem
|
||||||
|
endif
|
||||||
|
|
||||||
#########################################################################################
|
#########################################################################################
|
||||||
# path to rocket-chip and testchipip
|
# path to rocket-chip and testchipip
|
||||||
@@ -55,6 +64,11 @@ REBAR_FIRRTL_DIR = $(base_dir)/tools/firrtl
|
|||||||
#########################################################################################
|
#########################################################################################
|
||||||
long_name = $(PROJECT).$(MODEL).$(CONFIG)
|
long_name = $(PROJECT).$(MODEL).$(CONFIG)
|
||||||
|
|
||||||
|
# if building from rocketchip, override the long_name to match what they expect
|
||||||
|
ifeq ($(SBT_PROJECT),rebarrocketchip)
|
||||||
|
long_name=$(PROJECT).$(CONFIG)
|
||||||
|
endif
|
||||||
|
|
||||||
FIRRTL_FILE ?= $(build_dir)/$(long_name).fir
|
FIRRTL_FILE ?= $(build_dir)/$(long_name).fir
|
||||||
ANNO_FILE ?= $(build_dir)/$(long_name).anno.json
|
ANNO_FILE ?= $(build_dir)/$(long_name).anno.json
|
||||||
VERILOG_FILE ?= $(build_dir)/$(long_name).top.v
|
VERILOG_FILE ?= $(build_dir)/$(long_name).top.v
|
||||||
|
|||||||
Reference in New Issue
Block a user