描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111612636
本书可作为普通高等院校电子信息专业、通信专业及计算机专业的学生的教材,也可作为工程技术人员的参考用书。
本书配有电子课件, 欢迎选用本书作教材的老师登录www.cmpedu.com 注册下载,或发邮件至[email protected] 索取。
前言
第1 章 EDA 技术概述 1
1.1 EDA 技术简介 1
1.2 EDA 技术的发展和优势 2
1.2.1 EDA 技术的发展 2
1.2.2 EDA 技术的优势 3
1.3 硬件描述语言(HDL) 4
1.3.1 原理图设计方法 4
1.3.2 HDL 的设计方法 4
1.3.3 HDL 设计方法与传统原理图设计方法的比较 5
1.4 综合 6
1.5 基于HDL 的设计方法 7
1.6 EDA 工程的设计流程 8
1.7 EDA 集成开发工具简介 10
1.8 IP 核 12
1.9 小结 13
1.10 习题 13
第2 章 可编程逻辑器件基础 14
2.1 可编程逻辑器件概述 14
2.1.1 可编程逻辑器件的发展过程 14
2.1.2 可编程逻辑器件的分类 15
2.2 PROM、PLA、PAL 和GAL 的基本结构 16
2.2.1 逻辑电路符号的表示方法 16
2.2.2 PLD 器件的基本结构 17
2.2.3 PROM 的基本结构 17
2.2.4 PLA 的基本结构 18
2.2.5 PAL 和GAL 的基本结构 18
2.2.6 PROM、PLA、PAL 和GAL 电路的结构特点 21
2.3 CPLD 的基本结构和工作原理 21
2.3.1 CPLD 的基本结构 21
2.3.2 Intel 公司的CPLD 23
2.4 FPGA 的结构和工作原理 26
2.4.1 FPGA 的基本结构 27
2.4.2 Intel 公司的FPGA 30
2.5 CPLD/FPGA 的应用选型 33
2.6 Intel 器件的识读与选型指南 34 2.7 小结 37
2.8 习题 38
第3 章 Quartus Prime 开发软件应用 39
3.1 Quartus Prime 软件设计流程 39
3.2 Quartus Prime 软件安装 39
3.3 创建工程文件 45
3.3.1 建立工程 45
3.3.2 建立设计文件 50
3.3.3 原理图输入方法 52
3.3.4 文本输入设计方法 53
3.3.5 编译 55
3.4 约束输入 55
3.4.1 器件选择 55
3.4.2 引脚分配及验证 57
3.4.3 使用“Assignment Editor”和“Settings”对话框 58
3.5 综合和仿真 59
3.5.1 使用Quartus Prime 的集成综合 59
3.5.2 使用ModelSim 仿真器进行仿真设计 60
3.6 下载配置 63
3.6.1 JTAG 模式 63
3.6.2 AS 模式 63
3.7 实例:3 线-8 线译码器设计与仿真 64
3.7.1 实例简介 64
3.7.2 实例目的 64
3.7.3 实例内容 64
3.8 小结 68
3.9 习题 69
第4 章 Verilog HDL 的基本语法 70
4.1 Verilog HDL 简介 70
4.1.1 Verilog HDL 的发展过程 70
4.1.2 Verilog HDL 与C 语言的比较 71
4.2 Verilog HDL 设计举例 73
4.3 Verilog HDL 模块的结构 75
4.4 Verilog HDL 的要素与表达式 79
4.4.1 注释 80
4.4.2 常量 80
4.4.3 变量 81
4.4.4 操作符 83
4.4.5 字符串、关键字、标识符 90
4.5 赋值语句 90
4.5.1 连续赋值 91
4.5.2 过程赋值 92
4.5.3 连续赋值和过程赋值的不同 95
4.6 块语句 96
4.6.1 顺序语句块(begin-end) 96
4.6.2 并行语句块(fork-join) 97
4.6.3 起始时间和结束时间 98
4.7 条件语句 99
4.7.1 if-else 语句 99
4.7.2 case 语句 101
4.7.3 比较if-else 嵌套与case 语句 104
4.8 循环语句 104
4.8.1 for 语句 104
4.8.2 forever 语句 105
4.8.3 repeat 语句 105
4.8.4 while 语句 105
4.9 过程语句 106
4.9.1 initial 语句 106
4.9.2 always 语句 108
4.10 任务与函数 109
4.10.1 任务 110
4.10.2 函数 113
4.11 预编译指令 114
4.11.1 宏定义语句(‘define、’undef) 114
4.11.2 文件包含语句(‘include) 115
4.11.3 时间尺度(‘timescale) 117
4.11.4 条件编译指令(‘ifdef、’else、’endif) 117
4.12 小结 118
4.13 习题 118
第5 章 Verilog HDL 设计的层次与常用模块设计 120
5.1 Verilog HDL 设计的层次 120
5.2 行为描述 120
5.3 数据流描述 121
5.4 结构描述 121
5.4.1 Verilog HDL 内置门元件 121
5.4.2 门元件的调用 122
5.5 基本组合逻辑电路设计 123
5.5.1 与非门电路 124
5.5.2 或非门电路 125
5.5.3 异或门电路 126
5.5.4 三态门电路 127
5.5.5 编码器 127
5.5.6 译码器 129
5.5.7 BCD-七段显示译码器 130
5.5.8 2 选1 数据选择器 132
5.5.9 4 选1 数据选择器 133
5.5.10 数值比较器 134
5.5.11 总线缓冲器 135
5.6 基本时序电路设计 136
5.6.1 触发器 136
5.6.2 寄存器 137
5.6.3 计数器 138
5.6.4 串-并转换器 139
5.7 加法器设计 140
5.7.1 并行加法器 141
5.7.2 流水线加法器 141
5.8 乘法器设计 143
5.8.1 并行乘法器 143
5.8.2 查找表乘法器 144
5.9 乘累加器设计 145
5.10 小结 147
5.11 习题 147
第6 章 宏功能模块设计 148
6.1 算术运算模块库 148
6.1.1 算术运算模块库模块列表 148
6.1.2 乘法器模块设计举例 149
6.1.3 计数器模块设计举例 153
6.2 逻辑门库 156
6.2.1 逻辑门库宏模块列表 156
6.2.2 3 线-8 线译码器模块设计举例 156
6.3 I/O 模块库 158
6.4 存储器模块库 159
6.5 小结 160
6.6 习题 160
第7 章 可综合设计与优化 161
7.1 可综合设计 161
7.1.1 综合的概念及其过程 161
7.1.2 可综合模型的设计 162
7.1.3 综合结果的验证 163
7.2 Verilog HDL 设计优化 165
7.2.1 公因子和公因子表达式 165
7.2.2 算术表达式优化 165
7.2.3 运算符优化 166
7.2.4 循环语句的优化 166
7.3 面积与速度的折中 167
7.3.1 速度换面积 167
7.3.2 面积换速度 168
7.4 有限状态机设计 168
7.4.1 有限状态机的设计步骤 169
7.4.2 有限状态机编码方式 170
7.4.3 用Verilog HDL 设计可综合的状态机的指导原则 170
7.4.4 状态机的三种设计风格 170
7.5 小结 178
7.6 习题 178
第8 章 ModelSim 软件的使用 179
8.1 系统任务与函数 179
8.2 用户自定义原语 183
8.3 应用Testbench 仿真验证 184
8.3.1 基本结构 184
8.3.2 验证过程 185
8.3.3 验证的全面性与代码覆盖率分析 188
8.4 应用ModelSim 软件仿真 194
8.4.1 软件简介 194
8.4.2 使用ModelSim 进行设计仿真 194
8.4.3 在Quartus Prime 中直接调用ModelSim 198
8.5 实例:4 位全加器设计及ModelSim 仿真 200
8.5.1 实例简介 200
8.5.2 实例目的 201
8.5.3 实例内容 201
8.6 小结 207
8.7 习题 207
第9 章 数字设计实例 208
9.1 卷积编码Verilog HDL 设计 208
9.1.1 卷积码的编码工作原理 208
9.1.2 卷积码的Verilog HDL 实现 209
9.1.3 卷积码的ModelSim 仿真 210
9.2 通用异步收发器的Verilog HDL 设计与验证 211
9.2.1 通用异步收发器的规范 211
9.2.2 电路结构设计 212
9.2.3 UART 控制电路模块的代码设计与分析 214
9.2.4 发送电路的代码设计与仿真分析 218
9.2.5 接收电路的代码设计与仿真 222
9.2.6 UART 系统仿真 227
9.2.7 UART 自动测试Testbench 230
9.3 小结 233
9.4 习题 234
第10 章 C/C++语言开发可编程逻辑器件 235
10.1 基于C/C++的硬件设计方法 235
10.2 硬件设计的C++数据类型 235
10.2.1 ac_int 型 236
10.2.2 ac_fixed 型 236
10.3 C/C++ FIR 滤波器设计 237
10.3.1 直接型FIR 滤波器 237
10.3.2 奇对称FIR 滤波器 238
10.3.3 转置型FIR 滤波器 239
10.4 C++滤波器的可编程逻辑实现及验证 239
10.4.1 C++ FIR 滤波器的实现 239
10.4.2 FIR 滤波器的验证 247
10.5 小结 249
10.6 习题 250
附录 Quartus Ⅱ支持的Verilog 结构 251
参考文献 254
电子设计自动化(Electronic Design Automation,EDA)技术以计算机和微电子技术为先导,汇集了多种计算机应用学科的成果,目前已经成为电子设计技术发展的重要趋势。尤其是近年来,随着计算机技术与微电子工艺的飞速发展,使得EDA 的理论、设备、工具及其应用领域得到了极大的扩展。至今,EDA 技术已经深入到了经济技术发展与社会进步的方方面面,深刻地改变着我们熟悉的世界。
为了更好地促进大学相关专业EDA 课程的开展,提高学生对EDA 技术的掌握与应用能力,特编写本书。本书在原有《EDA 技术与应用》教材的基础上进行了全新的内容编排,引入了的Intel FPGA 芯片文档以及Quartus Prime 开发环境,力求紧跟技术发展的步伐,带给读者前沿、实用的EDA 知识与技能。全书共分10 章,均配有详细的图文参考流程、的软件开发环境以及丰富的设计实例。其中第1、2 章旨在介绍EDA 的发展历程、可编程逻辑器件的沿革,以及相关的基础知识与背景。第3~7 章详细讲解了从EDA 运行环境安装到Verilog HDL 硬件描述语言的基本知识,并就其语法、设计层次、模块化设计等进行了阐述。第8~10 章讲述了仿真测试环境及C/C++与EDA 结合的方法与实例。全书在各个章节的内容编写中目标突出,内容连贯,注重理论与实践的结合,难度循序渐进,从而促进学生掌握常用操作与工具,巩固原有电子电路相关知识,强化设计、编码与实验技能,为学生完整掌握EDA 知识、培养学生自主学习能力与创新能力奠定基础。
本书由韩鹏负责统稿。东北大学汪晋宽教授为本书的编写与完善给予了重要的指导;东北大学秦皇岛分校刘杰民、刘志刚、刘少楠在本书的撰写过程中提供了宝贵意见与帮助,在此一并感谢。本书的出版特别感谢百科荣创(北京)科技发展有限公司及青岛若贝电子有限公司申报的*协同育人项目的宝贵支持。
本书适合大学本科或本科以上学生使用,可作为电子设计爱好者的自学教材,也可作为相关专业学生进行电子设计实验或电子设计创新竞赛的参考书。为方便使用,本书所涉及的实验范例及相关素材可在编者的个人网站下载,网址为:http://www.drhan.org。
由于编者水平有限,书中不足之处在所难免,敬请读者批评指正。
本书的出版得到了以下基金项目的支持:
•国家自然科学基金项目(61603083)
•河北省自然科学基金(F2017501014)
•河北省高等学校科学技术研究项目(QN2016315,QN2017105)
•辽宁省科学技术计划项目(201601029)
•中央高校基本科研业务费项目(N172304028,N162303005)
•东北大学秦皇岛分校教学研究与改革项目
编 者
评论
还没有评论。