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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3414|回复: 7

[讨论] 如何找到Violation Path的公共路径?

[复制链接]
发表于 2013-12-4 16:48:20 | 显示全部楼层 |阅读模式

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

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

x
在fix setup 时,效率较低的方法是: 针对出问题的path进行size_cell 或者 insert_buffer。
同样,对于fix hold , 效率较低的方法是:针对出问题的path的起点、终点或者 path 插入buffer/delay cell。


效率高一些的方法,自然是找到这些出Violation Path的公共path,但是怎么通过timing报告,来抓取到公共Path呢?


通过timing_path的属性可以得到 slack,start_point,end_point,但是似乎不容易找到公共的Path。
这个是不是需要去理解Verilog 代码结构?
在ICC中,看到的只有Register与Register的关系,网表的连接结构好像从后端的角度,关心得比较少。
 楼主| 发表于 2013-12-5 11:21:37 | 显示全部楼层
Up up
发表于 2013-12-5 13:19:33 | 显示全部楼层



如果想偷懒的话,synopsys有个现成的叫DMSA的东东,就是用来干这个的。

如果想自己开发的话,这是gate level的东西看RTL貌似帮助不大。timing_path属性中有points的,电路对应的数据结构是有向图。
 楼主| 发表于 2013-12-5 14:01:50 | 显示全部楼层
回复 3# sjtusonic


   DMSA=Distributed Multi-Scenario Analysis,是吧。
这也是工具再用fix_eco_timing来fix timing。

其实我是想知道基本的原理,怎么根据那些Violation path来找到公共的Path
发表于 2013-12-5 17:11:36 | 显示全部楼层
具体分析path level 上的fanout and fanin 是相对比较省事的方法。
 楼主| 发表于 2013-12-5 18:43:49 | 显示全部楼层
回复 5# power0650


   在有大的fanout上来insert buffer或者 size up 这个driver 解决?但是这也不一定是公共的Path呀?
发表于 2013-12-5 22:24:23 | 显示全部楼层
回复 4# wjchuan


    好像你没注意到3楼的第二句:)

path有个points属性,那么,最直观的一个算法,就是:

for {所有violating path} {
    for {path上的所有point} {
       point_name_counter++;
    }
}


最后看看那个point得票最多呗。
发表于 2013-12-6 10:05:53 | 显示全部楼层
pt command:
report_bottleneck
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-12-19 05:20 , Processed in 0.020010 second(s), 7 queries , Gzip On, Redis On.

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