269,921
次編輯
變更
创建页面,内容为“《'''SystemVerilog硬件设计'''》,出版社: 科学出版社,ISBN:9787030783837。 书籍是全世界的营养品。生活里没有书籍,就好…”
《'''SystemVerilog硬件设计'''》,出版社: 科学出版社,ISBN:9787030783837。
[[书籍]]是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧<ref>[http://www.rensheng5.com/yd/2013/071511060.html 关于智慧的名言],人生屋,2013-07-15</ref>里没有书籍,就好像鸟儿没有[[翅膀]]。——莎士比亚<ref>[https://www.docin.com/p-2795247275.html 关于莎士比亚的名言名句(100句)],豆丁网,2021-10-01</ref>
==内容简介==
《SystemVerilog硬件设计:RTL设计和验证》侧重于使用SystemVerilog编写高效的RTL代码,通过大量示例代码展示如何使用SystemVerilog进行硬件设计和验证。
《SystemVerilog硬件设计:RTL设计和验证》共分15章,内容包括SystemVerilog中的常量和数据类型、SystemVerilog的硬件描述、SystemVerilog中的面向对象[[编程]]、SystemVerilog增强特性、SystemVerilog中的组合逻辑设计、SystemVerilog中的时序逻辑设计、RTL设计和综合指南、复杂设计的RTL设计和策略、有限状态机、SystemVerilog中的端口和接口、验证结构、验证技术和自动化、高级验证结构、验证案例等。
==目录==
第1章 绪论1
1.1 ASIC设计流程2
1.2 ASIC验证4
1.3 Verilog结构6
1.4 SystemVerilog简介9
1.5 用于硬件描述和验证的SystemVerilog10
1.6 总结和展望11
第2章 SystemVerilog中的常量和[[数据]]类型13
2.1 预定义门14
2.2 结构级建模15
2.3 SystemVerilog格式描述符16
2.4 多位宽常量和拼位操作17
2.5 常量17
2.6 数据类型21
2.7 总结和展望26
第3章 SystemVerilog的硬件描述27
3.1 如何开始学习28
3.2 线网数据类型31
3.3 让我们开始思考组合逻辑电路32
3.4 使用always_comb实现编码转换器36
3.5 理解硬件执行的并发性39
3.6 always_latch过程块40
3.7 always_ff过程块41
3.8 使用always_ff实现时序逻辑设计41
3.9 按照端口名进行实例化连接(Verilog风格)43
3.10 实例化采用混合端口连接方式44
3.11 总结和展望46
第4章 SystemVerilog中的面向对象编程47
4.1 枚举类型48
4.2 结构体53
4.3 共用体56
4.4 数组57
4.5 总结和展望63
第5章 SystemVerilog增强特性65
5.1 Verilog过程块66
5.2 SystemVerilog过程块67
5.3 块标签71
5.4 语句标签71
5.5 模块标签71
5.6 任务和函数72
5.7 void函数74
5.8 循环75
5.9 编码规则78
5.10 总结和展望79
第6章 SystemVerilog中的组合逻辑设计81
6.1 always_comb过程块82
6.2 if-else嵌套和优先级逻辑83
6.3 参数及其在设计中的应用85
6.4 条件操作符实现选择器逻辑86
6.5 解码器88
6.6 优先级编码器91
6.7 总结和展望92
第7章 SystemVerilog中的时序逻辑设计95
7.1 使用always_latch设计锁存器96
7.2 使用always_ff设计PIPO寄存器97
7.3 异步复位98
7.4 同步复位99
7.5 可逆计数器100
7.6 移位寄存器101
7.7 环形计数器102
7.8 约翰逊计数器103
7.9 基于时钟的算术运算单元的RTL实现105
7.10 基于时钟的逻辑运算单元的RTL实现109
7.11 总结和展望110
第8章 RTL设计和综合指南111
8.1 RTL设计规则112
8.2 不完全条件case语句114
8.3 全条件case语句115
8.4 synopsysfull_case编译命令116
8.5 uniquecase语句116
8.6 casez语句117
8.7 prioritycase语句118
8.8 uniqueif-else语句119
8.9 使用synopsysfull_case编译命令的解码器120
8.10 priorityif语句121
8.11 使用prioritycase或者synopsysfull_case时综合注意事项122
8.12 时钟产生123
8.13 门控时钟124
8.14 多时钟产生器125
8.15 多相时钟126
8.16 优化面积127
8.17 提升速度130
8.18 功耗的改进和优化132
8.19 总结和展望134
第.9章 复杂设计的RTL设计和策略135
9.1 复杂设计策略136
9.2 ALU137
9.3 桶型移位器139
9.4 单端口存储体和双端口存储体142
9.5 总线仲裁器和设计方法147
9.6 多时钟域148
9.7 FIFO设计方法149
9.8 总结和展望156
第10章 有限状态机157
10.1 FSM158
10.2 Moore状态机159
10.3 Mealy状态机159
10.4 Moore状态机实现非重叠序列检测器160
10.5 Moore状态机实现重叠序列检测器162
10.6 Mealy状态机实现非重叠序列检测器164
10.7 Mealy状态机实现重叠序列检测器165
10.8 二进制码编码方法167
10.9 *热码编码方法168
10.10 使用反向case语句的状态机170
10.11 FSM控制器172
10.12 数据和控制路径综合173
10.13 FSM优化175
10.14 总结和展望176
第11章 SystemVerilog中的端口和接口177
11.1 Verilog中的端口名连接方式178
11.2 “.name”隐式端口连接180
11.3 “.*”隐式端口连接182
11.4 内嵌模块183
11.5 外部模块185
11.6 接口185
11.7 使用命名包的接口188
11.8 通用接口189
11.9 接口的端口191
11.10 modport193
11.11 接口中的方法196
11.12 虚接口196
11.13 旗语198
11.14 信箱200
11.15 总结和展望201
第12章 验证结构203
12.1 initial过程块204
12.2 时钟产生205
12.3 产生可变占空比的时钟206
12.4 复位产生逻辑207
12.5 响应监控机制207
12.6 响应的转储记录209
12.7 读取测试向量210
12.8 编写测试平台210
12.9 总结和展望214
第13章 验证技术和自动化215
13.1 层次化事件调度216
13.2 延迟和延迟模型218
13.3 进程和线程219
13.4 循环及其在测试平台中的应用224
13.5 clocking块225
13.6 自动化测试平台228
13.7 总结和展望229
第14章 高级验证结构231
14.1 随机化232
14.2 受约束的随机化235
14.3 基于断言的验证235
14.4 程序块237
14.5 示例238
14.6 总结和展望247
第15章 验证案例249
15.1 验证目标250
15.2 RTL设计(待测设计)250
15.3 设计验证的展望258
附录261
附录A 262
附录B 262
附录C 265
==参考文献==
[[Category:040 類書總論;百科全書總論]]
[[书籍]]是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧<ref>[http://www.rensheng5.com/yd/2013/071511060.html 关于智慧的名言],人生屋,2013-07-15</ref>里没有书籍,就好像鸟儿没有[[翅膀]]。——莎士比亚<ref>[https://www.docin.com/p-2795247275.html 关于莎士比亚的名言名句(100句)],豆丁网,2021-10-01</ref>
==内容简介==
《SystemVerilog硬件设计:RTL设计和验证》侧重于使用SystemVerilog编写高效的RTL代码,通过大量示例代码展示如何使用SystemVerilog进行硬件设计和验证。
《SystemVerilog硬件设计:RTL设计和验证》共分15章,内容包括SystemVerilog中的常量和数据类型、SystemVerilog的硬件描述、SystemVerilog中的面向对象[[编程]]、SystemVerilog增强特性、SystemVerilog中的组合逻辑设计、SystemVerilog中的时序逻辑设计、RTL设计和综合指南、复杂设计的RTL设计和策略、有限状态机、SystemVerilog中的端口和接口、验证结构、验证技术和自动化、高级验证结构、验证案例等。
==目录==
第1章 绪论1
1.1 ASIC设计流程2
1.2 ASIC验证4
1.3 Verilog结构6
1.4 SystemVerilog简介9
1.5 用于硬件描述和验证的SystemVerilog10
1.6 总结和展望11
第2章 SystemVerilog中的常量和[[数据]]类型13
2.1 预定义门14
2.2 结构级建模15
2.3 SystemVerilog格式描述符16
2.4 多位宽常量和拼位操作17
2.5 常量17
2.6 数据类型21
2.7 总结和展望26
第3章 SystemVerilog的硬件描述27
3.1 如何开始学习28
3.2 线网数据类型31
3.3 让我们开始思考组合逻辑电路32
3.4 使用always_comb实现编码转换器36
3.5 理解硬件执行的并发性39
3.6 always_latch过程块40
3.7 always_ff过程块41
3.8 使用always_ff实现时序逻辑设计41
3.9 按照端口名进行实例化连接(Verilog风格)43
3.10 实例化采用混合端口连接方式44
3.11 总结和展望46
第4章 SystemVerilog中的面向对象编程47
4.1 枚举类型48
4.2 结构体53
4.3 共用体56
4.4 数组57
4.5 总结和展望63
第5章 SystemVerilog增强特性65
5.1 Verilog过程块66
5.2 SystemVerilog过程块67
5.3 块标签71
5.4 语句标签71
5.5 模块标签71
5.6 任务和函数72
5.7 void函数74
5.8 循环75
5.9 编码规则78
5.10 总结和展望79
第6章 SystemVerilog中的组合逻辑设计81
6.1 always_comb过程块82
6.2 if-else嵌套和优先级逻辑83
6.3 参数及其在设计中的应用85
6.4 条件操作符实现选择器逻辑86
6.5 解码器88
6.6 优先级编码器91
6.7 总结和展望92
第7章 SystemVerilog中的时序逻辑设计95
7.1 使用always_latch设计锁存器96
7.2 使用always_ff设计PIPO寄存器97
7.3 异步复位98
7.4 同步复位99
7.5 可逆计数器100
7.6 移位寄存器101
7.7 环形计数器102
7.8 约翰逊计数器103
7.9 基于时钟的算术运算单元的RTL实现105
7.10 基于时钟的逻辑运算单元的RTL实现109
7.11 总结和展望110
第8章 RTL设计和综合指南111
8.1 RTL设计规则112
8.2 不完全条件case语句114
8.3 全条件case语句115
8.4 synopsysfull_case编译命令116
8.5 uniquecase语句116
8.6 casez语句117
8.7 prioritycase语句118
8.8 uniqueif-else语句119
8.9 使用synopsysfull_case编译命令的解码器120
8.10 priorityif语句121
8.11 使用prioritycase或者synopsysfull_case时综合注意事项122
8.12 时钟产生123
8.13 门控时钟124
8.14 多时钟产生器125
8.15 多相时钟126
8.16 优化面积127
8.17 提升速度130
8.18 功耗的改进和优化132
8.19 总结和展望134
第.9章 复杂设计的RTL设计和策略135
9.1 复杂设计策略136
9.2 ALU137
9.3 桶型移位器139
9.4 单端口存储体和双端口存储体142
9.5 总线仲裁器和设计方法147
9.6 多时钟域148
9.7 FIFO设计方法149
9.8 总结和展望156
第10章 有限状态机157
10.1 FSM158
10.2 Moore状态机159
10.3 Mealy状态机159
10.4 Moore状态机实现非重叠序列检测器160
10.5 Moore状态机实现重叠序列检测器162
10.6 Mealy状态机实现非重叠序列检测器164
10.7 Mealy状态机实现重叠序列检测器165
10.8 二进制码编码方法167
10.9 *热码编码方法168
10.10 使用反向case语句的状态机170
10.11 FSM控制器172
10.12 数据和控制路径综合173
10.13 FSM优化175
10.14 总结和展望176
第11章 SystemVerilog中的端口和接口177
11.1 Verilog中的端口名连接方式178
11.2 “.name”隐式端口连接180
11.3 “.*”隐式端口连接182
11.4 内嵌模块183
11.5 外部模块185
11.6 接口185
11.7 使用命名包的接口188
11.8 通用接口189
11.9 接口的端口191
11.10 modport193
11.11 接口中的方法196
11.12 虚接口196
11.13 旗语198
11.14 信箱200
11.15 总结和展望201
第12章 验证结构203
12.1 initial过程块204
12.2 时钟产生205
12.3 产生可变占空比的时钟206
12.4 复位产生逻辑207
12.5 响应监控机制207
12.6 响应的转储记录209
12.7 读取测试向量210
12.8 编写测试平台210
12.9 总结和展望214
第13章 验证技术和自动化215
13.1 层次化事件调度216
13.2 延迟和延迟模型218
13.3 进程和线程219
13.4 循环及其在测试平台中的应用224
13.5 clocking块225
13.6 自动化测试平台228
13.7 总结和展望229
第14章 高级验证结构231
14.1 随机化232
14.2 受约束的随机化235
14.3 基于断言的验证235
14.4 程序块237
14.5 示例238
14.6 总结和展望247
第15章 验证案例249
15.1 验证目标250
15.2 RTL设计(待测设计)250
15.3 设计验证的展望258
附录261
附录A 262
附录B 262
附录C 265
==参考文献==
[[Category:040 類書總論;百科全書總論]]