《关于XILINX系列FPGA芯片的架构性能剖析.docx》由会员分享,可在线阅读,更多相关《关于XILINX系列FPGA芯片的架构性能剖析.docx(8页珍藏版)》请在第一文库网上搜索。
1、关于XI1INX系列FPGA芯片的架构性能剖析XI11NX公司拥有多种不同系列的FPGA芯片,随着微电子技术的发展,芯片的结构与功能也发生了相应的变化。本文参考了XI1INX系列芯片的相关资料,结合微电子电路相关知识,重点针对VirteX系列芯片,从其基本结构、C1B(可配置逻辑块)、IOB(输入输出模块)、可编程内连等方面进行了详细的分析研究。最后通过比较的方式给出了各系列芯片间芯片结构以及性能上的差异。1 VirteX系列芯片基本概况VirteX系列芯片的基本电路框图结构如图1所示。它主要由可配置逻辑块(Configurab1e1OgiCB1ocks,C1B)组成的规则阵列构成内部核心部分
2、;周围是输入输出模块(Input0utputB1ocks,IOB);在管芯的四个角上有4个时钟锁相环;遍及整个芯片分布着4个通用低摆率的全局时钟分配网络;在C1B与IOB之间,有两列RAM块,分别位于左右对称的两侧,这一系列的芯片可以把配置数据存在其内部的静态存储单元中,通过这种方式可以实现无限循环次数的重复编程,存储在静态存储单元中的值控制着可配置存储单元及内连资源,这些值在上电时加载到静态存储单元中,如果需要改变系统功能时可重新对其进行配置,同时,它还提供了基于函数发生器的单皿与双端口的分布式RAMoVirtex系列芯片最多可容纳的逻辑门数为1000000,系统时钟频率可达200MHz;它
3、采用5层金属板的CMOS工艺。VersaHngC1BrersaKig图1VmeX系列奉根修绢祠2 VirteX系列芯片详细分析D输入输出逻辑块(IOB)它提供了包装引脚与内部逻辑之间的接旦界面。Virtex系列芯片的IOB的电路结构如图2所示。图2V1rfeX系列芯片DBJf结构IPHF=Ons(a)图3(a)中,电路图中左边的红色箭头表示从C1K焊盘到IO焊盘之间的延迟。T单元实现图3(b)所示延时功能,它可以决定是否对输入信号D1进行延时。若有延时,焊盘与焊盘之间的保持时间为0,但此时的建立时间增加到21ns;若无延时,保持时间为5.5ns,建立时间为2ns。所以,当延时编程器件对输入信号
4、进行的延时是以延长建立时间作为代价的,而且代价还比较大,相当于无延迟的10倍!图3(b)是相应的对输入信号是否进行延迟时的时序图。另外,输入信号对于C1K1的保持时间是0,建立时间图中未画出;C1K1对于C1K也有一个延迟,这是时钟信号通过时钟缓冲以及全局时钟分配网络在整个芯片上对时钟进行分配过程中产生的延迟。b.输出通路:图2中,输出信号可以经过输出缓冲直接输出,也可先进入寄存器然后再进行输出。每一个输出焊盘上有一个弱保持电路,它监视着焊盘上电压的微妙变化,并对之进行调整以匹配输入信号。2)可配置逻辑块(C1B)Virtex系列的C1B电路结构如图4所示。COUTCO1T/b个Tt327ZA
5、1f(AvB.IQ-!mInF4F3)1-iI1xI!图4Vg系列芯片C1B结构C1B的基本组成单元为1C(逻辑单元)。图中列出了两个1C,每个1C包括两个4输入的函数发生器、两个进位逻辑和两个存储单元。a.1UT与函数发生器。函数发生器被用来实现一个4输入的查找表,每个查找表可提供一个16X1bit的同步RAM,或形成一个可以存储随机的突发的快速数据的16bit的移位寄存器;同一个1C中的两个部分可组合成一个16X2-bit或32X1-bit的同步RAM,或者组成一个16X1-bit的双端口的同步RAMob.存储单元。它可以被配置成D边沿触发器或者电平敏感的琐存器,输入可以是1UT的输出也可
6、是直接来自于1C的输入信号,旁路掉函数发生器。c.快速进位逻辑。为高速算术函数的运算提供了快速运算进位功能,它支持两个独立的进位链。3)RAM块Virtex系列中包含64个C1B的芯片中每列有16个RAM块,所以共有32个RAM块。每一个RAM块都是完全同步的双端口的4096-bit的。每个端口都有独立的配置信号,且每个端口的数据宽度都是各自独立配置的。4)可编程的布线阵列包括以下几种布线。a.局部布线:VirteX系列的局部布线有三种方式的连接,即:1UT、触发器、常规布线矩阵(GRM)之间的连接;C1B内部把同一个C1B的输出反馈回来作为自身11JT输入的连接,这种连接提供了最小的延时;在
7、相邻的C1B间提供水平连接,这种连接消除了信号在GRM中的延迟。这三种方式如图5所示。到邻近GRM到邻近的GRM到邻近的(;RMb.常规布线:VirteX系列中在C1B的通道中,水平与竖直方向各有24根单长线连入GRM中,通过GRM中的可编程开关实现是否互连,以实现C1B间的互连;四个方向各有12条带缓冲的16进制线每跨过6个C1B从一个GRM汇入下一下GRM;每个C1B分别在水平与竖直方向相邻着12根带缓冲的双向的长线,长线的长度与C1B区域的长或宽相同。c.IO布线:这是一种在芯片的周围附加的布线资源,它提供了C1B阵列与IOB的交换界面,称为多功能环,同时,除了能把IoB与C1B连接起来
8、之外,还可以实现引腿之间信号的交换。d.直接连线:一些信号需要专门的连线来达到最优性能的实现,直接连线便实现了这一目的,在VirteX芯片中,有两类这样的信号:在两个独立网络中,每个C1B传输进位信号给相邻的C1B;水平布线资源在一个通道内提供4条三态总线来与C1B交换信号。e.全局布线:它为时钟及其实遍及整个芯片的多崩出信号提供分配通路。VirteX包括两类全局布线资源:主全局布线与次全局布线。主全局布线由4个以最小摆率来分配高扇出时钟信号的有专门输入引脚的全局网络构成。次全局布线包括24条主干线,12条穿过芯片上端,12条通过芯片下端,通过这些线,每一个C1B列中可以有12条信号分布式地通
9、过这列中的12条长线。5)时钟分配通过主全局布线VirteX在整个芯片上提供高速、低摆率的时钟分配。典型的时钟分配如图6所示。它提供了4个全局时钟缓冲器,4个专门的时钟焊盘分别与每一个全局时钟缓冲器相匹配,全局缓冲的输入可以来自于这些焊盘,也可以来自于常规布线。G1oba1C1ockSpineGC1KPADIGC1KB1卜13CIN71)2GC1KB1F2.1.1r.1.G1oba1C1ockC)1iGC1KpM)3r.1.1GC1KB1F3(Joba1CIimkR图bV1rtRK;片典型的附乙A配GC1KPA1)0GC1KB,时钟延迟琐定环。与每一个全局时钟缓冲器相关联的是全数字的延迟琐定环
10、,它可以有效地消除时钟输入焊盘与遍及整个芯片的时钟输入之间的摆率。每个D11可驱动两个全局的时钟网络,D11监视着总时钟信号与被分配开的时钟信号,自动调整时钟延迟因素,它可以精确地实现从时钟从焊盘输入至其边沿到达内部触发器时延迟1-4个时钟周期的功能。这个闭合的环通过确保时钟边沿同步到达内部触发器来有效地消除时钟分配延迟。为了保证系统时钟在配置完毕刚开始启动FPGA时能够正常工作,D11可以延迟配置的完成直到它已经琐定了时钟为止。3结束语本文仅给出了VirteX系列芯片的内部基本结构与性能分析。现结合本文分析,对XI1INX其它各系列芯片结构与性能进行如下比较。器件容量与系统速度的提高。在芯片
11、所容纳的晶体管的门数上由较早XC3000系列的最高7500门的容量到SPartan-II系列的200000门直至Virtex系列的IOOoOOo门容量;在系统的时钟速度上由原来的不足百兆到最后的200多兆,实现了质的飞跃。与C1B相关的内置器件功能的增多。XC4000在XC3000的基础上,增加了快速进位逻辑,从而提高了器件进行多种逻辑运算的能力与速度。IOB方面。XC4000的IOB中除了对输出配置较3000更加灵活外,还增加了一个输出的MUX,它可以在输出通路中实现多种基本的函数运算;而在Spartan-II系列与Virtex系列的IOB中则更加强了对延时的控制,通过专有的延时电路可以实现信号与时钟的良好匹配。系统内连方面,Spartan-II系列与VirteX系列的内连,连接方式比XC4000更加条理化与模块化,随着器件内部时钟的大量使用,这两系列把时钟的分配单独划分出一系统,建立了单一的时钟分配网络。