UVM: 1_UVM历史等介绍

2024-04-10 17:58
文章标签 介绍 历史 uvm

本文主要是介绍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历史等介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891754

相关文章

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

20.Spring5注解介绍

1.配置组件 Configure Components 注解名称说明@Configuration把一个类作为一个loC容 器 ,它的某个方法头上如果注册7@Bean , 就会作为这个Spring容器中的Bean@ComponentScan在配置类上添加@ComponentScan注解。该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan>@Sc

C++标准模板库STL介绍

STL的六大组成部分 STL(Standard Template Library)是 C++ 标准库中的一个重要组成部分,提供了丰富的通用数据结构和算法,使得 C++ 编程变得更加高效和方便。STL 包括了 6 大类组件,分别是算法(Algorithm)、容器(Container)、空间分配器(Allocator)、迭代器(Iterator)、函数对象(Functor)、适配器(Adapter)

下载Xcode的历史版本

1.打开链接:https://developer.apple.com/download/more 进入页面 2.在搜索框输入Xcode,回车搜索.如图,找到各种版本Xcode 搜索Xcode 3.双击要下载的Xcode,或者点击前面的+,打开详细.点击下载 下载Xcode 4.接下来就耐心等待下载吧!

一二三应用开发平台应用开发示例(4)——视图类型介绍以及新增、修改、查看视图配置

调整上级属性类型 前面为了快速展示平台的低代码配置功能,将实体文件夹的数据模型上级属性的数据类型暂时配置为文本类型,现在我们调整下,将其数据类型调整为实体,如下图所示: 数据类型需要选择实体,并在实体选择框中选择自身“文件夹” 这时候,再点击生成代码,平台会报错,提示“实体【文件夹】未设置主参照视图”。这是因为文件夹选择的功能页面,同样是基于配置产生的,因为视图我们还没有配置,所以会报错。

49-1 内网渗透 - Bypass UAC介绍

一、Bypass UAC         用户账户控制(UAC)是Windows操作系统的一种安全机制,旨在防止未经授权的应用程序自动安装并防止非授权修改系统设置。它确保应用程序和任务通常在非管理员账户的安全上下文中运行,除非明确需要管理员权限,用户才会被提示确认。         对于非RID 500的管理员用户(除了内置的Administrator账户),当他们登录时,系统会为其分配两个访

okhttp3的详细介绍

这篇文章说下OkHttp的基本用法,是最新的3哦,如果你曾经在网上搜索OkHttp怎么使用发现有些类没有了可能是因为人家说的是2。首先说下OkHttp3是Java和Android都能用,Android还有一个著名网络库叫Volley,那个只有Android能用。导入自己到入jar包,别漏了okio:okhttp-3.3.0.jarokio-1.8.0.jarmaven方式:<dependen

Retrofit详细介绍

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51910837 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的收货! 一、Retrofit 是什么? Retrofit is a type-safe HTTP client for Android and java. Retrofit 是与 Web 服务器提

Retrofit介绍案例

Retrofit这东西我就不多做解释了,反正最近应用很广,基本都快和OkHttp一起成为安卓的事实网络访问标准框架了。   这么好的一个东西,官网文档实在是不算太好,说的不太清晰。按官网的经常会有“Could not locate ResponseBody converter for”问题。 反正折腾了一番,终于跑出来了一个例子。这里把正确的例子写出来,方便大家参考。 首先要注意

okclient2详细介绍

在 Java 程序中经常需要用到 HTTP 客户端来发送 HTTP 请求并对所得到的响应进行处理。比如屏幕抓取(screen scraping)程序通过 HTTP 客户端来访问网站并解析所得到的 HTTP 文档。在 Java 服务端程序中也可能需要使用 HTTP 客户端来与第三方 REST 服务进行集成。随着微服务(microservices)的流行,HTTP 成为不同服务之间的标准集成方式。H