安全性是自动驾驶平台的关键特性之一,而这些架构中使用的半导体芯片必须保证ISO 26262标准所要求的功能安全方面。为了监控由于现场缺陷导致的故障,在启动和/或关闭期间会自动运行系统内结构测试。当系统内测试(IST,In-System-Test)架构检测到任何永久性缺陷时,驾驶平台会做出响应,以实现系统的故障安全状态。本文介绍了在NVIDIA Drive平台上实现最高功能安全级别的IST架构。
引言
用于自动驾驶应用的SOC(片上系统)和GPU(图形处理单元)的设计复杂性正在稳步上升。为了满足这些关键应用的高性能要求,公司正转向更低的半导体技术节点。这些SOC和GPU芯片在生产测试期间进行测试,以筛选制造缺陷,只有已知的良好晶片才会在为驾驶平台应用程序设计的系统板上使用。
汽车驾驶平台应用程序被认为具有高度的安全关键性,这些系统中使用的集成电路(IC)的任何故障都可能危及生命。NVIDIA Drive AGX平台(图1)是为安全而从头开始设计的。它是一个AI(人工智能)超级计算机,可以同时运行一系列深度神经网络,并被设计为安全地处理高度自动化和完全自动驾驶。Drive AGX平台有不同的配置,可以满足各种性能需求。Drive AGX Xavier包括一个单一的Xavier AI SOC,提供30 TOPS(万亿次操作每秒)的性能,同时仅消耗30瓦的功率。它包括各种处理器,用于冗余和多样化的深度学习算法。对于需要终极性能的应用程序,NVIDIA DRIVE AGX Pegasus实现了320 TOPS的深度学习,其架构基于两个NVIDIA Xavier处理器和两个基于Turing架构的新一代GPU。
图1 NVIDIA Drive AGX Pegasus™ Platform
汽车IC采用高质量测试方法进行筛选,以实现接近零的DPPM(每百万缺陷部件)。即使在这样的高测试标准下,由于环境或操作条件的影响,在系统现场运行过程中仍可能出现可靠性缺陷。ISO 26262标准定义了用于汽车安全相关系统中所有电子和电气设备的功能安全。这些功能安全特性构成了每个汽车产品开发阶段的组成部分。ISO 26262还定义了适用于这些系统生命周期的各种ASIL(汽车安全完整性等级)标准。不同的ASIL等级(A、B、C和D)具有不同的测试覆盖目标,其中ASIL-D是最严格的,需要最高的测试覆盖率。
NVIDIA用于汽车应用的IC内置了功能安全机制,如ECC或功能冗余。IST补充这些安全机制,以实现永久性故障覆盖目标的最高可能ASIL等级。
IST涉及执行结构化的ATPG(自动测试模式生成)向量,即确定性扫描压缩和逻辑内建自测试(LBIST),以及在钥匙开启和/或关闭期间执行一组全面的MBIST(存储器内建自测试)算法,以确定通过或失败状态。IST可以覆盖适用于较低几何FinFET技术的所有故障模型。挑战在于将这些向量的执行转化为一个完全独立的功能特性,该特性可以在汽车系统的整个使用寿命中反复使用,同时满足测试时间和功率预算的要求。
下面介绍下IST的操作和必须克服的挑战。
目标
IST架构的主要目标可以分为以下几类:
• 高品质测试:为了达到最高的ASIL安全级别,被测设计(DUT)需要具有非常高的永久性测试覆盖率。期望测试支持一套全面的故障模型,以便检测较低几何FinFET设计中的缺陷。
• 低延迟:高品质测试模式是通过最短可能的测试时间和小巧的测试数据量实现的最高测试覆盖率来衡量的。
• 架构灵活性:架构应完全可扩展,以适应不同的时钟频率和数据速率,满足功率、存储和延迟要求。它还应该支持不同的设计配置。
• TDP(热设计功率)预算:需要确保在IST执行过程中保持在功能性TDP的限制范围内。
• 调试和诊断:架构应支持所有模式的调试和诊断,并为现场返回提供可追溯性。
高级IST架构
IST架构使得复杂的SOC系统的结构测试成为可能,以检测现场永久性故障。它可以补充ISO 26262中规定的永久性故障覆盖目标的功能性安全机制。该架构完全可扩展,可以满足产品生命周期内的各种要求。IST支持开机测试和关机测试,更新测试配置及其应用序列,以及针对不同测试条件(如电压和时钟频率)下的全面故障模型进行靶向测试。该方案还保持了扫描和MBIST测试模式的高级别现场诊断粒度。此架构不仅限于现场应用测试模式。它还可以用于系统级测试(SLT),以筛选缺陷,从而进一步提高测试质量。例如,它可以帮助弥补ATE环境与平台特定操作条件之间的差距。
IST使用硬件和软件组件的组合来测试Xavier SOC独立版本和/或与Xavier SOC配对的可分立Turing GPU。图2显示了IST架构的概览,其中测试数据和结果存储在平台上的eMMC(嵌入式多媒体卡)闪存中。eMMC内存大小要求基于所需的测试质量和平台成本。对于DRIVE-AGX平台,Turing dGPU的测试数据也将存储在与Xavier SOC连接的eMMC闪存中。数据将通过PCIe从Xavier SOC传输到Turing。硬件(HW)控制器与闪存之间有直接的通信路径。
图2 In-System Test Architecture
在生产测试中,IST(In-System Testing)的ATE(自动测试设备)测试模式需要被转换成一种可以存储在eMMC(嵌入式多媒体卡)内存中的数据包格式。然后这些数据包可以被芯片上的硬件控制器读取和解析。在生产测试过程中,测试数据的施加是通过使用ATE平台从SOC(系统级芯片)和/或GPU(图形处理器)的主引脚进行的。通过拦截正在测试的IP内部的复用器,实现了IST过程中的测试数据应用。
为了创建和存储IST测试程序到eMMC内存,开发了定制化的软件工具。Xavier和Turing上的IST硬件控制器与各种片上以及平台组件进行通信,以执行利用IEEE 1500、扫描压缩、XLBIST以及在芯片上的MBIST(内建自测试)系统的测试。这些硬件控制器可以通过IEEE 1500以及软件寄存器进行编程。它们能够处理平台中断,例如热中断和电源循环,以满足特定系统的性能和延迟要求。
根据要求在车辆启动(key-on)或关闭(key-off)时执行IST,系统软件会配置芯片以达到特定于平台的操作条件,如时钟频率、电源和电压设置、覆盖目标等。测试条件和测试应用的序列是灵活的,并且可以在产品生命周期中进行更新。
图3展示了IST操作序列的高级视图。自定义设计的硬件控制器基于从eMMC获取的测试数据包执行MBIST、ATPG/XLBIST测试,并将结果存储回eMMC供系统软件处理。一旦IST完成,硬件控制器将触发整个平台的关机。系统软件在下次平台启动时从eMMC读取结果并采取必要的行动。如果计划执行的芯片上测试失败,硬件控制器会被设计为提供足够的信息,以便使用调试和诊断软件确定故障原因,这是生产后支持的一部分。
图3 In-System-Test Functional to Test Mode Sequence
挑战
Drive AGX平台是迄今为止用于汽车应用的最先进的系统之一。Xavier SOC和Turing GPU是当今可用的最大IC之一。确保在这种硬件在汽车系统的多年使用寿命中,在各种环境条件和用途下不发生故障并非易事。制造测试程序确保不将缺陷部件发货给客户,并且插入整个芯片的设计可测试性(DFT)结构确保了这些测试具有最高的质量、可量化的覆盖范围和低延迟。挑战在于将这些制造测试专业知识转化为一个完全独立的功能特性,该特性可以在汽车系统中执行相同的高质量结构性测试。此外,IST需要在保持部分逻辑功能的同时运行这些测试。
A. 测试数据和测试延迟限制
IST的工作(key-on)和非工作(key-off)应用要求相对于ATE测试来说具有非常低的测试延迟。此外,为了降低平台成本,外部内存需求应该最小化。
现场测试的首选之一是BIST机制:LBIST(逻辑内建自测试)和MBIST(存储器内建自测试)。MBIST在实现对存储器结构的全面覆盖方面有着可靠的记录,同时具有低测试延迟,而对于LBIST,无法做出同样的判断。XLBIST测试模式需要最少的测试数据,但这些非确定性模式通常不能在复杂的SOC上获得高测试覆盖率,特别是在低延迟和严格的功耗预算限制下。确定性的ATPG(SEQ+)测试模式可以在相同的限制下实现更高的测试覆盖率。然而,对于现场应用来说,测试数据需求的量可能是不可接受的。
通过以更高的频率运行扫描移位可以降低测试延迟。然而,非常快的扫描移位路径的时序难度和增加的测试功耗限制了这种选项的使用。无论我们使用顺序硬件压缩还是LBIST,未知逻辑值(Xs)对于DFT(Design for testability )始终是一个问题。
对早期芯片的分析表明,通过消除所有的Xs,可以节省高达70%的扫描压缩测试时间和测试数据,同时将测试覆盖率提高到接近完美的水平。
最佳的X消除策略是确保在综合后的设计中没有X泄漏。这意味着设计尽可能修复RTL中的X泄漏。由于对功能逻辑的时序影响,综合后的X夹紧仅用于少数边缘情况。
英伟达开发了一种软件,可以自动找到X源并精确定位RTL中的所有X源。这种快速反馈对于在项目时间表内实现无X设计至关重要。一旦发现X源,RTL所有者会审查结果并使用自动化DFT工具修复RTL中的X源。进一步的测试优化是通过使用测试点(TP)插入和ATPG工具特定的增强来实现的。
通过这些优化所实现的测试时间和测试数据节省使IST延迟和测试数据量降低到汽车平台预算范围内,即使使用了激进的测试功耗解决方案也是如此。
B. 测试功耗约束
IST面临的主要挑战之一是将高开关结构模式适应到产品的电源噪声(PSN)、峰值/平均功率和热预算中。系统级平台和电源分配网络(PDN)是为功能用例设计的。通常,结构模式的并发开关活动量较高。如果没有低功耗特性,延迟将是最短的,但PSN会很高,导致操作电压升高和功耗增加。确保IST模式在给定的系统级平台设计中处于功率预算范围内并具有对所有工艺-电压-温度(PVT)变化的鲁棒性是一个挑战。从预硅功率估计中获得的另一个关键学习是,IST模式的总功耗主要由泄漏功耗主导,这导致了一种新的解决方案。
为了限制扫描捕获期间的同时开关数量,使用了基于时钟门控的硬件低功耗捕获(LPC)控制器。允许的功率预算在ATPG期间可编程,并根据芯片设计确定。LPC被启用以限制LBIST和SEQ+捕获阶段中的切换数量,从而显著降低峰值功率和PSN。由于MBIST模式也会导致高动态功耗和PSN,因此对MBIST使用了类似的时钟门控方案,对不参与MBIST操作的逻辑进行时钟门控。
由于移位操作所花费的时间远大于捕获所花费的时间,移位操作不仅是PSN的贡献者,也是整体动态功耗的贡献者。部署了移位交错方案,其中应用了相位交错的时钟,使得:
• 没有两个相邻分区在同一时钟边沿上切换(局部);
• 每条边的触发器切换数量平衡(解决全局PSN)。
• 在测试后对各个模块进行动态功率门控。
C. 隔离方法
在IST工作期间,作为IST骨干的一部分的逻辑应该保持功能完整并完全隔离,同时对DUT(待测设备)的其余部分进行测试。对于IST骨干,必须特别关注单元接口、时钟和复位信号以及测试信号(例如扫描使能、LPC),以便这些单元可以在ATE(自动测试设备)上进行制造缺陷筛查,并在IST中保持功能。
对于被认为应该具有功能的单元,必须小心防止X传播到单元输入。同时,流入任何可扫描逻辑的单元输出需要被钳位,以避免ATPG(自动测试模式生成)工具的任何X推断。如果不这样做,将导致覆盖率降低和模式计数增加,因为功能性单元将在ATPG期间被视为X的来源。这种隔离方案需要扩展到任何关键控制信号,例如时钟、复位。为了这些功能性单元,扫描架构必须进行修改以适应扫描链、扫描使能、包装边界寄存器和LPC的特殊处理。
在IST操作期间未使用的IO(输入/输出)应该保持在预定义的安全状态,以防止由于可扫描逻辑的随机切换而对平台组件造成任何损坏。为了确保这一点,系统软件预计会在进入IST模式之前将这些IO及其控制器编程为所需的状态,例如将未使用的IO接口编程为安全或空闲状态,刷新所有在IST期间不活动的IO外围设备的进出事务。一旦我们进入IST模式,JTAG将使用相同的软件编程值覆盖所有IO控制信号,以便IO继续保持在预定义的安全状态,如图4所示。
图4. IO Safe State
根据板卡配置的不同,一些IO可能需要驱动脉冲波形才能处于安全状态。这是通过将相应的功能性单元与扫描隔离来确保的。其他焊盘可能需要来自IST控制器的直接硬件控制才能实现可靠的系统操作。
D. RTL插入扫描骨干逻辑
为了解决与典型ATPG仿真相关的验证挑战,并希望在项目生命周期的早期拥有一个时序友好的设计,我们开发了一种新的流程。在这个流程中,我们将扫描骨干逻辑和压缩逻辑一起插入到RTL中。在RTL插入之后,门级插入被限制为缝合扫描链并将它们连接到RTL DFT包装器上。RTL DFT包装器在解压缩器和压缩器之间包含虚拟扫描触发器,以生成可以促进IST和扫描骨干逻辑共存的早期验证的虚拟ATPG模式。
为了在RTL中插入DFT结构,扫描DFT IP必须在常规RTL构建期间与其他功能单元一起构建(图5)。扫描DFT IP主要分为两类 – 静态和动态。静态组件是那些独立于设计规模并且固定的组件,例如1500个寄存器、标准多路复用逻辑和扫描低功耗控制器等,而像PRPG、MISR等压缩逻辑则是动态的,并且依赖于触发器的数目。
图5. DFT RTL Build Flow
可以推断出,动态组件依赖于其他正在构建的功能单元,并且由EDA工具生成,这可能会耗费时间。为了减少DFT IP RTL构建时间的延迟,DFT RTL被分为两部分 – 在线构建和离线构建。在在线构建期间,生成所有静态组件、具有完全指定接口和连接性的顶级包装器。然后引入离线构建步骤,读取已构建的RTL并提取所需的数据以生成动态组件。然后,将动态组件插入到从在线构建生成的DFT RTL包装器中。顶级扫描接口是完全标准化和预先确定的,并且在网表里程碑之间不会发生变化。还编写了执行RTL中虚拟扫描触发器ATPG所需的所有附带文件。
E. 验证
验证这种复杂的隔离方案及其所有相关情况是一项挑战。为了鲁棒地验证这一复杂特性,开发了一种新的验证策略和基础设施,使用了多种技术,如X注入和X传播启用RTL模拟、混合(RTL +门)模拟、形式验证、FPGA和门级仿真。为了确保芯片操作的测试和功能世界共存,进行了IST时序和IR降分析。必须仔细设置约束条件,以确保功能时钟传播到IST主干,而移位和捕获时钟传播到逻辑的其他部分。
对于启用了X注入和X传播的RTL模拟,使用了现有的Synopsys NLP(本地功耗)流程作为参考,并将其重新用于在时钟域上注入X以证明在低功耗下的逻辑正确性。
为了确定这些模拟的效果,开发了一个计算和分析X悲观覆盖率的流程。
作为验证策略的一部分,在IST模式下,目标是重用为常规ATE操作生成的ATPG模式。为确保常规ATE模式和用于IST模式的平台设置之间的PI(主要输入)约束始终匹配,采取了谨慎的措施。目标是验证通过扫描后逻辑和存储为内存数据包的通过扫描后DFT IPs生成的扫描模式可以遍历IST后逻辑的所有阶段并正确执行(图6)。为了获得早期验证反馈,如前一部分所述,为RTL中的虚拟扫描Flop生成了APTG模式,并对其进行了模拟以验证新的扫描DFT IPs以及IST后逻辑。
图6. ATPG Verification Flow
完整的扫描插入网表在隔离逻辑存在的情况下对扫描插入网表的完全验证只有在门级模拟中才可能。由于门级模拟高度消耗内存资源并消耗大量资源,因此采用了不同的方法,其中只有目标IP包含合成的门,而其余的DUT是常规的RTL(称为混合模拟)。这有助于节省大量资源并减少模拟的周转时间。由于这种方法导致的任何覆盖缺口,都在门级仿真中得到了解决。为了补充门级模拟和仿真努力,形式验证被用来检查分层合成网表和展平的扫描插入网表之间的等效性。
特别设置了IST形式验证检查以验证门级扫描插入流期间的扫描隔离。到目前为止,所有IST逻辑都使用如前一部分所述的RTL验证技术进行了验证。
此外,将RTL与合成但预扫描插入(非扫描)的门级网表进行比较,使用常规功能RTL-to-非扫描形式验证运行。在扫描插入后,当我们专门针对验证IST逻辑隔离的正式检查运行时,只使用IST隔离逻辑顺序单元作为比较点。除此之外,除了控制信号之外,所有形式约束都被移除,即表示IST操作模式的ist_mode。目标是验证一旦启用ist_mode,IST隔离逻辑行为就等同于RTL设计。
图7c. Scan Inserted Netlist – Correct Implementation
图7a显示了一个示例,其中有两个翻转器(在扫描插入之前),它们应该在IST期间处于功能性状态。实际Q和D端口上的功能性连接未包括在内。显示了两种实现:图7b将scan_enable直接连接到这些翻转器的SE端口。
这是一个错误的实现,因为这些翻转器在扫描移位期间不会被隔离。图7c显示了正确的实现,其中在将其连接到SE端口之前,scan_enable被带有ist_mode信号的门控关闭。在IST形式验证运行期间,图7b的实现将失败,因为它不会匹配金丝雀网表。另一方面,图7c的实现将通过,因为具有约束ist_mode=1,它将导致等效电路。
F. 架构灵活性和调试与诊断
SEQ+扫描压缩架构原生支持各种诊断分辨率级别,即MISR签名可以按移位、模式或测试进行卸载。此外,SEQ+还支持SEQ+控制结构的自测和诊断。挑战在于设计一种控制结构,使其能够在汽车平台约束下的IST应用中无缝地在芯片上使用这些功能。
在测试调度和混合应用ATPG/XLBIST方面,还需要架构的灵活性。IST支持在SOC和GPU上对MBIST、ATPG、XLBIST或这些测试的混合进行串行、并发、伪并发和突发式应用。
V硅片验证结果
IST特性已在系统中成功验证。该特性经历了严格的测试和表征过程,以确保在不同的平台PVT条件下可靠运行。为确保硅后结果与第二节列出的预硅目标相匹配,进行了全面的分析。
下面介绍Xavier SOC和Turing GPU的PSN和功耗测量的综合概述。硅PSN测量使用片上探针点进行记录。这些测量的目标是验证在IST期间减少同时切换数量的各种低功耗特性。
图8比较了Drive-AGX平台上硅的平均系统级功耗。在Xavier上,展示了模式X1和X2的数据。X1仅包括低动态功耗方案,而在生产模式X2中,还应用了泄漏功耗降低方案。因此,在模式X2中,相对于模式X1观察到额外的23%功耗降低。对于Xavier来说,所有值都相对于模式X1进行了归一化处理。对于Turing,比较模式T1和生产模式T2的平均功耗,其中两者都使用了泄漏降低和串行化。在Turing中,48%的功耗降低是必要的,以符合其功能功耗预算。
图8 . 硅片测量的平均功率
在图9中比较了低功耗模式的PSN与未进行功耗优化的模式(没有低功耗特性)。图表显示了Xavier上的电压轨的PSN降低情况,随后是Turing上的功率轨。在Xavier上,其相应的电压轨观察到了约20%至47%的PSN降低,而在Turing上观察到了70%的降低。由于Turing在一个轨道上包含更多的逻辑,因此Turing芯片的百分比降低更高。所有值都相对于没有低功耗特性的最差情况模式进行了归一化处理。在实现高覆盖率的同时,系统的延迟如预期的那样增加了。经过表征后,对模式进行了调整,以确保根据需求满足延迟预算,同时最小化平均功耗和PSN。这有助于在更低的电压下测试设备以获得更好的缺陷检测。
图9 . 硅片测量的PSN
英伟达使用了一系列优化来减少测试时间和测试数据,并进一步提高测试覆盖率。按照它们的影响顺序,这些优化包括X消除、测试点插入和各种ATPG工具增强。图10总结了这些努力的结果,并显示了类似IP在增强之前(标记为OLD)和之后(标记为NEW)的比较。在每种情况下,OLD版本的IP来自较早的芯片。NEW版本用于Pegasus平台。OLD和NEW版本具有几乎相同的功能,但NEW版本具有更新且显著更大的设计。此图表中的所有数字都相对于给定IP的OLD版本进行了归一化处理。次Y轴上显示了归一化的扫描单元计数,表示整个电路的大小。主Y轴上显示了归一化的总测试周期计数,表示给定IP的整体测试时间。测试周期进一步分为两组:XTOL周期(浪费于X容差的测试周期)和有用周期(有用的测试周期)。
图10 . 通过多重优化缩短测试周期
如图10所示,所有IP的尺寸都显著增加(即扫描单元计数)。假设所有其他因素保持不变,给定IP的总测试时间将与扫描触发器的数量成比例增加。但由于实施了激进的优化,这种假设被打破了。IP1、IP2和IP3的尺寸增加了一倍多,但总测试时间(即测试周期计数)减少了25%-60%。对于所有IP,测试覆盖率显著增加到接近完美的水平。
结论
考虑到在设计和验证领域必须应对的众多挑战,将一种新的复杂IST(智能测试)架构产品化并非易事。IST架构被设计为NVIDIA现有测试架构的扩展,以便在制造缺陷筛查和现场应用的永久性缺陷检测方面实现一致的方法。它还具有在汽车平台的生命周期中对现场由永久性缺陷引起的故障或错误进行调试和诊断的能力。IST架构可以扩展到汽车行业之外的需要定期进行硬件可靠性现场测试的应用。
来都来了,点个在看再走吧~~~
原文始发于微信公众号(智车Robot):NVIDIA Drive平台的系统内测试(IST)架构