引言:本文我们继续介绍7系列FPGA器件配置,主要介绍几种常见的配置方案。
1.串行配置模式
在串行配置模式下,FPGA通过每个CCLK周期加载一个配置位进行配置。CCLK是主串行模式下的输出,是从串行模式下的输入。图1显示了基本的7系列FPGA串行配置接口。
图1、7系列FPGA串行配置接口
1.1 从串行配置模式
从串行配置通常用于串行菊花链中的器件,或从外部微处理器或CPLD配置单个器件时(见图2)。除了CCLK的方向外,设计注意事项与主串行配置类似。CCLK必须由外部时钟源驱动。
图2、从串行模式配置举例
- 7系列FPGA VCCO_0和Xilinx电缆VREF必须具有相同的电压;DONE引脚为开路漏极输出;INIT_B引脚是一个双向开放式漏极引脚,需要一个外部上拉电阻器;对于串行配置,必须为CCLK设置位流启动时钟设置;CCLK信号完整性至关重要,可能需要匹配端接;VCCBATT是存储在SRAM中的AES密钥的电源。使用时,应将其连接至电池电源。
1.2 主串行配置模式
主串行配置模式与从串行配置模式相同,只是FPGA生成CCLK。也就是说,CCLK是主串行模式下的输出。对于7系列FPGA,主SPI模式是串行Flash器件低引脚数配置的主要配置模式。
1.3 时钟串行配置数据
图3显示了如何在从串行和主串行模式下将配置数据传输到7系列FPGA中。
图3、串行配置时钟顺序
- Bit0为第一个字节最高位。例如,如果第一个字节是0xAA(10101010)、位0=1、位1=0、位2=1,等等;对于主配置模式,CCLK仅在INIT_B变高后输出驱动,到DONE变高后短暂驱动。否则,CCLK处于高Z状态;CCLK可在从机串行模式下自由运行。
2.主SPI配置模式
7系列FPGA主SPI配置模式允许使用低引脚数、行业标准SPI闪存器件进行位流存储。FPGA支持直接连接到SPI闪存器件的实际标准四线接口,用于读取存储的配置文件位流。7系列FPGA主SPI配置模式(图4)可以选择支持x2和x4快速输出读取操作的SPI设备进行读取。这些输出模式按比例比标准1位SPI接口快。此外,下降沿时钟模式可用于更好地利用整个时钟周期,并允许更高的配置速度。
图4、7系列FPGA SPI配置接口
图5显示了具有x1或x2数据宽度的SPI配置的连接。这些连接是相同的,因为x2模式使用D00_MOSI引脚作为双用途数据输入/输出引脚。菊花链配置模式仅在SPI x1模式下可用。
图5、7系列FPGA SPI x1/x2配置接口
图6显示了具有x4数据宽度的SPI配置的连接。
图6、7系列FPGA SPI x4配置接口
- DONE引脚为开路漏极输出;INIT_B引脚是一个双向开放式漏极引脚。需要一个外部上拉电阻;必须为用于SPI配置的CCLK设置位流启动时钟设置;CCLK信号完整性至关重要,可能需要端接;对于菊花链SPI x1配置模式,DOUT应连接到下游FPGA的DIN。x2或x4 SPI模式不支持菊花链;从Flash到FPGA的数据路径应考虑一个串联电阻器,以最小化过冲;7系列FPGA VCCO_0电源必须与用于SPI设备I/O的VCC兼容;数据从CCLK下降沿上的SPI时钟输出,并在上的FPGA上时钟输入;通过ConfigRate选项调整CCLK频率。或者,ExtMasterCclk_en选项可以将CCLK切换到来自EMCCLK引脚的源,以使用外部时钟源;VCCBATT是存储在SRAM中的AES密钥的电源。它应该是连接的使用时连接到电池电源。
3.主BPI配置模式
7系列FPGA主BPI配置模式(图7)支持使用行业标准的并行NOR(BPI)闪存设备进行比特流存储。FPGA支持直接连接到BPI闪存的地址、数据和控制信号,以提取存储的位流。
图7、7系列FPGA主BPI 配置接口
这种模式配置接口FPGA需要连接的信号较多,硬件布线稍复杂些。由于采用并行总线进行配置数据传输,具有较高的配置速度。如果项目对配置时间具有较高要求,并行配置模式可以大大缩短上电配置时间。如果对配置速度无要求,经常采用串行配置方式,简化硬件设计。图8给出了主BPI配置模式读操作举例。
图8、7系列FPGA主BPI配置接口-异步读操作举例
- 7系列FPGA VCCO_0电源输入和Xilinx电缆VREF必须连接到相同的电压;7系列FPGA组电压VCCO_14提供:A[15:00]、FCS_B、D[15:00]、EMCCLK、PUDC_B和CSO_B信号。气缸组电压VCCO_15提供:A[28:16]、FWE_B、FOE_B、ADV_B、RS0和RS1信号;对于BPI模式,M[2:0]=010;图8显示了x16 BPI接口。
对于x8 BPI接口,仅使用D[07:00];向数据引脚发送位流遵循与SelectMAP模式相同的位交换规则。参见第83页的并行总线位顺序;CCLK输出不用于在异步读取模式下连接到闪存,但用于在配置期间对闪存读取数据进行采样。所有定时均参考CCLK;RS[1:0]引脚未按图2-17所示连接。这些输出引脚是可选的,可用于多引导配置;DONE引脚为开路漏极输出;有关特定闪存信号连接的详细信息,请参考BPI闪存供应商数据表。为防止地址错位,用户应密切注意所用字节/字模式的闪存系列地址LSB。并非所有闪存系列都使用A01作为地址LSB;所示JTAG连接用于简单的单设备JTAG扫描链。当JTAG扫描链上有多个设备时,使用适当的IEEE Std 1149.1菊花链技术连接JTAG信号。TCK信号完整性对于JTAG的运行至关重要。路由、终止并在必要时适当缓冲TCK信号,以确保JTAG扫描链中设备的信号完整性;显示FPGA模式(M[2:0])引脚设置为主BPI模式(010)。
建议使用户能够将FPGA模式引脚更改为JTAG模式(101)的板级选项的实现,以便在设计期间为FPGA启用基于JTAG的调试功能。这不是必需的,但JTAG模式设置可确保调试期间不会受到主BPI配置的干扰;在本示例示意图中,FPGA PUDC_B引脚与接地相连,从而在配置期间实现内部上拉,包括非专用配置I/O。PUDC_B也可以在配置期间将非专用配置I/O设置为3状态;VCCBATT是存储在SRAM中的AES密钥的电源。使用时,应将其连接至电池电源;此示例示意图支持单比特流配置。因此,在本示例示意图中,FPGA RS[1:0]引脚未连接;有关VCCINT电源电压,请参见相应的7系列FPGA数据表。
4.SelectMAP配置模式
SelectMAP配置接口(图9)为7系列FPGA配置逻辑提供8位、16位或32位双向数据总线接口,可用于配置和回读。数据总线的回读和读取方向仅适用于从属SelectMAP模式。CCLK是主选择映射模式下的输出,是从选择映射模式下的输入。可以通过SelectMAP总线配置一个或多个7系列设备。
图9、7系列FPGA SelectMAP配置接口图10显示了从配置模式SelectMAP配置举例。
图10、从配置模式SelectMAP配置举例
- 参考XAPP583,使用微处理器通过从串行或从SelectMAP模式配置7系列FPGA,了解一种可能实现的讨论;处理器或CPLD I/O需要支持与连接的FPGA引脚兼容的电压。7系列FPGA VCCO_0电源输入和Xilinx电缆VREF必须具有相同的电压;DONE引脚为开路漏极输出;INIT_B引脚是一个双向开放式漏极引脚,需要一个外部上拉电阻;对于SelectMAP配置,必须为CCLK设置位流启动时钟设置;如果只配置一个FPGA,并且不需要回读,则CSI_B和RDWR_B信号可以连接到地;CCLK信号完整性至关重要,可能需要端接。建议通过模拟来确定适当的终止,因为它取决于应用程序;VCCBATT是存储在SRAM中的AES密钥的电源。使用时,应将其连接至电池电源;对于从SelectMAP配置,数据总线宽度可以是x8、x16或x32。从属SelectMAP x16和x32总线宽度不支持AES加密的比特流。