时间:2024-08-09 来源:网络搜集 关于我们 0
最近狼哥搜罗了一些资料,把xilinx FPGA芯片的底层资源捋了一下,今天和大家分享下。
以Xilinx家的FPGA为例,FPGA的底层资源一般包含可编程输入输出单元(IOB),可编程逻辑单元(CLB),完整的始终管理(CMT),嵌入块状RAM(BRAM),布线资源以及底层内嵌的专用功能单元,下图右边就是FPGA资源排列的样子。
IOB
IOB:可编程输入输出单元,可以分为HP Bank (High Performance) ,高速设计,最高电压1.8V;HR Bank (High Range),可以支持到3.3V。可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大 小,可以改变上、下拉电阻。目前,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbps的数据速率。CLB
可配置逻辑块(CLB),CLB是FPGA内的基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个) 相同的Slice和附加逻辑构成,每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。CLB根据包含资源的不同可以分成CLBLM和CLBLL,它们两个的区别在于CLBLM的LUT可以配置成分布式RAM,而CLBLL的不行。SLICE
Slice是Xilinx公司定义的基本逻辑单位,Slice由查找表、函数复用器进位 逻辑、算术逻辑、存储逻辑组成。算术逻辑包括一个异或门(XORG)和一个专用与门(MULTAND),一个异或门可以使一个Slice实现2bit全加操作,专用与门用于提高乘法器的效率;
进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作,用于提高CLB模块的处理速度;6输入函数发生器用于实现6输入LUT、分布式RAM或64比特移位寄存器。LUT
不论是 SLICEL还是SLICEM,他们的 LUT6 都可以作为ROM使用,配置为:64x1 (占用 1 个 LUT6,64 代表深度,1 代表宽度)128x1(占用 2 个 LUT6,128 代表深度,1 代表宽度)256X1(占用 4 个 LUT6,256 代表深度,1 代表宽度)但SLICEM中的LUT还可以配置为移位寄存器,每个LUT6可实现深度为32的移位寄存器,且同一个SLICEM中的4xLUT6可级联实现128深度的移位寄存器。此外既然 SLICEM中的M代表memory的意思,所以增加了更多存储功能。可以配置为 RAM,尤其指分布式RAM(DRAM/LUTRAM)。MUX
MUX:实现更多位的数据选择器,1个LUT6可以组成一个4:1MUX,LUT6中的4个输入作为4选1的输入端,LUT6的另外2个输入作为选择器的选择端。MUX将LUT6组合到一起可以实现更多路的数据选择器。CARRY&FF
CARRY
进位链用于实现加法和减法运行。可以看到它内部实际还包含多个MUX和2输入异或门(XOR)。
Flip-Flop (触发器)
每个SLICE中有多个触发器。触发器可分为两大类:
1.边沿敏感的D触发器(Flip-Flop)
2.电平敏感的锁存器(Flop&Latch)
CMT
BRAM
布线资源
底层内嵌专用功能单元
*******往期精彩文章列表********FPGA图像无极缩放.Demo2FPGA图像无极缩放.Demo1FPGA图像算法.无极缩放基于Zynq的图像处理入门课程FPGA图像算法.导向滤波点击上面链接查看详情报名微信号:MyWork666888 QQ交流群:539625033