Search code examples
code-coveragemodelsimquestasimfunction-coverage

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


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.


Solution

  • 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.