uvm入门看那本书好?
BOW
UVM 官网user guide入手很快,另外还有张强写的那本《UVM1.1 应用指南及源代码分析》和cadence出的一本书可以参考,关键要实际项目驱动
搜一下 doulos.com上的getting started wiyh UVM - a first example
基本的入门。
uvm还是蛮复杂的,RAL的应用' scoreboard的创建' user-friendly testbench创建'''''''每个都要花好长时间去理清楚
uvm cook book
统一回复,多谢上面的达人指点
我一直觉得uvm这种东西
就是一帮搞C++的人,为了把面向对象推广到rtl验证上面来,为炫技而搞的
要让一帮写rtl的人去理解面向对象,实在是学习曲线比较陡,两个完全八竿子到不到一
起的东西
当然,我承认uvm有好处,但是好处体现在工具的自动统计结果上
至于语言本身。。。。。。
还是学C++,学完再看uvm
记得Mentor最早折腾AVM那个家伙,就是软件工程师出身
验证方法学的好处是提高了验证平台的可重用性
不用先学C++
先看systemverilog就好,这个是UVM的基础,也是此前VMM,AVM,OVM的基础
SV中类的概念没有C++那么复杂,主要的就是扩展/继承,多态,然后就是其特有的仿真流程控制的问题
SV的基础比较好,UVM看起来并不是特别复杂,当然有比较好的参考书也是需要的
《UVM实战》张强
网上流传的电子版“UVM1.1源代码分析”就是他写的
这书是正式出版的
已经买了。感觉很好。
可以看看sv的基础书籍,systemverilog for verification
第二版中文版
个人感觉语法风格更像Java+verilog。
当然这是因为UVM用的System Verilog。
个人实际项目经验觉得UVM的东西其实不太可重用……
当然也有可能是因为我们组第一次用UVM,
搭架子起来的时候压根没考虑什么可重用性。
多做几个相似的项目就能体会到了
面向对象最经典的东西也就是继承和多态
搞清楚这两个问题,面向对象你也就搞懂了
我的意思是你学完C++再来看uvm,你会觉得很简单
因为C++的学习曲线远比uvm陡
可能吧
其实我不是很喜欢java
作为低端码农的我,还是更喜欢可以掌控内存的C++,而不是靠编译器等工具去回收内存
的java
至于多做几个相似项目,这个有点牵强了。你用其他语言,做类似项目的验证,也一定越来越快。
个人理解是eda厂商要卖产品,就得不断推出新概念,这是uvm出现和普及的最主要动力。
我自己感觉uvm的好处一个是register model,一个是coverage。当然configuration也比较好。
对于芯片验证来说,最重要的一个是reference model,一个是coverage definition,有了这两点,我觉得用不用uvm都行。
uvm对应的是MFC,c++对应的是SV。对应关系都搞错了,没得比较。
uvm是一套验证方法学而不是一门语言,C++学得再好,没有验证的基础也无法理解uvm。
uvm的核心是factory,sequence以及tlm。用uvm的写出verilog风格的testbench也不是不肯能。
UVM是业界标准而不是哪家EDA公司的产品,事实上是用UVM之后项目更容易在不同仿真器之间切换。
我没有说uvm不是标准,但是这个标准如果脱离了3家eda公司的产品,不知道还怎么实现。
uvm更确切的说是一套规则和library,核心目的是eda厂商寻找新的产品方向和不断升级仿真软件的理由。
至于在不同仿真器之间切换,不是uvm的目的,只是各个厂家遵守规定和library的结果。