时间:2024-08-09 来源:网络搜集 关于我们 0
基于LUT的FPGA具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合的逻辑电路功能,因此其适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程输入/输出单元、基本可编程逻辑单元、内嵌SRAM、丰富的布线资源、底层嵌入功能单元、内嵌专用单元等。FPGA的主要设计和生产厂家有赛灵思、Altera、Lattice、Actel、Atmel和QuickLogic等,其中最大的是美国赛灵思公司,在可编程市场中占有50%以上的份额,比其他所有竞争对手市场份额的总和还多。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
目前,FPGA市场占有率最高的两大公司——赛灵思公司和Altera生产的FPGA都是基于SRAM工艺的,需要在使用时外接一个片外存储器以保存程序。上电时,FPGA将外部存储器中的数据读入片内RAM,完成配置后,进入工作状态;掉电后SRAM存储的数据丢失,内部逻辑消失。这样,FPGA能反复使用,且无须专门的FPGA编程器,只需配备一片存储代码的FLASH存储器即可。
Actel、QuickLogic等公司还提供反熔丝技术的FPGA,它具有抗辐射、耐高低温、低功耗和速度快等优点,在军品和航空航天领域中应用较多,但这种FPGA不能重复擦写,开发初期比较麻烦,费用也比较昂贵。Lattice是ISP技术的发明者,在小规模PLD应用上有一定的特色。赛灵思公司的早期产品一般不涉及军品和宇航级市场,但目前已经有多款产品进入该领域。
目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。
此处,我们以XC2V3000为例,介绍典型的FPGA结构图。XC2V3000拥有300万门的超大系统容量,采用0.15 μm/0.12 μm CMOS 8层金属混合工艺设计,内核电压为1.5 V,根据输入/输出参考电压的不同设计可支持多种接口标准,内部时钟频率可达420 MHz。XC2V3000的内部结构如图1-1所示,它主要由可配置逻辑(CLB)、用户可编程I/O(IOB)、Block SelectRAM、数字时钟管理模块(DCM)、数字阻抗匹配模块(DCI)和硬件乘法器等组成。其中CLB用于实现FPGA的绝大部分逻辑功能;IOB用于提供封装引脚与内部逻辑之间的接口;BlockRAM用于实现FPGA内部的随机存取,它可配置RAM、双口RAM、FIFO等随机存储器;DCM用于提供灵活的时钟管理功能;硬件乘法器用于提高FPGA的数字信号处理能力。
图1-1 Virtex系列产品XC2V3000的内部结构
1.可配置逻辑块(CLB)
如图1-2所示,XC2V3000的CLB模块由4个相同的Slice和附加逻辑构成,用于实现组合逻辑和时序逻辑。
每个Slice由2个4输入函数发生器、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包括1个异或门(XORG)与1个专用与门(MULTAND),1个异或门可以使1个Slice实现2位全加操作,专用与门用于提高乘法器的效率。进位逻辑由专用进位信号和函数复用器(MUXC)组成,共同实现快速的算术加减法操作。具体结构详见图1-3和图1-4。
图1-2 Virtex系列产品
图1-3 Virtex系列产品
图1-4 Virtex系列产品Slice结构
2.可编程输入/输出单元(IOB)
可编程输入/输出单元简称IOB,提供FPGA内部逻辑与外部封装引脚之间的接口,用于完成不同电气特性下对输入/输出信号的驱动和匹配。根据当前使用的I/O接口标准的不同,需要设置不同的接口电压V cco 和参考电压V REF 。XC2V3000的I/O引脚分布在8个Bank中,同一个Bank的接口电压V cco 必须保持一致,不同Bank的接口电压V cco 允许不同。
如图1-5所示,XC2V3000的IOB模块含有6个存储单元,可以单独配置为边沿D触发器或锁存器,也可以成对实现DDR(Double-Data-Rate)输入和DDR输出。
DDR寄存器的结构见图1-6。
3.嵌入式块RAM(BRAM)
XC2V3000的Block SelectRAM资源丰富,其单位容量为18Kb双端口RAM,可以自由设定数据宽度和深度纵横比,并支持三种并发读/写(Read-During-Write)模式。
图1-5 Virtex系列产品
图1-6 DDR寄存器结构
4.丰富的布线资源
布线资源连通FPGA内部所有的单元,IOB、CLB、BRAM、DCM等都使用相同的内连阵列。XC2V3000内部共有16条全局时钟线,用于芯片内部全局时钟和全局复位/置位的布线。24条纵横交错的长线资源实现了芯片Bank间的高速通信和第二全局时钟信号的布线。
5.底层内嵌功能单元
XC2V3000集成了丰富的内嵌功能模块,如DCM(数字时钟管理器)、DCI(数字控制阻抗)、MicroBlaze软处理器核等,使其具有软、硬件联合设计的能力,可以用有限的资源完成系统级的设计任务。