登录 | 注册 退出 投稿

符合 ISO 26262 的FMEDA故障注入和数据分析

牛喀网专栏作者 2022-09-09

内容提要:在本文中,介绍了基于 FMEDA 的故障注入和数据分析框架,这一框架符合ISO-26262—即针对关键性安全汽车的功能安全标准。同时,通过基于RISC(精简指令集计算机)的 SoC 证明了该框架的有效性,并描述了如何降低生成 FMEDA 报告的工作量。


随着汽车行业对于安全性和系统运行可靠性要求的日趋严格,如果将安全/可靠性要求纳入设计规范,设计的复杂性将会有所提高。如何遵循ISO 26262标准制定有效的安全流程,从而帮助设计人员处理复杂的硬件设计和验证?

在功能安全的安全分析中,硬件的安全级别是通过 FMEDA 的硬件架构指标计算来进行评估的,这一方式有助于进一步验证系统在硬件级别的安全性。

在本文中,介绍了基于 FMEDA 的故障注入和数据分析框架,这一框架符合ISO-26262—即针对关键性安全汽车的功能安全标准。同时,通过基于RISC(精简指令集计算机)的 SoC 证明了该框架的有效性,并描述了如何降低生成 FMEDA 报告的工作量。

· ISO 26262 中的 FMEDA 以及故障注入

根据定义,FMEDA 是一种用于获得子系统/产品级别故障率、故障模式和诊断能力的系统分析技术。ISO 2626中所描述的 FMEDA 旨在评估硬件架构指标和因任意硬件失效而导致的违反安全目标的情况,以便在无法满足硬件安全级别要求时提供足够的信息来改善系统安全。硬件架构指标包括单点故障指标(SPFM)、潜在故障指标(LFM)和硬件随机失效度量指标(PMHF)。

单点故障指标(SPFM)通过单点故障或残余故障在安全机制中的覆盖范围或(安全故障)设计来反映某一项对于单点故障或残余故障的鲁棒性。较高的 SPFM 意味着该项硬件中较低比例的单点故障和残留故障。

潜在故障指标(LFM)通过故障在安全机制中的覆盖范围,或通过驾驶员在不违反安全目标的前提下识别出现存故障,或(安全故障)设计来反映某一项对于潜在故障的鲁棒性。较高的 LFM 意味着该项硬件中较低比例的潜在故障。

硬件故障概率指标(PMHF)主要用于评估由于任意硬件失效而导致违反安全目标的情况。

ISO 26262 中划分了四个不同的汽车安全完整性等级(ASIL),分别为 ASIL A~D,其中ASIL D代表最高的安全等级。随着更高的 ASIL 等级要求的提出,需要满足包括硬件架构指标在内的更严格的安全要求。表1分别展示了在不同ASIL等级目标下 SPFM、LFM 和 PMHF 的目标值。值得注意的是,ASIL A 没有目标值。

1.png

表1 ASIL 等级对应的 HW 架构指标的目标值

· ISO 26262 中的故障注入

建议将故障注入应用于硬件安全验证,这样做有助于:

支持硬件架构指标评估:

- 评估安全机制的诊断覆盖范围

评估诊断时间间隔和故障反应时间

确认故障影响

评估安全机制的完整性和正确性

- 验证安全机制的完整性和正确性,以检测故障并控制故障影响

- 根据要求验证安全机制功能的完整性和正确性。

目前,诸如 Synopsys Z01X ,Cadence Incisive功能安全模拟器(IFSS)和Mentor Graphics 开发的Questa验证解决方案等商业探索性数据分析(EDA)工具,以及一些研究论文中进行相关研究均支持通过硬件故障注入和仿真来评估某个安全机制的诊断范围。然而此类工具不支持基于 FMEDA 的数据分析,因此设计人员仍然需要手动生成 FMEDA 报告。我们可以提供一款支持FMEDA计算、指标跨层级传递和报告生成的自动化功能安全分析工具REANA,并推荐一种基于 FMEDA 的故障注入和数据分析方法,称为故障注入和数据分析(FIDA)。

· 基于 FMEDA 的故障注入和数据分析

故障注入和数据分析(FIDA)用于生成 FMEDA 报告的框架主要包括三个阶段:(1)硬件设计解析阶段;(2)故障仿真和数据分析阶段,以及(3)失效模式影响及其诊断分析(FMEDA)报告导出阶段。

执行流程如图1所示。

2.png

图1 FIDA框架

这里需要注意的 FIDA 不是独立的工具,它依靠商业硬件描述语言(HDL)模拟器和波形比较器来生成故障仿真和数据分析结果。但是,这也意味着 FIDA 不仅仅属于某个特定的 HDL 工具。从理论上讲, FIDA 支持所有用来比较两个不同的值变更转储(VCD)文件的 Verilog HDL 仿真器和波形比较器。

在硬件设计解析阶段,用户可以使用任意 HDL 模拟器或编译器解析其 Verilog 代码,从而生成包括输入/输出端口、信号、时钟和复位等在内的故障注入目标。此外,用户还可以指定注入的故障数量和这些故障注入目标之间的故障分布。如图1所示,阶段2由三个步骤组成。

在 “故障注入”这一步骤中,FIDA 生成一组带有故障注入命令和脚本文件的测试台,以便在下一步骤中自动执行故障模拟。首先,定义一个故障注入活动,主要由以下几个部分组成:(a)注入故障的数量以及不同注入目标的分布;(b)故障类型,如故障锁定或位翻转;(c)故障持续时间和故障发生时间,以及(d)永久性或暂时性故障。

