Synopsys
Ansys

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

伊恩·兰德, 哈立德·汗

2025年7月31日 / 阅读时间 6 分钟

定义

现场可编程门阵列(FPGA ,简称FPGA)是一种高度通用的半导体器件,它将硬件性能与软件灵活性独特地结合在一起。 与传统集成电路(IC)——例如在制造过程中即被设计为执行固定功能的专用集成电路(ASIC)——不同,FPGA具有可重配置性。这意味着其内部电路可由用户进行编程和重新编程,即使在制造完成并投入实际应用之后也是如此。

从本质上讲,FPGA 由大量可编程逻辑块(可配置逻辑块,简称 CLB)和一套复杂的分层可编程互连结构组成。这种架构使设计人员能够配置这些块之间的互连,从而有效地创建出针对特定应用需求量身定制的数字电路。 这种制造后的可重配置性(可配置性 )是FPGA的显著特征,使其能够适应不断演变的标准、纠正设计错误,并实现全新的功能,而无需进行耗时且昂贵的硬件重新设计。

FPGA 是如何工作的?

FPGA 由三个主要组成部分构成:可配置逻辑块(CLB)、可编程互连和输入/输出(I/O)块。CLB 是执行逻辑功能的基本单元,例如 AND、OR、XOR 以及更复杂的运算;而可编程互连则允许设计人员以几乎任何配置将这些块连接起来。I/O 块则促进了FPGA 与外部设备之间的通信。

FPGA通常包含DSP 元件、嵌入式存储器和嵌入式CPU。DSP 元件可实现通信、射频、人工智能及其他应用的信号处理。嵌入式存储器对许多应用都具有重要价值,可供FPGA 互连架构或嵌入式DSP 和CPU 元件使用。嵌入式CPU 通常用于系统控制或应用处理。

对可编程门阵列(FPGA )进行编程的过程通常涉及编写硬件描述语言(HDL )代码,例如VHDL或Verilog ,以指定所需的逻辑和行为。该HDL 代码通过专用软件工具进行综合和实现,这些工具将高级描述转换为配置比特流。随后,该比特流被加载到FPGA 中,从而配置其逻辑模块和布线 资源以执行指定的功能。

与制造完成后便无法更改的专用集成电路(ASIC)不同,FPGA可以多次重新编程。这种可重配置性使得迭代设计、原型制作,甚至对已部署硬件进行现场更新成为可能。例如,如果在系统部署后发现了一个漏洞,可以通过新的比特流对FPGA 进行重新配置,从而修正期刊 ,而这是传统ASIC无法做到的。

FPGA 在并行处理方面也表现出色。由于多个逻辑块可以同时操作 ,因此 FPGA 非常适合那些可以分解为并行操作的任务,例如数字信号处理、图像处理以及密码学 。与通用处理器相比,这种并行性使 FPGA 能够提供高性能和低延迟。

FPGA 和ASIC 之间有什么区别?

FPGA是一种可重新编程的器件,可在制造完成后进行配置,而ASIC则是功能固定的定制芯片。FPGA具有灵活性且便于快速原型开发,但对于大批量、特定应用而言,ASIC通常效率更高。

属性FPGAASIC
功能性生产后可重新编程固定功能,在制造过程中已硬连线
性能很好,支持并行处理经过优化,以实现最高效率
灵活性高:非常适合原型制作和更新低:专为一项任务而设计
功率效率中通常因量身定制的设计而更胜一筹
成本结构前期成本较低,单位成本较高前期成本较高,但规模扩大后单位成本较低
上市时间商用现成产品(COTS)更长:需要定制芯片

FPGA 适合用于人工智能和机器学习吗?

是的,由于FPGA具备并行处理能力和可定制的硬件架构,因此越来越多地被用于人工智能和机器学习的加速。

FPGA通常应用于哪些领域?

FPGA被广泛应用于电信、数据中心、汽车系统、航空航天与国防、工业自动化以及消费电子等众多领域。

基于FPGA 的产品生命周期是怎样的?

FPGA基于该技术的产品生命周期较长,通常可达20年或更久,因为其硬件可在现场进行更新或重新配置。这种灵活性使它们能够随着时间的推移适应新的标准或要求。

FPGA的重要性及其关键用例

FPGA 的独特特性,包括可重配置性、并行处理能力和确定性性能,使其成为众多行业和应用领域中至关重要的组件,在这些领域中,高性能、适应性和快速开发 至关重要。

 

1. 快速原型制作与验证:

重要性:FPGA为快速实现和测试复杂的数字设计提供了理想的平台。在投入昂贵且耗时的ASIC 制造周期之前,工程师可以在FPGA 上验证设计、发现潜在问题并快速迭代。这大大降低了开发 成本,并加快了产品上市时间。

