马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
uvm primer.zip
(4.74 MB, 下载次数: 7474 )
半年前发的《The UVM Primer》中文翻译, 是小弟一次性把原来的英文文档翻译下来, 没怎么检查过就发布的. 半年过去, 重新看翻译稿, 发现了很多的错误还有前后不一致的地方. 小弟做了一番修改, 由于原帖已经无法编辑, 所以在这里重新发一次, 顺便刷下分哈哈(发资源才是刷分利器啊), 下文档送源码.
然后跟大家分享一点读后感.
这本书(指的是原版的啦)是一本入门读物, 我觉得写的真的很好, 不然小弟我也不会又来安利一次啦. 推荐大家在看张强的UVM实战前先看看这本书, 个人总结一下, 这本书的优点如下:
1. DUT复杂度适中, 因此很多特性(特别是sequence, 特别是Fibonacci数列sequence)都是言之有物的, 相比之下UVM实战中的DUT太简单了, 对于验证菜鸟来讲很多特性讲起来就体会不了这么深;
2. 包含了覆盖率的内容, 这是很多UVM读物里都不会涉及的东西, 结合上一点来讲, 这个覆盖率部分写的很好, 展示了完整的从bin的定义到采集的过程, 我当时就是看了这个, 对于Functional Coverage这个概念有了顿悟的感觉;
3. 对OOP有着恰到好处(也许是对我这个OOP门外汉来讲是恰到好处的, 蛤蛤)的讲解. 由于作者有着Java的背景, 对于Systemverilog的理解的高度是很高的, 一些语法结构的编译时行为和运行时行为都信手拈来让人膜拜, 设计模式的讲解也很到位. 其中对多态和泛型(参数化类)的讲解是很重要的, 个人感觉掌握这两个语法对UVM源码的学习是很关键的.
4. 一些编程思想和规范的传达, 比如要强调模块化和复用, 一个模块只完成简单的任务, 不要复制代码(DRY, Don't Reapeat Yourself)等.
5. 内容丰富但是篇幅短小, 英文版200页出头, 中文版140多页蛤蛤.
然后有些地方需要注意, 留个心眼:
1. 用的语法还是比较旧的, 比如说代码中还在用run_phase.
2. TLM部分我觉得讲的还不够细, 为什么用在BFM组件里用FIFO呢, 有种怪怪的感觉. TLM部分大家还是多看看其他资料为好.
3. 要注意Systemverilog的OOP部分主要特性是来自Java, 但是来自C++的特性也不少, 比如说基于virtual的动态绑定, 类作用域指示符等.
总的说来, 这本书是非常好的入门读物, 但是不是读了这本书就一通百通了, 还是要多看其他的进阶资料多学习, 这样才能跟大家谈笑风生. |