riscv-admin/riscv-ovpsim

Vector extension support

sampleserver opened this issue · 3 comments

Not sure if this is the right place to ask so sorry if this is wasting your time. I have read on multiple websites that there now exists a vector extension 1.0 draft, such as this quote from some website: 'The test suite can be generated for any of the recent published draft specifications including 0.8, 0.9, 1.0draft'. I was unable to find such a 1.0 draft. Being that the website claimed riscvovpsim supports this 1.0 draft, I was wondering if you can provide more information on the vector extension, such as if it really has a 1.0 draft (and, if true, where to find it), and if riscv-ovpsim supports it. For clarity, https://github.com/riscv/riscv-v-spec states: 'Working draft of the proposed RISC-V V vector extension. For the current stable release, v0.9, click here.' with no mention of a 1.0 draft.

Thank you

Thank you for your question.

Imperas generate our directed architectural validation test suites for the ratified RV32/64 I,M,C using the ratified specification versions and they are included in the OVPworld downloads of riscvOVPsim.

For the B-bitmanip and K-crypto(scalar) specs the Imperas test suites tests track the versions and the latest version is the one that is available.

For the vector test suites (over 5,000 tests) we make one config of v0.8 available for free as source from OVPworld site. Our generator creates this 0.8 version and can create one in any legal variation of vector engine configurations (xlen, vlen, slen, elen).

The generator also can select which vector version - 0.8, 0.9 or 1.0draft. So whichever version you are using in your RTL we can generate the full test suite for it. We have several customers using these suites as part of their architectural validation.

With regard to specific vector spec versions. As you say - the latest stable release is 0.9 - the current docs in https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc list the changes from 0.9 and they are under review as the 1.0draft - it is that document that is being updated with all the changes approved in the working group - and it will become the 1.0 spec when it goes for ratification.

Imperas tools like the free riscvOVPsimPlus, the built-in instruction functional coverage, and the customer specific vector engine test suites - all track the latest changes to the 1.0draft specification.

thanks
Simon
Imperas Software (developers of the free riscvOVPsim reference simulators)

Please see Section1.6 of OVP_Model_Specific_Information_riscv_RV64GCV.pdf for detailed info about exactly what each vector version selection in riscvOVPsim models, including the specific commit in the riscv-v-spec repository.

The "master" version in riscvOVPsim refers to the latest spec version that is modeled (usually not a stable version), which may currently be thought of as a 1.0 draft version.

Thanks! This answers my question fully.