Import of kelvin-sim using copybara.

Included changes:

  - 678377290 BEGIN_PUBLIC by atv <atv@google.com>
  - 672961212 Fix kelvin instrution bin_fmt by hcindyl <hcindyl@google.com>
  - 672960925 Update MPACT-RiscV to latest GH version. by hcindyl <hcindyl@google.com>
  - 671861339 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 667625877 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 664876757 Update copybara flow to create squashed gerrit CL by hcindyl <hcindyl@google.com>
  - 663874941 Update GoB build setting by hcindyl <hcindyl@google.com>
  - 660101382 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 643345868 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 643133613 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 642055439 Fixes failure in Kelvin due to inclusion of minstret[h] i... by torerik <torerik@google.com>
  - 640964667 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 639096497 BEGIN_PUBLIC by torerik <torerik@google.com>
  - 635590378 Updates implementation of breakpoints to build upon a new... by torerik <torerik@google.com>
  - 635251467 Upgrade to the latest protobuf edition by Shodan Team <no-reply@google.com>
  - 633566852 Adds explicit include of type_helpers. Must not rely on i... by torerik <torerik@google.com>
  - 632296711 Adjusted code due to debug command shell interface refact... by torerik <torerik@google.com>
  - 632101965 Fix 9 AbslSpanParams findings: by Shodan Team <no-reply@google.com>

PiperOrigin-RevId: 678377290
Change-Id: I351d908940387cbd1f1aaaa72211285fe7a020fc
28 files changed
tree: 1fb5c8093cba0675fe22e768b38328822b3864c5
  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