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可确定预期配置数据是否正确加载到设备中。

图片

欢迎关注FPGA技术实战公众号,持续更新原创!

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Xilinx 7系列FPGA是一种高性能的可编程逻辑器件,具有广泛的应用领域。硬件设计方面,需要掌握FPGA架构、时序分析、时钟管理、IP核的使用等知识。同时,还需要熟悉Verilog或VHDL等硬件描述语言,以及常用的EDA工具如Vivado等。在设计过程中,需要注意时序约束的设置、布局布线的优化、时钟域的划分等问题,以保证设计的正确性和性能。 ### 回答2: Xilinx 7系列FPGAXilinx公司推出的一款高性能可编程逻辑器件。它不仅具有高速、高效、低功耗等优点,还具有灵活可编程的特性。下面从硬件设计的角度进行分析和讨论。 首先,Xilinx 7系列FPGA具有高通量和低功耗的特点。它采用了28nm工艺,使得晶体管密度更高、功耗更低、芯片面积更小,在提高系统性能的同时,能够满足低功率应用的需求。同时,它还支持低功耗模式,并且具有自适应电源管理功能,进一步降低功耗。 其次,Xilinx 7系列FPGA支持高速串行接口,可实现高速的数据传输。它具有多个高速收发器,支持千兆以太网、PCI Express、SATA等高速接口。此外,它还支持DDR3和DDR4 SDRAM接口,可以实现更加高效的数据存储和读取。 另外,Xilinx 7系列FPGA具有高度的可编程性,可根据具体应用需求进行灵活编程设计。它内置了大量的I/O引脚和逻辑单元,可以实现多种逻辑设备。同时,它支持高度灵活可编程的CPLD逻辑,可以实现更加复杂的逻辑运算。 最后,Xilinx 7系列FPGA具有可靠性和安全性。它提供了多种安全机制,并且支持多种加密算法和认证协议。同时,它还支持多种嵌入式处理器,可以实现多种安全措施。 总体而言,Xilinx 7系列FPGA是一款高性能、低功耗、高度可编程和具有安全性的可编程逻辑器件。它可以用于各种高速、高效、低功耗、大容量的应用场景,如通信、图像、视频、信号处理、网络等。对于硬件设计人员来说,掌握Xilinx 7系列FPGA的特性和设计方法,将会非常有利于提高系统的性能和可靠性,实现更为高效和智能的应用。 ### 回答3: Xilinx 7系列FPGA是一款高性能的现场可编程门阵列芯片,它被广泛运用在计算机科学、电子工程、通信等领域,而设计师可以通过对其进行硬件设计来实现特定的功能。在进行Xilinx 7系列FPGA硬件设计之前,首先需要了解该芯片的特性和架构,以便有效地运用其性能。 Xilinx 7系列FPGA芯片由可编程逻辑门阵列(PL)和可编程I/O(IO)两个部分组成。其中,PL可以用于生成各种逻辑电路,IO则负责芯片与外部器件的通信。在进行硬件设计时,需要通过编辑电路图或创建HDL代码(如Verilog或VHDL)来描述所需逻辑电路,并将其综合成可执行文件,此后可通过Xilinx Vivado或ISE软件进行生成比特流(Bitstream)并进行程序下载。 设计师可以通过使用Xilinx提供的IP核(如乘法器、FIFO、RAM等),或自己编写IP核代码来加速设计过程。此外,在硬件设计时,需要考虑多个方面:电路的面积、功耗、时序、时钟管理和布线等。设计师可以使用Xilinx提供的工具(如FPGA Editor、Timing Analyzer、Implementation工具等)来进行综合分析、验证和优化。除此之外,还需要关注FPGA与外部设备之间的接口协议和通信方式。 最后,Xilinx 7系列FPGA硬件设计是一个需要深入学习的领域,设计师需要时刻关注产业动态和新技术的发展。同时,也需要注重实践经验的积累,掌握基本的电路分析与设计方法,才能更好地进行Xilinx 7系列FPGA的硬件设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA技术实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值