购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 最新的UltraScale结构

UltraScale架构是业界首款采用最先进的ASIC架构优化的All Programmable架构。该架构能从20nm平面FET结构扩展至16nm鳍式FET晶体管技术甚至更高的技术,同时还能从单芯片扩展到3D IC。借助Xilinx Vivado设计套件的分析型协同优化,UltraScale架构可以提供海量数据的布线功能,同时还能智能地解决先进工艺节点上的头号系统性能瓶颈。这种协同设计可以在不降低性能的前提下实现超过90%的利用率。

UltraScale架构不仅能解决系统总吞吐量扩展和时延方面的局限性,而且还能直接应对先进工艺节点上的头号系统性能瓶颈,即互连问题。UltraScale新一代互连架构的推出体现了可编程逻辑布线技术的真正突破。赛灵思致力于满足从多吉比特智能包处理到多太比特数据路径等新一代应用需求,即必须支持海量数据流。在实现宽总线逻辑模块(将总线宽度扩展至512位、1024位甚至更高)的过程中,布线或互连拥塞问题一直是影响实现时序收敛和高质量结果的主要制约因素。过于拥堵的逻辑设计通常无法在早期器件架构中进行布线。即使工具能够对拥塞的设计进行布线,最终设计也经常需要在低于预期的时钟速率下运行。而UltraScale布线架构则能完全消除布线拥塞问题。结论很简单:只要设计合理,就能进行布线。

下面来做个类比。例如位于市中心的一个繁忙十字路口,交通流量的方向是从北到南,从南到北,从东到西,从西到东,有些车辆正试图掉头,所有交通车辆试图同时移动。这样通常就会造成大堵车。现在考虑一下将这样的十字路口精心设计为现代化高速公路或主干道,情况又会如何?道路设计人员设计出了专用坡道(快行道),用以将交通流量从主要高速路口的一端顺利地疏导至另一端。交通流量可以从高速路的一端全速移动到另一端,不存在堵车现象。

1.4.1 可配置逻辑块

可配置的逻辑块(Configurable Logic Block, CLB)是主要的逻辑资源,用于实现时序和组合逻辑电路。UltraScale结构CLB提供了高级高性能和低功耗的可编程逻辑,其特点主要有:

(1)真正的6输入查找表;

(2)双LUT5(5输入LUT)选项;

(3)分布式存储器和移位寄存器能力;

(4)用于算术功能的专用高速进位逻辑;

(5)多功能的多路复用器,用于高效的利用;

(6)专用的存储元素,能配置为带有灵活控制信号的触发器或者锁存器。

每个CLB连接到一个开关矩阵,用于访问通用的布线资源。一个CLB包含一个切片(Slice)。每个切片提供8个6输入的查找表和16个触发器。LUT按列排列,它带有一个8位的进位链。多功能多路复用器将LUT组合在一起,构成7、8或者9输入的任意函数功能,或者带有最多55个输入的一些函数功能。SLICEL用于描述支持上述功能的CLB切片(L表示逻辑)。在SLICEM(M表示存储器)内的LUT能配置为一个查找表,64位的分布式存储器,或者一个32位的移位寄存器。表1.3给出了一个CLB Slice内的逻辑资源。

表1.3 一个CLB Slice内的逻辑资源

注:LUT从底到顶用A,B,C,D,E,F,G和H标记。

1.多路复用器

每个切片包含7个多路复用器,用于构建更宽的函数功能。不同多路复用器的功能包括:

(1)F7MUX_AB、F7MUX_CD、F7MUX_EF和F7MUX_GH

用于组合两个相邻的LUT,以产生一个7输入的任何函数功能。

(2)F8MUX_BOT和F8MUX_TOP

用于组合两个相邻的F7MUX,以产生8输入的任何函数功能。

(3)F9MUX

用于组合两个F8MUX,以产生9输入的任何函数功能。

2.存储元素

