SASETECH
建立安全生态圈,成为汽车安全的布道者
SASETECH
SASETECH第二十四场
线下沙龙成功举办
- SASETECH OFFLINE SALON -
SASETECH沙龙致力推动汽车安全领域的深度交流,建立安全从业人员的技术交流平台和精神家园,共同推动安全在行业内外的影响力,成为国内最具影响力的公益型汽车安全社区,推动自动驾驶、芯片产业正确发展。
活动回顾
2024年10月26日下午,SASETECH第二十四期沙龙在上海静安TUV-NORD成功举办,受到来自各个OEM和tire1同行和同事的热情报名,共30余位行业里资深专家们参加了本次分享活动。
01
开放会议空间
本次沙龙以“安全芯片的功能安全设计”为主题。来自安波福的乔鹏飞,亿咖通的赵金富和蔚来汽车的邓勇章老师以芯片功能安全的来源、开发和失效和安全计算为出发点,抛砖引玉,引导大家沉浸式对现有芯片功能安全的开发进行讨论。
-SASETECH-
02
本期议题分享
三位老师分享的内容,互有重叠但是又各有重点,因为笔者将三位的老师的内容进行统一整理梳理出以下几个内容点:
Clause1:芯片功能安全基本失效类型
故障/失效分类 :芯片属于硬件,其主要的失效类型:瞬时故障和永久性故障
瞬时故障:主要包括EMI或串扰 、Soft errors分别引起的系统性失效和随机硬件失效,这类故障发生后就消失了,一般是由于α, β,中子, 或 γ 射线以及EMI、串扰造成的, 可以参考JEDEC JESD89A,需要计算其失效率。
永久性故障:发生后,不会自己消失的故障,需要进行故障处理的,一般是由于环境应力、老化等影响所造成的;可以参考IEC62380及SN29500计算失效率。
注:IC的FMEDA中对于瞬时故障与永久性故障分开来计。
永久失效Hard Error(数字和存储+模拟和混合)和瞬态失效 Soft Error(数字和存储,尤其RAM,属于硬件随机失效),在考虑芯片失效率计算的时候,需要将瞬态失效和永久性失效同时考虑进去;这其中永久性失效的公式已经比较成熟,(包含Die(裸片) , 封装,电气过应力导致的)
同时针对针对一些上电时才能进行的寄存器配置,虽然在上电时出现了对应的瞬态失效,但是从结果上看,在当前上电周期内,此瞬态失效导致的都是错误的输出,因此也可以按照对应的永久失效来进行考量。
对瞬态故障的分析要和永久故障的分析分开进行。
对于由EMI或者串扰引起的系统性瞬态故障而言,可以在设计阶段,通过适当的技术和方法避免这些问题,例如进行串扰分析。
对于由软错误引起的瞬态故障,可以通过给他们指定并确认一个特定的“单点故障度量”目标值来进行定量分析,或通过一个定性理由来处理这类瞬态故障,并且要为所选的分析方法给出理由 - 就潜伏故障而言,不考虑瞬态故障,因为根据瞬态的定义,瞬态故障很快就会消失,所以不需要计算瞬态故障 的潜伏故障失效模式诊断覆盖率。因为假设在绝大多数的情况下,在第二个故障出现之前,瞬态故障的影响已经被消除。
Clause2:芯片功能安全FMEDA的计算
在设计车规芯片时,FMEDA常用的手段就是对芯片进行有意的故障注入(intentional fault injection),然后再分析错误注入引起的功能故障概率(失效率),以此评定车规芯片的安全完整性等级。
芯片FMEDA的计算涵盖IP核、芯片基础失效率、芯片DFA分析、芯片级别故障注入测试、数字器件、模拟混合器件、可编程逻辑器件、多核技术等等,内容极其丰富。
一个芯片的失效分为package/pin失效和die失效,package/pin失效说就是芯片的PIN脚连接失效,die失效就是裸片失效,die失效继续分为数字部分失效、模拟部分失效、存储单元失效、时钟单元失效、逻辑单元失效等等,关于die失效的具体分布芯片厂商的芯片FMEDA会进一步提供。
针对不同层级的芯片模块来说导出测试用例的方法(AECQ)也做不同的要求。
AEC Q 200(被动元器件)for Class 1
AEC Q 101(用于分立半导体器件)for Class 2
AEC Q 100(集成电路)for Class 3
Clause3:芯片功能安全安全机制设计
以MCU为例,为了要保证在严苛环境下设计的安全性,从安全计算到存储、从通信到输出,都需要建立对应的安全机制:比如在数据流中的采用硬件CRC校验,在片内SRAM和Flash memory中采用单比特奇偶(parity)校验,数据读取ECC校验,以及芯片电源电压检测;在控制密集型逻辑上采用冗余逻辑,如多个CPU同时处理单一任务,输出结果比对,双看门狗(watchdogs)系统,时钟电路备份机制等。
1. BIST(ABIST/LBIST/PBIST/MBIST)
内建自测(Built-in Self Test)简称BIST是在设计时在电路中植入相关功能电路用于提供自我测试功能的技术,以此降低器件测试对自动测试设备(ATE)的依赖程度。
Memory BIST:利用特定的算法和向量来测试存储器,通过内嵌测试逻辑,实现对存储器的全面测试。
Logic BIST:利用伪随机测试向量来测试逻辑电路,通过嵌入测试逻辑生成随机向量和响应,进行自我测试。
POR BIST:安全机制构建了一个BIST,以在上电复位(POR)之前检查电源监视器和电源功能的安全机制的有效性。防止电源模块发生潜伏故障。
2. Power supply voltage monitor
ADC模块:将模拟电压或电流信号转换为数字信号,以便进行后续的数字处理。
比较器:将转换后的数字信号与预设的参考值进行比较,以判断电源参数是否在正常范围内。
控制模块:根据比较器的结果,判断是否需要触发相应的保护措施,如切断电源输出等。
3. Lock step
Lock step 架构处理器采用2套复制的处理器、存储器、比较逻辑、总线/背板接口,存在逻辑控制两套总线进行比较之后输出,这种设计能够有效提高处理器对于指令级错误的检测能力。
4. 数据校验
a) 奇偶校验:一般用于检测顶层寄存器值是否发生变化。
b) ECC校验:可以纠正1bit错误,对于2bit只能检错,不能纠错。
c) CRC校验:一般用于检测总线接口数据流。
5. 内存保护模块(MPU)
对内存进行分区并赋予不同权限管理,若出现超越权限的内存访问,产生异常信号,上报cpu。
6. watchdog
用于检测系统基于时间的错误,如死循环,让系统重启。
7. clk monitor
对于芯片内PLL功能以及晶振实时监测,包括:lockdead失锁时钟无效,error输出错误频率,过大的时钟抖动和偏斜。
8. safty monitor
监视系统中的错误中断,并汇聚成一个单一的错误中断,上报给CPU。
安全机制,比如处理器 Lockstep 技术,ECC校验, CRC校验等,其单点故障诊断覆盖率被证明是符合ASILD要求的(单点故障诊断覆盖率大于99%),拥有以上安全机制的模块经过分析可认为是符合ASILD的。
但并不是每个模块都适合加安全机制去检测故障,安全机制的添加有时会过分影响整个芯片的可用性,这个时候应开发 safety test pattern(输入固定,输出固定),进行故障注入测试,如果一致,则说明模块没有故障,如果不一致,则说明模块存在故障,计算结果可能会导致致命后果。
Clause4应用方如何评估芯片的功能安全设计:芯片功能安全安全机制设计
● 评估范围:
芯片硬件,不包括芯片公司提供的MCAL软件、编译器等,也不包括STL软件本身的安全性。
● 评估指标:
芯片硬件的系统性失效满足ASIL D标准的要求 (指标1);
芯片硬件的随机硬件失效值满足ASIL D标准的要求(指标2)。
● 评估时间:
在器件选型阶段进行各家芯片的功能安全特性评估。
●评估方法:
第一阶段对芯片公司的开发流程及体系进行类似PPAP的审核;
第二阶段对具体芯片的功能安全设计从系统性故障预防和随机硬件故降的探测两个角度进行评审。
●针对随机硬件故障的评估内容:
1. FMEDA计算结果的评估(芯片级别、IP级别);
2. DFA分析过程的评估;
3. 核心针对原始失效值的计算、安全机制诊断覆盖率评估的合理性、SM的测试报告(硅前仿真、CP FT测试)等;
4. 对外围的设计使用假设AOU。
● 对系统性故障的评估内容:
1. 完整的功能安全开发文档的完整性或者第三方的流程认证报告(第三方的认证报告仅供参考);
2. 以往相关产品的使用数量、客户群体、失效情况等;
3. 芯片公司的AEC-Q测试报告、16949报告,核心文件是FMEA文件、功能性测试报告;·对外围的设计使用假设AOU;
4. 参考文档:Part2、Part4(SEOOC、TSR/TSC)、Part5、Part8、Part9
-SASETECH-
03
议题总结
分组讨论完成之后,大家针对所讨论的问题,都提出了自己的看法。同时基于目前的工作经验,对其中还存在问题的地方进行了初步探讨。
● 芯片中原始失效值的计算标准:IEC62380、IEC61709/SN29500、可靠性测试值
讨论结果:目前业界主要采用62380或29500进行计算,62380包含对应的引脚和PCB的失效,而29500不包含引脚的失效,后续由于62380的版本老旧及更新问题,会逐步到61709。
● 瞬态失效值的计算标准:100倍永久失效?
讨论结果:针对瞬态失效率(数字和存储)的评估一般行业认为是:瞬态故障是永久性故障的10~100倍。目前来说针对芯片制程越来越精密,瞬态失效是必须要考虑的,主要的计算方式是通过永久失效的计算乘以芯片厂商提供的比例系数,以此得到对应的基础失效。同时通过对芯片内部每个模块安全机制和DC值的分析确认得到对应的残余失效,以此评估是否在可接受范围内(一般会把功能模块和安全机制模块分开布置以此达到对应的物理隔离)。同时计算时,瞬态失效不考虑对应组件的latent 失效率。
瞬态失效本质上是芯片的基本特性,不可改变,但是可以通过改变引起失效的原因如环境元素,来减少瞬态失效发生的场景:提供稳定的电压,添加对应的金属屏蔽层和良好的散热来减少对应的root cause。
当前主要的安全机制:ECC就是当瞬态的单点故障修复为无故障状态,即ECC是防止RAM bit翻转这种瞬态故障的SM。lock step也是应对瞬态故障的有效SM(还应对ALU类型失效)。ESD保护电路是专用电压钳位,用于防止瞬态失效。滤波器,是避免导致失效的瞬态干扰。
● FMEDA指标的引用:永久失效的计算指标、永久+瞬态的计算指标
讨论结果:必须包含瞬态失效。
● 芯片内组件的细化程度:有SM覆盖则可、芯片—IP—组件—失效模式—SM;PMHF值是否强制:100GFit对复杂SOC已不够用
讨论结果:依据ISO26262-2018 Part10, 将IC内部级别划分为如下图中的内容, 划分原则主要考虑:- 功能模块 - 职责分工 - 芯片复杂度 - 失效模式及安全机制。
如果对应的层级已经有相应的安全机制可以进行覆盖,则不需要进行继续分解了,如果没有安全机制,则还要继续进行分解。
● Part5中测试阶段:硅前前端测试 (VHDL代码的仿真、RTL逻辑仿真、RTL时序仿真)、硅前后端测试(物理版图的仿真);硅后(CP、FT、AEC-Q)
讨论结果:一般情况下测试工程师并不关心对应的功能安全目标或者失效是什么,他会基于设计工程师的要求对基本的测试内容(功能设计软硬件的部分进行设计),同时只要有一个阶段覆盖,则目前可以认为对应机制是正常工作的。
-SASETECH-
大家的讨论持久不绝,思想的碰撞在探讨中升华为灵感。夜幕降临,大家恋恋不舍结束了本次沙龙,让我们一起期待相聚下一期沙龙相聚SASETECH大家园。
END
往期精选
JOIN US
长期招募
上海/杭州
— 高级信息安全工程师
欢迎将个人简历发送至邮箱:
double.ma@sasetime.com
SASETECH是国内首个由汽车安全专家发起组建的技术社区,致力于为汽车安全的从业者提供交流、学习、合作的中立性平台。
SASETECH
扫码联系管理员加入交流群→