---
title: 一文读懂 FPGA 在功能安全应用中的机遇与挑战
url: "https://www.fpgalearn.com/8381.html"
kind: article
id: 8381
excerpt: FPGA（现场可编程门阵列）作为一种极为有用的器件，常与 ADI 公司的 ADC 或功率 IC 等一同被设计到客户的产品中。它能够实现微控制器以及所需的任何胶合…
published_at: 2025-04-06
author: 二牛学FPGA
word_count: 2205
source: "https://www.fpgalearn.com"
---

# 一文读懂 FPGA 在功能安全应用中的机遇与挑战

> FPGA（现场可编程门阵列）作为一种极为有用的器件，常与 ADI 公司的 ADC 或功率 IC 等一同被设计到客户的产品中。它能够实现微控制器以及所需的任何胶合…

> FPGA（现场可编程门阵列）作为一种极为有用的器件，常与 ADI 公司的 ADC 或功率 IC 等一同被设计到客户的产品中。它能够实现微控制器以及所需的任何胶合…

FPGA（现场可编程门阵列）作为一种极为有用的器件，常与 ADI 公司的 ADC 或功率 IC 等一同被设计到客户的产品中。它能够实现微控制器以及所需的任何胶合逻辑。在这篇博客中，我们将深入探讨功能安全与 FPGA 相关的诸多问题。
## FPGA 的基本概念
FPGA 是一种集成电路，但其并非专用的片上逻辑。它由可重新配置的逻辑以及通常包含的诸如 ARM Cortex 或 A9 系列的硬宏 uC 组成（部分 uC 也提供 HDL / 软格式）。可重构逻辑一般呈逻辑块数组的形式。常见的 FPGA 制造商有 Xilinx、Altera（现属英特尔）、莱迪思半导体和 Microsemi。可重新配置这一特性赋予了硬件灵活性，这种灵活性以往通常仅在软件解决方案中可见。比如，使用 FPGA 能够快速更改 “硬件”，若采用分立 IC，这一过程可能需要数周甚至更久；若使用 ASIC，则需数月时间。然而，从安全角度来看，这也意味着会面临一些类似软件的棘手问题。
对于某些 FPGA，其配置存储在片上闪存或 EEPROM 中；而对于较大型的 FPGA，配置则存储在片外闪存中，并在启动时加载到 FPGA 上的 RAM 里。FPGA 上的可重构逻辑通常借助 HDL（硬件描述语言），如 Verilog 或 VHDL 来完成，其语法与软件颇为相似（“Verilog 是软件吗？” 这个问题已被列入我即将发布的博客列表）。
## FPGA 与功能安全标准
IEC 61508 – 2：2010 的附录 F 为设计数字 ASIC（表 F.1）和 FPGA（表 F.2）时避免系统错误提供了指导。实际上，表 F.1 主要与设计 FGPA 芯片的人员相关，例如 Xilinx 或 Micro – semi 的工程师；表 F.2 则与设计将在 FPGA 中实现内容的客户相关。
这两个表都给出了类似的度量列表，并根据 SIL 排名标注为 HR 或 R。HR 标准表示强烈推荐，R 表示推荐。不过，对于 R 或 HR 的含义，不同人存在不同的解读。在我看来，如果一个问题被标记为 “R”，那么应该给出不实施该措施的简短理由；对于标记为 “HR” 的内容，则需要更详细地解释为何自身的判断比编写标准的专家更合理。有些项目被标记为 “HR*”，可理解为必须执行，没有借口（暂且忽略这只是一个信息丰富的附件，不应包含任何 “应” 声明这一事实）。“R”“HR” 等标注下的参考文献旨在表明实施此技术的工作量，但标准并未明确说明这在实际操作中具体意味着什么。
## FPGA 实现的设计流程
1. 创建电路描述：在 HDL 中创建所需电路的描述（也可基于模型的输入）。
1. 选择目标 FPGA：挑选具有足够可重配置逻辑的目标 FPGA，以处理编写好的 HDL 代码。
1. 代码合成：运用软件工具将行为代码合成到 FPGA 中可用的可重新配置资源上。
1. 生成比特流：使用软件工具生成上述配置的比特流表示，以便加载到 FPGA 中。
## FPGA 在安全应用中的问题
### 软错误问题
软错误在之前的 “安全问题” 博客中已有介绍。这类错误由包装材料中存在的 α 粒子或来自太空的中子粒子引发，会导致 RAM 单元和 FF 中存储的值改变状态。虽然 ASIC 和 FPGA 都可能包含 RAM，软错误问题有相似之处，但 FPGA 的特殊之处在于，当可编程逻辑的配置存储在 RAM 单元中时，单个位的扰动就可能有效地改变硬件。对于硬连线 ASIC，其逻辑功能是固定的，不受 α 和中子粒子的影响，而 FPGA 却实实在在地面临这一问题。若软错误率为 1000 FIT / 兆位（参照 IEC 61508 – 7：2010），那么具有 1 万配置位的 FPGA 的软 FIT 将达到 1000。值得注意的是，IEC 62380：2004 允许计算 FPGA 的硬 FIT，且其中 λ1 每个晶体管的 20e – 5/h 值高于 uC 和 DSP 的 3.4e – 6。
### 其他问题
1. 过时风险：FPGA 通常处于技术前沿，可能会迅速过时。例如，为了实现 65nm 上 ASIC 的性能，可能需要在 20nm 上设计 FPGA，因为可重新配置逻辑会带来额外开销。
1. 单比特和多比特翻转：由电源排序和 EMC 引发的单比特和多比特翻转问题。
1. 硬件容错实现：如何实现片上硬件容错（可参考 IEC 13 – 61508：2010 中的注释）。
1. 故障覆盖率：实现高数字故障覆盖率方面存在挑战。表 F.1 要求数字 ASIC 的故障覆盖率 > 98.5%，但 FPGA 一旦编程，却没有最低要求。
1. 标准相关性：IEC TS 61508 – 3 – 1：2016 的相关性问题。
1. 成本问题：与实现类似功能的 ASIC 相比，FPGA 成本可能较高。
1. HDL 编码责任：FPGA 用户在 HDL 编码方面可能面临额外责任，尤其当 HDL 编码并非公司核心竞争力时。
1. 温度范围：与专用工业或汽车 IC 相比，FPGA 的温度范围有限。
1. 功率问题：相对较高的功率（这可能导致可靠性指标变差）。
1. 网络安全问题：与串行接口上的逻辑可编程性相关的网络安全隐患。
## FPGA 的优势
尽管存在上述诸多担忧，但 FPGA 凭借其灵活性在许多场景中极具价值。尤其是在快速原型设计和追求快速上市时间方面，一个硬件解决方案能够针对多个终端应用进行定制，且无需重新设计 PCB，并且几乎能够连接到任何设备。这在小批量和概念验证设计中表现得尤为突出。例如，要找到一个带有 MIPI 接口的优质工业处理器并非易事，但对于 FPGA，只需在 HDL 中实现胶合逻辑即可解决。
