新書推薦:
《
巨人传(插图珍藏本)
》
售價:NT$
3289.0
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:NT$
332.0
《
偿还:债务与财富的阴暗面
》
售價:NT$
347.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
408.0
《
封建社会农民战争问题导论(光启文库)
》
售價:NT$
296.0
《
虚弱的反攻:开禧北伐
》
售價:NT$
429.0
《
泰山:一种中国信仰专论(法国汉学经典译丛)
》
售價:NT$
380.0
《
花外集斠箋
》
售價:NT$
704.0
|
編輯推薦: |
本书可以作为学习System Verilog验证语言的初级阶段读物。书中描述了语言的工作原理并且包含了很多例子,这些例子演示了如何使用面向对象编程OOP的方法建立一个基本的、由覆盖率驱动并且受约束的随机分层测试平台。本书在创建测试平台方面有很多引导性的建议,能够帮你弄清楚为什么要使用类、随机化和功能覆盖率的概念。一旦你掌握了这门语言,就可以通过参考文献中所列举的方法学方面的书籍来学习关于建立测试平台的更多信息。
|
內容簡介: |
本书讲解了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验证方法学》书中的一些概念,但不包括基本类。
作为一个验证工程师,你能学到的最重要的原则是“程序漏洞利大于弊”。不要因为害羞而不敢去找下一个漏洞,每次找到漏洞都应该果断报警并记录下来。整个项目的验证团队假定设计中存在漏洞,所以在流片之前每发现一个漏洞就意味着最终到客户手里少一个漏洞。你应该尽可能细致深入地去检验设计,并提取出所有可能的漏洞,尽管这些漏洞可能很容易修复。不要让设计者拿走了所有的荣誉——没有你的耐心细致、花样翻新的验证,设计有可能无法正常工作!
……
|
|