每个CLB Slice内有16个存储元素,其中的每一个都可以配置为边沿触发的D触发器或者电平触发的锁存器。在器件上半部(A~D)和下半部(E~H)提供锁存器选项。置位/复位有同步或者异步两种方式。

UltraScale结构中,每个CLB为存储元素提供了两个时钟输入和两个置位/复位(SR)。图1.3给出了时钟和置位/复位的分配结构。

图1.3 控制信号的分配

用于存储元素的初始化方式:

(1)SRLOW:当SR信号有效时,同步或者异步复位;

(2)SRHIGH:当SR信号有效时,同步或者异步置位;

(3)INIT0:当上电时,异步复位;

(4)INIT1:当上电时,异步置位。

3.分布式RAM(只有SLICEM)

SLICEM内的函数发生器(LUT)可以作为同步RAM资源,也称为分布式RAM。SLICEM内的多个LUT可组合构成最多512比特容量的RAM。它可以配置为单端口、双端口、简单双端口、四端口、八端口模式。

4.只读存储器(ROM)

SLICEM和SLICEL内的每个LUT都可以实现一个64×1位ROM。它提供了四种ROM配置方式:

(1)64×1(1个LUT);

(2)128×1(2个LUT);

(3)256×1(4个LUT);

(4)512×1(8个LUT)。

5.移位寄存器(只有SLICEM)

一个SLICEM的函数发生器可以在不使用触发器的情况下,配置为一个32位的移位寄存器。当用作移位寄存器时,每个LUT可以将串行数据延迟1~32个时钟。一个SLICEM内的8个LUT可以级联产生最多256个时钟周期的延迟。图1.4给出了移位寄存器的描述。

图1.4 32位移位寄存器

1.4.2 时钟资源和时钟管理单元

图1.5给出了UltraScale结构的时钟结构图。从图中可以看出,基本的结构是由CR块构成(CR表示分段时钟的行和列)。CR以一个单元的方式排列,这样就可以构造出行和列。每个CR包含切片(Slice)、DSP、36K BRAM。每个CR中的这些资源在行方向上可能不同,但是在垂直方向是一致的。每个CR的高度是60个CLB,24个DSP和12个BRAM。这样,在器件内建立了这些资源的列。

图1.5 UltraScale结构的时钟分布

从图1.5中可以看出:

(1)在CR的中间插入I/O和GT列。

(2)与I/O列相邻的是物理块,带有时钟管理单元(Clock Management Tiles, CMT)、全局时钟缓冲区、全局时钟复用结构和I/O逻辑管理功能。

(3)时钟结构存在一个单个的列,它包含配置逻辑、系统监控器和PCIE。

(4)一个水平时钟脊梁(Horizontal Clock Spine,HCS)穿过每行CR、I/O和GT的中间。HCS包含水平布线和分布引线,以及叶时钟缓冲区,还有在水平/垂直布线和分配之间的时钟网络互连。

(5)垂直的布线引线和分配连接一列内所有的CR,而垂直布线跨越一个整个的I/O列。时钟结构包含24个水平布线和24个分布引线,以及24个垂直布线和24个分布引线。

(6)I/O直接由来自物理块的时钟驱动,或者通过布线引线由相邻的物理块驱动。

1.UltraScale结构的时钟资源

UltraScale结构内的时钟资源包括:全局时钟输入、字节时钟输入、时钟缓冲和布线。

1)全局时钟输入

在每一个I/O Bank上有四个全局时钟(Global Clock,GC)引脚,可以直接访问全局时

钟缓冲区、混合模式的时钟管理器(Mixed-mode Clock Manger,MMCM)和相位锁相环(Phase Lock Loop,PLL)。全局时钟(Globle Clock,GC)输入提供了高速访问全局和区域时钟资源的专用通道。

每个I/O Bank在一个单个时钟域内,包含52个I/O引脚。

2)字节时钟输入

字节通道时钟(DBC和QBC)输入引脚对是专用的时钟输入,直接驱动源同步的时钟到I/O块的比特切片。在存储器应用中,这些信息称为双向数据选通(Bidrectional Data Strobe,BDS)。

