FPGA:它们有什么用?

电子说

1.2w人已加入

描述

(来源:mehaniq41 - stock.adobe.com)

自 20 世纪 80 年代中期推出以来,可编程逻辑已在一系列应用中得到广泛采用。现代可编程逻辑器件已经从可编程逻辑器件(PLD)和复杂可编程逻辑器件(CPLD)发展到现场可编程门阵列(FPGA)。

PLD 和 CPLD 提供的逻辑资源数量有限,而 FPGA 提供数百万个可配置逻辑块 (CLB),使开发人员能够实现时序和组合电路。现代 FPGA 设备还为开发人员提供高级功能,如 DSP 元件、Block RAMS、千兆位收发器、PCIe 端点,甚至嵌入式 Arm ®和 RISC-V 处理器。

当然,由于可编程逻辑的真正并行特性,FPGA 需要与传统处理器不同的设计捕获、实现和验证方法。

这种并行实现使 FPGA 成为需要解决方案具有以下一个或多个特性的应用的理想选择。

响应性:实施中使用专用资源,因此无需共享系统资源。

确定性:专用资源用于实现处理管道,因此从输入到输出的处理时间是确定性的。

高吞吐量:可编程逻辑的并行结构使处理流水线能够在真正的并行处理结构中使用分立元件来实现。

FPGA 中 IO 的灵活性:只要启用正确的 PHY,FPGA 中的 IO 灵活性就可以实现任意到任意的连接。这种灵活性还使开发人员摆脱了在更传统的处理器解决方案上提供的特定 IO 标准数量的限制。

这些特性使 FPGA 成为从汽车和航空航天到电机控制、图像和信号处理、网络和过程控制等一系列应用的理想选择。让我们来看两个应用,以更好地理解为什么 FPGA 是该应用的理想选择。

作为工业 4.0 的一部分,图像处理是从智能城市到安全和生产线检查等许多应用的核心。在这些应用中,图像处理解决方案需要逐个像素地执行多种复杂的图像处理算法。随着帧速率和分辨率的增加,需要大量的计算能力。FPGA 的实现使处理流水线的每个阶段都可以在逻辑门中实现,通常使用现有的供应商 IP 块。这个处理链可以从 MIPI 或 HDMI 接收、De Bayer、Alpha 通道校正,然后是增强、边缘检测、分割和 ML 网络等高级处理算法。与使用更传统的处理方法相比,在可编程逻辑中实现流水线使开发人员能够实现更高的帧速率。图像处理应用程序通常用于汽车应用程序,用于提高 SAE 的自主级别。

FPGA 的另一个用例是安全关键型或高可靠性应用。这是由于 FPGA 的响应性和确定性特性。许多安全关键系统都有所谓的硬实时要求——这意味着必须在规定时间内收集数据、确定结果并实施操作。未能在分配的时间内执行处理和决策会导致系统故障。在逻辑中实施处理解决方案使算法的每个阶段都可以并行实施。这种并行实现使开发人员能够实现响应时间,因为计算路径不共享资源。由于资源不共享,实施的解决方案还提供了对给定输入的确定性响应。这种确定性响应还支持更稳健的验证策略,因为可以创建涵盖 RTL 设计中所有状态、分支、路径和寄存器切换的 RTL 仿真。由于其响应性和确定性,FPGA 是安全关键型应用的理想选择,通常用于需要通过 DO254、ISO26262 和 IEC61508 等标准认证的航空航天、汽车、铁路和过程控制应用。

FPGA 的最后一个用例是利用其接口功能的灵活性。FPGA 可以创建具有任意接口的解决方案,这要归功于它们支持的广泛的单一和差分 IO 标准,并在需要时结合外部 PHY。这使得开发人员能够在同一芯片上实现大量相同的接口和多个 MIPI 接口,以恢复多个图像处理流。或者,例如,FPGA 可用于实现从千兆以太网到 SpaceWire 的协议转换。当然,FPGA 的功能也可以与 IO 灵活性一起使用。一个这样的例子是在视频转码期间,其中一个标准被接收,另一个标准在 FPGA 逻辑中被转码后被传输。又是在这里,

结论

总之,FPGA 最适合部署在需要响应性、确定性、吞吐量或接口等已识别特征之一的系统中。需要这些的应用程序可以利用 FPGA 的并行特性来实现满足要求的解决方案。因此,我们看到 FPGA 被部署在各种应用中,包括航空航天、汽车、工业、视频转码、过程控制和高性能系统。随着 FPGA 技术的发展(尤其是开发工具),我们将看到 FPGA 在许多应用中更加普遍。

审核编辑:汤梓红

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分