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

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

3天内不再提示

fpga是什么

科技观察员 来源:京电港商城 作者:京电港商城 2023-07-15 16:32 次阅读

现场可编程门阵列 (FPGA) 是数字IC集成电路),使硬件设计工程师能够根据他们的要求对定制的数字逻辑进行编程。术语“现场可编程”意味着IC的数字逻辑在其制造(或制作)期间不是固定的,而是由最终用户(设计人员)编程。

为了提供这种可编程性,FPGA由可配置(或可编程)逻辑块和这些块之间的可配置互连组成。FPGA的这种可配置逻辑和互连(路由)使其具有通用性和灵活性,但是,与具有标准单元的类似口径ASIC相比,它们速度相对较慢且耗电。

自FPGA进入市场以来,已经过去了30多年,在这漫长的跨度中,它们经历了巨大的技术进步,并获得了不断增长的普及。

需要注意的是,虽然类似于PLD,但PLD(现场可编程门器件)仅限于数百个门,而FPGA支持数千个门。

FPGA组成

通用FPGA由三种类型的模块组成,分别是:

可编程逻辑单元(或CLB)——负责实现核心逻辑功能。

可编程路由——负责连接逻辑块。

IO块——通过路由连接到逻辑块并帮助建立外部连接。

下面是一个非常广义的FPGA典型内部结构示意图:

pYYBAGMEfpGAGL0JAABrGfXgjq8350.png

如上图所示,FPGA的核心由可配置的逻辑单元和可编程的互连组成,这些被许多可编程IO块包围,用于与外部世界通信

1、可编程逻辑单元

基于Xilinx的FPGA中的逻辑块称为可配置逻辑块或CLB,而基于Altera的FPGA中的类似结构称为逻辑阵列块或LAB。

CLB是FPGA的基本组件,它提供逻辑和存储功能。基本逻辑块可以是晶体管、与非门、多路复用器、查找表
(LUT)、类似PAL的结构甚至处理器之类的任何东西。Xilinx和Altera都使用基于查找表 (LUT) 的逻辑块来实现逻辑和存储功能。

逻辑块可以由单个基本逻辑元件或一组互连的基本逻辑元件组成,其中基本逻辑元件是查找表(又由SRAM和多路复用器组成)和触发器。

pYYBAGMEfp2ACmtWAABw3dLyY5w963.png

具有“n”个输入的LUT由2的n次方配置位组成,这些配置位由SRAM
单元实现。使用这2的n次方个SRAM位,LUT可以配置为实现任何逻辑功能。

2、可编程路由

如果计算功能由逻辑块提供,则可编程路由网络负责互连这些逻辑块。路由网络提供一个逻辑块与另一个逻辑块之间以及逻辑块和IO块之间的互连,以完全实现自定义电路。

基本上,路由网络由带有可编程开关的连接线组成,可以使用任何编程技术进行配置。基本上有两种类型的路由架构,分别是:

岛式路由(也称为网状路由)

分层路由

在岛式路由架构中,逻辑块排列成二维阵列,并使用可编程路由网络互连,这种类型的路由广泛用于商业FPGA。

poYBAGMEfqmAcHuiAACW6eS8ly4847.png

另外,许多逻辑块被限制在一组本地连接中,分层路由架构通过将逻辑块划分为几个组或集群来利用此特性。如果逻辑块驻留在同一个集群中,则分层路由将它们连接到较低的层次结构中。

如果逻辑块驻留在不同的集群中,那么布线是在更高层次的层次上完成的。

基于应用的FPGA类型

现场可编程门阵列根据应用分为三类,例如低端FPGA、中端FPGA和高端FPGA。

低端FPGA;这些类型的FPGA专为低功耗、低逻辑密度和每芯片低复杂性而设计。低端FPGA的例子有
Altera的Cyclone系列、Xilinx的Spartan系列、Microsemi的Fusion系列和LatTIce半导体的Mach
XO/ICE40。

中档
FPGA;这些类型的FPGA是低端和高端FPGA之间的最佳解决方案,它们的开发是为了在性能和成本之间取得平衡。中端FPGA的例子有Altera的Arria、Xlinix的ArTIx-7/Kintex-7系列、Microsemi的
IGL002以及莱迪思半导体的ECP3和ECP5 系列。

高端FPGA;这些类型的FPGA是为逻辑密度和高性能而开发的。高端FPGA的例子有Altera的StraTIx系列、Xilinx的Virtex系列、Achronix的Speedster
22i系列和Microsemi的ProASIC3系列。