3)时钟缓冲和布线

物理全局时钟包含BUFGCTRL、BUFGCE和BUFGCE_DIV。它们中的每一个时钟缓冲,都可以由来自相邻组MMCM、同一物理块的PLL和互连直接驱动。时钟缓冲区驱动整个芯片内的布线和分配资源。每个物理块包含24个BUFGCE、8个BUFGCTRL和4个BUFGCE_DIV。但是,在同一时刻,只使用其中的24个缓冲区。

此外,还包含BUFCE_LEAF时钟缓冲区、BUFG时钟缓冲区和BUFG_GT时钟缓冲区。其中:

(1)BUFG_GT:该时钟缓冲区提供对时钟1~8的分频,该分频时钟用于收发器时钟;

(2)BUFCE_LEAF:在叶子级别上,该时钟缓冲区提供了时钟的门控能力。

2.UltraScale时钟管理模块

UltraScale结构内的每个I/O组包含一个时钟管理单元(Clock Management Tile,CMT),每个CMT包含下面的功能单元:

(1)一个混合模式的时钟管理器(MMCM);

(2)两个相位锁相环(PLL)。其目的主要用于为I/O生成时钟。但是,它也包含了用于内部结构的MMCM的一些功能集。

图1.6给出了MMCM的结构图。MMCM用于宽范围频率的合成、内部或者外部时钟的抖动过滤器。MMCM的中心是一个压控振荡器(Voltage Controlled Oscillator,VCO),根据来自相位频率检测器(Phase Frequency Detector,PFD)的电压,VCO增加或者降低频率。

图1.6 MMCM的内部结构

MMCM中有三个可编程的分频因子D、M和O,通过动态配置端口,就可以在配置和正常操作期间,对它进行编程。预触发器D,用于降低输入时钟的频率,然后将其送入到相位/频率比较器。反馈分频器M,由于在将它送给相位比较器之前,其将VCO的输出频率进行分频,所以充当乘法器的角色。必须选择合适的D和M,使得VCO处于其指定的频率范围内。VCO有8个等间隔的输出相位(0°、45°、90°、135°、180°、225°、270°和315°)。设计者可以选择其中的一个相位,来驱动一个输出分频器。此外,设计者可以在配置时,对每个分频器进行编程,分频因子是1~128的任意整数。

MMCM有三个输入抖动过滤器选项——低带宽、高带宽或者优化的模式。其中:

(1)低带宽模式有最好的抖动衰减;

(2)高带宽模式有最好的相位偏置;

(3)优化模式允许Vivado工具找到最好的设置。

MMCM也有一个小数计数器,它在反馈路径上(充当乘法器)或者在输出路径上。小数计数器允许非整数的1/8增量。因此,将频率合成能力增加8倍。取决于VCO的频率,MMCM也能够提供小幅度增量的固定或者动态的相位移动。在1600MHz时,相位移动时间增量为11.2ps。

PLL比MMCM的特性要少得多,在一个时钟管理单元内的两个PLL,其基本上是为专用的存储器接口电路提供必要的时钟。在PLL中心的电路类似于MMCM,带有PFD、VCO,以及可编程的M、D和O计数器。每个PLL有两个到FPGA结构的分频输出时钟,以及到存储器接口电路的一个时钟和上一个使能信号。

1.4.3 块存储器资源

每个UltraScale结构的FPGA包含大量的36Kb的块存储器(Block RAM,BRAM),每个BRAM都有完全独立的端口,共享保存的数据。每个BRAM可以配置成一个36Kb RAM或者两个独立的18Kb RAM。由时钟控制每个存储器的访问(读或者写)。连接每个BRAM列的使能信号,可以在垂直相邻的BRAM之间实现级联。这样,提供了一种非常容易的方法,用于创建大容量、快速的存储阵列和FIFO,大大地降低了功耗。

