cva6 icon indicating copy to clipboard operation
cva6 copied to clipboard

Modifying the selected ISA extensions

Open ellial opened this issue 5 months ago • 1 comments

I'd like to modify the selected extensions, but they seem to be referenced in multiple files. Could you clarify if there is a script that we can use for this? If not, could you point to the proper files to modify the selected ISA extensions without breaking the build?

ellial avatar Jun 18 '25 16:06 ellial

Hi @ellial,

If you'd like to work with the cv32a6_imac_sv32 configuration (which uses the standard write-through cache), you can directly run the corresponding regression script:

./verif/regress/smoke-tests-cv32a6_imac_sv32.sh

This script executes smoke tests using --target cv32a6_imac_sv32. The associated configuration file is:

core/include/cv32a6_imac_sv32_config_pkg.sv

To use it, make sure to set up the environment as follows:

export CVA6=${PWD}
cd ../RISCV              # Points to the local directory where the toolchain is installed
export RISCV=${PWD}
cd $CVA6
export TRACE_FAST=1
export DV_SIMULATORS=veri-testharness,spike
export TARGET=cv32a6_imac_sv32

./verif/regress/smoke-tests-cv32a6_imac_sv32.sh

If you'd rather work with a 64-bit configuration like cv64a6_imac_sv39 (which also uses the standard write-through cache), note that this configuration package doesn't exist by default.

You can adapt the existing cv64a6_imafdc_sv39_config_pkg.sv by disabling the unused floating-point extensions (F and D) to match the RV64IMAC ISA:

localparam CVA6ConfigRVF = 0;
localparam CVA6ConfigRVD = 0;

Once modified, you can run:

./verif/regress/smoke-tests-cv64a6_imafdc_sv39.sh

This script already references the configuration package you just edited.


You may also create a dedicated configuration file for each new variant you'd like to test. If you plan to run RV64IMAC compliance tests, be sure to create the test list file accordingly:

verif/tests/testlist_riscv-compliance-cv64a6_imafdc_sv39.yaml

Remove any tests that require the F (single-precision float) and D (double-precision float) extensions, since they're not supported in an IMAC-only setup.

Let me know if you'd like help creating a new config or customizing a test list.

Bill94l avatar Jun 19 '25 12:06 Bill94l

👋 Hi there!

This issue seems inactive. Need more help? Feel free to update us. If there are no updates within the next few days, we'll go ahead and close this issue. 😊

github-actions[bot] avatar Jul 20 '25 02:07 github-actions[bot]