一、插入OCC OCC扫描链插入有两种: 1>本身设计已经含有OCC电路 2>本身不含有OCC电路,需要工具插入 下面介绍如何让工具插入OCC电路 第一步:使能OCC插入 set_dft_configuration -clock_controller enable //Enables or disables the clock controller for on chip clocking(为芯片时钟启用或禁用时钟控制器) 第二步:定义时钟(包括参考时钟、ATE时钟、PLL产生的时钟) 如果周期和默认的测试周期相同需要定义MasterClock和refclock;如果周期不同,就只需要定义refclock,不需要定义MasterClock
#!# set_dft_signal -view existing_dft \
#!# -type MasterClock -port PH[0] \
#!# -timing [list 45 75]
set_dft_signal -view existing_dft \
-type refclock -port PH[0] \
-period 125 -timing [list 45 105]
第三步:ATE时钟的定义
set_dft_signal -view existing_dft \
-type Oscillator \
-port PA[11] \
set_dft_signal -view existing_dft \
-type ScanClock \
-port PA[11] \
-timing [list 45 95]
set_dft_signal -view spec \
-type ScanClock \
-port PA[11] \
-hookup_pin u_asic_core/u_power_domain_switch/u_asic_io/porta_11__genblk1_PAD_PA_3P3/Y
第四步:全局信号的定义:pll_bypass、pll_reset、scan_enable、test_mode
set_dft_signal -view spec \
-type pll_bypass \
-hookup_pin u_asic_core/u_power_domain_switch/u_asic_test/u_test_mode_ctrl/pll_bypass
第五步:PLL产生时钟的定义:
set_dft_signal -view existing_dft \
-type Oscillator \
-hookup_pin \
u_asic_core/u_power_domain_switch/u_digital_top/u_rcc_wrapper/u_clk_rst/buf_dft_hse_clk/Z \
set_dft_signal -view existing_dft \
-type Oscillator \
-hookup_pin \
u_asic_core/u_power_domain_switch/u_digital_top/u_rcc_wrapper/u_clk_rst/buf_dft_hclk_div_fclk/Z \
第六步:clock controller的设置
set_dft_clock_controller \
-cell_name occ_snps_sync \
-design_name snps_clk_mux \
-pllclocks { \
u_asic_core/u_power_domain_switch/u_digital_top/u_rcc_wrapper/u_clk_rst/buf_dft_hclk_div_fclk/Z \
u_asic_core/u_power_domain_switch/u_digital_top/u_rcc_wrapper/u_clk_rst/buf_dft_hse_clk/Z \
} \
-ateclocks { PA[11] } \
-cycles_per_clock 2
|