ISO 26262安全机构插入和验证四步骤讲解

发布者:EEWorld资讯最新更新时间:2020-04-22 来源: EEWORLD关键字:ISO26262  ECC  寄存器 手机看文章 扫描二维码
随时随地手机看文章

翻译自——semiengineering

 

随着先进的驾驶员辅助系统和自动驾驶技术的引入,汽车集成电路的复杂性呈指数级增长。与这种复杂性的增加直接相关的是,确保IC不受随机硬件故障(不可预测的功能故障)的影响所增加的负担。

 

历史上,汽车行业通过利用专家的判断来进行安全分析。最初的安全性分析通常采用自上而下的故障模式影响诊断分析(FMEDA)。随着IC复杂性的增加,主要由专家驱动的方法不再实用或有效。

 

汽车集成电路已经变得太大、太复杂,以至于人们无法完全理解保护所有可能的故障所需的安全机制。必须部署自动化工作流来帮助专家处理随机故障。有效的方法是使用安全综合和形式验证来将安全机制纳入设计。这最好在寄存器传输层(RTL)进行,在那里可以有效地执行功能验证。这个过程包括:

 

1.安全探测:探测设计中需要更好的故障探测的区域

 

2.安全机制插入:使用安全综合来引入正确权衡RTL结构的安全机制

 

3.设计变更验证:通过形式验证来验证设计变更

 

4.形式故障注入:执行形式故障注入以测量诊断覆盖率

 

安全探测

 

安全探测的目标是确定最佳的安全体系结构和安全机制。安全机制有很多种,每种机制在检测随机硬件故障方面都有自己的有效性。在安全探索期间,将执行一系列“假设”场景,以了解不同安全机制对设计的影响,特别是在电源、区域、性能、安全度量和诊断覆盖率方面。我们建议在不修改设计的情况下进行这种探索,以便能够快速有效地执行同步分析。如果在设计过程的早期就这样做,安全探索将有助于设计团队在插入和验证之后成功地达到安全目标。

 

安全机制插入

 

修改遗留设计以引入安全机制可能是一个容易出错的过程。如果最初的安全机制没有达到安全目标,则情况会变得更糟,必须使用不同的机制。因此,安全综合是一种改进设计结构以提高容错能力的新方法。为了创建遗留设计的安全体系结构,安全综合自动引入了两种类型的安全机制。一个用于注册级,另一个用于模块级。

 

对于每种安全机制,都需要在效率、故障检测延迟和区域开销方面进行权衡。下图显示了安全关键设计中可以使用哪些安全机制。

 

 

对于设计接口,可以执行奇偶校验,以确保在设计内部的接口模块和接口控制器之间进行准确的数据传输。一旦数据在设计中,就可以通过总线上的数据奇偶性和存储元素中的错误纠正代码(ECC)来保护它们。片上总线事务可以由专用总线监视器观察。关键控制组件,如功能安全机制和仲裁逻辑,将最好的保护三重模块冗余和多数表决。中央处理器和嵌入式处理器可以通过双模块冗余和锁步检查器来保护。

 

注册级的插入更像是外科手术。它在存储元素中插入安全机制,比如寄存器重复和奇偶校验。这种方法通常用于保护控制和状态机结构。一些寄存器级的安全机制包括:

 

奇偶校验产生和检查关键控制元件

一个选定的寄存器列表的双模冗余

一个选定的寄存器列表的三模冗余

错误校正,单错误校正与双错误检测的银行的寄存器

协议检查确保有限状态机的有效状态转换

安全合成可以将奇偶校验添加到模块中的所有或特殊寄存器列表中。

 

控制寄存器的奇偶校验和校验

 

ECC也可以用于银行的注册。在这种模式下,安全合成按名称对寄存器分组,并通过创建综合征添加ECC。之后,将使用综合症来确定是否存在错误并从中恢复错误。对于有限状态机,安全综合将阐述有效的状态空间和状态转换矩阵,建立协议检查安全机制。

 

在实例级插入创建基于冗余的安全机制。一些模块级安全机制包括:

 

双模块冗余与同步检查

三模冗余与同步检查和多数表决

接口信号组的输入和输出奇偶校验

内存奇偶校验的生成和检查

如图所示,安全合成创建模块的第二个实例,并为第一个和第二个实例之间的所有输出和输入以及lockstep检查器建立适当的连接。

 

双模块冗余与同步检查

 

设计变更验证

 

