0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么用Vivado做覆盖率分析

FPGA开源工坊 来源:FPGA开源工坊 2024-01-03 12:34 次阅读

在做仿真的时候往往会去做代码覆盖率和功能覆盖率的分析,来保证仿真是做的比较充分完备的。

在Vivado里面也支持我们做这项操作,现在就来看一下流程吧。

第一步:选择设置

58af3c34-a9ed-11ee-8b88-92fbcf53809c.png

第二步:在仿真选项里面依次找到下面的设置选项,默认vivado是没有打开覆盖率分析这个选项的。

58c1b9e0-a9ed-11ee-8b88-92fbcf53809c.png

第三步:做如下设置,其中cover是我们想要设置的覆盖率的名字,这个可以自己设置,./是覆盖率信息放置的位置,这两项都可以根据自己的使用来设置。sbct是设置想要收集哪些覆盖率信息,s是行覆盖率,b是分支覆盖率,c的条件覆盖率,t是翻转覆盖率。设置完成之后点击Apply保存设置就可以了。这样在我们仿真的时候就会进行覆盖率的收集了。

59b1a798-a9ed-11ee-8b88-92fbcf53809c.png

第四步:点击仿真,跑一个测试用例

然后就可以看到在对应的仿真目录下生成一个xsim.codeCov的目录,因为我设置的./所以生成的信息放在了这个目录下。

59cd980e-a9ed-11ee-8b88-92fbcf53809c.png

点进去的话,会发现是一个xsim.CCInfo文件,之后就需要我们处理一下,把他变成可读的html文件。

59e0e9e0-a9ed-11ee-8b88-92fbcf53809c.png

第五步:在TCL里面输入下面的命令

xcrg.exe -cc_report E:/myreport1 -cc_db cover -cc_dir E:/fpga_image_sim/fpga_image_sim.sim/sim_1/behav/xsim/xsim.codeCov/

就可以看到vivado在帮我们生成相应的报告

59f44e22-a9ed-11ee-8b88-92fbcf53809c.png

生成的报告:

5a04a79a-a9ed-11ee-8b88-92fbcf53809c.png

然后点击dashboard.html查看报告。

5a22b7b2-a9ed-11ee-8b88-92fbcf53809c.png

就可以看到相应的报告了,我仿真就跑了很短的时间所以覆盖率很低。

并且我们可以按模块来查看相应的报告

5a331cba-a9ed-11ee-8b88-92fbcf53809c.png

每个模块内部的报告也可以看到:

5a4cec3a-a9ed-11ee-8b88-92fbcf53809c.png

然后可以根据详细的报告去构造特殊的测试案例来提升覆盖率。

5a6570b6-a9ed-11ee-8b88-92fbcf53809c.png

最后解释一下刚刚那句命令的含义:

这个参数用来控制生成的报告放到哪个目录下
-cc_report E:/myreport1  
后面的cover就是我们在设置界面所设置的名字
-cc_db cover 
这个是生成的覆盖率信息的路径,我设置的./所以vivado生成到了sim目录下
-cc_dir E:/fpga_image_sim/fpga_image_sim.sim/sim_1/behav/xsim/xsim.codeCov/

关于这个命令更多的信息可以参见:

5a788fde-a9ed-11ee-8b88-92fbcf53809c.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    4080

    浏览量

    133586
  • 命令
    +关注

    关注

    5

    文章

    684

    浏览量

    22021
  • 代码
    +关注

    关注

    30

    文章

    4787

    浏览量

    68589
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66511

原文标题:怎么用Vivado做覆盖率分析

