《功能覆盖率指令说明 .pdf》由会员分享,可在线阅读,更多相关《功能覆盖率指令说明 .pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1 功能覆盖率指令说明一、简介功能覆盖率指令主要包括编译、运行和生成覆盖率报告三个部分。编译时将引入功能覆盖率的定义,运行将生成功能覆盖率数据库文件夹,最后通过覆盖率报告生成工具根据功能覆盖率数据库文件夹生成对应的覆盖率报告。为了工具的统一性和方便界面提取,先做如下规定:覆盖率数据库文件夹均放在CovData 目录下, ncsim 生成的放入ncsim 子目录、 vcs生成的放入vcs 子目录。覆盖率报告均放在FcovReport 目录下, ncsim 生成的放入ncsim 子目录、 vcs 生成的放入 vcs 子目录。每条用例都生成独自的同用例名的覆盖率数据库和覆盖率报告文件夹。最后生成总的
2、覆盖率数据库和覆盖率报告文件夹,名称为total。文档指令描述中,TC_NAME表示匹配用例名。二、VCS 指令说明1、样例rm -r simv* CovData/vcs/* vcs +v2k -sverilog +define+marco=VCS+ test_1.sv ./simv -cm_dir CovData/vcs/test_1 +ntb_random_seed=666666 vcs +v2k -sverilog +define+marco=VCS+ test_2.sv ./simv -cm_dir CovData/vcs/test_2 +ntb_random_seed=888888
3、vcs +v2k -sverilog +define+marco=VCS+ test_3.sv ./simv -cm_dir CovData/vcs/test_3 +ntb_random_seed=555555 urg -dir CovData/vcs/test_1.vdb -report FcovReport/vcs/test_1 -format text urg -dir CovData/vcs/test_2.vdb -report FcovReport/vcs/test_2 -format text urg -dir CovData/vcs/test_3.vdb -report Fcov
4、Report/vcs/test_3 -format text urg -dir CovData/vcs/*.vdb -report FcovReport/vcs/total -format text 2、指令说明(1)编译-sverilog :增加对System Verilog 语言的支持。+define+marco=VCS+ :编译的时候增加宏“VCS” 。因为 ncsim 和 vcs 对功能覆盖率某些关键字和用法支持不同,需要用宏来区分。(2)运行-cm_dir CovData/vcs/TC_NAME:将生成的覆盖率数据库放到CovData/vcs 目录中,若目录不存在,将自动创建。生成的
5、覆盖率数据库文件夹以vdb 后缀,名称要求同用例名,例: test_1.vdb。(3)生成覆盖率报告urg dir CovData/vcs/TC_NAME.vdb report FcovReport/vcs/TC_NAME format text:用于生成各个用例的覆盖率报告。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 2 urg dir CovData/vcs/*.vdb report FcovReport/vcs/tot
6、al format text :用于生成总的覆盖率报告。其中: -dir 用于读入指定目录下指定覆盖率数据库XXX.vdb文件夹,通配符* 表示读入指定目录下所有覆盖率数据库文件夹。-report 用于指定输出覆盖率报告的路径,每个用例的报告要求分别输出到同用例名 FcovReport/vcs/TC_NAME的目录下, 总报告要求输出到FcovReport/vcs/total 的目录下。若指定的目录不存在,将自动创建。-format 用于指定输出报告的格式,text 表示输出文本格式,不指定则输出html格式。三、NC 指令说明1、样例cov.cmd( ICCR 脚本文件) set TC_NA
7、ME test_1 set TC_NAME test_2 set TC_NAME test_3 set TC_NAME total set_dut_modules test merge CovData/ncsim/* -output total sh mkdir -p FcovReport/ncsim/$TC_NAME load_test CovData/ncsim/$TC_NAME report_summary -d -instance -cgopt test FcovReport/ncsim/$TC_NAME/dashboard.txt report_detail -both -d -in
8、stance -cgopt test FcovReport/ncsim/$TC_NAME/grpinfo.txt rm -r irun* iccr* CovData/ncsim/* IN* mkdir FcovReport/ncsim irun -sv -svseed 666666 -covoverwrite test_1.sv -coverage u -covwork CovData -covdesign ncsim -covtest test_1 iccr -keywords+summary+detail+test_1 cov.cmd irun -sv -svseed 888888 -co
9、voverwrite test_2.sv -coverage u -covwork CovData covdesign ncsim -covtest test_2 iccr -keywords+summary+detail+test_2 cov.cmd 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 3 irun -sv -svseed 555555 -covoverwrite test_3.sv -coverage u -co
10、vwork CovData -covdesign ncsim -covtest test_3 iccr -keywords+summary+detail+test_3 cov.cmd iccr -keywords+summary+detail+total cov.cmd 2、指令说明(1)编译-sv:增加对System Verilog 语言的支持。(2)运行-coverage u:收集覆盖率选项,u 表示基于SV 的功能覆盖率。-covoverwrite :再次运行时可覆盖已生成的覆盖率数据库,不加则不能覆盖。-covwork :指定生成的cov_work 目录,要求指定为CovData 目录
11、。-covdesign:指定成生的design 目录,要求指定为ncsim 目录。-covtest:指定生成的test 目录,要求指定为TC_NAME目录,用于存放覆盖率数据库icc.data。(3)生成覆盖率报告-keywords 脚本:用命令行的方式启动ICCR,关键字的功能在脚本中描述。ICCR 生成覆盖率报告的流程为:合并覆盖率数据库 (仅用于输出总覆盖率报告)= 读覆盖率数据库= 输出覆盖报告(概要报告或者详细报告)。cov.cmd 脚本说明:1)和中间描述在 -keywords 中添加该关键字将执行的指令。注意,一条指令只能在一行中描述,和也必须分列一行。2)在-keywords
12、中添加的关键字顺序和关键字所对应的指令执行的顺序无关。3)每一条用例必须对应一套 和 , 在该套关键字描述内将给通配符 $TC_NAME赋值为用例名,如:set TC_NAME TC_NAME。用于在每次运行用例时在 -keywords 中添加用例名使每次运行只输出以该条用例名命名的覆盖率报告文件,以方便界面处理。4)需在脚本中添加 和 的关键字套,用于输出总的覆盖率报告。其中的指令包括:set:指定通配符为total;set_dut_modules:指定用例的模块名,不指定则合并不成功;merge:合并覆盖率数据库,CovData/ncsim/* 表示合并CovData/ncsim/ 目录下
13、的所有覆盖率数据库文件,-output total 表示输出合并后的覆盖率数据库至CovData/ncsim/total 目录下。5)sh mkdir:在配置好通配名或者合并好覆盖率数据库后需要创建覆盖率报告目录,按照要求为FcovReport/ncsim/TC_NAME|total。6)load_test:读指定目录下覆盖率数据库,目录为CovData/ncsim/TC_NAME|total。7)report_summary: 输出覆盖率概要信息。 -d 表示输出报告为基于数据的功能覆盖率;-instance 表示为基于例化件的;-cgopt 表示参详coverpoint 的结果; test
14、 为用例模块名; 表示将覆盖率报告重镜象至指定文件中,按照要求每条用例或总覆盖率概要信息必须保存在FcovReport/ncsim/TC_NAME|total/dashboard.txt文件中。这名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 4 些参数都是必须的,否则输出报告有误。8)report_detail:输出覆盖率详细信息。-both 表示包含所有例化件;-d 表示输出报告为基于数据的功能覆盖率;-instance 表
15、示为基于例化件的;-cgopt 表示参详coverpoint 的结果; test为用例模块名; 表示将覆盖率报告重镜象至指定文件中,按照要求每条用例或总覆盖率详细信息必须保存 在FcovReport/ncsim/TC_NAME|total/grpinfo.txt文件中。这些参数都是必须的,否则输出报告有误。9)以上第5) 至 8) 条每次运行时都必须执行。通过配置关键字(用例名)的方式,每运行一条用例时都启动一次ICCR 输出一份该用例的覆盖率报告,所有用例运行完后再启动一次ICCR 输出一份总的覆盖率报告。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -