Import of kelvin-sim using copybara.

Included changes:

  - 812935805 Add ELF program loading to Kelvin cosim DPI. by Shodan Team <no-reply@google.com>
  - 812914930 BEGIN_PUBLIC by Shodan Team <no-reply@google.com>
  - 812914256 Copybara change to remove absl_nonnull and absl_nullable ... by Shodan Team <no-reply@google.com>
  - 811428631 Update copybara to correctly format BUILD files with exte... by Shodan Team <no-reply@google.com>
  - 807862159 Update MPACT-RiscV to latest GH version. by Shodan Team <no-reply@google.com>
  - 805040233 BEGIN_PUBLIC by Shodan Team <no-reply@google.com>
  - 804932065 BEGIN_PUBLIC by Shodan Team <no-reply@google.com>
  - 804640536 BEGIN_PUBLIC by Shodan Team <no-reply@google.com>
  - 800990917 BEGIN_PUBLIC by Shodan Team <no-reply@google.com>
  - 799665499 BEGIN_PUBLIC by Shodan Team <no-reply@google.com>
  - 794735862 Remove protobuf dependency for external GoB setup by Shodan Team <no-reply@google.com>

PiperOrigin-RevId: 812935805
Change-Id: Id034c56599a34e5411d92caad09c755f00623f95
17 files changed
tree: 72295d4c926ac973fe061bd14d002bdcf9c7bad4
  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