前言 在半导体晶体管尺寸越来越小、芯片功能日益复杂的趋势下,系统级测试(简称SLT)变得至关重要。那什么是SLT?SLT是如何帮助提高产品质量并缩短上市时间的?我们将从本文开始,分三期对SLT相关内容进行介绍阐述,请持续关注! 什么是系统级测试?它有什么特别之处? 系统级测试(SLT)是指在仿真的终端使用场景中对待测芯片(DUT)进行测试,纯粹通过运行和使用来完成测试,无需像传统自动测试设备(ATE)那样创建测试向量,但是仍需要编写测试,只是编写方式不同。测试流程如下: ► 执行特定操作。该操作可能是系统使用过程中固有的,如启动操作系统;也可能是运行某些功能模块编写的特定程序, 如性能评估程序。 ► 判断该操作是否成功,是依据测量的结果或该操作的成功/失败来进行衡量。例如,在验证某个内部进程是否成功执行时, 判断的依据可以是操作系统是否成功启动;或检查某个测量值(性能测试结果与阀值的比较) 大多数情况下,SLT中的系统会配备一些板载处理器来执行测试流程。由于片上系统(SoC)和系统级封装(SIP)芯片是SLT的主要测试对象,因此测试用处理器通常就是待测芯片的一部分。如果不是此种情况,待测芯片的外围测试系统通常会配备 一个合适的处理器。 SLT的测试时间比传统ATE的测试时间长很多,因为SLT是模拟真实终端使用场景的功能测试,而不是ATE中的结构测试(参见第2.2节)。SLT的测试时间一般都超过一分钟,甚至可能长达数十分钟,典型的测试时间为10分钟左右。由于测试时间较长,与传统ATE测试相比,SLT测试设备必须具有更高的工位密度和更低的工位成本。 SLT概览 1. 系统 在生产环境中执行SLT需要构建一个系统。SLT中的系统是在测试板上实现的,该测试板与最终使用该芯片的产品的电路板非常相似。测试板可能包括以下功能和特性: 01、与待测芯片相匹配的引脚底座 02、可放在测试板上的所有待测芯片外设,包括:
04、测试用处理器(待测芯片不是测试用处理器的情况下) 05、测试设备和测试用处理器之间的通信方式 06、终端应用中使用的系统软件 系统级测试中非常关键的一点是,它将软件看成是系统的一部分。这有助于: • 尽可能重现终端使用环境 • 测试硬件和软件的交互方式 2. 测试机 连接到测试板时,测试设备至少需要提供以下功能和特性: • 测试板和待测芯片的电源 • 与测试用处理器交互的方式 更为先进的SLT测试设备还具有以下功能和特性: 01、连接到嵌入式处理器控制台的UART接口,用于实现设备间的通信 02、JTAG,用于直接访问待测芯片 03、串行外设接口SPI,用于访问测试板上的功能 04、高速串行接口,如PCIe、以太网或USB 05、自动温度控制 06、具有相当的空间以容纳客户设计的测试板卡及模块 07、测试板上闪存设备的自动更新 除了具备以上所说的硬件功能以外,测试设备还必须提供一个计算机平台(测试用PC)和相应的API,以便测试程序访问这些功能和特性。 3. 测试 创建SLT测试有多种不同的方法,所选的SLT测试设备应该能够灵活适应不同方法。以下示例就展示了这种灵活性。测试程序是多个单独测试组成的集合或序列,通常在作为测试设备一部分的测试用PC上运行。各个单独的测试通常实现为代码,在以下位置运行: 01、测试用PC 02、测试用处理器,可能是测试设备或测试板的一部分 03、处理器,待测芯片的一部分 在所有三种情况下,测试都可通过测试设备API或测试板上实现的接口来操作测试板和待测芯片。在最后一种情况下,测试可在待测芯片中运行。 1)在测试用PC或测试用处理器上执行测试 执行测试用PC或测试用处理器上的测试的流程如下。在此示例中,测试旨在验证嵌入式处理器是否启动。假设待测芯片有 一个连接到测试设备UART控制台的UART端口,则此测试最简单的形式是: 2)在具有测试用处理器的待测芯片中执行从测试用PC部署的测试 另一种类型的测试是从测试用PC部署到待测芯片本身的测试用处理器。在这种情况下,假设待测芯片有某种高速接口,可以通过该接口下载和执行测试程序。这种测试的通用形式一般是: 3)执行直接存储在测试板上的测试 另一种测试方式是将测试序列存储在测试板上的非易失性存储器中,从而节省下载时间。采用将测试下载至测试板的方式时, 更容易更改测试。 当然,在真实环境中,测试会更加复杂,需要验证许多事件。借助SLT测试设备的灵活性和测试板上待测芯片周围的真实硬件,能够更轻松地创建非常复杂的场景,这点对于传统ATE来说很难或者根本无法实现。 SLT有什么独特之处和优势 系统级测试也被称为功能测试。有段时间,大多数测试都是功能测试,但后来证明由于结构测试能够自动化,可以更有效地 满足故障覆盖率要求。因此,自动测试程序生成(ATPG)成为测试向量的主要来源。 ATPG等结构技术需要扫描链等人工结构,以便访问整个电路,这使得大多数测试都是在测试模式下完成。虽然这对测试大有裨益,但可测试性设计(DFT)和ATPG也有缺点,包括: 01、测试模式掩盖了仅在功能模式下可见的故障 02、ATPG 测试向量不会覆盖电路所有部分,如IP块之间的接口 03、待测芯片在结构测试期间不会经历真实运行,无法发现一些边缘故障和滞后性的故障,包括以下差异:
05、测试中不包括系统软件 相较而言,使用SLT时,测试工程师可以像在真实环境中一样使用待测芯片,从而发现以前无法发现的故障。下期我们将探讨SLT逐渐普遍的原因、SLT的实践应用、SLT面临的挑战。 SLT为什么越来越普遍? 质量要求日益提高 过去十年里,我们生活的世界变得更加依赖电子设备。这点在汽车中尤为明显:半自动驾驶汽车已经推出,电子设备或软件能够感知事件并通过自动转向或制动来对事件做出反应。 世界各地的人也都高度依赖手机,而这需要强大可靠的设备作为基础。对设备质量的高要求推动制造商对其芯片和系统进行全面测试,以减少终端用户购买后遇到问题的可能性。 不断推向技术极限 在当今竞争激烈的市场中,元器件供应商不断推向技术极限,以提高性能、电池续航和良率。这意味着,供应商需要:
测试覆盖率仍有待提高 鉴于进入测试时的初始缺陷率升高,而退出测试时允许的缺陷率显著降低,元器件制造商比以往任何时候都更加依赖测试。 目前的技术已经远远超过每个芯片10亿个晶体管的大关,99.5%的故障覆盖率虽然仍可以接受,但如果以10亿件来计算,0.5%还是很多。 电子设计自动化(EDA)行业在实现故障覆盖率与密度同步提高方面付出了巨大努力,但由于以下原因,故障覆盖率的提升有所滞后。 故障模式 每当在集成电路制造中引入新的创新技术,也意味着引入了新的故障模式。但检测这些故障模式所需的新测试技术却开发缓慢,总是难以跟上步伐。而通过SLT,制造商可以实施功能测试,以引发和捕获由新故障模式导致的真实故障。 除了具备以上所说的硬件功能以外,测试设备还必须提供一个计算机平台(测试用PC)和相应的API,以便测试程序访问这些功能和特性。 SoC内部接口 ATPG专注于测试IP块并为这些IP块实现非常高的故障覆盖率。然而,随着SoC变得越来越复杂,加入更多IP块,这些IP块之间的接口成为芯片中更重要的组成部分,导致整体故障覆盖率下降。 IP块接口的另一个挑战是它们通常是异步的,这就导致测试更加困难。除了测试异步接口的复杂度,扫描所有可能的时序组合也非常耗时。 EDA行业提供了推动SoC系统验证的工具,但尚不清楚这些仿真将如何移植到ATE,甚至能否移植到ATE。SLT支持对接口进行测试,因为待测芯片将在真实环境中使用,以便发现ATE中可能没有出现的故障。 通过SLT进行设计验证 如今的系统非常复杂,因此缺陷很难避免。设计验证环节应该在零件或系统投入生产之前发现这些缺陷,但是,其中一些设计缺陷很难察觉,这就导致许多系统需要运行很长时间才能出现这种系统故障形式的缺陷。更多时候,发现这些缺陷所需的硬件实例数量大得不切实际。 作为替代方案,在预生产和早期生产中运行SLT可以提供引发这些罕见故障所需的大量待测芯片,以便在产品交付给终端客户之前修复硬件或软件中的缺陷。 边缘故障通常是裕度设计不佳造成的结果,因此SLT发现边缘故障的能力有助于在流程早期阶段解决这些裕度设计问题。 SLT的实践应用 用SLT有多种不同策略。之前提到了SLT能够提高复杂待测芯片的故障覆盖率,此外还有其他优势,包括:
完整SLT与局部SLT对比 本白皮书主要介绍使用完整SLT以实现更高质量,但也存在其他使用可能性: 1) SLT抽样测试 对于过往记录良好、基于成熟工艺、在ATE上具有良好故障覆盖率的待测芯片,SLT可能并不是必需的。但是,使用SLT对部件进行抽样测试有利于验证是否达到每百万缺陷数(DPPM)要求。 2) 初始斜波期间或降低缺陷率时使用完整SLT 用于发现ATE未检出的故障,找出SLT所发现故障的根本原因,然后创建ATE测试进行验证。同时,来自SLT的反馈可用于降低工艺的缺陷率。如此一来,测试覆盖率和缺陷率都有了改进,最后只需抽样检查即可。 3) 全面生产SLT 当使用传统ATE无法实现必要的覆盖率,或由于高工艺缺陷率而导致漏检率过高时,可使用此方法。 快速提高故障覆盖率以避免漏检 理想情况下,遇到系统故障时,应找出故障的根本原因,修复故障并添加测试来捕获其他故障,但这个过程需要时间,而更理想的方法是立即停止漏检。SLT非常适合这一用途,它可以用来捕获ATE的漏检故障,然后可以将测试快速添加到SLT,以检测出影响终端用户的漏检。 SLT提供的测试方法,对于标准ATE来说非常困难甚至不可能,因此,对于某些现场故障,SLT是少数几种达到故障覆盖率要求的方法之一。 难以量化故障覆盖率 有一些手动方法可帮助了解SLT测试的全面性,包括根据定义系统场景、列出所有要测试的场景,然后验证针对这些场景的测试是否足够。 EDA供应商已经开始为基于场景的SLT生产合适的工具。 无法测量裕度 SLT则有所不同:功能测试可以告诉我们给定的待测芯片是否正常工作,但它不能告诉我们待测芯片是处于故障边缘,还是有充足的裕度,可以继续正常工作。 测试板的差异性 如果大量测试板不符合规范,并且是由于测试板设计缺陷而导致待测芯片失败,这将是一场灾难。但是,如果测试板都符合规范,那么测试板的差异性反而有利于测试,因为这意味着待测芯片的测试更接近真实场景。 结语 通过使用SLT在仿真的终端环境中对待测芯片进行功能测试,设备制造商可以预防使用传统晶圆和封装测试技术难以检测到的漏检故障。 此外,在测试流程中添加SLT环节后,不仅可以捕获漏检故障,而且可以在平台之间移动测试,包括在测试流程的早期阶段运行低良率测试,后期阶段在SLT测试设备中运行高良率测试,这将有助于客户达到理想的测试成本/质量比。 |