ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Verdi/Coverage tool 学习 第2节

2021-09-08 21:00:42  阅读:494  来源: 互联网

标签:urg simv Merge tool merge vdb Coverage dir Verdi


Merge Coverage

一、常用的VCS Command
 1.1、首先注意,需要在run simulation前(在build中)加VCS Option:
-cm line+tgl+cond+fsm+assert+branch -cm_line contassign -cm_cond full+tf+for+anywidth

 1.2、merge coverage cmd:

urg -full64 -metric line+tgl+cond+fsm+assert+branch -warn none -dbname <merge_coverage_name>.vdb \
    -dir ${vdb_path}/simv.vdb \
    -elfile ${path}/${el_file_name.el}

注意:其中-dir之後的第一個vdb數據會被認為是base data,如果產生其他vdb的RTL與base不同,將不能被Merge進來

 1.3、如果是把多條simv.vdb Merge在一起,可以用如下Command:
對於-warn none的Option需要謹慎,一般地還是不要加,把Warning信息報出來
-metric -metric line+tgl+cond+fsm+assert+branch也可以不用加,黨要提取特定的Coverage數據時再指定
urg -full64 -metric line+tgl+cond+fsm+assert+branch -warn none -dbname ${merge_cov_name}.vdb \
-report urgReport_<data> -dir  ${path_0}/simv.vdb \ 
  ${path_1}/simv.vdb \
  ${path_3}/simv.vdb \
  ${path_4}/simv.vdb \
  ${path_3}/simv.vdb \
  ${path_3}/simv.vdb \
-elfile ${el_file.el} > merge_log.out
 1.4、查看coverage:
verdi -cov -covdir <merge_coverage_name>.vdb &
 

 1.5、其他用法
如果是用urg,則使用如下command:urg -dir simv.vdb &
VCS收Coverage的command:-cm line+tgl+cond+fsm+assert+branch -cm_line contassign -cm_cond full+tf_foranywidth
如果修改了covergroup的name或者是採樣信號的定義,可以加如下option進行coverage merge:-flex_merge drop或者        -flex_merge reference或-flex_merge union
如果是看網頁版(擴展名為.html),則使用如下command打開: firefox  ${sim}/urgReport/dashboard.html
 

 1.6、如果新的simulation中,在covergroup中增加了coverpoint,并希望把新的數據與舊的merge到一起:
urg -full64 -flex_merge union -dbname <merge_coverage_name>.vdb  -dir  simv.vdb &
 

 1.7、如果新的simulation中,在covergroup中增加了coverpoint,并不想把新的數據與舊的merge到一起:
urg -full64 -flex_merge drop  -dbname <merge_coverage_name>.vdb  -dir  simv.vdb &
 

二、Coverage Result Reporting Utilities
 2.1、VCS writes coverage data to a binary database file
The database directory is named simv.vdb

 2.2、Convert to HTML:
urg –dir directory

example:   urg –dir simv.vdb
 2.3、Convert to Text:
urg –dir directory -format text

example: urg –dir simv.vdb –format text
 
 2.4、上述改變Format的方法主要用於分析各種Case對Coverage的貢獻,以加快驗證工作的收斂。
 

三、注意事項
如果Hierarchy或者covergroup有修改,在Merge VDB的時候需要刪除之前的VDB數據。
如果在例化DUT的時候需要傳遞參數進去,導致生成的電路不一致,需要分別Merge,應為不同Hierarchy的module的VDB不能夠Merge在一起。
建議:在T4階段收Coverage的時候,把每天的數據Merge到一起,然後再往總的vdb裡面Merge,以免某一天的數據出錯,導致整個vdb file都不能使用。
建議Regression時每天新建一個workspace,用Linux crontab自動執行。否則,假如某天的VDB Data出錯,將無法Merge,導致的後果就是重新收Coverage
————————————————
版权声明:本文为CSDN博主「gsithxy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gsjthxy/article/details/88429983

标签:urg,simv,Merge,tool,merge,vdb,Coverage,dir,Verdi
来源: https://blog.csdn.net/qq_16423857/article/details/120188525

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有