人工智能设计的新技术对“为测试而设计”过程提出了重大挑战。
为通用应用设计的传统处理器很难满足人工智能(AI)或机器学习(ML)应用的计算需求和功耗预算。几家半导体设计公司目前正在开发专门的AI/ML加速器,这些加速器针对特定的工作负载进行了优化,从而在低功耗(每瓦性能)的情况下提供更高的处理能力。这些加速器设计通常是大规模的,包含数十亿个门,具有数千个复制处理单元(PU)的高度并行架构,以及通过高度优化的网络连接的大量分布式片上内存,以实现高吞吐量。每个处理器可以进一步包含多个核心和紧密集成的本地存储器。来自领先AI芯片公司的这种加速器的示例可能具有如图1所示的功能。为了实现设计可扩展性和更快的开发周期,AI SoC设计人员正在使用毗邻设计方法,即相同块(pu或核心)的多个实例通过标准化接口使用其物理布局连接,而不需要任何顶级路由。
图1:具有处理单元(PU)和本地存储器(LM)的AI芯片架构。
这些处理单元(PU)中的本地内存允许对本地数据进行高效节能的低延迟操作。然而,传统的DRAM技术无法提供并行访问和处理大量外部数据所需的带宽和容量。因此,许多AI soc正在部署新的内存技术,例如基于先进2.5D或3D封装的高带宽内存(HBM)或混合内存立方体(HBC),这些技术提供了更高的数据吞吐量和容量。这些AI加速器最终集成到AI系统中,以分布式方式处理大量工作负载,其中加速器使用芯片上的PCIe等高带宽接口进行通信。最近,设计人员开始利用这些接口进行高带宽测试。AI加速器的一些应用,如汽车,要求在硅的整个生命周期内具有高水平的可靠性、安全性和功能安全性。硅生命周期管理(SLM)技术通过在硅中添加功能来解决这些挑战,这些功能可以在设计、制造、测试和现场部署的各个阶段收集和监控SoC数据。
前面描述的AI设计的规模、复杂性和新技术的采用对其测试设计(DFT)过程提出了重大挑战。一般来说,这个挑战可以通过关注两个主要功能来解决:采用有效的测试方法和定义有效的DFT体系结构。基于测试方法定义了DFT体系结构,以实现快速DFT签名、最小化测试时间、高测试覆盖率和高效诊断等测试目标。下面几节将讨论这两个功能需要考虑的细节和因素。
由于其庞大的设计尺寸和复制的架构,分层测试方法是人工智能设计的理想方法。与平面测试方法相比,分层测试有两个主要优点。首先,它采用分而治之的方法,将设计划分为更小的分层分区,用于快速DFT签名,包括DFT插入、测试模式设置、模式生成和验证。在大型AI设计的顶层部署一种扁平的测试方法是不现实的。其次,由于AI设计由复制的块组成,DFT注销在一个级别上只对块分层执行一次,并可用于其他实例。签名块与其父节点的DFT签名的复制和集成完成了父节点级的DFT实现。如果AI设计包含多层层次结构,如图2所示,可以采用同样的分层块签出方法来完成芯片级DFT。
图2:分层测试方法实现了分层DFT签名和复制,以加速设计的DFT签名。
分层测试可以实现更快的DFT签名和最大限度地重用;然而,设计的DFT体系结构仍然需要建立,这将决定DFT逻辑实现的细节。由于不同的设计要求,不同的AI芯片对DFT有不同的要求和约束。从本质上讲,AI芯片的DFT架构可以通过确定以下组件来广泛地表述:
对于具有多个级别的设计,在遵循分层方法时,简单地将最低级别的块或更高级别的块指定为第一个分层结束块可能并不理想。设计人员需要权衡DFT对设计(面积、功率、时序等)和测试要求的影响,以确定终止块级别。查看图2中的示例AI设计,在最低层次(pu)上的DFT签名可能会导致过多的区域开销、路由拥塞和不必要的测试模式增加测试时间,而没有显著的好处。另一方面,为DFT签名分配芯片级将导致更长的模式生成时间,更长的测试时间,更大的内存需求,路由拥塞,功耗等。确定一个中间地带是至关重要的,在这个中间地带,DFT的影响被最小化,测试目标得以实现。在图2中,父块可以是第一个分层注销块,而不是PU。在签名块中,设计人员需要确定用于逻辑测试和内存测试的DFT配置,同样是基于测试时间、功率、物理设计等多种因素。图3显示了父块(Codec是扫描测试压缩,SMS是内存BIST测试控制器)的一些依赖于设计的DFT配置示例。
图3:用于分层注销块的DFT配置示例。(i)整个街区一个编解码器和一条短信。(ii)每个PU有一个编解码器,但有一个SMS用于测试块中的所有内存。(iii)每个PU有一个编解码器,一个SMS用于块内存,一个SMS用于测试PU中的所有内存。
通过简单的设计,测试要求不那么严格,DFT逻辑对设计的影响最小。随着设计变得像AI设计一样复杂,维持测试质量和成本所需的DFT逻辑变得足够重要,足以影响几个因素,如测试时间、测试功率、物理设计、DFT规划时间和可伸缩性。这要求设计人员开发创新的解决方案来满足设计和测试目标。在此背景下,下面几节将介绍基于IEEE 1687和IEEE 1500的测试压缩、测试数据交付和测试配置机制的需求和进展。
当涉及到扫描测试数据传递时,静态引脚分配一直是传统的默认方法,如图4所示。它涉及将编解码器的输入和输出引脚从块连接到顶级扫描引脚。由于AI设计包含复制的签名块,因此可以根据功率限制广播相同的输入测试数据以并行测试多个块。这减少了所需的测试引脚和测试时间。在有限的芯片级扫描引脚的情况下,顶级多路复用也将实现编解码器输出。然而,这样的架构缺乏灵活性,并且存在一些缺陷;主要有以下几个方面:
为了减轻这些问题,开发了基于测试总线的数据交付机制。一些初始的基于测试总线的解决方案使用现有的编解码器,并将它们连接到新的测试总线,以将数据交付给总线。编解码器和测试总线之间的本地控制器管理总线和编解码器之间的数据接口。与复杂的编解码器输入/输出信号路由不同,相同的测试总线通过每个块,在它们的边界处提供标准化接口。该解决方案极大地简化了芯片的物理设计,并通过避免依赖于块计数的自定义流水线和信号路由,为相邻设计提供了可扩展的、易于实现的测试数据交付。本地控制器通过模式生成来测试或绕过块以保持测试时间和测试功率,从而避免了对顶级多路复用的需求。
虽然这种方法解决了前面提到的大多数问题,但它仍然需要为编解码器确定正确的输入和输出引脚以减少测试量,并且无法最大限度地利用测试总线功能来实现另一个级别的测试时间减少。这主要是因为编解码器和测试总线是相互独立开发的。新的基于测试总线的解决方案由顺序压缩编解码器、测试织物和织物插座组成,它们一起开发和优化,以提供更低的测试数据量和更高的测试时间节省。他们通过执行更高程度的块测试重叠来实现这一点,这提供了有效的测试带宽分配。图4显示了扫描测试数据传递机制的进程。
图4:扫描测试数据传输机制从静态引脚分配到协同优化测试织物和顺序压缩技术的进展。SEQ代表顺序压缩编解码器,FS是fabric-socket。
使用顺序压缩的测试织物的两个关键好处是:
在确定了分层签出块和相应的逻辑测试和内存测试实现细节之后,DFT体系结构的另一个重要组件是制定测试配置或测试设置机制策略。该机制通常是基于IEEE 1687和IEEE 1500标准的串行网络,用于配置测试逻辑,包括编解码器、时钟控制器、内存测试控制器、系统内测试控制器等测试数据寄存器的编程。像逻辑测试和内存测试一样,测试设置体系结构也需要解决前面提到的挑战,然而,在这种情况下的关键需求是一个有效的体系结构,以减少测试时间、更容易的物理设计和相邻的设计支持。在这种情况下,测试能力通常不是问题,因为在这个过程中只有少数设计失败,不像逻辑扫描测试或内存测试。由于这些网络固有的串行特性,与扫描测试相比,测试设置操作要慢得多,这大大增加了测试时间,很容易成为大型设计的瓶颈。人工智能设计可能需要对数百个复制块进行相同的配置,使用串行方法向所有块发送相同的数据并不理想。在这个场景中,将数据广播到相同的核心将显著减少测试设置时间。然而,如果AI芯片使用相邻设计方法,信号广播将导致逻辑实现和物理设计问题。串行总线可以通过一个块到下一个块,而不需要顶级路由。虽然IEEE 1687和IEEE 1500都支持串行和广播网络,但IEEE 1687更容易实现串行,而IEEE 1500网络更方便进行数据广播。
AI芯片的一个例子如图5所示,它假设相邻设计,并包含一个带有测试访问端口(TAP)的中心块,其中测试设置数据分布到许多复制的相同的pu中。这样的设计将受益于利用1500和1687的优点,以减少测试设置时间并同时支持相邻的设计风格。主控制器通过1500网络将测试设置数据广播到5个PU列上,但由于相邻PU的菊花链,主控制器在1687环网络上的列内会串行移位。子控制器在每个PU内部产生控制信号,而不是从主控制器广播,这对相邻的PU是友好的。在这个例子中,可能会节省4倍的测试设置时间。许多工业设计包含相邻块中的相邻块,设计师可以遵循类似的分层方法。
图5:将测试设置广播到1500网络上的PU列上,并在1687网络上的列内建立菊花链,以支持相邻的PU连接。
人工智能芯片体积大且复杂,这使得提出DFT和测试策略具有挑战性,该策略能够以最小的设计影响快速实现所需的测试目标。这种设计必须采用分层测试方法,但使用传统的DFT方法将导致AI芯片的测试结果低于标准。设计人员必须为逻辑测试、内存测试和测试设置仔细规划整个DFT架构,同时考虑测试时间、测试功率、物理设计影响、相邻设计方法和可伸缩性等多种因素。当前基于测试总线的机制正在被采用来取代静态多路复用,以实现高效的数据传输,特别是对于大型设计。然而,它们在测试总线和压缩编解码器可以相互利用的程度上是有限的。由共同优化的序列压缩编解码器、测试织物和织物插座组成的新架构显示出更高水平的测试体积减少和测试时间减少。
第二部分将重点介绍硅生命周期管理(SLM)和AI芯片封装功能的测试。
留下回复