AT SPEED Test
last_shift launch mode (低速測試)
system_clock launch mode ( launch on capture)
1.at speed test structure and OCC Controller

2.OCC Controller
當使用set_dft_configuration -clock_controller enable運行insert_dft
DFT編譯器會將DFT_clk_mux和DFT_clk_chain組件添加到網表中。
2.1OCC Controller的結構

①fast pulse controller

②clock selection circuit

DFT_clk_mux I/O ports
| port name | direction | function |
| reset | input | 1重置控制器,0允許控制器運行 |
| test_mode | input | 1控制時鍾,0無條件選擇快速時鍾 |
| pll_bypass | input | 1選擇slow_clk,0選擇clock switch-over操作 |
| scan_en | input | 調解clock switch-over操作 |
| clk_enable[m:0] | input | 從時鍾鏈捕獲脈沖控制 |
| fast_clk[n:0] | input | PLL的快速時鍾 |
| slow_clk | input | ATE時鍾 |
| clk[n:0] | output | 掃描觸發器output clock |

2.2 OCC腳本示例:
Reference clock ==> ref_clk
ATE clock ==> ate_clk
PLL clock (output of pll) ==> pll/out
External clock ==> ext_clk
#test_default period is 100 set test_default_period 100、 # specify the reference clock with proper period and timing (only one command for reference clock) set_dft_signal -yiew exist -type refclock -period 73 -timing { 40 50} -port ref_clk # specify the pll clock (output from PLL), as type oscillator set_dft_signal -view exist -type oscillator -hookup_pin pll/out #Specify the ATE clock,as type oscillator and scanclock both set_dft_signal -view exist -type oscillator -port ate_clk set_dft_signal -view exist-type scanclock -tining {50 80} -port ate_clk #specify the external clock (if any) set_dft_signal -view exist -type scanclock -timing {50 80} -port ext_clk
#test_default period is 100 set test_default period 100 # specify the reference clock (as type refclock and Masterclock ) set_dft_signal -view exist -type MasterClock -timing {50 80} -port ref_clk set_dft_signal -view exist -type refclock -period 100 -timing {50 80) -port ref_clk #specify the pll clock (output from PLL),as type oscillator set_dft_signal -view exist -type oscillator -hookup_pin pll/out #Specify the ATE clock,as type oscillator and scanclock both set_dft_signal -view exist -type oscillator -port ate_clk set_dft_signal -view exist -type scanclock -timing {50 80} -port ate_clk #specify the external clock(if any) set_dft_signal -view exist -type scanclock -timing (50 80} -port ext_clk
注意:
OCC控制器使用的ATE時鍾也不能用作為掃描單元提供時鍾的外部時鍾。 這些時鍾必須分別驅動。(使用ATE時鍾為掃描單元提供時鍾將導致TetraMAX中C39違規以及隨后的仿真失敗 )
插入DFT的OCC控制器要求ATE時鍾必須是定義為振盪器時鍾的自由運行時鍾。
不要在內部和外部時鍾之間執行域間測試。內部時鍾與外部時鍾和ATE時鍾異步,因此它們的相對時序是不可預測的。
3.scanmasterclock & masterclock
對於多路復用觸發器(Mux-D),ScanClock的信號“type”是用於指定ScanMasterClock(掃描移位時鍾)和MasterClock(捕獲時鍾)。 用於Mux-D掃描設計,同一時鍾通常用於移位和捕獲。 當定義了Scanclock並report_dft_signal,將同時看到ScanMasterClock和MasterClock屬性。
set_dft_signal -view existing_dft -type scanclock -port ext_clk -timing {50 80}
report_dft_signal -view existing dft

