汽车芯片和集成电路(IC)是高级驾驶员辅助系统(advanced driver assistance systems-ADAS)和联网自动驾驶汽车(connected autonomous vehicles-CAV)的基础。尽管IC已经变的非常可靠和耐用,但依然会发生故障。例如物理现象(如电迁移)可以引起开路和短路,从而对IC造成永久损害。宇宙辐射中的阿尔法粒子会撞击集成电路并破坏存储器的内容。最终,这些事件可能导致故障,甚至可能导致人命丧失。丰田意外加速事件就是电子设备故障如何导致车祸的一个不幸地证明。一项备受瞩目的研究得出的结论是,受影响的丰田车型,其中一个关键问题与IC存储器中的纠错功能发生故障(或缺少该功能)有关联。此外,该研究估计,对于大量的汽车,危险故障几乎每天都会发生。

与丰田案中涉及的芯片相比,今天的集成电路要复杂几个数量级。即使是中端车辆,其功能也远远超出自动加速和制动,还包括自动转向(主动车道保持辅助系统)。晶体管尺寸的缩小和降低功耗的需求意味着破坏集成电路状态所需的能量更少,使其更加脆弱。

为了防止或控制故障,现代汽车IC包括各种附加功能,称为安全机制(safety mechanisms-SM)。专门用于内存保护,并且被广泛使用的SM包括提供单错误纠正和双错误检测(single-error correction and double-error detection-SECDED)甚至双错误纠正和三重错误检测(double-error correction and triple-error detection-DECTED)的错误纠正代码(error-correcting code-ECC)模块。

测量芯片安全

ISO 26262是道路车辆电子系统的功能安全标准,它定义了四个汽车安全完整性等级(ASIL-A,ASIL-B,ASIL-C和ASIL-D)的关键指标和目标。与控制转向系统的IC(可能为ASIL-D)相比,控制尾灯的IC所要求的完整性等级(例如ASIL-A)更为宽松。根据要求的ASIL,开发汽车电子产品的工程师必须实施SM并提供证据。

故障模式、效果和诊断分析(FMEDA)是一个已建立的、系统的过程,用于对IC的故障模式和诊断能力进行定量分析(见下图)。即使对于ASIL-B目标,这也是一项耗时且昂贵的任务。FMEDA过程包括三个关键步骤:(1)验证IC安全体系结构以及根据故障模式对硬件功能和故障进行划分;(2)确定诊断范围,以衡量安全机制防止违反安全目标的能力;(3)计算ISO 26262硬件安全指标。

ISO 26262的关键安全指标是单点故障指标(single-point fault metric-SPFM),潜在故障指标(latent fault metric-LFM)和随机硬件故障的概率指标(probabilistic metric for random hardware failure-PMHF),单点故障或残留故障会导致违反安全目标。SM旨在减少残留故障的数量,从而实现目标SPFM。另一方面,潜在故障本身不会导致违反安全目标,但是如果发生第二个故障,则可能会违反安全目标。潜在故障也称为多点故障(二级)。例如,一个影响SM的故障可能是潜在的,并会损害其功能。一个可能发生在很久以后的二次故障(理应被SM检测并指示出来),可能会被漏掉并导致危险的IC故障。

还值得注意的是,SM中的故障也可能残留。这是一种不幸的情况,其中保护功能的故障可能导致IC故障。尽管此类故障应按比例减少(否则,SM会使安全指标恶化而不是改善安全指标),但只有全面的分析才能确认这一点。

次优的FMEDA流程依赖于容易出错且费力的安全架构。此外,验证和安全工程师经常使用大量的故障模拟来确定安全指标。故障模拟具有三个关键缺陷:(1)它只能提供依赖于激励的指标,从而影响对结果有效性的信心,尤其是对于脱离环境的安全元素(safety elements out of context-SEooC);(2)需要大量的计算资源;(3)建立,分析结果并提高刺激质量需要大量的工程工作。另一方面,基于形式化方法的故障分类更为严格,不需要激励,但可能会导致复杂性问题,从而限制了其适用性。

FMEDA过程的三个关键步骤:(1)安全架构分析;(2)确定诊断范围;(3)计算ISO26262安全指标。

