|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 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 |
|