目录 1
第1章 数字逻辑与可编程逻辑的基础知识 1
1.1 数字逻辑设计基础 1
1.1.1 二进制与逻辑代数 1
1.1.2 用二进制字表示数据 2
1.1.3 单元与层次 3
1.1.4 基本数字单元 6
1.1.5 组合逻辑电路与时序逻辑电路 11
1.1.6 状态机原理 16
1.2 数字逻辑系统基本构成原理 17
1.2.1 典型的系统构成 17
1.2.2 系统设计方法与技术指标 18
1.3 现代数字系统设计的基本要素 22
1.3.1 数字逻辑系统设计的基本方法和基本流程 22
1.3.2 设计的基本工具 24
1.3.3 目标芯片 26
1.3.4 硬件描述语言HDL 27
1.4 现场可编程逻辑器件技术的演进 29
1.4.1 可编程逻辑器件结构的演进 29
1.4.2 采用可编程逻辑器件的系统设计方法学的演进 37
第2章 大规模现场可编程逻辑器件 40
2.1 大规模现场可编程逻辑器件的基本分类 40
2.2 基于SRAM编程的现场可编程逻辑器件 44
2.2.1 SRAM FPGA的基本结构与工作原理 44
2.2.2 典型的SRAM FPGA产品 49
2.2.3 基本的SRAM FPGA的编程原理 72
2.3 基于EPROM/E2PROM/Flash Memory的现场可编程逻辑器件 75
2.3.1 EPROM/E2PROM/Flash Memory CPLD的基本结构和工作原理 75
2.3.2 典型的EPROM/E2PROM/Flash Memory CPLD产品 79
2.3.3 基本的E2PROM/Flash Memory的编程原理 100
2.4 基于反熔丝结构的现场可编程逻辑器件 102
2.4.1 反熔丝FPGA的基本结构与工作原理 102
2.4.2 Axcelerator系列FPGA的编程原理与产品特征 106
2.4.3 反熔丝结构FPGA的编程原理 116
第3章 新型系统级现场可编程逻辑器件 117
3.1 强化运算功能的现场可编程逻辑器件 117
3.1.1 Stratix系列FPGA概述 117
3.1.2 Stratix系列FPGA的基本结构原理 118
3.1.3 Stratix器件在设计中的应用 127
3.2 强化存储功能的现场可编程逻辑器件 128
3.2.1 Spartan-XL系列FPGA的分布式RAM 128
3.2.2 Spartan-Ⅱ和VirtexTM系列FPGA的分布式RAM和块状RAM 131
3.2.3 关于块状RAM的应用实例 133
3.3 强化接口功能的现场可编程逻辑器件 134
3.3.1 概述 134
3.3.2 可编程I/O接口原理及其实现 134
3.3.3 设计实例 136
3.4.1 时钟树的原理 137
3.4.2 延迟锁相环(DLL)的介绍 137
3.4 具有DLL功能块的现场可编程器件 137
3.4.3 延迟锁相环(DLL)的原理 138
3.4.4 库资源的DLL说明与应用 139
3.4.5 总结 141
3.5 模拟和混合信号FPGA 142
3.5.1 通用型可编程模拟器件概述 142
3.5.2 在系统可编程模拟电路(ispPAC)的构造与工作原理 142
3.5.3 现场可编程模拟阵列(FPAA)的构造与工作原理 144
3.5.4 通用型可编程模拟器件的开发 146
3.5.5 典型应用 147
3.6 可用于ASIC设计的内嵌FPGA的IP核 149
3.6.1 概述 149
3.6.2 VariCore EPGA的特征结构及功能 151
3.6.3 设计流程 154
3.6.4 应用方式及举例 156
3.6.5 小结 158
4.1.1 VHDL语言的基本要素 159
第4章 现场可编程逻辑器件的应用设计技术 159
4.1 VHDL硬件描述语言与编程原理 159
4.1.2 VHDL语言程序的基本结构 163
4.1.3 VHDL语言中的重要概念 169
4.1.4 VHDL语言的主要语句形式 171
4.2 集成化FPGA应用设计管理平台和设计流程 177
4.2.1 前言 177
4.2.2 Mentor公司FPGA Advantage集成设计和管理平台简介 177
4.2.3 基于FPGA Advantage工具的FPGA设计流程 182
4.3 基于Actel FPGA数字系统现场集成方法 194
4.3.1 设计与实现的工具 194
4.3.2 Actel FPGA现场集成的设计流程 195
4.4 设计输入方法 196
4.5 设计综合方法 204
4.6 设计实现方法 210
4.6.1 基本的设计实现过程 210
4.6.2 设计实现过程 215
4.7 功能仿真与时序仿真 236
4.7.1 概述 236
4.7.2 仿真工具 237
4.7.3 ModelSim仿真过程 239
4.8 数据下载与设计校验方法 252
第5章 现场可编程逻辑系统的设计技巧 256
5.1 同步电路设计技巧 256
5.1.1 同步电路与异步电路的基本概念 256
5.1.2 FPGA现场集成中常见的问题 258
5.1.3 同步逻辑电路设计中的基本技巧 262
5.2 多级逻辑的设计技巧 264
5.2.1 FPGA实现中的基本时延 264
5.2.2 流水线的基本概念 265
5.2.3 应用流水线的设计 266
5.3 数字系统设计中的可编程器件的选择方案 267
5.3.2 从器件资源角度的目标器件选择原则 268
5.3.1 从系统设计角度的目标器件选择原则 268
5.3.3 从器件管脚来确定方案 269
5.4 数字系统设计中的低功耗设计原则 270
第6章 应用实例设计 273
6.1 乘法器的FPGA设计与实现 273
6.1.1 乘法的基本原理 273
6.1.2 乘法器的电路实现 274
6.2 FFT的FPGA设计与实现 278
6.2.1 FFT的原理 278
6.2.2 FFT电路模型与设计 280
6.2.3 小结 284
6.3 有限脉冲响应(FIR)数字滤波器的FPGA设计与实现 284
6.3.1 FIR滤波器的原理 284
6.3.2 FIR滤波器的设计与实现 286
6.3.3 性能结果分析 289
6.4.1 循环码的基本原理 290
6.4 线性分析、循环码编码译码器的FPGA设计与实现 290
6.4.2 循环码编译码器的设计与实现 291
6.4.3 采用FPGA实现循环码特性分析 295
6.5 线性反馈移位寄存器LFSR的FPGA设计与实现 296
6.5.1 Virtex系列FPGA中的CLB结构 296
6.5.2 扩频码的产生 297
6.5.3 线性反馈移位寄存器LFSR 298
6.5.4 实现方法 300
附录A 问题与练习 302
A.1 随机数发生器的原理分析与设计实现 302
A.2 交通灯控制器的设计与实现 304
A.3 简易数字锁的设计与实现 306
附录B 现场可编程逻辑器件主流产品一览 309
附录C SZ2002 FPGA/CPLD数字逻辑实验平台 321
附录D 国内外常用二进制逻辑元件图形符号对照表 323
参考文献 324