图书介绍
SYSTEM VERILOG硬件设计及建模PDF|Epub|txt|kindle电子书版本网盘下载
![SYSTEM VERILOG硬件设计及建模](https://www.shukui.net/cover/43/31777470.jpg)
- (英)STUART SUTHERLAND SIMON DAVIDMANN PETER FLAKE著;于郭山 韩临 何进 李莹 路卫军译 著
- 出版社: 北京:科学出版社
- ISBN:9787030198778
- 出版时间:2007
- 标注页数:352页
- 文件大小:14MB
- 文件页数:373页
- 主题词:硬件描述语言,Verilog HDL-程序设计
PDF下载
下载说明
SYSTEM VERILOG硬件设计及建模PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 SystemVerilog介绍1
1.1 SystemVerilog起源1
1.1.1 SystemVerilog标准的发展历程2
1.1.2 SystemVerilog获得的捐赠3
1.2 SystemVerilog针对硬件设计的关键增强4
1.3 小结5
第2章 SystemVerilog声明的位置6
2.1 包(package)6
2.1.1 包的定义7
2.1.2 引用包的内容8
2.1.3 综合指导11
2.2 $unit编译单元声明12
2.2.1 编码指导13
2.2.2 SystemVerilog标识符搜索规则14
2.2.3 源代码顺序14
2.2.4 将包导入$unit的编码原则15
2.2.5 综合指导20
2.3 未命名语句块中的声明21
2.3.1 未命名块中的局部变量22
2.4 仿真时间单位和精度23
2.4.1 Verilog编译指令timescale23
2.4.2 包含时间单位的时间值24
2.4.3 范围级(scope-level)时间单位和精度25
2.4.4 编译单元的时间单位和精度26
2.5 小结27
第3章 SystemVerilog文本值和数据类型29
3.1 加强的文本值赋值29
3.2define增强30
3.2.1 字符串内的宏变量替换30
3.2.2 通过宏建立标识符名31
3.3 SystemVerilog变量32
3.3.1 对象类型和数据类型32
3.3.2 SystemVerilog四态变量33
3.3.3 SystemVerilog两态变量34
3.3.4 显式及隐式变量和线网类型36
3.3.5 综合指导37
3.4 在RTL模型中使用两态类型37
3.4.1 两态类型的特点37
3.4.2 两态类型和四态类型仿真38
3.4.3 在case语句中使用两态类型39
3.5 数据类型规则的放宽40
3.6 有符号和无符号修饰符43
3.7 静态和自动变量44
3.7.1 静态变量和自动变量的初始化45
3.7.2 自动变量的综合指导47
3.7.3 静态和自动变量的使用原则47
3.8 变量初始化的确定性48
3.8.1 初始化确定机制48
3.8.2 时序逻辑的异步输入初始化50
3.9 强制类型转换52
3.9.1 静态转换(编译时转换)52
3.9.2 动态强制类型转换53
3.9.3 综合指导54
3.10 常数55
3.11 小结56
第4章 用户自定义和枚举数据类型57
4.1 用户自定义类型57
4.1.1 局部typedef声明57
4.1.2 共享typedef定义58
4.1.3 用户自定义类型的命名习惯59
4.2 枚举数据类型60
4.2.1 枚举类型标签序列63
4.2.2 枚举类型标签作用域64
4.2.3 枚举类型值64
4.2.4 枚举类型的基类65
4.2.5 自定义和匿名枚举66
4.2.6 枚举类型操作的强类型检验66
4.2.7 将表达式强制转换为枚举类型67
4.2.8 枚举类型的专用系统任务和方法68
4.2.9 打印枚举类型70
4.3 小结71
第5章 数组、结构体和联合体72
5.1 结构体72
5.1.1 结构体声明73
5.1.2 结构体赋值75
5.1.3 压缩和非压缩结构体77
5.1.4 通过端口传递结构体79
5.1.5 将结构体作为自变量传递至任务和函数80
5.1.6 综合指导80
5.2 联合体81
5.2.1 非压缩联合体81
5.2.2 标签联合体83
5.2.3 压缩联合体84
5.2.4 综合指导85
5.2.5 使用结构体和联合体的一个例子86
5.3 数组87
5.3.1 非压缩数组87
5.3.2 压缩数组90
5.3.3 使用压缩和非压缩数组91
5.3.4 声明时对数组进行初始化92
5.3.5 数组赋值94
5.3.6 数组复制95
5.3.7 使用位流转换复制数组和结构体96
5.3.8 由数组构成的数组96
5.3.9 数组中使用用户自定义类型97
5.3.10 数组通过端口及任务和函数的传送98
5.3.11 结构体和联合体构成的数组98
5.3.12 结构体和联合体中的数组99
5.3.13 综合指导99
5.3.14 使用数组的例子100
5.4 foreach数组循环结构体101
5.5 用于数组查询的系统函数102
5.6 $bits位宽系统函数104
5.7 动态数组、联合数组、稀疏数组和字符串104
5.8 小结105
第6章 SystemVerilog过程块、任务和函数106
6.1 Verilog通用目的always过程块106
6.2 SystemVerilog特有的过程块110
6.2.1 组合逻辑过程块110
6.2.2 锁存逻辑过程块116
6.2.3 时序逻辑过程块117
6.2.4 综合指导118
6.3 对任务和函数的改进118
6.3.1 任务和函数的隐式语句组118
6.3.2 返回函数值119
6.3.3 在任务和函数结束前返回119
6.3.4 空函数120
6.3.5 使用名称传递任务/函数的参数121
6.3.6 增强型函数形式参数122
6.3.7 无形式参数的函数123
6.3.8 形式参数的缺省方向和类型123
6.3.9 缺省的形式参数值124
6.3.10 数组、结构体和联合体作为形式参数125
6.3.11 用引用取代复制来传递参数值125
6.3.12 命名的任务和函数结尾129
6.3.13 空任务和函数130
6.4 小结130
第7章 过程语句131
7.1 新操作符131
7.1.1 递增和递减操作符131
7.1.2 赋值操作符134
7.1.3 有无关通配符的相等操作符136
7.1.4 设置成员操作符——inside138
7.2 操作数改进139
7.2.1 两态和四态类型数据的运算139
7.2.2 类型强制转换139
7.2.3 尺寸强制转换140
7.2.4 符号强制转换141
7.3 改进的for循环141
7.3.1 for循环中声明的局部变量142
7.3.2 多重for循环赋值144
7.3.3 for循环中声明的变量的层次化引用144
7.3.4 综合指导145
7.4 底部检测的do…while循环145
7.4.1 综合指导146
7.5 foreach数组循环结构147
7.6 新的跳转语句——break、continue、return147
7.6.1 continue语句148
7.6.2 break语句149
7.6.3 return语句149
7.6.4 综合指导150
7.7 改进的块名150
7.8 语句标号152
7.9 改进的case语句153
7.9.1 unique case条件判断154
7.9.2 priority case语句157
7.9.3 unique、priority与parallel_case、full_case的对比157
7.10 改进的if…else判断语句159
7.10.1 unique if…else判断语句160
7.10.2 priority if判断语句161
7.11 小结161
第8章 有限状态机建模163
8.1 使用枚举类型建立状态机模型163
8.1.1 使用枚举类型表示状态编码165
8.1.2 使用枚举类型的反向case语句166
8.1.3 枚举类型与unique case语句168
8.1.4 指定未使用的状态值169
8.1.5 将状态值赋给枚举类型变量170
8.1.6 对枚举类型变量的操作172
8.2 在FSM模型中使用两态数据类型173
8.2.1 使用两态类型和枚举类型对FSM复位173
8.3 小结174
第9章 层次化设计175
9.1 模块原型175
9.1.1 原型与实际定义176
9.1.2 避免端口冗余声明176
9.2 命名的结束语句177
9.2.1 命名的模块结尾177
9.2.2 命名的代码块结尾177
9.3 嵌套(局部)模块的声明178
9.3.1 嵌套模块名称的可见性180
9.3.2 实例化嵌套模块181
9.3.3 嵌套模块的名称搜索规则182
9.4 简化的模块实例网表183
9.4.1 隐式的.name端口连接187
9.4.2 隐式的.*端口连接191
9.5 线网别名化193
9.5.1 别名化规则194
9.5.2 隐式线网声明195
9.5.3 在.name和.*中使用别名196
9.6 在模块端口间传递数值199
9.6.1 所有类型都可在端口间传递199
9.6.2 SystemVerilog的模块端口限制200
9.7 端口引用202
9.7.1 作为共享变量引用端口203
9.7.2 综合指导204
9.8 增强的端口声明204
9.8.1 Verilog-1995的端口声明204
9.8.2 Verilog-2001的端口声明204
9.8.3 SystemVerilog的端口声明205
9.9 参数化类型206
9.10 小结208
第10章 接口209
10.1 接口的概念209
10.1.1 Verilog模块端口的缺点214
10.1.2 SystemVerilog接口的优势215
10.1.3 接口的内容219
10.1.4 接口与模块的不同点219
10.2 接口声明219
10.2.1 源代码声明次序222
10.2.2 全局与局部接口定义222
10.3 将接口用作模块端口222
10.3.1 显式命名的接口端口222
10.3.2 通用接口端口223
10.3.3 综合指导223
10.4 接口的实例化和连接223
10.5 接口内部信号的引用224
10.6 接口的modport226
10.6.1 指定使用哪种modport方式226
10.6.2 使用modport定义不同的连接230
10.7 在接口中使用任务和函数232
10.7.1 接口的方法232
10.7.2 接口方法的导入(import)233
10.7.3 接口方法的综合原则235
10.7.4 导出(export)任务和函数236
10.8 接口中的过程块238
10.9 可重构接口239
10.10 接口验证240
10.11 小结240
第11章 一个完整设计的建模241
11.1 ATM实例241
11.2 数据抽象242
11.3 接口封装244
11.4 设计顶层模块:squat247
11.5 接收机和发射机253
11.5.1 接收状态机253
11.5.2 发射状态机256
11.6 测试平台259
11.7 小结266
第12章 行为级和交易级建模267
12.1 行为建模267
12.2 什么是交易268
12.3 SystemVerilog的交易级建模269
12.3.1 存储子系统举例270
12.4 使用接口的交易级建模272
12.5 总线仲裁274
12.6 交易器、适配器和总线功能模型277
12.6.1 作为模块的主适配器278
12.6.2 接口中的适配器284
12.7 更复杂的交易290
12.8 小结290
附录A SystemVerilog形式定义(BNF)291
附录B Verilog和SystemVerilog保留关键字336
附录C SUPERLOG的历史,即SystemVerilog的开端341