2000年, Verisity Design(现在的Cadence Design System公司)引进了Verification Advisor(vAdvisor)采用了e语言,包含了激励的产生,自动比对的策略,覆盖率模型。e语言是面向对象语言,这是业界开始使用面向对象语言进行测试平台的建立。

2002年,Verisity公司公布了第一个验证库——e可重用方法学(eRM)。

2003年,Synopsys公司公布了可重用验证方法学库(RVM),这个方法学采用了Synopsys公司的vera语言。

2006年,Mentor公司公布了高级验证方法学(AVM)。这个方法学主要是采用了OSCI SystemC的事务抽象层方法学(TLM)标准,它是用SystemVerilog和SystemC两种语言实现的。

2006年,Synopsys公司推出了验证方法学手册(VMM),这个是RVM从vera语言过度到SystemVerilog的方法学。

2007年,Cadence公司推出了通用可重用验证方法学(URM),主要是从eRM从E语言过度到SystemVerilog的方法学,同时加入了TLM接口,工厂模式替换,配置机制,策励类等。

2008年,Cadence公司和Mentor公司共同推出了OVM

2010年,ACCELLERA采用了OVM作为基础,推出了UVM验证方法学。同时引入了VMM的callbacks一些概念。作为业界方法学统一的一个雏形。

2010年,Synopsys公司推出了VMM1.2,基本上沿用了OVM的TLM通信机制,并采用了TLM2.0(OSCI最新的标准),采用OVM提出的implicit phase,并且将验证流程继续细化,工厂模式替换机制,建立类层次(建立parent关系)。并且在此基础上,提出了vmm_timeline的概念,方便各个phase之间实现跳转,增加phase或删除phase。增加了rtl_config等概念。Synopsys公司也随即宣布最新版本的VCS同时支持UVM。

从现在的角度看待UVM和VMM1.2。无论最终是哪个胜出,可以看出现在业界验证方法学的趋势:

1、系统建模,业界主流标准是采用ESL模型,用SystemC语言,可以做性能评估。采用TLM标准接口,可以将SystemC模型无缝对接到验证平台中,做参考模型。

2、对每个验证组件建立parent关系,使得控制更加方便,利于自动顶层环境自动调用各个组件的phase。建立这种parent关系,还有利于工厂模式替换组件中的配置或事务。

3、为某种功能的不同组件建立子环境(UVM采用agent的方式,VMM1.2采用sub_env的方式),子环境的各个组件可以配置打开或关闭。

4、采用工厂模式替换,可以在编译阶段,将环境中的配置、事务、场景等。

5、提供API,可以在运行阶段修改环境中的参数(UVM在基类提供,VMM1.2通过vmm_opts提供)。

6、环境中的各种事务处理器组件,采用callbacks的方式,注入错误或收集覆盖率。

7、提供寄存器抽象层,通过脚本的方式,自动的生成寄存器扫描读写等验证组件。(VMM提供了RAL,UVM声称以后会提供相应的机制)。

8、环境的流程可以控制,比如增加或删除验证流程中的phase,控制各个phase之间的跳转(VMM提供了vmm_timeline,UVM声称以后会提供相应的机制)

上面所提的业界验证方法学趋势,1~5是Cadence和Mentor公司在OVM提出的。而6~7是Synopsys公司在VMM1.1中提出的,而8是VMM1.2增加的特性。VMM1.2继承了OVM的优点之后,已经具备了上述所有功能,而UVM在The future of UVM提出了会增加类似ral和vmm_timeline的功能。

现在的角度比较UVM和VMM1.2,其优缺点主要体现在以下几个方面:

1、UVM是accellra组织推出的以后验证方法学统一的标准,主要框架采用了ovm的框架,现在还没出正式版本。继承了OVM的优点,VMM的优点继承还不够。而VMM1.2在继承了ovm的优点之后,并且做了改进和加强,其功能暂时会优于UVM。

2、由于UVM是推出的验证方法学的新的标准,所以,不用考虑兼容问题,架构会比较清晰。源代码可读性会比较强,而VMM1.2既要考虑到与VMM1.1兼容,又要考虑新的特性,而VMM1.1和VMM1.2甚至看起来是两个完全不一样的流程,所以显得架构凌乱,代码可读性差。

3、UVM方法学更多的提出了验证平台如何配置,配置类应该怎么规划,如何在系统验证中可重用具体方法和思路。VMM方法学更多的提出了模块验证中层次的划分,验证流程中各个阶段应该干什么事情,错误的注入等等。这些方法和思路,在UVM的库和VMM的库都可以比较方便的使用。都搭建验证平台具有很好的指导意义。

