How to generate a detail report of functional coverage in Questasim?

Himanshu Khandelwal picture Himanshu Khandelwal · Apr 12, 2018 · Viewed 12.2k times · Source

How to generate the detailed coverage report of functional coverage? I am using following command to simulate my code :

 vlog -64 -work work -vopt +notimingchecks  +cover +fcover  -f pcie_jammer.f 

 vsim -novopt -c <CODE SPECIFIC ARGS> -t ps work.tb_top work.glbl -vopt -do "set WildcardFilter None;**coverage save -onexit -directive -cvg -codeAll pcie_cov_${1}_gen${speed}_X${width}** ; add log -r /*;coverage report -file pcie_cov_${1}_gen${speed}_X${width}.txt -byfile -detail -noannotate -option -directive -cvg -details -verbose;**coverage report -directive -cvg -details -verbose**;run -all;exit" > transcript_${tname}_gen${speed}_X${width}.txt  

 vcover report -html pcie_cov_${1}_gen${speed}_X${width} -verbose

I am not able to see the details of the covergroup in the report.

Answer

Himanshu Khandelwal picture Himanshu Khandelwal · Apr 16, 2018

After some research I am able to solve the above question. Please find the solution below:

To generate a detailed function coverage report:

1.First compile and simulate your code using below mentioned script :

vlog -work work -O0 +fcover +acc -f pcie_jammer.f 
vsim -cvgperinstance -c <ARGUMENTS> work.tb_top work.glbl -do " coverage save -onexit <Name_of_File>.ucdb; run -all;exit"  

Save the coverage report of the simulation in a UCDB file (Refer Questa User Manual for details about UCDB file).

2.In order to get a html or text report, reload the formed ucdb file and use coverage report to form the report as follows:

vsim -cvgperinstance -viewcov merged.ucdb -do "coverage report -file final_report.txt -byfile -detail -noannotate -option -cvg"

One can also use Questa GUI to form the report.

This approach is quite useful in order to merge the functional coverage reports of multiple testcases.