第一章:Getting Started

Tessent TestKompress

Tessent TestKompress是一个DFT产品,创建test patterns并进行压缩。高级压缩减少ATE memory和channel要求,减少数据容量以减少测试时间,比传统ATPG具有更高的测试仪throughput。

Tessent TestKompress创建和嵌入压缩逻辑,并生成压缩测试向量,如下所示:

  • Test patterns——生成压缩测试向量并加载到ATE上。
  • Embedded logic——生成EDT逻辑并嵌入IC中为了:
    1.从ATE上接收压缩test patterns并解压它们。
    2.将解压后的test patterns传递给core design进行测试。
    3.接收压缩的测试结果并将结果返回到ATE。

EDT Technology

Embedded Deterministic Testing(EDT)是被Tessent TestKompress使用的技术。EDT技术是基于传统的,确定性ATPG,并使用相同的故障模型以使用常见的流程获得相似的test coverage。EDT扩展性ATPG(使用EDT进行test pattern生成),改进了扫描测试数据的压缩,减少了测试时间。

Tessent TestKompress通过使用少量scan channels来控制内部大量scan chains实现scan test data的压缩。scan channels可以被看作虚拟scan chains,因为,从tester的角度来说,它们的操作与传统的scan chains相同,因此能够应用传统scan patterns的任意tester,可以应用压缩patterns。

Scan Channels

使用Tessent TestKompress内部扫描链的数量明显大于EDT逻辑呈现给测试器的外部虚拟扫描链的数目。
在这里插入图片描述
在EDT方法下,虚拟扫描链被称为“scan channels”,为了区分它们和core内部的扫描链,其数量远少于内部扫描链的数量。压缩的数量由两个参数决定:

  • 在设计core中的扫描链的数量
  • 显示给tester的scan channels的数量

Structure and Function

EDT技术由logic embedded on-chip、EDT-specific DRCs、和deterministic pattern generation技术组成。

嵌入式逻辑包括一个decompressor,位于外部scan channel输入和内部scan chain输入之间,一个compactor,位于内部scan chain输出和外部scan channel输出之间。
在这里插入图片描述
还可以添加bypass 电路,没有额外的逻辑插入设计的core中,因此,EDT逻辑只影响scan channel的输入和输出,不影响功能路径。

上图显示了设计中有2条scan channels和20条内部短的扫描链,从ATE(自动测试设备)的角度来看,设计中似乎只有两条扫描链,每条链与内部扫描链一样长。每个压缩的test pattern有几个额外的移位周期,因此每个pattern总的移位数量稍多于每条链中扫描单元的数量。

可以使用下面的公式来预测工具添加到每个pattern load的initialization cycles,ceil是向上取整。
在这里插入图片描述### Test Patterns
Tessent Shell通过EDT逻辑生成专门用于片上处理的压缩test pattern。对于给定的可测试故障,压缩test pattern满足ATPG的约束,并且避免总线竞争,与传统的ATPG相似。

一组压缩test patterns被储存在ATE上,每个test pattern将数据应用到decompressor的输入端,并保存compactor的输出上观察到的响应。ATE通过decompressor应用压缩test patterns到电路上,从tester的角度来看,设计中有相对较少的scan chains(只能看到少量的scan channels )。

压缩test patterns,在通过decompressor之后,在scan chains上创建必要值来保证故障检测,functional input和output pins被tester直接控制和观察,和传统测试相同。在内部scan chains的输出一侧,硬件compactors减少内部scan chains的数量以提供给外部少量的channels。在scan cells中捕获的响应被compactor压缩,压缩的响应在tester上进行比较。compactor保证了故障不会被屏蔽,X-states不会扰断响应。

定义参数,例如scan channels和lockup cells插入的数量,工具会基于指定的参数、内部扫描链的数量、最长扫描连的长度以及每个链中第一个和最后一个扫描单元的时钟,自动确定EDT hardware的内部结构。

TestKompress compression Logic

Tessent TestKompress在blocks中生成hardware(VHDL或者Verilog RTL),可以使用Tessent Shell集成EDT逻辑进入设计中,然后工具会生成以下三个组件:

  • Decompressor——在core设计中从少量scan channels提供大量的scan chains,并且当移入(shift in)时解压EDT scan patterns。

Decompressor的主要部分是Linear Feedback Shift Machine(LFSM)和一个phase shifter(如何实现的?)。

  • Compactor——从scan chains压缩test responses进入scan output channels,当shifted out时。

