完全的数字电路测试方法通常能将动态功耗提高到远超出其规范定义的范围。如果功耗足够大,将导致晶圆检测或预老化(pre-burn-in)封装测试失效,而这需要花大量的时间和精力去调试。当在角落条件(corner conditions)下测试超大规模SoC时这个问题尤其突出,甚至会使生产线上出现不必要的良率损失,并最终减少制造商的毛利。避免测试功耗问题的最佳途径是在可测试性设计(DFT)过程中结合可感测功率的测试技术。本文将首先介绍动态功耗与测试之间的关系,以说明为何功率管理现在比以往任何时候都迫切;然后介绍两种独特的DFT技术,它们利用了ATPG技术的优点,以自动生成低功率制造性测试。
测试功率
扫描ATPG算法的优化可减少向量的数量,这意味着各向量都尽可能地提高了失效覆盖率。扫描向量(sCAN pattern)中用于设置和传播目标失效的位被称为关注位(care bits),剩余的位则随机填充,以检测关注位无法明确指定的其它失效。各扫描向量中的关注位和随机填充位都会引起逻辑状态的转变,从而对器件的寄生电容进行充放电。这种现象将导致电路在正常工作条件下消耗的动态功率有所增加。
会影响器件测试的动态功耗有两种:峰值功率和平均功率。峰值功率,有时也称为“瞬时功率”,是在很短时间内(例如系统时钟上升沿/下降沿后紧跟着的时钟周期的一小部分)消耗的功率总和。峰值功率反映了器件中节点开关的活动水平,因此同时从一个逻辑状态切换到另一个状态的节点数量越多,峰值功率就越大。
扫描测试能使器件的峰值功率增至任务模式下向量消耗水平的20倍。显着的开关电流有可能导致轨信号塌陷(rail collapse)噪音的产生:沿着扫描链(scan chain)移位至电路的比特丢失,从而导致测试仪上的向量失配。开关电流通常不至于如此恶劣,但仍会引起轨信号下跌,因为IR-drop沿电源轨增加的同时也导入了电路延迟。在某些情况下,扫描数据可能无法到达扫描链中的下一级电路,从而导致测试程序失效。移位模式下的轨信号下跌一般可通过充分地降低扫描移位频率来解决,因为这样能让扫描信号在角落条件下有足够的时间满足移位循环定时。然而,降低扫描移位频率会延长测试仪的测试时间,因此增加了批量生产时的测试成本。
即使向量被成功扫描,但在发送/捕获时序(以下称为“捕获模式”)中的峰值功率也会引起足够大的IR-drop延迟,并导致逻辑值在捕获窗口未能正确转换以及器件在该向量下的失效。虽然这个问题与stuck-at和转换延迟测试都有关系,但在与延迟有关的实速测试向量中更加常见。在捕获模式下的IR-drop问题以及在移位模式下的电源轨垂落问题可以通过电源轨系统的冗余设计解决,这种设计方法可以适应扫描测试中增加的开关活动量。不过增加电源和地轨的宽度会增加电路面积,如果有更好的方法控制峰值测试功率就最好不要用这种方法。
平均功率是在多个时钟周期内平均的功耗,例如在扫描输出上一向量响应的同时而将单个激励向量扫描进设计所需的成千上万个周期。扫描测试可将器件中的平均功率提高到任务模式向量时的2-5倍。过高的平均测试功率将在裸片上产生诸如“热区”等热问题,进而损坏器件。因为平均功率直接正比于频率,因此可以在扫描移位期间选择足够低的移位频率对平均功率进行控制以避免该问题。如上所述,降低扫描移位频率也可能导致更高的测试成本。
平均测试功率在测试仪上相对容易管理,因此目前大多数与功率相关的测试问题来源于过高的峰值功率。在测试过程中,能同时减少峰值功率和平均功率的方法正成为当前半导体和设计自动化产业研究的焦点。
图1:触发器活动
功率管理的重要性
测试过程中的功耗管理正变得越来越重要,因为最新的制造工艺可能使设计制造包含数十万甚至数百万个扫描触发器。大部分触发器会在扫描测试期间同时开关,而这将增加峰值功率,并使前述中的IR-drop延迟剧增。
另外,由于65nm及以下工艺的缺陷密度(defect density)有所提高,产量因而也有所下降。为了补偿产量不足并保持可接受的质量水平,制造商开始转向使用超高分辨率实速测试来检测器件中微小的延迟缺陷。过去,使用标准转换延迟测试无法检测到纳米级缺陷;而使用小延迟缺陷ATPG的增强型定时分辨率测试已被证明能有效地检测出纳米级缺陷。然而,相对标准等速测试方法而言,该技术需要对测试期间产生的峰值电流所引起的附带延迟有更严格的控制。
总之,当更多纳米缺陷出现时,大规模SoC需要依赖先进的实速ATPG技术维持高测试质量,而这一趋势正驱使人们在DFT流程中使用可感测功率的测试技术。
功率预算的表示
触发器开关活动与节点开关活动高度相关,其动态功耗反映了节点开关活动。因此可认为避免测试引起的功率相关故障的一种有效方法是在扫描测试期间充分地减少触发器开关活动,对制造器件的IR-drop行为进行详细案例研究有利于这种观测。因此功率降低技术的目标是充分减少触发器的开关活动,以便良好的器件能在角落条件下通过所有扫描ATPG测试。注意,我们无需最小化开关活动,只需将它减至与应用任务模式向量时观察到的开关速率相当的水平。
为了便于描述,假设将大量任务模式向量应用于一个设计,并发现峰值触发器开关活动量为触发器总数的26%。如果我们产生扫描ATPG向量,并跟踪对应于特定开关速率的向量数字,我们可能会观察到与图1中灰色分布相似的情况。由于峰值和平均开关速率超过26%,因此相对正常器件工作而言扫描测试会增加IR-drop延迟。
然而,如果我们采用相关技术降低测试期间的功耗,我们就能有效地将这种分布向左移。在图1中重叠的蓝色低功率分布区,扫描ATPG向量的峰值开关活动没有超过功率预算,因此降低了制造测试中功率问题产生的风险。
后文将介绍两种可以获得低功率向量分布的方法,它们在功率预算规定的方式上有根本的区别。[next]
通过设计分割反映功率预算
假设设计的某个时钟驱动了大量触发器,以至它们的峰值开关动作超过设计的总体功率预算。我们不希望测试逻辑去改变任何时钟,相反我们将设计分割成N个模块,各模块具有自己的扫描启动引脚,并且包含自己的扫描压缩逻辑和扫描链。(如图2所示)模块的数量和组成需要仔细选取,以便任何单个模块(包括具有大部分触发器的模块)的触发器开关速率不超过总功率预算。从这方面讲,可以认为分割将功率预算硬连(hardwire)进了设计。
向量产生是受限的,因而只有一个扫描启动脚被激活(SE=1),而ATPG一次只处理一个模块。ATPG工具以捕获启动(SE=0)模块中的故障和模块间的故障为目标,将所有其它模块中的故障都指定为“ATPG不可测试”。所有模块依次重复这一过程,并在为模块产生向量之前使用单个命令将模块中的故障状态从“ATPG不可测试”改变为“检测不到”。
将所有开关动作限制于用来测试的模块,可以有效地降低捕获模式期间的峰值功耗。但要注意的是,在捕获模式期间消除其它模块开关动作的唯一方法是确保上个周期的扫描移位模式和下个周期之间的逻辑状态没有变化(对应于被测模块中捕获模式的发送阶段)。这可以通过将全1或全0扫描进被测模块实现。遗憾的是,该方法会导致故障覆盖率的损失,同时需要更复杂的故障清单处理以及产生结束向量进行补偿。即使一次只测试一个模块,我们也希望将向量同时装载进所有模块以锁定模块间故障。
解决这个两难问题的方案是利用新思公司的TetraMAX ATPG工具提供的“低功率填充”功能。TetraMAX通常需要用扫描向量中不到10%的位建立并传播故障效应,因此其不再随机填充剩余位,而是将每个关注位的值复制到扫描链中的后续位,直到下一个具有相反值的关注位。(如图3所示)
关注位值的复制可以将激励向量中的逻辑状态变化减少90%以上。而在不在测试的模块中,减少程度接近99%(只需要少量关注位即可锁定模块间故障),因此足以确保输入向量的上次移位及后面的发送周期之间几乎没有逻辑状态的转换。
图2:将设计分割成N个模块以指定功率预算。
图3:TetraMAX ATPG工具的“低功率填充”。
低功率填充向量可以检测额外故障,但比标准ATPG向量要少,因为每个低功率填充激励中的伪随机位都被移除了。因此,低功率填充ATPG一般要比标准ATPG产生更多的向量才能获得相同的故障覆盖率。尽管如此,本节所描述的技术在压缩方面非常灵活,如图4所示:当应用更多的压缩时,测试周期数只比基本案例(所有扫描启动没有被激活,没有低功率填充)稍多一些。该图也显示了在捕获模式期间由完整向量集与压缩率之间关系所得到的峰值开关动作。而峰值开关动作的减少几乎与压缩率无关。
图4:测试周期数和峰值开关动作与压缩率之间的关系。
低功率填充ATPG还能降低扫描移位期间的平均功率,从而节省花在测试仪上的时间乃至成本。一般来说,复制关注位值可以减少激励向量中90%以上的逻辑状态转换,以及减少响应向量中10-50%的逻辑状态转换。由于激励和响应是同时被扫描的,因此触发器开关动作的净平均减少量约为50%。本文介绍的技术可以减少更高的量,因为模块中只有极少的关注位没被测试到。
在理解低功率填充功能如何工作之后,就很容易了解为什么各模块要拥有自己的压缩电路。如果压缩是“平坦的”(指单个解压器/压缩器被嵌在各模块的顶层而不是里面),那么解压器输出就可以分别输入到所有模块上的扫描链。被测模块的关注位因而无需被扫描进所有的其它模块,并导致大量的逻辑状态转换。相反,将压缩电路嵌入到模块中会使到各模块扫描链的输出受到限制,从而形成了在移位操作时无法通过的关注位“边界”。将压缩逻辑嵌入进设计物理层里还有进一步的好处,即可以减少布线拥塞,最终减少压缩的面积开销成本。
通过时钟域反映功率预算
虽然物理模块内的嵌入式压缩有助于减少布线拥塞,但本节介绍的技术无需通过分割设计以反映功率预算。相反,可以使用TetraMAX中独特的功能将触发器开关动作预算规定为ATPG制约。
在该种情况下假设设计具备足够多的时钟,因而单个时钟不能控制足够的电路以超出功率预算。该工具试图在捕获模式下只启动某些时钟来满足功率制约。剩余时钟在捕获模式中不工作,在移位操作结束时保持其状态。这意味着这些范围(逻辑网络或时钟网络)内没有开关动作,低功率填充的好处仅限于降低扫描移位期间的平均功率。需要注意的是,ATPG必须完全控制所有的时钟(外部时钟或PLL产生的时钟由一个或多个片上时钟控制器所管理)。
图5所示设计具有受ATPG控制的7个时钟域。值得注意的是,用于压缩的物理模块的分割不需与时钟域一致,以确保测试期间的低功率操作。设计中的所有触发器共享相同的扫描启动,从而使得所有的故障包括域间故障能一次性地被ATPG发现。这种简单、高度自动化的流程可以产生紧凑格式的低功率向量集。
图5:具有7个时钟域的设计。
本文小结
本文介绍了制造测试过程中引入的动态功耗如何反过来影响被测器件的性能。测试中过高的峰值功耗会增加延迟并导致不可预料的测试结果,而测试期间中过高的平均功率所引起的热问题则会损坏器件。上述两个功率问题如果处理不正确将增加制造商的成本,而使用最先进工艺制造的大规模SoC尤其容易受这些问题的影响。
不仅因为这些设计中使用了大量的触发器,同时还因为需要用更高时间分辨率的实速测试来检测小延迟故障。为了解决这些问题,设计师们正在整合测试自动化的先进成果和DFT方法来创建低功率制造测试。本文重点介绍了两种创新性技术,它们可将开关动作降低到与器件任务模式工作时相当的水平。这两种方法的主要区别在于设计师将功率预算并入DFT过程中的方式。