Все вроде разобрался для дизайна который выше я сделал 2 скрипта
Код
#Top-level synthesis script with adding scan chain
remove_design -all
set TOP_LEVEL div
analyze -f verilog ./src/$TOP_LEVEL.v
elaborate $TOP_LEVEL
link
create_clock SCLK -period 60 -waveform {0 50}
# Use if exist scan-chain
set_dft_signal -view existing_dft -type ScanClock -port SCLK -timing {45 55}
set_dft_signal -view existing_dft -type reset -port RSTB -active_state 0
set_dft_signal -view existing_dft -type ScanEnable -port SCAN_EN -active_state 1
set_scan_parh my_chain -view existing -scan_master_clock SCLK -scan_enable SCAN_EN /
-scan_data_in SCAN_IN -scan_data_out -SCAN_OUT -infer_dft_signals
create_test_protocol -infer_clock -infer_async
report_dft_signal -view existing
dft_drc
compile_ultra
preview_dft
dft_drc -coverage estimate
report_scan_path
Этот для случая когда у вас ручная скан-цепочка, например как в моем примере.
При синтезе у меня получились обычные флопы и логика которая реализует скан-цепочку, зато порядок регистров в скан-цепочке свой - это плюс, но зато больше площади занимает. Главное не написать сompile_ultra -scan, т.к синтезатор заменяет все флопы на скан-флопы и вешает на входа SE этих регистров 0, т.е использует их как обычные регистры.
Теперь второй скрипт для автоматической генерации из обычного верилога без всяких заморочек.
Когда в тексте отсутсвует ручное задание скан-цепочек.
Код
casex(SCAN_EN)
1'b1:begin
cur_divident<={cur_divident[7:0],SCAN_IN};
cur_divisor<={cur_divisor[6:0],cur_divident[8]};
bit_count<={bit_count[1:0],cur_divisor[7]};
result<={result[5:0],bit_count[2]};
end
Код
#Top-level synthesis script with adding scan chain
remove_design -all
set TOP_LEVEL div
analyze -f verilog ./src/$TOP_LEVEL.v
elaborate $TOP_LEVEL
link
create_clock SCLK -period 60 -waveform {0 50}
#===============================================================================
=================================
# Use for automatic scan-chain generation
set test_default_scan_style multiplexed_flip_flop
set_scan_configuration -style multiplexed_flip_flop -clock_mixing no_mix -chain_count 1
set_dft_signal -view existing_dft -type ScanClock -port SCLK -timing {45 55}
set_dft_signal -view existing_dft -type reset -port RSTB -active_state 0
set_dft_signal -view spec -type ScanDataIn -port SCAN_IN
set_dft_signal -view spec -type ScanDataOut -port SCAN_OUT
set_dft_signal -view existing_dft -type ScanEnable -port SCAN_EN -active_state 1
create_test_protocol
dft_drc
compile_ultra -scan
preview_dft
insert_dft
dft_drc -coverage estimate
report_scan_path
В этом случае синтезатор автоматически заменяет все флопики на флопики со сканом, на входа всех скан-флопов SE вешает сигнал SCAN_EN. Причем больше этот сигнал никуда не заходит в отличие от предыдущего варианта где он был замешан с логикой. Порядок в скан-цепочке такой как синтезатору угодно. Схема получается меньше по размеру и покрытие тестом немного выше.
Огромное спасибо
grigorik 
.
Единственное что так и осталось загадкой это как написать верилог и скрипт, чтобы был свой порядок в скан-цепочке и скан-флопы в одно и то же время.
И еще может кто-то знает как посадить порт TE гейтед-клок елемента на SCAN_EN.