所有的输入、数据、地址、时钟使能和写使能都被寄存。输入地址总是由时钟驱动(除非关闭地址锁存),一直保留数据到下一个操作。在以消耗一个额外时钟延迟的代价下,一个可选的输出数据流水线寄存器允许更高的时钟速率。在写操作期间,数据的输出能反映出前面保存的数据或者新写入的数据,或者其保持不变。在设计者的设计中包含没有使用的BARM时,会自动断电,以降低功耗。每个BARM中有一个额外的引脚,用于控制动态功耗控制特性。

1.可编程的数据宽度

每个端口可以配置成32K×1、16K×2、8K×4、4K×9(或8)、2K×18(或16)、1K×36(或32)或者512×72(或者64)。不管配置成一个RAM块还是FIFO,两个端口都可以有不同宽高比,并且没有任何限制。只有在简单双端口模式下,其数据宽度可以大于18位(18Kb RAM)或者36位(36Kb RAM)。在该模式下,一个端口专用于读操作,另一个端口专用于写操作。在简单双端口模式下,读/写一侧可以是变化的,而另一个端口固定为32/36或者64/72。双端口36Kb RAM的所有侧都可以是可变的宽度的。图1.7给出了简单双端口和真正双端口BRAM的配置模式。

图1.7 双端口RAM的两种配置方式

2.检错和纠错

每个64位宽的BRAM能产生、保存和使用8位额外的海明码。在读过程中,纠正单比特错误和检测两比特错误操作。在写或者读外部64~72位宽的存储器时,也可以使用ECC逻辑。

3.FIFO控制器

图1.8给出了UltraScale的内建FIFO结构。每个BRAM能配置成一个36Kb FIFO或者一个18Kb FIFO。内建的FIFO控制器用于单时钟(同步)或者双时钟(异步或者多数据率)操作,内部递增地址。此外,提供了四个握手信号:满、空、可编程满和编程空。可编程的标志允许设计者指定FIFO计数器的值,这个值用于控制标志变成活动状态。设计者可以对FIFO的宽度和深度进行编程,以支持在一个FIFO上不同的读端口和写端口宽度。一个专用的级联路径允许容易创建更深的FIFO。

图1.8 内建FIFO的结构图

1.4.4 专用的DSP模块

DSP应用使用大量的二进制乘法器和累加器。这些操作可以在专用的DSP切片中实现。如图1.9所示,UltraScale结构内专用的、低功耗DSP切片。

图1.9 XtremeDSP DSP48A1 DSP模块内部结构

每个DSP切片包含:

(1)一个专用的27×18位二进制补码乘法器;

(2)一个48位的累加器。

在应用时,可以动态旁路一个乘法器,两个48位的输入能送到一个单指令多数据(Single Instruction Multiple Data,SIMD)算术单元(两个24位加法/减法/累加或者四个12位加法/减法/累加)或者一个逻辑单元。该逻辑单元可以产生使用两个操作数的10种不同逻辑功能中任何一种功能。

DSP包含一个额外的预加法器。典型地,用于对称滤波器。在一个高密度封装的设计中,这个预加法器改善了性能。同时,将DSP切片的数量最多减少了50%。96位宽度XOR功能,可以编程为12、24、48或者96位宽度。这样,当执行向前纠错和循环冗余检查算法时,改善了实现性能。

DSP也包含一个48位宽度的模式检测器,它可以用于收敛或者对称的四舍五入。当与逻辑单元相结合时,模式检测器也可以实现96位宽度的逻辑功能。

1.4.5 输入/输出块

I/O引脚的数目取决于器件和封装,每个I/O都是可配置的,并且遵守大量的I/O标准。I/O可以分成宽范围(High Range,HR)或者高性能(High Performance,HP)两种类型。HR I/O提供了最宽范围的电压支持,其范围为1.0~3.3V。HP I/O被优化用于最高性能操作,其范围为1.0~1.8V。

