RTL Code-Coverage Config
文章目录
前言
一、Cadence IMC
Cadence IMC(Integrate Metrics Cener) tools Code-Coverage Config。
1、Merge所有case的覆盖率
在cov_work同级目录下,将cov_work下的所有case覆盖率,合并到cov_merge目录,并将Merge的报告保存至cov_merge.log;Linux环境的命令如下:
srun imc -execmd "mger scope/* -overwrite -out cov_merge" -logfile cov_merge.log
2、查看Merge后的覆盖率
在cov_work同级目录下,Linux环境的命令如下:
srun imc -load cov_work/scope/cov_merge &
同时加载多个Waive文件,Linux环境的命令如下:
srun imc -load cov_work/scope/cov_merge -load_refinement aa.VRefine -load_refinement bb.VRefine &
PS:不要 -load_refinement 加载空的.VRefine文件,会报错。
二、Synopsys Verdi
Synopsys Verdi tools Code-Coverage Config。
1、Merge所有case的覆盖率
在cov_work.vdb同级目录下,将cov_work.vdb下的所有case覆盖率,合并到cov_merge.vdb目录,命令如下:
urg -full64 -dir cov_work.vdb/*.vdb -dbname ./cov_merge.vdb
PS:注意每个Case的make-file文件,"-cm_hier tb.chip_top"收集的Hierarchy必须一致,否则Merge时会报错;
-cm line+cond+tgl+fsm+branch \
-cm_line contassign \
-cm_cond full+tf+for+anywidth \
-cm_hier tb.chip_top \
-cm_name case_name \
-cm_dir cov_work.vdb \
-cm_log cov_rpt.log \
2、查看Merge后的覆盖率
在cov_work同级目录下(示例):
verdi -cov -covdir cov_merge.vdb &