|  | 
 
| 
本帖最后由 dennisi123 于 2014-4-14 23:40 编辑
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  
 今天用DC综合RTL代码,foundry给了三个库:CSM35OS142_min.db  CSMOS142_typ.db  CSM35OS142_max.db ,我想让DC在综合时用max和min库分别考虑建立和保持时间违约。但综合后发现导出的sdf文件里延时特别大:     (INTERCONNECT CLK u1/q6_reg_7_/CP (0.000:17244.033:17244.033))
 (INTERCONNECT u1/q6_reg_2_/Q u1/q6_reg_3_/D (0.000:0.001:0.001))
 (INTERCONNECT CLK u1/q6_reg_3_/CP (0.000:17244.033:17244.033))
 (INTERCONNECT u1/q5_reg_6_/Q u1/q5_reg_7_/D (0.000:0.001:0.001))
 (INTERCONNECT CLK u1/q5_reg_7_/CP (0.000:17244.033:17244.033))
 (INTERCONNECT u1/q5_reg_2_/Q u1/q5_reg_3_/D (0.000:0.001:0.001))
 (INTERCONNECT CLK u1/q5_reg_3_/CP (0.000:17244.033:17244.033))
 (INTERCONNECT u1/q4_reg_6_/Q u1/q4_reg_7_/D (0.000:0.001:0.001))
 (INTERCONNECT CLK u1/q4_reg_7_/CP (0.000:17244.033:17244.033))
 
 ...................
 
 从sdf可以看到,所有CLK到register的CP端的延迟在max库里都很大。反标到网表里做动态仿真时并没有给timing violation提示,但是就是没有正常信号。这个到底是什么原因呢 是set_operating_conditions这个命令我设置的不对? 时序PT里面都过了,没有时序违约。
 
 我的DC综合脚本如下:
 current_design  "shift_inputreg"
 link
 
 check_design
 set_wire_load_mode enclosed
 set_operating_conditions -analysis_type bc_wc -max WCCOM -max_library CSM35OS142_max -min BCCOM -min_library CSM35OS142_min
 
 
 create_clock -name "CLK" -period 50 -waveform {0 25} {CLK}
 set_dont_touch_network [find clock]
 set_clock_uncertainty  -setup  1 [get_clocks CLK]
 set_clock_uncertainty -hold 0.1 [get_clocks CLK]
 set_clock_latency 2.0 [get_clocks CLK]
 
 
 set_fix_hold  CLK
 set_max_area 0
 
 set_input_delay  15 -max  -clock CLK [remove_from_collection [all_inputs] [get_port CLK]]
 set_input_delay 2  -min -clock CLK [remove_from_collection [all_inputs] [get_port CLK]]
 set_output_delay  10.0 -clock CLK [all_outputs]
 set_max_transition 0.5  shift_inputreg
 
 set_load  0.2 [all_outputs]
 set_max_dynamic_power 0 mW
 
 link
 uniquify
 
 set_structure -timing true -boolean true
 
 compile -map_effort high  -area_effort medium -exact_map
 
 #write netlist for STA
 change_names -rule verilog -hier
 set verilogout_no_tri  true
 set_fix_multiple_port_nets -all
 
 write -format verilog -hierarchy -output shift_inputreg0411_after_syn.v
 write_sdf   shift_inputreg0411.sdf
 write_sdc  shift_inputreg0411.sdc
 | 
 |