Import of kelvin-sim using copybara.

Included changes:

  - 738578412 Enable all of ZBB in Kelvin, extend test by atv <atv@google.com>
  - 720423411 Used header <tuple> is not included directly by Shodan Team <no-reply@google.com>
  - 706362345 LSC: Replace loads for cc_proto_library by Shodan Team <no-reply@google.com>
  - 691434161 LSC: Add load statements for Proto rules by Shodan Team <no-reply@google.com>
  - 689681067 Fix 4 DeadCode findings: by Shodan Team <no-reply@google.com>

PiperOrigin-RevId: 738578412
Change-Id: I02f5c9cd8a78b0cb6da1335bfe0f2cca32b3b948
8 files changed
tree: 03c2650aefd6560a27366fdb677603941acd5eb4
  1. sim/
  2. .bazelrc
  3. .bazelversion
  4. .gitignore
  5. BUILD
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
  9. WORKSPACE
README.md

Kelvin Instruction Simulator

This project contains the instruction simulator of Kelvin ML core based on MPACT-Sim and MPACT-RiscV. The simulator supports RISC-V 32im configuration + Kelvin-specific SIMD instructions. Please review ISA Spec for more detail

Project structure

sim         Simulator implementations
  |
  ˪ proto   Trace dump protobuf definition.
  |
  ˪ renode  Renode(https://github.com/renode/renode) integration interface
  |
  ˪ test    Simulated instruction / Framework function unit tests

Build simulator

To build all targets, run

bazel build //...

Specifically, the simulator standalone binary can be built with

bazel build //sim:kelvin_sim