作者:福科 2022年11月21日 上午11:16
什么是FPGA?
FPGA由可配置逻辑块(CLB)与可编程互连相结合的网格构成。制造完成后,FPGA还可以重新编程,以满足特定的功能或应用需求。这一特性使FPGA有别于专用集成电路(ASIC)。后者是明确地为给定的目标而制定的,以后无法更改。虽然一次性可编程(OTP)FPGA是一种选择,但基于静态随机存取存储器(SRAM)的型号是最常见的,并且允许随着设计的变化而重新编程。
输入/输出焊盘、可重新编程的互连和可编程逻辑模块组成了一个现场可编程门阵列。触发器或存储器模块可用作现场可编程门阵列逻辑模块中的存储器组件。逻辑块可以执行简单到复杂的计算操作。
现场可编程门阵列和可编程只读存储器芯片有许多相似之处。FPGA可以容纳数千个门阵列,这与可编程只读存储器芯片不同,可编程只读存储器芯片仅限于几百个门阵列。现场可编程门阵列是可重新编程的,而不是ASIC,ASIC是为专业作业而开发的。
计算机用户可以使用现场可编程门阵列自定义微处理器的功能,以满足特定的个性化需求。工程师使用FPGA来创建专用集成电路。晶圆功能的缺乏使得现场可编程门阵列的生命周期更具可预测性。其他优势包括潜在的重制、比其他解决方案更快的上市时间以及简单的设计周期。
FPGA用于许多行业和市场,包括无线通信、数据中心、汽车、医疗和航空航天。
FPGA中的芯片是完全可编程的,这是一个相当大的好处。通过这种方式,它可以变成一个相当大的逻辑电路,一个遵循设计的设置,但用户也可以根据需要进行更新以进行调整。换句话说,如果创建了一个电路卡或电路板,并且FPGA是电路的一个组件,则FPGA在创建过程中被编程,但随后可以重新编程以反映任何修改。
虽然第一批FPGA是在1980年代初推出的,但直到20世纪90年代末才开始流行起来。除了Altera、赛灵思和德州仪器等少数几家企业之外,他们并不为人所知。
ASIC(专用集成电路)用于创建对于常规CPU或GPU来说过于复杂的系统,作为ASIC(专用集成电路)的替代方案。
由于它们使用户能够以更低的成本和更低的功耗生产产品,因此FPGA仍然是当今技术中的一个突出主题。在网络和网络安全等其他应用中,它们也很有帮助。将其与传统微控制器进行比较,传统微控制器无法容纳更大的设计,这是一项相当大的进步。
例如,8051微控制器采用了哈佛设计和CISC指令集。FPGA没有这些内置指令集,这给了设计人员更多的自由度。尽管FPGA经常与高端计算相关联,但消费电子行业的使用也在增加。
现场可编程门阵列芯片已经在顶级显卡中包含许多功能。然而,它们比传统的视频卡更便宜,更耗电。它们还支持许多同步流,并且具有明显更快的吞吐量。因此,基于FPGA的图形卡在游戏机中越来越频繁地使用。
Verilog和VHDL只是FPGA使用的众多不同编程语言中的两种。1984年,硬件描述语言Verilog被创建。它可用于构建系统所需的任何类型的电路,并且是FPGA的设计标准。
另一种基于状态机对FPGA进行编程的常用语言是VHDL。它与Verilog不同,因为它包含更多功能,如数据类型和信号名称,这使得创建复杂电路和提高效率变得更加简单。定义了FPGA编程的语法和语法。
FPGA如何工作?
每个FPGA制造商都有其独特的架构规范。关键组件、原则和功能包括:
1.可配置的逻辑块
现场可编程门阵列的基本构建模块是CLB。它是一个逻辑单元,可以设置或编程以执行特定任务。连接块将连接到这些构建基块。这些组件包括携带和控制逻辑、晶体管对和查找表(LUT)。它们执行设计所需的逻辑操作。
可以使用基于逻辑的多路复用器或LUT来创建CLB。基于LUT的逻辑中的模块由D触发器,查找表和2:1多路复用器组成。多路复用器选择正确的输出。
2.可编程互连
位于不同逻辑块中的逻辑单元之间的所有独特连接都存在于现场可编程门阵列的这一区域中。包含多个基本半导体开关的开关盒通常用于实现互连。这些电气可编程链路为这些可编程逻辑模块提供了路径。
不同长度的线段可以沿着布线路径找到,并由电气可编程开关连接。FPGA密度由用于布线路径的器件数量决定。FPGA的单元或输入焊盘的输出可以连接到电路中的任何其他单元或焊盘,利用对每个现场可编程门阵列至关重要的可编程互连点。
3.可编程路由
可编程路由至关重要,因为它通常占结构表面的百分之五十以上以及应用程序的关键路由延迟。可编程布线由预制线段和预配置的开关组成。通过配置正确的开关组合,功能块的任何输出都可以链接到任何输入。现场可编程门阵列路由架构有两种基本类型。
设计本质上是分层的,高级组件实例化较低级别的模块并链接其中的信号,从而为可编程门阵列提供了动力。可编程门阵列可以使用连接芯片离散部分的短线来构建这些连接,因为在设计层次结构中靠近在一起的模块之间更频繁地进行通信。FPGA的密度和性能受到路由设计的影响。
4.可编程I/O模块
接口引脚用于将逻辑模块与外部组件连接起来。现场可编程门阵列和外部电路之间的接口是IOB(输入输出模块),这是一种可编程输入和输出器件,用于满足各种电气特性下输入/输出信号的驱动和匹配需求。I/O块将路由体系结构和CLB连接到外部元素。
在封装引脚和器件的底层电路之间,输入/输出模块提供可编程的单向或双向连接。实现应用需要从头开始构建电路,因为以前的现场可编程门阵列缺乏运行任何软件的处理器。因此,FPGA可能被编程为像OR门一样简单,或者像多核处理器一样复杂。
5.片上存储器
集成在FPGA逻辑块中的FFS是FPGA系统中片上存储元件的一种形式。尽管如此,随着现场可编程门阵列逻辑容量的提高,它被用于更广泛的系统中,这些系统几乎总是需要存储器来缓冲和重用芯片上的数据。由于构建由寄存器和LUT组成的大型RAM的密度比SRAM块低100倍左右,因此还需要具有更密集的片上存储。
此外,在现场可编程门阵列上实现的应用程序的RAM要求差异大不相同。
6.数字信号处理(DSP)模块
在运输链之前,商业现场可编程门阵列系统中使用的专用算术电路是加法器。
由于需要在利用LUT和携带链的软逻辑中加入乘法器,因此产生了严重的面积和延迟损失。由于用于现场可编程门阵列的高乘法器密度信号处理和通信应用具有相当大的市场份额,设计人员开发了新颖的实现来解决软逻辑乘法器实现效率低下的问题,这称为数字信号处理或DSP。
无乘法分布式算术技术是使用基于LUT的现场可编程门阵列创建高效有限脉冲响应(FIR)滤波器设计的一种方法。乘法器是FPGA系统中作为专用电路进行强化的主要候选者,因为它们在关键应用领域的现场可编程门阵列设计中普遍存在,并且在软逻辑中实现时尺寸、延迟和功耗都降低了。
7.系统级互连
DDR内存和以太网的兴起只是FPGA容量和带宽稳步增长的几个原因。管理这些高频端口和不断增长的结构之间的数据流量是一项挑战。这种系统级链路过去是通过设置特定的FPGA逻辑和路由元件来形成软总线来建立的,这些总线在必要的端点之间完成流水线,多路复用和布线。
更宽总线是匹配这些外部接口带宽的唯一方法,因为它们以比现场可编程门阵列结构更高的频率运行。由于大量和物理上很长的总线的组合,定时闭合具有挑战性,并且通常需要对总线进行相当大的流水线处理,从而增加了资源消耗。
现场可编程门阵列的应用
FPGA在各行各业都有广泛的应用,特别是在工业物联网(IoT)领域。它的一些关键应用领域:
1.能源行业案例研究
太阳能和风能等可再生能源越来越受欢迎。它们在智能电网中是可靠的,其中法规仍在建立中。输配电(T&D)变电站尤其需要高效的电力网络来实现智能电网的最佳运行。自动化需要持续监控、调节和保护电网的技术,以实现更有效的峰值需求负载管理。FPGA可以提高智能电网的性能和可扩展性,同时保持低功耗。
2.使用FPGA设计集成电路
必须首先创建此类电路的体系结构。然后,使用FPGA构建和测试原型,由于这种方法,错误是可以纠正的。一旦原型按预期执行,就会开发一个ASIC项目。这能够节省时间,因为创建集成电路可能是一项劳动密集型和复杂的操作。
此外,它还可以节省资金,因为可以使用单个FPGA来创建同一项目的大量修订版。值得注意的是,当前的张量处理单元(TPU)或加密货币矿工最初是作为FPGA开发的,直到那时它们才被生产出来。
3.汽车体验的改善
使用汽车芯片和IP实现车载信息娱乐、舒适性和便利性的解决方案。借助MicrosemiFPGA,车载原始设备制造商(OEM)和供应商可以开发创新的安全应用,如巡航控制、盲点警告和防撞。
FPGA供应商提供网络安全功能,包括信息保证、防篡改和硬件安全,以及纠错内存和低静态功耗等可靠性功能。由于其最小的泄漏和在低功耗环境中工作的能力,基于FPGA的存储可以提供低静态功耗。
4.支持实时系统
在实时系统中,当响应时间至关重要时,会使用FPGA。传统CPU的响应时间是不可预测的,因此无法准确估计一旦触发器触发,您将何时收到回复。采用实时操作系统将反应时间保持在预定范围内。
在需要快速响应时间的情况下,这是不够的。系统必须在FPGA中实现所需的方法,利用组合或顺序电路来解决这个问题并保证恒定的响应时间。一旦准备就绪,就可以使用FPGA更改这样的实时系统并将其投入生产。
5.航空航天和国防使用案例
为了满足恶劣环境的性能、可靠性和寿命要求,同时提供比传统ASIC实现更大的灵活性,工业制造公司提供了抗辐射可重构的FPGA,这些FPGA通常是空间级的。抗辐射可重构FPGA适用于处理密集型空间系统。
6.在通信和软件定义网络(SDN)中的应用
软件定义网络(SDN)和其他算法(如快速傅里叶变换(FFT))必须放入FPGA中,以便在复杂的实时环境中使用。无线电的标准组件包括用于接收和传输信号的天线,以及用于通过过滤、更改信号频率等来处理信号的网络硬件。
这种硬件无法从根本上改变它所要实现的功能。如今,此功能的很大一部分被转移到电子设备中,这通常是FPGA。模拟器件通常仅限于天线、ADC和DAC转换器。
7.数据中心和云中的FPGA
物联网(IoT)和大数据正在产生获取和处理的数据的指数级增长。这与通过 并行的多个操作的深度学习技术进行计算分析相结合,导致对低延迟,灵活和安全的计算能力的高需求。由于空间成本不断增加,无法通过添加更多服务器来解决。
由于FPGA能够加速处理,设计灵活性以及硬件对软件的安全性,数据中心世界的大门正在在很大程度上向他们敞开。
8.计算机视觉系统
在现代世界中,计算机视觉系统存在于许多小工具中。视频监控摄像机,机器人和其他设备就是这方面的例子。许多这些小工具通常需要基于FPGA的系统,以便它们能够根据人的位置,周围环境和面部识别功能,以有意义的方式与人进行行动和交互。要使用此功能,必须处理许多照片,其中大多数操作都是实时完成的,以检测物体,识别人脸等。
*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。