大侠能不能帮我看看这DFT是怎么回事?
时间:10-02
整理:3721RD
点击:
本人DC新手,在用的时候老是出violate
综合的是一个8位的流水线加法器,输入有ina[7:0] ,inb[7:0],cin,clk,输出有cout,sum[7:0],另外加了两个输入端口scan_en,scan_mode
在做dft之前已经综合过的,compile -scan,在这个基础上将DFF连成扫描链。我是这样写的
set_scan_configuration -style mutiplexed_flip_flop-chain_count 8 -clock_mixing no_mix
set_dft_signal -type ScanDataIn -port [get_ports ina
set_dft_signal -type ScanDataOut -port [get_ports sum
set_dft_signal -type ScanEnable -port [get_ports scan_en] -active_state 1
set_dft_signal -type TestMode -port [get_ports scan_mode] -active_state 1
set_dft_signal -type ScanClock -port [get_ports clk] -timing {0 50}
create_test_protocol
preview_dft
结果有65个violation,然后使用dft_drc,所有的寄存器都有violation,
uncontrollable clock input of flip-flop,全都是这种,每一个都是clk uncontrollable。但是我这个clk是端口直接进来的,没有经过任何的门控和分频啊,请问这是怎么回事啊?而且我用report_dft_signal也看不到clk,难道DFT的时钟跟功能时钟不能是同一个时钟?
DFT的时钟和功能时钟是可能存在不一样的~
不懂,学习中
经验之谈:dft时钟和功能时钟最好不要用同一个时钟!
如楼上两位所说,做DFT的时钟跟功能时钟一般是不同的功能需要速度(高速) 而DFT一般低速的就可以
时钟,复位和test_mode要设置-view existing_dft
in,out,scan_en设置成-view spec
请问,existing_dft 与spec有什么区别呢,为什么要这样规定
学习一下,dft'新手
学习支持