Kelvin HW design

Clone this repo:
  1. 3208be0 Add notes on reset to integration guide by Alex Van Damme · 10 hours ago master
  2. 0194b75 Allow LSU to choose where to read based on addr by Alex Van Damme · 12 days ago
  3. 1c788bd Add Sign and Zero extension to ALU by Stefan Hall · 8 days ago
  4. 22feac5 Change CoreAxi + renode to active-low reset by Alex Van Damme · 2 days ago
  5. 5247b3f Actually write to CSRs based on writeAddr 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.

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