当前位置:首页 > 新闻资讯 > FPGA之家动态 >

现场可编辑逻辑门阵列(FPGA)

时间:2025-08-30      来源:FPGA_UCY 关于我们 0

定义概述

FPGA 是 Filed Programmable Gate Array 的缩写,即现场可编程逻辑阵列。FPGA 是在 CPLD 的基础上发展起来的新型高性能可编程逻辑器件,一般采用 SRAM 工艺,也有一些专用器件采用 Flash 工艺或反熔丝(Anti-Fuse)工艺等。FPGA 的集成度很高,其器件密度从数万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。

FPGA技术_FPGA定义概述_FPGA发展历史阶段

FPGA示意图,来源:https://www.intel.com/content/www/us/en/programmable/documentation/ewa1437420465656.htmlFPGA的发展历史

FPGA 器件自问世以来,已经经过了几个不同的发展阶段。驱动每个阶段发展的因素都是工艺技术和应用需求。正是这些驱动因素,导致器件的特性和工具发生了明显的变化。FPGA 经历了如下几个时代:

赛灵思于 1984 年发明了世界首款 FPGA,那个时候还不叫 FPGA,直到 1988 年 Actel 才让这个词流行起来。接下来的 30 年里,这种名为 FPGA 的器件,在容量上提升了一万多倍,速度提升了 一百倍,每单位功能的成本和能耗降低了一万多倍!

FPGA发展历史阶段_FPGA技术_FPGA定义概述

与 1988 年的赛灵思 FPGA 特征对比。价格和功耗降低一万倍 来源:https://www.21ic.com/news/rf/201701/701760.htm

发明时代:1984-1992 年

首款 FPGA,即赛灵思 XC2064,只包含 64 个逻辑模块,每个模块含有两个 3 输入查找表 (LUT) 和一个寄存器。按照现在的计算,该器件有 64 个逻辑单元——不足 1000 个逻辑门。尽管容量很小,XC2064 晶片的尺寸却非常大,比当时的微处理器还要大;而且采用 2.5 微米工艺技术勉强能制造出这种器件。

扩展时代:1992-1999 年

FPGA 初创公司都是无晶圆厂的公司,在当时属于新鲜事物。由于没有晶圆厂,他们在上世纪 90 年代初期通常无法获得领先的芯片技术。因此 FPGA 开启了扩展时代,此时落后于 IC 工艺的发展。到上世纪 90 年代后期,IC 代工厂意识到 FPGA 是理想的工艺发展推动因素,由此 FPGA 成为扫除工艺发展障碍的利器。代工厂只要能用新工艺产出晶体管和电线,就能制造基于 SRAM 的 FPGA。每一代新工艺的出现都会将晶体管数量增加一倍,使每功能成本减半,并将最大 FPGA 的尺寸增大一倍。化学-机械抛光(CMP)技术允许代工厂在 IC 上堆叠更多金属层,使 FPGA 厂商能够大幅增加片上互联,以适应更大的 LUT 容量(如下图)。

FPGA发展历史阶段_FPGA技术_FPGA定义概述

FPGA LUT 和互连线路的增加。线路长度以数百万晶体管间距来测量。

积累时代:2000-2007 年

新千年伊始,FPGA 已成为数字系统中的通用组件。容量和设计尺寸快速增加,FPGA 在数据通信领域开辟了巨大市场。2000年代初期互联网泡沫破灭之后,迫切需要降低成本,这也减少了很多“临时”ASIC 用户。定制芯片对小的研发团队来说风险太大。当他们发现FPGA可以解决他们的问题,自然他们就变成了 FPGA 用户。

FPGA 问题不局限于典型问题,单纯提高容量不足以保证市场增长。FPGA 厂商通过如下两种方式解决了这一挑战。针对低端市场,厂商再度关注效率问题,并生产低容量、低性能、“低成本”的 FPGA 系列,例如赛灵思 Spartan® FPGA 系列。针对高端市场,FPGA 厂商通过开发针对重要功能的软逻辑 (IP) 库,努力让客户更方便地填充最大的 FPGA。这些软逻辑功能中最值得注意的是存储器控制器、各种通信协议模块(包括以太网 MAC),甚至软微处理器(如赛灵思 MicroBlaze™ 处理器)。

