第1章 绪论 1
1.1 EDA技术的涵义 1
1.2 EDA技术的发展历程 1
1.3 EDA技术的主要内容 3
1.3.1大规模可编程逻辑器件 3
1.3.2硬件描述语言(HDL) 4
1.3.3 EDA软件开发工具 5
1.3.4 EDA实验开发系统 6
1.4 EDA软件系统的构成 6
1.5 EDA 工具的发展趋势 7
1.6 EDA的工程设计流程 9
1.6.1 FPGA/CPLD工程设计流程 9
1.6.2 ASIC工程设计流程 12
1.7数字系统的设计 14
1.7.1数字系统的设计模型 14
1.7.2数字系统的设计方法 15
1.7.3数字系统的设计准则 16
1.7.4数字系统的设计步骤 17
1.8 EDA技术的应用展望 18
习题 19
第2章 大规模可编程逻辑器件 20
2.1可编程逻辑器件概述 20
2.1.1 PLD的发展进程 20
2.1.2 PLD的分类方法 22
2.1.3常用CPLD和FPGA标识的含义 23
2.2 Lattice公司的CPLD和FPGA器件 25
2.2.1 Lattice公司的CPLD和FPGA概述 25
2.2.2 ispLSI/pLSI系列CPLD结构 30
2.2.3 ispMACH系列CPLD结构 36
2.2.4 EC/ECP系列FPGA结构 39
2.2.5 XP/XP2系列FPGA结构 46
2.2.6 MachXO系列FPGA结构 47
2.3 Altera公司的CPLD和FPGA器件 50
2.3.1 Altera公司的CPLD和FPGA概述 50
2.3.2 MAX系列CPLD结构 57
2.3.3 MAXⅡ系列CPLD结构 58
2.3.4 Cyclone系列FPGA结构 60
2.3.5 Stratix系列FPGA结构 71
2.4 Xilinx公司的CPLD和FPGA器件 78
2.4.1 Xilinx公司的CPLD和FPGA概述 78
2.4.2 XC950(0系列CPLD结构 83
2.4.3 CoolRunner系列CPLD结构 86
2.4.4 Spartan系列FPGA结构 88
2.4.5 Virtex系列FPGA结构 94
2.5 CPLD和FPGA的编程与配置 98
2.5.1 CPLD和FPGA的编程配置 98
2.5.2 CPLD和FPGA的下载接口 100
2.5.3 CPLD器件的编程电路 101
2.5.4 FPGA器件的配置电路 102
2.6 FPGA和CPLD的开发应用选择 107
习题 111
第3章VHDL编程基础 112
3.1概述 112
3.1.1常用硬件描述语言简介 112
3.1.2 VHDL的优点 113
3.1.3 VHDL程序设计约定 114
3.2 VHDL程序基本结构 114
3.2.1 VHDL程序设计举例 114
3.2.2 VHDL程序的基本结构 117
3.2.3库、程序包使用说明 118
3.2.4实体描述 121
3.2.5 结构体描述 123
3.2.6 结构体配置 124
3.3 VHDL语言要素 126
3.3.1 VHDL文字规则 126
3.3.2 VHDL数据对象 128
3.3.3 VHDL数据类型 130
3.3.4 VHDL操作符 140
3.4 VHDL顺序语句 143
3.4.1赋值语句 144
3.4.2转向控制语句 146
3.4.3等待语句 153
3.4.4子程序调用语句 156
3.4.5返回语句 157
3.4.6空操作语句 159
3.4.7其他语句和说明 159
3.5 VHDL并行语句 165
3.5.1进程语句 166
3.5.2块语句 171
3.5.3并行信号赋值语句 173
3.5.4并行过程调用语句 176
3.5.5元件例化语句 176
3.5.6生成语句 178
3.6 子程序 182
3.6.1函数 182
3.6.2重载函数 183
3.6.3过程 185
3.6.4重载过程 185
3.7程序包 187
3.8 VHDL描述风格 190
3.8.1行为描述 190
3.8.2数据流描述 191
3.8.3结构描述 192
3.9基本逻辑电路设计 194
3.9.1组合逻辑电路设计 194
3.9.2时序逻辑电路设计 201
3.9.3存储器电路设计 214
3.10状态机的VHDL设计 220
3.10.1状态机的基本结构和功能 220
3.10.2一般状态机的VHDL设计 221
3.10.3摩尔状态机的VHDL设计 223
3.10.4米立状态机的VHDL设计 229
习题 230
第4章 常用EDA工具软件操作指南 233
4.1常用EDA 工具软件安装指南 233
4.2常用EDA 工具软件操作用例 236
4.2.1 4位十进制计数器电路 236
4.2.2 计数动态扫描显示电路 238
4.2.3 EDA仿真测试模型及程序 241
4.3 Altera QuartusⅡ操作指南 243
4.3.1 Quartus Ⅱ的初步认识 243
4.3.2 Quartus Ⅱ的基本操作 247
4.3.3 Quartus Ⅱ的综合操作 263
4.3.4 Quartus Ⅱ的SOPC开发 268
4.4 Xilinx ISE Design Suite操作指南 273
4.4.1 Xilinx ISE的初步认识 274
4.4.2 ISE Suite的基本操作 277
4.4.3 ISE Suite的综合操作 290
4.5 Lattice ispLEVEL操作指南 296
4.5.1 ispLEVEL的初步认识 297
4.5.2 ispLEVEL的基本操作 300
4.5.3 ispLEVEL的综合操作 313
4.6 Synplicity Synplify PRO操作指南 318
4.6.1 Synplify PRO的使用步骤 318
4.6.2 Synplify PRO的使用实例 319
4.7 Mentor Graphics ModelSim操作指南 322
4.7.1 ModelSim的使用步骤 322
4.7.2 ModelSim的使用实例 323
习题 327
第5章EDA实验开发系统 329
5.1通用EDA实验开发系统概述 329
5.1.1 EDA实验开发系统的基本组成 329
5.1.2 EDA实验开发系统的性能指标 329
5.1.3 通用EDA实验开发系统的工作原理 330
5.1.4 通用EDA实验开发系统的使用方法 330
5.2 GW48型EDA实验开发系统的使用 331
5.2.1 GW48型EDA实验开发系统介绍 331
5.2.2 GW48实验电路结构图 337
5.2.3 GW48系统结构图信号名与芯片引脚对照表 343
5.2.4 GW48型EDA实验开发系统使用实例 346
习题 349
第6章VHDL设计应用实例 351
6.1 8位加法器的设计 351
6.2 8位乘法器的设计 354
6.3 8位除法器的设计 361
6.4 PWM信号发生器的设计 363
6.5数字频率计的设计 366
6.6数字秒表的设计 370
6.7单片机总线接口电路的设计 375
6.8交通灯信号控制器的设计 378
6.9高速PID控制器的设计 385
6.10 FIR滤波器的设计 391
6.11 CORDIC算法的应用设计 394
6.12闹钟系统的设计 403
6.12.1系统设计思路 403
6.12.2 VHDL源程序 405
6.12.3仿真结果验证 417
6.12.4逻辑综合分析 417
6.12.5硬件逻辑验证 417
习题 417
第7章EDA技术实验 418
7.1实验一:8位加法器的设计 418
7.2实验二:序列检测器的设计 418
7.3实验三:PWM信号发生器的设计 419
7.4实验四:数字频率计的设计 420
7.5实验五:数字秒表的设计 420
7.6实验六:交通信号灯控制器的设计 421
7.7实验报告范例 422
附录1常用FPGA/CPLD管脚图 426
附录2利用WWW进行EDA资源的检索 428
主要参考文献 430