图书介绍
SystemVerilog与功能验证PDF|Epub|txt|kindle电子书版本下载
![SystemVerilog与功能验证](https://www.shukui.net/cover/33/30222699.jpg)
- 钟文枫编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111313731
- 出版时间:2010
- 标注页数:209页
- 文件大小:161MB
- 文件页数:225页
- 主题词:硬件描述语言,SystemVerilog-程序设计
PDF下载
下载说明
SystemVerilog与功能验证PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 功能验证技术与方法学概要1
1.1 功能验证与验证平台1
1.1.1 专用芯片设计流程1
1.1.2 什么是验证2
1.1.3 验证平台可以做些什么3
1.1.4 功能验证流程5
1.2 验证技术和验证方法学8
1.2.1 黑盒、白盒与灰盒验证8
1.2.2 验证技术9
1.2.3 验证存在的挑战13
1.2.4 验证方法学13
1.2.5 断言验证15
1.2.6 覆盖率驱动验证16
1.3 硬件验证语言21
1.3.1 Open Vera21
1.3.2 e语言21
1.3.3 PSL22
1.3.4 SystemC22
1.3.5 SystemVerilog22
第2章 数据类型与编程结构24
2.1 数据类型24
2.1.1 两态数据类型25
2.1.2 枚举类型和用户自定义类型26
2.1.3 数组与队列28
2.1.4 字符串36
2.1.5 结构体和联合体37
2.1.6 常量39
2.1.7 文本表示41
2.1.8 操作符和表达式43
2.2 过程语句45
2.2.1 赋值语句45
2.2.2 控制结构46
2.3 函数和任务52
2.3.1 函数和任务的区别52
2.3.2 子程序定义53
2.3.3 子程序参数53
2.3.4 子程序返回56
2.3.5 自动存储56
2.4 编程结构57
2.4.1 模块57
2.4.2 接口59
2.4.3 过程块和语句块60
2.4.4 数据对象62
2.4.5 程序块62
2.4.6 简单的验证架构63
2.5 数据的生命周期和作用域64
2.6 数据类型转换65
2.6.1 静态类型转换66
2.6.2 动态类型转换66
第3章 并发进程与进程同步68
3.1 fork...join68
3.1.1 三种并发方式69
3.1.2 进程与变量72
3.1.3 进程控制73
3.2 mailbox74
3.2.1 mailbox的基本操作75
3.2.2 参数化mailbox77
3.2.3 mailbox应用实例77
3.3 semaphore78
3.3.1 semaphore的基本操作79
3.3.2 semaphore应用实例80
3.4 event81
3.4.1 事件触发81
3.4.2 等待事件81
3.4.3 事件的触发属性81
第4章 面向对象编程入门83
4.1 过程编程语言与面向对象编程语言83
4.2 类84
4.2.1 类的基本概念85
4.2.2 构造函数87
4.2.3 静态属性与方法89
4.2.4 this操作符91
4.2.5 对象的赋值与复制91
4.2.6 块外声明94
4.3 石头、剪刀、布仲裁器实例(基于类的验证平台)95
4.3.1 验证环境顶层96
4.3.2 验证组件99
第5章 虚接口107
5.1 虚接口的基本概念及应用107
5.1.1 虚接口的基本概念107
5.1.2 虚接口的应用109
5.2 端口模式和时钟控制块113
5.2.1 端口模式113
5.2.2 时钟控制块114
第6章 随机测试118
6.1 激励产生118
6.1.1 什么是随机119
6.1.2 潜在问题119
6.2 随机生成机制120
6.2.1 随机系统函数120
6.2.2 randcase/randsequence121
6.3 基于对象的随机生成122
6.3.1 随机变量123
6.3.2 约束定义124
6.3.3 随机方法130
6.3.4 随机使能控制131
6.3.5 约束的动态修改134
6.4 标准随机函数134
6.5 随机激励的应用135
第7章 继承与多态137
7.1 继承和多态的基本概念137
7.2 继承与子类137
7.2.1 类的继承与重写138
7.2.2 子类对象与父类对象的赋值141
7.2.3 构造函数调用142
7.3 虚方法与多态144
7.3.1 虚方法145
7.3.2 多态148
7.4 虚类和参数化类148
7.4.1 虚类148
7.4.2 参数化类149
7.5 约束重写150
7.6 数据的隐藏与封装151
第8章 功能覆盖率153
8.1 覆盖率153
8.1.1 目标覆盖率153
8.1.2 代码覆盖率154
8.1.3 功能覆盖率154
8.2 SystemVerilog的功能覆盖率155
8.2.1 覆盖组(covergroup)155
8.2.2 覆盖点(coverpoint)157
8.2.3 交叉覆盖点(cross)159
8.3 覆盖率驱动的验证平台162
第9章 断言167
9.1 断言的概念及作用167
9.2 SVA169
9.2.1 SVA的语法层次结构170
9.2.2 SVA应用实例173
9.2.3 bind175
第10章 验证重用与验证方法学178
10.1 验证重用中存在的问题178
10.2 验证方法学OVM179
10.3 OVM的四大核心技术180
10.3.1 基于Factory的验证平台动态构建181
10.3.2 动态的配置机制183
10.3.3 测试用例在验证架构的顶层184
10.3.4 激励产生与验证架构分离185
第11章 SystemVerilog与C语言的接口187
11.1 什么是DPI187
11.2 DPI的应用188
11.2.1 方法的导入188
11.2.2 方法的导出190
11.2.3 DPI的数据类型映射191
11.2.4 DPI的具体应用192
附录A 覆盖率内置参数和方法列表193
附录B 断言重复操作符和序列操作符列表195
附录C QuestaSim简要介绍198
附录D 常用术语中英文对照205
参考文献207
后记208
源代码2-1 枚举类型实例:enum_example.sv26
源代码2-2 用户自定义类型实例:typedef_example.sv28
源代码2-3 多维数组和压缩数组实例:array_example.sv30
源代码2-4 动态数组实例:dy_array_example.sv31
源代码2-5 关联数组实例:as_array_example.sv33
源代码2-6 队列实例:queue_example.sv35
源代码2-7 结构体实例:struct_example.sv38
源代码2-8 类型参数化实例:para_type_example.sv40
源代码2-9 赋值语句实例:assign_example.sv46
源代码2-10 if条件选择语句实例:if_example.sv47
源代码2-11 case条件选择语句实例:case_example.sv47
源代码2-12 for循环语句实例:for_example.sv48
源代码2-13 while循环语句实例:while_example.sv49
源代码2-14 do...while循环语句实例:dowhile_example.sv49
源代码2-15 repeat循环语句实例:repeat_example.sv50
源代码2-16 forever循环语句实例:forever_example.sv51
源代码2-17 foreach循环语句实例:foreach_example.sv51
源代码2-18 ref引用端口类型实例:ref_example.sv54
源代码2-19 模块实例:module_example.sv58
源代码2-20 接口实例:interface_example.sv59
源代码2-21 静态变量实例:static_auto_example.sv65
源代码3-1 fork...join语句实例:fork_example.sv70
源代码3-2 fork...join_any语句实例:fork_any_example.sv71
源代码3-3 fork...join_none语句实例:fork_none_example.sv71
源代码3-4 disable语句实例:disable_example.sv73
源代码3-5 mailbox应用实例:mailbox_example.sv77
源代码3-6 semaphore应用实例:semaphore_example.sv80
源代码3-7 event应用实例:event_example.sv82
源代码4-1 简单以太包的类实例:ether_packet.sv84
源代码4-2 类的构造函数实例:new_construct_example.sv88
源代码4-3 类的静态变量实例:static_var_class.sv89
源代码4-4 类的静态方法实例:static_method_class.sv90
源代码4-5 this操作符实例:this_class_example.sv91
源代码4-6 类的浅复制实例:shallow_copy.sv92
源代码4-7 类的自定义深复制实例:deep_copy.sv93
源代码4-8 仲裁器设计(石头、剪刀、布):rps_dut.sv95
源代码4-9 验证环境顶层(石头、剪刀、布):top_class_based.sv96
源代码4-10 时钟复位模块(石头、剪刀、布):rps_clock_reset.sv97
源代码4-11 验证环境库文件(石头、剪刀、布)——激励单元片段:rps_env_pkg.sv98
源代码4-12 验证环境库文件(石头、剪刀、布)——激励生成器片段:rps_env_pkg.sv99
源代码4-13 事务驱动器(石头、剪刀、布):rps_driver.sv100
源代码4-14 监控器(石头、剪刀、布):rps_monitor.sv101
源代码4-15 基于类的验证环境(石头、剪刀、布):rps_env.sv102
源代码4-16 验证环境库文件(石头、剪刀、布)——记分板片段:rps_env_pkg.sv103
源代码5-1 虚接口例子:virtual_interface_example.sv108
源代码5-2 定义虚接口(石头、剪刀、布):interface.sv109
源代码5-3 基于虚接口的事务驱动器(石头、剪刀、布):rps_driver.sv110
源代码5-4 基于虚接口的监控器(石头、剪刀、布):rps_monitor.sv111
源代码5-5 基于虚接口的验证环境(石头、剪刀、布):rps_env.sv111
源代码5-6 基于虚接口的验证顶层(石头、剪刀、布):rps_tb_top.sv112
源代码5-7 端口模式实例:interface_mode.sv113
源代码6-1 randcase实例:randcase_example.sv121
源代码6-2 randsequence实例:randsequence_example.sv122
源代码6-3 基于类的随机变量实例:class_random_example.sv123
源代码6-4 随机约束块实例:constraint_example.sv125
源代码6-5 inside操作实例:inside_example.sv125
源代码6-6 dist操作实例:dist_example.sv126
源代码6-7 foreach操作实例:foreach_random_example.sv128
源代码6-8 solve...before操作实例:solve_before_example.sv129
源代码6-9 随机变量使能模式实例:rand_mode_example.sv132
源代码6-10 随机约束使能模式实例:constraint_mode_example.sv133
源代码6-11 标准随机函数实例:std_randomize_example.sv135
源代码6-12 基于类的随机激励实例(石头、剪刀、布):rps_env_pkg.sv135
源代码7-1 类的继承实例:class_extend_example.sv139
源代码7-2 类的重写实例1:class_override_example.sv139
源代码7-3 基类与派生类实例:base_derived_example.sv141
源代码7-4 super操作实例:super_example.sv142
源代码7-5 构造函数链实例:new_chain_example.sv143
源代码7-6 类的重写实例2:base_override_example.sv144
源代码7-7 虚方法与多态实例:virtual_poly_example.sv145
源代码7-8 参数化类实例:parameterized_class.sv149
源代码7-9 约束块重写实例:constraint_override_example.sv150
源代码8-1 功能覆盖组实例:covergroup_example.sv156
源代码8-2 功能覆盖点实例:coverpoint_example.sv156
源代码8-3 功能分组柜实例:bin_example.sv158
源代码8-4 功能交叉覆盖点实例:cross_example.sv159
源代码8-5 功能覆盖模块(石头、剪刀、布):rps_coverage.sv162
源代码8-6 基于功能覆盖率验证环境(石头、剪刀、布):rps_env.sv165
源代码9-1 断言序列实例:sequence_example.sv171
源代码9-2 断言属性实例:property_example.sv172
源代码9-3 断言模块(石头、剪刀、布):rps_sva.sv173
源代码9-4 基于断言的验证顶层(石头、剪刀、布):rps_tb_top.sv174
源代码9-5 bind操作实例:bind_example.sv175
源代码11-1 外部Hello程序1(基于C):example 1/hello_c.c190
源代码11-2 DPI导入方法实例:example 1/hello.v190
源代码11-3 外部Hello程序2(基于C):example 2/hello_c.c191
源代码11-4 DPI导出方法实例:example 2/hello.v191