Skip to content

Include Imperas DV Functional Coverage

Created by: duncangraham-Imperas

The addition of trace2cov allows functional coverage using riscvISACOV to be used

Clone the repository github.com/Imperas/ImperasDV-OpenHW and view the file scripts/cv32e40s/README.run.txt for full information on how to enable

No additional System Verilog is included unless it is compiled with +define+INCLUDE_TRACE2COV

Some information is included here

COVERAGE_ENABLE="\
    +define+INCLUDE_TRACE2COV \
    +incdir+${IMPERAS_HOME}/ImpProprietary/source/host/riscvISACOV/source \
    +define+COVER_BASE_RV32I \
    +define+COVER_LEVEL_DV_PR_EXT  \
    +define+COVER_RV32ZCA \
    +define+COVER_RV32ZCMP \
    +define+COVER_RV32ZCMT \
"
# for zc_test
export CV_SW_MARCH=rv32im_zicsr_zifencei_zcmp

make clean test TEST=zc_test \
   USER_COMPILE_FLAGS="${COVERAGE_ENABLE}" \
   USER_RUN_FLAGS="+TRACE2COV_ENABLE=1" \
   USE_ISS=yes \
   COV=yes \
   CV_CORE=${CV_CORE}

# The coverage can be viewed with
make cov TEST=zc_test GUI=1

Merge request reports

Loading