什么是 FPGA(现场可编程门阵列)?

发布时间:2024年01月24日

现场编程门阵列是一种由半导体材料制成的集成电路,用户购买后可以重新编程或配置,而不是单独由原始设备制造商(OEM)进行。

现场可编程门阵列 (FPGA) 是一种半导体器件,由与可编程互连相结合的可配置逻辑块 (CLB) 网格构成。制造完成后,FPGA 可以重新编程以满足特定功能或应用需求。

此功能使 FPGA 有别于专用集成电路 (ASIC)。后者是明确为特定目标而制定的,以后无法更改。尽管一次性可编程 (OTP) FPGA 是一种选择,但基于静态随机存取存储器 (SRAM) 的模型最为常见,并且允许在设计更改时重新编程。

输入/输出焊盘、可重新编程互连和可编程逻辑块构成了现场可编程门阵列。触发器或存储器块可以用作现场可编程门阵列的逻辑块中的存储器组件。逻辑块可以执行简单到复杂的计算操作。

现场可编程门阵列和可编程只读存储器芯片有许多相似之处。 FPGA 可以容纳数千个门,与仅限于几百个的可编程只读存储器芯片不同。现场可编程门阵列是可重新编程的,与专为专门工作而开发的 ASIC 不同。

计算机用户可以使用现场可编程门阵列定制微处理器的功能,以满足特定的个人需求。工程师使用 FPGA 来创建专用集成电路。由于没有晶圆功能,现场可编程门阵列的生命周期更可预测。

其他好处包括潜在的重新设计、比其他解决方案更快的上市时间以及简单的设计周期。 FPGA 用于许多行业和市场,包括无线通信、数据中心、汽车、医疗和航空航天。

事实上,FPGA 中的芯片是完全可编程和可重新编程的,这是一个相当大的好处。通过这种方式,它变成了一个相当大的逻辑电路,一个设计后的设置,但用户也可以根据需要更新它以进行调整。换句话说,如果创建了电路卡或电路板并且 FPGA 是电路的组件,则 FPGA 在创建过程中进行编程,但随后可以重新编程以反映任何修改。

它的名字来源于它可以在现场编程的事实。尽管第一批 FPGA 于 20 世纪 80 年代初推出,但直到 90 年代末才开始腾飞。除了 Altera、Xilinx 和 TI 等少数企业之外,它们并不出名。

2000年后,FPGA 开始随处可见。 ASIC(专用集成电路)用于创建对于常规 CPU 或 GPU 来说过于复杂的系统,作为 ASIC 的替代品,企
业开始仔细研究它们。

由于现场可编程门阵列使用户能够以更便宜的成本和更少的功耗生产产品,因此它仍然是当今技术领域的一个突出主题。在网络和网络安全等其他应用中,它们也很有帮助。与无法适应更大设计的传统微控制器相比,这是一个相当大的进步。

例如,8051 微控制器采用了哈佛设计和 CISC 指令集。 FPGA没有这些内置指令集,给了设计者更多的自由。尽管 FPGA 经常与高端计算联系在一起,但消费电子领域的使用量也在增加。

现场可编程门阵列芯片已经包含顶级显卡中的许多功能。然而,它们比传统显卡便宜且耗电。它们还支持许多并发流,并且吞吐量明显更快。因此,基于 FPGA 的显卡在游戏机中的应用越来越频繁。

Verilog 和 VHDL 只是 FPGA 使用的多种不同编程语言中的两种。 1984年,硬件描述语言Verilog诞生。它可用于构建系统所需的任何类型的电路,并且是 FPGA 的设计标准。

另一种基于状态机思想的 FPGA 编程通用语言是 VHDL。它与 Verilog 不同,因为它包含更多功能,例如数据类型和信号名称,这使得创建复杂电路并提高其效率变得更简单。定义了FPGA编程的语法和文法。

How Does FPGA Work?

每个 FPGA 制造商都有其独特的架构规范。关键组件、原理和功能包括以下内容:

1. Configurable logic blocks

现场可编程门阵列的基本构建块是 CLB。它是一个逻辑单元,可以设置或编程来执行特定任务。连接块连接到这些构建块。这些组件包括进位和控制逻辑、晶体管对和查找表 (LUT)。它们执行设计所需的逻辑运算。

