[BUG] Riscv-dv and cva6 file lists have cyclic dependency
Created by: CoralieAllioux
Is there an existing CVA6 bug for this?
-
I have searched the existing bug issues
Bug Description
We are currently porting the verification to be compliant with Cadence Xcelium simulator. The objective is to use the current verification flow and adapt it, to add the Cadence simulator. This issue concerns the test cva6/verif/regress/smoke_gen-test.sh.
To build riscv-dv tb, there are two file lists:
- cva6/verif/env/corev-dv/cva6-files.f
- cva6/verif/sim/dv/files.f
There is a cyclic dependency between the two, which is not support by Xcelium. The files imported/included within the two file lists must be in the right order to avoid that dependency.
The needed order is the one following:
// HEADERS
+incdir+${RISCV_DV_ROOT}/src
+incdir+${RISCV_DV_ROOT}/test
++incdir+${CVA6_DV_ROOT}/
++incdir+${CVA6_DV_ROOT}/custom
++incdir+${CVA6_DV_ROOT}/user_extension
// SOURCES
${RISCV_DV_ROOT}/src/riscv_signature_pkg.sv
${RISCV_DV_ROOT}/src/riscv_instr_pkg.sv
${RISCV_DV_ROOT}/test/riscv_instr_test_pkg.sv
+${CVA6_DV_ROOT}/cva6_signature_pkg.sv
+${CVA6_DV_ROOT}/cva6_instr_test_pkg.sv
${RISCV_DV_ROOT}/test/riscv_instr_gen_tb_top.sv
Suggested solution: use only cva6-files.f file list
- it means to copy the content of files.f into cva6-files.f
- correctly order the files within cva6-files.f
Drawback: if files.f is updated, need to update by hand cva6-files.f, but ot should be easy to detect.
Please @ASintzoff
and @MikeOpenHWGroup
, could you tell your feedback about the suggested solution?