综合后网表加扫描链问题求助
insert_dft
要 link, 会动到cell
请问link应该加在哪一步之后呢?另外,DC的时候会读入一个有关时钟约束的constraints.tcl文件,综合完之后会产生一个相关约束的sdc文件,那么,我读入综合后网表,扫描链设计时,还需要读这个constraints.tcl文件吗?或者需要读这个sdc文件吗?因为扫描链设计时,也要产生一个sdc文件和有关扫描信息的def文件,个人感觉如果不读时钟约束文件的话,扫描设计时产生的def文件,时序信息不全面,请高人解答吧。谢谢。
把 design 读进来之后
如果是 .ddc 就不用,如果是 .v 就把 sdc 读进来
请教:扫描链设计后产生的DEF文件中,缺少部分SDFF寄存器,然后用该DEF文件进行ICC布局布线时,DEF文件中缺少的这几个SDFF,总是报错Error: Cell u_i2c_eectrl/write_reg cannot satisfy placement constraints. (PSYN-1106)。我的脚本如下所示,请问高人脚本有没有写的不对的地方,有没有需要补充的,然后这个问题可能的解决方法是什么呢?
扫描链设计脚本:
reset_design
remove_design -all
set netlist_path "$WORK_DIR/digital/tool_data/dc/results"
set lib_path "/apps/library/SMIC18/std_cell/metro/aci/sc-m/synopsys"
set ddc_path "$WORK_DIR/digital/tool_data/dc/results"
set search_path ". $netlist_path $lib_path $ddc_path"
read_ddc $DESIGN_NAME.ddc
current_design $DESIGN_NAME
link
read_sdc ../../dc/results/i2cslave.sdc
set_dft_signal -view exist -type ScanClock -port clk -timing [list 10 20]
set_dft_signal -view exist -type Reset -port rst_n -active_state 0
set_dft_signal -view exist -type ScanEnable -port scan_enable -active_state 1
set_dft_signal -view spec -type ScanEnable -port scan_enable -active_state 1
set_dft_signal -view spec -type TestMode -port test_mode -active_state 1
set_dft_signal -view spec -type ScanDataIn -port di
set_dft_signal -view spec -type ScanDataOut -port do
set_dft_signal -view spec -type TestData -port clk
set_dft_signal -view spec -type TestData -port rst_n
set_dft_configuration -fix_clock enable -fix_set enable -fix_reset enable
report_dft_configuration
set_autofix_configuration -type clock -control_signal test_mode -method mux -test_data clk -fix_data enable
set_autofix_configuration -type reset -control_signal test_mode -method mux -test_data rst_n -fix_data enable
report_autofix_configuration -type clock
create_test_protocol -infer_asynch -infer_clock
dft_drc
set_scan_configuration -style multiplexed_flip_flop -clock_mixing mix_clocks -chain_count 1 -internal_clocks single -add_lockup true -lockup_type latch
set_scan_path -view spec c0 -scan_data_in di -scan_data_out do
preview_dft -test_points all >../reports/autofix.pts
insert_dft
dft_drc
report_scan_path > ../reports/$DESIGN_NAME.scanpath
write_file -format verilog -hierarchy -output ../results/$DESIGN_NAME.v
change_name -rules verilog
write_scan_def -o ../results/$DESIGN_NAME.def
check_scan_def
write -format ddc -hier -output ../results/$DESIGN_NAME.ddc
write_sdf ../results/$DESIGN_NAME.sdf
write_sdc ../results/$DESIGN_NAME.sdc
write_parasitics -output ../results/$DESIGN_NAME.spef
write_test_protocol -output ../results/$DESIGN_NAME.spf
謝謝分享
学习学习