uvm 形式验证_这究竟属于下一代验证的方法、语言还是工具?||路科验证

8de0b0f3c2779070a7896ca812c72c1b.png

来源:内容由 公众号 路科验证 (ID:Rocker-IC)编辑部 原创,谢谢!

d126b5c60a71767c11de6332c5337b1f.png

首先声明,便携式激励标准(PortableStimulus Standard, PSS)不是一种方法论,而是一种语言。使用语言我们可以有序地传递信息,从而去构建工具,但工具也不是方法。我们所说的方法是指以某种可管理的方式系统地分解及解决问题的手段。工具可以支持方法,并且随着时间的推移,工具可以在方法标准化之后帮助管理方法。但目前还没有针对PSS的标准方法,也没有该语言定义的工具功能。

用便携式激励语法所说明的基于图形的验证技术,在供应商之间提供了某种程度的通用性,这种基于图形的验证技术即我们所用的工具,这些工具可以在现有的方法论中使用,也可以创建以前的工具不支持的新工具。当供应商提供标准之外的功能时,用户群体会决定这些功能的有用程度,并将有用的部分打包到标准的未来版本中,忽略不太有用的部分。这其实就是语言的演变过程,特别是对于在标准出现之前就定义了的语言来说。

举个例子,上一代验证解决方案依赖于功能覆盖率来确定特定测试用例的价值,用RTL功能覆盖率度量的覆盖率代替验证意义上的覆盖率。运行测试时,它认为设计中的值等同于正在执行的预期行为。验证工程师很难创建良好的功能覆盖率模型,更难通过修改约束来增加覆盖率。

使用便携式激励工具会捕捉设计的预期行为,其目标是意图覆盖,它确切地知道一个特定的测试用例应该覆盖什么样设计意图。这样看起来RTL上的功能覆盖率似乎不能提供其他额外的信息。

并非如此。如果PSS模型遗漏了预期行为的一部分,那该怎么办?相对地,如果RTL没能实现所有需要的功能,又该怎么办?基于图形的意图覆盖仅表示测试生成工具认为测试的完整程度,RTL上的功能覆盖不能找到丢失的功能,所以意图覆盖和RTL功能覆盖之间的相互补充可以保证功能的完整性

这种两面性正是设计和验证的核心。它需要两个独立的模型,系统地对进行比较,找出可能在设计、测试平台或规范中出现的缺陷的差异。但问题是:PSS用户将发觉,与PSS中提供的功能覆盖率相比,RTL功能覆盖率的旧概念有多重要?功能覆盖率只能在仿真中收集。单元级的模拟速度虽然很快,但却无法测试系统级行为,系统级测试平台很慢,这就意味着不能运行大量的测试。

意图覆盖是否应该与仿真中的功能覆盖相关联,以获得对PSS模型的信任,然后应用硬件仿真、FPGA和post-silicon来适当覆盖其余的大型意图覆盖空间?这由用户决定的,继续使用现有的功能覆盖机制的确为用户从一个解决方案迁移到另一个解决方案提供了一种熟悉的机制。用户可能会发现它非常有用,特别是在刚开始的时候。或者也可能认为其得不偿失,这种机制不值得,当然了,功能覆盖现如今被看作是一项要耗费大量时间和精力的工作。

随着时间的推移,方法不断进行优化,同时也在创建相应的工具,比如,帮助提供自动化和追踪。现有的验证管理器类似一个中央驾驶舱,在这里可以存储结果和进度,并启动新的验证活动。首次定义带约束随机时还没有验证管理器,直到它实践到最佳才开始出现。如果你认为这些管理器是基于PSS解决方案的正确使用方法,那就错了。毕竟用户还没有机会确定如何使用现有的解决方案以及希望在其中看到的更改。

在Breker,我们鼓励用户群体探索优化他们时间和资源的方法,并提供我们认为对探索有所帮助的功能,并期望其中的一些功能能被广泛应用。例如,TrekSoC可以提前生成完整的测试,也可以是被动生成的。它能够生成在嵌入式处理器上运行的代码,或者利用与DUT的事务通信,两者兼有也可。每种方式支持不同的方法论。

