可测试性设计(DFT)本质上是为了确保复杂设计能得到全面彻底的测试。随着设计中门数的增长和制造工艺技术的发展,测试需求也在不断提升。幸运的是,DFT技术的发展消除了主要的设计需求和测试限制。结构化DFT技术因具有高故障覆盖率和支持自动化测试向量生成(ATPG)工具的特性而得到广泛应用。扫描技术和存储器内建自测试(BIST)功能是大部分结构化测试技术的基础。在该技术中,器件的时序元件被均匀地划分成扫描链,再通过器件的并行I/O
可测试性设计(DFT)本质上是为了确保复杂设计能得到全面彻底的测试。随着设计中门数的增长和制造工艺技术的发展,测试需求也在不断提升。幸运的是,DFT技术的发展消除了主要的设计需求和测试限制。
结构化DFT技术因具有高故障覆盖率和支持自动化测试向量生成(ATPG)工具的特性而得到广泛应用。扫描技术和存储器内建自测试(BIST)功能是大部分结构化测试技术的基础。在该技术中,器件的时序元件被均匀地划分成扫描链,再通过器件的并行I/O接口载入。
为最大限度地减少扫描向量深度和测试时间,百万门级设计通常被要求尽可能增加扫描链的数量。这种方法既考虑了测试仪的存储限制,又能满足测试时间的要求。因此,采用扫描技术时通常需要多个器件I/O引脚以便在测试期间载入扫描链。
嵌入在器件中的大型存储器通常采用特定的存储器测试算法进行测试。最常用的存储器测试方法是利用BIST电路提供测试激励,并采用片上实速(at-speed)验证响应结果。
但是,随着制造工艺达到130纳米甚至更小尺寸,与时序相关的故障数量大大增加。因此,现在必须使用实速扫描测试来充分检测这些时序故障。
全速扫描转换测试比传统的固定逻辑(stuck-at)测试需要更多的测试向量。此外,高质量的测试还需要精确的时钟。为支持这些额外的测试,需提高对测试环境的要求。而且,许多公司正在考虑增加额外的测试来进一步改善测试效果。
测试方法同样也会影响设计流程。整个设计通常被划分成可独立设计的块,然后在顶层进行组装。任何额外的测试逻辑或布线都将使该过程变复杂。不幸的是,采用这类模块或分层方法的大型器件通常有很多扫描链,因此,在顶层往往会有多个扫描路线。
在许多设计中存在的另一个测试问题是分布式小型存储器的广泛使用。如果这些存储器采用存储器BIST功能,则在增加复用、布线以及BIST控制器时会极大地影响硅片面积。
持续增长的测试要求产生了必须重点关注的若干设计问题,包括用于实速测试的高速测试仪时钟和设备;支持实速测试仪时钟的高速I/o接口;针对小型存储器的存储器BIST功能增加硅片面积和布线;增加测试仪容量以适应带有多个向量的应用;支持扫描测试的大量I/O接口;支持扫描链的多个顶层线路。
利用锁相环进行精确的实速测试
在扫描测试期间需要利用外部时钟米为每个向量加载扫描链。由测试仪提供的这一时钟通常工作在相对较低的频率下。为适应实速扫描测试的要求,在加载扫描链后必须采用高频时钟脉冲。不过从测试仪中提取高速时钟是一个难题。
测试仪很难模仿器件内部的锁相环(PLL)波形。此外,许多器件的内部时钟速度都要高于外部I/O接口。因此,即使测试仪能提供准确的时钟,也仍然需要通过专用的I/O引脚将测试仪的时钟引入器件的门电路。
一种无需高速I/O接口和测试仪时钟就能提供准确时钟的方法是,在测试中重复利用内部锁相环时钟。时钟开关设计将锁相环时钟传递到扫描旁路时钟路径中。因此不会影响锁相环的功能时钟树。这样做的好处是可提供功能上准确的时钟,同时减少了对测试仪时钟和设备I/O接口的要求。
ATPG工具能够理解锁相环时钟开关模型。在ATPG处理期间,这些必须处于激活状态的开关可以由ATPG工具自动配置和控制。通常专用测试仪时钟功能、高速设备和高速测试I/O接口都不是必需的,但在进行千兆赫范围测试时,仍有可能采用这种时钟转换方法。
最后,通过简单加入时钟切换设计,器件可以在其原始操作模式中使用时钟生成逻辑。时钟切换逻辑能够产生实速转换和路径延迟扫描测试所需的实速时钟脉冲。因此,设计工程师能够用扫描ATPG测试内容代替难以产生和评估质量的功能测试内容。这样做可以极大地降低测试时间,并且易于评定测试质量。
非插人式存储器测试
采用BIST功能测试大型嵌入式存储器有着十分重要的意义。这种标准做法被业界广泛接受。存储器BIST控制器能支持很多算法和非常高频的测试(72页图1)。
图1:途中的RAM包含一个典型的存储器Collar和一个控制器。Collar位于存储器中,并且在测试期间替代来自BIST控制器的系统信号。 |
---|
但是,当大量小型、嵌入式存储器分布在整个设计中时,也会产生测试问题。如果只有少量这样的存储器,那么采用了现有控制器的。BIST方法也许是可行的。不过,当数百个小型嵌入式存储器组合在一起时(这种情况常常会发生),面积开销和布线都将成为问题。此外,一些小型存储器可能会位于时序关键区域中。
通常根据被测试存储器的频率和物理布局在设计中对BIST控制器进行划分。这样导致的结果是,需要许多共享型BIST控制器来测试数百个存储器。BIST控制器在拥有大量嵌入式存储器的设计中运行一套固定算法,它对硅片面积的影响很快就超过5万门。对于许多设计来说,如此广泛地使用BIST将导致门电路数量、最新时序路径和布线开销的过度增长。
一种被称为宏测试的测试技术使得利用现有的器件逻辑就能提供一个特定测试序列。期望测试序列的每个向量都被转换成扫描向量,并且宏输入值是确定的。然后,ATPG工具可以利用现有的ATPG算法来决定如何加载现有扫描单元,从而使宏输入端出现期望值。
同样地,宏输出端的期望值被传送至扫描单元用于捕获和验证。通过将用户定义存储器测试算法转换为扫描向量,就能利用现有的扫描链来简单测试嵌入式存储器。这可以消除添加BIST逻辑对硅片的影响,同时仍满足可测试性的要求。
宏测试也可以并行测试多个宏。宏可以应用在任何具有二元值的逻辑上,但它们通常被应用于存储器。每个存储器类型所期望的向量和每个存储器的实例地址都是确定的。这足以让ATPG工具自动产生宏测试向量。
实速测试同样能利用宏测试技术。一连串的几个向量可以被定义为一个实速序列。但是,存储器的一个读操作仅在其被捕获和扫描输出时才能得以验证。如果实速读操作之后是一个实速写或读操作的话,那么该操作就无法得到验证。典型的实速宏测试顺序是写-读-捕获,这与大多数存储器测试算法-致。因此,像March测试这样的特殊实速测试序列仍然可以应用在小型嵌入式存储器上,而不需添加更多的测试逻辑。最后,利用具有上述PLL时钟切换功能的实速宏测试能够获得很高的存储器测试质量。
减少来自模块的顶层测试信号线路
通常,设计团队都会尽量减少顶层逻辑和布线。如果存在许多扫描链,则需要多条顶层线路。不过,有一种最初是针对测试向量的增加而开发的压缩技术能解决顶层布线问题。测试压减小。该压缩技术还能用来减少由测试仪通过器件I/O接口控制的扫描通道数量。
开发和利用扫描测试压缩技术提供了一种不增加测试仪时间而使用实速和其它额外模式的方法。嵌入式定性测试(EDT)等技术可以使用一个变换函数将测试仪装载的输入值转换为扫描单元内的特定比特。
通常,扫描向量将检测目标故障所需的存储器位加载到扫描单元。不过只有一小部分扫描单元能够加载有效值。其它所有扫描单元都被加载随机值。一种采用压缩技术的基本方法发现了这样一个事实,即大多数扫描单元都能用伪随机数填充。伪随机填充技术可提供对非目标故障的一些覆盖。
解压缩器可以作为一个转换函数,将测试仪加载位转换成扫描链中的特定位。非特定位由片上解压缩器而不是测试仪进行随机填充。因此,每个向量最多可以加载少于100倍的测试周期/位。
例如,在一个具有测试压缩功能的电路中增加一个解压缩器和压缩器(74页图2)。它们只连接到该设计的扫描链,而对功能逻辑没有影响。这个例子展示了两个扫描通道均由测试仪加载的器件。该设计配置了比正常情况多得多的内部扫描链。
图2:图中显示了在一个具有测试压缩功能的扫描链结构中,解压缩器和压缩器是如何被加入到设计中的。这些器件仅连接到设计的扫描链,而对功能逻辑没有影响。 |
---|
带有两个通道的传统扫描设计在每个时钟脉冲到来时将一位分别加载到两个扫描链中。采用压缩技术的结果如同标准扫描一样,两个位从测试仪被加载到每一个扫描链。但解压缩器能在一个时钟脉冲为多个内部扫描链提供100或更多的位。
由于存在许多内部扫描链,扫描链的长度远远小于正常长度。因此,只需极少的测试仪周期就能完成扫描链的加载。测试压缩向量的质量和故障覆盖率与传统扫描方式是一样的。
测试压缩技术能使测试周期减少至少100倍。对于那些不需要100倍压缩的设计来说,一部分压缩能力可以被用来减少测试所用的扫描I/O引脚。即使只使用一个扫描通道也可能会出现这样的结果。
例如,在具有6个扫描链的设计中加入压缩功能既能加快测试速度又能减少对扫描I/O的需求。如果该设计有6万个扫描单元,使用六个扫描通道通常需要1万个周期来加载每个向量。在本例中,如果用600个内部扫描链和6个外部扫描通道对设计进行配置,就可能实现100倍的压缩。
但如果在期望时间内只需20倍的压缩就能提供所有向量的话,一部分压缩能力就可以用来减少I/O引脚。在这种情况下,扫描I/O引脚可以减少3倍(只需2个通道),并配置200个内部扫描链。因此,扫描I/O引脚减少了3倍,同时加载向量加快了超过20倍。这两个通道能在300个周期内加载全部向量(6万个单元/200个内部链)。
通过减少扫描通道,可以显著降低测试对设计的影响。扫描通道越少意味着设计中用于测试的引脚越少,而且测试设备和测试要求也越简单。如果准备用于测试器件I/O接口的边界扫描功能被配置为扫描单元,那么在测试中减少引脚数量也是有可能的。
通过这种方法减少的测试仪引脚连接足够多个裸片或器件进行并行测试。这种测试方法被称为多站点测试,可大大提高测试仪的吞吐量。
测试压缩技术也支持模块化和分层实现。因此,解压缩器和压缩器能插入到独立的模块中。顶层设计不需要任何压缩逻辑。此外,利用嵌入式测试压缩技术可以将每个模块的扫描通道线路削减成一个通道。