Compactor主要由spatial compactor(s)和gating logic组成。

  • Bypass Module(optional)——使用MUX来bypassEDT逻辑,将内部scan chians连接成更少更长的chains,以使可以通过channel pins直接访问内部scan chains。默认会生成bypass module。

如果选择执行bypass电路,工具在EDT逻辑中会包含bypass MUX。

DRC Rules

在设计flatten之后,Tessent TestKompress执行与Tessent FastScan执行相同的ATPG设计规则检查。

此外,Tessent TestKompress也会对EDT执行一组特定的DRCs。

Internal Control

在许多情况下,最好使用internal controllers来控制EDT信号,例如edt_bypass, edt_update, scan_en, 并且在功能模式下禁用edt_clock。

Logic Clocking

默认EDT逻辑包含组合逻辑和flip-flops。所有flip-flops,除了latch cell,都是正沿触发的,并由一个专用的时钟信号(edt_clock),这个时钟信号与扫描时钟不同,在EDT逻辑中没有clock gating,因此不会以任何方式干扰system clock。

可以设置clock为专用引脚(被默认命名为edt_clock),或者和功能非时钟引脚共享时钟。共享可能会造成test coverage下降,因为工具会在test pattern generation期间对clock pin进行约束。一定不能共享edt_clock和其他的时钟或者RAM的控制引脚,有几点原因:

  • 如果和scan clock共享,当edt_clk在pattern generation期间,在load_unload程序中被pulsed时,scan cells可能被干扰。
  • 如果和RAM控制信号共享,RAM的sequential patterns和多个load patterns可能不适用。
  • 如果和non-scan clock共享,test coverage可能会下降,因为edt_clk在capture周期内被约束为关闭状态。

因为在EDT中使用的时钟域scan clock不同,lockup cells会根据需要被自动地插入EDT逻辑和scan chians之间,工具会插入lockup cells作为EDT逻辑的一部分,不会改变design core。

ASCII and Binary Patterns

压缩ATPG test patterns可以以ASCII和binary格式写出,也能够被读回工具中。与未压缩pattern一样,使用这些格式主要时为了调试pattern不匹配和存档,但是压缩和非压缩patterns有几点差异,如下:

  • 压缩和非压缩ASCII patterns在几种方式是不同地,当创建压缩向量时,captured data根据internal scan chains进行存储,Load data根据external scan channels进行存储。pattern文件中的load data数据采用压缩格式——与提供给decompressor的格式相同。
  • 使用压缩向量的仿真,Xs可能不是源自于capture;它们可能来自于对compactor的仿真。

Fault Models and Test Patterns

对于压缩,工具使用与fault-model无关的和与pattern-type无关的压缩算法。压缩技术支持非压缩ATPG支持或生成的所有故障模型和确定性patterns类型。

总之,压缩技术:

  • 同uncompressed ATPG接受相同的fault模型。
  • 同uncompressed ATPG接受相同的确定性pattern类型,除了Macro Test,不被支持。
  • 同uncompressed ATPG产生相同的测试覆盖率。

** Effective Compression**

“Effective compression”是针对特定测试应用所实现的时间压缩,有效的压缩是通过EDT压缩特性和测试环境/设计需求来确定的。

effective compression被很多参数所限制,包括:

  • 设计core中的scan chains的数量
  • 显示给tester的scan channels的数量

在这里插入图片描述
effective compression总是少于chain/channel的比率,因为EDT计数比传统的ATPG生成更多的test patterns。使用EDT计数,通过减少每个test pattern的数据的数量来实现压缩,而不是减少生成的test patterns的数量。因此额外的test patterns要求额外的shift cycles以全面减少压缩。

平衡压缩目标和测试资源以及设计需求很重要,使用过大的压缩目标可以回在压缩,测试质量和设计布局上产生负面影响:

  • Lower Test Coverage——更高的压缩比例会增加每个test pattern的压缩,但是也会增加生成不能被压缩的test patterns的可能性,可能导致低覆盖率。
  • Decrease in Overall Compression——更高的压缩比例会导致动态压缩能够适应test pattern的故障数量更少,这将会增加总的test patterns数量,从而减少总体压缩。
  • Routing Congestion——在internal scan chains上没有限制,但是routing约束可能会限制压缩比例,大多数实际配置不能超过压缩能了。
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值