Kelvin HW design

Clone this repo:
  1. faeb564 Add vstart check for additional instructions by David Gao · 4 days ago master
  2. 88b0bbd feat(soc): Add Spi2TLUL bridge and tests by Alex Van Damme · 6 days ago
  3. a9ce01c Add vtype CSR. by Derek Chow · 4 days ago
  4. 8f96ae7 Update rvv_idle signal to include frontend and fix mpause dispatch. by Derek Chow · 5 days ago
  5. 7e33217 fix(cocotb): Correct decorator syntax in debug test by Alex Van Damme · 6 days ago

Kelvin

Kelvin is a RISC-V32IM core with a custom instruction set.

Kelvin block diagram

More information on the design can be found in the overview.

Getting Started

  • If you are hardware engineer looking to integrate Kelvin into your design, check out our integration guide.
  • If you are a software engineer looking to write code for Kelvin, start with this tutorial.

Building

Kelvin uses bazel as it's build system. The Verilated simulator for Kelvin can be generated using:

bazel build //tests/verilator_sim:core_sim

The verilog source for the Kelvin core can be generated using:

bazel build //hdl/chisel/src/kelvin:core_cc_library_emit_verilog

Verilog source for the Matcha SoC can be generated using:

bazel clean --expunge  # To generate the ToT sha
bazel build //hdl/chisel:matcha_kelvin_verilog