12月5日-6日,2024全球汽车芯片创新大会在无锡滨湖举办。本届大会以“芯智驱动,协力前行”为主题,由中国汽车工业协会主办,中国汽车工业经济技术信息研究所有限公司联合主办,共设置1场高层峰会、1场大会主旨论坛、3场平行专业论坛、1场定向交流会和1场车芯对接活动,围绕汽车芯片生态建设、市场环境分析、竞争合作及技术创新等方面展开分享和交流,凝聚发展经验和集体智慧,探索解决方案。其中,在12月6日下午举办的“专业论坛三:汽车芯片功能安全及可靠性保障发展论坛”上,电子五所重点实验室博士黄中铠发表精彩演讲。以下内容为现场发言实录:
我从四个方面对这个主题做一个介绍,首先是依据ISO 26262的标准,引入功能安全测试的需求,从需求里面引出现有的故障注入测试技术,然后引出实验室的典型案例,最后是做一个总结。
车规芯片按照应用的领域,可以包括智能驾驶和车联网联系统、智能座舱系统、动力与能源管理、底盘电子系统、安全与防护系统、车身控制系统这几个关键的系统。
因为车规芯片相对一般的消费类的电子芯片,安全性和可靠性要求是会更高,除了可靠性方面要求的AEC-Q100以外,还增加了安全性的要求,比如说功能安全、信息安全。这里是引用了功能安全里面的话,不存在由电子电气系统功能异常表现引起的危害而导致不合理的风险。信息安全主要是针对通信、数据、软硬件的安全。我们今天重点关注的是功能安全的标准ISO 26262 2018和GB/T34590.1 2022版。
这一页内容是ISO26262标准对于芯片半导体要求,红色划去的部分是跟半导体相关性不大的,ISO26262标准通过流程驱动,覆盖产品的全生命周期,覆盖芯片各个方面,包括传感、处理器、执行器、硬件电路等各个元器件。由ISO 26262标准里面引入了一个ASIL等级概念,这个等级是通过三个因素,严重度、暴露度、可控度判断等级,等级越高,意味着该产品失效后引起的安全风险越大,安全的依赖性越大,需要采取的安全措施也越多。
(如图)下面是ASIL划分等级的示意图,ASIL A是最低的安全等级,再到ASIL D是最高的安全等级。
我们不同系统的车规芯片对于ASIL的等级要求是不同的,下面一幅图根据每个系统划分了不同的ASIL等级,对于智能驾驶和辅助驾驶系统,智能驾驶SoC是以ASIL-B为主,部分辅以内嵌ASIL-1功能安全等级MCU功能安全岛,对于智能座舱系统来说不参与车辆执行部件,所以功能安全等级是以ASIL-B为主。对于动力系统和底盘系统是直接关系到汽车运行过程当中的执行,对于安全性或者可靠性要求是最高的,等级要求是ASIL-D等级。
ASIL等级越高,就要在芯片设计阶段加入更多检错、容错的安全机制,为了达到很高的ASIL等级,需要提高整个覆盖率,可以考虑引入一些硬件冗余设计,比如说双核锁步、电源冗余、时钟冗余、传感冗余,甚至做三模冗余,也会做冗余建码,可能再引入配置容器的保护、硬件监控单元,提高覆盖率,满足更高的ASIL等级。
引入功能安全之后,怎么进行验证?ISO 26262里面,要对安全机制设计正确响应和处理故障做验证,验证手段是采用故障注入测试。
故障注入测试是对ISO 26262功能安全等级完整性和准确性要求的测试,大多数厂家都是采用网表仿真级的故障注入测试验证安全机制,比如说Tier1提出半导体设计需求,半导体厂家根据标准引入功能安全机制,满足ASIL等级,进行测试验证,包括三块,功能安全测试、故障注入测试、电测试,我们今天关注的点就是故障注入测试里面的仿真级和实物级测试,针对芯片的不同层面做的。
仿真级故障注入测试主要是针对RTL/网表级、芯片,比如说芯片回片流回来的芯片实物,这是关注不同层次的测试。
接下来介绍故障注入测试技术,这是包括两个方面,一个是仿真级故障注入测试,主要目的是验证每个安全机制的功能并且计算诊断覆盖率,一般是通过故障注入测试仿真工具改变仿真中的信号的逻辑与状态,模拟故障。故障注入测试仿真工具结合逻辑仿真、故障仿真进行故障分析。另外就是实物级故障注入测试,主要目的是给芯片集成的功能安全机制进行验证,同时验证功能安全机制本身所提到的性能。
业界现有的仿真故障注入工具有Synopsys、Z01X、西门子austemper、芯思维SSIM等等,支持ISO 26262和IEC61508标准,并提供了用于功能安全认证的功能,支持全部数字电路故障注入错误类型,永久故障类型和瞬时故障类型。
仿真级故障注入测试流程,是芯片设计者提供待测试设计和测试用例,并且明确安全机制对应的保护对象和生效范围,仿真级故障注入流程首先是要对电路代码进行解析,获得逻辑和拓扑结构,还有可能发生故障的行为。我们根据命令行设置信息,先进行逻辑仿真,上面是逻辑仿真,下面再进行故障的仿真,故障仿真就是需要确定故障注入位置和故障注入类型和对比的观测目标,将这两部分仿真的结果进行比对、验证。
接下来是实物级故障注入测试必要性,首先它也可以验证硬件容错机制是否有效,在关键的硬件系统中,需要确保在部分组件出现故障时系统仍能正常工作。二是可以验证容错机制的性能,例如注入故障后,安全机制可以在故障检测时间间隔(FTDI)内检测到故障,并在故障响应时间间隔(FRTI)内进入安全状态。三是降低维护成本,通过提前发现并解决设计中的问题,可减少产品上市后因故障导致的维护成本,并且还可以提升用户信任,支持硬件优化和迭代。
实物级故障注入测试环境,实验室针对功能安全机制,搭建实物级故障注入测试环境,环境支持包括电压、时钟、电磁、激光的故障注入测试,基本上覆盖了各种类型的硬件故障,这是我们搭建的环境图。
实物级故障注入测试的技术指标和应用,首先是每个类型的故障会有不同的指标,电压故障指标,电压毛刺可调,脉宽可调,对于时钟故障,时钟频率、脉宽、时钟电压都是可调的,时钟故障模式也有自己的模式。电磁故障的强度和电磁探头也是可以设置,激光故障指标,首先是激光强度,然后是激光的脉宽,影响的时间范围,包括每种波长的激光,我们具备了一种短波长和两种长波长的激光,支持了EMMI红外光学分析技术,通过这几种不同类型的故障注入测试环境,可以实现各种故障类型的实物级故障注入测试,针对芯片不同的安全机制,应用不同类型的故障注入。对于电压监测的故障,我们可以引入电压故障注入测试,对于时钟监控或者是时钟保护、时钟安全的保护,可以引入时钟故障测试技术,这些安全机制如果通过电压或者通过时钟的故障注入可能难以引起错误,所以我们是采用了电磁或者激光注入故障,往芯片内部电路注入故障,让里面的安全机制生效。
这是我们实物级故障注入测试流程,这是以MCU板卡作为例子来做的测试,包括四个步骤。首先是整个系统的初始化或者正常工作,工作之后要确保两个之间是保证同步的,同步之后才可以控制故障注入的时机的准确性,包括注入到系统里面的哪一个位置,哪一个时间都可以进行确定。第三步就是设置故障注入参数,注入故障。最后是通过软件分析故障响应的结果,通过示波器对它进行监测。
接下来介绍一下典型的案例,首先是仿真级故障注入测试的案例,测试对象是Verilog HDL或VHDL标准的RTL代码,或gatelevel网表形式的芯片设计数据,仿真包括逻辑功能动态仿真和故障注入动态仿真,故障注入动态仿真包括永久故障类型(SA0、SA1)、瞬时故障类型(SET、SEU),左边是故障的标识图。完成测试后,工具可以输出测试对象诊断覆盖率及相应测试结果报告,会算出诊断覆盖率DC值,这是我们后边会用到的。
下面是实物级故障注入测试案例,这个案例针对的对象是CAN控制器,主要是电压毛刺测试和时钟电压测试,分析电压故障引入之后会不会影响CAN控制器在数据传输过程当中的数据的准确性或者是完整性,时钟也是同样的道理。这里面我们对它的芯片电源针脚,这里分类三路电源,VDD1、VDD2、VDD3进行电压故障注入,左边的纵轴是电压的幅度,注入电压故障之后,我们发现CAN控制器,VDD2对电压故障不太敏感,因为在4.5-5.5伏没有传输的错误。我们时钟故障注入测试,在工作频率的95.63-102.81%范围内,且时钟毛刺占比小于20%的条件下,可保证数据传输正确,超出这个范围,时钟故障就会引起错误。
电压故障注入的案例是针对一个具备ASIL-B等级某国产汽车MCU,主要是针对低压监测的功能做故障注入测试的验证,主要是包括了三个电压档位、3.5V、4V、4.5V。我们采用不同的脉宽和强度注入1000次的电压故障。左下角这幅图是电压故障注入的结果,是4V的,绿色的结果是监测的结果,黄色的结果是正常的。再通过边界值测试,我们最后发现边界值的电压与设计值基本一致,除了电压点的验证之外,我们还对实验区进行验证,因为宣称监测的延时是达到10us,我们进行了电压故障注入测试,我们通过固定电压故障可变的脉宽进行测试,最后发现的结果是时测监测的延时是达到了25.5秒,相对他所称的10us是存在较大的差异。
下一个案例是针对ECC的,这款针对的也是具备ASIL-B等级的ECC机制,这是支持32位存储数据+6位ECC数据1位纠错和2位检错,首先解析电磁探头结构域场分布原理,电磁故障注入的区域定位,定位到芯片某个地方,比如说这里扫了100个点位,故障注入时某些点位出现单位纠错或者多位检错,通过芯片纠错中断和检错中断的反馈可以进行验证。而且我们也对单个点位进行了重复性的实验,重复性可以超过90%,就证明了在电磁故障下是可以验证ECC的机制。
接下来我对上述两种故障注入测试技术做一个总结。首先在车规芯片功能产品认证过程中,故障注入测试是确保产品能够达到ISO 26262标准要求的重要测试手段。
故障注入测试包括仿真级故障注入测试和实物级故障注入测试,仿真级故障注入测试的主要目的是验证每个安全机制的功能并计算诊断覆盖率,实物级故障注入测试的目的是验证芯片级集成安全机制的功能和芯片级安全机制的性能。
实物级故障注入测试相比仿真级故障注入测试具备的优势验证容错机制:故障注入测试可以用来验证硬件的容错机制是否有效。例如,在关键的硬件系统中,需要确保在部分组件出现故障时系统仍能正常工作。
测试容错机制性能:故障注入测试可以用来测试芯片级安全机制的性能。例如,在注入故障后,安全机制可以在故障检测时间间隔(FTDI)内检测到故障,并在故障响应时间间隔(FRTI)内进入安全状态。
接下来介绍整个国内外的车规芯片安全评测的技术情况,目前存在的问题,费用高或者周期长,目前五所通过了功能安全能力的建立,已经具备了跟国际认证机构能力相同的,从中间的图片可以看出来,国内的认证机构在实物级第三方的测试验证能力比较欠缺,但是从我们看到的测试环境和案例可以看到这一块的实验能力我们是具备的,可以说我们是实现了国际先进的测试认证一体化的平台。打一个小小的广告,我们五所可以针对车规芯片做一些功能安全或者信息安全的评测的服务,五所是具备ISO 26262体系认证和产品认证的流程,这部分的内容我的同事金总会接着讲。
信息安全的服务,我们可以做测信道的分析或者故障注入差分的分析,包括支持符合evita-full/medium/lite的车规芯片的信息安全测试,同时我们参与制定《汽车芯片信息安全技术规范》国家标准的测试要求。
我的演讲就到此结束,谢谢各位专家和领导的聆听。
(注:本文根据现场速记整理,未经演讲嘉宾审阅)