如何通过BIST满足功能安全要求

admin 2024年1月25日13:37:18评论21 views字数 4445阅读14分49秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

如何通过BIST满足功能安全要求

01

介绍

随着当今汽车中芯片数量的快速增长,IC设计人员需要改进流程以满足ISO 26262标准定义的功能安全(FuSa: Function Safety)要求。

ISO 26262标准定义了功能安全级别,称为ASIL(Automotive Safety Integrity Level汽车安全完整性等级),是汽车系统设计过程的强制性组成部分。ASIL类别的范围从A(用于最不安全关键的应用)到D(用于最关键的应用)。例如,车载信息娱乐系统与自动制动系统相比,对ISO 26262 认证的ASIL要求不同。图1展示了车辆内不同功能以及对应的ASIL要求的一些示例:

如何通过BIST满足功能安全要求

图1:基于应用的ASIL分类定义

要达到所需的ASIL水平,需要进行广泛的仿真,以分析设计中可能发生的影响安全功能的潜在随机故障。此过程类似于DFT(Design For Test)中常用的故障仿真过程。然而,在FuSa方面,并非所有故障都是平等的,这会导致我们的DFT指标(DFT Metrics)和功能安全指标(FuSa Metrics)之间存在差异。没有简单的方法可以将这两个不同的指标关联起来。本文介绍了如何利用传统 DFT 技术来满足 ISO 26262 功能安全要求。

02

功能安全概述

功能安全的目标是防止关键安全系统的故障对人员造成伤害。功能安全机制通过检测两种不同类型的随机硬件故障来保护设计免受故障。LBIST 是一种安全机制,也用于制造测试和系统内测试。

设计上的安全保障

为了满足 ISO 26262 汽车标准规定的功能安全要求,汽车 IC 设计人员需要在其设计中添加称为安全机制的特定电路。这些安全机制电路是在设计的基础功能之上额外添加的,纯粹是为了确保 IC 能够安全运行。安全机制将检测设备使用寿命期间可能发生的静态和瞬态故障。一旦检测到缺陷,设备就可以做出响应或安全关闭,通常称为返回到安全状态。根据应用的不同,安全机制可以采取多种形式。

图 2 显示了一个示例设计,其中包含一系列实现安全机制的方法,以及为特定功能添加的安全监控。Mentor Austemper SafetyScope EDA工具可以执行此分析,以提供有关安全合规性的初步反馈。

如何通过BIST满足功能安全要求

图 2:不同功能安全机制的芯片级实现

安全机制的选择很大程度上取决于需要确保安全的结构上的要求。一般来说,需要良好的设计知识来准确评估哪种安全机制适合哪种场景。然而,设计人员可以通过使用EDA⼯具和自动化分析来帮助选择最佳安全机制。作为安全设计过程和功能安全设计流程的一部分,EDA软件的使用正变得越来越广泛。 

ISO 26262 标准为许多常见安全机制的有效性提供了指导。安全机制的选择需要在几个因素之间进行权衡,如表1所示:

  • Coverage覆盖范围 – 检测缺陷/故障的有效性

  • Test Time测试时间 – 执行测试以检测缺陷/故障所需的时间

  • Silicon Area硅面积 – 实施测试所需的对芯片面积的影响

  • Distruption干扰– 测试对正常操作造成的干扰程度

  • 纠正 – 检测和/或检测 + 纠正故障的能力

如何通过BIST满足功能安全要求

表1:功能安全机制关键参数比较

基于硬件的安全机制对硅片面积、功耗和成本的影响可能是巨大的。因此,设计人员经常寻找既可用于功能安全又可以用于制造测试的电路,比如LBIST和MBIST等结构化的方法。

这些技术通常已经作为制造测试要求的一部分在芯片上实现,因此任何额外的开销都保持在最低限度。图 3 显示了典型的 BIST 实现,该实现允许自动测试设备 (ATE) 通过 IEEE 1149.1 TAP 控制器进行访问,从而可以运行和监控测试。

如何通过BIST满足功能安全要求

图 3:汽车设计中的 BIST 基础设施

随机故障类型

ISO  26262  标准将故障分为两种类型,必须检测和控制这两种类型,以证明功能安全的正确实现。

