Disable mlu decoding on taken branches

- Use this approach instead of masking, to account for branch prediction
  and serialization

Fix: 295921340
Change-Id: Ia703e5a79f7768cc5ab9b24edf3197b6f848d9fe
4 files changed
tree: 8c80c7a4cf98d3cf20390e0e329888bfdef5eaf5
  1. external/
  2. hdl/
  3. lib/
  4. rules/
  5. tests/
  6. utils/
  7. .bazelrc
  8. .gitignore
  9. PREUPLOAD.cfg
  10. README.md


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


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: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