在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13337|回复: 24

[求助] DC综合后sdf延时过大 请教大神怎么办?deadline快到了!急!

[复制链接]
发表于 2014-4-14 21:18:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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
 楼主| 发表于 2014-4-14 21:25:50 | 显示全部楼层
综合时有一个
Warning: Operating condition WCCOM set on design shift_inputreg has different process,
voltage and temperatures parameters than the parameters at which target library
CSM35OS142_min is characterized. Delays may be inaccurate as a result. (OPT-998) 我的库是这样设置的:
set search_path            "/home/LHG/zhangzy/2004/2004.12/csm35/v1.0/synopsys/models"
set link_library    "CSM35OS142_max.db CSM35OS142_min.db  CSM35IO122_max.db CSM35IO122_min.db"
set target_library  "CSM35OS142_max.db CSM35OS142_min.db CSM35IO122_max.db CSM35IO122_min.db"
set symbol_library  " EXD.sdb"  这样设置应该没有问题吧
 楼主| 发表于 2014-4-14 21:30:31 | 显示全部楼层
综合时有Warning: Operating condition WCCOM set on design shift_inputreg has different process,
voltage and temperatures parameters than the parameters at which target library
CSM35OS142_min is characterized. Delays may be inaccurate as a result. (OPT-998)我的setup命令是:
set search_path
    "/home/LHG/zhangzy/2004/2004.12/csm35/v1.0/synopsys/models"
set link_library    "CSM35OS142_max.db CSM35OS142_min.db  CSM35IO122_max.db CSM35IO122_min.db"
set target_library  "CSM35OS142_max.db CSM35OS142_min.db CSM35IO122_max.db CSM35IO122_min.db"
set symbol_library  " EXD.sdb"
发表于 2014-4-15 09:20:40 | 显示全部楼层
有个set_min_library分别设置max和min库
发表于 2014-4-15 14:05:09 | 显示全部楼层
如果你只是DC 综合 设置max 就好了。。然后设置OCV
 楼主| 发表于 2014-4-15 14:52:20 | 显示全部楼层
回复 5# qc3g09


   你好!我综合用了max min两个库,想用bc_wc分析。ocv感觉太难了,还不会用
发表于 2014-4-15 15:50:52 | 显示全部楼层
综合后延迟过大,一般是某个net扇出过高,report_nets 命令可以查看一下。另外综合后的sdf准确度相当低,楼主即使想做门级仿真,也不需要反标sdf的。
 楼主| 发表于 2014-4-15 16:40:41 | 显示全部楼层
回复 7# yl5495


   嗯,sdf里面延时大的部分都是CLK到寄存器的ck端,而且时钟CLK是一个高扇出的网络,大约有5000多个扇出吧。但是我将high_fanout_net_threshold这个变量设置的很大(10000)后再综合还是有很大的延时。
发表于 2014-4-15 20:05:01 | 显示全部楼层
贴timing rpt来看, 另外target_library link_library 设max即可
发表于 2014-4-16 07:37:27 | 显示全部楼层
回复 8# dennisi123


   set_ideal_network -no_propagate 这个命令也许对你有帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 03:52 , Processed in 0.023394 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表