书籍详情
数字系统设计与VHDL(第2版)
作者:王金明 著
出版社:电子工业出版社
出版时间:2018-01-01
ISBN:9787121332500
定价:¥49.90
购买这本书可以去
内容简介
本书根据EDA课程教学要求,以提高数字设计能力为目的,系统阐述FPGA数字系统开发的相关知识,主要内容包括EDA技术概述、FPGA/CPLD器件、VHDL硬件描述语言等。全书以Quartus Prime、ModelSim等软件为平台,以VHDL’87和VHDL’93语言标准为依据,基于DE2-115实验平台,以可综合的设计为重点,通过大量经过验证的数字设计实例,阐述数字系统设计的方法与技术,由浅入深地介绍VHDL工程开发的知识与技能。
作者简介
王金明,男,1972年5月出生,博士,现为解放军陆军工程大学副教授、硕士生导师。曾获军队科技进步一等奖1项,军队科技进步二等奖3项,军队科技进步三等奖5项,获军队级教学成果二等奖1项;获国家发明专利授权2项,获软件著作授权1项;发表论文80余篇,其中SCI、EI收录30余篇;主编教材多部,并入选十一五”国家级规划教材和十二五”国家级规划教材;2013年获军队院校育才奖银奖;2014年由国家留学基金委资助,在美国威斯康星大学麦迪逊分校访问研究1年;指导本科生参加全国大学生电子设计竞赛,共获得全国一等奖8项。
目录
第1章 EDA技术概述\t1
1.1 EDA技术及其发展\t1
1.2 Top-down设计与IP核复用\t4
1.2.1 Top-down设计\t4
1.2.2 Bottom-up设计\t5
1.2.3 IP复用技术与SoC\t5
1.3 数字设计的流程\t7
1.3.1 设计输入\t8
1.3.2 综合\t9
1.3.3 布局布线\t9
1.3.4 仿真\t10
1.3.5 编程配置\t10
1.4 常用的EDA软件工具\t10
1.5 EDA技术的发展趋势\t14
习题1\t15
第2章 FPGA/CPLD器件\t16
2.1 PLD器件概述\t16
2.1.1 PLD器件的发展历程\t16
2.1.2 PLD器件的分类\t17
2.2 PLD的基本原理与结构\t19
2.2.1 PLD器件的基本结构\t19
2.2.2 PLD电路的表示方法\t20
2.3 低密度PLD的原理与结构\t21
2.4 CPLD的原理与结构\t25
2.4.1 宏单元结构\t25
2.4.2 典型CPLD的结构\t26
2.5 FPGA的原理与结构\t29
2.5.1 查找表结构\t29
2.5.2 典型FPGA的结构\t32
2.5.3 Altera的Cyclone IV器件结构\t35
2.6 FPGA/CPLD的编程元件\t38
2.7 边界扫描测试技术\t42
2.8 FPGA/CPLD的编程与配置\t43
2.8.1 在系统可编程\t43
2.8.2 FPGA器件的配置\t45
2.8.3 Cyclone IV器件的编程\t46
2.9 FPGA/CPLD器件概述\t48
2.10 FPGA/CPLD的发展趋势\t52
习题2\t52
第3章 Quartus Prime使用指南\t54
3.1 Quartus Prime原理图设计\t55
3.1.1 半加器原理图设计输入\t55
3.1.2 1位全加器设计输入\t60
3.1.3 1位全加器的编译\t61
3.1.4 1位全加器的仿真\t63
3.1.5 1位全加器的下载\t68
3.2 基于IP核的设计\t71
3.2.1 用LPM_COUNTER设计模24方向可控计数器\t72
3.2.2 用LPM_ROM模块实现4×4无符号数乘法器\t79
3.3 SignalTap II的使用方法\t86
3.4 Quartus Prime的优化设置与时序分析\t91
习题3\t95
实验与设计\t97
3-1 8位带符号乘法器\t97
3-2 用常量模块实现补码转换为幅度码的电路\t101
第4章 VHDL设计初步\t103
4.1 VHDL简介\t103
4.2 VHDL组合电路设计\t104
4.2.1 用VHDL设计基本组合电路\t104
4.2.2 用VHDL设计加法器\t106
4.3 VHDL时序电路设计\t108
4.3.1 用VHDL设计D触发器\t108
4.3.2 用VHDL设计计数器\t111
习题4\t114
实验与设计\t115
4-1 Synplify Pro综合器的使用方法\t115
第5章 VHDL结构与要素\t120
5.1 实体\t120
5.1.1 类属参数说明\t120
5.1.2 端口说明\t122
5.2 结构体\t122
5.3 VHDL库和程序包\t123
5.3.1 库\t124
5.3.2 程序包\t126
5.4 配置\t128
5.5 子程序\t131
5.5.1 过程\t132
5.5.2 函数\t134
5.6 VHDL文字规则\t136
5.6.1 标识符\t136
5.6.2 数字\t137
5.6.3 字符串\t137
5.7 数据对象\t138
5.7.1 常量\t138
5.7.2 变量\t139
5.7.3 信号\t139
5.7.4 文件\t140
5.8 VHDL数据类型\t141
5.8.1 预定义数据类型\t142
5.8.2 用户自定义数据类型\t145
5.8.3 数据类型的转换\t148
5.9 VHDL运算符\t150
5.9.1 逻辑运算符\t150
5.9.2 关系运算符\t151
5.9.3 算术运算符\t152
5.9.4 并置运算符\t153
5.9.5 运算符重载\t153
习题5\t154
实验与设计\t155
5-1 用altpll锁相环IP核实现倍频和分频\t155
第6章 VHDL基本语句\t161
6.1 顺序语句\t161
6.1.1 赋值语句\t161
6.1.2 IF语句\t161
6.1.3 CASE语句\t167
6.1.4 LOOP语句\t170
6.1.5 NEXT与EXIT语句\t172
6.1.6 WAIT语句\t173
6.1.7 子程序调用语句\t175
6.1.8 断言语句\t175
6.1.9 REPORT语句\t176
6.1.10 NULL语句\t177
6.2 并行语句\t178
6.2.1 并行信号赋值语句\t178
6.2.2 进程语句\t183
6.2.3 块语句\t186
6.2.4 元件例化语句\t187
6.2.5 生成语句\t189
6.2.6 并行过程调用语句\t192
6.3 属性说明与定义语句\t193
6.3.1 数据类型属性\t193
6.3.2 数组属性\t194
6.3.3 信号属性\t195
习题6\t196
实验与设计\t196
6-1 4×4矩阵键盘检测电路\t196
6-2 FIFO缓存器设计\t199
第7章 VHDL设计进阶\t204
7.1 行为描述\t204
7.2 数据流描述\t205
7.3 结构描述\t206
7.3.1 用结构描述设计1位全加器\t206
7.3.2 用结构描述设计4位加法器\t208
7.3.3 用结构描述设计8位加法器\t209
7.4 三态逻辑设计\t211
7.5 分频器设计\t213
7.5.1 占空比为50%的奇数分频\t213
7.5.2 半整数分频\t215
7.5.3 数控分频器\t217
7.6 音乐演奏电路\t218
7.6.1 音乐演奏实现的方法\t218
7.6.2 实现与下载\t220
习题7\t223
实验与设计\t224
7-1 数字表决器\t224
7-2 数字跑表\t227
第8章 VHDL有限状态机设计\t233
8.1 有限状态机\t233
8.1.1 有限状态机的描述\t233
8.1.2 枚举数据类型\t236
8.2 有限状态机的描述方式\t237
8.2.1 三进程表述方式\t238
8.2.2 双进程表述方式\t239
8.2.3 单进程表述方式\t241
8.3 状态编码\t244
8.3.1 常用的编码方式\t244
8.3.2 用ATTRIBUTE指定编码方式\t245
8.3.3 用常量进行编码\t247
8.4 有限状态机设计要点\t249
8.4.1 起始状态的选择和复位\t249
8.4.2 多余状态的处理\t251
习题8\t252
实验与设计\t253
8-1 流水灯控制器\t253
8-2 状态机A/D采样控制电路\t255
第9章 VHDL数字设计与优化\t258
9.1 流水线设计技术\t258
9.2 资源共享\t261
9.3 VGA图像的显示与控制\t265
9.3.1 VGA图像显示原理与时序\t265
9.3.2 VGA图像显示与控制的实现\t269
9.4 数字过零检测和等精度频率测量\t276
9.4.1 数字过零检测\t276
9.4.2 等精度频率测量\t278
9.4.3 数字测量系统\t280
习题9\t282
实验与设计\t284
9-1 字符液晶显示控制器设计\t284
第10章 VHDL的Test Bench仿真\t291
10.1 VHDL仿真概述\t291
10.2 VHDL测试平台\t292
10.2.1 用VHDL描述仿真激励信号\t292
10.2.2 用TEXTIO进行仿真\t296
10.3 ModelSim SE仿真实例\t299
10.3.1 图形界面仿真方式\t302
10.3.2 命令行仿真方式\t305
10.3.3 ModelSim SE时序仿真\t307
习题10\t309
实验与设计\t309
10-1 用ModelSim SE仿真奇偶检测电路\t309
第11章 VHDL设计实例\t312
11.1 m序列产生器\t312
11.1.1 m序列的原理与性质\t312
11.1.2 用原理图设计产生m序列\t314
11.1.3 用VHDL设计m序列\t315
11.2 Gold码\t317
11.2.1 Gold码的原理与性质\t317
11.2.2 用原理图设计产生Gold码\t318
11.2.3 用VHDL设计实现Gold码\t319
11.3 卷积码\t320
11.3.1 卷积码原理\t320
11.3.2 卷积码实现\t320
11.4 QPSK数字调制产生\t323
11.4.1 调制原理\t323
11.4.2 QPSK调制信号产生的设计实现\t324
11.5 小型神经网络\t333
11.6 数字AGC\t337
11.6.1 数字AGC技术的原理和设计思想\t337
11.6.2 数字AGC的VHDL实现\t338
11.6.3 数字AGC的仿真\t345
习题11\t347
实验与设计\t347
11-1 异步串行接口(UART)\t347
附录A VHDL关键字\t356
附录B DE2-115介绍\t357
1.1 EDA技术及其发展\t1
1.2 Top-down设计与IP核复用\t4
1.2.1 Top-down设计\t4
1.2.2 Bottom-up设计\t5
1.2.3 IP复用技术与SoC\t5
1.3 数字设计的流程\t7
1.3.1 设计输入\t8
1.3.2 综合\t9
1.3.3 布局布线\t9
1.3.4 仿真\t10
1.3.5 编程配置\t10
1.4 常用的EDA软件工具\t10
1.5 EDA技术的发展趋势\t14
习题1\t15
第2章 FPGA/CPLD器件\t16
2.1 PLD器件概述\t16
2.1.1 PLD器件的发展历程\t16
2.1.2 PLD器件的分类\t17
2.2 PLD的基本原理与结构\t19
2.2.1 PLD器件的基本结构\t19
2.2.2 PLD电路的表示方法\t20
2.3 低密度PLD的原理与结构\t21
2.4 CPLD的原理与结构\t25
2.4.1 宏单元结构\t25
2.4.2 典型CPLD的结构\t26
2.5 FPGA的原理与结构\t29
2.5.1 查找表结构\t29
2.5.2 典型FPGA的结构\t32
2.5.3 Altera的Cyclone IV器件结构\t35
2.6 FPGA/CPLD的编程元件\t38
2.7 边界扫描测试技术\t42
2.8 FPGA/CPLD的编程与配置\t43
2.8.1 在系统可编程\t43
2.8.2 FPGA器件的配置\t45
2.8.3 Cyclone IV器件的编程\t46
2.9 FPGA/CPLD器件概述\t48
2.10 FPGA/CPLD的发展趋势\t52
习题2\t52
第3章 Quartus Prime使用指南\t54
3.1 Quartus Prime原理图设计\t55
3.1.1 半加器原理图设计输入\t55
3.1.2 1位全加器设计输入\t60
3.1.3 1位全加器的编译\t61
3.1.4 1位全加器的仿真\t63
3.1.5 1位全加器的下载\t68
3.2 基于IP核的设计\t71
3.2.1 用LPM_COUNTER设计模24方向可控计数器\t72
3.2.2 用LPM_ROM模块实现4×4无符号数乘法器\t79
3.3 SignalTap II的使用方法\t86
3.4 Quartus Prime的优化设置与时序分析\t91
习题3\t95
实验与设计\t97
3-1 8位带符号乘法器\t97
3-2 用常量模块实现补码转换为幅度码的电路\t101
第4章 VHDL设计初步\t103
4.1 VHDL简介\t103
4.2 VHDL组合电路设计\t104
4.2.1 用VHDL设计基本组合电路\t104
4.2.2 用VHDL设计加法器\t106
4.3 VHDL时序电路设计\t108
4.3.1 用VHDL设计D触发器\t108
4.3.2 用VHDL设计计数器\t111
习题4\t114
实验与设计\t115
4-1 Synplify Pro综合器的使用方法\t115
第5章 VHDL结构与要素\t120
5.1 实体\t120
5.1.1 类属参数说明\t120
5.1.2 端口说明\t122
5.2 结构体\t122
5.3 VHDL库和程序包\t123
5.3.1 库\t124
5.3.2 程序包\t126
5.4 配置\t128
5.5 子程序\t131
5.5.1 过程\t132
5.5.2 函数\t134
5.6 VHDL文字规则\t136
5.6.1 标识符\t136
5.6.2 数字\t137
5.6.3 字符串\t137
5.7 数据对象\t138
5.7.1 常量\t138
5.7.2 变量\t139
5.7.3 信号\t139
5.7.4 文件\t140
5.8 VHDL数据类型\t141
5.8.1 预定义数据类型\t142
5.8.2 用户自定义数据类型\t145
5.8.3 数据类型的转换\t148
5.9 VHDL运算符\t150
5.9.1 逻辑运算符\t150
5.9.2 关系运算符\t151
5.9.3 算术运算符\t152
5.9.4 并置运算符\t153
5.9.5 运算符重载\t153
习题5\t154
实验与设计\t155
5-1 用altpll锁相环IP核实现倍频和分频\t155
第6章 VHDL基本语句\t161
6.1 顺序语句\t161
6.1.1 赋值语句\t161
6.1.2 IF语句\t161
6.1.3 CASE语句\t167
6.1.4 LOOP语句\t170
6.1.5 NEXT与EXIT语句\t172
6.1.6 WAIT语句\t173
6.1.7 子程序调用语句\t175
6.1.8 断言语句\t175
6.1.9 REPORT语句\t176
6.1.10 NULL语句\t177
6.2 并行语句\t178
6.2.1 并行信号赋值语句\t178
6.2.2 进程语句\t183
6.2.3 块语句\t186
6.2.4 元件例化语句\t187
6.2.5 生成语句\t189
6.2.6 并行过程调用语句\t192
6.3 属性说明与定义语句\t193
6.3.1 数据类型属性\t193
6.3.2 数组属性\t194
6.3.3 信号属性\t195
习题6\t196
实验与设计\t196
6-1 4×4矩阵键盘检测电路\t196
6-2 FIFO缓存器设计\t199
第7章 VHDL设计进阶\t204
7.1 行为描述\t204
7.2 数据流描述\t205
7.3 结构描述\t206
7.3.1 用结构描述设计1位全加器\t206
7.3.2 用结构描述设计4位加法器\t208
7.3.3 用结构描述设计8位加法器\t209
7.4 三态逻辑设计\t211
7.5 分频器设计\t213
7.5.1 占空比为50%的奇数分频\t213
7.5.2 半整数分频\t215
7.5.3 数控分频器\t217
7.6 音乐演奏电路\t218
7.6.1 音乐演奏实现的方法\t218
7.6.2 实现与下载\t220
习题7\t223
实验与设计\t224
7-1 数字表决器\t224
7-2 数字跑表\t227
第8章 VHDL有限状态机设计\t233
8.1 有限状态机\t233
8.1.1 有限状态机的描述\t233
8.1.2 枚举数据类型\t236
8.2 有限状态机的描述方式\t237
8.2.1 三进程表述方式\t238
8.2.2 双进程表述方式\t239
8.2.3 单进程表述方式\t241
8.3 状态编码\t244
8.3.1 常用的编码方式\t244
8.3.2 用ATTRIBUTE指定编码方式\t245
8.3.3 用常量进行编码\t247
8.4 有限状态机设计要点\t249
8.4.1 起始状态的选择和复位\t249
8.4.2 多余状态的处理\t251
习题8\t252
实验与设计\t253
8-1 流水灯控制器\t253
8-2 状态机A/D采样控制电路\t255
第9章 VHDL数字设计与优化\t258
9.1 流水线设计技术\t258
9.2 资源共享\t261
9.3 VGA图像的显示与控制\t265
9.3.1 VGA图像显示原理与时序\t265
9.3.2 VGA图像显示与控制的实现\t269
9.4 数字过零检测和等精度频率测量\t276
9.4.1 数字过零检测\t276
9.4.2 等精度频率测量\t278
9.4.3 数字测量系统\t280
习题9\t282
实验与设计\t284
9-1 字符液晶显示控制器设计\t284
第10章 VHDL的Test Bench仿真\t291
10.1 VHDL仿真概述\t291
10.2 VHDL测试平台\t292
10.2.1 用VHDL描述仿真激励信号\t292
10.2.2 用TEXTIO进行仿真\t296
10.3 ModelSim SE仿真实例\t299
10.3.1 图形界面仿真方式\t302
10.3.2 命令行仿真方式\t305
10.3.3 ModelSim SE时序仿真\t307
习题10\t309
实验与设计\t309
10-1 用ModelSim SE仿真奇偶检测电路\t309
第11章 VHDL设计实例\t312
11.1 m序列产生器\t312
11.1.1 m序列的原理与性质\t312
11.1.2 用原理图设计产生m序列\t314
11.1.3 用VHDL设计m序列\t315
11.2 Gold码\t317
11.2.1 Gold码的原理与性质\t317
11.2.2 用原理图设计产生Gold码\t318
11.2.3 用VHDL设计实现Gold码\t319
11.3 卷积码\t320
11.3.1 卷积码原理\t320
11.3.2 卷积码实现\t320
11.4 QPSK数字调制产生\t323
11.4.1 调制原理\t323
11.4.2 QPSK调制信号产生的设计实现\t324
11.5 小型神经网络\t333
11.6 数字AGC\t337
11.6.1 数字AGC技术的原理和设计思想\t337
11.6.2 数字AGC的VHDL实现\t338
11.6.3 数字AGC的仿真\t345
习题11\t347
实验与设计\t347
11-1 异步串行接口(UART)\t347
附录A VHDL关键字\t356
附录B DE2-115介绍\t357
猜您喜欢