FPGA编程技术

FPGA的可重编程架构有许多,但负责这种可重配置架构的最常用的编程技术有以下几种:

SRAM

EEPROM/闪存

AnTI-Fuse(反熔丝)

其他技术包括EPROM和Fusible Link,但它们用于CPLD和其他PLD,不用于FPGA,因此,这里仅介绍限于FPGA相关的编程技术。

1、SRAM

众所周知,有两种类型的半导体RAM,称为SRAM和DRAM。SRAM是静态RAM的缩写,而DRAM是动态RAM的缩写。SRAM是使用晶体管设计的,术语静态意味着加载在基本SRAM存储单元上的值将保持不变,直到故意更改或移除电源时。

下图显示了用于存储1位的典型6晶体管SRAM单元。

这与由晶体管和电容器组合而成的DRAM形成对比。术语“动态”是指加载到基本DRAM存储单元中的值在电容器充电之前一直有效。随着电容器随着时间的推移失去电荷,存储单元必须定期充电以保持电荷。

许多FPGA供应商在基于SRAM的FPGA中实现静态存储单元进行编程。基于SRAM的FPGA用于对逻辑单元和互连进行编程,并且由于其可重新编程性和使用CMOS技术而变得相当重要,CMOS技术以其低动态功耗、高速和更紧密的集成而闻名。

2、EEPROM/闪存

与基于SRAM的编程技术相近的替代方案是基于EEPROM或闪存编程技术。基于闪存的编程的主要优点是其非易失性。尽管闪存支持可重新编程,但与SRAM技术相比,可重复编程的次数非常少。

3、反熔丝

反熔丝编程技术是一种生产一次性可编程器件的古老技术。它们是使用称为反熔丝的链接实现的,该链接在未编程状态下具有非常高的电阻,可以被认为是开路。编程时,向输入端提供高电压和电流。因此,最初以非晶硅(基本上是一种电阻非常高的绝缘体)的形式连接两条金属轨道的反熔丝通过转化为导电多晶硅而变得具有生命力。

与其它两种技术相比,反熔丝技术占用的空间最少,但仅作为一次性可编程选项提供。

FPGA的应用

FPGA在过去十年中获得了快速增长,因为它们可用于广泛的应用。FPGA的具体应用包括数字信号处理、生物信息学、设备控制器、软件无线电、随机逻辑、医学成像、计算机硬件仿真、集成多个SPLD、语音识别、密码学、过滤和通信编码等等。

而一些更常见的FPGA应用包括航空航天和国防、医疗电子、ASIC原型设计、音频、汽车、广播、消费电子、分布式货币系统、数据中心、高性能计算、工业、科学仪器、安全系统、视频和图像处理,有线通信,无线通信

总结

其实在引入FPGA的早期,它们通常用于实现中小型复杂状态机和对小数据的数据处理任务。多年来,随着其复杂性和功能的增加,它们已被纳入多种汽车、消费和工业应用中。

最初,FPGA为ASIC设计原型提供了一个简单的选项,因为它们可以很容易地重新配置以在最终确定主要设计之前测试和尝试硬件的多种变体。但它们作为最终产品的功能具有相对较短的上市时间和较小的实施成本,因此它们已被实施为某些ASIC的直接竞争对手。

随着FPGA成本的下降,它们成为嵌入式控制应用的有力竞争者。如今FPGA还可用于实现任何微控制器的软核处理器以及自定义IO功能。

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

    关注

    1629

    文章

    21734

    浏览量

    603098
  • 集成电路
    +关注

    关注

    5387

    文章

    11540

    浏览量

    361698
  • 现场可编程门阵列

    关注

    1

    文章

    20

    浏览量

    4729