所有I/O引脚按组(Bank)构成,每个组包含52个I/O。每个组有一个公共的Vcco为输出缓冲区供电,它也为一些输入缓冲区供电。此外,HR组能分割成两个半组,每个半组由它们自己的Vcco供电。一些单端输入的缓冲区要求一个内部的或者外部提供的参考电压(Vref)。Vref引脚可以由PCB板直接驱动,或者使用出现在每个组内的内部Vref生成器产生。

1.I/O电特性

单端输出使用传统的CMOS下拉或者上拉结构,将逻辑高驱动为Vcco或者将逻辑低驱动为地,也可以设置为高阻状态。设计者可以指定抖动率和输出强度。输入总是活动的,但是当输出是活动时,常常被忽略。每个引脚可以选择一个弱上拉或者一个弱下拉电阻。

大部分的引脚对可以配置为差分输入对或者差分输出对。差分输入引脚可以选择使用100Ω内部电阻端接。所有UltraScale结构的器件支持差分标准超过LVDS,包括:RSDS、BLVDS,差分SSTL和差分HSTL。每个I/O支持存储器I/O标准,比如:单端和差分HSTL,以及单端和差分SSTL。

一个三态的数字控制阻抗(T_DCI)能控制输出驱动阻抗(串行端接)或者能提供输入信号到Vcco的并行端接,或者分割(Thevenin)端接到Vcco/2。这样,设计者就不需要使用片外信号端接方法。除了节约空间外,当处于输出模式或者三态时,自动关闭端接。与片外端接相比,降低了系统功耗。I/O为IBUF和IDELAY提供了更好降低功耗的方式,特别是在实现存储器接口方面。

2.I/O逻辑

1)输入和输出延迟

所有的输入和输出都可以配置成组合或者寄存模式。同时,所有的输入和输出均支持双数据率(Double Data Rate,DDR)。任何一个输入和输出都可以单独配置到最大1250个ps,其分辨率为5~15个ps。实现这个延迟功能的是IDELAY和ODELAY单元。可以在配置时,设置延迟步长的数目。也可以在使用时,递增或者递减。IDELAY和ODELAY可以级联在一起,在单一方向达到两倍的延迟。

2)ISERDES和OSERDES

很多应用包含器件外的高速位串行I/O传输,以及器件内的低速并行操作。因此,这就要求在I/O逻辑内有一个串行化器和一个解串行化器。每个带有IOSERDES(ISERDES和OSERDES)的I/O能执行2、4、或者8位的串行到并行,以及并行到串行的转换。因此,这些I/O逻辑特性能用作高性能的接口,例如吉比特以太网/1000BaseX/SGMII。

1.4.6 高速串行收发器

在同一个PCB、背板和跨越较长距离的超快速串行数据传输中,高速串行收发变得日益重要。在这些传输中,其速度可以达到100G/s和400G/s的线卡。专用片上电路和差分I/O,使得能够在这样高速的条件下满足信号完整性的要求。

UltraScale结构的FPGA内,提供了两种类型的收发器,即GTH和GTY。它们按照四个一组分配,称为一个四收发器。每个串行收发器包含一个发送器和一个接收器。表1.4给出了UltraScale结构FPGA收发器的信息。

表1.4 UltraScale结构FPGA收发器的信息

参数 Kintex UltraScale Virtex UltraScale
收发器类型 GTH GTH GTY
收发器数量 16~64 20~52 0~52
最大数据率 16.3Gb/s 16.3Gb/s 32.75Gb/s
最小数据率 0.5Gb/s 0.5Gb/s 0.5Gb/s
应用例子 背板,PCI-E Gen 4 背板,PCI-E Gen 4 100G+光纤,片到片,25G+背背板

串行发送器和接收器有单独的电路,它使用高级PLL结构。通过4~25之间的可编程倍频因子,将输入参考时钟进行倍频,将其变成位串行数据时钟。每个收发器都有大量用户定义的特性和参数。这些参数可以在器件配置时设置,也可以在操作期间修改。

