请教insert dft scan如何debug
整了个脚本跑完之后发现基本上所有ff的clock和reset is not controlled
随后仿真弄了一下,改好了之后clock好了,reset还是not controlled.
已经check了从reset pad输入到ff reset信号的path,看不出有啥问题
弱问一下,这个该怎么debug,可以让tool报一下卡在那里了吗?
谢谢!
你用的啥工具?
如果报not controlled,最好检查下test mode下reset pad到ff的联通性。
cadence工具是report dft_violation
dc工具检查的也差不多,先看看report吧
确保你的复位不是来自ff的输出,而是来自reset pad
用的是dc compiler
好的
我又看了一下,确实有点问题。现在可以了
这个dft insertion一定要没有violation他才开始做吗
我跑了一边,貌似没有插
和violation没关系,应该是你dft脚本的问题,有error的话就不插
如果reset是一个顶层信号、而不是从pad来、行吗
看dft脚本里设的reset是哪一个,和这个一致就行,一般要来自pad吧,这样方便测试。
现在貌似chain插了(SI都已经连好了),但是SE还是接的0,看了下report,有个问题
Error: Chain chain3 blocked at DFF gate GPIO15_PAD after tracing 0 cells. (S1-1)
Error: Test design rule checking reported FATAL violations. (TEST-1314)
关于这条chain 定义是这样的
set_dft_signal -view spec -type ScanDataIn -port [list GPIO9] -hookup_pin {dft_mux_inst/scan_3_in} -test_mode all_dft
set_dft_signal -view spec -type ScanDataOut -port [list GPIO15] -hookup_pin {dft_mux_inst/scan_3_out} -test_mode all_dft
set_scan_path chain3 -view spec -scan_enable GPIO1 -scan_data_in GPIO9 -scan_data_out GPIO15
请教:
在rtl中已经在scan mode下面把GPIO9设置为输入,GPIO15设置成输出,这个Chain chain3 blocked at DFF gate GPIO15_PAD怎么破呢?
FF的SE接零是这个原因吗?
现在用的pad只有一个OE,双向的,OE在scan mode下面都fix了
scan in OE为0 scan out OE为1
可能是第一次综合的时候把悬空的scan相关管脚给优化掉了
我再跑一边试试看
跑完了,果然是第一步综合把定义的scan悬空管脚优化了
第一次跑完ATPG,有90% coverage,感觉还行,有两个大模块很多violation,修好之后coverage可以更高