没有什么是完美的,但FPGA可能非常有用

描述

FPGA是非常有用的器件,通常与ADI公司的ADC或功率IC等一起设计到客户的设计中。FPGA 可以实现微控制器和所需的任何胶水逻辑。在这篇博客中,我将讨论一些与功能安全和FPGA相关的问题。

首先,什么是FPGA?FPGA(现场可编程门阵列)是一种集成电路,但它不是专用的片上逻辑,它由可重新配置的逻辑和通常包括 uC 的硬宏组成,例如 ARM Cortex 或 A9 系列(某些 uC 也提供 HDL/软格式)。可重构逻辑通常采用逻辑块数组的形式。FPGA制造商包括Xilinx,Altera(现为英特尔的一部分),莱迪思半导体和Microsemi。可重新配置意味着使用FPGA可以为您的硬件提供灵活性,这通常只能在软件解决方案中找到,包括能够快速更改“硬件”,如果使用分立IC将需要数周或更长时间,如果使用ASIC则需要几个月的时间。但是,从安全的角度来看,这意味着您也会遇到一些令人头疼的软件问题。

对于某些FPGA,FPGA的配置存储在片上闪存或EEPROM中,但对于较大的FPGA,则存储在片外闪存中,并在启动时加载到FPGA上的RAM中。FPGA上的可重构逻辑通常使用HDL(硬件描述语言)完成,例如Verilog或VHDL,它看起来非常像软件(我必须将“Verilog软件吗?”添加到我即将发布的博客列表中)。

IEC 61508-2:2010的附录F为在设计数字ASIC(表F.1)和FPGA(表F.2)时避免系统错误提供了指导。实际上,表 F.1 与设计 FGPA 芯片的人员相关,例如 Xilinx 或 Micro-semi 的工程师,表 F.2 与设计将在 FPGA 中实现的内容的客户相关。

微控制器

图 1 - IEC 61508-2:2010 表 F.2 的摘录

这两个表都给出了类似的度量列表,根据 SIL 排名为 HR 或 R。HR 标准为强烈推荐,R 为推荐。R或HR的含义似乎被不同的人有不同的解释,但对我来说,这意味着如果一个问题被标记为“R”,你应该提供一个简短的理由来不实施该措施,对于标记为“HR”的东西,理由需要更详细地解释为什么你的智慧比编写标准的专家更清楚。有些项目实际上被标记为“HR*”,这可以解释为没有借口只是这样做(我们将忽略这样一个事实,即这是一个信息丰富的附件,不应该包含任何“应”声明)。“R”、“HR”等下的参考文献。旨在表示实施此技术的工作量,但该标准没有明确的指导,说明在这方面应该意味着什么。

FPGA 实现的设计流程包括如下步骤。

在HDL中创建所需电路的描述(也可以基于模型的输入)

选择具有足够可重配置逻辑的目标 FPGA 来处理您的 HDL

使用软件工具将行为代码合成到 FPGA 中可用的可重新配置资源上

使用软件工具生成上述配置的比特流表示,该表示可以加载到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。

FPGA在安全应用中的其他问题包括:

过时 – FPGA 通常设计在技术的最前沿,可能会过时 - 为了实现 65nm 上 ASIC 的性能,您可能需要在 20nm 上设计 FPGA,因为可重新配置逻辑带来的开销

由电源排序和EMC引起的单比特和多比特翻转

如何实现片上硬件容错(参见IEC 13-61508:2中的注释2010)

实现高数字故障覆盖率。表F.1要求数字ASIC>98.5%,但FPGA一旦编程,就没有最低要求

IEC TS 61508-3-1:2016的相关性

与实现类似功能的ASIC相比,FPGA很可能很昂贵

FPGA用户在HDL编码可能不是公司核心竞争力的情况下实现HDL代码的额外责任

与专用工业或汽车IC相比,温度范围有限

相对较高的功率(如果没有别的,可能会导致更差的可靠性数字)

与串行接口上的逻辑可编程性相关的网络安全问题

“宇宙的基本规则之一是没有什么是完美的。完美根本不存在...没有不完美,你和我都不会存在。

~斯蒂芬·霍金

尽管存在这些担忧,但FPGA的灵活性,特别是对于快速原型设计和快速上市时间,一个硬件解决方案可以针对多个终端应用进行定制而无需重新设计PCB的事实,以及几乎可以连接到任何东西的能力,这使得它们非常有用。对于小批量和概念验证设计尤其如此。例如,尝试找到一个带有MIPI接口的漂亮工业处理器,这并不容易,但对于FPGA,您只需在HDL中实现胶水逻辑即可。

审核编辑:郭婷

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

全部0条评论

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

×
20
完善资料,
赚取积分