系统级芯片的系统级测试,如何提高SoC芯片质量?

文︱BRYON MOYER

来源︱Semiconductor Engineering

编译 |编辑部

传统的半导体测试通常由自动测试设备(ATE)执行,但工程师们更倾向于额外的后期测试。为了在最终产品组装之前发现设计问题,工程师需要在系统环境中测试片上系统(SoC)。

“系统级测试(SLT)提供了一个大容量的环境,可以同时测试硬件和软件,并找到小批量工程测试中难以发现的设计错误。”泰瑞达(Teradyne)SLT系统架构师Peter Reichert表示。

虽然SoC上的可测性设计(DFT)基础架构能够提供测试向量,并尽可能缩短测试周期,但重点逐渐转移到由CPU软件执行的测试上。这与最终测试后的全新系统级测试插入非常吻合。

IC的测试始终处于微妙的平衡中。一方面,需要对出厂产品的质量提出更高的要求,并尽量减少退货率,最大限度地提高客户满意度。另一方面,必须尽可能降低测试成本。

这通常意味着对执行某些测试点进行一些战略性的洗牌。传统上,有三个插入点:在晶圆离开晶圆厂之前进行晶圆接受测试(WAT);在晶圆分拣时,在晶圆切片之前;并在最终测试中,在设备打包后。

具有高故障率的测试应在晶圆分类之前尽早完成,以确保额外资金不会花在制造将被扔掉的零件上。但是,也可能有机会以最低的插入成本执行高产量测试,因为报废设备的可能性很低。

对于SoC或任何可以执行软件的设备,额外的SLT插入逐渐受到重视。SLT在系统环境中测试芯片,其中包括运行在软件中实现的测试并在芯片的CPU上运行的能力。

“由于工艺节点的缩小,工程师们看到了更高的缺陷率,”Teradyne SLT营销总监Paul Klonowski表示。此外,“随着功能更高的设备变得越来越小,封装变得越来越复杂。晶圆测试和封装测试逐渐难以满足要求,系统级测试变得越来越重要。”

向量与软件

逻辑芯片测试包含两种类型的测试,即功能测试和参数测试,包括对电流和电压等参数的测试。为了最大限度降低测试成本,使用芯片内的专用硬件执行功能测试。这种DFT基础结构允许将测试向量直接应用于内部电路。在芯片被适当计时后,结果被发送到输出端进行评估。

为了保持硅的低成本,输入向量和输出结果经过扫描录入录出。结果不是直接输出的,而是被压缩成一个签名。通过将该签名与预期签名进行比较,可以判断出测试结果是通过还是故障。

系统级芯片的系统级测试,如何提高SoC芯片质量?

图1:传统的基于扫描的测试使用内置可测性设计(DFT)基础架构,该基础架构独立于主功能架构。这个简化的概念图以蓝色显示扫描链,由连接到外部测试引脚的块控制(图源:Bryon Moyer/Semiconductor Engineering)

这么做的目的是将尽可能多的测试打包到尽可能少的向量中。这种做法效率更高,允许在最短的时间内实现更高的测试覆盖率,使测试成本保持在一定范围内。

然而,需要注意的是,这种测试与芯片在系统中的工作方式不同。可能永远不会同时使用的多个模块可以同时进行测试,以减少向量的数量。因此,从目标系统的角度来看,测试模式使设备处于非自然状态,以至于测试期间的功率曲线比所谓的“任务模式”要高得多。

通过CPU上执行的软件驱动测试使设备保持自然状态,但它不具有扫描向量的效率和测试密度。但其可允许测试特定用例,尤其是SoC中多个模块交互的极端用例。

系统级芯片的系统级测试,如何提高SoC芯片质量?

图2:软件驱动的测试来自加载到CPU中的程序。然后,CPU执行这些程序来控制SoC中的各种元素。简化的流程用红线表示(图源:Bryon Moyer/Semiconductor Engineering)

生成软件定义的功能测试

几十年来,随着技术不断发展演进,逐渐产生了基于向量的测试。它利用电路内特定点的激励和观察,扫描链允许直接访问这些点。

因此,传统的向量生成为每个点确定激活目标状态所需的内容,然后确定所需的输出应该是什么。然后,努力组合尽可能多的向量,以减少总体数量,从而减少测试时间。

软件驱动的测试则大不相同。CPU无法像扫描链那样直接访问内部电路,因此这与其说是确认特定电路是否正常工作,更多的是关于执行真实场景,以确认芯片总体上是否按预期运行。

之所以选择这些场景,是因为它们预计会给芯片带来更大的压力。或者,其目的可能是在极端电压或温度条件下运行测试,以确保芯片在这些条件下按预期工作。

这意味着,通常,SoC设计团队需要决定执行哪些测试以及如何执行这些测试。实际上,一些软件测试可能会在芯片构建之前在芯片验证期间运行,通常用于仿真期间。

与在位或向量级别运行的较低级别测试不同,这些测试在C语言级别运行,并针对SoC中的CPU进行编译,“软件驱动的测试通常比在ATE中更容易创建,因为它涉及标准操作步骤,您可以在现场的设备中看到这些步骤。”Klonowski表示。有硬件初始化,有内存训练,有启动操作系统,将设备置于睡眠和低功耗模式,执行高负载操作,并根据基准进行检查。但是,您实际上是在像在应用程序中一样操作设备,然后对它们运行这些不同的操作测试。