用例:

  • ASIC/SoC硬件加速 :对未来的ASIC 或片上系统(SoC)设计进行仿真,以便软件开发 能与硬件设计同步进行。
  • 算法验证 :在实时硬件上测试用于信号处理、图像处理或机器学习的新算法。

 

2. 硬件加速:

重要性:FPGA 在并行处理方面表现出色,能够同时执行大量运算。这使得它们在将计算密集型任务从通用 CPU 卸载方面非常高效,从而显著提高特定工作负载的吞吐量 ,并降低延迟。

用例:

  • 人工智能(AI)和机器学习(ML):加速数据中心、边缘设备和自主系统中的神经网络推理。其可重构性使得能够针对特定的网络架构进行优化。
  • 数据中心工作负载:提升数据压缩与解压缩、搜索加速以及金融建模等任务的性能。
  • 数字信号处理(DSP ):用于电信(例如 5G 基站)、雷达系统和医学成像领域的高速处理。

 

3. 电信与网络:

重要性:电信行业日益严苛且不断演变的标准,要求硬件能够高效地进行更新和定制。FPGA 为这些动态环境提供了必要的灵活性和高速处理能力。
用例:

  • 5G 基础设施:部署灵活的无线接入网组件、基带 (RUNU)单元和网络处理单元。
  • 网络数据包处理:面向数据中心和企业网络的高性能布线 、交换以及深度数据包检测。
  • 软件定义无线电(SDR):可定制的无线电平台,能够适应不同的通信协议和频率。

 

4. 汽车与工业系统:

重要性:可靠性、实时性能以及在现场更新系统能力,在汽车和工业应用 领域至关重要。FPGA提供了必要的稳定性 和适应性。
用例 :

  • ADAS (高级驱动程序- 辅助系统):加速自动驾驶汽车中的传感器融合、图像处理和实时决策。
  • 工业自动化与机器人技术:面向制造和控制系统的高速电机控制、机器视觉和精密计时。
  • 功能安全:实现可进行严格验证和更新的安全关键型控制逻辑。

 

5. 航空航天与国防:

重要性:长生命周期、极高的可靠性要求,以及对安全且可定制的硬件解决方案的需求,使得FPGA成为航空航天和国防领域的理想选择。

用例:

  • 卫星通信:机载处理、信号加密和灵活的有效载荷管理。
  • 航空电子: 飞行控制系统、雷达和电子战应用。
  • 安全计算:在硬件中实现自定义加密和安全 协议。
  • 使用 新思科技 SynplifyFPGA 综合解决方案。

如何验证我的基于FPGA 的设计?

您可以使用VCS等仿真工具在不同阶段运行仿真,包括HDL/RTL、综合后以及布局布线后(P&R)阶段。要验证已编程的FPGA 位文件,请使用SynplifyIdentify 等硬件调试工具。这使您能够探测设计信号并捕获其实时值。随后,您可以将这些值导出到Verdi等波形分析工具中,以便进行比较和进一步分析。

如何编写一段基于FPGA 的优质代码,并验证其符合性 ?

您可以使用Euclide等工具编写符合语言标准的代码。对于早期HDL/RTL代码符合性 及验证工作,请使用VC SpyGlass等工具在RTL层级进行lint检查。此外,还可以使用VCS等仿真工具通过仿真对设计进行验证。

在进行硬件验证时,请使用SynplifyIdentify 等调试工具,对FPGA 上的设计信号进行探测。您可以捕获这些信号值并将其导出到波形分析工具中,以便进行比较和进一步分析。

FPGA 和 新思科技

新思科技 是一家领先的 电子设计自动化(EDA) 工具 和 IP解决方案供应商,致力于帮助工程师设计、验证和实现基于FPGA 的系统。 新思科技 提供全面的FPGA 设计工具,可简化整个开发 流程,从HDL 输入和综合到验证和实现。这些工具可帮助工程师最大限度地提高FPGA 性能、优化资源利用率,并加速 产品上市时间。

此外, 新思科技 提供了一系列针对FPGA 架构进行优化的高质量IP核产品组合,使设计人员能够放心地将复杂功能(如内存控制器、通信接口和安全 模块)集成到其FPGA 设计中。 新思科技 这些解决方案支持主要的FPGA 供应商,确保在广泛的设备和应用中实现兼容性和灵活性。

无论您是在开发新一代人工智能加速器、汽车安全系统还是工业自动化控制器, 新思科技 FPGA 这些解决方案都能助您加快创新步伐,并推出稳定可靠、性能卓越的产品。

继续阅读

Ask BETA This experience is in beta mode. Please double check responses for accuracy.

结束聊天

关闭此窗口将清除您的聊天记录并结束本次会话。您是否确定要结束本次聊天?