第一章 可编程ASIC与EDA技术 1
1.1 电子系统设计与ASIC技术 1
1.1.1 电子系统的设计方法 1
1.1.2 ASIC及其特点 3
1.1.3 不同设计方法的特点 4
1.2 EDA技术的基本特征和工具 6
1.2.1 EDA技术的范畴 7
1.2.2 EDA技术的基本特征 7
1.2.3 EDA的基本工具 9
1.3 可编程ASIC及其特点 10
1.3.1 可编程ASIC简介 10
1.3.2 可编程ASIC的主要特点 12
1.4 可编程ASIC的发展趋势 13
1.4.1 可编程ASIC的发展过程 13
1.4.2 可编科ASIC的发展趋势 14
2.1.1 可编程逻辑器件的集成度分类 17
2.1 可编程逻辑器件的分类 17
第二章 可编程逻辑器件基础 17
2.1.2 可编程逻辑器件的其他分类方法 19
2.2 可编程逻辑器件的基本结构 20
2.2.1 PLD电路的表示方法及有关符号 20
2.2.2 与-或阵列 22
2.2.3 宏单元 23
2.3 可编程逻辑器件的基本资源 24
2.3.1 功能单元 25
2.3.3 布线资源 26
2.3.2 输入-输出焊盘 26
2.3.4 片内RAM 29
2.4 可编程逻辑器件的编程元件 31
2.4.1 熔丝型开关 31
2.4.2 反熔丝型开关 32
2.4.3 浮栅编程元件 32
2.4.4 基于SRAM的编程元件 35
2.5.1 边界扫描测试法概述 36
2.5 可编程逻辑器件的测试技术 36
2.5.2 JTAG边界扫描寄存器 38
2.5.3 JTAG BST的操作控制 39
第三章 可编程逻辑器件的设计与开发 43
3.1 可编程逻辑器件的设计流程 43
3.2 可编程逻辑器件的开发环境 45
3.2.1 ISP Synario系统 45
3.2.2 Foundation系统 46
3.2.3 MAX+PLUS II系统 47
3.3 可编程逻辑器件的硬件描述语言 48
3.3.1 ABEL-HDL 48
3.3.2 Verilog HDL 52
3.3.3 VHDL 55
3.3.4 Verilog HDL和VHDL的比较 59
第四章 AItera公司的可编程逻辑器件 60
4.1 Altera公司的产品简介 60
4.1.1 Altera公司产品发展概况 60
4.1.2 Altera的PLD产品系列 61
4.1.3 Altera的开发工具 63
4.2 MAX7000系列的结构特点 64
4.2.1 概述 64
4.2.2 结构与功能 67
4.3 FIEX 10K系列的结构特点 71
4.3.1 概述 71
4.3.2 结构与功能 73
4.3.3 数据配置 82
4.4 Altera公司芯片的设计流程 83
4.4.1 设计输入 83
4.4.2 设计处理 89
4.4.3 设计校验 91
4.4.4 器件编程 93
第五章 Xilinx公司的可编程逻辑器件 97
5.1 Xilinx系列器件简介 97
5.1.1 XC9500系列CPLD器件 97
5.1.2 Xilinx FPGA器件 98
5.1.3 固定连线FpgASIC(Hardwire) 101
5.1.4 Xilinx内核方案 101
5.2 XC9500系列器件 102
5.2.1 XC9500系列CPLD器件的主要特点 102
5.2.2 XC9500系列器件的结构 104
5.2.3 在系统编程 111
5.2.4 XC9500系列器件的命名 113
5.3 Spartan系列器件 113
5.3.1 Spartan系列FPGA器件的主要特点 114
5.3.2 Spartan系列器件的结构 115
5.3.3 Spartan系列FPGA器件的配置 123
5.4 Xilinx系列器件的设计流程 130
5.4.1 Xilinx开发软件简介 130
5.4.2 Xilinx系列器件的设计流程 132
5.4.3 Foundation软件设计过程 133
6.1.1 ispLSI系列器件 137
6.1 Lattice公司的ISP芯片系列简介 137
第六章 Lattice公司的可编程逻辑器件 137
6.1.2 ispLSI系列器件的主要技术特性 139
6.1.3 ispGDS和ispGDX器件介绍 140
6.2 ispLSI 1000系列器件 143
6.2.1 ispLSI 1000器件的结构原理 143
6.2.2 万能逻辑块(GLB) 144
6.2.3 ispLSI 1000宏模块结构原理 147
6.2.4 其他全局结构部分 151
6.2.5 ispLSI 1000器件的定时模型 152
6.3 ispLSI 5000系列器件 155
6.3.1 ispLSI5000V系列简介 155
6.3.2 ispLSI 5000V系列的结构描述 157
6.3.3 边界扫描和在系统编程 160
6.3.4 ispLSI 5000V器件的定时模型 162
6.4 Lattice在系统可编程器件的设计与编程 162
6.4.1 ISP器件的编程 163
6.4.2 多路编程实现平台 167
6.4.3 Lattice开发工具 168
第七章 Vantis公司的可编程逻辑器件 170
7.1 Vantis系列器件简介 170
7.1.1 PAL系列器件 170
7.1.2 VFI系列FPGA器件 170
7.1.3 MACH系列CPLD器件 173
7.1.4 Vantis产品的开发软件 175
7.2 MACH4系列CPLD器件 175
7.2.1 MACH4系列器件的主要特点 175
7.2.2 MACH4系列器件的结构 176
7.2.3 MACH4系列器件的功能配置 184
7.2.4 MACH4系列器件的命名 188
7.3 MACH5系列CPLD器件 189
7.3.1 MACH5系列器件的主要特点 190
7.3.2 MACH5系列器件的结构 191
7.3.3 MACH5系列器件功能配置 196
7.3.4 MACH5系列器件的命名和特性 197
7.4.1 Synario开发软件简介 199
7.4 Vantis系列器件的设计流程 199
7.4.2 MACH器件的设计流程 201
7.4.3 MACH器件工具套件 203
第八章 大规模可编程ASIC的应用实践 209
8.1 CPLD和FPGA在微机系统中的应用 209
8.2 大规模可编程ASIC在通信领域中的应用 212
8.2.1 用FPGA技术实现数字通信中的扰码和解码 212
8.2.2 利用FPGA实现DDS专用集成电路 214
8.3 大规模可编程ASIC在DSP领域中的应用 216
8.3.1 快速加法器设计 217
8.3.2 快速乘法器设计 220
8.4 设计举例 221
8.4.1 计数器的设计 221
8.4.2 2FSK信号产生器 224
8.4.3 MIDI音乐产生器 230
8.4.4 数字钟 234
参考文献 242