本次介绍的FPGA底层架构是基于xilinx 7系列芯片。7系列FPGA逻辑部分由逻辑片和可配置逻辑块(ConfigurableLogic Block,CLB)组成的,另外还有用于接口的输入/输出块(Input/ OutputBlock,IOB)(注意这些都是Xilinx专有的术语)。
1.CLB(可配置逻辑块):
CLB是逻辑单元的小规模、普通编组,在PL中排列为一个二维阵列,通过可编程互联连接到其他类似的资源。每个CLB里包含两个逻辑片,并且紧邻一个开关矩阵,如下图所示:
1.1 Slice(片):
片(Slice) :CLB里的一个子单元,里面有实现组合和时序逻辑电路的资源。如图2.6所示,Zynq的片是由4个查找表、8个触发器和其他一些逻辑所组成的。 片(片)-clb里的一个子单元,里面有实现组合和时序逻辑电路的资源.如图2.6所示,Zynq的片是由4个查找表、8个触发器和其他一些逻辑所组成的。
1.2 LUT(查找表)
LUT(Lookup Table,查找表):一个灵活的资源,可以实现(一)至多6个输入的逻辑函数;((二)一小片只读存储器(ROM) ;(三)一小片随机访问存储器(RAM);或(四)一个移位寄存器。LUT可以按需组合起来形成更大的逻辑函数、存储器或移位寄存器。
1.1.3 FF(触发器)
FF(Flip-flop,触发器):一个实现1位寄存的时序电路,带有复位功能。FF的一种用处是实现锁存。
2. IOB(输入输出块)
IOB(Input/Output Blocks,输入输出块):IOB实现了PL逻辑资源之间的对接,并且提供物理设备“焊盘”来连接外部电路。每个IOB可以处理一位的输入或输出信号。IOB通常位于芯片的周边。每个IOB还包含一个IOSERDES资源,可以做并行和串行数据的可编程转换(串行化和反串行化),数据可以是2位到8位的。
3. DSP48:加减乘法器。
4.MMCM:
一个CMT包括了一个MMCM(Mixed-mode Clock Manager)和一个PLL(Phase-locked loop)。PLL的功能是MMCM的一个子集。
5. BARM
一个RAM块由两个18KRAM组成。
6. IDELAY
主要用于调整I/O时序延迟,比如调整ADC采集时钟和ADC采集数据I/O之间的时序关系等等。
7. SERDESE
高速串行通信经常需要用到 XILINX FPGA 内部专用的 SERDESE 模块来实现串并转换。LVDS 配合 SERDESE可以充分发挥 FPGA 的高速接口优势。SERDESE 分输入和输出,输入采用 ISERDESE, 输出采用 OSERDESE,OSERDESE 的使用要比 ISERDESE 简单。