第一章 FPGA概述 1
§1-1 可编程逻辑器件的定义、分类及发展概要 1
目录 1
一、PROM器件 2
二、PAL器件 2
三、GAL器件 2
四、EPLD器件 4
§1-2 FPGA发展与应用前景 6
一、FPGA的发展概况 6
二、FPGA的特征及应用前景 7
一、可配置存贮器—SRAM阵列 12
第二章 FPGA的结构、特性与工作原理 12
§2-1 FPGA的结构原理 12
二、可编程逻辑块(CLB) 13
(1)XC2000系列的CLB 13
(2)XC3000/XC3100系列的CLB 15
(3)XC4000系列的CLB 16
三、可编程输入/输出块(IOB) 20
(1)XC2000系列的IOB 21
(2)XC3000/XC3 100系列的IOB 21
(3)XC4000系列的IOB 22
(1)XC2000系列的PI 25
四、可编程的内部连线(PI) 25
(2)XC3000/C3 100系列的PI 28
(3)XC4000系列的PI 32
五、内部晶体振荡器 34
§2-2 FPGA基本特性及参数比较 35
一、基本特性及比较 36
(1)FPGA型号命名及意义 36
(2)FPGA的功能特征 37
二、FPGA的极限参数 39
三、FPGA的开关、时序参数 40
四、FPGA的主要封装形式及管脚说明 46
一、主动模式 57
§2-3 FPGA的工作模式 57
二、周边模式 62
三、从动模式 65
四、FPGA数据配置及启动过程 67
(1)LCA芯片数据清除及初始化 67
(2)数据配置过程 68
(3)系统的启动与工作 70
(4)特殊的附加配置 72
第三章 FPGA应用设计的开发系统 77
§3-1 开发系统的软件组成 78
§3-2 开发系统对硬件及操作系统的要求 78
二、设计实现过程 79
一、设计输入 79
§3-3 应用设计的流程 79
三、设计的仿真 81
第四章 FPGA应用的设计输入 83
§4-1 设计输入的系统环境 83
一、环境的设置 83
二、用户目录的建立 85
三、Viewdraw-LCA的属性标志 85
(1)模块名称标志 85
(2)LCA模块定位标志 85
(3)网路属性标志 86
(4)其他属性标志的可选项 86
(1)XC2000系列组合逻辑单元 88
§4-2 Xilinx元件库 88
一、基本元件库 88
(2)XC3000/XC3 100系列基本元件库 90
(3)XC4000系列基本元件库 94
二、CLB和IOB符号单元定义 98
(1)符号单元定义原理 98
(2)BASE属性标志选择 100
(3)Config属性标志选择 101
(4)EQUATE F属性标志选择 102
(5)EQUATE G属性标志选择 102
三、用户自建单元库 102
二、建立框图符号的内电路图(低层图) 103
§4-3 电路设计图输入 103
一、建立一个框图符号单元 103
三、建立一个顶层电路图 104
四、设计图输入应注意的问题 104
(1)标注属性标志和LCA规划控制参数 104
(2)电路设计图的检验 107
(3)电路设计图的存档 108
(4)XNF文件的转换实现 108
第五章 FPGA应用的设计实现 111
§5-1 设计实现的基本方式和过程 111
(1)Xmake实现过程简介 112
(2)Xmake命令和文件格式 112
一、Xmake自动设计实现过程 112
§5-2 自动设计实现方式 112
(3)Xmake可选项的选择 113
二、Xmake的三种编译工作模式 115
(1)顶层逻辑分布(map Top only) 115
(2)参数文件优先逻辑分布(map file=) 115
(3)全局逻辑分布(Map All) 117
三、APR自动布局布线程式 119
(1)APR程式命令格式与可选项 120
(2)APR-C的人工干预 122
四、PPR自动分区规划、布局、布线程式 124
(1)PPR程式的命令格式 124
(3)APRloop程式的应用 124
(2)PPR程式的参数文件及其建立 125
(3)PPR程式的限制参数 129
§5-3 手工设计实现方式 131
一、手工设计实现过程 131
(1)WIR2XNF程式的执行 131
(2)XNFMerge程式的执行 132
(3)XNFDRC程式的执行 132
(4)XNFMAP程式的执行 133
(5)MAP2LCA程式的执行 133
(6)APR程式的执行 134
(7)Makebits程式的执行 134
(1)XDE的环境设置及基本功能 136
二、XDE手工编辑方式 136
(2)高级编辑功能 139
(3)低级编辑功能 140
(4)XDE设计实例 150
第六章 FPGA应用设计的仿真 156
§6-1 仿真的系统 156
一、软件包的组成及程式简介 156
二、环境设置的要求 159
三、设计仿真的基本过程 159
(1)逻辑功能仿真 159
(2)系统时延仿真 162
(1)建立仿真的用户目录和文件 163
§6-2 仿真的实现 163
一、实例的逻辑功能仿真 163
(2)选择仿真网路,开启SIM窗口 165
(3)建立Viewwave数据流,开启Wave窗口 166
(4)为时钟,网路赋值 167
(5)在设计图中观测仿真结果 168
(6)在Viewwave窗口中测量时序 172
(7)放大显示Viewwave图的一部分 172
(8)存贮波形结果 172
(9)仿真命令文件 174
(10)用Viewtext观看输出文件 174
(2)建立一个反标注的WIR文件 175
(1)建立一个反标注的XNF文件 175
二、实例的系统时延仿真 175
(3)用Viewgen去观察已布线的设计图 176
(4)叫用VSM,建立仿真网表文件 176
(5)开启Viewsim和Viewwave窗口 177
(6)给时钟,网路赋值,观察波形 178
(7)在Viewgen图中察看仿真结果 179
三、反标注原始设计图的样本系统时延仿真 179
(1)建立反标注的XNF文件 180
(2)叫用BAX程式,重建原图网路名称 180
(3)建立反标注WIR文件 181
(6)进行系统时延仿真,观察原始图 182
(4)叫用SVM程式,生成仿真网表文件 182
(5)叫用VSMUPD程式,重建其他网路名称 182
第七章 FPGA芯片的功能配置与卸载方式 184
§7-1 功能配置与卸载方式概述 184
§7-2 Xchecker直接配置方式 185
一、Xchecker硬件及连接方式 185
二、Xchecker直接配置LCA过程及主要指令 191
(1)Xchecker的文件 191
(2)配置LCA过程 192
(3)Xchecker操作的主要指令 193
§7-3 PROM配置LCA方式 196
一、makeprom程式概述 196
二、指令操作makeprom 197
第八章 FPGA的应用设计实例 199
§8-1 PLC中TR栈控制器(TR-SC)的FPGA设计 199
一、TR-SC的功能与逻辑设计 199
(1)数据通路原理 200
(2)控制通路原理 201
二、TR-SC的FPGA设计实现 204
(1)FPGA的器件选择 204
(2)设计的实现 206
(3)设计的技巧 207
§8-2 64*N位的RAM结构的FIFO(堆栈)的FPGA设计 208
一、功能简介 208
二、设计实现 209
§8-3 光电计数控制器的FPGA设计 211
一、功能简介 211
二、设计实现 211
§8-4 总线结构串行输入/输出部件 212
一、功能简介 212
二、设计实现 213
附录 215
附录A.XACT FPGA开发系统的基本操作一览 215
一、电路设计图输入部分 215
二、设计实现部分 216
三、电路设计仿真部分 218
附录B.Xilinx基本元件库一览 220
附录C.XACT开发系统Edit.LCA命令一览 224
一、网路编辑(NET)菜单 224
二、接脚编辑(PIN)菜单 224
三、模块编辑(BLK)菜单 225
四、设置功能(CONFIG)菜单 225
五、显示功能(Screen)菜单 226
六、MISC菜单 227
七、Profile菜单 228
八、PROBE菜单 228
九、Timing菜单 229
主要参考文献 230