注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2022-03

出版社:机械工业出版社

以下为《Verilog HDL与FPGA数字系统设计(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111575757
  • 2-2
  • 431538
  • 46247809-0
  • 平装
  • 16开
  • 2022-03
  • 693
  • 460
  • 工学
  • 电子科学与技术
  • 电子信息工程
  • 本科
内容简介
本书是根据数字技术的发展和EDA课程教学要求,以及作者多年教学与实践经验的基础上而编写的,目标是快速地提高读者的数字电路(或系统)设计能力。内容覆盖了数字逻辑基础、Verilog HDL基础知识与建模方法、有限状态机设计、可编程逻辑器件及其开发工具、数字电路与系统设计实例、静态时序分析工具以及可编程片上系统等相关知识。
本书将数字逻辑设计和Verilog HDL有机地结合在一起,以可综合的Verilog设计为重点,方便读者快速地掌握Verilog HDL建模方法,以及用FPGA实现数字电路(或系统)的技巧。本书以Quartus Prime 18.1等软件为工具,所有程序都通过了DE2-115(或DE1-SOC)开发板的硬件测试,读者可参考使用。
本书可用作高等院校电气信息类等专业本、专科生的教材或教学参考书,也可以作为电子技术课程设计、电子设计大赛或数字系统设计工程技术人员学习EDA技术的参考书。
目录
前言
第1版前言
教学建议
第一篇 数字系统基础
第1章 数字逻辑设计基础 / 2
本章目的 / 2
1.1 数制及其相互转换 / 2
1.1.1 数制 / 2
1.1.2 不同进制数的相互转换 / 4
1.2 二进制代码 / 5
1.2.1 二-十进制编码 / 5
1.2.2 格雷码 / 6
1.2.3 奇偶校验码 / 8
1.2.4 ASCII字符编码 / 9
1.3 逻辑运算及逻辑门 / 11
1.3.1 基本逻辑运算 / 11
1.3.2 常用复合逻辑运算 / 14
1.3.3 集成逻辑门电路简介 / 15
1.3.4 三态门 / 20
1.4 逻辑代数的基本公式和规则 / 21
1.4.1 逻辑代数的基本定律和恒等式 / 21
1.4.2 逻辑代数的基本规则 / 22
1.4.3 逻辑函数表达式的形式 / 23
1.5 逻辑函数的代数化简法 / 25
1.6 逻辑函数的卡诺图化简法 / 26
1.6.1 逻辑函数的最小项及其性质 / 26
1.6.2 逻辑函数的最小项表达式 / 27
1.6.3 用卡诺图表示逻辑函数 / 28
1.6.4 用卡诺图化简逻辑函数 / 31
1.6.5 用卡诺图化简含无关项的逻辑函数 / 33
1.7 组合逻辑电路设计 / 35
1.7.1 设计组合逻辑电路的一般步骤 / 35
1.7.2 组合逻辑电路设计举例 / 36
小结 / 40
习题 / 40
第2章 Verilog HDL入门与功能仿真 / 42
本章目的 / 42
2.1 硬件描述语言简介 / 42
2.1.1 硬件描述语言的起源 / 42
2.1.2 硬件描述语言的特点 / 43
2.2 Verilog HDL程序的基本结构 / 44
2.2.1 Verilog HDL模块组成 / 44
2.2.2 Verilog HDL模块举例 / 45
2.3 编写测试模块 / 47
2.4 ModelSim仿真软件的使用 / 49
2.4.1 创建工作目录 / 50
2.4.2 输入源文件 / 50
2.4.3 建立工作库 / 50
2.4.4 编译设计文件 / 50
2.4.5 将设计文件载入仿真器 / 52
2.4.6 运行仿真 / 53
2.4.7 调试结果 / 54
2.5 Verilog HDL基本语法规则 / 57
2.5.1 词法规定 / 57
2.5.2 逻辑值集合 / 57
2.5.3 常量及其表示 / 58
2.5.4 数据类型 / 60
2.6 编译指令、系统任务和系统函数 / 67
2.6.1 Verilog HDL编译器指令 / 67
2.6.2 Verilog HDL系统任务 / 69
2.6.3 Verilog HDL系统函数 / 71
小结 / 72
习题 / 73
第3章 组合逻辑电路建模 / 74
本章目的 / 74
3.1 Verilog HDL门级建模 / 74
3.1.1 多输入门 / 74
3.1.2 多输出门 / 76
3.1.3 三态门 / 76
3.1.4 门级建模举例 / 77
3.2 Verilog HDL数据流建模 / 79
3.2.1 数据流建模 / 79
3.2.2 表达式与操作数 / 82
3.2.3 运算符 / 82
3.2.4 运算符的优先级别 / 87
3.3 组合电路的行为级建模 / 88
3.4 分层次的电路设计方法 / 96
3.4.1 设计方法 / 96
3.4.2 模块实例引用语句 / 98
3.4.3 迭代结构 / 100
3.5 常用组合电路及其设计 / 102
3.5.1 编码器 / 103
3.5.2 二进制译码器 / 104
3.5.3 七段显示译码器 / 106
3.5.4 二进制数与8421码的转换 / 108
小结 / 115
习题 / 115
第4章 时序逻辑电路建模 / 119
本章目的 / 119
4.1 锁存器 / 119
4.1.1 基本SR锁存器 / 119
4.1.2 门控D锁存器 / 121
4.1.3 门控D锁存器的Verilog HDL建模 / 122
4.2 触发器 / 123
4.2.1 D触发器的逻辑功能 / 123
4.2.2 有清零输入和预置输入的D触发器 / 124
4.2.3 有使能端的D触发器 / 125
4.2.4 时序逻辑电路建模基础 / 126
4.2.5 D触发器及其应用电路的建模 / 128
4.3 寄存器和移位寄存器 / 131
4.3.1 寄存器建模 / 131
4.3.2 移位寄存器建模 / 132
4.3.3 移位寄存器应用电路建模 / 136
4.4 同步计数器 / 138
4.4.1 同步计数器的设计 / 138
4.4.2 同步计数器的Verilog HDL建模 / 142
4.5 Verilog HDL函数与任务的使用 / 146
4.5.1 函数说明语句 / 146
4.5.2 任务说明语句 / 149
4.6 m序列码产生电路设计 / 151
小结 / 155
习题 / 156
第5章 有限状态机设计 / 158
本章目的 / 158
5.1 状态机的基本概念 / 158
5.1.1 状态机的基本结构及类型 / 158
5.1.2 状态机的状态图表示法 / 159
5.1.3 状态机的设计步骤 / 160
5.2 基于Verilog HDL的状态机描述方法 / 160
5.2.1 状态图的建立过程 / 160
5.2.2 状态图的描述方法 / 161
5.3 状态机设计中的关键技术 / 165
5.3.1 状态编码 / 165
5.3.2 消除输出端产生的毛刺 / 166
5.3.3 使用One-Hot编码方案设计状态机 / 168
5.4 状态机设计举例 / 170
5.4.1 十字路口交通灯控制电路设计 / 170
5.4.2 汽车尾灯控制电路设计 / 176
小结 / 181
习题 / 182
第6章 可编程逻辑器件 / 184
本章目的 / 184
6.1 概述 / 184
6.1.1 PLD的历史 / 184
6.1.2 PLD器件的符号 / 186
6.2 简单可编程逻辑器件 / 187
6.2.1 PLA / 188
6.2.2 PAL与GAL / 190
6.3 复杂可编程逻辑器件 / 195
6.3.1 传统CPLD的基本结构 / 195
6.3.2 基于查找表的CPLD结构 / 198
6.4 现场可编程门阵列 / 199
6.4.1 FPGA实现逻辑函数的基本原理 / 200
6.4.2 FPGA的一般结构 / 203
6.5 Intel FPGA器件系列及开发平台 / 204
6.5.1 器件系列 / 204
6.5.2 FPGA开发板简介 / 205
小结 / 207
习题 / 208
第二篇 数字系统设计实践
第7章 FPGA开发工具的使用 / 214
本章目的 / 214
7.1 Quartus Prime 软件概述 / 214
7.1.1 软件的安装与设置 / 214
7.1.2 Quartus Prime的设计流程 / 217
7.2 基于Verilog HDL输入的电路实现 / 220
7.2.1 建立新的设计项目 / 220
7.2.2 输入设计文件 / 222
7.2.3 分配引脚 / 222
7.2.4 编译设计文件 / 226
7.2.5 编程器件,测试功能 / 227
7.2.6 使用电路网表观察器查看电路图 / 230
7.2.7 实验任务 / 230
7.3 基于Verilog HDL输入的电路仿真 / 231
7.3.1 输入设计文件,建立新的设计项目 / 232
7.3.2 分配引脚,编译设计源文件 / 233
7.3.3 波形仿真 / 233
7.3.4 编程器件,测试功能 / 240
7.3.5 实验任务 / 240
7.4 基于原理图输入的电路实现 / 241
7.4.1 建立新的设计项目 / 241
7.4.2 输入电路原理图 / 242
7.4.3 分配引脚 / 245
7.4.4 编译设计项目 / 245
7.4.5 编程器件,测试功能 / 245
7.4.6 实验任务 / 245
7.5 基于原理图和Verilog HDL混合输入的电路实现 / 246
7.5.1 编码、译码、显示电路 / 246
7.5.2 输入原理图文件,建立新的设计项目 / 247
7.5.3 输入HDL底层文件,完善原理图文件 / 249
7.5.4 分配引脚,编译设计项目 / 249
7.5.5 编程器件,测试功能 / 251
7.5.6 实验任务 / 251
7.6 基于IP模块的电路设计 / 251
7.6.1 LPM_COUNTER模块的设置与调用 / 253
7.6.2 嵌入式锁相环模块ALTPLL的设置与调用 / 257
7.6.3 存储器模块LPM_ROM的配置与调用 / 261
7.6.4 实验任务 / 269
7.7 嵌入式逻辑分析仪的使用 / 270
7.7.1 嵌入式逻辑分析仪的实现原理 / 270
7.7.2 嵌入式逻辑分析仪的使用流程 / 271
7.7.3 Signal Tap使用示例 / 272
7.7.4 实验任务 / 278
小结 / 279
第8章 数字电路与系统的设计实践 / 280
本章目的 / 280
8.1 变模计数器设计 / 280
8.1.1 功能要求 / 280
8.1.2 设计分析 / 280
8.1.3 逻辑设计 / 281
8.1.4 设计实现 / 281
8.1.5 实验任务 / 282
8.2 移动显示字符设计 / 285
8.2.1 功能要求 / 285
8.2.2 设计分析 / 285
8.2.3 逻辑设计 / 286
8.2.4 设计实现 / 287
8.2.5 实验任务 / 288
8.3 分频器设计 / 289
8.3.1 功能要求 / 289
8.3.2 设计分析 / 289
8.3.3 逻辑设计 / 290
8.3.4 设计仿真 / 291
8.3.5 实际运行结果 / 291
8.3.6 实验任务 / 292
8.4 多功能数字钟设计 / 292
8.4.1 功能要求 / 292
8.4.2 设计分析 / 292
8.4.3 数字钟主体电路逻辑设计 / 293
8.4.4 功能扩展电路逻辑设计 / 297
8.4.5 顶层电路设计 / 299
8.4.6 实验任务 / 302
8.5 频率计设计 / 302
8.5.1 功能要求 / 302
8.5.2 设计分析 / 303
8.5.3 逻辑设计 / 305
8.5.4 顶层电路设计 / 310
8.5.5 实验任务 / 311
8.6 LCD1602显示的定时器设计 / 311
8.6.1 功能要求 / 311
8.6.2 设计分析 / 311
8.6.3 30秒递减定时器设计 / 312
8.6.4 字符型LCD1602模块的显示设计 / 313
8.6.5 顶层模块设计 / 321
8.6.6 设计实现 / 322
8.6.7 实验任务 / 323
8.7 DDS函数信号发生器设计 / 323
8.7.1 功能要求 / 323
8.7.2 DDS产生波形的原理 / 324
8.7.3 设计分析 / 326
8.7.4 顶层电路设计 / 330
8.7.5 设计实现 / 331
8.7.6 D/A转换电路及放大电路设计 / 332
8.7.7 实验任务 / 333
小结 / 335
第9章 VGA接口控制器的设计 / 336
本章目的 / 336
9.1 VGA接口标准和接口电路 / 336
9.1.1 VGA接口标准 / 336
9.1.2 VGA接口电路 / 338
9.2 VGA彩条信号发生器 / 340
9.2.1 功能要求 / 340
9.2.2 设计分析 / 340
9.2.3 逻辑设计 / 341
9.2.4 顶层电路设计 / 345
9.2.5 对目标器件编程与硬件电路测试 / 346
9.2.6 使用Signal Tap Logic Analyzer观察VGA工作时序 / 347
9.2.7 实验任务 / 350
9.3 24位位图显示 / 350
9.3.1 功能要求 / 350
9.3.2 设计分析 / 351
9.3.3 逻辑设计 / 351
9.3.4 顶层电路设计 / 354
9.3.5 对目标器件编程与硬件电路测试 / 356
9.3.6 实验任务 / 357
小结 / 357
第10章 静态时序分析工具TimeQuest的使用 / 358
本章目的 / 358
10.1 静态时序分析基础 / 359
10.1.1 同步路径的分析 / 359
10.1.2 异步路径的分析 / 363
10.1.3 外部同步路径的分析 / 363
10.1.4 不同的时序模型 / 367
10.2 时序分析工具的使用 / 367
10.2.1 时序分析工具的使用流程 / 367
10.2.2 两级流水线乘法器设计 / 368
10.2.3 设定时序要求 / 370
10.2.4 全编译并完成布局布线 / 372
10.2.5 验证时序 / 374
小结 / 376
第三篇 可编程片上系统
第11章 可编程片上系统入门 / 380
本章目的 / 380
11.1 SOPC技术概述 / 380
11.1.1 SOC技术 / 380
11.1.2 SOPC技术 / 381
11.1.3 基于Nios II处理器的嵌入式系统组成 / 381
11.2 SOPC系统设计流程 / 383
11.3 SOPC硬件系统设计 / 384
11.3.1 设计任务 / 384
11.3.2 创建Quartus Prime工程 / 385
11.3.3 构建嵌入式硬件系统 / 386
11.3.4 在Quartus Prime项目中集成嵌入式硬件系统 / 394
11.4 SOPC软件开发 / 398
11.4.1 软件开发工具简介 / 398
11.4.2 创建Nios II软件工程 / 398
11.4.3 应用程序设计 / 402
11.4.4 应用工程编译调试 / 403
11.5 SOPC系统设计实践 / 407
11.5.1 Nios II嵌入式处理器PIO应用 / 407
11.5.2 Nios II嵌入式处理器中断应用 / 413
11.5.3 Nios II实时时钟设计 / 418
小结 / 424
第12章 自定义IP组件设计 / 425
本章目的 / 425
12.1 重识Avalon总线 / 425
12.1.1 Avalon Clock和Avalon Reset接口 / 427
12.1.2 Avalon-MM接口 / 427
12.1.3 Avalon中断接口 / 429
12.1.4 Avalon-ST接口 / 429
12.1.5 Avalon Conduit接口 / 430
12.1.6 Avalon-TC接口 / 431
12.2 自定义IP组件设计 / 431
12.2.1 PWM的HDL设计 / 431
12.2.2 PWM自定义IP组件的封装方法 / 435
12.2.3 PWM自定义IP组件的应用方法 / 436
小结 / 438
附录A DE2-115开发板引脚配置信息 / 439
参考文献 / 445