Import of kelvin-sim using copybara.

Included changes:

  - 791543651 Migrate to string_view accessors by Shodan Team <no-reply@google.com>
  - 791439340 Add a DPI wrapper of kelvin_v2 sim. by Shodan Team <no-reply@google.com>
  - 775102978 Fix 1 ClangTidyReadability finding: by Shodan Team <no-reply@google.com>
  - 741099598 LSC: Add load statements for C++ rules by Shodan Team <no-reply@google.com>
  - 740168451 Used header <cstdint> is not included directly by Shodan Team <no-reply@google.com>

PiperOrigin-RevId: 791543651
Change-Id: Ia88827fab81a9d75516964c7553adb8603344c8d
49 files changed
tree: 6cc406fc32017d835a42d359c851c4f0e72a252e
  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