验证方法学的历史及比较相关推荐

  1. 通用验证方法学(Universal Verification Methodology, UVM):简介及内容导航

    目录 1. 介绍 1.1. 数字集成电路(Integrated Circuit, IC)设计 1.2. 数字集成电路(Integrated Circuit, IC)验证 2. 一个简易UVM验证平台例 ...

  2. 入门UVM验证方法学

    文章目录 1.验证概述: 2.如何实现验证 3.验证方法学 4.简单的UVM平台 5.较为完整的UVM平台 6.一个实例 7. UVM树 8.phase机制 9.验证步骤([参考](https://b ...

  3. 验证方法学的发展历程及比较

    2000年, Verisity Design(现在的Cadence Design System公司)引进了Verification Advisor(vAdvisor)采用了e语言,包含了激励的产生,自 ...

  4. UVM验证方法学之一验证平台

    UVM验证方法学之一验证平台 在现代IC设计流程中,当设计人员根据设计规格说明书完成RTL代码之后,验证人员开始验证这些代码(通常称其为DUT,Design Under Test).验证工作主要保证从 ...

  5. 【数字IC验证快速入门】45、UVM项目实践之APB_SPI(13)UVM 验证方法学总结

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  6. 验证方法学覆盖率(一):代码覆盖率

    前言:随着验证方法学的发展,覆盖率作为一种判断验证充分性的手段已成为验证工作的主导.绝大多数验证工程师会将覆盖率分为两大类:代码覆盖率和功能覆盖率.本文主要介绍有关代码覆盖率的概念. 代码覆盖率 代码 ...

  7. UVM 验证方法学之interface学习系列文章

    本系列文章,针对 interface 做了较全面的剖析,并结合实际工作中遇到的一些问题,以简单的例子形式,展示给读者,方便读者自行下载和修改,加深对interface的理解.文章中的例子,几乎涵盖了i ...

  8. VMM验证方法学学习随笔

    1,计分板(scoreboard) 记分板用来动态预测设计的响应,施加给DUT的激励同时施加给记分板,记分板中的转换函数把输入的激励全部转换成最后响应的形式,并保存在数据结构中,以传递给检查器,记分板 ...

  9. 精彩回顾|硬件敏捷开发与验证方法学研讨

    8月27日,作为2022年第二届RISC-V中国峰会的同期活动,达坦科技成功举办硬件敏捷开发与验证方法学研讨.虽然是线上分享活动,但大家热情依旧,会后在"硬件敏捷开发和验证方法学讨论群&qu ...

最新文章

  1. 输入字符串,统计英文字符、大写小写字母,数字字符,空格和其他字符
  2. java如何按照标签替换_Maven(五):resources、profiles标签的实践
  3. Ubuntu终端命令行不显示颜色
  4. 微软(MS Dynamics SL)Solomon 承包商用户2006年度会议!
  5. 面试39 MySQL读写分离
  6. 读书笔记 --- 再次阅读回流与重绘
  7. JAVA基础学习之路(十一)引用传递
  8. 为PHP7安装Windows Server 2012 R2过程记录
  9. 政府公务办公安全保密邮件系统建设
  10. html语言代码游戏,常用html语言代码
  11. poj - 2488 A Knight's Journey
  12. MapReduce之InputFormat理解
  13. 马云获评《外交政策》全球十大思想者 影响全球经济变革
  14. 初始化和清理(垃圾回收器)
  15. 锐捷 重启计算机,提示“重启计算机后才能使用锐捷客户端”常用解决方法
  16. WPF中如何在文本外面加虚线外框
  17. wap页面在微信内置浏览器浏览遇到的问题
  18. 数学建模:线性规划—投资的收益和风险模型 (Python 求解)
  19. 储存profiles是什么意思_程序开发里面的profile 是什么意思
  20. JavaScript arguments详解

热门文章

  1. android:RecyclerView交互动画(上下拖动,左右滑动删除)
  2. 中餐和西餐菜名大全(zt)
  3. DelphiXE Update1
  4. java Zip文件压缩含加密
  5. [20180823]IMU与db link.txt
  6. 如何恢复误删除的微信聊天记录?看完这个技巧分享保证你一清二楚!
  7. 111完美邮箱品牌域名——数字域名111.com
  8. 林轩田机器学习基石笔记6 - Theory of Generalization
  9. 小程序开发学习一:开发语言解析
  10. Channel 通道详解