历史上的今天
今天是:2025年04月22日(星期二)
2020年04月22日 | ISO 26262安全机构插入和验证四步骤讲解
2020-04-22 来源:EEWORLD
翻译自——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),是最常用的一种容错设计技术.三个模块同时执行相同的操作,以多数相同的输出作为表决系统的正确输出,通常称为三取二.三个模块中只要不同时出现两个相同的错误,就能掩蔽掉故障模块的错误,保证系统正确的输出.由于三个模块是互相独立的,两个模块同时出现错误是极小概率事件,故可以大大提高系统的可信性。
史海拾趣
|
据称wimax前景黯淡,很多运营商都不鸟wimax了,仅北美有一些支持 大家怎么看? 其中主要的说法是: 对于WiMAX,有几个方面是困扰其进一步发展的一个障碍。其一、知识产权问题,据悉,WiMAX产业链上的知识产权高度分散,这对WiMAX在未来的发展造成 ...… 查看全部问答> |
|
是这样的,计划做个模拟电子琴,用的是一片51 声音信号出来(P1.0口),通过什么芯片来驱动喇叭响呢,声音越大越好 因为以前没做过类似的东西,硬件设计也是第一次做,不知道怎么下手查 请大家帮忙告诉是用什么芯片好,用哪种喇叭合适,要声音越 ...… 查看全部问答> |
|
用VS2005做的MFC对话框应用程序,启动程序后打开IO驱动和PWM驱动,运行速度慢了,把PWM驱动关闭了就快了,不知道哪儿问题,… 查看全部问答> |
|
windows XP DDK 与window 2000 DDK 编译出的驱动程序有什么不同 问题1 windows XP DDK 与window 2000 DDK 开发包有什么不同 ? 问题2 windows XP DDK 与window 2000 DDK 编译出的驱动程序有什么不同, 就是说我在xp系统里用xp DDK 编译的驱动程序 a。sys 在win2000 下能直接运行吗 是否需要重新编 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:25 编辑 第一次使用img_lib库,想使用库里的IMG_ycbcr422p_rgb565函数 头文件已经添加了,但在编译时报错 error: symbol referencing errors - \\\'./bin/h263loopback_PAL.out\\\' not built 不知道什么 ...… 查看全部问答> |
|
11.0的出来了,我安装了看了哈。。感觉不错,DSP的也用了哈。。。。。。 有人用过吗? 她的驱动包很大呀,quartusII和NIOSII集成在了一起。。。。安装快捷方便。。。。。… 查看全部问答> |
|
做物联网项目相关产品的研发。 要求熟悉zigbee相关协议的软硬件研发,2年以上相关经验。工作地点:海淀区上地。 有意者可联系:010-62043568或发简历到815273653@qq.com… 查看全部问答> |
|
近日在STM32停机模式下使用按键中断唤醒,多次重复按按键,会出现死机,经多次测试后,发现死机前可进入中断,中断后不能正确返回原来的位置,疑中断中出现其它未知指令,后实验发现在按键中先关闭按键中断,再清中断标志位就不会出现死机现象。 v ...… 查看全部问答> |
|
有两种方案或者运行独立ICL指令(类似于发送独立SCPI指令),或者用测试脚本语言编写测试脚本。测试脚本语言(TSL)是一种基于标准程序语言Lua(www.lua.org)的程序语言。TSL能执行条件转移、循环和其它属性以实现用ICL指令控制仪器的目标。 &n ...… 查看全部问答> |
|
[北京]本单位诚招兼职uc/os培训讲师,可周末,要求有实际项目经历,两年以上项目经历,良好的沟通能力,表达能力较好,有意者请联系qq:2355811929 邮箱:hailang869@163.com… 查看全部问答> |