第一类包括单点故障和残余故障,如图4所示

  • 单点故障是安全关键逻辑中的故障,可能对硬件功能产生不利影响并且不受安全机制的保护。

  • 残余故障是安全关键逻辑中的故障,可能对硬件和设备的功能产生不利影响。保护该功能的安全机制无法有效的检测到这类故障。

如何通过BIST满足功能安全要求

图  4:单点和残余故障图

无论哪种情况,故障都会直接影响功能。为简单起见,将使用术语 “单点故障”来表示两者。用于描述单点故障的度量是单点故障度量  (SPFM)。 

第二类故障是多点故障,如图5所示。多点故障是指与其他故障结合可能对安全关键功能产生不利影响的故障。最常见的例子是安全机制发生故障,导致安全机制无法运行,随后关键安全功能出现故障,但未被检测到。

如何通过BIST满足功能安全要求

图 5:多点故障

多点故障可分为两类:潜在的多点故障和检测到的多点故障。利用上面的示例,潜在故障是安全机制内的故障,其中不存在附加安全机制来捕获该故障。检测到/感知到的故障是安全机制中的故障,该安全机制受到附加安全机制(通常称为辅助安全机制)的保护。

用于测试和功能安全的LBIST

LBIST 是一项在半导体行业已使用多年的技术。从历史上看,它一直被用作 SoC 制造测试解决方案的一部分,与扫描 ATPG 结合使用或代替扫描 ATPG。

对于汽车设计,混合使用LBIST/ATPG 方法已被证明是一种流行的方法。Mentor Tesssent TK/LBIST 混合 IP 使LBIST和 ATPG 能够共享许多相同的逻辑结构,从而减少了测试电路所需的硅面积。

图6展示了ATPG压缩电路(Tessent TestKompress)和LBIST 是如何互补的。他们还可以使用在设计中实现的相同扫描链结构进行制造测试。LBIST的优点是能够在内部生成测试模式,使其成为一种基于系统内测试的良好的功能安全解决方案。

如何通过BIST满足功能安全要求

图 6:混合 ATPG/LBIST 控制器架构

使用LBIST 作为制造测试解决方案的一个挑战是,由于生成模式的随机性,如果不在设计中添加测试点来帮助检测,它就无法达到与ATPG相同的测试质量和覆盖范围。

然而,对于功能安全的应用和功能安全机制的实现,LBIST提供了极其有效的安全机制,能够为被测逻辑提供非常⾼的诊断覆盖率(DC)。这可以为设计人员提供一种自动化解决方案,即使不是更好,也可以与定制安全机制相媲美。

表 2 显示了不同类型的安全机制及其对设计不同方面的适用性之间的比较。其中许多安全机制可以使用Austemper安全设计⼯具或Tessent 的BIST ⼯具自动插入或实施。

如何通过BIST满足功能安全要求

表 2:安全机制在测试覆盖范围、测试时间、芯片面积以及它们对设计功能操作的破坏程度之间提供了不同的权衡

使用LBIST 作为安全机制的缺点是功能操作的干扰或中断。对于潜在故障诊断,功能操作的干扰或中断不是问题,因为这些诊断通常在Key-On/Key-Off期间执行。但对于检测到/感知到的故障,对功能操作的干扰越少越好。LBIST 在启用时是一种破坏性技术,必须更改电路的操作才能使扫描链变为活动状态,从而破坏设计存储元件中存储的数据。因此,LBIST 运行后必须重置电路。

设计人员越来越多地使用LBIST 作为检查单点故障的机制。虽然具有破坏性,但越来越多的应用程序在运行操作期间存在执行BIST的时间窗口。安全架构师或安全经理有责任确定LBIST是否可以重复使用来检测单点故障。

03

计算覆盖率指标

使用LBIST 实现功能安全对指标提出了挑战。目前还没有好的方法将 DFT测试覆盖率(TC)和故障覆盖率(FC)指标与功能安全指标,例如诊断覆盖率、单点故障指标(SPFM)和潜在故障指标(LFM)相关联。

然而,设计人员可以使用现有的DFT和分析软件来生成FMEDA (Failure Mode Effects and Diagnostics Analysis)所需的指标,以确定准确的故障率、故障模式和诊断功能。

