数字IC芯片测试分为功能测试和DFT测试:
功能测试:验证芯片设计功能的是否正确;
DFT测试:验证芯片生成中的晶圆或者生成过程等造成的物理缺陷,DFT测试在CP阶段进行测试。注:CP(chip probe)在wafer level进行的芯片测试,此时的测试可以检测在晶圆和工艺生产过程中的良率,将bad die筛掉,从而降低后续的封装及测试成本。FT(Final Test)对封装后的芯片进行测试。
DFT 的工作包括:在项目初期规划 DFT 架构;在 RTL 级别设计测试电路;在验证阶段验证测试电路;在 Synthesis 阶段实现测试逻辑的插入;在测试阶段提供测试向量。
在数字设计中,通过IC工具插入 DFT 逻辑,比如 Scan Chain(寄存器)、Boundary Scan(IO)、MBist(片上存储器)、等,然后利用 ATPG、Boundary Scan 、MBist工具产生测试向量,仿真验证测试向量。
扫描链介绍
扫描连插入过程就是将普通寄存器(Flip-Flop)替换成为扫描寄存器(Scan Flip-Flop)的过程。如下图所示:
寄存器替换
图中,寄存器的pin信号SE(Scan Enable)为扫描测试的使能信号,用于正常逻辑通路和scan通路的切换;pin信号SI为扫scan test时测试数据的传输线路。
工作如下:
普通工作模式:默认SE状态为0,此时寄存器为正常工作逻辑状态,数据通路(Data Path)从D端到Q端(Qn端)输出。
Scan工作模式:使能SE=1,此时寄存器工作在Scan模式,数据通路从SI到Q。在该模式下,所有的scan register串联在一起SI0-->Q0-->SI1->Q1-->.....(Q0->SI1 之间无组合逻辑),就构成了扫描链scan chain。在scan test中,有两个模式:
scan shift模式:设置SE=1,将测试数据通过scan chain串行传输到每个寄存器中,达到控制每个寄存器的目的。
scan capture模式:是指SE=0,将芯片内部正常组合逻辑反馈到寄存器中,达到对芯片内部观测的作用。
测试过程:
Scan Test需要有相应的测试向量pattern,其根据基于故障模型生成的。
不同的故障模型所对应的测试向量由于其激活和敏化方式的不同而不同,如下所示,或非门的输入与 VDD 短接,导致其不能为 0。
整个 Pattern 分为 3 个阶段:
1)loading:将测试向量串行打入到寄存器中;
2)capture:通过打一个 clock pulse,将故障点的值加载到寄存器中;
3)unload:将 capture 回来的值串行输出到 Pad 供 ATE 测量比较。
故障检测传输
如下测试示例:
1)通过 scan shift模式,直接将 1011 向量通过 Pad 串行加载到寄存器上;
2)再通过scan capture模式,让故障电路的输出被寄存器捕捉;
3)在下一次 Load 时,将故障点的值通过 Scan Chain 串行输出到 Pad,由 ATE捕捉进行比较。
文章参考网络资料。