可以使用基于逻辑的多路复用器或 LUT 来创建 CLB。基于 LUT 的逻辑块由 D 触发器、查找表和 2:1 多路复用器组成。触发器被用作存储组件。多路复用器选择正确的输出。每个 CLB 中有特定数量的切片。切片按列和对进行组织。

2. Programmable interconnects

位于不同逻辑块中的逻辑单元之间的所有独特连接都存在于现场可编程门阵列的该区域中。包含多个基本半导体开关的开关盒通常用于实现互连。这些电可编程连接为这些可编程逻辑块提供路由路径。

可以沿着布线路径找到不同长度的线段,并通过电气可编程开关连接。现场可编程门阵列密度由用于布线路径的部件数量决定。现场可编程门阵列的单元的输出或输入焊盘可以利用对每个现场可编程门阵列至关重要的可编程互连点链接到电路中的任何其他单元或焊盘。

3. Programmable routing

可编程路由至关重要,因为它通常占结构表面的百分之五十以上,并且是应用程序的关键路由延迟。可编程布线由预制线段和预配置开关组成。通过配置正确的开关组合,功能块的任何输出都可以链接到任何输入。现场可编程门阵列布线架构有两种基本类型。

设计本质上是分层的;较高级别的组件实例化较低级别的模块并链接它们之间的信号,为分层现场可编程门阵列提供动力。分层现场可编程门阵列可以使用链接芯片的离散部分的短线构建这些连接,因为通信更频繁地发生在设计分层结构中靠近的模块之间。 FPGA 的密度和性能受到布线设计的影响。

4. Programmable I/O blocks

接口引脚用于将逻辑块与外部组件连接起来。现场可编程门阵列与外部电路的接口是IOB(Input Output Block),是一种可编程输入输出器件,用于满足各种电气特性下输入/输出信号的驱动和匹配需要。 I/O 块将路由架构和 CLB 连接到外部元件。

在器件的封装引脚和底层电路之间,输入/输出块提供可编程单向或双向连接。实现应用程序需要从头开始构建电路,因为以前的现场可编程门阵列缺乏运行任何软件的处理器。因此,FPGA 可以被编程为像或门一样简单,或者像多核处理器一样复杂。

5. On-chip memory

合并到 FPGA 逻辑块中的 FFS 是 FPGA 系统中片上存储元件的第一种形式。尽管如此,随着现场可编程门阵列逻辑容量的提高,它被用于更广泛的系统中,这些系统几乎总是需要内存来缓冲和重用芯片上的数据。由于构建由寄存器和 LUT 组成的大型 RAM 的密度大约是 SRAM 块的 100 倍,因此有必要拥有更密集的片上存储。

此外,在现场可编程门阵列上实现的应用程序的 RAM 要求差异很大。

6. Digital Signal Processing (DSP) blocks

在传输链之前,商业现场可编程门阵列系统中使用的唯一专用算术电路是加法器。

由于需要利用 LUT 和进位链将乘法器合并到软逻辑中,因此产生了显着的面积和延迟损失。由于现场可编程门阵列的高乘法器密度信号处理和通信应用占据了相当大的市场份额,设计人员开发了新颖的实现方式来解决软逻辑乘法器实现的低效率问题。这称为数字信号处理或 DSP。

无乘法器分布式算术技术是使用基于 LUT 的现场可编程门阵列创建高效有限脉冲响应 (FIR) 滤波器设计的一种方法。乘法器是 FPGA 系统中作为专用电路进行强化的主要候选者,因为它们在跨关键应用领域的现场可编程门阵列设计中很流行,并且在软逻辑中实现时可以减小尺寸、延迟和功耗。

7. System-level interconnect

DDR 内存和以太网的兴起只是 FPGA 容量和带宽稳步增长的几个原因。管理这些高频端口和不断增长的软结构之间的数据流量是一项挑战。过去,这种系统级链接是通过设置特定的 FPGA 逻辑和路由元件来形成软总线,从而完成必要端点之间的流水线、多路复用和布线来建立的。

更宽的(软)总线是匹配这些外部接口带宽的唯一方法,因为它们的运行频率比现场可编程门阵列结构的频率更高。由于广泛且物理上冗长的总线相结合,时序收敛具有挑战性,并且通常需要软总线的大量流水线操作,从而增加了资源消耗。

Applications of FPGAs

FPGA 在各行业得到广泛应用,尤其是在工业物联网 (IoT) 领域。它的一些关键应用领域包括

