FPGA:基于查找表,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。 1. 可编程输入输出单元(IOB) 可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。 FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。 2. 可配置逻辑块(CLB) CLB是FPGA内的基本逻辑单元。每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个)相同的Slice和附加逻辑构成。CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和ROM。Slice是Xilinx公司定义的基本逻辑单位,一个Slice由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。 3. 数字时钟管理模块(DCM) DCM的功能包括消除时钟延迟,频率综合,时钟相位综合,可降低时钟的抖动,实现时钟零偏移,对时钟进行分频,倍频,消抖,去偏移,尤其是在全局时钟树综合时,可将IBUFG,DCM,BUFG联合使用。 4. 嵌入式块RAM(BRAM) 用于存储和交换数据。块RAM可被配置为单端口RAM、双端口RAM、ROM、内容地址存储器 (CAM)以及FIFO等常用存储结构。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入 CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。 5. 丰富的布线资源 布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。全局布线资源,芯片内部全局时钟和全局复位/置位;长线资源,芯片Bank间的高速信号和第二全局时钟信号;短线资源,基本逻辑单元之间的逻辑互连分布式的布线资源,专有时钟、复位等控制信号线。 6. 底层内嵌功能单元(软核) (厂家预先设计好的经过严格测试和优化过的IP) 内嵌功能模块主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理器核(Soft Core)。DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。 7. 内嵌专用硬核 指FPGA处理能力强大的硬核(Hard Core),包含专用乘法器,浮点运算单元,串并收发器,ARM等硬核。
|