FPGA核心板内部各类型资源总结(xilinx)

1 查找表LUT

FPGA是基于查找表的设计电路,查 找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4 位地址线的 的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

2 逻辑单元(logic cell)

 Spartan-6 FPGA logic cell ratings reflect the increased logic capacity offered by the new 6-input LUT architecture.

一个逻辑单元(logic cell) 包含了一个查找表,一个触发器和与附近单元的连接电路。查找表使用组合逻辑实现了一个6输入的逻辑表达式(与,或,与非,加等)。

3 逻辑片(logic slice)

 Each slice contains four LUTs and eight flip-flops.

每个片包含四个LUT和八个触发器。slice是由LUT,FF和MUX组成的。
4 可配置逻辑模块(configurable logic block CLB)

一个可配置逻辑模块(configurable logic block CLB) 包含一个可配置开关矩阵,此矩阵有选型电路(多路复用器),触发器和4或6输入LUT组成。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个)相同的slice和附加逻辑构成。每个CLB模块不仅可以用于实现组合逻辑和时序逻辑,还可以配置为分布式RAM和分布式ROM。在xilinx 7系列中,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成。

5 门(Gate)

Equivalent ASIC gate count is dependent of the function implemented. The assumption is 1 Logic Cell = ~15 ASIC Gates.
           门(Gate) 的数量用来表示内存模块,逻辑单元,乘法器等资源的总数。需要注意的是,FPGA中的门数并不等同于ASIC中门数,例如,FPGA中的1 Logic Cell = ~15 ASIC Gates。
 
6 DSP48A1 Slices

 Each DSP48A1 slice contains an 18x18 multiplier, an adder, and an accumulator.

每个DSP48A1 Slice包含一个18x18乘法器,一个加法器和一个累加器。

7 Clock Management Tiles (CMT)

 Each CMT contains two DCMs and one PLL

每个CMT包含两个DCM和一个PLL。DLL是基于数字抽样方式,在输入时钟和反馈时钟之间插入延迟,使输入时钟和反馈时钟的上升沿一致来实现的。又称数字锁相环。PLL使用了电压控制延迟,用VCO来实现和DLL中类试的延迟功能。又称模拟锁相环。功能上都可以实现倍频、分频、占空比调整,但是PLL调节范围更大,比如说:XILINX使用DLL,只能够2、4倍频;ALTERA的PLL可以实现的倍频范围就更大毕竟一个是模拟的、一个是数字的。两者之间的对比:对于PLL,用的晶振存在不稳定性,而且会累加相位错误,而DLL在这点上做的好一些,抗噪声的能力强些;但PLL在时钟的综合方面做得更好些。总的来说PLL的应用多,DLL则在jitter power precision等方面优于PLL。Xilinx芯片DLL的模块名称为CLKDLL,在高端FPGA中,CLKDLL的增强型模块为DCM(Digital Clock Manager)。

 8 分布式RAM和 BLOCK RAM的选择遵循以下方法:

  • 小于或等于64bit容量的的都用分布式实现
  •  深度在64~128之间的,若无额外的block可用分布式RAM。 要求异步读取就使用分布式RAM。数据宽度大于16时用block ram.  
  • 分布式RAM有比block ram更好的时序性能。 分布式RAM在逻辑资源CLB中。而BLOCK RAM则在专门的存储器列中,会产  生较大的布线延迟,布局也受制约。

参考文章:https://blog.csdn.net/times_poem/article/details/51698961

你可能感兴趣的:(总结,FPGA)