"); //-->
在工艺节点在130nm以下的时候,很多情形下的物理缺陷都是由于延时来引起的。因此在对这种类型的chip做dft的时候,需要建立一个新的故障模型,业内称之为延时故障模型(time delay model)。解决的方法就是全速测试,所谓的全速测试就是让芯片工作在自己高倍时钟频率上,这个频率往往是要高过ATE的时钟的。这样对扫描模型的建立就提出了新的要求。即至少要保证芯片的latch clock和capture clock为芯片内部的高倍时钟。synopsys对此种问题的解决方法就是OCC(on chip clocking)。DFT Compiler支持两种模式的带OCC的扫描链插入,一种是自身的设计已经带上OCC电路的,另一种是不带OCC电路的。
下面分别说说这两种插入的流程。
1.OCC的自动插入
set_dft_configuration -clock_controller enable
参考时钟的定义:如果周期跟默认的测试周期相同,定义方法
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
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
set_dft_clock_controller -cell_name u1 -design_name occ_clock_mux
-pllclocks [pll/clk1 pll/clk2] -ateclocks [ate_clock]
-cycles_per_clock 2
2.OCC已经存在
这种情况下由于OCC已经插入,因此命令set_dft_clock_controller在这里已经没有意义了,这里需要让DFT知道occ输出时钟信号的属性,使用的方法还是set_dft_signal。另外需要指定clock chains,使用set_scan_path来指定,将其complete化。另外如果使用到adaptive scan,注意test mode在两种模式下都必须指定啊。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。