0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:ADI 作者:ADI 2023-06-29 10:28 次阅读

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 中实现的内容的客户相关。

wKgZomSc8l6AUvHPAAHwtC75vHM867.png

图 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中实现胶水逻辑即可。

审核编辑:郭婷

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

    关注

    48

    文章

    6809

    浏览量

    147636
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593192
  • adc
    adc
    +关注

    关注

    95

    文章

    5651

    浏览量

    539458
收藏 人收藏

    评论

    相关推荐

    IC观察:FPGA市场大有可为

    曾有句话这样说到:当你认为设计完美的时候,不是因为没有什么可以加,而是你不能再去除什么。这话用在FPGA上是再合适不过了。从简单的逻辑集成到现在集成ARM核、DSP、模拟电路、
    发表于 08-27 13:35 857次阅读

    题目出来了,没有什么资料

    毕业设计的题目出来了,题目是基于ARM的电能质量监测系统,网上找了一下没有什么资料,请问各位高手应该从哪里入手好啊?我是学的不怎么样,老师说可以自己改题目,不过自己改题目,又不知道做什么,真的好烦,希望能够得到各位的指点指点
    发表于 02-17 20:16

    对新手非常有用的电子器件基础资料

    本帖最后由 eehome 于 2013-1-5 09:56 编辑 对新手非常有用的电子器件基础资料PCB打样找华强 http://www.hqpcb.com/3 样板2天出货
    发表于 10-20 20:13

    03国赛控制类准备步骤,非常有用

    这是关于国赛准备的一些模块原理图以及相关PCB布线等的步骤,非常有用
    发表于 01-23 22:00

    请问有用过32位工作电压为5V的芯片的吗?有没有什么问题?

    请问有用过MM32工作电压为5V的芯片的吗?有没有什么问题?
    发表于 01-12 08:45

    没有源代码可以过时的FPGA设计迁移?

    如何解决这个问题。 由于这是较旧的项目,因此我们没有FPGA的任何源代码和功能。我们只有编程文件(位文件/ Bin文件)。如果Xilinx对此有所帮助,那将非常有用。谢谢你的问候,Venkatesh
    发表于 04-30 14:57

    想学硬件嵌入式没有什么基础可以学会吗

    硬件嵌入式想学没有什么基础可以学会吗
    发表于 12-21 08:10

    51单片机按键消抖有没有什么简洁又完美的方法?

    51单片机按键消抖有没有什么简洁又完美的方法
    发表于 11-01 07:21

    Vim中默认未启用但实际非常有用的选项

    Vim 作为一款功能强大、选项丰富的编辑器,为许多用户所热爱。本文介绍了一些在 Vim 中默认未启用但实际非常有用的选项。虽然可以在每个 Vim 会话中单独启用,但为了创建一个开箱即用的高效编辑环境,还是建议在 Vim 的配置文件中配置这些命令。
    的头像 发表于 09-25 17:54 5179次阅读

    区块链和房地产交易可能完美的匹配

    区块链和房地产交易似乎是完美的匹配,因为这类交易需要安全且不可变的所有权记录,而信任是关键。区块链技术可能允许任何两方直接进行交易,而不需要可信的第三方,如房地产中介。尽管中介机构似乎不太可能完全消失。
    发表于 12-24 09:52 1684次阅读

    小米11首发骁龙888 屏幕接近完美

    小米11不仅内在强大,首发骁龙888,而且非常有面子,有着近乎完美的屏幕。
    的头像 发表于 12-29 09:41 1640次阅读

    20个非常有用的Python单行代码

    有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题!
    的头像 发表于 03-14 17:45 615次阅读

    17个非常有用的Python技巧

    Python 是一门非常美的语言,其简洁易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找、分割和合并列表等。这 17 个技巧都
    的头像 发表于 04-10 14:28 343次阅读

    一个简单但非常有用的小前置放大器电路

    一个简单但非常有用的小前置放大器电路可以通过连接几个晶体管来构建。该装置可轻松将 1mV 信号提升至 100mV 甚至更高。因此,它非常方便放大不能直接与功率放大器一起使用的极小信号。
    的头像 发表于 06-10 17:27 1226次阅读
    一个简单但<b class='flag-5'>非常有用</b>的小前置放大器电路

    为什么说没有完美的PLC,只有最合适的PLC?

    没有完美的PLC,只有最合适的PLC,是因为不同的应用场景和需求对PLC有不同的要求和限制。以下是一些原因: (1)功能需求:不同的应用需要不同的功能和特性。某些PLC可能在某些方面具有出色的性能
    的头像 发表于 10-14 08:15 246次阅读