set_scan_configuration
此命令用於指定掃描屬性,例如: 掃描方式、掃描鏈數或掃描鏈長度、處理多個時鍾、lock-up、掃描鏈中省略的寄存器。
set_scan_configuration -style multiplexed_flip_flop I lssd l clocked_scan | aux_clock _lssd l combinational l none
-clock_mixing no_mix l mix_edges l mix_clocks l mix_clocks_not_edges 指定掃描綜合是否將在同一鏈上建立具有不同時鍾域的掃描鏈,在同一鏈上混合時鍾域通常需要在域交叉處插入鎖存鎖存器。
-chain_count integer_or_default* 指定要構建的掃描鏈數。 默認情況下,給定時鍾混合約束
-max_length integer_or_default* insert_dft會在不超過指定長度的情況下構建掃描鏈
-exact_length integer_or_default* insert_dft構建, 盡可能掃描具有指定長度的鏈
-create_dedicated_scan_ports true l false 尋找直接驅動輸出端口的觸發器,將此觸發器放在掃描鏈的尾端。
-internal_clocks none l single | multi
-test_mode <mode_name> 在一個insert_dft任務中可以支持多種掃描配置,其中每個掃描配置都具有唯一的test_mode名稱
-exclude_elements <element_list> 掃描鏈中應排除的元素列表
-add_lockup true l false 跨越不同的時鍾域時加入latch

-insert_terminal_lockup true l false 如果為true,則insert_dft在掃描鏈的末尾插入lock-up,如果不是multiplexed_flip_flop,則忽略
-lockup_type latch l flip_flop 指定是使用latch還是將FF用作lock-up synchronization。
使用lock-up latch
lock-up latch(或flip-flops)用於允許掃描鏈跨越時鍾域,它們減輕了兩個時鍾域之間的偏斜,以確保在掃描鏈上可靠地轉移數據。

插入lock-up latch規則
+edge(上升沿) -edge(下降沿)
+edge to +edge ——Lock-up Latch OK
-edge to -edge ——Lock-up Latch OK
+edge to -edge ——不會在DFTC中發生
-edge to +edge ——無需添加lock-up latch,如果添加了會有潛在的hold time問題
-edge to -edge triggered devicesLock-up Latch OK
+edge to +edge triggered devices
Will never happen by default in DFTC since it willalways order later triggered devices earlier in thechain
-edge to +edge triggered devices口No Lock-up Latch needed
Potential hold time issue if added
