Update README | add shortcut to build boom
This commit is contained in:
parent
885c5f74db
commit
e71bf2139f
22
README.md
22
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
**THIS BRANCH IS UNDER DEVELOPMENT**
|
||||
**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
|
||||
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
|
||||
* 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
|
||||
|
||||
The default example project just provides the Rocket coreplex, memory, and
|
||||
|
|
10
variables.mk
10
variables.mk
|
@ -12,6 +12,9 @@
|
|||
# SBT_PROJECT = the SBT project that you should find the Generator class in
|
||||
# TB = wrapper over the TestHarness needed to simulate in VCS
|
||||
# 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
|
||||
MODEL ?= TestHarness
|
||||
|
@ -21,6 +24,13 @@ SBT_PROJECT ?= $(PROJECT)
|
|||
TB ?= TestDriver
|
||||
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
|
||||
#########################################################################################
|
||||
|
|
Loading…
Reference in New Issue