Kelvin HW design

Clone this repo:
  1. 02aec82 Don't decode float load/stores in RvvCompressedInstruction. by Derek Chow · 15 hours ago master
  2. 0896dcb Add pytest to cocotb by Alex Van Damme · 2 days ago
  3. db656dd Exit cocotb with failure if a test fails by Alex Van Damme · 2 days ago
  4. 63029c7 Fix logic error after instruction removal by Alex Van Damme · 2 days ago
  5. 10950b0 Remove EEXIT, ECTXSW, EYIELD by Alex Van Damme · 2 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