登录 | 注册 退出 投稿

电子控制器硬件随机失效自动化安全设计三步曲

牛喀网特邀专家 2022-08-03

内容提要:本文总结了硬件随机失效的安全设计过程中的最佳实践经验。


自动化的好处包括可以降低人为错误的可能性,节省随机工作流程中重复工作所浪费的时间。

随着先进的驾驶辅助系统和自动驾驶技术的引入,汽车集成电路(IC)的复杂度呈快速增长。为了确保汽车集成电路免受不可预知的随机硬件故障、功能故障的影响,复杂性的增加直接导致了汽车负担的增加。减少随机故障仍然是整个行业的主要挑战和难点之一。

为了确保随机失效不会影响功能并保障司乘人员安全,必须通过实施安全机制来加强设计,以识别和控制这些失效。ISO 26262标准要求开发团队检测并证明每个安全机制的有效性。

以前,汽车行业利用工具和专家判断相结合的方法来分析和处理随机失效。使用这种方法,初始安全分析的流程通常是从总体到具体的方式,利用失效模式影响诊断(FMEDA)来分析。尽管总体到具体的分析非常必要,但随着半导体复杂性的增长,导致专家判断更难,也容易出错。因此,有必要采用自动化的工作流程来帮助专家解决随机失效。自动化随机失效工作流程减少了人为错误和签核时间,降低了人为错误的可能性,并消除了在工作流程中迭代所浪费的时间。

我们不能将功能性安全工作流程视为一系列单个问题的解决方案。功能安全经理们已经证明利用一些工具链的的方法有效。我们在处理随机故障的过程中提出了一个三步工作流程,通过自动化安全分析、安全注入和安全验证三个任务来解决ISO 26262的随机故障问题(图1)。由于这种自动化流程消除了传统安全分析工作流程的典型的迭代过程,因此我们将这种新方法称为“一次成功工作流程”,本文对此工作流程进行了相关的描述。

1.jpg

1. 比较两个功能安全随机失效工作流程:传统工作流程与简化的三步流程。

安全分析

安全分析的目标是充分了解设计对随机硬件故障的敏感性,以及必须采取的步骤,以实现由更高级别的ASIL等级定义的安全指标。

我们采用了几种分析技术来确定与目标安全指标相关的设计安全性。结构检查是一种行之有效的方法,用于及时计算和验证在创建FMEDA过程中进行的FIT估计。

通过结构分析和影响分析,量化安全机制对随机硬件故障捕捉的有效性,实现了估计的诊断覆盖率(DC)。FIT和DC代替了原始的专家分析验证和FMEDA差距分析。

例如,将对包含模块备份的设计进行结构分析。然后,根据备份模块和相关检查程序覆盖的设计结构评估诊断覆盖率。计算的诊断覆盖率验证了从总体到具体的FMEDA诊断覆盖率评价(图2)。

2.jpg

2. 结构分析可以确定安全关键设计结构的覆盖范围。

因为在设计早期能提供及时反馈,FMEDA差距分析是一个重要检查点。该分析避免了在完成安全验证后发现故障轻减不足而造成高昂代价的问题。除了差距分析外,结构分析还细化了每个基本结构的对FIT贡献的作用。如果结构分析显示存在安全漏洞,基本FIT数据将突出显示需要额外安全加强的设计结构。利用这些信息,安全架构师可以考虑安全加强选项,通过考虑电源和面积等,实现所需的安全目标。例如,安全架构师可以估计将纠错代码(ECC)添加到内存中所产生的影响,审查诊断覆盖率的总体改进,并确定所推荐的一组安全机制是否能满足安全目标。这种对选项的探索确保了一旦随机失效工作流程完成,所推荐的安全机制能实现ASIL目标,从而消除了剩余两个阶段(安全注入和安全验证)的迭代。安全探索的结果是对满足安全目标所需的设计改进的清晰理解。满足安全目标所需的推荐安全机制将直接送入安全注入阶段。

安全注入

安全机制具有多种优点,在检测随机硬件故障方面,每一种安全机制都具有其独特的的有效性。通常,人们会认为安全机制就是失效安全或失效运行。失效安全机制能够进行随机故障检测。失效运行机制能够纠正随机的硬件故障;因此,失效安全机制通常需要更高的资源利用率(电源、性能、面积),而且要满足最严格的安全目标(指定为ASIL D)。

