DFT中scan shift/launch/capture过程,launch off shfit/launch from capture & OCC

文章目录

  • scan的过程解说
    • At-speed测试
      • scan 过程
  • OCC电路

本篇内容经过整理后可以分别阅读以下文章:
scan过程的shift,launch和capture
OCC(On-Chip-Clock)含义及功能和结构
详解DFT的scan(边界扫描)

scan的过程解说

scan分为stuck-at和at-speed两种测试模式,

item clk 说明 对应的DC/AC
stuck-at 测试机提供时钟 时钟慢 静态测试 测试芯片中的固定故障 故障和时钟频率无关 DC mode
at-speed function clk 测试芯片中的延迟故障,也就是transition AC mode

DC和AC模式下它们的shift过程是一样的,而且sfift clk来自ATE,由于shfit clk是整芯片全局clk,很难做到高频,所以基本频率都在100M以下。在launch和capture过程的时钟策略是不一样的
下面以At-speed来讲解scan过程

At-speed测试

at - speed测试生成的测试向量分为两部分。第一部分是在一个组合逻辑的输入端发射( launch)一个 0 - 1或1 - 0的翻转,第二个部分要捕获( capture)组合逻辑的输出端响应。如果在指定的时间周期内capture的响应正确,那么说明电路没有at-speed故障。

scan 过程

DFT中scan shift/launch/capture过程,launch off shfit/launch from capture & OCC_第1张图片
图1 at-speed测试原理

    1. scan shift
      在shift阶段( scan_enable = 1或者叫shift_enable)使用测试机提供的慢速时钟,A和B分别装载0和1。这个过程就是测试机将测试向量‘01’shift到对应的flip-flop。
    1. launch
      首先set scan_enable = 0,这时发一个功能时钟( launch时钟) , B会在D端捕获0,一个1 - to - 0的翻转会传递到C。(为了简单认为两寄存器之间没有组合逻辑)
    1. capture
      保持scan_enable = 0,在第二个功能时钟脉冲( cap ture时钟) C会捕获这个变化。

      如果在第二个时钟C捕获到了0,意味着在一个周期内完成了所需的翻转。
      DFT中scan shift/launch/capture过程,launch off shfit/launch from capture & OCC_第2张图片
      图2 at-speed测试clk波形
      图2中Clk信号在shift和launch、cap tuer阶段的切换、以及launch、cap ture2个功能脉冲的产生需要有专门的电路支持。这就是下面要介绍的OCC电路。

OCC电路

一般芯片内部都由CRG (Clock Reset Generation)模块来提供系统工作所需的各种时钟,然后提供给各个模块使用。为了支持at-speed测试,需要在CRG和模块之间加入OCC电路。OCC电路可以支持以下功能:

  • 正常功能模式下输出系统时钟。
  • stuck_at测试模式下输出测试机慢速时钟scan_clk。
  • at_speed测试模式下输出如图2的时钟。

OCC电路的模块结构示意图如图3所示。
DFT中scan shift/launch/capture过程,launch off shfit/launch from capture & OCC_第3张图片
图3 OCC结构图
下面分别介绍各个模块的作用。
OCC_SYNC对控制信号(通常为scan_enable)使用本地时钟进行同步处理,避免亚稳态。
OCC_DLY对控制信号进行延时,确保OCC在输出系统前,芯片处于稳定状态。一般OCC_DLY中使用计数器计算延时,计数器位宽由Dly_cfg[N:0 ]配置。此模块可以根据需要决定是否加入。
OCC_CTRL电路用来产生图2 中的at-speed测试时钟。电路如图4所示。
DFT中scan shift/launch/capture过程,launch off shfit/launch from capture & OCC_第4张图片
图4 at-speed的测试时钟的产生
在2 pulse generation中前2个寄存器用来对控制信号做同步,后面的2个寄存器和与门产生2个周期长度的控制信号。然后和clock gating 中的PLL_CLK做一个gating,生成2个功能脉冲,第一个即launch 时钟, 第二个为capture 时钟。最后用scan_enable信号来实现图2中不同阶段的选择。Occ_en信号用来配置此OCC电路是否使能。

以上摘自(上海交通大学,上海200052)李 冬,任敏华《如何用OCC电路实现at - speed测试》,该文详细给出了scan at-speed mode的详细过程和OCC电路原理

你可能感兴趣的:(DFT,fpga开发)