1. Case studies in the energy industry

太阳能和风能等可再生能源越来越受欢迎。它们在法规仍在制定的智能电网中是可靠的。输配电 (T&D) 变电站尤其需要高效的电网来实现智能电网的优化运行。自动化需要持续监控、调节和保护电网的技术,以实现更有效的峰值需求负载管理。 FPGA 可以提高智能电网的性能和可扩展性,同时保持较低的功耗。

2. Designing ASICs using FPGAs

您必须首先创建此类电路的架构。然后,您使用 FPGA 构建并测试原型,并且由于这种方法,错误是可以纠正的。一旦原型按预期运行,就会开发 ASIC 项目。这可以帮助您节省时间,因为创建集成电路可能是一项劳动密集型且复杂的操作。

此外,它还可以节省资金,因为人们可以使用单个 FPGA 来创建同一项目的多个版本。值得注意的是,当前的张量处理单元(TPU)或加密货币矿工最初是作为 FPGA 开发的,然后才开始生产。

3. Improvements in automotive experiences

使用汽车芯片和 IP 实现车载信息娱乐、舒适性和便利性的解决方案。借助 Microsemi FPGA,车辆原始设备制造商 (OEM) 和供应商可以开发创新的安全应用,例如巡航控制、盲点警告和防撞。

FPGA 供应商提供网络安全功能,包括信息保证、防篡改和硬件安全,以及纠错内存和低静态功耗等可靠性功能。由于泄漏极小且能够在低功耗环境下运行,基于 FPGA 的存储可以提供低静态功耗。

4. Supporting real-time systems

在实时系统中,当响应时间至关重要时,就会使用 FPGA。传统 CPU 的响应时间是不可预测的,因此无法准确估计触发器触发后何时会收到回复。采用实时操作系统将反应时间保持在预定范围内。

在需要快速响应时间的情况下,这是不够的。系统必须利用组合或时序电路在 FPGA 中实现所请求的方法,以解决此问题并保证恒定的响应时间。一旦准备就绪,就可以使用 FPGA 更改此类实时系统并将其投入生产。

5. Aerospace and defense use cases

为了满足恶劣环境的性能、可靠性和使用寿命要求,同时提供比传统 ASIC 实现更大的灵活性,工业制造公司提供抗辐射和抗辐射 FPGA(通常是航天级)。抗辐射可重构 FPGA 适用于处理密集型空间系统。

6. Usage in communications and software-defined networks (SDN)

软件定义网络 (SDN) 和快速傅里叶变换 (FFT) 等其他算法必须放入 FPGA 中才能在复杂的实时环境中使用。无线电的标准组件包括用于接收和传输信号的天线以及用于通过过滤信号、改变信号频率等来处理信号的网络硬件。

该硬件无法从根本上改变其预期功能。如今,此功能的很大一部分已转移到电子设备中,通常是 FPGA。模拟部分通常仅限于天线、ADC 和 DAC 转换器。

7. FPGAs in data centers and cloud

物联网 (IoT) 和大数据正在使获取和处理的数据呈指数级增长。再加上通过并行多个操作的深度学习技术进行的计算分析,导致对低延迟、灵活和安全的计算能力的高需求。由于空间成本不断增加,无法通过添加更多服务器来解决。

由于 FPGA 具有加速处理的能力、设计的灵活性以及硬件针对软件提供的安全性,数据中心世界的大门正在很大程度上向它们敞开。

8. Computer vision systems

在现代世界,计算机视觉系统存在于许多小工具中。视频监控摄像机、机器人和其他设备就是这样的例子。许多此类小工具通常需要基于 FPGA 的系统,以便根据人们的位置、周围环境和面部识别功能,以有意义的方式进行操作并与人们交互。要使用此功能,必须处理许多照片,其中大部分操作都是实时完成的,以检测物体、识别人脸等。

Takeaway

新型和先进的 FPGA 正在为用户提供更多功能。传统上,FPGA 是非常复杂的产品,小批量发货,以满足特定的企业用例。但在公司任职期间,我们将见证用于游戏、高级计算和其他几种非工业应用的 FPGA 系统的兴起,从而扩大其用户基础。根据 AlliedMarket Research 2022 年的研究,到 2031 年,全球 FPGA 市场价值将达到 3.103 亿美元,预示着快速增长。

文章来源:https://blog.csdn.net/qq_46264636/article/details/135815123
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。