Skip to content

Add optional code coverage collection for DSIM

Mike Thompson requested to merge code_cov into master

Hi @aimeepsutton. I have made a couple of simple updates to dsim.mk and have added a code coverage scope specification file to enable code coverage for DSIM. Alas, the latest version of dsim on the IBM VM does not support the code coverage command line arguments so I cannot test it. I got these args from the 20200720.0.0 version of the DSIM user manual.

The goal of this update is to enable code coverage of the cv32e40p core, including all levels beneath it, excluding the testbench and UVM environment. The make command is:

$ make sanity CCOV=1

and the resultant dsim command generated is:

dsim \
	-timescale 1ns/1ps  -top uvmt_cv32_tb \
	+incdir+/tools/Metrics/dsim/20200316.10.0/uvm-1.2/src /tools/Metrics/dsim/20200316.10.0/uvm-1.2/src/uvm_pkg.sv \
	 \
	"+define+ISS+CV32E40P_TRACE_EXECUTION" -code-cov block -code-cov-scope-specs /data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/../tools/dsim/ccov_scopes.txt \
	+incdir+/data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/../../../cv32/env/uvme_cv32 \
	+incdir+/data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/../../../cv32/tb/uvmt_cv32 \
	-f /data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/../../../core-v-cores/cv32e40p/cv32e40p_manifest.flist \
	-f /data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/../../../cv32/tb/uvmt_cv32/uvmt_cv32.flist -f /data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/../../../cv32/tb/uvmt_cv32/imperas_iss.flist \
	-work /data/mike/GitHubRepos/openhwgroup/core-v-verif/code_cov/cv32/sim/uvmt_cv32/dsim_results/dsim_work \
	+ \
	-genimage dsim.out

Signed-off-by: Mike Thompson mike@openhwgroup.org

Merge request reports

Loading