FPGA是一种以数字电路为主的集成芯片,属于可编程逻辑器件(Programmable Logic Device,PLD)的一种;FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
本教程操作环境:windows7系统、Dell G3电脑。
fpga是什么
FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA本质也是一种芯片,是一种以数字电路为主的集成芯片。
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 所示:

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

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

图 4 PAL结构图
在 PAL 的基础上,又发展出了通用阵列逻辑器件(Generic Array Logic,GAL),相比于 PAL,GAL 有两点改进:
- 采用了电可擦除的 CMOS 工艺,可多次编译,增强了器件的可重配置性和灵活性;
- 采用了可编程的输出逻辑宏单元(Output Logic Macro Cell,OLMC),通过编程 OLMC 可将 GAL 的输出设置成不同状态,仅用一个型号的GAL就可以实现所有PAL器件输出电路的工作模式,增强了器件的通用性。
GAL 的结构图如图 5 所示:

图 5 GAL结构图
早期的 PLD 主要由上述四种类型的芯片组成,即 PROM、PLA、PAL 和 GAL。它们的共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单,所以只能实现规模较小的数字电路。
随着科技的发展、社会的进步,人们对芯片的集成度要求越来越高。早期的 PLD 产品不能满足人们的需求,复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)诞生。可以把 CPLD 看作 PLA 器件结构的延续,一个 CPLD 器件也可以看作若干个 PLA 和一个可编程连接矩阵的集合。CPLD 的内部结构图如图 6 所示。

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

图 7 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 方案在成本上更有优势,如下图所示:

图 8 FPGA方案和ASIC方案的成本比较
因此,FPGA 通常在数字信号处理、视频处理、图像处理、5G 通信领域、医疗领域、工业控制、云服务、加速计算、人工智能、数据中心、自动驾驶、芯片验证等领域发挥着不可替代的作用。只有掌握了通用的 FPGA 设计方法,才能在 FPGA 独领风骚的领域中大展宏图。
FPGA的应用方向
FPGA 介于软件和硬件之间,用它做接口、做通信,它就偏向硬件;用它做算法、做控制,它就偏向软件。随着人工智能、机器视觉的崛起,FPGA 更加偏向软件算法的异构,有和 GPU 一争高下的潜力。
FPGA 与 GPU 性能对比图如图 9 所示:

图 9 FPGA与GPU的性能对比图
FPGA 软件方向:以软件开发为主,开发 FPGA 在数据分析、人工智能、机器视觉等领域的加速应用能力,主要采用 OpenCL 和 HLS 技术实现软硬件协同开发。
FPGA 硬件方向:以逻辑设计为主,针对FPGA特定领域的应用设计、集成电路设计以及芯片验证能力。
FPGA 最初的应用领域是通信领域,但是随着信息产业和微电子技术的发展,FPGA 技术已经成为信息产业最热门的技术之一,应用范围扩大,遍及航空航天、汽车、医疗、广播、测试测量、消费电子、工业控制等热门领域,而且随着工艺的发展和技术的进步,从各个角度开始渗透到生活当中。
更多相关知识,请访问常见问题栏目!
以上是fpga是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

The use of Field Programmable Gate Array (FPGA) chips to hardware emulate games has become increasingly popular in recent years. Principally, developers have focused on leveraging FPGA chips for systems released throughout the 1980s and 1990s, includ

今天,英特尔宣布成立全新独立运营的FPGA公司——Altera。在上午举行的FPGAVision线上研讨会期间,首席执行官SandraRivera和首席运营官ShannonPoulin进行了分享,展示其在超过550亿美元的市场中保持领先性的战略规划,强调将通过打造集成AI功能的FPGA等举措,进一步丰富公司的产品组合,同时亦表明将持续助力客户应对不断增加的挑战。会上,Altera也作为新公司的品牌正式对外公布。Altera首席执行官SandraRivera表示,“现阶段

FPGA是一种以数字电路为主的集成芯片,属于可编程逻辑器件(Programmable Logic Device,PLD)的一种;FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

cpld和fpga的区别:1、结构;2、集成度;3、互连结构;4、应用范围;5、配置与安全性;6、时序延时。详细介绍:1、结构,CPLD的内部由可编程逻辑单元、可编程互连和I/O单元组成,FPGA内部由可配置逻辑块、可编程输入/输出块和可编程互连矩阵组成;2、集成度,CPLD的集成度通常较低,大多为几千门或几万门的芯片规模,相比下,FPGA的集成度较高,可以达到更高的规模等等。

本站3月6日消息,AMD近日推出了面向成本敏感型边缘应用的SpartanUltraScale+系列FPGA产品。新一代SpartanUltraScale+系列FPGA包含从SU10P至SU200P的九款产品,从低到高分别适用于I/O扩展、板卡管理、物联网与工业互联等场景,并涵盖AMD成本优化型产品中最为强大的安全功能集。AMD宣称SpartanUltraScale+在基于28纳米及以下制程技术的FPGA领域带来“业界极高的I/O逻辑单元比率”,最多包含21800个逻辑单元和572个I/O,至高支

2024年3月1日,英特尔宣布成立全新独立运营的FPGA公司——Altera。独立运营的Altera计划在未来2-3年内进行公开募股(IPO)。此前英特尔数据中心和人工智能(DCAI)事业部总经理SandraRivera担任独立运营的Altera公司首席执行官。英特尔在2015年6月以167亿美元收购Altera,被收购时Altera是全球第二大FPGA公司,九年后英特尔决定让FPGA业务独立运营,再次使用Altera作为公司名字,有种让Altera重生的味道。对于Altera的独立运营,Arr

本站3月1日消息,英特尔公司今天发布新闻稿,宣布以独立发展模式,正式成立FPGA90(现场可编程门阵列)公司Altera,并推出了包括Agilex9、Agilex7F系列和I系列、Agilex5和Agilex3等产品。Altera首席执行官SandraRivera和首席运营官ShannonPoulin公布了他们的战略,将追逐550多亿美元的市场机遇。Rivera在直播活动中表示,公司看到了重振FPGA市场的机会。她说,Altera将努力以“大胆、敏捷和以客户为中心的方法”引领市场,为不同的应用开

Analogue has once again refreshed the Pocket, roughly two months after it updated the device with aluminium options. Unfortunately, it seems that the company remains content with releasing limited-run versions of a device that it announced almost fiv

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver CS6
视觉化网页开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境