-
Be sure you are calling
ncverilogwith the following flags to enable coverage tracking:-coverage all -covoverwrite -
In your SystemVerilog
programblock 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_workdirectory by default -
Create a file called
imc_report.cmdand 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