安全意识的硬件分区

安全分析步骤使用了安全感知的硬件分区过程,通过故障贡献分析(Fault
Contribution
Analysis-FCA)的应用实现自动化。失效模式与由关键设计信号界定的设计子部分相关,这些设计信号包括预期功能的受保护输出以及SM的诊断输出。每个SM子部件可以分为两类:(1)如果其故障可以传播到预期功能的输出(观察点),则处于活动状态;(2)如果其故障只能传播到SM的诊断输出(诊断点),则为被动。子部件被处理以生成故障列表和属性(例如,估算硅面积),可用于故障分析和其他后续步骤。值得注意的是,安全分析步骤可扩展到大型复杂的设备,从而避免了故障仿真和标准形式技术的缺点。

硬件分区步骤的结果立即提供了保守估计的安全指标。如果估计结果未达到目标ASIL,则故障模拟或基于形式的故障分析只能用于特定的子部分。故障传播分析(Fault
Propagation Analysis-FPA)应用程序和故障检测分析(Fault Detection
Analysis-FDA)应用程序可自动执行此附加故障分析步骤,这实际上有效地减少了估计指标的悲观预期,从而改善了结果。FPA应用程序会识别安全故障,这些故障不会导致违反安全目标,因为它们不会传播到安全关键输出。FDA应用程序可以识别故障,这些故障将始终由SM检测和指示。

最后,每个子部分的故障分析结果可以组合起来,以得出整个SoC的安全指标。此步骤也可以通过硬件度量计算(Hardware Metrics Computation-HMC)应用程序自动执行。

结论

满足ISO

26262的要求具有一定的挑战性。根据目标ASIL,提供SPFM和LFM达到足够高值的证明,可能需要准确识别残留故障和潜在故障。在SM中潜在的残留故障和潜在故障需要详细分析。对于具有多个SM的大型SoC来讲,硬件安全指标的计算通常依赖于专家的手动分析和故障仿真。手动分析需要大量的工作且容易出错。故障仿真需要大量的计算资源,以及大量的工程工作来开发一个测试平台并证明合适的工作负载。

OneSpin的研究介绍了一种可替代的、可扩展的硬件安全指标计算方法。大型SOC可以使用安全意识分区工具分解为部件和子部件,这些工具需要最少的用户输入。可以快速估计各子部件的故障分类结果。如果保守估计未达到目标,则可以有选择地部署准确的故障分类。这可能包括识别具有或不具有纠错功能的SM中的安全,残留和潜在故障。通过使用基于形式的技术,可以在不需要测试平台或故障仿真的情况下,执行自动的、严格的故障分类。

当前,提供汽车SoC和半导体IP的大型组织经常依靠内部工具来改善其IC开发流程。小型和初创企业在安全合规性方面苦苦挣扎,因为他们需要将投资重点放在其独特的功能上,并且可能会很难雇用安全专家。汽车行业需要成熟且易于使用的电子设计自动化(electronic
design
automation-EDA)解决方案,这些解决方案需要是在多家公司和IC项目中实践的最佳结果,从而降低安全合规成本和专家需求。OneSpin的解决方案解决了这些挑战。

-版权所有,抄袭必究-

更多信息:http://www.softtest.cn/