用户需要指定项目(a)和(d)进行 FIDA 的输入。随后 FIDA 可以自动生成项目(b)和(c)。最后 FIDA 根据指定的永久性或暂时性故障确定每个故障的类型和持续时间。

根据指定的注入故障数, FIDA 会生成相同数量的测试台。在每个测试台中, FIDA 通过插入命令来控制每个故障的注入和转储故障模拟结果。由于这些插入的命令是指Verilog 内置命令,例如“ force”、“ release”和“dump”,因此可以在任意 HDL 模拟器中执行这些命令。

在“故障模拟”这一步骤中,唯一要操作的是执行 FIDA 命令。这一命令之后将会执行 FIDA 在“故障注入”步骤中生成的一组脚本文件,随后,将会自动进行所有故障模拟。在完成所有故障模拟之后,所有模拟故障的 VCD 格式波形文件将转储在预先指定的目录中,并且执行无故障仿真以生成黄金波形。

然后在 “数据分析”这一步骤中,对于每个注入的故障, FIDA 将对(a)故障仿真波形与黄金波形进行比较,以及(b)故障仿真和无故障仿真的静态随机存取储器(SRAM)内容进行比较。如果(a)和(b)的比较结果不同,则故障仿真结果会被标识为 SoC 失效”。FIDA 对每个注入的故障重复比较,并累积“SoC 失效”的数量。在比较所有故障仿真结果后,即可获取 SoC 故障的总数量。然后,通过将 SoC 失效数量除以注入的故障总数,FIDA 可以计算出 FMEDA 报告中的诊断覆盖率(DC),又称为失效模式覆盖率(FMC)。最后,可以计算硬件架构指标并将其填入 FMEDA 报告中。

另一方面,失效模式分析报告的生成能够帮助用户进一步识别哪些失效模式是促使所有 SoC 失效的主要因素。目前,FIDA 将 SoC 失效划分为12种不同的模式,如表2所示。

3.png

根据相应的波形比较结果,FIDA 自动对失效模式进行分类。该分类的标准是从时域和值域方面对无故障和有故障仿真之间进行一系列比较,如图2所示。

4.png

对于时域,FIDA 将有故障模拟的结束时间与作为基准的无故障模拟的结束时间进行比较。对于值域,FIDA 将在模拟结束时转储并比较有故障模拟和作为基准的无故障模拟数据存储器中的内容。总而言之,用户只需要准备 Verilog 代码并指定用于故障仿真的相关参数,然后 FIDA 将接管剩下的任务以生成 FMEDA 报告。因此,与传统的手动 FMEDA 报告生成相比,FIDA 通过自动生成 FMEDA 报告有效地减少了工作量。借助于提出的框架,因安全级别不足而导致的重新设计迭代的次数也有望减少。

· 案例分析

为了证明故障注入和数据分析(FIDA)的有效性,我们采用基于 OpenRISC 内核的 SoC,即 ORPSoC ,作为案例研究。该 SoC 是通过 Verilog RTL 开发的。图3为ORPSoC的框图。

5.png

图3 ORPSoC 框图

采用了包含三个通用程序的一组基准:斐波那契数列(Fib),冒泡排序(Sort)和矩阵乘法(Matrix)。以下展示了两种仿真配置:一种用于失效模式分类,另一种用于失效模式影响及其诊断分析(FMEDA)。

A. 仿真配置1:失效模式分类

在该仿真配置中,为更好地演示原始 ORPSoC 在没有安全机制保护的情况下的失效模式分类,注入了永久性故障。表3 展示了三个测试程序的失效模式分类结果。每个测试程序中都注入了1000个相同的永久性故障,以便观察故障对不同程序功能的影响。

6.png

B.模拟配置2:失效模式影响及其诊断分析(FMEDA)

在该仿真配置中,将永久性的故障注入拥有和没有安全机制的 ORPSoC 中。值得注意的是,每个故障模拟中仅注入了单个故障。因此,FIDA 仅计算单点故障指标(SPFM)。由于篇幅所限,本文未就含有潜在故障指标(LFM)的 FMEDA 报告进行描述。ORPSoC 中的整个 OR1200 CPU 采用安全机制三模冗余。表4的左侧和右侧分别显示了不带三模冗余(TMR)保护和带 TMR 保护的 ORPSoC 的 FMEDA 报告。故障仿真结果的分析表明,注入到OR1200 CPU 某些子部分中的故障不会对SoC操作产生任何影响。在表4(红色框)中将这些子部分标识为“NES(不另说明)”,代表“对SoC无影响”,从而将其从FMC 和 SPFM 计算中排除。这两个 FMEDA 报告的比较结果证实了 TMR 安全机制能够促进 SPFM 的改善。

7.png

表4

· 总结

本文提出了符合ISO-26262的基于FMEDA(失效模式影响及其诊断分析)的故障注入和数据分析框架。通过所提出的带有故障注入和数据分析(FIDA)工具的三相框架,将自动执行故障仿真和仿真结果的数据分析。此外,FIDA 还可以自动执行失效模式分类并生成 FMEDA 报告,以便设计人员快速识别硬件的缺陷并建立安全机制,从而提高安全水平。因此,借助本文提出的故障注入和数据分析框架,设计人员与以前相比能够相对轻松地满足要求的硬件安全水平。



作者:牛喀网专栏作者
牛喀网文章,未经授权不得转载!


下一篇: 自动驾驶功能安全和SOTIF混合分析框架(下):HCL模型示例及讨论
上一篇: OTA绝不仅系统升级那么简单,整车OTA将改变现代汽车的能力!
相关文章
返回顶部小火箭