顺序逻辑等价检查(SLEC)使用形式验证技术来验证两个设计在功能上是等价的。只要输出总是相同的,两种设计的实现就可以不同。当SLEC证明两个信号的等价性时,每个设计一个,这两个信号对于所有输入和所有时间都是等价的。如果任何一对信号不相等,SLEC会自动生成一个错误跟踪,使用波形来显示问题的因果关系。当两种设计的所有输出都被证明是等价的,我们就可以确信这两种设计在功能上是等价的。

 

 

 

因此,可以用SLEC来验证:

 

安全机构插入:确保原始设计的功能不会因增加安全机构而改变

安全机构操作:确保插入的功能安全机构工作正常

安全机构插入后,必须确保插入前和插入后的设计在功能上是等同的。与使用模拟回归验证安全机构仪表化设计的功能不同,SLEC是一种更直接和全面的方法。

 

在下图中,使用三模冗余(TMR)[1]作为安全机制来保护设计。通过比较设计A(无安全机构)和设计B(有TMR), SLEC可以从数学上证明TMR已经正确地插入到设计中。由于功能仿真只能模拟有限数量的输入序列来验证TMR的运行,因此该方法具有较高可信度。

 

安全机构插入验证与SLEC

 

形式故障注入

 

现在我们需要确保安全机制工作正常,以保护设计免受失败。在引入安全机制之后,可以使用基于形式的方法进行故障注入。失效模式和效果分析可以决定安全机制是否充分。正式方法的建立是为了将静态故障和瞬态故障注入到设计中,通过设计的状态空间记录故障,并查看故障是否被安全机制传播、掩盖或检测到。

 

如图所示,使用黄金(无故障)模型和故障注入模型执行动态故障注入和结果分析。通过使用自身的副本实例化设计,所有合法的输入值都会自动为SLEC指定,就像模拟中的黄金参考模型预测任何输入刺激的所有期望输出一样。将一个错误注入设计与一个本身没有错误的副本进行比较,正式的工具会检查是否有任何可能的方法可以使一个错误逸出输出或不被安全机构检测到。

 

基于形式的故障注入的安全机制运行验证 

 

 

 


[1] 三模冗余系统简称TMR(Triple Modular Redundancy),是最常用的一种容错设计技术.三个模块同时执行相同的操作,以多数相同的输出作为表决系统的正确输出,通常称为三取二.三个模块中只要不同时出现两个相同的错误,就能掩蔽掉故障模块的错误,保证系统正确的输出.由于三个模块是互相独立的,两个模块同时出现错误是极小概率事件,故可以大大提高系统的可信性。


关键字:ISO26262  ECC  寄存器 引用地址:ISO 26262安全机构插入和验证四步骤讲解

上一篇:优步开发AI技术 提高自动驾驶汽车运动轨迹预测准确率
下一篇:基于TI DM642和OMAP5912 DSP实现行车安全辅助记录系统的设计

推荐阅读最新更新时间:2024-11-10 11:53