FPGA定义概述_FPGA发展历史阶段_FPGA技术

MicroBlaze 硬件架构图他,来源:http://xliinx.eefocus.com/book/08-05/423741211286777.html

系统时代:2008 年以后

为解决系统设计问题,FPGA 越来越多地整合系统模块:高速收发器、存储器、DSP 处理单元和完整处理器。同时还进一步集成了重要控制功能:比特流加密与验证、混合信号处理、电源与温度监控以及电源管理等。这些特性在 Zynq All-Programmable 器件中得到了充分体现。同时,器件也推动了工具的发展。系统 FPGA 需要高效的系统编程语言,现可利用 OpenCL 和 C 语言以类似软件的流程来编程。

可编程性的基本价值已经为业界所共识,小型、高效的逻辑操作可加速很多重要算法并降低功耗,FPGA 技术会持续存在, 并不断发展演进。

可编程逻辑器件的分类

广义上讲,可编程逻辑器件是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。目前常用的可编程逻辑器件主要有简单的逻辑阵列(PAL/GAL)、复杂可编程逻辑器件(CPLD)和现场可编程逻辑阵列(FPGA)等 3 大类。

1、PAL/GAL

PAL 是 Programmable Array Logic 的缩写,即可编程阵列逻辑;GAL 是 Generic Array Logic 的缩写,即通用可编程阵列逻辑。PAL/GAL 是早期可编程逻辑器件的发展形式,其特点是大多基于 E 2 CMOS 工艺,结构较为简单,可编程逻辑单元多为与阵列和或阵列,可编程单元密度较低。但是它们一出现即以其低功耗、低成本、高可靠性、软件可编程、可重复更改等特点引发了数字电路领域的巨大振动。虽然目前较复杂的逻辑电路一般使用 CPLD 甚至 FPGA 完成,但是对于很多简单的数字逻辑,GAL 等简单的可编程逻辑器件仍然被大量使用。

目前,国内外很多对成本十分敏感的设计都在使用 GAL 等低成本可编程逻辑器件,越来越多的 74 系列逻辑电路被 GAL 取代。GAL 等器件发展至今已经 20 多年,新一代的 GAL 以功能灵活、小封装、低成本、重复可编程、应用灵活等优点仍然在数字电路领域扮演着重要的角色。目前,比较大的 GAL 器件供应商主要是 Lattice 半导体。

2、CPLD

CPLD 是 Complex Programmable Logic Device 的缩写,即复杂的可编程逻辑器件。Altera 为了突出特性,曾将自己的 CPLD 器件称为 EPLD(Enhanced Programmable Logic Device),即增强型可编程逻辑器件。其实 EPLD 和 CPLD 属于同等性质的逻辑器件,目前 Altera 为了遵循称呼习惯,已经将其 EPLD 统称为 CPLD。CPLD 是在 PAL、GAL 的基础上发展起来的,一般采用 E2CMOS 工艺,也有少数厂商采用 Flash 工艺,其基本结构由可编程 I/O 单元、基本逻辑单元、布线池和其他辅助功能模块构成。CPLD 可实现的逻辑功能比 PAL 和 GAL 有了大幅度提升,一般可以完成设计中较复杂、较高速度的逻辑功能,如接口转换、总线控制等。CPLD 的主要器件供应商有 Altera、Lattice 和 Xilinx 等。

FPGA技术_FPGA发展历史阶段_FPGA定义概述

CPLD产品图,来源:http://www.hseda.com/product/DSP/DSP&CPLD/DSP&CPLD.HTM3、FPGA

FPGA 是 Filed Programmable Gate Array 的缩写,即现场可编程逻辑阵列。FPGA 是在 CPLD 的基础上发展起来的新型高性能可编程逻辑器件,一般采用 SRAM 工艺,也有一些专用器件采用 Flash 工艺或反熔丝(Anti-Fuse)工艺等。FPGA 的集成度很高,其器件密度从数万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。FPGA 的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式块 RAM、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等。FPGA 的主要器件供应商有 Xilinx、Altera、Lattice、Actel 和 Atmel 等。

FPGA的基本结构

FPGA 的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式块 RAM、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等,如下图所示:

FPGA定义概述_FPGA技术_FPGA发展历史阶段

FPGA的基本结构

每个单元的基本概念介绍如下:

(1) 可编程输入/输出单元

输入/输出(Input/Output)单元,简称 I/O 单元,它们是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求。为了使 FPGA 有更灵活的应用,目前大多数 FPGA 的 I/O 单元被设计为可编程模式,即通过软件的灵活配置,可以适配不同的电气标准与 I/O 物理特性;可以调整匹配阻抗特性,上/下拉电阻;可以调整输出驱动电流的大小等。

可编程 I/O 单元支持的电气标准因工艺而异,不同器件商不同器件族的 FPGA 支持的 I/O 标准也不同,一般说来,常见的电气标准有 LVTTL、LVCMOS、SSTL、HSTL、LVDS、LVPECL 和 PCI 等。值得一提的是,随着 ASIC 工艺的飞速发展,目前可编程 I/O 支持的最高频率越来越高,一些高端 FPGA 通过 DDR 寄存器技术,甚至可以支持高达 2Gbit/s 的数据速率。

FPGA发展历史阶段_FPGA技术_FPGA定义概述

I/O接口示意图,来源:http://www.inwaishe.com/thread-16893-1-1.html(2) 基本可编程逻辑单元

基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA 一般是基于 SRAM 工艺的,其基本可编程逻辑单元几乎都是由查找表(LUT,Look Up Table)和寄存器(Register)组成的。FPGA 内部查找表一般为 4 输入(注:Altera Stratix Ⅱ 的自适应逻辑模块 ALM 结构比较特殊),查找表一般完成纯组合逻辑功能。FPGA 内部寄存器结构相当灵活,可以配置为带同步/异步复位或置位、时钟使能的触发器(FF,Flip Flop),也可以配置成为锁存器(Latch)。

FPGA定义概述_FPGA发展历史阶段_FPGA技术

逻辑电路与查找表对应图,来源:http://www.eepw.com.cn/article/201706/349482.htm

FPGA 一般依赖寄存器完成同步时序逻辑设计,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但是不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。例如,Altera 可编程逻辑单元通常被称为 LE(Logic Element,逻辑单元),由一个 Register 加一个 LUT 构成。Altera 的大多数 FPGA 将 10 个 LE 有机地组合起来,构成更大的功能单元――逻辑阵列模块(LAB,Logic Array Block),LAB 中除了 LE 还包含 LE 间的进位链、LAB 控制信号、局部互联线资源、LUT 级联链、寄存器级联链等连线与控制资源。

(3) 嵌入式块 RAM。

目前大多数 FPGA 都有内嵌的块 RAM(Block RAM)。FPGA 内部嵌入可编程 RAM 模块,大大地拓展了 FPGA 的应用范围和使用灵活性。FPGA 内嵌的块 RAM 一般可以灵活配置为单端口 RAM(SPRAM,Single Port RAM)、双端口 RAM(DPRAM,Double Ports RAM)、伪双端口 RAM(Pseudo DPRAM)、CAM(Content Addressable Memory)、FIFO (First In First Out)等常用存储结构。

FPGA技术_FPGA定义概述_FPGA发展历史阶段

FPGA中双端口RAM示意图(4) 丰富的布线资源。

布线资源连通 FPGA 内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA 内部有着非常丰富的布线资源,这些布线资源根据工艺、长度、宽度和分布位置的不同而被划分为不同的等级。

有一些是全局性的专用布线资源,用以完成器件内部的全局时钟和全局复位/置位的布线;一些叫作长线资源,用以完成器件 Bank(分区)间的一些高速信号和一些第二全局时钟信号(有时也被称为 Low Skew 信号)的布线;还有一些叫作短线资源,用以完成基本逻辑单元之间的逻辑互联与布线;另外,在基本逻辑单元内部还有着各式各样的布线资源和专用时钟、复位等控制信号线。

FPGA发展历史阶段_FPGA技术_FPGA定义概述


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言