pulp-platform / snitch_cluster

An energy-efficient RISC-V floating-point compute cluster.
https://pulp-platform.github.io/snitch_cluster/
Apache License 2.0
48 stars 46 forks source link

util: Replace `spike-dasm` in favor of `llvm-mc` #187

Closed fischeti closed 2 weeks ago

fischeti commented 2 weeks ago

For trace generation we currently use spike-dasm to dissassemble single instructions from core log files. The problem with spike-dasm is that is an external executable, that needs to be maintained by us. For instance, new instructions need to be added manually to spike-dasm for decoding.

The better alternative is llvm-mc which is a CLI tool that is compiled alongside LLVM. This means all our custom ISA extensions supported by the LLVM toolchain are also automatically supported by llvm-mc and don't have to be added manually to the dissasembler as before.