1.发送器

发送器的基本功能是一个并行到串行的转换器,其转换因子为:16、20、32、40、64或者80(用于GTH);16、20、32、40、64、80和128或者160(用于GTY)。这样,允许在高性能的设计中,设计者可以在数据路径宽度和时间裕度之间进行权衡。这些发送器的输出用于驱动带有单通道差分输出信号的PC板。TXOUTCLK是一个经过合理分频的串行数据时钟,可以直接将来自内部逻辑的并行数据进行寄存。输入的并行数据可以通过可选的FIFO,额外的电路用于支持8B/10B,64B/66B或者64B/67B的编码策略。位串行输出信号驱动带有差分信号的两个封装引脚。这个输出信号对有可编程的信号摆率和可编程的预加重和后加重,用于补偿PC板的损耗和其他互连特性。对于较短的通道,可以降低摆率以降低功耗。

2.接收器

发送器的基本功能是一个串行到并行的转换器,将输入的位串行差分数据转换为并行的字,其转换因子为:16、20、32、40、64或者80(用于GTH);16、20、32、40、64、80、128或者160(用于GTY)。这样允许在高性能的设计中,设计者可以在数据路径宽度和时间裕度之间进行权衡。接收器提取输入的差分数据流,将其送入可编程的DC自动增益控制、线性和判决返回均衡器(用于补偿PC板、电缆、光纤和其他互连特性)。同时,使用参

考时钟输入来初始化时钟识别(这里不需要单独的时钟线)。数据模式使用非归零码(Non-return-to-zero,NRZ)编码,以及可选的用于保证数据充分跳变的编码策略。通过使用RXUSERCLK时钟将数据传输到FPGA的内部逻辑中。对于短的通道,收发器提供了一个特殊的低功耗模式,可将功耗降低大约30%。对于DC自动增益控制、线性和判决返回均衡器,可以选择使用“自适应”来自动地理解和补偿不同的互连特性。这样,使能更高的裕度。

3.带外信号

收发器提供了带外信号,经常用于从发送器发送低速信号到接收器,而高速串行数据发送没有处于活动状态。典型地,用于低功耗模式下地连接,或者没有初始化的情况。这对于PCI-E、SATA/SAS和QPI应用来说,都是很有好处的。

1.4.7 PCI-E模块

所有UltraScale结构的FPGA集成至少一个PCI-E模块,它能配置为一个端点或者根端口。该模块遵守PCI-E基本规范3.0版本。根端口能用于构建用于兼容根联合体的基础,以允许通过PCI-E协议定制FPGA到FPGA的通信,以及添加到FPGA的ASSP设备,例如:以太网控制器或者光纤通道HBA。

设计者可充分配置这个模块,用于满足系统要求。在2.5Gb/s,5.0Gb/s或8.0Gb/s的速率下,可以配置操作1、2、4或者8个通道的数据。对于高性能的应用来说,该模块提供的高级缓冲技术提供了一个灵活的载荷,最大为1024个字节的数据。集成块到集成高速收发器的接口,用于串行连接;与BRAM的接口,用于数据缓冲。总之,这些元素用于实现PCI-E协议的物理层、数据链路层和交易层。

Xilinx提供了轻量级、可配置、容易使用的IP,它将各种构件块(PCI-E集成块、收发器、BRAM和时钟资源)集成到端点或者根设备的应用中。系统设计人员可以控制很多可配置的参数:通道宽度、最大负载大小、FPGA逻辑接口速度、参考时钟频率,以及基地址寄存器译码和过滤。

1.4.8 Interlaken集成块

一些UltraScale结构的FPGA包含了Interlaken集成块。Interlaken是一个可扩展的片到片的互连协议,其传输速度从10Gb/s到150Gb/s。该集成模块遵守Interlaken规范1.2版本,在1~12个通道上可以剥离数据和聚集数据。允许的配置是:

(1)10.3125Gb/s速率下,1~12个通道;

