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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 39938|回复: 54

[原创] 关于set_max_fanout的准确理解和说明

[复制链接]
发表于 2011-12-31 12:35:45 | 显示全部楼层 |阅读模式

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

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

x
在DC 的ug中说“the tool ensures the total loads connected to the input ports is small enough to keep the fanout no more the maximu value;”

很多人不能理解为什么set_max_fanout命令为什么是约束 input ports的而不是output,原因如下:

ug中关于该命令的更详细的说明如下:

... compile attempts to ensure that the sum of the fanout_load attributes for input pins on nets
driven by the specified ports or all nets in the specified design is less than the
given value.

也就是说set_max_fanout约束了 由 input port 驱动的net(以及design内部所有nets)上所有相连

的input pin的fanout_load值的总和,而该fanout_load值由lib库中的default_fanout_load定义,这个值一般都为“1”。

由此大家可以简单理解为set_max_fanout约束了某条net上驱动的所有cell的个数的总和,而这条net可以由input port驱动,

也可以使内部的任何一条net;

这也是为什么set_max_fanout命令不是用来约束output ports,因为一个输出端口可能会连有很多条net;

而DC是根据net单独进行分析的;

output port的约束使用set_fanout_load命令来约束的,现在一般用set_load命令代替;

注意这里set_fanout_load和lib库中default_fanout_load的值是没有关系的;


不知道这次解释清楚了没有,有兴趣的可以站内进行交流
发表于 2011-12-31 12:46:02 | 显示全部楼层
这个是好贴。
向楼主学习
发表于 2011-12-31 13:36:28 | 显示全部楼层
学习了,太需要这样的技术贴了!
发表于 2012-1-2 21:03:29 | 显示全部楼层
这个真的受教 谢谢 !
发表于 2012-1-5 17:15:40 | 显示全部楼层
mark~
发表于 2012-1-11 16:22:19 | 显示全部楼层
good ,学习了,现在就明白了,开始一直不明白为什么是针对input port的
发表于 2012-2-22 10:30:01 | 显示全部楼层
学习了~谢谢LZ分享经验
发表于 2012-3-23 20:29:31 | 显示全部楼层
回复 1# doonny


   doony,         感谢你精彩的讲解。
         引导我思考DC为什么要这么做,一下是我的想法,但是暂时还不成形。希望与大家讨论。

         某条路径的驱动能力与路径起点及路径中途输入点的负载相关(参见Neil,chip_levelblock_level设计包含很多path,因此有很多路径起点负载却不存在路径中途输入点负载,因而窃以为set_max_fanout就是用于约束总的路径起点负载(也许也考虑到了路径中途输入点负载),这与ug基本相符:“the sum of the fanout_load attributes for input pinson
nets
driven by the specified ports
or all nets in the specified design is less thanthe
given value.”。其中的the sum of the fanout_load attributes for input pinson
nets
driven by the specified ports即路径起点负载,但是“or all nets in the specified design”又是指什么呢?是不是因为某条路径的驱动能力与路径中途输入点负载相关,因而DC通过某种算法将这部分负载等效为“all nets in the specified design”?

发表于 2012-3-23 21:30:07 | 显示全部楼层
但是Advanced Asic Chip Synthesis Second Edition的Chapter 6.1.1 Page 107却这样写的:
dc_shell-t > set_max_fanout 3.0 [all_outputs]
他写错了吗?
发表于 2012-3-25 17:48:37 | 显示全部楼层
不知道可不可以理解成set_max_fanout是前级的最大扇出对本级的影响哦,这样,就说明设置最大扇出是对input影响
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-21 06:40 , Processed in 0.029639 second(s), 8 queries , Gzip On, Redis On.

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