Xilinx 7系列FPGA架构之器件配置(一)

引言:本系列博文描述7系列FPGA配置的技术参考。作为开篇,简要概述了7系列FPGA的配置方法和功能。随后的博文将对每种配置方法和功能进行更详细的描述。本文描述的配置方法和功能适用于所有7系列家族器件,只有少数例外。

1.概述

Xilinx®7系列FPGA通过将特定于应用程序的配置数据(位流)加载到内存中进行配置。7系列FPGA可以主动从外部非易失性存储设备加载,也可以通过外部智能源(如微处理器、DSP处理器、微控制器、PC或板测试仪)被动进行配置。在任何情况下,都有两个通用配置数据路径。第一个是串行数据路径,这种情况需要最少的硬件管脚连接。第二个数据路径是8位、16位或32位数据路径,用于更高性能或访问(或链接)行业标准接口,非常适合外部数据源,如处理器或x8或x16并行闪存。

与处理器和处理器外围设备一样,Xilinx FPGA可以在线重新编程,编程次数无限制。由于Xilinx FPGA配置数据存储在CMOS配置锁存器(CCL)中,因此必须在断电后对其进行重新配置。每次通过专用配置引脚将比特流加载到FPGA器件中。这些配置引脚可以用作多种不同配置模式的接口:

  • 主动-串行配置模式
  • 从(或被动)-串行配置模式
  • 主动-并行(SelectMAP)配置模式(x8和x16)
  • 主动-并行(SelectMAP)配置模式(x8,x16和x32)
  • JTAG边界扫描模式
  • 主动-串行SPI Flas配置模式(x1,x2,x4)
  • 主动-字节BPI Flash配置模式(x8,x16),使用并行NOR Flash

这些配置模式通过输入管脚M[2:0]设置不同的电平进行模式选择。M2,M1和M0应该连接至DC电压常量,可以直接接GND或者VCCO_0或者通过上拉或下拉电阻(≤1kΩ)连接至GND或者VCCO_0。

上述几种配置模式中主或者从是以配置时钟管脚CCLK的方向为参考的。例如,在从配置模式中,CCLK为输入管脚;在主配置模式中,CCLK来自7系列FPGA内部振荡器,在主配置模式中,配置完成之后,CCLK时钟自动关闭,除非通过Persist Option将其配置为强制打开。该CCLK管脚为三态管脚,内部弱上拉。

JTAG边界扫描配置模式,无论M[2:0]配置管脚电平如何,都一直可用。

2.设计考虑

要建立一个高效的系统,重要的是要考虑哪种FPGA配置模式最符合系统的要求。每个配置模式都有专用FPGA配置引脚,并且只能在配置期间临时使用其他多功能引脚。配置完成后,这些多功能管脚将被释放作为通用I/O使用。类似地,配置模式可能会对某些FPGA I/O Bank施加电压限制。尽管FPGA有几种不同的配置选项可用,但就单个具体项目来说,每个系统通常都有一个最佳解决方案。FPGA配置过程涉及许多步骤。每个步骤通常涉及一系列事件。例如,第一步是多个电源的通电顺序。要了解总体配置时间,设计师必须了解每个步骤的贡献。CALC_CONFIG_TIME可以估算配置时间。

选择最佳配置选项时必须考虑几个主题:总体方案、速度、成本和复杂性。

2.1 配置比特流长度及Flash容量选择

FPGA设计被编译成比特流。比特流通过配置接口加载。每个FPGA部件类型的完整比特流具有固定长度。表1-1显示了7系列FPGA的比特流长度和其他设备特定信息。

表1、7系列FPGA的比特流长度和其他设备特定信息

2.2 FPGA配置数据源

Xilinx 7系列FPGA旨在实现最大的灵活性。FPGA或者自动加载来自非易失性闪存的配置数据,或者其他外部智能设备(如处理器或微控制器)可以将配置数据下载到FPGA。此外,配置数据可以通过电缆从主机下载到FPGA的JTAG端口。

  • 主动模式

主动模式,FPGA自我加载,可通过串行或并行数据路径使用。FPGA在驱动配置逻辑的内部振荡器中生成配置时钟信号,并在CCLK输出引脚上可见,FPGA控制整个配置过程。主动模式利用各种类型的非易失性存储器来存储FPGA的配置信息。在主动模式下,FPGA的配置比特流通常保存在同一块电路板上的非易失性内存中,通常位于FPGA外部。

  • 被动模式

图1、从配置模式