我们一直并将继续响应用户的需求,可能是通过现有方法的扩展,例如围绕System Verilog和UVM设计的方法,或者是新方法的创建,这些新方法到目前为止依赖于手动工作,没有任何形式的自动化或追踪技术。

作为供应商,我们会了解多数用户正在做什么尝试,并对这些功能的改进支持力度。方法学就是这样发展壮大的,我们一起努力就可以做到。

d126b5c60a71767c11de6332c5337b1f.png

作者介绍

Adnan Hamid, CEO of Breker

Adnan Hamid是Breker的创始人兼首席执行官,也是核心技术的发明者。在他的领导下,Breker已经成为复杂片上系统系统(SoC)功能验证技术,特别是便携式激励技术的市场领导者。Breker在自验证测试用例自动化方面的专业知识为SoC的验证完整性设定了标准。

原文来自:https://www10.edacafe.com/blogs/thebrekertrekker/2019/01/15/methodology-language-and-tools/#more-2112

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解读浮动闭合最佳方案:clearfix

之前给大家介绍两种浮动闭合的办法 ,得知很多同学都在使用下面的骨灰级解决办法: .clear{clear:both;height:0;overflow:hidden;} 上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知道这样能解决基本清浮动问题。 但是这种…

redis 版的 hello world

为 redis 添加一个命令,效果如下图: 在 Server.h 中加入命令处理函数的声明: void meCommand(client *c); 在 Server.c 的命令表中加入: struct redisCommand redisCommandTable[] {{"me",meCommand,1,"rF",…

android commit apply,关于SharedPreference的commit和apply和ANR

看的SharedPreferencesImpl.java 办法呢 有人是不用apply直接自己异步commit. 也有人用反射把那个QueuedWork的sFinishers变量弄成empty.文档上说的commit和apply, Unlike commit,which writes its preference out to persistent storage synchronously, apply commits its cha…

从Datomic出发,革命性的非NoSQL数据库

我终于设法了解了当今最不寻常的数据库之一,Datomic,并希望与您分享。 感谢Stuart Halloway和他的工作室! 为什么?!? 我们将很快看到,Datomic与传统的RDBMS数据库以及各种NoSQL数据库有很大的不…

unity中单位是米还是厘米_401场地清理是什么,由施工单位做还是甲方做?造价中如何体现?...

场地清理是对公路用地范围及借土场范围内施工场地的清理、拆除和挖掘,以及必要的平整场地等有关作业。一、工作内容根据路基工程项目分表可以看出场地清理主要包括三方面内容:1、清理与拆除(1)清除表土路基范围内的树根、腐殖土、草皮或地表土不符合路基…

432 4.3.2 STOREDRV.Deliver; recipient thread limit exceeded

432 4.3.2 STOREDRV.Deliver; recipient thread limit exceeded 最近几天Hub-Mailbox服务器时不时就CPU超过90%。在任务管理器里面看到edgetransport占用大量CPU。进入EMC的队列查看器,看到邮箱数据库堵塞,队列上万。 堵塞的邮件大多是收件人自动回复、退…

SQL Server 关于列的权限控制

SQL Server 关于列的权限控制 原文:SQL Server 关于列的权限控制在SQL SERVER中列权限(Column Permissions)其实真没有什么好说的,但是好多人对这个都不甚了解,已经被人问了几次了,所以还是在这里介绍一下,…

简单的Spring Memcached – Spring缓存抽象和Memcached

在任何读取繁重的数据库应用程序中,缓存仍然是最基本的性能增强机制之一。 Spring 3.1发行版提供了一个很酷的新功能,称为Cache Abstraction 。 Spring Cache Abstraction为应用程序开发人员提供了一种简单,透明和分离的方式来实现任何缓存解…

华为鸿蒙系统是否上线,华为官方:鸿蒙系统2.0上线,手机能否搭载鸿蒙操作系统?...

原标题:华为官方:鸿蒙系统2.0上线,手机能否搭载鸿蒙操作系统?华为官宣鸿蒙已经过去有一年多的时间了。近日有消息称,在今年九月份华为即将举办开发者大会,届时正式发布鸿蒙2.0操作系统,相比之前…

图解 继电器模组接线图_交流接触器,继电器的知识你了解多少?(值得收藏)...

↑↑↑↑↑领取福利的小伙伴,先点击上方关注我们哦(文章字体较小,请点击放大后查看)交流接触器(Alternating Current Contactor)广泛用作电力的开断和控制电路。型号与参数交流接触器的型号很多, CJ0、CJ10系列交流接触器较为常用&#xff0c…

python - 数据类型

python - 数据类型: 基本类型: 1.数字 整数int 长整型long 浮点型float 2.字符串 文本str 字节bytes 3.布尔 true false数据集: 1.列表list 2.元祖tuple (数组) 3.字典dict 有序字典 无序字典 4.集合set 有序集合 无序集合-----------------…

CSS :root 测试

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoob.com)</title> <style> :root {background:blue;--vvv:60px; } </style> </head> <body><h1 style" font-siz…

折线图表android,Android 折线图表MPAndroidChart的实现

昨日夜观天象&#xff0c;今日忽见北斗星陨落&#xff0c;《Android 折线图表》应运而生。single.pngmany.png一.本篇采用MPAndroidChart&#xff0c;大体实现步骤可分为两步&#xff1a;1.配置基本属性(包括X,Y轴)2.设置折线数据并添加复制代码二. 第一步&#xff0c;配置基本…

发个自己的CSS重置基础代码

关于css的重置代码有很多&#xff0c;也有不少人写过适合不同站点的重置代码&#xff0c;这里发个浩子平时使用的额方法。 代码如下&#xff1a; /* haozi / hao.chenqq.com / 2011.06.15 */body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,inp…

我最喜欢的Java高级开发人员书籍

我上一篇博客文章 &#xff08;我对高级Java开发人员的十个最喜欢的在线资源&#xff09;的想法是由Xiaoran Wang发表的针对高级Java开发人员的十大网站的启发。 Wang还写了一篇名为《面向Java高级开发人员的十大书籍》的文章。 正如关于高级Java开发人员的最佳网站上的帖子一样…

pyplot绘制图片_matplotlib系列之pyplot

pyplot对象包含了一系列用于绘图的函数&#xff0c;使得它工作起来就像MATLIB一样。它的功能例如&#xff1a;创建一个figure对象绘制一片绘图区域在区域中绘制线条或者点也可以绘制labels使用pyplot对象快速的生成一幅图片import matplotlib.pyplot as pltplt.subplot(121)plt…

字符串-----KMP竟然是18禁

今天学了一下午字符串&#xff0c;讲到结束也没讲KMP。有人问老师为什么不讲&#xff0c;老师来一句&#xff1a;字符串noip不考&#xff0c;而且还是18禁&#xff0c;自然不讲。【手动滑稽】 所以我也不讲。【微笑】 1.表达式树 表示35*8 最后计算的符号是根节点&#xff0c;是…

freopen()函数在ACM中的使用

#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endif https://blog.csdn.net/cfzjxz/article/details/7240165转载于:https://www.cnblogs.com/LLbinGG/p/9414366.html

CSS3详解:background

CSS3对于background做了一些修改&#xff0c;最明显的一个就是采用设置多背景&#xff0c;不但添加了4个新属性&#xff0c;并且还对目前的属性进行了调整增强。 1、多个背景图片 在css3里面&#xff0c;你可以再一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法…

里bl2和bl3为什么分开_英国的水池为什么有两个水龙头?为什么英国有独立的冷热水龙头?...

如果大家看过我之前的文章&#xff0c;可能会有点映像&#xff0c;前面有提到过英国的双水龙头&#xff0c;有兴趣的朋友们可以点后面的直达链接查看&#xff1a;为什么在英国留学会掉头发&#xff1f;怎么办&#xff1f;英国的自来水&#xff08;冷水&#xff09;可以直接喝吗…