便携式测试和激励标准(PSS)提供了一种生成测试的方法,这些测试可以移植到任何验证节点、硅启动测试或大批量商业测试。PSS有助于促进重复使用。

Cadence产品管理组总监Moshik Rubin表示,一些测试可以在多个目标平台上重复使用,例如模拟或仿真。“生成的测试可以很容易地移植到硅后验证和制造测试中。”

但这种重用可能并不像现在这样普遍。“我见过硅前验证方面的团队进行定向测试或集成软件测试,”Synopsys的科学家Filip Thoen表示。“你看到人们在做硅唤醒的硅后验证。我见过团队开发人工测试套件来强调芯片以优化产量。然后,您仍然需要为开发板开发软件,或者您将开发诊断。而且所有这些频谱都没有重复使用,这是一个巨大的浪费。”

例如,在仿真期间完成的SoC软件测试可以重新用于SLT。“加载到模拟器中的内容可能与最终软件不完全相同,”Thoen称。“[用于仿真与测试]必须自定义的是设置外部环境的驱动程序。”

获取测试结果

虽然测试的重点是软件,但仍可能需要一些硬件考虑因素,以获得测试结果和检查芯片特性以进行诊断。

很容易想到一个软件定义的测试仅仅因为“没有出错”而通过。但更典型的测试会寻找一些特定的结果,并且该结果需要传递到某个地方的输出。

一些这样的测试可能会自然地在输出引脚上显示结果(例如,也许,内存端口上显示的内存地址)。但情况往往并非如此,因此需要一些其他方法来产生内部结果。

提供更多输出细节的一种方法是利用芯片内部的扫描链结构。这表明芯片在这种主要功能模式下与测试模式之间存在一些相互作用。但背景也有助于理解为什么某些事情失败了。

“如果我将软件加载到处理器上,软件就会运行,并且我会得到通过/故障回复,”Advantest平台扩展经理Klaus-DieterHilliges解释说。“我只是跑了一个黑匣子。我很难让它发挥作用,因为我对正在发生的事情几乎没有可观察性。我们必须能够接收跟踪跟踪信息,以观察功能测试执行。如果你去Cadence,Breker或其他自动生成此类功能测试用例的EDA公司,你可以看到在执行测试时发生了什么。”

此外,现代工艺节点上的许多芯片还包含传感器和监视器。在发生故障时,这些电路可能会提供有关故障发生条件的宝贵线索。因此,出于诊断目的,还应该有一种方法来获取这些传感器信号并将其与结果一起发送出去。

“有一个DFT接口,就像JTAG一样,我可以去一个传感器集线器,我可以读取它来获取这个或那个信息,”Hilliges指出。“这些传感器通常可以通过嵌入式软件访问。如果我运行一个功能测试,那么它可以读取内部接口。”

然而,尽管如此,使用软件驱动的测试来量化你正在测试的内容还是很困难的。“这是SLT的一个巨大挑战。没有好的方法来评估您的故障覆盖范围,”Reichert称。

系统级芯片的系统级测试,如何提高SoC芯片质量?

图3:软件定义测试的输出可以返回DFT基础架构,以便获取有关故障的诊断信息。这些诊断可能由来自片上监视器和传感器的数据(橙色线)辅助,这些数据可能在出现故障时提供有关系统条件的信息(图源:Bryon Moyer/Semiconductor Engineering)

系统级测试

软件驱动测试的全部意义在于关注系统环境中可能发生的场景。在传统的最终测试插入之后,正在对一些复杂的芯片进行较新的测试类型。

这种SLT插入在与用于晶圆分类或最终测试的测试仪完全不同的测试仪上运行。“测试板通常非常类似于应用板或最终用途板,这些板将在现场看到,”Klonowski认为。“你实际上是在测试设备,因为它将在现场运行。”

Teradyne的Reichert表示赞同这一观点。“这是真正的功能模式,而不是测试模式。芯片上的热模式、时钟噪声或电源噪声等因素在测试模式下与实际操作不同。这是一个机会,可以发现芯片中的其他故障,这些故障在正常的结构ATE测试中可能无法获得。”

在某种程度上,SLT已经存在了一段时间。但在过去,SLT是使用处理较小体积的较小测试仪完成的,并且没有足够的可用空间来容纳大容量测试所需的测试人员数量。

“在数量急剧增加并且SKU数量急剧增加之前,这一直运作良好,”Advantest技术和战略副总裁KeithSchaub表示。“但是硅工艺节点急剧缩小,这使得热问题变得更加严重,并使SLT变得更加重要。所以现在我们需要一些真正值得HVM(大批量生产)的东西。”

低成本测试

虽然这些测试设备可能比标准测试设备更昂贵,但它们也可以并行运行数百个站点。与最终测试不同,一些SLT测试设备可以独立或“异步”在每个站点上运行测试,而不是同步运行。因此,如果设备出现故障,理论上可以将其弹出并替换为新设备进行测试,而无需等待其“队列”中的所有其他设备完成测试。甚至可以同时在两个不同的芯片上运行测试,从而在它们之间划分站点。

