第0章 绪论 1
0.1 FPGA/CPLD概述 1
0.2 FPGA/CPLD的开发软件 2
0.3 FPGA/CPLD的分类和使用 3
0.4 因特网上的FPGA及其他资源 4
0.5 本章小结 5
第1章 Xilinx CPLD系列产品 6
1.1 简介 6
1.1.1 XC9500系列CPLD器件 6
1.1.2 CoolRunner系列CPLD器件 9
1.2 XC9500系列器件的结构 11
1.3 CoolRunner系列CPLD器件的结构 19
1.4 Xilinx CPLD器件的命名 22
1.5 本章小结 23
第2章 Xilinx FPGA系列产品 24
2.1 Spartan-Ⅱ E系列产品 24
2.1.1 概述 24
2.1.2 器件结构 25
2.2 Spartan-3系列产品 29
2.2.1 概述 29
2.2.2 器件结构 29
2.3 Virtex-Ⅱ系列产品 33
2.3.1 概述 33
2.3.2 器件结构 34
2.4 Virtex-ⅡPro系列产品 40
2.4.1 概述 40
2.4.2 器件结构 40
2.5 Virtex-4系列产品 45
2.5.1 概述 45
2.5.2 Virtex-4系列的总体结构 46
2.5.3 Virtex-4的三个平台FPGA简介 47
2.5.4 Virtex-4 FPGA综述 48
2.6 本章小结 48
第3章 CPLD/FPGA的边界扫描测试 49
3.1 引言 49
3.2 IEEE 1149.1边界扫描测试的结构 49
3.3 JTAG BST操作控制 51
3.3.1 抽样/预加载(SAMPLE/PRELOAD)指令模式 54
3.3.2 外测试(EXTEST)指令模式 55
3.3.3 旁路(BYPASS)指令模式 56
3.3.4 用户码(USRCODE)指令模式 57
3.3.5 ID码(IDCODE)指令模式 57
3.4 Xilinx器件的边界扫描 58
3.4.1 数据存储器(Data Register) 58
3.4.2 指令集(Instruction Set) 58
3.4.3 位顺序(Bit Sequence) 59
3.4.4 在设计中插入边界扫描 59
3.5 边界扫描描述语言(BSDL) 62
3.6 Xilinx器件下载 62
3.6.1 MultiLINX下载电缆 63
3.6.2 Xchecker下载电缆 63
3.6.3 Parallel下载电缆 63
3.7 Altera与Lattice公司CPLD下载电路 66
3.8 本章小结 68
第4章 Xilinx ISE应用基础 69
4.1 Xilinx ISE简介 69
4.2 安装Xilinx ISE 70
4.2.1 系统需求 70
4.2.2 ISE的安装 70
4.3 Xilinx ISE应用入门 76
4.4 Xilinx ISE设计流程 80
4.4.1 设计输入 81
4.4.2 功能仿真 83
4.4.3 综合 84
4.4.4 实现 84
4.4.5 时序仿真 85
4.4.6 下载配置 85
4.5 设计实例 85
4.6 本章小结 90
第5章 Xilinx ISE高级应用 91
5.1 设计输入 91
5.1.1 硬件描述语言(HDL)输入方式 91
5.1.2 原理图(Schematic)输入方式 98
5.2 功能仿真和时序仿真 100
5.2.1 功能仿真 100
5.2.2 时序仿真(对顶层文件进行仿真) 106
5.3 设计实现 106
5.3.1 运行实现设计 106
5.3.2 在布局规划器(Floorplanner)中查看设计布局 107
5.4 引脚锁定与器件下载编程 109
5.4.1 引脚锁定 109
5.4.2 CPLD器件的编程下载 110
5.5 应用ISE 6.2i的矩阵LED设计实例 110
5.5.1 功能要求及硬件设计 110
5.5.2 控制逻辑设计 111
5.5.3 在ISE 6.2i中建立矩阵LED的工程文件并下载到CPLD运行 115
5.6 本章小结 121
第6章 MAX+plus Ⅱ 10.1的使用指南 123
6.1 MAX+plus Ⅱ 10.1的特点 123
6.2 MAX+plus Ⅱ的组成 123
6.3 MAX+plus Ⅱ的使用 124
6.3.1 图形文件的建立 125
6.3.2 文本文件的建立 128
6.3.3 建立顶层设计文件 128
6.3.4 工程文件的编译 129
6.3.5 模拟仿真 131
6.3.6 定时分析 133
6.3.7 器件编程 135
6.4 本章小结 138
第7章 Quartus Ⅱ使用指南 139
7.1 Quartus Ⅱ设计入门 139
7.1.1 简介 139
7.1.2 设计流程 140
7.1.3 设计入门 152
7.1.4 综合 163
7.1.5 仿真 169
7.1.6 布线与制板 176
7.1.7 块结构设计 184
7.1.8 对EDA工具使用LogicLock 190
7.2 延时分析与延时终止 190
7.2.1 在Quartus Ⅱ软件中执行延时分析 190
7.2.2 使用EDA工具执行延时分析 194
7.2.3 延时终止 195
7.3 工程设计、调试与修改管理 199
7.3.1 使用SignalTap逻辑分析器 200
7.3.2 使用信号探针(SignalProbe) 202
7.3.3 使用芯片编辑器 205
7.3.4 工程管理简介 205
7.4 系统设计 209
7.4.1 用SOPC Builder创建SOPC设计 210
7.4.2 用DSPBuilder创建DSP设计 212
7.5 软件开发 213
7.6 下载与配置 221
7.7 本章小结 228
第8章 FLEX 6000系列器件简介及应用实例 229
8.1 FLEX 6000系列器件简介 229
8.1.1 特点 229
8.1.2 概述 230
8.1.3 功能描述 231
8.1.4 输出配置 241
8.1.5 JTAG边界扫描 241
8.2 交通信号灯控制逻辑设计 242
8.2.1 系统要求分析 242
8.2.2 控制逻辑描述 242
8.3 电子钟的设计实例 244
8.3.1 功能要求和结构 244
8.3.2 控制芯片的设计 245
8.4 字符型LCD(KS0066)接口的设计 254
8.4.1 原理介绍 254
8.4.2 字符型LCD(KS0066)接口的VHDL描述 263
8.5 本章小结 269
第9章 FLEX 10K嵌入式可编程逻辑系列器件简介及应用实例 270
9.1 FEX 10K嵌入式可编程逻辑系列器件简介 270
9.1.1 特点 270
9.1.2 总体描述 273
9.1.3 功能描述 274
9.1.4 相同结构的输出引脚 292
9.1.5 时钟锁和时钟推进特性 292
9.1.6 输出设置 293
9.1.7 JTAG边界扫描 295
9.1.8 配置和操作 297
9.2 应用FLEX 10K设计图像点阵型LCD 298
9.2.1 图像点阵型LCD原理介绍 298
9.2.2 基于FLEX 10K的图像点阵型LCD控制设计 302
9.3 本章小结 312
第10章 应用FPGA设计PC机的ISA和PCI总线接口 313
10.1 应用FPGA设计PC机的ISA总线接口 313
10.1.1 ISA总线概述 313
10.1.2 基于Altera FLEX6000的ISA接口设计 316
10.2 应用FPGA设计PC机的PCI总线接口 323
10.2.1 PCI总线概述 323
10.2.2 PCI总线命令 327
10.2.3 PCI总线访问地址解码 328
10.2.4 PCI配置空间操作 328
10.2.5 基于Altera公司的FLEX10K系列FPGA实现的PCI接口设计 331
10.3 本章小结 347
附录A Altera公司FPGA/CPLD系列器件纵览 348
附录B VHDL编程基础 367
附录C Verilog HDL编程基础 412
附录D MAX+plus Ⅱ Windows 2000驱动配置指南 426
附录E MAX+plus Ⅱ Windows XP驱动配置指南 428
附录F ISE6.1i的新增功能 431
附录G FPGA/CPLD快速学习开发工具CHICAGO 6.0 435
附录H FPGA/PLD万能型快速学习开发器CHICAGO 8.0 439
参考文献 440