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.
For trace generation we currently use
spike-dasm
to dissassemble single instructions from core log files. The problem withspike-dasm
is that is an external executable, that needs to be maintained by us. For instance, new instructions need to be added manually tospike-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 byllvm-mc
and don't have to be added manually to the dissasembler as before.