但是,每个单独的站点并不是完全独立的。有些测试设备带有一定数量的站点板或盒子。这些电路板作为一个整体插入和移除。这些站点仍然自行运行测试,但板上的所有站点都同时启动。如果一个提前失败,它必须等到整个电路板完成才能被移除。但这比等待数百个单位完成的限制要小得多。

这种独立的特性允许根据测试的进行方式为每个设备提供更灵活的流程。“异步测试站点允许在线时进行容错和修复,”Klonowski指出。

异步测试,加上大量的站点,使插入成本更低。虽然晶圆分类和最终测试试图最大限度地减少每微秒的测试时间,但SLT测试可能会运行几分钟。Klonowski表示:“系统中有数百个站点,每个站点的总体成本更低,从而延长了测试时间。”

与早期的测试插入不同,至少从执行向量的角度来看,SLT通常不会显式使用扫描测试基础结构。运行在CPU上执行的测试要自然得多,而软件定义的测试非常适合这种描述。出于报告目的,可能仍然与内部测试和传感器基础结构有一些连接,但启动测试的是CPU。

如有必要,如果测试人员支持,仍然可以运行标准向量。“SLT测试设备可以配备运行扫描,”Klonowski称。“事实上,鉴于较低的每秒测试成本和SLT系统提供的高并行度,基于SerDes的扫描是最有可能移植到SLT的ATE测试候选项之一。配备SLT测试仪来运行扫描需要特定于扫描的硬件和仪器。”

重要的是要强调,尽管有SLT名称,但这不是对实际系统的测试。这是在芯片发货用于构建系统之前,在系统环境中对芯片进行的测试。它是芯片制造流程的一部分,而不是系统制造流程。

何时执行软件驱动测试

虽然额外的测试插入通常伴随着成本增加,但增加成本较低的SLT插入可能有助于降低总体测试成本。

向量测试可以在晶圆分类或最终测试中运行,因此软件定义的测试似乎可以在这些插入和SLT中运行。那么,运行它们的正确位置是什么?

首先,从实际上讲,软件定义的测试需要访问存储器,这在用于晶圆分类的标准探针卡上通常不可用,尤其是多站点探针卡。“假设你买了一些内存芯片,并试图弄清楚如何让其接近ASIC,”Schaub解释说。“你打算怎么做呢?客户已经尝试过,但没有成功。”

若不处理整个晶圆则更容易实现。“他们已经想出了如何在最终测试中让它发挥作用,”他补充道。

撇开测试基础架构不谈,产量期望或经验可以帮助确定应在哪里运行不同的测试。“如果找到一个高故障率测试,并把这个测试交给晶圆测试,”Klonowski表示。“如果这是一个非常高收益的测试,则尝试在系统级测试中进行,因为这是每个站点测试成本最低的地方。”

随着产品的成熟,测试可能会在插入之间来回移动,以优化产量和成本。但公司正在从向量转换为软件的简单方法中受益,反之亦然。因此这些测试可以轻松移动。“如果你确实发现这些软件测试失败,并希望能够快速将其转化为向量,将其从SLT推回到最终测试,”Schaub称。

系统级芯片的系统级测试,如何提高SoC芯片质量?

图4:两个SLT系统,Advantest(左)/Teradyne(右)(图源:Advantest、Teradyne)

SLT的用户

SLT插入并非对每个芯片都适用,而是更适用于那些对质量要求高的市场中面向系统的芯片。

“最终用户对质量要求越来越高,从而导致某些用户表示,‘通过SLT,可以发现以往在标准ATE中找不到的错误,’”Klonowski称。

在测试过程中的外部环境很重要的情况下尤其如此。在SLT期间,温度和电压可以按站点进行控制,因此这是确保芯片在所有条件下都能正常运行的低成本方法。

特别是这三个市场对SLT的需求,包括智能手机、汽车和高性能计算。这些市场由于各种原因,将在不同的测试条件下使用SLT。

手机芯片通常会在室温下进行测试。这些大批量芯片的SLT插入旨在最大限度保证高质量,以尽可能减少设备退货。

汽车芯片要求更高,需利用自动温度控制。这些芯片需要在-40°C至150°C的温度范围内进行测试,以确保芯片能够在安全关键型系统中承受这些极端环境。

另一方面,用于高强度计算的芯片制造商主要关注的是确保其芯片在测试过程中不会过热。因此,目标不是测试现场强制执行特定温度,而是提供足够的冷却以将温度保持在125°C以下。通常不需要冷测试,因为芯片一旦启动就会迅速自发热。

芯片系统化趋势显著

随着为大批量运行且故障成本高昂的应用提供驱动的复杂SoC出现,在实际条件下以系统模式测试芯片逐渐成为发展趋势。

软件驱动的功能测试和SLT可以确保这些复杂芯片高性能交付,且可使其能够在更大的系统中成功完成任务。

来源:TechSugar

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月10日
下一篇 2022年2月10日

相关推荐