第6章 FPGA的下载配置电路设计
内容提要 本章介绍了Xilinx公司的FPGA下载配置模式,Virtex-Ⅱ系列器件下载配置流程、模式和电路设计, Altera公司的下载电缆的结构和下载模式,Altera公司的下载电缆的配置电路设计,Altera公司的配置芯片和配置芯片构成的配置电路设计。
知识要点: 下载配置模式 下载配置流程 下载电缆 配置芯片 配置电路设计
教学建议: 本章的重点是掌握Xilinx公司和Altera公司的FPGA器件的下载配置电路设计。建议学时数为4学时。注意区分Xilinx公司和Altera公司的FPGA器件的下载配置电路设计的不同点。注意同一公司,不同下载模式的下载配置电路的设计也是不同的。注意不同型号的配置芯片使用方法以及配置电路的设计,多个器件配置电路的连接方法。本章给出了一些典型的设计例,学习中可以通过改变器件型号和配置模式,进行配置电路设计的练习,加深对问题的理解。
6.1 Xilinx的FPGA下载配置电路设计 6.1.1 Xilinx FPGA的下载配置模式
1. JTAG模式 JTAG模式是基于 IEEE1149.1和 IEEE1532的下载配置模式,通过TDI(数据输入)、TDO(数据输出)、TMS(测试模式)和TCK(测试时钟)等四根信号线实现FPGA的下载与配置。在JATG模式中需要其他可编程微控制器的支持。
2. Parallel模式 Parallel模式仅支持Virtex系列和SpartanⅡ系列器件,通过8bit的并行数据下载,实现FPGA的高速配置。Parallel模式的配置时钟CCLK由FPGA外部提供。
3. Master Serial模式 Master Serial模式支持Xilinx公司的所有 FPGA产品。Master Serial模式通过读取串行 PROM的数据,实现FPGA的在线配置。在 Master Serial模式中必须使用Xilinx公司专用的 PROM。Master Serial模式的配置时钟 CCLK源于 FPGA内部。
4. Slave Serial模式 Slave Serial模式支持Xilinx公司的所有 FPGA产品。Slave Serial模式类似于 Master Serial模式,但其配置时钟CCLK由FPGA外部提供。在Slave Serial模式中需要其他可编程微控制器支持。
5. Master Select MAP模式 Master Serial MAP模式支持Virtex-Ⅱ等FPGA产品。Master Serial MAP模式通过读取串行 PROM的数据,实现FPGA的在线配置。在 Master Select MAP模式中必须使用Xilinx公司专用的 PROM。Master Serial MAP模式的配置时钟 CCLK源于 FPGA内部。
6. Slave Select MAP模式 Slave Select MAP模式支持Virtex-Ⅱ等FPGA产品。Slave Select MAP模式类似于 Master Serial MAP模式,但其配置时钟CCLK由FPGA外部提供。在Slave Select MAP模式中需要其他可编程微控制器的支持。
6.1.1 Xilinx FPGA的下载配置模式 Xilinx公司提供两种PROM对其FPGA系列产品进行在线配置。其中,XC1800系列PROM可多次擦写,支持JTAG在线编程。XC1700系列PROM为一次性编程器件,不支持JTAG在线编程。使用第三方编程器对Xilinx公司的PROM系列产品进行下载配置时,需要对FPGA设计文件进行格式转换。在同一个FPGA的下载配置电路中,为了满足不同应用要求,可以通过改变FPGA的M2、M1和M0管脚连接,实现FPGA下载配置模式的切换,即利用同一下载配置电路可以实现多种下载配置模式。
在实际应用中,使用嵌入式下载配置方式,可以节约成本和简化PCB板设计。嵌入式下载配置利用微处理器或其他可编程控制器件,对FPGA产品进行下载配置。在嵌入式下载配置过程中,M2、M1、M0引脚端应设置为JTAG、Slave Serial或 Slave Select MAP模式,下载配置的数据可以存放在Xilinx公司专用PROM或其他存储器件中。当M2、M1、M0设置为 Slave Serial模式时,通过控制 PROG_B引脚端,可以实现FPGA的重新配置。当M2、M1、M0设置为 Slave Select MAP模式时,通过控制 PROG_B、RDWR_B和 CS_B引脚端,可以实现FPGA的重新配置和部分配置。
6.1.2 Virtex-Ⅱ系列器件下载配置电路设计 Xilinx公司不同类型的FPGA器件下载配置模式不完全相同, 下面以Virtex-Ⅱ系列器件为例说明Xilinx公司的FPGA的下载配置设计过程。
Virtex-Ⅱ系列器件的下载配置流程 Virtex-Ⅱ系列器件的下载配置流程如图6.1.1所示,主要包括: (1)Power Up(加电) Power Up是Virtex-Ⅱ系列器件的加电过程。其中,内核电压VCCINT=1.5V,I/OBank 4的 VCCO和 VCCAUX的供电电压应大于 1.5V。 (2)Clear Configuration Memory(清配置存储器) 清配置存储器的触发条件是将PROG_B引脚端置低,并保持低电平大于300ns。FPGA的所有与配置无关的引脚端将保持3态,INIT-B和DONE引脚端为低电平。
(3)初始化 将INIT-B引脚端置为高电平,采样模式控制引脚端(Sample Mode Pins),并读入 M2、M1和 M0。如果在初始化过程中保持INIT-B为低电平,可以延迟配置数据的下载过程。Master Serial/Master Select MAP CCLK Begins(Master Serial/Master Select MAP模式 CCLK 启动)。 (4)Load Configuration Data Frames(下载配置数据) 在配置数据的下载过程中,将对配置数据进行CRC校验(CRC Correct)。如果CRC出现错误,INIT-B引脚端将被重新置为低电平,并终止器件的启动过程。
(5)器件启动(Start -Up) Virtex-Ⅱ系列器件的器件启动顺序可以在软件中改动,其默认的启动顺序是:①释放DONE引脚端;②将GTS置低,激活所有1/O引脚端;③将GWE置位,释放所有的RAM和逻辑单元;④将EOS置位。
图6.1.1 Virtex-Ⅱ系列器件的下载配置流程
Virtex-Ⅱ系列器件下载配置模式设置 Virtex-Ⅱ系列器件支持“Master Serial Programming Mode”、“Master SelectMAP Programming Mode”“Slave Serial Programming Mode”“Slave SelectMAP Programming Mode”“JTAG/ Boundary Scan Programming Mode”。设置Virtex-Ⅱ系列器件的M2、M1、M0引脚端状态,可以确定下载配置模式,如表6.1.1所示。
表6.1.2 Virtex-Ⅱ系列器件与下载配置电路有关的引脚端
3. Virtex-Ⅱ系列器件的下载配置电路设计 在Virtex-Ⅱ系列器件中与下载配置电路有关的引脚端如表6.1.2所示。应注意的是: Virtex-Ⅱ系列器件中与下载配置有关的引脚端,有一部分是专用引脚端,另一部分是可以作为用户1/O的复用引脚端。考虑到设计的稳定性,建议不使用这部分复用引脚端。
(2)Virtex-Ⅱ加电要求 为保证Virtex-Ⅱ系列器件的正常加电,Xilinx公司在Virtex-Ⅱ数据手册中规定: ①VCCINT、VCCAUX和 Vcco的加电过程既不应快于1ms,也不应慢于 50ms。 ②Virtex-Ⅱ加电过程中的最小电流要求不同型号是不同的,设计时需要根据具体的型号设计下载配置电路。 ③VCCINT、VCCAUX和 Vcco的加电顺序没有具体要求。一般,在保证VCCINT和 Vcco的电气参数情况下,采用先VCCINT后Vcco的加电顺序,将提高FPGA系统的使用稳定性。
(3)Virtex-Ⅱ下载配置电路设计 设计过程中,首先应该熟悉下载配置引脚端和Virtex-Ⅱ加电要求,然后依据选定的下载配置模式进行下载配置电路设计。Xilinx公司针对不同类型的FPGA器件提供了相应的下载配置电路,XIlinx公司提供的Virtex-Ⅱ系列器件下载配置电路如图6.1.2~图6.1.9所示。
图6.1.2为使用System ACE™(System Advanced Configuration Environment)配置Virtex-Ⅱ的下载配置电路,电路利用ACE Controller(ACE微控制器)和 ACE CompactFlash完成Virtex-Ⅱ的下载配置。图6.1.3 为使用CPLD和PROM配置Virtex-Ⅱ的下载配置电路图6.1.4 为使用EPROM配置Virtex-Ⅱ的下载配置电路。图6.1.5为 Master Serial Mode 配置电路。图6.1.6 为Master/Slave Serial Mode 配置电路。图6.1.7为 Master SelectMAP Programming Mode配置电路。图6.1.8为 Slave SelectMAP Mode配置电路。图6.1.9为 JTAG Mode配置电路。
图6.1.2 使用System ACE™配置Virtex-Ⅱ的下载配置电路
图6.1.3 使用CPLD和PROM配置Virtex-Ⅱ的下载配置电路
图6.1.4 使用EPROM配置Virtex-Ⅱ的下载配置电路
图6.1.5 Master Serial Mode 配置电路
图6.1.6 Master/Slave Serial Mode 配置电路
图6.1.7 Master SelectMAP Mode配置电路
图6.1.8 Slave SelectMAP Mode配置电路
图6.1.9 JTAG Mode配置电路