Search code examples
vectoremulationsimdriscv

RISC-V emulator with Vector Extension support


Where can I find a RISC-V emulator that supports the "V" Vector Extension?

I know that the current specification version 0.8 is a draft:

This is a draft of a stable proposal for the vector specification to be used for implementation and evaluation. Once the draft label is removed, version 0.8 is intended to be stable enough to begin developing toolchains, functional simulators, and initial implementations, though will continue to evolve with minor changes and updates.

But perhaps there is already some initial support in some emulator.


Solution

  • The RISC-V spec suggests riscvOVPsim

    A Complete, Fully Functional, Configurable RISC-V Simulator

    ...

    RISC-V Specifications currently supported:
    ...
    RISC-V Instruction Set Manual, RISC-V "V" Vector Extension (with version configurable in the model using the 'vector_version' parameter. 'master' version conforms to specification changes up to 14 December 2019 and is regularly updated to track the evolving specification.)


    There's also RISCV-V V extension simulator but it supports an older version of the vector extension

    RISC-V vector extension v0.7 (base) simulator implemented in C++.