微信扫一扫,移动浏览光盘
简介
Verilog HDL 是一种使用广泛的硬件描述语言,目前在国内无论是集成电路还是嵌入式设计的相关专业都会使用到这种硬件描述语言。
市面上介绍Verilog HDL 的教材非常广泛,各有不同的偏重。本书着重从设计角度入手,每章都力求让读者掌握一种设计方法,能够利用本章知识进行完整的设计,从模块的角度逐步完成对Verilog HDL 语法的学习,从而在整体上掌握Verilog HDL 语法。
为了达到这个目的,每章中都会给出使用本章知识完成的实例,按照门级、数据流级、行为级、任务和函数、测试模块、可综合设计和完整实例的顺序向读者介绍Verilog HDL 的语法和使用方式。书中出现的所有代码均经过仿真,力求准确,配书光盘中有书中所有实例源文件和实例操作的视频讲解。
市面上介绍Verilog HDL 的教材非常广泛,各有不同的偏重。本书着重从设计角度入手,每章都力求让读者掌握一种设计方法,能够利用本章知识进行完整的设计,从模块的角度逐步完成对Verilog HDL 语法的学习,从而在整体上掌握Verilog HDL 语法。
为了达到这个目的,每章中都会给出使用本章知识完成的实例,按照门级、数据流级、行为级、任务和函数、测试模块、可综合设计和完整实例的顺序向读者介绍Verilog HDL 的语法和使用方式。书中出现的所有代码均经过仿真,力求准确,配书光盘中有书中所有实例源文件和实例操作的视频讲解。
目录
第1章Verilog HDL入门简介1
1.1从数字电路讲开来1
1.2设计一个七进制计数器2
1.3Verilog HDL建模4
1.4集成电路设计流程简介6
1.5编写测试代码并仿真7
1.6两种硬件描述语言9
第2章Verilog HDL门级建模10
2.1门级建模范例10
2.2门级建模基本语法12
2.2.1模块定义12
2.2.2端口声明13
2.2.3门级调用15
2.2.4模块实例化19
2.2.5内部连线声明21
2.3MOS开关22
2.4用户自定义原语UDP25
2.4.1UDP基本规则25
2.4.2组合电路UDP26
2.4.3时序电路UDP29
2.5层次化设计31
2.6应用实例32
实例2—1——4位全加器的门级建模32
实例2—2——2—4译码器的门级建模35
实例2—3——主从D触发器的门级建模36
实例2—4——1位比较器的门级建模38
2.7习题39
第3章VerilogHDL数据流级建模41
3.1数据流级建模范例41
3.2数据流级建模基本语法42
3.3操作数43
3.3.1数字43
3.3.2参数45
3.3.3线网47
3.3.4寄存器48
3.3.5时间49
3.4操作符49
3.4.1算术操作符49
3.4.2按位操作符49
3.4.3逻辑操作符50
3.4.4关系操作符51
3.4.5等式操作符52
3.4.6移位操作符52
3.4.7拼接操作符53
3.4.8缩减操作符53
3.4.9条件操作符53
3.4.10操作符优先级54
3.5应用实例56
实例3—1——四位全加器的数据流建模56
实例3—2——主从D触发器的数据流建模58
实例3—3——4位比较器的数据流建模59
3.6习题60
第4章Verilog HDL行为级建模61
4.1行为级建模范例61
4.2initial结构和always结构64
4.2.1initial结构64
4.2.2always结构66
4.3顺序块和并行块69
4.3.1顺序块69
4.3.2并行块70
4.3.3块的嵌套72
4.3.4块的命名与禁用72
4.4if语句73
4.5case语句76
4.6循环语句78
4.6.1while循环78
4.6.2for循环79
4.6.3repeat循环80
4.6.4forever循环80
4.7过程性赋值语句81
4.7.1阻塞性赋值语句81
4.7.2非阻塞性赋值语句81
4.8应用实例83
实例4—1——4位全加器的行为级建模83
实例4—2——简易ALU电路的行为级建模84
实例4—3——下降沿触发D触发器的行为级建模86
4.9习题87
第5章任务、函数与编译指令88
5.1任务88
5.1.1任务的声明和调用89
5.1.2自动任务91
5.2函数93
5.2.1函数的声明和调用94
5.2.2自动函数96
5.2.3常量函数97
5.2.4任务与函数的比较98
5.3系统任务和系统函数98
5.3.1显示任务$display和$write98
5.3.2探测任务$strobe101
5.3.3监视任务$monitor101
5.3.4仿真控制任务$stop和$finish103
5.3.5仿真时间函数$time103
5.3.6随机函数$random104
5.3.7文件控制任务105
5.3.8时间检验任务109
5.3.9值变转储任务109
5.4编译指令112
5.4.1`define112
5.4.2`include113
5.4.3`timescale115
5.4.4`ifdef、`else和`endif117
5.5完整的module参考模型118
5.6应用实例119
实例5—1——信号同步任务119
实例5—2——阶乘任务120
实例5—3——可控移位函数121
实例5—4——偶校验任务123
实例5—5——算术逻辑函数124
5.7习题125
第6章Verilog HDL测试模块127
6.1测试模块范例127
6.2时钟信号129
6.3复位信号131
6.4测试向量133
6.5响应监控135
6.6仿真中对信号的控制138
6.7代码覆盖140
6.8应用实例141
实例6—1——组合逻辑的测试模块141
实例6—2——时序逻辑的测试模块143
实例6—3——除法器的测试模块146
6.9习题149
第7章可综合模型设计150
7.1逻辑综合过程150
7.2延迟153
7.3再谈阻塞赋值与非阻塞赋值162
7.4可综合语法169
7.5代码风格170
7.5.1多重驱动问题170
7.5.2敏感列表不完整171
7.5.3if与else不成对出现171
7.5.4case语句缺少default172
7.5.5组合和时序混合设计172
7.5.6逻辑简化173
7.5.7流水线思想174
7.6应用实例177
实例7—1——SR锁存器延迟模型177
实例7—2——超前进位加法器179
实例7—3——移位除法器模型182
7.7习题187
第8章有限状态机的设计188
8.1有限状态机简介188
8.2两种红绿灯电路的状态机模型189
8.2.1moore型红绿灯189
8.2.2mealy型红绿灯194
8.3深入理解状态机196
8.3.1一段式状态机197
8.3.2两段式状态机201
8.3.3三段式状态机203
8.3.4状态编码的选择211
8.4应用实例212
实例8—1——独热码状态机212
实例8—2——格雷码状态机216
8.5习题220
第9章常见功能电路的HDL模型221
9.1锁存器与触发器221
9.2编码器与译码器229
9.3寄存器232
9.4计数器237
9.5分频器241
9.6乘法器247
9.7存储单元255
9.8习题259
第10章完整的设计实例260
10.1异步FIFO260
10.1.1异步FIFO的介绍与整体结构260
10.1.2亚稳态的处理262
10.1.3空满状态的判断263
10.1.4子模块设计266
10.1.5整体仿真结果274
10.2三角函数计算器277
10.2.1设计要求的提出277
10.2.2数据格式277
10.2.3算法的选择与原理结构278
10.2.4确定总体模块281
10.2.5内部结构的划分281
10.2.6分频器模块283
10.2.7控制模块283
10.2.8迭代设计模块288
10.2.9功能仿真与时序仿真302
10.3简易CPU模型305
10.3.1教学模型的要求305
10.3.2指令格式的确定306
10.3.3整体结构划分307
10.3.4控制模块设计308
10.3.5其余子模块设计313
10.3.6功能仿真与时序仿真317
第11章实验321
实验一简单组合逻辑电路设计321
实验二行为级模型设计328
实验三任务与函数的设计335
实验四流水线的使用339
实验五信号发生器设计344
实验六有限状态机的设计350
第12章课程设计356
选题一——出租车计费器356
选题二——智力抢答器362
选题三——点阵显示369
选题四——自动售货机373
选题五——篮球24秒计时379
选题六——乒乓球游戏电路384
选题七——CRC检测398
选题八——堆栈设计404
选题九——数字闹钟410
附录A课程测试样卷419
附录B习题及样卷答案424
1.1从数字电路讲开来1
1.2设计一个七进制计数器2
1.3Verilog HDL建模4
1.4集成电路设计流程简介6
1.5编写测试代码并仿真7
1.6两种硬件描述语言9
第2章Verilog HDL门级建模10
2.1门级建模范例10
2.2门级建模基本语法12
2.2.1模块定义12
2.2.2端口声明13
2.2.3门级调用15
2.2.4模块实例化19
2.2.5内部连线声明21
2.3MOS开关22
2.4用户自定义原语UDP25
2.4.1UDP基本规则25
2.4.2组合电路UDP26
2.4.3时序电路UDP29
2.5层次化设计31
2.6应用实例32
实例2—1——4位全加器的门级建模32
实例2—2——2—4译码器的门级建模35
实例2—3——主从D触发器的门级建模36
实例2—4——1位比较器的门级建模38
2.7习题39
第3章VerilogHDL数据流级建模41
3.1数据流级建模范例41
3.2数据流级建模基本语法42
3.3操作数43
3.3.1数字43
3.3.2参数45
3.3.3线网47
3.3.4寄存器48
3.3.5时间49
3.4操作符49
3.4.1算术操作符49
3.4.2按位操作符49
3.4.3逻辑操作符50
3.4.4关系操作符51
3.4.5等式操作符52
3.4.6移位操作符52
3.4.7拼接操作符53
3.4.8缩减操作符53
3.4.9条件操作符53
3.4.10操作符优先级54
3.5应用实例56
实例3—1——四位全加器的数据流建模56
实例3—2——主从D触发器的数据流建模58
实例3—3——4位比较器的数据流建模59
3.6习题60
第4章Verilog HDL行为级建模61
4.1行为级建模范例61
4.2initial结构和always结构64
4.2.1initial结构64
4.2.2always结构66
4.3顺序块和并行块69
4.3.1顺序块69
4.3.2并行块70
4.3.3块的嵌套72
4.3.4块的命名与禁用72
4.4if语句73
4.5case语句76
4.6循环语句78
4.6.1while循环78
4.6.2for循环79
4.6.3repeat循环80
4.6.4forever循环80
4.7过程性赋值语句81
4.7.1阻塞性赋值语句81
4.7.2非阻塞性赋值语句81
4.8应用实例83
实例4—1——4位全加器的行为级建模83
实例4—2——简易ALU电路的行为级建模84
实例4—3——下降沿触发D触发器的行为级建模86
4.9习题87
第5章任务、函数与编译指令88
5.1任务88
5.1.1任务的声明和调用89
5.1.2自动任务91
5.2函数93
5.2.1函数的声明和调用94
5.2.2自动函数96
5.2.3常量函数97
5.2.4任务与函数的比较98
5.3系统任务和系统函数98
5.3.1显示任务$display和$write98
5.3.2探测任务$strobe101
5.3.3监视任务$monitor101
5.3.4仿真控制任务$stop和$finish103
5.3.5仿真时间函数$time103
5.3.6随机函数$random104
5.3.7文件控制任务105
5.3.8时间检验任务109
5.3.9值变转储任务109
5.4编译指令112
5.4.1`define112
5.4.2`include113
5.4.3`timescale115
5.4.4`ifdef、`else和`endif117
5.5完整的module参考模型118
5.6应用实例119
实例5—1——信号同步任务119
实例5—2——阶乘任务120
实例5—3——可控移位函数121
实例5—4——偶校验任务123
实例5—5——算术逻辑函数124
5.7习题125
第6章Verilog HDL测试模块127
6.1测试模块范例127
6.2时钟信号129
6.3复位信号131
6.4测试向量133
6.5响应监控135
6.6仿真中对信号的控制138
6.7代码覆盖140
6.8应用实例141
实例6—1——组合逻辑的测试模块141
实例6—2——时序逻辑的测试模块143
实例6—3——除法器的测试模块146
6.9习题149
第7章可综合模型设计150
7.1逻辑综合过程150
7.2延迟153
7.3再谈阻塞赋值与非阻塞赋值162
7.4可综合语法169
7.5代码风格170
7.5.1多重驱动问题170
7.5.2敏感列表不完整171
7.5.3if与else不成对出现171
7.5.4case语句缺少default172
7.5.5组合和时序混合设计172
7.5.6逻辑简化173
7.5.7流水线思想174
7.6应用实例177
实例7—1——SR锁存器延迟模型177
实例7—2——超前进位加法器179
实例7—3——移位除法器模型182
7.7习题187
第8章有限状态机的设计188
8.1有限状态机简介188
8.2两种红绿灯电路的状态机模型189
8.2.1moore型红绿灯189
8.2.2mealy型红绿灯194
8.3深入理解状态机196
8.3.1一段式状态机197
8.3.2两段式状态机201
8.3.3三段式状态机203
8.3.4状态编码的选择211
8.4应用实例212
实例8—1——独热码状态机212
实例8—2——格雷码状态机216
8.5习题220
第9章常见功能电路的HDL模型221
9.1锁存器与触发器221
9.2编码器与译码器229
9.3寄存器232
9.4计数器237
9.5分频器241
9.6乘法器247
9.7存储单元255
9.8习题259
第10章完整的设计实例260
10.1异步FIFO260
10.1.1异步FIFO的介绍与整体结构260
10.1.2亚稳态的处理262
10.1.3空满状态的判断263
10.1.4子模块设计266
10.1.5整体仿真结果274
10.2三角函数计算器277
10.2.1设计要求的提出277
10.2.2数据格式277
10.2.3算法的选择与原理结构278
10.2.4确定总体模块281
10.2.5内部结构的划分281
10.2.6分频器模块283
10.2.7控制模块283
10.2.8迭代设计模块288
10.2.9功能仿真与时序仿真302
10.3简易CPU模型305
10.3.1教学模型的要求305
10.3.2指令格式的确定306
10.3.3整体结构划分307
10.3.4控制模块设计308
10.3.5其余子模块设计313
10.3.6功能仿真与时序仿真317
第11章实验321
实验一简单组合逻辑电路设计321
实验二行为级模型设计328
实验三任务与函数的设计335
实验四流水线的使用339
实验五信号发生器设计344
实验六有限状态机的设计350
第12章课程设计356
选题一——出租车计费器356
选题二——智力抢答器362
选题三——点阵显示369
选题四——自动售货机373
选题五——篮球24秒计时379
选题六——乒乓球游戏电路384
选题七——CRC检测398
选题八——堆栈设计404
选题九——数字闹钟410
附录A课程测试样卷419
附录B习题及样卷答案424
Verilog HDL数字系统设计及仿真
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!