从传统意义上讲,手动设计过程中团队以及项目之间具有不连贯和不一致性。通过自动注入安全机制,在设计中可实现以下优点:· 逐渐实施一致的安全机制,消除人为错误;· 将工程师从一般设计中解放出来,重点放在差异性特征的设计方面;· 允许对设计架构未知的第三方IP安全增强;

· 允许对机器生成的代码进行安全增强,比如高阶的图形化设计。

在安全分析的指导下,用户注入能满足功率、性能、面积和安全目标的安全机制(图3)。工程师可从以下硬件安全机制中选择:· 触发器翻转、二重和三重备份;· 有限状态机保护;· ECC和三重模块冗余;· 模块级的锁步和三重备份;

· 端到端奇偶校验和循环冗余校验。

3.jpg

3.工程师可从上述一套硬件安全机制中选择

安全机制注入后,必须使原始设计和增强设计逻辑等效,以确保没有引入功能偏差。

安全验证

一旦故障缓解逻辑增强了设计,就必须通过故障注入证明该设计可以安全地避免硬件故障。故障注入的目标是对故障列表中的每个故障进行全面分类,并验证安全分析期间估计的诊断覆盖率指标。

通过向设计中注入故障,并通过验证自动注入的安全机制是否捕捉到功能偏差来进行故障分类。故障列表的大小直接影响到故障的长度,因此必须采取一切可能的措施将其减少到最小集。基于此,我们将故障活动细分为两个子部分。

在第一部分中,采用在安全分析中使用的相同分析技术自动生成故障列表。故障列表一旦生成,一系列的故障优化工作可将故障列表减少到最小的问题集。第一个优化确定了安全关键影响锥中包含的逻辑,消除了不影响安全目标的逻辑(图4)。

4.jpg

4.故障清单优化流程中包含三个步骤通过使用分布在安全分析中的相同结构分析算法和安全机制感知分析,可以进一步优化故障列表,调整列表使它只包含直接有助于诊断覆盖的故障。最后,进行故障压缩以消除逻辑上等效的故障。例如,与门输出卡在0位的故障等效于任何的一个输入卡在0位的故障,通过在这种方式,可减少门的故障节点数。故障优化是减少故障注入范围的关键一步。一旦优化,就可以使用故障列表将随机的硬件故障注入到设计中。故障的第二部分通常是最耗时的阶段,因为当前的设计比较复杂,这种复杂性可能会导致优化的故障列表出现数十万个设计节点。故障注入的主要问题在于找到一种能够在可接受的时间内结束故障活动的方法。目的是注入故障,模拟对设计行为的影响,并最终验证安全分析期间计算的估计诊断覆盖率。故障仿真利用功能刺激来实现故障注入。模拟器识别故障注入点,并在可能出现功能偏差时注入故障。一旦注入,故障就会传播,直到故障被分类为安全/可检测、单点、残余、多点潜在或多点检测/感知(图5)。

5.jpg

5.这些影响锥体用于对单点和双点故障系统进行分类

为了实现最佳性能,系统中布置了三个并发级别。首先,利用并发故障注入算法注入故障,提供跨单个线程的并行性。与单线程并发一致,将故障从入一个CPU内核簇中注入,然后故障将进一步分布到更大的网格中。故障管理监视故障分布情况,然后合并结果数据。因为现在的汽车半导体设计,系统中会出成千上万个故障节点,因此,并发故障注入对于是否能满足项目进度至关重要。

总结

对于减少整个工作流程中的迭代次数来说,自下而上的安全性分析非常重要。除了验证专家的判断之外,它还在设计增强和故障验证期间提供了关键指导。自动化随机故障工作流程的三大支柱(安全分析,安全注入和安全验证)为随机故障缓解和验证提供了一种无缝且高效的方法。

本文总结了硬件随机失效的安全设计过程中的最佳实践经验,看后是否对您有帮助呢?



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


下一篇: 自动驾驶安全设计实例:转向系统的安全设计和安全测试
上一篇: 【精通AUTOSAR】第三章:AUTOSAR给我们带来了什么?又夺走了什么?
相关文章
返回顶部小火箭