Xilinx的FPGA的根本结构是相同的,主要由6部分组成,分别为可编程输入/输出单元、根本可编程逻辑单元、嵌入式块RAM、丰厚的布线资源、底层嵌入功用单元和内嵌专用硬核等。
但跟着半导体工艺的开展,FPGA的逻辑容量越来越丰厚,速度更快,嵌入越来越多的硬核了,比方:ARM处理器,PCIe, ETHERNET等。在制程工艺上,Xilinx的7系列FPGA选用28 nm工艺,UltraScale选用20nm, UltraScale+ 选用16nm,每一代工艺的可用资源,比上一代就翻了一倍。
Xilinx的FPGA是依据SRAM的查找表(LUT look up table)技能,所以需求上电后重新装备。从外部非易失性存储器中读数,经过装备操控器加载到内部装备SRAM 中。
FPGA结构:
可编程I/O(输入/输出单元)
可编程I/O支撑不同的IO引脚装备:IO规范、单端或差分、电压转化速率和输出强度、上拉或许下拉电阻、数控阻抗(DCI),可以运用IODELAY元件做输出推迟。
可装备逻辑块CLB(configure logic block)
可装备逻辑块是指完结各种逻辑功用的电路,是xilinx根本逻辑单元。在Xilinx FPGA中,每个可装备逻辑块包括2个Slice。每个Slice 包括查找表、寄存器、进位链和多个大都选择器构成。而Slice又有两种不同的逻辑片:SLICEM和SLICEL。SLICEM有多功用的LUT,可装备成移位寄存器,或许ROM和RAM。逻辑片中的每个寄存器可以装备为锁存器运用。
布线资源
布线资源用来连通FPGA内部的一切单元,而连线的长度和工艺决议着信号在连线上的驱动才能和传输速度。FPGA芯片内部有着丰厚的布线资源,依据工艺、长度、宽度和散布方位不同而划分为4类不同的类别。
第一类是大局布线资源,用于芯片内部大局时钟和复位/置位的布线;第二类是长线资源,用于完结Bank间的高速信号;第三类是短线资源,用于完结根本逻辑单元之间的逻辑互联和布线;第四类是散布式布线资源,用于专有时钟、复位等操控信号线。
时钟资源
时钟资源分为大局时钟资源、区域时钟资源和I/O时钟资源。
(1)大局时钟网络是一种大局布线资源,它可以确保时钟信号抵达各个方针逻辑单元的时延根本相同。
(2) 区域时钟网络是一组独立于大局时钟网络的时钟网络。
(3) I/O时钟资源可用于部分I/O串行器/解串器电路规划。关于源同步接口规划特别有用。
嵌入存储器
Xilinx FPGA的嵌入式存储器有两种类型:专用Block RAM(BRAM)和可装备成为散布式RAM的LUT。BRAM(Block RAM)是双端口的RAM,数量因器材而定,每个Virtex-4 BRAM 可存储18Kbit的数据,支撑同步读写操作,两个端口对称且彻底独立,同享数据,每个端口可以依据需求改动其位宽和深度。BRAM可以装备为单端口RAM、双端口RAM、内容可寻址存储器(CAM)以及FIFO等。BRAM供给专用的操控逻辑完结同步/异步FIFO,其间的操控逻辑如计数器,比较器和状况符号等不会占用额定的CLB资源。
在FIFO形式下,BRAM的端口A是读端口,端口B是写端口。对数据流操作是主动的,用户不用关怀BRAM的编址次序,当特别使用需求时引出WRCOUNT和RDCOUNT。用户需求检测FULL和EMPTY符号。可以设置这两个符号值,将其装备到FIFO地址段内的任何方位。
内嵌专用硬核
FPGA除以上的资源和功用模块外,还有时钟办理(MMCM):数字时钟办理模块(DCM)与相位匹配时钟分频器(PCMD),DSP模块等。 DSP模块可供给高性能、低功耗的运算单元。它可以完结乘法-累加单元。还供给了专用的收发器模块,完结串行器/解串器(SerDes)功用,比方RocketIO模块,以太网模块(Ethernet MAC)模块,ARM核。
总归,跟着FPGA的内部资源会变得越来越丰厚,不仅在本来的在网络、电信、医疗、工业等多个范畴有广泛的使用,并且在数据中心,云核算等新范畴中进一步开疆拓土。