commit | 4779c1da9c661c2974451969c60b7acb28348068 | [log] [tgz] |
---|---|---|
author | Yenkai Wang <ykwang@google.com> | Tue Jul 22 18:51:19 2025 -0600 |
committer | Yenkai Wang <ykwang@google.com> | Wed Jul 30 12:12:42 2025 -0700 |
tree | 6588fc73ad86b4477dc0c25ce691166a581c755e | |
parent | a48057d149e6c5c22f11dd62e728155c68a9c04f [diff] |
[dv, cosim] Enable lock-step PC and GPR verification with MPACT-Sim Implements the full end-to-end co-simulation comparison for scalar instructions (PC and GPRs). The `kelvin_cosim_checker` in UVM is to: - Call the DPI functions to get the golden state from the simulator. - Compare the retired PC and GPR writeback data from the DUT's RVVI trace against the MPACT-Sim state. - Report `COSIM_PC_MISMATCH` or `COSIM_GPR_MISMATCH` upon failure. Change-Id: I5d7f02c6d347b4308bc4ea8a38f08ce2407659e0
Kelvin is a RISC-V32IM core with a custom instruction set.
More information on the design can be found in the overview.
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