SystemVerilog验证
2009-9
科学出版社
克里斯·斯皮尔
365
无
SystemVerilog语言的出现只有短短几年的时间,目前市面上关于systemVerilog语言的中文书籍并不多见,而且大多都是介绍systemVerilog语言的设计特性。实际上,SystemVerilog语言除了具有设计特性外,还具有验证及其他诸多方面的特性。“验证”经常被认为是简单的仿真,这当然是一种误解,本书将告诉你其中缘由。本书主要介绍SystemVerllog语言的验证技术,尤其侧重阐述如何使用受约束的随机测试来达到令人满意的覆盖率。原著作者克里斯·斯皮尔(chrisSpear)是一名资深的数字电路工程师,在软件编程方面有很丰富的经验,书中的很多观点和例子就来自于作者平时工作的积累。本书没有深奥的理论,叙述上深入浅出。而且由于作者同时也精通c++、Verilog和Vera等编程语言,所以书中对于systemVerilog与这些语言之间的差别以及易混淆的地方交代得十分清楚,特别适合systemerilog的初学者阅读。本书的翻译过程颇为波折,前后总共持续了一年多的时间。当我们在2008年初开始着手翻译工作时,使用的还是本书的第一版。但翻译工作进行到将近一半时。获悉本书的第二版即将发行,于是转为等待翻译第二版。第二版除了章节内容上有所增补以外,原有章节的很多字句也有所改动,只得重新翻译、校对。本书的翻译具体分工如下:第6、11章的翻译由张春负责;前言和第1、2、3、7、9章的翻译由麦宋平负责;第4、5、8、10、12章的翻译由赵益新负责;全书的审校和最终定稿由张春负责。衷心感谢清华大学微电子学研究所的王志华教授,他在本书翻译之初就提出了很多具有指导性的意见,并且为翻译工作提供了很多支持。衷心感谢科学出版社的支持,正是出版社各位编辑的鼓励和督促,以及他们勤勤恳恳的工作,才使得本书的中译本得以如期与读者见面。由于本书的翻译稿出现第一版和第二版交叉,新词汇又比较多。圃于译者的经验和水平,虽然经过多次仔细的斟酌和校对。仍难免存在不准确和纰漏的地方,请读者不吝批评指正!
本书讲解了SystemVerilog语言的工作原理,介绍了类、随机化和功能覆盖率等测试手段和概念,并且在创建测试平台方面提供了很多引导性的建议。本书借助大量的实例说明SystemVerilog的各种验证方法,以及如何根据实际的应用情况选择最优的方法达到尽可能高的覆盖率。而且,重点演示了如何使用面向对象编程(OOP)的方法建立由覆盖率驱动并且受约束的基本的随机分层测试平台,此外,还论述了SystemVerilog与C语言的接口技术。 本书可供具有一定Vetilog编程基础的电路工程技术人员使用,也可作为高等院校电子类、自动化类、计算机类的学生参考书。
作者:(美国)克里斯·斯皮尔 译者:张春 麦宋平 赵益新
第1章 验证导论 1.1 验证流程 1.1.1 不同层次上的测试 1.1.2 验证计划 1.2 验证方法学 1.3 基本测试平台的功能 1.4 定向测试 1.5 方法学基础 1.6 受约束的随机激励 1.7 你的随机化对象是什么 1.7.1 设备和环境配置 1.7.2 输入数据 1.7.3 协议异常、错误和违例 1.7.4 时延和同步 1.7.5 并行的随机测试 1.8 功能覆盖率 1.8.1 从功能覆盖率到激励的反馈 1.9 测试平台的构件 1.10 分层的测试平台 1.10.1 不分层的测试平台 1.10.2 信号和命令层 1.10.3 功能层 1.10.4 场景层 1.10.5 测试的层次和功能覆盖率 1.11 建立一个分层的测试平台 1.11.1 创建一个简单的驱动器 1.12 仿真环境的阶段 1.13 最大限度的代码重用 1.14 测试平台的性能 1.15 结束语第2章 数据类型 2.1 内建数据类型 2.1.1 逻辑(logic)类型 2.1.2 双状态数据类型 2.2 定宽数组 2.2.1 定宽数组的声明和初始化 2.2.2 常量数组 2.2.3 基本的数组操作——for和foreach 2.2.4 基本的数组操作——复制和比较 2.2.5 同时使用位下标和数组下标 2.2.6 合并数组 2.2.7 合并数组的例子 2.2.8 合并数组和非合并数组的选择 2.3 动态数组 2.4 队列 2.5 关联数组 2.6 链表 2.7 数组的方法 2.7.1 数组缩减方法 2.7.2 数组定位方法 2.7.3 数组的排序 2.7.4 使用数组定位方法建立记分板 2.8 选择存储类型 2.8.1 灵活性 2.8.2 存储器用量 2.8.3 速度 2.8.4 排序 2.8.5 选择最优的数据结构 2.9 使用typedef创建新的类型 2.10 创建用户自定义结构 2.10.1 使用struct创建新类型 2.10.2 对结构进行初始化 2.10.3 创建可容纳不同类型的联合 2.10.4 合并结构 2.10.5 在合并结构和非合并结构之间进行选择 2.11 类型转换 2.11.1 静态转换 2.11.2 动态转换 ……第3章 过程语句和子程序第4章 连接设计和测试平台第5章 面向对象编程基础第6章 随机化第7章 线程以及线程间的通信第8章 面向对象编程的高级技巧指南第9章 功能覆盖率第10章 高级接口第11章 完整的System Verilog测试平台第12章 System Verilog与C语言的接口
插图:第1章验证导论“有些人相信,我们缺乏能够描述这个完美世界的编程语言……”——《黑客帝国》,1999设想一下,你被委任去为别人建一幢房子。你该从哪里开始呢?是不是一开始就考虑如何选择门窗、涂料和地毯的颜色,或者浴室的用料?当然不是!首先你必须考虑房的主人将如何使用房子内部的空间,这样才能确定应该建造什么类型的房子。你应该考虑的问题是他们是喜欢烹饪并且需要一个高端的厨房,还是喜欢在家里边看电影边吃外卖比萨?他们是需要一间书房或者额外的卧室,还是受预算所限要求更简朴一些?在开始学习有关SystemVerilog语言的细节之前,你需要理解如何制订计划来验证你的设计,以及这个验证计划对测试平台结构的影响。如同所有房子都有厨房、卧室和浴室一样,所有测试平台也都需要共享一些用于产生激励和检验激励响应的结构。本章将就测试平台的构建和设计给出一些引导性的建议和编码风格方面的参考,以满足个性化的需要。这些技术使用了Bergeron等人2006年所著《SystemVerilog验证方法学》书中的一些概念,但不包括基本类。作为一个验证工程师,你能学到的最重要的原则是“程序漏洞利大于弊”。不要因为害羞而不敢去找下一个漏洞,每次找到漏洞都应该果断报警并记录下来。整个项目的验证团队假定设计中存在漏洞,所以在流片之前每发现一个漏洞就意味着最终到客户手里少一个漏洞。你应该尽可能细致深入地去检验设计,并提取出所有可能的漏洞,尽管这些漏洞可能很容易修复。不要让设计者拿走了所有的荣誉——没有你的耐心细致、花样翻新的验证,设计有可能无法正常工作!
《SystemVerilog验证:测试平台编写指南(原书第2版)》:实用技术
无
学习systemverilog和IC验证入门必看!
应该系统的学一下SystemVerilog了!
对做ic验证平台的不错
好书,适合system verilog入门学习使用,图书馆好久都借不到,买了慢慢看
不错,建议搞验证的人员买来看下
最近在学习搭建验证环境,买了这本书很实用。
学习System verilog很好的入门教材,对C++熟悉的话就更perfect啦。
验证必备书,不过是第二版的。新出的第三版没有中文版,买这个可以对照着英文看,方便学习。
验证的好书
挺适合想做数字验证的人阅读
到处都缺货,最后还是在武汉发到长沙,长沙再快递到北京。虽然折腾,但这本书绝对值得这么折腾,是本经典书籍,可以好好学习sv
当然, 英文原版的更好, 毕竟把专业名词翻译成中文后, 使用时还得再想他的英文原意.
读完了英文版, 但是中文版的买了没有仔细读, 有些地方翻译得有点费解, 不过总起来说还是保持了原文的精髓.
周边的人都用的这本书,是英文版比较好的翻译书籍了。
这种专业书,交给专业人士评论吧。帮人代买的
不错的讲解sv的教程,书质量也不错,赞一个
适合初学者,讲的很详细,尤其举例说明带解释!
很好的一本书,入门很有用
这本书我买了4本,有一本的面子划破了,无伤大雅能看也就不退货了,希望下次在配货时注意点
书挺好,老公很喜欢,而且当当的最便宜
书讲的较全面,适合已经有基础的人看`~!
书还没有看。我让周末送过来结果提前送过来了。送货员等到了6点,很有耐心,赞一个。
书的质量不错,内容也很适合初学者,赞一个~
学习资料。入门必备
内容还算比较适合学习,推荐一下
可以作为语法参考
和不错的书,讲的很详细
书挺好的,正版,希望能有用处。。。
书还不错......
书内容不错,服务态度也很好,开始书页折了,申请换货以后,很快就拿到新书了
书很好,服务态度也非常好,下次有需要还会光顾的
纸质蛮好的,就是送货速度不够快。
遇到问题,查一下,还可以
外文经典 值得信赖
给老婆买的,说是不错!
已经阅读完前2章,感觉不错,浅显易懂
适合入门看,结合英文版以及SV工具书一起看,挺好的
因为春节期间快递不上班所以送货相对效率可以接受,包装不错,而且有正规发票,货到付款,各项服务都满意,给个好评
是同事先买来看的,看完说真的能戒烟,买给老爸,不知道是否能有成效!
PFGA同志们值得一读
没读完~还OK
买了还没细读,感觉还不错
好评啊~~~~
发货速度很给力!不错
通俗易懂,相当不错
发票未保存好,货到的时候发票已损毁
送货还是很快的,上午看到发货,下午就到了。
很好很强大,就是太贵了一些!
待阅,终于等到了
书中重要写的的是验证,大型verilog程序使用systemverilog比较好,可以阅读一下
对systemverilog验证语法讲解很详细,适合数字IC验证进阶学习。
一直都用verilog,看看systemverilog,希望有帮助,纸质一般
书是好书,但是印刷的质量不是非常的好,和我从学校图书馆里借来的相比,印刷就有点稍差,而且纸张显得较薄,没有图书馆里借来的厚,但总体来说还行,不影响阅读。对于想学习SystemVerilog的同学,这本书是不错的学习资料。这本书对应的英文版的第三版已经出来了,网上可以下载到电子版。
书不错。
如果想边看边练,可能不太适合,因为书上没有配套比较完整的例子。
因为现在工作中还用不到System Verilog
本人也不着急,慢慢看,故进步也比较慢。
正在看,学习systemvrilog验证很好的书!在语法介绍部分,没有太完整的例子,目前看到的缺点……
入门级书籍,对英文不好的雁阵工程师来说不错,但整体侧重于VMM的验证方法学
专业人员用的书,男朋友说蛮实用的,我不太懂……
书还可以,内容还没仔细品读
作为一个初学者,还是特别适用的,推荐大家适用
看得有点晦涩,还凑合吧
应该是正版 还没看完
正在看,内容呵排版还不错
翻译的不错!入门够用了!
感觉还不错,对初学者来说,非常适合!
发货的速度比较快
该讲清楚的扯东扯西,大家都知道的道理翻来覆去地讲。这还是我看书第一次看的火气上来了。就这语言功底也好意思出来写书(翻译),看书都看得无语了。别的书都是教书育人,这本书就是让人越看越郁闷。。。
不过书上的例子基本上都是不完整的,要去网上下,错误还是比较多,但是有勘误还是较好,翻译得还可以!
本来是想买Verilog参考书的,买成了这个,没起到作用。装订一般,有些书页快掉出来了。
本书是同类书籍中介绍比较易懂的,并配合一些实例,总体上来说还可以。
算是翻译过来的SV书籍中不错的吧,缺点是缺少语法的讲解。要是讲一讲语法就完美了
适合初步学习
书价那么高,纸质却很差劲~
给个中平,还没看,
很久就想买了,可惜买的时候没打折,算是比较贵的了,还不错
这不是我买的,此评论无用。
思路不是很清晰,初学者选择它不是很好的选择。可以作为有一定验证经验人士的handbook!
质量不是很好,封皮还有一块污点
书的内容还可以,但是质量很差,多处空白页,肯定是盗版书!亚马逊很让人失望啊!!!
内容讲解的很全面,例子也很多
适合初学者,很基础的教材
第四章里很多地方都错了,不能忍受!!!
帮同学买的,他在学习这个。亚马逊的包装什么都很好,物流也很快的。就是这本书价格会经常变,差别不太大就是了,在两块钱以内。
学习SV的好书,值得推荐
书本价格实惠,印刷清楚,纸张好。和以前一样。
sv的经典书,适合学生或者工作人员学习或者查询~~ 还是很不错~~~
买回来一直没看,放在公司
原书内容是非常可以,网上也有很多评论中文书不怎么样,但是作为大略的参考还是可以
质量不错 几乎人手一本了 哈哈 推荐下
主要是工作需要,写的还不错
教材本身是经典,翻译也还不错。验证必备语言。
还行吧,基本就是这本书了
书不错,是公司买的
正在看,还行,值得一看