Skip to content

SingularityKChen/NUCPU

Repository files navigation

NUCPU

Introduction

This is an RISC-V 64I inorder toy CPU in Chisel which is built via mill.

Environment

IDE support

For mill use

mill mill.bsp.BSP/install

then open by Intellij IDEA.

Build Tests

CPU-Test and AM-Test

We wrote several Scala functions to read the binary file as the sequencer of CPU-Test. To execute the Chisel tests or DiffTest Framework, you need to build the binary files firstly:

cd ./AM/am-kernels/tests/cpu-tests
make ARCH=riscv64-mycpu

Also, the AM Test:

cd ./AM/am-kernels/tests/am-tests
make ARCH=riscv64-mycpu

Nintendo Entertainment System Mario

cd ./AM/fceux-am/
make ARCH=riscv64-mycpu mainargs=mario

DiffTest Framework based on NEMU

This RISC-V CPU also is connected to DiffTest Framework to verify the function.

To use is, compile the NEMU firstly:

make -C dependencies/difftest emu

Then use the binary file xxx.bin:

./build/emu -i xxx.bin

Project Structure

RTL

  • difftestSim
  • nucpu
  • axi

Testers

  • nucpu.testers
  • axi.testers

Architecture

About

A toy in-order RV64I CPU.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •