0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA是什么(超级详细)

FPGA设计论坛 来源:未知 2023-06-16 17:35 次阅读

FPGA 是一种以数字电路为主的集成芯片,于 1985 年由 Xilinx 创始人之一 Ross Freeman 发明,属于可编程逻辑器件(Programmable Logic Device,PLD)的一种。这个时间比著名的摩尔定律出现的时间晚 20 年左右,但是 FPGA 一经发明,后续的发展速度之快,超出大多数人的想象。

图 1 中给出了 FPGA 芯片的实物图:

图 1 FPGA芯片实物图

FPGA 发展历程

在 PLD 未发明之前,工程师使用包含若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂的逻辑功能实现起来较为困难。

为了解决这一问题,20 世纪 70 年代,可编程逻辑阵列(Programmable Logic Array,PLA)问世,PLA 中包含了一些固定数量的与门、非门,分别组成了“与平面”和“或平面”,即“与连接矩阵”和“或连接矩阵”,以及仅可编程一次的连接矩阵(因为此处编程是基于熔丝工艺的),因此可以实现一些相对复杂的与、或多项表达式的逻辑功能,PLA 内部结构如图 2 所示:

5f90cc6a-0c28-11ee-962d-dac502259ad0.png
图 2 PLA内部结构


与 PLA 同时问世的还有可编程只读存储器(Programmable Read-Only Memory,PROM),其内部结构如图 3 所示。与 PLA 相同,PROM 内部包含“与连接矩阵”和“或连接矩阵”,但是与门的连接矩阵是硬件固定的,只有或门的连接矩阵可编程。

5fa2c76c-0c28-11ee-962d-dac502259ad0.png
图 3 PROM内部结构


若只有与门的连接矩阵可编程,而或门的连接矩阵是硬件固定的,那么这种芯片叫作可编程阵列逻辑器件(Programmable Array Logic,PAL),根据输出电路工作模式的不同,PAL 可分为三态输出、寄存器输出、互补输出,但 PAL 仍使用熔丝工艺,只可编程一次。PAL 的结构图如图 4 所示。

5fbe0c98-0c28-11ee-962d-dac502259ad0.png
图 4 PAL结构图


在 PAL 的基础上,又发展出了通用阵列逻辑器件(Generic Array Logic,GAL),相比于 PAL,GAL 有两点改进:

  • 采用了电可擦除的 CMOS 工艺,可多次编译,增强了器件的可重配置性和灵活性;

  • 采用了可编程的输出逻辑宏单元(Output Logic Macro Cell,OLMC),通过编程 OLMC 可将 GAL 的输出设置成不同状态,仅用一个型号的GAL就可以实现所有PAL器件输出电路的工作模式,增强了器件的通用性。


GAL 的结构图如图 5 所示:

5fdd8bea-0c28-11ee-962d-dac502259ad0.jpg
图 5 GAL结构图


早期的 PLD 主要由上述四种类型的芯片组成,即 PROM、PLA、PAL 和 GAL。它们的共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单,所以只能实现规模较小的数字电路。

随着科技的发展、社会的进步,人们对芯片的集成度要求越来越高。早期的 PLD 产品不能满足人们的需求,复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)诞生。可以把 CPLD 看作 PLA 器件结构的延续,一个 CPLD 器件也可以看作若干个 PLA 和一个可编程连接矩阵的集合。CPLD 的内部结构图如图 6 所示。

600248a4-0c28-11ee-962d-dac502259ad0.jpg
图 6 CPLD结构图


FPGA 比 CPLD 早几年问世,与 CPLD 并称为高密度可编程逻辑器件,但它们有着本质的区别。FPGA 芯片的内部架构并没有沿用类似 PLA 的结构,而是采用了逻辑单元阵列(Logic Cell Array,LCA)这样一个概念,改变了以往 PLD 器件大量使用与门、非门的思想,主要使用查找表和寄存器。

除此之外,FPGA 和 CPLD 在资源类型、速度等方面也存在差异,如下表所示。

表:FPGA与CPLD的性能比较
器件种类/特性 FPGA CPLD
内部结构 查找表(Look Up Table) 乘积项(Product Term)
程序存储 内部为 SRAM 结构,外挂 EEPROM 或 Flash 存储程序 内部为 EEPROM 或 Flash
资源类型 触发器资源丰富 组合逻辑资源丰富
集成度
使用场合 完成比较复杂的算法 完成控制逻辑
速度
其他资源 RAM、PLL、DSP ——
保密性 一般不能保密(可以使用加密核) 可加密


FPGA 的类型从内部实现机理来讲,可以分为基于 SRAM 技术、基于反熔丝技术、基于 EEPROM/Flash 技术。就电路结构来讲,FPGA 可编程是指三个方面的可编程:可编程逻辑块、可编程 I/O、可编程布线资源。可编程逻辑块是 FPGA 可编程的核心,我们上面提到的三种技术也是针对可编程逻辑块的技术。

FPGA 的结构图如图 8 所示。

602f0254-0c28-11ee-962d-dac502259ad0.jpg
图 8 FPGA结构图

FPGA 的技术优势

许多读者都知道 FPGA 功能强大,但它强大在哪儿?

单片机举例说明,我们都知道,单片机功能强大,几乎无所不能,而 FPGA 与之相比只强不弱。因为只要单片机能实现的功能,FPGA 就一定能实现,当然这需要加一个大前提——在 FPGA 资源足够多的情况下。但是 FPGA 能实现的功能,单片机却不一定能够轻松实现,这是不争的事实,如果你不相信,那只能说明你还不了解 FPGA。

说到这里,读者不禁要问,既然 FPGA 这么厉害,为什么单片机的使用范围更广?那是因为在商业中,价格往往是影响产品的重要因素之一。

单片机的价格要远远低于 FPGA,而且根据性能和资源的不同,FPGA 的价格也存在很大差异,单枚 FPGA 芯片的价格从几十元到几十万元不等。与之相比,单片机的价格要便宜很多,同样的功能我们如果可以用价格低廉的单片机实现,就不会选择相对昂贵的 FPGA 了,除非单片机满足不了功能需求。所以公司自己进行开发时,为了节约成本,可能会选择更加便宜的单片机,而不会选择相对昂贵的 FPGA,因为单片机、ARM 这种微处理器的需求量很大,所以价格上更有优势。

但无论是单片机、ARM 还是 FPGA,它们都只是一种帮助我们实现功能的工具,具体如何选择,需要根据具体问题具体分析。总之,没有万能的工具,只有符合生产需求的工具。我们不应对某种工具存在偏见,要综合考虑。同样,当你了解得更多的时候,你会发现这些工具都需要掌握。

FPGA 的应用场景远没有单片机和 ARM 这么多,主要针对单片机和 ARM 无法解决的问题。比如要求灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,这些工作只能由FPGA承担。

而相对于出于专门目的而设计的集成电路(Application Specific Integrated Circuit,ASIC),FPGA 具有 3 点优势:

1) 灵活性

通过对 FPGA 编程,FPGA 可以执行 ASIC 能够执行的任何逻辑功能。FPGA 的独特优势在于其灵活性,即随时可以改变芯片功能,在技术还未成熟的阶段,这种特性能够降低产品的成本与风险,在 5G 技术普及初期,这种特性尤为重要。

2) 上市时间缩短

对 FPGA 编程后即可直接使用,FPGA 方案无须经历三个月至一年的芯片流片周期,为企业争取了产品上市时间。

3) 有一定成本优势

FPGA 与 ASIC 的主要区别在于 ASIC 方案有固定成本而 FPGA 方案几乎没有,在使用量小的时候,采用 FPGA 方案无须一次性支付几百万美元的流片成本,同时也不用承担流片失败的风险,此时 FPGA 方案的成本低于 ASIC 的,随着使用量增加,FPGA 方案在成本上的优势逐渐减少,超过某一使用量后,由于大量流片产生了规模经济,因此 ASIC 方案在成本上更有优势,如下图所示:

604d0498-0c28-11ee-962d-dac502259ad0.png
图 9 FPGA方案和ASIC方案的成本比较


因此,FPGA 通常在数字信号处理、视频处理、图像处理、5G 通信领域、医疗领域、工业控制、云服务、加速计算、人工智能、数据中心自动驾驶、芯片验证等领域发挥着不可替代的作用。只有掌握了通用的 FPGA 设计方法,才能在 FPGA 独领风骚的领域中大展宏图。

FPGA的应用方向

FPGA 介于软件和硬件之间,用它做接口、做通信,它就偏向硬件;用它做算法、做控制,它就偏向软件。随着人工智能、机器视觉的崛起,FPGA 更加偏向软件算法的异构,有和 GPU 一争高下的潜力。

FPGA 与 GPU 性能对比图如图 10 所示:

606939c4-0c28-11ee-962d-dac502259ad0.jpg
图 10 FPGA与GPU的性能对比图


FPGA 软件方向:以软件开发为主,开发 FPGA 在数据分析、人工智能、机器视觉等领域的加速应用能力,主要采用 OpenCL 和 HLS 技术实现软硬件协同开发。

FPGA 硬件方向:以逻辑设计为主,针对FPGA特定领域的应用设计、集成电路设计以及芯片验证能力。

FPGA 最初的应用领域是通信领域,但是随着信息产业和微电子技术的发展,FPGA 技术已经成为信息产业最热门的技术之一,应用范围扩大,遍及航空航天、汽车、医疗、广播、测试测量消费电子工业控制等热门领域,而且随着工艺的发展和技术的进步,从各个角度开始渗透到生活当中。

60896884-0c28-11ee-962d-dac502259ad0.png

有你想看的精彩 利用FPGA开发板进行ASIC原型开发的技巧 基于FPGA实现通用异步收发器基本功能的应用设计 使用FPGA实现高效并行实时上采样

6094d69c-0c28-11ee-962d-dac502259ad0.jpg

扫码加微信邀请您加入FPGA学习交流群

60a5653e-0c28-11ee-962d-dac502259ad0.jpg60affe22-0c28-11ee-962d-dac502259ad0.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


原文标题:FPGA是什么(超级详细)

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21648

    浏览量

    601470

原文标题:FPGA是什么(超级详细)

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是超级电容?它有哪些优缺点?

    超级电容器,又称为超级电容、超电容器,是一种介于传统电解电容器和可充电电池之间的大容量电容器。它的电容值远高于其他电容,具备长寿命、高循环稳定性、宽温度范围和环境友好等诸多优点。然而,超级电容器也存在一些缺点,如电压限制和电容值
    的头像 发表于 05-24 16:39 2814次阅读

    超级电容的功能特点 超级电容的应用

    超级电容器,也称为超级电容,是一种新型的电化学储能装置,它结合了传统电容器和电池的特点,具有独特的功能和广泛的应用前景。
    的头像 发表于 04-25 15:47 980次阅读

    什么是超级电容?超级电容有什么用?

    超级电容器,也称为超级电容或电化学电容器,是一种高性能的储能设备,它介于传统电容器和充电电池之间,具有独特的储能特性。
    的头像 发表于 04-15 15:23 2438次阅读

    超级电容的储能原理是什么?超级电容器的分类

    超级电容的储能原理是什么?超级电容器的分类超级电容作为储能电容中的新成员,有着非常多的优势,正逐步取代一些年代久远的电池超级电容即具有电池的储能特性又拥有电容器的快速充放电优点,还有比
    的头像 发表于 04-01 11:24 1129次阅读
    <b class='flag-5'>超级</b>电容的储能原理是什么?<b class='flag-5'>超级</b>电容器的分类

    超级电容是什么?超级电容的性能特性

    超级电容是什么?超级电容的性能特性。超级电容是一种新型储能装置,是以石墨烯等复合材料为正极材料、在活性炭材料中包裹碳纳米管或石墨烯等导电高分子材料,利用充放电过程中的电荷迁移来储存电能,同时又能像
    的头像 发表于 03-15 09:53 1266次阅读
    <b class='flag-5'>超级</b>电容是什么?<b class='flag-5'>超级</b>电容的性能特性

    fpga是什么 fpga用什么编程语言

    更高的灵活性和可重构性。在FPGA中,用户可以通过编程来配置硬件单元之间的连接关系,从而实现所需的电路功能。接下来,我们将详细介绍FPGA的概念、应用、编程语言等方面。 一、FPGA
    的头像 发表于 02-04 15:26 1536次阅读

    超级电容器与电池存储有什么区别 超级电容和电池哪种更环保

    一些区别。在下面的文章中,我们将详细介绍这些区别,并比较超级电容器和电池哪种更环保。 首先,我们来看一下超级电容器和电池的存储原理。超级电容器是基于双电层电容效应原理工作的设备,其存储
    的头像 发表于 02-03 15:38 1142次阅读

    车载无线充用的超级电容应该怎么选?

    车载无线充用的超级电容应该怎么选? 在选择车载无线充电器使用的超级电容时,有几个关键因素需要考虑。本文将详细介绍超级电容的原理、性能指标以及选购建议,以帮助读者更好地理解和选择适合自己
    的头像 发表于 02-03 14:28 2868次阅读

    超级电容器模组的特点与优势

    超级电容器模组的特点与优势  超级电容器模组是一种先进的储能技术,具有许多独特的特点和优势。下面,我将详细介绍超级电容器模组的特点和优势。 首先,
    的头像 发表于 02-03 14:19 774次阅读

    超级电容器与传统电容器的区别 影响超级电容器性能的因素

    ,能够承担更多的储能任务。本文将详细介绍超级电容器与传统电容器之间的区别,同时探讨影响超级电容器性能的因素。 一、超级电容器与传统电容器的区别: 1. 储能方式: 传统电容器通过电场中
    的头像 发表于 02-02 10:28 2907次阅读

    超级电容的环保性、寿命、充电速度有多强?

    超级电容的环保性、寿命、充电速度有多强? 超级电容是一种具有极高能量密度和电荷/放电速度的电子设备,它在环保性、寿命和充电速度方面都具有令人印象深刻的优势。在本篇文章中,我们将详细探讨超级
    的头像 发表于 02-02 10:19 840次阅读

    超级电容能给汽车加速吗?

    超级电容器的问世,使大家好奇它的“超级”之处,究竟哪里超级,在哪些领域能体现出它的“超级”。超级电容器在很多应用领域都发挥着重大作用,无论是
    发表于 01-06 16:31

    fpga下载失败没有提示怎么办

    FPGA下载失败且没有任何提示时,这可能是由于多种原因导致的。在这篇文章中,我们将详细讨论可能的解决方法。 首先,我们需要明确的是,“FPGA下载失败”可以指多种不同的情况,例如FPGA
    的头像 发表于 01-04 10:29 1701次阅读

    LTC3355搭载的超级电容如果停掉输入端,超级电容能否长期蓄电?

    有以下几个问题: 1.LTC3355搭载的超级电容如果停掉输入端,在不需要下路放电的情况下,超级电容能否长期蓄电,是否会较快漏完,而且以3F的超级电容为例,其放电的时间是否收到LTC3355电路
    发表于 01-04 06:23

    超级电容充电电路效率分析

    超级电容充电电路是一种高性能的能量存储装置,具有快速充电和高能量密度的优势。然而,为了确保充电电路的高效率,我们需要对其进行分析和优化。本文将详细讨论超级电容充电电路的效率,并提出一些改进措施
    的头像 发表于 12-07 11:20 1364次阅读