外部控制加载FPGA配置模式,通常称为从模式,也可通过串行或并行数据路径进行配置。在从模式下,外部“智能代理”(如处理器、微控制器、DSP处理器或测试仪)将配置映像下载到FPGA中,如图1所示。从属配置模式的优点是FPGA比特流几乎可以存储在整个系统中的任何位置。比特流可以与主机处理器的代码一起存储在闪存板上。它可以储存在硬盘上,它可以通过网络连接或其他类型的网桥连接发起配置。

2.3 JTAG连接

四针JTAG接口常用于调试硬件和测试。无论最终在应用程序中使用何种配置模式,最好还包括一个JTAG配置路径,以便于设计开发。

2.4 基本配置解决方案

在基本配置解决方案中,FPGA在通电时自动从Flash设备检索其比特流。FPGA具有串行外围接口(SPI),通过该接口,FPGA可以从标准SPI闪存设备读取比特流。

2.5 低成本配置解决方案

成本最低的选项因具体应用而异。

  • 如果系统中已有备用非易失性存储器可用,则可将比特流镜像存储在系统存储器中。它甚至可以存储在硬盘上或通过网络连接远程下载。如果是,则应考虑其中一种下载模式:主BPI模式,从串行模式或JTAG。
  • 如果应用程序已经需要非易失性内存,则可以整合内存。例如,FPGA配置比特流可以与该板的任何处理器代码一起存储。如果处理器是MicroBlaze™ 嵌入式处理器,则FPGA配置数据和MicroBlaze理器代码可以共享同一个非易失性存储设备。

2.6 高速配置

某些应用要求逻辑在短时间内可运行。某些FPGA配置模式和方法比其他配置模式和方法更快。配置时间包括初始化时间和配置时间。配置时间取决于设备的大小和配置逻辑的速度。

  • 在相同的时钟频率下,并行配置模式固有地比串行模式快,因为它们一次编程8、16或32位。
  • 在菊花链中配置单个FPGA比配置多个FPGA具有更快的固有速度。在关注配置速度的多FPGA设计中,每个FPGA都应该单独并行配置。
  • 在主模式下,FPGA内部生成配置时钟信号,并在CCLK引脚上发送。默认情况下,CCLK频率较低,但比特流配置选项可以提高CCLK频率,或将CCLK源从EMCCLK引脚切换到外部时钟源。支持的最大CCLK频率设置取决于所连接的非易失性存储器的读取规格。更快的内存可实现更快的配置。当使用CCLK的内部振荡器源时,输出频率可随工艺、电压或温度而变化。EMCCLK时钟源选项启用精确的外部时钟源,以实现最佳配置性能。
  • 使用EMCCLK选项的从模式或主模式允许更严格的公差和更快的时钟。

2.7 保护FPGA比特流免受未经授权的复制

与处理器代码一样,定义FPGA功能的比特流在上电期间加载到FPGA中。因此,这意味着不道德的公司可以在上电启动配置时捕获配置比特流并创建未经授权的设计副本。

与处理器一样,存在多种技术来保护FPGA比特流和嵌入在FPGA中的任何知识产权(IP)核心。最强大的技术是使用电池支持的基于SRAM密钥的AES加密或使用eFUSE密钥的AES加密。设备识别是第三种技术,它使用较低级别的安全性和设备DNA。

此外,7系列器件还具有片上高级加密标准(AES)解密逻辑,以提供高度的设计安全性。

2.8 加载具有相同配置比特流的多个FPGA

通常,系统中每个FPGA有一个配置比特流映像。通过利用菊花链配置,多个不同的FPGA比特流镜像可以共享单个配置闪存。如果应用程序中的所有FPGA具有相同的部件并使用相同的比特流,则只需要一个比特流镜像。另一种解决方案称为组合或宽边配置,它使用相同的比特流加载多个类似的FPGA。仅在从串行或从SelectMAP模式下支持组合或宽侧配置。

3.配置调试考虑

本节讨论的最佳实践有助于在实现配置解决方案时遇到问题时启用调试和解决方案。在开始全面调试之前,请使用比特流默认值(例如,计数器或LED输出模式)创建并测试简单设计。此简单的设计测试有助于消除高级比特流设置或板接口的任何潜在问题。尝试使用其他方法进行配置,例如通过JTAG而不是从闪存进行配置,以确定问题是否特定于配置模式。

两个最重要的配置信号INIT_B和DONE应连接到LED驱动器。INIT_B从低到高的脉冲表示通电时初始化完成。配置期间INIT_B信号低电平可指示FPGA设备读取到的比特流存在CRC错误。如果配置未正确完成,状态寄存器将提供有关哪些错误可能导致故障的重要信息。JTAG readback/verify可确定预期配置数据是否正确加载到设备中。