文章出处:【微信号:FPGA开源工坊,微信公众号:FPGA开源工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么覆盖率分析师没有证明电阻器已经过测试?

    您好,我对Coverage Analyst有疑问。我使用的是Coverage Analyst版本5.21p。覆盖率分析师完成覆盖率报告确定(html文件),但我对报告中显示的结果有疑问: -
    发表于 01-07 16:06

    如何改善5G覆盖率

    改善5G覆盖率的方法
    发表于 12-15 07:52

    如何提高DFT设计测试覆盖率

    提高DFT设计测试覆盖率的有效方法是什么
    发表于 05-07 06:37

    怎么提高非随机图形设计的故障覆盖率

    怎么提高非随机图形设计的故障覆盖率?为LBIST设计提高故障检测能力的技术是什么?
    发表于 05-08 07:11

    嵌入式仿真平台SkyEye的覆盖率分析相关资料下载

    代码执娜行覆盖情况的功能,来检测代码中未执行覆盖情况。在覆盖率分析时需要分析嵌入式软件的指令覆盖率
    发表于 12-17 07:27

    重点厘清覆盖率相关的概念以及在芯片开发流程中跟覆盖率相关的事项

    有误;更多的分析可以得出更详细的结论。下面会对这两种覆盖率分别展开阐述,最后再补充一下例通过(Pass rate)和计划覆盖率(Plan
    发表于 09-14 11:57

    Systemverilog覆盖率的合并和计算方式

      在systemverilog中,对于一个covergroup来说,可能会有多个instance,我们可能需要对这些instance覆盖率进行操作。  只保存covergroup type的覆盖率
    发表于 03-21 14:24

    Verilog代码覆盖率检查

    Verilog代码覆盖率检查是检查验证工作是否完全的重要方法,代码覆盖率(codecoverge)可以指示Verilog代码描述的功能有多少在仿真过程中被验证过了,代码覆盖率分析包括以
    发表于 04-29 12:35 8429次阅读

    IP开发时如何考虑复用覆盖率

    如何在开发IP的同时去巩固集成和复用覆盖率?IP的某些功能和性能是可以配置的,需要考虑的是IP被各种合理配置后的工作是否都能够正常,将功能覆盖率先整理为层次化的抽象功能覆盖率模型,称之为cover model。
    的头像 发表于 02-18 12:08 2621次阅读

    嵌入式代码覆盖率统计方法和经验

    代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例计算得出。代码覆盖率可以有效避免包含未测试代码的程序被发布。 1. 问题背景 代码覆盖(Code coverage
    的头像 发表于 01-06 15:06 3163次阅读
    嵌入式代码<b class='flag-5'>覆盖率</b>统计方法和经验

    统计嵌入式代码覆盖率的方法和经验

    代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例计算得出。代码覆盖率可以有效避免包含未测试代码的程序被发布。 1. 问题背景 代码覆盖(Code coverage
    的头像 发表于 03-29 11:58 1951次阅读
    统计嵌入式代码<b class='flag-5'>覆盖率</b>的方法和经验

    怎么才能写出高覆盖率的Verilog代码?

    芯片前端工程中,测试验证的核心理念:以提高覆盖率为核心。设计工程师需要关心的主要有行覆盖率(Block),条件覆盖率(Expression),翻转覆盖率(Toggle),状态机
    的头像 发表于 06-01 10:13 2626次阅读

    覆盖率的Verilog代码的编写技巧

    设计工程师需要关心的主要有行覆盖率(Block),条件覆盖率(Expression),翻转覆盖率(Toggle),状态机覆盖率。本文从ASIC设计的角度上来讨论,如何写出高
    的头像 发表于 05-26 17:30 4281次阅读

    Vivado仿真器和代码覆盖率简析

    编写 HDL 通常是 FPGA 开发中耗时最少的部分,最具挑战性和最耗时的部分可能是验证。根据最终应用程序,验证可能非常简单,也可能非常复杂,简单的话只需对大多数功能进行检查或执行完全独立开发的测试平台来演示功能和代码覆盖率
    的头像 发表于 08-03 09:23 2010次阅读
    <b class='flag-5'>Vivado</b>仿真器和代码<b class='flag-5'>覆盖率</b>简析

    代码覆盖率记录

    为确保具体的产品(例如,医疗或航空电子市场)质量合格, 通常需要提供语句覆盖与判定覆盖认证证明。对于各种嵌 入式系统,规范要求高度优化的代码需要实时测试。禁止 代码插装和运行时篡改。劳特巴赫代码覆盖率测试系统为 客户提供
    发表于 11-03 11:02 0次下载
    代码<b class='flag-5'>覆盖率</b>记录