汽车芯片如何高效符合ISO 26262功能安全标准的更多相关文章

  1. 保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤

    保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤 为保障汽车软件质量,使软件开发符合ISO 26262功能安全标准,需要我们对开发流程做出改进,并与2018年的更新同步. 本视频课 ...

  2. 功能更新 | medini analyze — 符合ISO 26262的功能安全平台工具

            汽车电子电气系统的功能安全随着智能驾驶.新能源等新兴技术的发展而愈发受到重视.在国际功能安全标准ISO 26262的落地过程中遇到了很多的棘手问题:如何正确而有效地实施HARA以得到合 ...

  3. 如何完成符合ISO 26262要求的基于模型设计(MBD)的测试

    背景介绍 随着汽车行业的迅速发展,汽车的复杂程度不断增加,越来越多的汽车电子控制系统具有与安全相关的功能,因此对ECU的安全要求也越来越高.复杂的软件功能,将会带来大量的软件风险问题,如何保证软件的安 ...

  4. Helix QAC/QAC++—代码静态测试工具介绍—符合功能安全标准MISRA ISO26262

    Helix QAC是静态代码分析工具,依据C和C++编码规则自动扫描代码对规则的违背.开发团队在开发过程的早期就可以用它来检测缺陷,因为此时修改代码是最方便也最经济的.Helix QAC因此自动化强制 ...

  5. 用Java实现异构数据库的高效通用分页查询功能

    不同数据库的分页查询语句有着较大区别,其中MySQL数据的limit offset语法最为简单,而SQL Server数据库和Oracle数据库的分页就比较复杂了. 网上常见的SQL Server和O ...

  6. 推荐一个高效,易用功能强大的可视化API管理平台

    项目管理 提供基本的项目分组,项目管理,接口管理功能 接口管理 友好的接口文档,基于websocket的多人协作接口编辑功能和类postman测试工具,让多人协作成倍提升开发效率 MockServer ...

  7. 【DSP开发】【计算机视觉】TI 视觉软件开发套件ADAS

    关键字:TI  视觉软件开发套件  ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架.一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可 ...

  8. 外部NORFlash是第一个以硬件为基础的信任

    外部NORFlash是第一个以硬件为基础的信任 External NOR Flash memory is first with hardware root-of-trust 英飞凌科技公司宣布了它声称 ...

  9. TI推出SimpleLink低能耗蓝牙CC2541

    TI推出SimpleLink低能耗蓝牙CC2541 日前,德州仪器 (TI) 宣布推出 SimpleLink™ 低能耗蓝牙 (Bluetooth®Low Energy) CC2541-Q1, 这是一款 ...

随机推荐

  1. 2020重新出发,JAVA入门,标识符&修饰符

    标识符(Identifier ) 标识符是程序员用来命名变量,方法,类或标签的单词,其实就是我们在开发过程中凡是自己可以命名的一些单词就是标识符 标识符命名规则 标识符由字母(a-z,A-Z),数字( ...

  2. 详解 LSTM

    LSTM 长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行. 长短时记忆 ...

  3. SQL Server2017+SSIS+Python

    1.安装SQL Server2017 https://jingyan.baidu.com/article/76a7e409077997fc3a6e1559.html (1)JRE 7报错 只能安装JR ...

  4. 使用 .NET Core 3.x 构建 RESTFUL Api (续)

    关于Entity Model vs 面向外部的Model Entity Framework Core 使用 Entity Model 用来表示数据库里面的记录. 面向外部的Model 则表示要传输的东 ...

  5. C语言编译过程以及Windows中的gcc编译程序(通过cmd、记事本)

    C语言的编译过程 1)预处理:宏定义展开.头文件展开.条件编译等,同时将代码中的注释删除,这里并不会检查语法 2)编译:检查语法,将预处理后的文件编译生成汇编文件 3)汇编:将汇编文件生成目标文件(二 ...

  6. .net Core使用sql语句实现批量修改数据状态

    上图为查出的所有满足条件的数据,要选中若干条数据将其状态设置为作废 一共选中6条数据,当点击确认后修改数据状态. 前端代码 1.安装NuGet包 [Abp.Dapper]于EFCore中, 2.创建文 ...

  7. eclipse中 sec/test/resource 文件夹消失怎么设置?

    右键改包--->build path --->Configure bulid path 按 add Folder 搞定.....

  8. 如何解决spring boot 项目导入依赖后代码报错问题

    如何解决spring boot 项目导入依赖后代码报错问题 2020-08-15  14:17:18 代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片)

  9. python 01 print input int

    学过c语言与c语言的数据结构与算法后再来学习python,感觉编程的核心内容没有变,但每个编程语言都有自己的特点.本次学习的目标是理解python的特点与用法,把学过的bif(内置函数)用法记录下来, ...

  10. JavaScript学习系列博客_15_栈内存、堆内存

    栈内存 - JS中的变量都是保存到栈内存中的,- 基本数据类型的值直接在栈内存中存储,- 值与值之间是独立存在,修改一个变量不会影响其他的变量 堆内存 - 对象是保存到堆内存中的,每创建一个新的对象, ...