本文主要是介绍UVM: 1_UVM历史等介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1验证语言
1.1. Verilog
1)起源于20世纪80年代中期,1995年成为IEEE standard,即 IEEE Standard 1364 — 1995.
2)后续版本2001年推出。
3)最新标准2005年推出,即 IEEE Standard 1364 — 2005.
1.2Systemverilog
1)起源于2002年。
2)2004年发行。基于Accellera 的 Systemverilog 3.1a,Systemverilog 3.1a 是 Verilog扩展集。(所以3.1a 那个文档早已过时了)
3)2005年成为IEEE standard,即 IEEE Standard 1800 — 2005.
4)最新版是IEEE Standard 1364 — 2012.
1.3小结
1)systemverilog 包含了verilog的=所有feather,我觉得verilog可以不要了。
2)1800 — 2005这个文档我看到200多页,发现了赤裸裸的几个错误。有些是 typo,无伤大雅;但有些真的是描述性错误,如果不明确指出,很多人是比较难看出来的。为什么我这么自信那些是描述性错误呢?因为我有那部分 writer 在网络上的说明。大概意思就是,这个文档写的人比较多,版本管理有些乱,有些他改完了,需要给最终的负责人updata,但是最后汇总用的还是旧的,到时候开帖子再具体说是哪些吧!!
2 验证方法
2.1VMM
2006年,Synopsys推出。
2.2OVM
2008年,Candence 和 Mentor 推出。
2.3UVM
2011年2月,Accellera推出,上面三家都支持。
2.4小结
大家都用UVM,VMM 和 OVM 就彻底byebye啦。
3. 学习资源
3.1 systemverilog文档 或 书
1)IEEE Standard 1364 — 2012.
官方文档,重要性不用多说。好多人认为这个文档太厚,只是作为查阅使用。但是我觉得很系统的扫一遍还是有好处的,也许我也忘记很多或者理解的不深入,但是我有印象它曾经讲过什么,而且看一遍真的有好处,有些事情一直以为理所当然的,其实是有原因的,这种感觉看到过程中,不断冲击我。
2)Systemverilog for verification(第三版)
重点在systemverilog的各种讲语法现象,2012那个文档的example实在少得可怜,如果看不懂可以看看这个里面加深理解。
3)我用的是VCS,它的安装目录doc下有好多例子,有些例子很好,有些例子从篇幅上比较浪费,不过还是很好的参考。
4)网络上其他的例子,经常Google啊!
3.2 UVM文档 或 书
只介绍我真正看过的,顺序基本上是按照入手由易到难。
1)《UVM实战》
张强同志的《UVM实战》,绝对是入门利器啊。这名作者的贡献真是大,让我这种小白有章可循,虽然我没见过他,不过能写出这么好的书,一定很帅。这本说我半年前用了一个月看完,所有代码都跑过,终于知道自已 “会了什么” 和 “有什么不会”。现在再看第二遍,因为看第一遍的时候知道 “有什么不会”,这半年有了些深入的理解,现在可利用的资料又很多,所以要看第二遍。写了这些贴也是提醒下自己,加深印象。嗯,我的blog正在复活!!
2)《The_UVM_Primer》
作者是Salemi Ray,好像是Mentor的人。这本书很薄,与其说是书,倒不如说是一本十几个实验的指导书,也是step by step方式。这是我当初找到的第一本还不错的书。但是从头看到尾,我觉得有一个最大的缺点就是,作者大部分时候都只说 “要这么做”,但是很少讲 “ 为什么这么做”,对比的一些深入讨论也没有(也许是这本书薄的原因吧)。但是还是很不错的,这本说有一点是《UVM实战》没有覆盖到的,就是coverage的部分。当然,这部分也简单,网上的例子一抓一大把。这本书我是用的电子版,copyright的问题我肯定不会share啦。不要说我小气!!!因为勤奋的人知道这个书名和作者,也一定有办法弄到手(taobao);而懒惰的人,即使白给他,他也不会看,只不过是想当资料的收藏家,寻找心理安慰罢了。
3)a practical guide to adopting the universal verfication methodology,
这本说我只是扫过一些章节,如果上两本看完,你会觉得这个只是补充和巩固。
4)Systemverilog Assertions and Functional Coverage
前半部分将assertion,后半部分讲coverage。我对assertion一直没什么感觉,但是后面的coverage的思考帮助真的很大,什么样的cover是真正有意义的。看这本书的前提是systemverilog的基础一定要非常扎实,而其要有比较多的实践经验。这两者缺一不可,要不然怎么和作者产生共鸣呢?
5)uvm-cookbook-complete-verification
Mentor 的文档,600页,这应该算是很官方的文档了。介绍了一个完整的UVM的各个部分,最后给了一个step by step 的例子。不要觉得这是 Mentor 出的,就只符合Mentor的产品,当看到其他家结构时,比如VIP的环境,这些结构时惊人的相似!如果看完上面的文档,再看这个,就会觉得里面大篇幅的废话,因为你会了嘛!
Mentor的网站上还有很多其他的文档,你们自己去看吧:https://verificationacademy.com
6)UVM_Class_Reference_Manual_1.2 (最新的是1.2)
根正苗红的官方文档,最最最最牛逼的文档,也是最最最最傻X的文档。牛逼在于介绍了所有的 phase 和 所有components,object的关系,function等等等。傻X在于就像是lib库的感觉,实在tedious。不过还是应该前6章或7章(也就100页左右)。前5章会帮助你建立完整的框架结构,看6,7章并不是因为这2章有什么特殊,而是熟悉这个文档的写作方式,方便以后快速检索,查阅。如果有了上面的实践经验,再看这些文档,感触更深,更有帮助,会有一种忍不住在跑一遍所有的case,点击到lib文件挨个看一遍,对照一下,看看人家到底是怎么实现的,而不是只会傻傻的用。
7)uvm_users_guide
和上一个文档配套的,主要讲一些可操作性的内容。最有价值的应该是最后ubus的例子讲解,因为 uvm-1.2 源文件自带的这个例子是没有任何讲解的,原来在这里呀!
8)各大公司出的类似 “白皮书” 的文档和别人写的小论文,主要讲一些UVM中经常使用的一些语言,比如Google一下config_db之类的就有好多。
3.3 UVM相关网站
这部分真的不重要,大家不要沉迷于这些网站,只所以有这些是因为Google的时候最后总是到这几个网站。是通过问题-->现象,而不是现象-->问题、专门去找这些网站的。
1)http://www.testbench.in 很全面的网站,systemverilog,UVM,相关的知识都有涉及。
2)www.doulos.com 和上面的差不多,不过看起来更专业。最牛X的是 http://www.edaplayground.com/ 也是他家的,大家一定要点进去看看,
3)UVM的官网(accellare),Mentor的官网。
4)http://stackoverflow.com/
4.总结
上面的资料不是最重要的 ,重要的使我们要善于思考,勤于实践,认真总结。用电影《心花路放》的话说就是“走点儿心”。革命先烈陈云也说过“不唯上、不唯书、只唯实,交换、比较、反复”,如果我们不以这样的标准严格要求自己,又怎么能标榜自己是社会主义国家的和谐公民呢?怎么在这“新常态”的新时代实现中国梦呢?大道理就那么几条,又有几人能做到呢。每个行业都有出类拔萃的顶尖人才,凭什么不能是我们呢?嗯,一定使我们!
这篇关于UVM: 1_UVM历史等介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!