(2)12.5Gb/s速率下,1~12个通道;

(3)25.78125Gb/s速率下,1~6个通道。

每个模块灵活地支持最大150Gb/s的速度。使用多个Interlaken块,某些UltraScale结构的FPGA很容易可靠地实现Interlaken开关和桥。

1.4.9 Ethernet模块

UltraScale结构的FPGA内集成的100G以太网模块,该模块遵守IEEE Std802.3ba规范。提供了100Gb/s的以太网端口,带有设计者宽范围的定制和统计搜集。集成以太网模块支持10×10.3125Gb/s(CAUI)和4×25.78125Gb/s(CAUI-4)配置。此外,集成以太网模块包含100GMAX和PCS逻辑,支持IEEE Std1588v2 1-step和2-step PTP时间戳。

1.4.10 系统监控器模块

如图1.10所示,UltraScale结构的FPGA内部提供了系统监控器模块,通过片上供电传感器和温度传感器对环境的监控,扩展了系统的整体安全性和可靠性。此外,系统监控器还提供了最多17个设计者分配的外部模拟输入。系统监控器支持监控器件内部的主要供电电压(例如V CCINT 、V CCAUX 、V CCBRAM 和V CCO )。

图1.10 系统监控器框图

通过使用10位200kSPS的ADC,将传感器的输出和模拟输入数字化,并且将测量的结果保存在寄存器中。它能通过FPGA内部、JTAG或者I2C接口,访问这些结构,通过I2C接口,系统管理器/主机可以在配置前对片上监控进行访问。

1.4.11 配置模块

对于UltraScale结构的FPGA来说,SRAM类型的内部锁存器用于保存定制的配置数据。由于配置保存是易失性的,所以当FPGA上电的时候,需要重新加载数据。在任何时候,通过将FPGA的PROGRAM_B拉低,就可以重新加载保存的配置数据。UltraScale结构的FPGA有三个模式引脚,用于确定加载配置数据的方法,其他专用的配置数据引脚用来简化配置的过程。

SPI(串行NOR)接口(×1,×2,×4和双×4模式)和BPI(并行NOR)接口(×8和×16模式)是两种用于配合FPGA的非常普通的方法。设计者能将SPI或者BPI Flash直接连接到FPGA,FPGA的内部配置逻辑读取来自外部Flash的比特流,然后配置自己。在配置的过程中FPGA自动检测总线的宽度,无须使用外部控制或者开关进行识别。较大的数据宽度增加配置的速度,减少了配置FPGA需要花费的时间。

在主模式下,通过FPGA内的一个内部生成时钟,FPGA能驱动配置时钟;或者为了更高速度的配置,FPGA也可以使用一个外部的配置时钟源。这样,允许高速的配置器件。并且,容易使用主模式的特性。FPGA配置也支持从模式,其数据宽度最多到32位,这对于使用处理器驱动的配置非常有用。此外,新的媒体控制访问端口(Media Control Access Port,MCAP)提供了在PCI-E集成模块和配置逻辑之间的直接连接。这样,简化了PCI-E的配置过程。

使用SPI或者BPI Flash,FPGA可以使用不同的镜像重新配置自己。这样,无须使用外部的控制器。当数据发送过程中出现错误时,FPGA能重新加载它最初的设计,用于确保在该过程结束时FPGA可用。当最终产品出货后,对产品进行升级时,这种方法是非常有用的。

1.4.12 互连资源

在UltraScale结构的FPGA内,不同长度的垂直和水平布线资源可以跨越1、2、4、5、12或者16个CLB。这样,确保信号能很容易地从源传输到目的。因此,提供了对下一代宽总线布线(甚至是最高密度的器件)的支持。同时,也改善了结果和运行时间。 s8RyPGFnP1cWzGHufYFRFvGdvzPIUsXD7QrEYlV4S7BXNXXYQdtqYXnEPFNC9tOL

点击中间区域
呼出菜单
上一章
目录
下一章
×