什么是系统级测试?
它有什么特别之处?
系统级测试(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面临的挑战。
未完待续