Update README | add shortcut to build boom

This commit is contained in:
abejgonzalez 2019-04-17 17:52:31 -07:00
parent 885c5f74db
commit e71bf2139f
2 changed files with 31 additions and 1 deletions

View File

@ -2,7 +2,7 @@
**THIS BRANCH IS UNDER DEVELOPMENT** **THIS BRANCH IS UNDER DEVELOPMENT**
**IT CURRENTLY HAS MANY SUBMODULES** **IT CURRENTLY HAS MANY SUBMODULES**
**PLEASE RUN ./build.sh TO UPDATE SUBMODULES, UNLESS YOU WANT TO SPEND A LONG TIME WAITING FOR SUBMODULE TO CLONE** **PLEASE RUN ./scripts/init-submodules-no-riscv-tools.sh TO UPDATE SUBMODULES, UNLESS YOU WANT TO SPEND A LONG TIME WAITING FOR SUBMODULE TO CLONE**
This is a starter template for your custom RISC-V project. It will allow you This is a starter template for your custom RISC-V project. It will allow you
to leverage the Chisel HDL and RocketChip SoC generator to produce a to leverage the Chisel HDL and RocketChip SoC generator to produce a
@ -62,6 +62,26 @@ follows.
* bootrom - sources for the first-stage bootloader included in the Boot ROM * bootrom - sources for the first-stage bootloader included in the Boot ROM
* src/main/scala - scala source files for your project go here * src/main/scala - scala source files for your project go here
## For submodule developers
Depending on the submodule that you develop in, you might want to run things out of the submodule.
For example, `boom` has its own Generator, package, top module, and configurations separate from
the `example` package in `src/main/scala`. Thus, to build a `boom` project you do something like
the following:
make SBT_PROJECT=boom PROJECT=boom.system CONFIG=<BOOM Config to use> TOP=ExampleBoomSystem
However, that is very long to write everytime there is a compile. Thus, a shorthand way to build
the subproject is the following:
make SUB_PROJECT=boom CONFIG=<BOOM Config to use>
This sets the proper configuration flags for make to work correctly.
Currently, the supported `SUB_PROJECT` flags are:
* boom - to build and run `boom` subproject configurations
## Using the block device ## Using the block device
The default example project just provides the Rocket coreplex, memory, and The default example project just provides the Rocket coreplex, memory, and

View File

@ -12,6 +12,9 @@
# SBT_PROJECT = the SBT project that you should find the Generator class in # SBT_PROJECT = the SBT project that you should find the Generator class in
# TB = wrapper over the TestHarness needed to simulate in VCS # TB = wrapper over the TestHarness needed to simulate in VCS
# TOP = top level module of the project (normally the module instantiated by the harness) # TOP = top level module of the project (normally the module instantiated by the harness)
#
# project specific:
# SUB_PROJECT = use the specific subproject default variables
######################################################################################### #########################################################################################
PROJECT ?= example PROJECT ?= example
MODEL ?= TestHarness MODEL ?= TestHarness
@ -21,6 +24,13 @@ SBT_PROJECT ?= $(PROJECT)
TB ?= TestDriver TB ?= TestDriver
TOP ?= ExampleTop TOP ?= ExampleTop
SUB_PROJECT ?= example
ifeq ($(SUB_PROJECT),boom) # make it so that you only change 1 param to change them all!
SBT_PROJECT=boom
PROJECT=boom.system
TOP=ExampleBoomSystem
endif
######################################################################################### #########################################################################################
# path to rocket-chip and testchipip # path to rocket-chip and testchipip
######################################################################################### #########################################################################################