2008年12月19日星期五

全速测试(at speed test)

在工艺节点在130nm以下的时候,很多情形下的物理缺陷都是由于延时来引起的。因此在对这种类型的chip做dft的时候,需要建立一个新的故障模型,业内称之为延时故障模型(time delay model)。解决的方法就是全速测试,所谓的全速测试就是让芯片工作在自己高倍时钟频率上,这个频率往往是要高过ATE的时钟的。这样对扫描模型的建立就提出了新的要求。即至少要保证芯片的latch clock和capture clock为芯片内部的高倍时钟。synopsys对此种问题的解决方法就是OCC(on chip clocking)。DFT Compiler支持两种模式的带OCC的扫描链插入,一种是自身的设计已经带上OCC电路的,另一种是不带OCC电路的。
下面分别说说这两种插入的流程。
1.OCC的自动插入
  • 使能occ的插入,使用的命令是
set_dft_configuration -clock_controller enable

  • 定义时钟,包括参考时钟,ATE时钟,PLL产生的时钟。
参考时钟的定义:如果周期跟默认的测试周期相同,定义方法

set_dft_signal -view existing_dft -type MasterClock -port my_clock -timing {45 55}

set_dft_signal -view exsiting_dft -type refclock -port my_clock -period 100 -timing {45 55}

如果周期不同,就只需要定义refclock,不需要定义MasterClock

set_dft_signal -view exsiting_dft -type refclock -port my_clock -period 10 -timing {4 6}

ATE时钟的定义:

set_dft_signal -view exsiting_dft -type ScanClock -port ate_clock -timing {45 55}

set_dft_signal -view exsiting_dft -type Oscillator -port ate_clock

PLL产生时钟的定义:

set_dft_signal -view existing_dft -type Oscillator -hookup_pin pll/clk1

set_dft_signal -view existing_dft -type Oscillator -hookup_pin pll/clk2

  • 指定全局信号,包括pll_bypass,pll_reset,ScanEnble,TestMode

set_dft_signal -view spec -type pll_reset -port pll_rst

set_dft_signal -view spec -type pll_bypass -port pll_bp

set_dft_signal -view spec -type ScanEnable -port scan_en

set_dft_signal -view spec -type TestMode -port test_en

  • clock controller的设置

set_dft_clock_controller -cell_name u1 -design_name occ_clock_mux

-pllclocks [pll/clk1 pll/clk2] -ateclocks [ate_clock]

-cycles_per_clock 2


  • scan_configuration的设置

2.OCC已经存在

这种情况下由于OCC已经插入,因此命令set_dft_clock_controller在这里已经没有意义了,这里需要让DFT知道occ输出时钟信号的属性,使用的方法还是set_dft_signal。另外需要指定clock chains,使用set_scan_path来指定,将其complete化。另外如果使用到adaptive scan,注意test mode在两种模式下都必须指定啊。

没有评论: