丛书序
前言
第1章CPLD/FPGA硬件概述1
1.1CPLD/FPGA概述2
1.1.1CPLD/FPGA的特点2
1.1.2CPLD/FPGA的发展方向4
1.1.3CPLD/FPGA的应用领域5
1.2EDA与ASIC技术6
1.3SOPC和IP核技术7
1.4CPLD/FPGA系统设计与开发编程原理8
1.4.1CPLD/FPGA系统设计流程8
1.4.2CPLD/FPGA硬件设计与开发原理11
1.4.3CPLD/FPGA软件设计与开发原理11
1.5本章小结13
1.6习题13
第2章CPLD/FPGA硬件体系结构15
2.1可编程逻辑器件PLD16
2.1.1可编程只读存储器(PROM)16
2.1.2紫外线可擦除只读存储器(EPROM)18
2.1.3电可擦除只读存储器(E2PROM)19
2.1.4可编程阵列逻辑(PAL)20
2.2通用阵列逻辑(GAL)21
2.3CPLD体系结构23
2.3.1CPLD的基本结构23
2.3.2CPLD的结构特点25
2.3.3CPLD编程工艺26
2.4FPGA体系结构26
2.4.1FPGA基本结构27
2.4.2FPGA的结构特点29
2.4.3FPGA的编程工艺31
2.5开发CPLD/FPGA的选用31
2.6本章小结34
2.7习题34
第3章VHDL编程基础35
3.1VHDL概述和语言特性36
3.2VHDL语言的基本结构37
3.2.1VHDL程序的基本构成37
3.2.2实体39
3.2.3构造体41
3.2.4库.包集合.配置44
3.3VHDL语法规则47
3.3.1VHDL的标识符47
3.3.2VHDL的数据对象47
3.3.3VHDL的数据类型50
3.3.4VHDL的运算操作符53
3.4VHDL中的顺序语句56
3.4.1条件语句56
3.4.2选择语句59
3.4.3循环.等待语句60
3.4.4FUNCTION语句61
3.5VHDL中的并行语句62
3.5.1进程语句.信号代入语句63
3.5.2并发过程调用语句64
3.5.3块语句66
3.5.4元件例化语句(Componentinstantiation)67
3.6VHDL编程实例——三选一选择器68
3.7本章小结69
3.8习题69
3.9上机练习70
第4章VHDL设计进阶73
4.1VHDL语言的描述方式74
4.2常用电路的VHDL描述77
4.2.1组合逻辑电路77
4.2.2时序逻辑电路86
4.2.3存储器93
4.3VHDL设计实例——状态机98
4.4本章小结100
4.5习题101
4.6上机练习101
第5章CPLD/FPGA集成开发工具103
5.1MAX+plusⅡ概述104
5.2MAX+plusⅡ设计过程107
5.3MAX+plusⅡ综合设计选项122
5.3.1LPM库的使用122
5.3.2项目层次结构与文件系统125
5.3.3全局逻辑综合方式126
5.3.4设置全局定时要求.定时分析128
5.3.5与第三方EDA软件接口130
5.3.6设置器件的下载编程方式132
5.3.7CPLD/FPGA器件烧写方法134
5.4MAX+plusⅡ设计实例135
5.4.1设计实例1——语言描述输入法135
5.4.2设计实例2——文本.图形结合输入法140
5.5XilinxFoundation设计简介143
5.6本章小结144
5.7习题145
5.8上机练习145
第6章CPLD/FPGA硬件开发工具147
6.1QuartusⅡ概述148
6.2QuartusⅡ设计150
6.2.1QuartusⅡ设计输入151
6.2.2QuartusⅡ编译154
6.2.3QuartusⅡ定时分析.仿真与器件编程155
6.3QuartusⅡ设计实例——六十进制计数器158
6.4XilinxISE设计简介160
6.5本章小结162
6.6习题162
6.7上机练习163
第7章CPLD/FPGA优化设计165
7.1CPLD/FPGA硬件优化设计166
7.1.1使用流水线技术166
7.1.2合理使用CPLD/FPGA资源167
7.2CPLD/FPGA软件优化设计169
7.2.1优化VHDL编码169
7.2.2修改软件配置提高系统速度172
7.3优化综合设计实例——8位流水线乘法器174
7.4本章小结177
7.5习题177
7.6上机练习178
第8章CPLD/FPGA硬件开发平台181
8.1CPLD/FPGA硬件开发平台概述182
8.2CPLD/FPGA硬件开发平台器件与端口资源183
8.2.1键盘接口电路183
8.2.2LED显示电路184
8.2.3LCD显示电路185
8.2.4串行通信接口186
8.2.5A/D.D/A接口电路186
8.2.6其他接口.端口资源188
8.3CPLD/FPGA硬件开发平台的测试190
8.4基于硬件平台开发实例——时钟.秒表.闹钟的设计193
8.5本章小结201
8.6习题201
8.7上机练习201
第9章CPLD/FPGA外围硬件接口设计205
9.1时钟分频206
9.1.1偶数分频206
9.1.2奇数分频207
9.2键盘接口209
9.2.1键盘原理209
9.2.2键盘接口的VHDL描述211
9.3串行通信接口UART219
9.3.1UART协议219
9.3.2UART的VHDL描述221
9.4LED接口227
9.4.1LED原理介绍227
9.4.2LED接口的VHDL描述228
9.5接口设计实例——声卡AC-Link接口231
9.6本章小结238
9.7习题239
9.8上机练习239
第10章CPLD/FPGA简易系统设计245
10.1简易系统实例1——FIFO的设计246
10.2简易系统实例2——DDS的设计251
10.3简易系统实例3——数字电压计的设计257
10.4简易系统实例4——信号发生器的设计261
10.5简易系统实例5——交通灯控制的设计264
10.6本章小结268
10.7习题268
10.8上机练习269
第11章CPLD/FPGA应用系统设计275
11.1用CPLD/FPGA实现数字信号处理276
11.1.1FIR数字滤波器的设计276
11.1.2IIR数字滤波器的设计284
11.1.3自适应数字滤波器286
11.1.4快速傅立叶变换FFT的设计287
11.2用CPLD/FPGA实现语音信号处理291
11.2.1语音信号处理实例1——语音通信的实现291
11.2.2语言信号处理实例2——音乐电路的实现294
11.3本章小结297
11.4习题297
11.5上机练习297
附录ACPLD/FPGA常用系列芯片介绍301
A.1Altera芯片301
A.2Xilinx芯片302
A.3其他公司的CPLD/FPGA芯片303
A.4常用芯片引脚303
附录B术语汇编307
附录C部分思考练习题答案313
参考文献316