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。逻辑片中的每个寄存器可以配置为锁存器使用。