(0)

相关推荐

  • 【精品博文】spartan6 硬件设计笔记

    用spartan6主要是想利用它的差分收发器做一些应用,那么这里就需要注意lvds引脚,任何io bank都可以用作lvds 输入,但是lvds 输出引脚只能从bank0 和bank2 中选择. 可选 ...

  • 【博文精选】PWM蜂鸣器驱动之FPGA在线下载配置

    图7.18 Programmer按钮 进入下载页面如图7.19所示.确认"Mode"选项为"JTAG",确认File列下的下载文件名称为"output ...

  • 合理使用JTAG和IMPACT帮助你调试FPGA不能启动的问题

    Hx·来源:网络整理·作者:佚名 · 2017年03月21日 10:56 · 0 本来想着把GTX后面两篇博文找时间写了,但是最近实在是忙,一直在搭图像处理的AXI框架和整FPGA-DSP双平台的板子 ...

  • 【博文精选】Altera FPGA配置方式之AS/PS/JTAG配置方式

    AS配置方式由FPGA器件引导配置操作过程,它控制着外部存储器及其初始化过程,EPCS系列配置芯片如EPCS1.EPCS4配置器件专供AS模式.使用Altera串行配置器件来完成,FPGA器件处于主动 ...

  • 多系统FPGA远程更新系统的设计与实现

    摘要: 为了解决多系统FPGA远程更新的局限性,提出了一种基于SoC的多系统FPGA远程更新系统设计方法.应用以太网协议实现了上位机与SoC控制系统的信息交互,SoC芯片控制加载流程实现多系统FPGA ...

  • Xilinx 7系列FPGA架构之时钟资源

    引言: 从本文开始,我们陆续介绍Xilinx 7系列FPGA的时钟资源架构,熟练掌握时钟资源对于FPGA硬件设计工程师及软件设计工程师都非常重要.本章概述7系列FPGA时钟,比较了7系列FPGA时钟和 ...

  • xilinx 7系列FPGA分类简介(转)

    赛灵思公司的7系列FPGA根据不同客户的应用需求,分为4个子系列,即Spartan7系列.Artix7系列.Kintex7系列以及Virtex7系列.和前几代FPGA产品不同的是,7系列FPGA采用的 ...

  • Xilinx 7系列FPGA介绍

    2015年11月,Xilinx推出Spartan®-7 FPGA系列 赛灵思公司今天宣布为成本敏感型应用推出灵活的 I/O 密集型器件--Spartan®-7 FPGA系列.该新型系列器件可满足汽车. ...

  • Xilinx 7系列FPGA简介

    作者:watchman,来源: ZYNQ微信公众号 Xilinx-7系列FPGA 主要包括:Spartan®-7.Artix®-7.Kintex®-7.Virtex®-7.其性能.密度.价格也随着系列 ...

  • Xilinx 7系列FPGA Multiboot介绍-远程更新

    在远程更新的时候,有时候需要双镜像来保护设计的稳定性.在进行更新设计的时候,只更新一个镜像,另一个镜像在部署之前就测试过没问题并不再更新.当更新出错时,通过不被更新的镜像进行一些操作,可以将更新失败的 ...

  • Xilinx 7系列FPGA入门级图像处理-完整版V1

    将之前的各个文章合起来,形成一个PDF,主要目录如下: 1 基于FPGA的HDMI显示 1.1 HDMI简介 1.2基于FPGA的HDMI接口设计 1.3 HDMI时序分析 1.4基于FPGA的720 ...

  • 赛灵思7系列FPGA上电配置流程

    一.FPGA配置引脚说明 1.CFGBVS 如果VCCO0连接至2.5V或3.3V,CFGBVS连接至VCCO0. 如果VCCO0连接至1.5V或1.8V,CFGBVS连接至GND. 建议bank0. ...

  • 官方暗示!华为P50系列或明天发布:配置外观系统前所未有

    还有一天的时间,华为鸿蒙系统发布会就要正式召开,华为官方近日连放多张宣传海报预热,而在其中竟然出现了一张疑似华为P50系列的海报.从这张海报上的两个凸起圆环可以看到,和之前曝光的华为P50后置相机造型 ...

  • 深入浅出带你了解FPGA架构

    数字集成电路有两种类型:ASIC和FPGA(现场可编程门阵列).专用集成电路(ASIC)有一个预先定义的特定硬件功能,在生产后不能重新编程.但FPGA可以在制造后可无限编程. FPGA是一种集成电路, ...