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