1
0

updates to README

This commit is contained in:
Yunsup Lee 2014-10-07 02:05:20 -07:00
parent 702ddabe26
commit 91f211f766

View File

@ -19,8 +19,11 @@ the RISC-V Rocket Core.
### Checkout The Code ### Checkout The Code
$ git clone https://github.com/ucb-bar/rocket-chip.git
$ cd rocket-chip
$ git submodule update --init $ git submodule update --init
$ git submodule update --init riscv-tools/riscv-tests $ cd riscv-tools
$ git submodule update --init --recursive riscv-tests
### Setting up the RISCV environment variable ### Setting up the RISCV environment variable
@ -225,9 +228,10 @@ points to the rocket-chip repository.
$ git clone https://github.com/ucb-bar/rocket-chip.git $ git clone https://github.com/ucb-bar/rocket-chip.git
$ cd rocket-chip $ cd rocket-chip
$ git submodule update --init
$ git submodule update --init riscv-tools/riscv-tests
$ export ROCKETCHIP=`pwd` $ export ROCKETCHIP=`pwd`
$ git submodule update --init
$ cd riscv-tools
$ git submodule update --init --recursive riscv-tests
Before going any further, you must point the RISCV environment variable Before going any further, you must point the RISCV environment variable
to your riscv-tools installation directory. If you do not yet have to your riscv-tools installation directory. If you do not yet have
@ -255,6 +259,22 @@ assembly tests and benchmarks, and run both tests and benchmarks on the
emulator. If make finished without any errors, it means that the emulator. If make finished without any errors, it means that the
generated Rocket chip has passed all assembly tests and benchmarks! generated Rocket chip has passed all assembly tests and benchmarks!
You can also run assembly tests and benchmarks separately:
$ make -jN run-asm-tests
$ make -jN run-bmarks-tests
To generate vcd waveforms, you can run on of the following commands:
$ make -jN run-debug
$ make -jN run-asm-tests-debug
$ make -jN run-bmarks-tests-debug
Or call out individual assembly tests or benchmarks:
$ make output/rv64ui-p-add.out
$ make output/rv64ui-p-add.vcd
Now take a look in the emulator/generated-src directory. You will find Now take a look in the emulator/generated-src directory. You will find
Chisel generated C++ code. Chisel generated C++ code.
@ -388,14 +408,19 @@ DefaultVLSIConfig and DefaultCPPConfig, you will see that currently both
are set to be identical to DefaultConfig. are set to be identical to DefaultConfig.
Further down, you will be able to see two FPGA configurations: Further down, you will be able to see two FPGA configurations:
FPGAConfig and FPGASmallConfig. FPGAConfig inherits from DefaultConfig, DefaultFPGAConfig and DefaultFPGASmallConfig. DefaultFPGAConfig inherits from
but overrides the low-performance memory port (i.e., backup memory port) DefaultConfig, but overrides the low-performance memory port (i.e., backup
to be turned off. This is because the high-performance memory port is memory port) to be turned off. This is because the high-performance memory
directly connected to the high-performance AXI interface on the ZYNQ port is directly connected to the high-performance AXI interface on the ZYNQ
FPGA. FPGASmallConfig inherits from FPGAConfig, but changes the cache FPGA. DefaultFPGASmallConfig inherits from DefaultFPGAConfig, but changes the
sizes, disables the FPU, turns off the fast early-out multiplier and cache sizes, disables the FPU, turns off the fast early-out multiplier and
divider, and reduces the number of TLB entries. This small configuration divider, and reduces the number of TLB entries (all defined in SmallConfig).
is used for the Zybo FPGA board, which has the smallest ZYNQ part. This small configuration is used for the Zybo FPGA board, which has the
smallest ZYNQ part.
Towards the end, you can also find that ExampleSmallConfig inherits all
parameters from DefaultConfig but overrides the same parameters of
SmallConfig.
Now take a look at fsim/Makefile and vsim/Makefile. Search for the Now take a look at fsim/Makefile and vsim/Makefile. Search for the
CONFIG variable. DefaultFPGAConfig is used for the FPGA build, while CONFIG variable. DefaultFPGAConfig is used for the FPGA build, while
@ -403,12 +428,12 @@ DefaultVLSIConfig is used for the VLSI build. You can also change the
CONFIG variable on the make command line: CONFIG variable on the make command line:
$ cd $ROCKETCHIP/vsim $ cd $ROCKETCHIP/vsim
$ make -jN CONFIG=DefaultFPGAConfig run $ make -jN CONFIG=ExampleSmallConfig run-asm-tests
Or, even by defining CONFIG as an environment variable: Or, even by defining CONFIG as an environment variable:
$ export CONFIG=DefaultFPGAConfig $ export CONFIG=ExampleSmallConfig
$ make -jN run $ make -jN run-asm-tests
This parameterization is one of the many strengths of processor This parameterization is one of the many strengths of processor
generators written in Chisel, and will be more detailed in a future blog generators written in Chisel, and will be more detailed in a future blog