DFT覆盖率指标

为了计算LBIST 实现的测试和故障覆盖率,采用与使用 ATPG 时相同的方法进行故障统计。LBIST的目标故障是基于特定的目标故障模型,是被测试的IC对象或组件的所有可能的故障。

在LBIST模式的故障模拟过程中,对完整的故障列表进行分析和模拟,以便为每个潜在故障给出特定的故障分类。这些分类推动了整体测试覆盖率和故障覆盖率计算。

功能安全诊断覆盖率指标

功能安全诊断覆盖率 (DC) 指标与 DFT 指标的不同之处在于,功能安全仅仅考虑那些可能直接影响应用程序安全目标的故障。因此,第一步是将设计中的故障分类为安全关键型故障和非安全关键型故障。

如何通过BIST满足功能安全要求
  • 安全关键 – 可能违反安全目标并导致不安全操作的故障

  • 非安全关键 – 不会导致设计不安全运行的故障

一旦我们有了这些分类,就可以进行故障模拟,以确定安全机制是否已成功实施并检测到安全关键故障。

LBIST的诊断范围

通过结合不同的技术,可以从成功实施的LBIST中准确计算单点故障度量诊断覆盖率。采用LBIST的故障模拟流程来计算图7a所示的DFT测试和故障覆盖率指标,初始故障列表中的每个故障都被同等对待,无论它是否应该被分类为安全关键或非安全关键。

图 7b 说明了添加安全分析如何对故障进行预分类:分为不同的功能安全类别。通过这种预分类,安全关键故障列表随后可应用于LBIST故障模拟。

如何通过BIST满足功能安全要求

图 7:(a) 标准 DFT LBIST仿真流程。(b) FuSa LBIST故障模拟流程

由此产生的诊断覆盖率根据以下公式计算:

如何通过BIST满足功能安全要求

例子

以下示例展示了如何使用图7b中的流程将功能安全故障分类添加到设计中的不同结构,以实现功能安全指标的正确计算。

如何通过BIST满足功能安全要求

图 8:具有通信接口、MCU 和传感器的示例设计

图 8 所示的设计显示了具有三个 IP 的示例设计:

  • UART ——仅在车辆维护期间使用,正常运行时候不使用。

  • MCU ——功能的关键处理器,但是没有内置的安全机制。

  • Sensor + SM ——传感器IP,其中包括内置的专用安全机制,可以检测传感器在运行时候发生的故障。

然后添加LBIST 作为完整设计的附加安全机制。它被实现为定期运行,具有足够短的诊断测试间隔(DTI),使得整体容错时间间隔(FTTI)可以满足,如图9所示。

如何通过BIST满足功能安全要求

图9:故障反应时间和容忍时间间隔

在添加LBIST之前,进行了全面的设计安全分析,并将故障分为以下几类:

  • λSPF(危险故障) –  在MCU 中,这些是单点故障,没有任何安全机制覆盖。

  • λMPF(多点故障) – 专用安全机制已涵盖传感器中的故障。

一旦对故障进行分类,就可以看到我们可以为 DFT 和功能安全提取不同的覆盖率指标。例如:

LBIST DFT 故障覆盖率:= 87%

  • 单点诊断覆盖率:= 95%

  • 多点诊断覆盖率:= 80%

04

结论

由于需要满足 ISO 26262 对随机硬件容差的要求,因此功能安全机制的实施成为任何汽车 IC 安全设计阶段的关键部分。选择最合适的安全机制对于实现所需的正确安全认证级别非常重要。LBIST是一种非常有效的安全机制,为基于数字逻辑的IP提供高覆盖率。由于它可以将部分制造测试解决方案翻倍,因此使用LBIST作为安全机制还可以减少面积开销。集成功能安全分析工具和 DFT 技术,使设计人员能够准确提取诊断指标,从而改进了ISO 26262认证流程。

 精品活动推荐 

如何通过BIST满足功能安全要求
如何通过BIST满足功能安全要求

原文始发于微信公众号(谈思实验室):如何通过BIST满足功能安全要求

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月25日13:37:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何通过BIST满足功能安全要求https://cn-sec.com/archives/2427460.html

发表评论

匿名网友 填写信息