FPGA基本原理
FPGA基本可编程单元的配置是一个寄存器和一个查找表,但是不同的厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不相同。
一般来说,将1个Register与一个LUT(Look-up-table)组合起来,称为1个LE(Logic Element )或者LC(Logic Cell),逻辑单元。
-
Lattice的底层逻辑单元叫做PFU(Programmable Function Unit,可编程功能单元),它由8个LE构成,每两个LE被称为Slice;
-
Xilinx的可编程单元叫Slice,它是由上下两个LC构成;
-
Altera某些FPGA将10个LE组合起来,称为逻辑阵列模块(LAB,Logic Array Block)。
不论PFU、Slice还是LAB,他们中除了LE外,还配有进位链、控制信号、局部互联线资源、级联链等连线与控制资源,从而通过组合完成复杂的组合和时序逻辑。
上图为FPGA基本可编程简化图,实现下面四种功能
- 信号直连
- 只使用LUT,实现组合逻辑
- 只使用Register,实现信号打拍
- 使用LUT和Register,实现时序逻辑
使用LUT和Register,实现时序逻辑