- 1 配置概述
- 1.3 设计考虑
- 2 配置接口
- 2.1 配置引脚
- 2.2 串行配置方式
- 3 边界扫描和JTAG配置
- 配置详细信息
- 5.1 配置数据文件的格式
- 5.3 配置序列
Spartan-7 : 密度最低,成本最低。 Artix-7 : 性能-功耗,带宽-功耗比值最好,成本敏感,大容量的设计。 Kintex-7 : 性价比最高。 Virtex-7 : 系统性能最高。
1 配置概述7系列fpga可以:
- 自己从非易失性存储介质中加载比特流。
- 用外部控制源,如微处理器、DSP处理器、微控制器、PC机或电路板测试器。
两种配置方式都有两种产生配置数据的路径:
- 第一个是串行数据路径,用于最小化引脚要求。
- 第二个数据路径是8位、16位或32位数据路径,用于更高的性能或访问(或链接)到工业标准接口,对于处理器或x8或x16并行闪存等外部数据源非常理想。
像处理器和处理器外围设备一样,Xilinx fpga可以在系统中按需无限次地重新编程进入翻译页面
由于Xilinx FPGA配置数据存储在CMOS配置锁存器中(CCLs)中,所以掉电了需要重新配置。bit流通过特殊的配置引脚加载比特流配置文件。这些配置引脚作为不同配置模式的接口:
- Master-Serial配置模式
- Slave-Serial配置模式
- Master SelectMAP(并行)配置模式(x8和x16)
- Slave SelectMAP(并行)配置模式(x8、x16和x32)
- JTAG/boundary-scan配置模式
- 主串行外设接口( Serial Peripheral Interface,SPI) flash配置模式(x1, x2, x4)
- 使用并行NOR flash的主字节外设接口(Byte Peripheral Interface,BPI) flash配置模式(x8和x16)
术语主或者从指的是配置时钟(CCLK)的方向。
- 主:fpga内部振荡器产生CCLK。
- 从:CCLK是外部输入的。
通过在专用模式输入引脚M[2:0]上设置适当的电平来选择特定的配置模式。 M1和M0模式引脚应通过上拉或下拉电阻(≤1kΩ)设置恒定直流电压水平,或直接连接到地或VCCO_0。 模式引脚不可在配置期间或配置后切换。
1.3 设计考虑每种配置模式都会在配置阶段临时占用一些引脚,这些引脚在配置完成后会释放。
bit流文件的长度 每个FPGA部件类型的完整位流具有固定长度。
基于SSI技术的3D集成电路 具有两个或两个以上超逻辑区域的器件采用SSI (stacked silicon interconnect)技术。采用堆叠硅互连技术设计的Virtex-7 fpga支持与单片7系列器件相同的配置模式。 全局配置功能默认从3D IC的主超逻辑区域(SLR)控制。3D ic的SPI和JTAG配置限制了ICAP读写访问。
2 配置接口7系列fpga配置模式:
配置模式M[2:0]总线位宽CCLK 方向Master Serial000x1OutputMaster SPI001x1,x2,x4OutputMaster BPI010x8,x16OutputMaster SelectMAP100x8,x16OutputJTAG101x1Not ApplicableSlave SelectMAP110x8,x16,x32InputSlave Serial111x1Input 2.1 配置引脚外部主配置时钟(EMCCLK)选项 外部主配置时钟(EMCCLK)
- 对于主模式:FPGA可以选择切换到EMCCLK作为时钟源,而不是内部振荡器,用于驱动内部配置引擎。EMCCLK频率可以通过位流设置(ExtMasterCclk_en)选择性地划分,并作为主CCLK信号转发输出。
- 对于JTAG和从模式:EMCCLK在JTAG和从模式时可以不连接。
默认情况下,Master配置模式使用内部生成的配置时钟源CCLK。使用这个时钟选项很方便,因为不需要外部时钟发生器源。但是,对于那些需要减少配置时间的应用程序,应该使用外部主配置时钟(EMCCLK)。 EMCCLK时钟允许使用一个更精确的外部时钟源比FPGA的内部时钟与主CCLK频率公差(FMCCKTOL)。例如,当主CCLK的最大频率为100 MHz时,50%的容忍意味着“配置速率”不能超过66mhz。然而,外部时钟源可以在规格允许的范围内尽可能快地应用。7系列fpga支持在主模式下动态切换到外部时钟源(EMCCLK)。
通过以下方式启用外部时钟源选项:
- 启用ExtMasterCclk_en位流生成选项。
- 定义EMCCLK目标电压。
- 将板子上的EMCCLK连接到板子的振荡器或其他时钟源。
专用资源可以在配置逻辑之前将EMCCLK输入除以2,4或8,或使用满速率(除以1)。ExMasterCclk_en选项在Vivado中通过BITSTREAM.CONFIG.EXTMASTERCCLK_EN设置。 set_property BITSTREAM.CONFIG.EXTMASTERCCLK_EN Disable|div-8|div-4|div-2|div-1
默认是Disable(使用内部CCLK)。
EMCCLK信号必须实例化并在提供I/O标准定义的设计中使用,因为EMCCLK是一个多用途引脚,否则电压水平将从bank 14中定义的另一个引脚获取。
2.2 串行配置方式JTAG模式的优先级比其他模式高。 与JTAG的连接图:
从串行配置 从属串行配置通常用于串行菊花链中的设备,或从外部微处理器或CPLD配置单个设备时:
主串行配置 典型的主SPI配置模式:
7系列完全符合IEEE标准1149.1测试访问端口(Test Access Port)和边界扫描架构。该体系结构包括IEEE 1149.1标准中定义的所有强制性元素。这些元素包括TAP、TAP控制器、指令寄存器、指令解码器、边界寄存器和旁路寄存器。7系列还支持32位设备标识寄存器和配置寄存器。
Test Access Port (TAP) 7系列FPGA TAP包含4个强制性专用引脚,根据7系列器件的协议和典型的JTAG架构。三个输入引脚和一个输出引脚控制IEEE Std 1149.1边界扫描TAP控制器。可选的控制引脚,如测试复位(TRST),和使能引脚可能发现从其他制造商的设备。在将Xilinx设备与来自不同供应商的部件进行接口时,一定要注意这些可选信号,因为它们可能需要被驱动。 IEEE Std 1149.1边界扫描TAP控制器是一个状态机(16个状态)。
TAP的四个必配引脚:
引脚方向预配置内部上/下拉电阻说明TDIinPull-up测试数据输入。这个引脚是所有JTAG指令和数据寄存器的串行输入。TAP控制器的状态和当前指令决定TDI引脚为特定操作提供的寄存器。TDI有一个内部电阻上拉,如果引脚没有驱动,则为系统提供逻辑高。TDI应用于TCK上升边缘的JTAG寄存器。TDOoutPull-up测试数据输出。这个引脚是所有JTAG指令和数据寄存器的串行输出。TAP控制器的状态和当前指令决定了为特定操作提供给TDO的寄存器(指令或数据)。TDO在TCK的下降边缘上改变状态,并且只有在通过设备的指令或数据移动时才激活。TDO是一个主动驱动输出。TDO有一个内部电阻上拉,如果引脚没有活动,则提供逻辑高。TMSinPull-up测试模式选择,这个引脚通过TCK上升边缘上的TAP控制器决定状态的顺序。TMS有一个内部电阻上拉,如果引脚没有驱动,则提供逻辑高。TCKinPull-up测试时钟。这个引脚是JTAG测试时钟。TCK对TAP控制器和JTAG寄存器进行排序。TCK有一个内部电阻上拉,如果引脚没有驱动,则提供逻辑高。边界扫描时序参数 时序图:
多设备配置:
Xilinx设计工具可以生成多种不同格式的配置数据文件。在ISE工具中,BitGen将par后的NCD文件转换为配置文件或位流。PROMGen是一个PROM文件生成器,可以将一个或多个位流文件转换为一个PROM文件。等效的Vivado Tcl命令如下WRITE_BITSTREAM WRITE_CFGMEM。PROM文件可以以多种不同的文件格式生成,不需要与PROM一起使用。它们可以储存在任何地方,并通过任何方式运送。 文件格式有:BIT、RBT、BIN、MCS、HEX
5.3 配置序列7系列FPGA的配置流程,8个步骤: