![]() |
||
---|---|---|
.github/workflows | ||
abstract-machine | ||
docs | ||
fpga | ||
nanos-lite | ||
navy-apps | ||
nemu | ||
nsim | ||
rtl_scala | ||
rtl_sv | ||
.gitignore | ||
Dockerfile | ||
Makefile | ||
README.md | ||
env.sh | ||
setup.sh |
README.md
Raptor Project
New Processor Core (NPC) with RISC-V
ISA. Hardware generation is done using SystemVerilog
and Chisel
(Scala
).
Candidate ip core name: raptor-0.1.0-falcon
(rt-f
).
Microarchitecture
Build Setup
Suggest install tmux
for better terminal management. [surfer
]1 for wave viewer. [colima
]2 for Linux container.
./setup.sh
# Optional: install espresso if you need
wget https://github.com/chipsalliance/espresso/releases/download/v2.4/arm64-apple-macos11-espresso
Build and Run
# 0. environment variables at project root directory
source ./env.sh
# 1. build and run NEMU
cd $NEMU_HOME && make riscv32_linux_defconfig && make && make run
# 2. build and run NPC
cd $NSIM_HOME/ssrc && make verilog
cd $NSIM_HOME && make menuconfig && make ARCH=riscv32e-npc run
# 3. build and run the program you want
## n. running nanos-lite on nemu
cd $NAVY_HOME && make ISA=$ISA fsimg
cd $NAVY_HOME/apps/menu && make ISA=$ISA install
cd $YSYX_HOME/nanos-lite && make ARCH=$ISA-nemu update run
cd $YSYX_HOME/nanos-lite && make ARCH=$ISA-nemu run
## n.vme running nanos-lite on nemu with VME
cd $YSYX_HOME/nanos-lite && make ARCH=$ISA-nemu update run FLAGS="-b" VME=1
## n+1. running busybox on nemu (Linux required)
cd $NAVY_HOME/apps/busybox && colima ssh # login to Linux container
make ARCH=riscv32-nemu install
## 2n. running microbench/coremark on npc
cd $YSYX_HOME/am-kernels/benchmarks/coremark && \
make ARCH=riscv32e-npc run FLAGS="-b -n"
cd $YSYX_HOME/am-kernels/benchmarks/microbench && \
make ARCH=riscv32e-npc run FLAGS="-b -n"
# FLAGS="-b -n" is optional, -b is for batch mode, -n is for no wave trace
## fpga. running on gowin-tang-nano-20k
### follow `fpga/gowin-tang-nano-20k/README.md`
## package all sv files into one
cd nsim && make pack
Run OpenSBI & Linux Kernel
See Linux Kernel