系统级测试(SLT)白皮书硬核分享(一)

泰瑞达中国 泰瑞达TERADYNE 2022-04-06 09:00

前言

在半导体晶体管尺寸越来越小、芯片功能日益复杂的趋势下,系统级测试(简称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

可放在测试板上的所有待测芯片外设,包括:

  • PMIC

  • RAM

  • 存储(如NVMe、eMMC)

  • SD卡

  • USB闪存

  • PCIe外设(如NVMe)

03

仿真电路和回环,用于无法放在测试板上的外设,例如人机接口设备(HID)和HDMI,在下图中用Maock I/O模块表示

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

待测芯片在结构测试期间不会经历真实运行,无法发现一些边缘故障和滞后性的故障,包括以下差异:

  • 电源和时钟分配电路中的噪声

  • 测试向量导致待测芯片发热

04

ATPG没有覆盖复杂的真实场景,手动编写这样的测试向量可能非常困难甚至不可能

05

测试中不包括系统软件


相较而言,使用SLT时,测试工程师可以像在真实环境中一样使用待测芯片,从而发现以前无法发现的故障。下期我们将探讨SLT逐渐普遍的原因、SLT的实践应用、SLT面临的挑战。

未完待续图片


图片