书籍详情
EDA技术与VHDL设计(第2版)
作者:徐志军 编著
出版社:电子工业出版社
出版时间:2015-02-01
ISBN:9787121251788
定价:¥45.00
购买这本书可以去
内容简介
本书根据电子信息类课程教学和实验要求,以提高学生的实践动手能力和工程设计能力为目的,对EDA技术和VHDL设计的相关知识进行系统和完整的介绍。全书共10章,主要内容包括:EDA技术概述、可编程逻辑器件基础、典型FPGA/CPLD的结构与配置、原理图与宏功能模块设计、VHDL设计输入方式、VHDL结构与要素、VHDL基本语句与基本设计、VHDL设计进阶、数字接口实例及分析、通信算法实例及分析等。本书内容新颖,技术先进,由浅入深,既有关于EDA技术、大规模可编程逻辑器件和VHDL硬件描述语言的系统介绍,又有丰富的设计应用实例。本书提供配套电子课件、程序代码和习题参考答案。
作者简介
徐志军,教授,解放军理工大学通信工程学院。中国高等教育学会仪器科学及测控技术专业委员会副主任委员、华东地区高校电子线路教学研究会理事、中国电子学会高级会员。
目录
第1章 EDA技术概述1
1.1 EDA技术及其发展历程1
1.2 EDA技术的特征和优势3
1.2.1 EDA技术的基本特征4
1.2.2 EDA技术的优势6
1.3 EDA设计的目标和流程7
1.3.1 EDA技术的实现目标8
1.3.2 EDA设计流程8
1.3.3 数字集成电路的设计9
1.3.4 模拟集成电路的设计10
1.4 EDA技术与ASIC设计11
1.4.1 ASIC的特点与分类11
1.4.2 ASIC的设计方法12
1.4.3 SoC设计15
1.5 硬件描述语言18
1.5.1 VHDL18
1.5.2 Verilog HDL19
1.5.3 AHDL19
1.5.4 Verilog HDL和VHDL的比较20
1.6 EDA设计工具20
1.6.1 EDA设计工具分类21
1.6.2 EDA公司与工具介绍22
习题125
第2章 可编程逻辑器件基础26
2.1 概述26
2.1.1 可编程逻辑器件发展历程26
2.1.2 可编程逻辑器件分类27
2.1.3 可编程逻辑器件的优势30
2.1.4 可编程逻辑器件的发展趋势30
2.2 PLD器件的基本结构32
2.2.1 基本结构32
2.2.2 电路符号33
2.2.3 PROM34
2.2.4 PLA35
2.2.5 PAL36
2.2.6 GAL37
2.3 CPLD/FPGA的结构特点39
2.3.1 Lattice公司的CPLD/FPGA39
2.3.2 Xilinx公司的CPLD/FPGA41
2.3.3 Altera和Actel公司的CPLD/FPGA44
2.3.4 CPLD和FPGA的异同45
2.4 可编程逻辑器件的基本资源45
2.4.1 功能单元46
2.4.2 输入-输出焊盘46
2.4.3 布线资源47
2.4.4 片内RAM49
2.5 可编程逻辑器件的编程工艺50
2.5.1 熔丝型开关50
2.5.2 反熔丝型开关51
2.5.3 浮栅编程器件51
2.5.4 基于SRAM的编程器件54
2.6 可编程逻辑器件的设计与开发54
2.6.1 CPLD/FPGA设计流程54
2.6.2 CPLD/FPGA开发工具57
2.6.3 CPLD/FPGA的应用选择59
2.7 可编程逻辑器件的测试技术61
2.7.1 边界扫描测试原理62
2.7.2 IEEE 1149.1标准62
2.7.3 边界扫描策略及相关工具66
习题266
第3章 典型FPGA/CPLD的结构与配置68
3.1 Stratix高端FPGA系列68
3.1.1 Stratix器件68
3.1.2 Stratix II器件71
3.2 Cyclone低成本FPGA系列74
3.2.1 Cyclone器件74
3.2.2 Cyclone II器件78
3.3 典型CPLD器件84
3.3.1 MAX II器件84
3.3.2 MAX 7000器件85
3.4 FPGA/CPLD的配置87
3.4.1 CPLD器件的配置88
3.4.2 FPGA器件的配置89
习题393
第4章 原理图与宏功能模块设计94
4.1 Quartus II原理图设计94
4.1.1 半加器原理图输入94
4.1.2 半加器编译97
4.1.3 半加器仿真99
4.1.4 全加器设计与仿真101
4.2 Quartus II的优化设置102
4.2.1 Settings设置102
4.2.2 分析与综合设置104
4.2.3 优化布局布线104
4.2.4 使用设计助手检查设计可靠性110
4.3 Quartus II的时序分析112
4.3.1 时序设置与分析112
4.3.2 时序逼近115
4.4 宏功能模块设计117
4.4.1 Megafunctions库117
4.4.2 Maxplus2库126
4.4.3 Primitives库127
习题4129
第5章 VHDL设计输入方式132
5.1 Quartus II的VHDL输入设计132
5.1.1 创建工程文件133
5.1.2 编译134
5.1.3 仿真136
5.2 Synplify Pro的VHDL输入设计137
5.2.1 用Synplify Pro综合的过程139
5.2.2 Synplify Pro与Quartus II的接口142
5.3 Synplify的VHDL输入设计143
习题5146
第6章 VHDL结构与要素147
6.1 实体147
6.1.1 类属参数说明148
6.1.2 端口说明149
6.1.3 实体描述举例150
6.2 结构体151
6.2.1 结构体的命名151
6.2.2 结构体信号定义语句152
6.2.3 结构体功能描述语句152
6.2.4 结构体描述方法152
6.3 VHDL库154
6.3.1 库的种类154
6.3.2 库的用法155
6.4 VHDL程序包157
6.4.1 程序包组成和格式157
6.4.2 VHDL标准程序包158
6.5 配置159
6.5.1 默认配置159
6.5.2 结构体的配置161
6.6 VHDL文字规则163
6.6.1 标志符163
6.6.2 数字164
6.6.3 字符串164
6.7 VHDL数据类型165
6.7.1 预定义数据类型165
6.7.2 自定义数据类型167
6.7.3 用户自定义的子类型169
6.7.4 数据类型的转换169
6.8 VHDL操作符171
6.8.1 逻辑操作符171
6.8.2 关系操作符171
6.8.3 算术操作符172
6.8.4 并置操作符173
6.8.5 操作符重载173
6.9 数据对象174
6.9.1 常量174
6.9.2 变量175
6.9.3 信号176
6.9.4 文件176
习题6177
第7章 VHDL基本语句与基本设计178
7.1 顺序语句178
7.1.1 赋值语句178
7.1.2 IF语句178
7.1.3 CASE语句181
7.1.4 LOOP语句182
7.1.5 NEXT语句184
7.1.6 EXIT语句184
7.1.7 WAIT语句185
7.1.8 子程序调用语句186
7.2 并行语句188
7.2.1 并行信号赋值语句188
7.2.2 进程语句191
7.2.3 并行过程调用语句192
7.2.4 元器件例化语句193
7.2.5 生成语句195
7.3 VHDL组合逻辑电路设计198
7.4 VHDL时序逻辑电路设计204
7.4.1 触发器204
7.4.2 寄存器206
7.4.3 计数器207
7.4.4 分频器208
习题7211
第8章 VHDL设计进阶212
8.1 VHDL行为描述方式212
8.2 VHDL结构化描述方式214
8.3 VHDL RTL描述方式217
8.4 有限状态机(FSM)设计218
8.4.1 Moore和Mealy状态机的选择218
8.4.2 有限状态机的描述方式220
8.4.3 有限状态机的同步和复位228
8.4.4 改进的Moore型有限状态机234
8.4.5 小结239
习题8240
第9章 数字接口实例及分析242
9.1 ST-BUS总线接口设计242
9.1.1 ST-BUS总线时序关系242
9.1.2 ST-BUS总线接口实例244
9.2 数字复接分接接口技术及设计248
9.2.1 数字复接分接接口技术原理249
9.2.2 同步数字复接分接接口设计实例250
9.3 I2C接口设计256
9.3.1 I2C总线工作原理257
9.3.2 I2C总线接口设计实例259
9.4 GMSK基带调制接口设计265
9.4.1 GMSK调制基本原理265
9.4.2 GMSK调制实现的基本方法267
9.4.3 GMSK基带调制接口的实现代码268
习题9286
第10章 通信算法实例及分析287
10.1 伪随机序列的产生、检测设计287
10.1.1 m序列的产生287
10.1.2 m序列的性质288
10.1.3 m序列发生器的VHDL设计288
10.1.4 m序列检测电路的VHDL设计290
10.2 比特同步设计294
10.2.1 锁相功能的自同步法原理294
10.2.2 锁相比特同步的EDA实现方法296
10.3 基带差分编码设计305
10.3.1 PSK调制和差分编码原理305
10.3.2 PSK差分编码设计308
10.4 FIR滤波器设计314
10.4.1 FIR滤波器简介314
10.4.2 使用MATLAB设计FIR滤波器316
10.4.3 FIR滤波器的FPGA普通设计317
10.4.4 FIR滤波器的并行FPGA优化设计319
习题10326
参考文献327
1.1 EDA技术及其发展历程1
1.2 EDA技术的特征和优势3
1.2.1 EDA技术的基本特征4
1.2.2 EDA技术的优势6
1.3 EDA设计的目标和流程7
1.3.1 EDA技术的实现目标8
1.3.2 EDA设计流程8
1.3.3 数字集成电路的设计9
1.3.4 模拟集成电路的设计10
1.4 EDA技术与ASIC设计11
1.4.1 ASIC的特点与分类11
1.4.2 ASIC的设计方法12
1.4.3 SoC设计15
1.5 硬件描述语言18
1.5.1 VHDL18
1.5.2 Verilog HDL19
1.5.3 AHDL19
1.5.4 Verilog HDL和VHDL的比较20
1.6 EDA设计工具20
1.6.1 EDA设计工具分类21
1.6.2 EDA公司与工具介绍22
习题125
第2章 可编程逻辑器件基础26
2.1 概述26
2.1.1 可编程逻辑器件发展历程26
2.1.2 可编程逻辑器件分类27
2.1.3 可编程逻辑器件的优势30
2.1.4 可编程逻辑器件的发展趋势30
2.2 PLD器件的基本结构32
2.2.1 基本结构32
2.2.2 电路符号33
2.2.3 PROM34
2.2.4 PLA35
2.2.5 PAL36
2.2.6 GAL37
2.3 CPLD/FPGA的结构特点39
2.3.1 Lattice公司的CPLD/FPGA39
2.3.2 Xilinx公司的CPLD/FPGA41
2.3.3 Altera和Actel公司的CPLD/FPGA44
2.3.4 CPLD和FPGA的异同45
2.4 可编程逻辑器件的基本资源45
2.4.1 功能单元46
2.4.2 输入-输出焊盘46
2.4.3 布线资源47
2.4.4 片内RAM49
2.5 可编程逻辑器件的编程工艺50
2.5.1 熔丝型开关50
2.5.2 反熔丝型开关51
2.5.3 浮栅编程器件51
2.5.4 基于SRAM的编程器件54
2.6 可编程逻辑器件的设计与开发54
2.6.1 CPLD/FPGA设计流程54
2.6.2 CPLD/FPGA开发工具57
2.6.3 CPLD/FPGA的应用选择59
2.7 可编程逻辑器件的测试技术61
2.7.1 边界扫描测试原理62
2.7.2 IEEE 1149.1标准62
2.7.3 边界扫描策略及相关工具66
习题266
第3章 典型FPGA/CPLD的结构与配置68
3.1 Stratix高端FPGA系列68
3.1.1 Stratix器件68
3.1.2 Stratix II器件71
3.2 Cyclone低成本FPGA系列74
3.2.1 Cyclone器件74
3.2.2 Cyclone II器件78
3.3 典型CPLD器件84
3.3.1 MAX II器件84
3.3.2 MAX 7000器件85
3.4 FPGA/CPLD的配置87
3.4.1 CPLD器件的配置88
3.4.2 FPGA器件的配置89
习题393
第4章 原理图与宏功能模块设计94
4.1 Quartus II原理图设计94
4.1.1 半加器原理图输入94
4.1.2 半加器编译97
4.1.3 半加器仿真99
4.1.4 全加器设计与仿真101
4.2 Quartus II的优化设置102
4.2.1 Settings设置102
4.2.2 分析与综合设置104
4.2.3 优化布局布线104
4.2.4 使用设计助手检查设计可靠性110
4.3 Quartus II的时序分析112
4.3.1 时序设置与分析112
4.3.2 时序逼近115
4.4 宏功能模块设计117
4.4.1 Megafunctions库117
4.4.2 Maxplus2库126
4.4.3 Primitives库127
习题4129
第5章 VHDL设计输入方式132
5.1 Quartus II的VHDL输入设计132
5.1.1 创建工程文件133
5.1.2 编译134
5.1.3 仿真136
5.2 Synplify Pro的VHDL输入设计137
5.2.1 用Synplify Pro综合的过程139
5.2.2 Synplify Pro与Quartus II的接口142
5.3 Synplify的VHDL输入设计143
习题5146
第6章 VHDL结构与要素147
6.1 实体147
6.1.1 类属参数说明148
6.1.2 端口说明149
6.1.3 实体描述举例150
6.2 结构体151
6.2.1 结构体的命名151
6.2.2 结构体信号定义语句152
6.2.3 结构体功能描述语句152
6.2.4 结构体描述方法152
6.3 VHDL库154
6.3.1 库的种类154
6.3.2 库的用法155
6.4 VHDL程序包157
6.4.1 程序包组成和格式157
6.4.2 VHDL标准程序包158
6.5 配置159
6.5.1 默认配置159
6.5.2 结构体的配置161
6.6 VHDL文字规则163
6.6.1 标志符163
6.6.2 数字164
6.6.3 字符串164
6.7 VHDL数据类型165
6.7.1 预定义数据类型165
6.7.2 自定义数据类型167
6.7.3 用户自定义的子类型169
6.7.4 数据类型的转换169
6.8 VHDL操作符171
6.8.1 逻辑操作符171
6.8.2 关系操作符171
6.8.3 算术操作符172
6.8.4 并置操作符173
6.8.5 操作符重载173
6.9 数据对象174
6.9.1 常量174
6.9.2 变量175
6.9.3 信号176
6.9.4 文件176
习题6177
第7章 VHDL基本语句与基本设计178
7.1 顺序语句178
7.1.1 赋值语句178
7.1.2 IF语句178
7.1.3 CASE语句181
7.1.4 LOOP语句182
7.1.5 NEXT语句184
7.1.6 EXIT语句184
7.1.7 WAIT语句185
7.1.8 子程序调用语句186
7.2 并行语句188
7.2.1 并行信号赋值语句188
7.2.2 进程语句191
7.2.3 并行过程调用语句192
7.2.4 元器件例化语句193
7.2.5 生成语句195
7.3 VHDL组合逻辑电路设计198
7.4 VHDL时序逻辑电路设计204
7.4.1 触发器204
7.4.2 寄存器206
7.4.3 计数器207
7.4.4 分频器208
习题7211
第8章 VHDL设计进阶212
8.1 VHDL行为描述方式212
8.2 VHDL结构化描述方式214
8.3 VHDL RTL描述方式217
8.4 有限状态机(FSM)设计218
8.4.1 Moore和Mealy状态机的选择218
8.4.2 有限状态机的描述方式220
8.4.3 有限状态机的同步和复位228
8.4.4 改进的Moore型有限状态机234
8.4.5 小结239
习题8240
第9章 数字接口实例及分析242
9.1 ST-BUS总线接口设计242
9.1.1 ST-BUS总线时序关系242
9.1.2 ST-BUS总线接口实例244
9.2 数字复接分接接口技术及设计248
9.2.1 数字复接分接接口技术原理249
9.2.2 同步数字复接分接接口设计实例250
9.3 I2C接口设计256
9.3.1 I2C总线工作原理257
9.3.2 I2C总线接口设计实例259
9.4 GMSK基带调制接口设计265
9.4.1 GMSK调制基本原理265
9.4.2 GMSK调制实现的基本方法267
9.4.3 GMSK基带调制接口的实现代码268
习题9286
第10章 通信算法实例及分析287
10.1 伪随机序列的产生、检测设计287
10.1.1 m序列的产生287
10.1.2 m序列的性质288
10.1.3 m序列发生器的VHDL设计288
10.1.4 m序列检测电路的VHDL设计290
10.2 比特同步设计294
10.2.1 锁相功能的自同步法原理294
10.2.2 锁相比特同步的EDA实现方法296
10.3 基带差分编码设计305
10.3.1 PSK调制和差分编码原理305
10.3.2 PSK差分编码设计308
10.4 FIR滤波器设计314
10.4.1 FIR滤波器简介314
10.4.2 使用MATLAB设计FIR滤波器316
10.4.3 FIR滤波器的FPGA普通设计317
10.4.4 FIR滤波器的并行FPGA优化设计319
习题10326
参考文献327
猜您喜欢