收藏 人收藏

    评论

    相关推荐

    FPGA的几种典型应用 基于FPGA的小Tips设计

    作者: Hello,Panda 一、写在前面 FPGA 是可编程芯片,因此FPGA 的设计方法包括硬件设计和软件设计两部分。硬件包括 FPGA 芯片电路、存储器、输入输出接口电路以及其他设备;软件
    的头像 发表于 12-17 12:58 4492次阅读

    FPGA基础知识:什么是FPGA,为何需要FPGA

    最佳处理解决方案常常是由 RISC、CISC、图形处理器与 FPGA 的组合提供,或由 FPGA 单独提供,或以硬处理器内核作为部分结构的 FPGA 提供。然而,许多设计人员不熟悉 FPGA
    的头像 发表于 01-13 14:04 1.3w次阅读

    FPGA Compiler II FPGA Express

    This manual describes the Verilog portion of Synopsys FPGACompiler II / FPGA Express application
    发表于 07-23 09:59 21次下载

    fpga是什么意思 ASIC是什么意思

    fpga是什么意思 FPGA入门知识,什么是FPGA?   FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GA
    发表于 12-20 13:54 5144次阅读

    什么是FPGA?FPGA是什么意思

    什么是FPGA?FPGA是什么意思,本内容详加描述了FPGA的相关知识包括FPGA配置模式,PPGA特点及应用
    发表于 12-07 13:39 8w次阅读

    FPGA,FPGA工作原理是什么?

    FPGA,FPGA工作原理是什么? FPGA(现场可编程门阵列)是专用集成电路(ASIC)中集成度最高的一种,用户可对FPGA内部的逻辑模块和I/O模块
    发表于 03-26 17:07 3858次阅读

    数字设计FPGA应用:FPGA的基本实践

    本课程以目前流行的Xilinx 7系列FPGA的开发为主线,全面讲解FPGA的原理及电路设计、Verilog HDL语言及VIVADO的应用,并循序渐进地从组合逻辑、时序逻辑的开发开始,深入到FPGA的基础应用、综合应用和进阶应
    的头像 发表于 12-05 07:05 3145次阅读
    数字设计<b class='flag-5'>FPGA</b>应用:<b class='flag-5'>FPGA</b>的基本实践

    数字设计FPGA应用:FPGA的基本逻辑结构

    本课程以目前流行的Xilinx 7系列FPGA的开发为主线,全面讲解FPGA的原理及电路设计、Verilog HDL语言及VIVADO的应用,并循序渐进地从组合逻辑、时序逻辑的开发开始,深入到FPGA的基础应用、综合应用和进阶应
    的头像 发表于 12-03 07:04 2472次阅读
    数字设计<b class='flag-5'>FPGA</b>应用:<b class='flag-5'>FPGA</b>的基本逻辑结构

    FPGA的新应用

    FPGA侵蚀原有ASIC市场的用量极为可观的,此也成为近年来众人关注FPGA的首要焦点,不过也因为过于聚焦在高用量、大市场的观察,使FPGA的其它新应用发展被人所忽略,但这些应用却也极具意义。所以,以下本文将针对
    发表于 06-16 09:53 2713次阅读

    fpga论坛推荐_fpga开发难吗

    elecfans论坛的FPGA模块还是比较活跃的,有各种FPGA工具使用问题的一些讨论。
    的头像 发表于 11-10 14:29 4422次阅读

    FPGA基础知识----FPGA 简介

    1. FPGA 简介第1节 什么是 FPGAFPGA 的全称为 Field-Programmable Gate Array,即现场可编程门阵列。 FPGA 是在 PAL、 GAL、 CPLD 等
    发表于 11-30 17:21 43次下载
    <b class='flag-5'>FPGA</b>基础知识----<b class='flag-5'>FPGA</b> 简介

    如何学习FPGAFPGA学习必备的基础知识

    FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。网络上各种开发板、培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦。那么我们要玩转FPGA必须具备
    的头像 发表于 10-27 17:43 794次阅读

    FPGA是什么?FPGA的工作原理和应用

    你是否好奇过FPGA技术是如何影响日常使用的设备的?在当今快节奏的技术领域中,FPGA变得越来越重要。FPGA拥有强大的功能和广泛的应用,驱动着现代科技的进步。
    的头像 发表于 11-02 10:06 3144次阅读

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

    FPGA(Field-Programmable Gate Array)是一种可编程逻辑技术,它使用可重构的硬件单元(如门阵列和查找表)来实现电路功能。相比传统的专用集成电路(ASIC),FPGA具有
    的头像 发表于 02-04 15:26 1669次阅读

    FPGA基础知识及设计和执行FPGA应用所需的工具

    本文将首先介绍FPGA的基础知识,包括FPGA的工作原理以及为什么要使用FPGA等,然后讨论设计和执行FPGA应用所需的工具。
    的头像 发表于 11-11 11:29 696次阅读
    <b class='flag-5'>FPGA</b>基础知识及设计和执行<b class='flag-5'>FPGA</b>应用所需的工具