-
Be sure you are calling
ncverilog
with the following flags to enable coverage tracking:-coverage all -covoverwrite
-
In your SystemVerilog
program
block be sure to call the following SystemVerilog system function:$set_coverage_db_name("database_name");
. the "database_name" can be of your choosing -
After the simulation is complete, the simulator will write a database with the coverage information to the
cov_work
directory by default -
Create a file called
imc_report.cmd
and paste the commands that are below. This file simply tells imc to load the database and which information to save to the report file. Be sure to change the "database_name" so it matches with the parameter in step 2.
load ./cov_work/scope/database_name
exec mkdir -p report
report -out report/coverage.rpt -detail -metrics functional -all -aspect both -assertionStatus -allAssertionCounters -type *
To view more information about the imc report
command simply run the following: imc -execcmd "help report"
- To generate the report run imc and pass it the command file created in the previous step:
imc -exec imc_report.cmd