8051单片机中的寄存器是算CPU还是RAM
问题:单片机8051中的一些寄存器到底算CPU的还是RAM的? 请高手指点,像累加器DPTR,A,PSW等一些寄存器是属于CPU的,但书上又说他们都属于RAM中的特殊功能寄存器(SFR),这是什么道理? 另外,存储器和寄存器不是两个功能,结构都不同的东西么?为什么RAM中存在许多寄存器组,即二者在此是相同的? 综合理解:有以下几种可能: 1、CPU是一个抽象的概念,如同操作系统这个概念一样没有明确的界线;(cpu是由人划分出来的一块区域不明确) 2、CPU这个概念不适用与51; 3、51可以划分CPU和RAM部分,但CPU和RAM有交叉的部分(比如寄存器组等) 4、CPU部分寄存器是和RAM统一编址,访问该RAM地址即等于
[单片机]
ATtiny13 控制和状态寄存器MCUCSR
AVR 控制和状态寄存器提供了有关引起AVR复位的复位源的信息。 · Bit 7..4 –Res:保留 保留位,读操作返回值为零。 · Bit 3 – WDRF: 看门狗复位标志 看门狗复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。 · Bit 2 – BORF: 掉电检测复位标志 掉电检测复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。 · Bit 1 – EXTRF: 外部复位标志 外部复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。 · Bit 0 – PORF: 上电复位标志 ATtiny13上电复位发生时置位。只能通过写”0” 来清除。为了使用这些复位标志来识别复位
[单片机]
ATtiny13 控制和状态<font color='red'>寄存器</font>MCUCSR
ROHM取得汽车行业功能安全标准“ISO26262”的开发工艺认证
全球知名半导体制造商ROHM通过第三方认证机构德国莱茵TUV取得了汽车行业功能安全※1标准“ISO26262”※2 的开发工艺认证。 这意味着ROHM面向车载领域的元器件开发工艺被认定为可满足该标准中的最高安全等级“ASIL-D”。 “ISO26262”标准是随着汽车的电子化及高性能化发展,全球市场对汽车安全性能要求日趋严格的背景下,作为汽车行业功能安全方面的国际标准于2011年制定并发布实施的。 近年来,以ADAS(高级驾驶辅助系统)为代表的技术革新进程加速,为确保汽车的安全性,要求组成车载零部件的半导体也要达到自身的安全标准。 德国莱茵TUV日本株式会社 董事长兼总经理 Tobias Schweinfurte
[汽车电子]
ARM汇编之寄存器
在ARM处理器内部共有37个用户可访问的寄存器,分别为 31个通用的32位寄存器和6个状态寄存器。 一.通用寄存器: 1.在汇编语言中,寄存器R0-R13为保存数据或地址值的通用寄存器。 2.其中寄存器R0-R7为未分组的寄存器。 对于任何处理器模式,它们都共享R0~R7的通用寄存器。 3.寄存器R8-R12为两个分组的物理寄存器。 a.FIQ拥有自己独立的R8~R12的通用寄存器。 b.其他六种处理器模式共享R8~R12的通用寄存器 注:寄存器R8~R12在ARM体系结构中没有特定的用途。 给FIQ单独的R8~R12可实现快速的中断处理(在发生FIQ中断后,处理器不用为了保护寄存器而浪费时间,从而提高了FIQ的处理速度)
[单片机]
ARM汇编之<font color='red'>寄存器</font>
ARM汇编编程基础之一-寄存器
ARM的汇编编程,本质上就是针对CPU寄存器的编程,所以我们首先要弄清楚ARM有哪些寄存器?这些寄存器都是如何使用的? ARM寄存器分为2类,普通寄存器和状态寄存器 寄存器类别 寄存器在汇编中的名称 各模式下实际访问的寄存器 用户 系统 管理 中止 未定义 中断 快中断 通用寄存器和程序计数器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4)
[单片机]
ARM寄存器小结
ARM 微处理器支持7种运行模式,分别为: 1. 用户模式(usr): ARM 处理器正常的程序执行状态; 2. 快速中断模式(fiq):用于高速数据传输或通道管理; 3. 外部中断模式(irq):用于通用的中断处理; 4. 管理模式(svc):操作系统使用的保护模式; 5. 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护; 6. 系统模式(sys):运行具有特权的操作系统任务; 7. 未定义指令中止模式(und):当未定义指令执行时进入该模式,可用于支持硬件协处理器的软件仿真 ARM 体系结构的存储器格式有如下两种: 大端格式:字数据的高字节存储在低地址中,字数据的低字
[单片机]
ARM处理器的寄存器
在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节。整个过程是按顺序执行。 **跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。其中,B指令用于执行跳转操作;BL指令在执行跳转操作同时,保存子程 序的返回地址;BX指令在执行跳转操作同时,根据目标地址为可以将程序切换到Thumb状态;BLX指令执行3个操作,跳转到目标地址处执行,保存子程序的返回 地址,根据目标地址为可以将程序切换到Thumb状态。 **当异常中断发生时,系统执行完当前指令后,将跳转到相应的异
[单片机]
(六)ARM状态寄存器-PSR
ARM程序状态寄存器Program State Register 在ARM模式中, 有16个数据寄存器和1或2个状态寄存器是可以随时访问的.在 特权模式 (privileged mode) 下, 对应的特殊组寄存器才可以使用. CPSR 当前程序状态寄存器 (Current Program State Register) SPSR 保存的程序状态寄存器 (Saved Program State Register), 有6个,主要是在处理异常的时候使用. 每一种处理器模式下都有一个专用的物理寄存器作为备份的程序状态寄存器SPSR , 当特定的异常发生时,这个物理寄存器负责保存CPSR当前程序状态寄存器的内容, 当异常处理程序返回
[单片机]
(六)ARM状态<font color='red'>寄存器</font>-PSR
小广播
最新汽车电子文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved