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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9231|回复: 9

[讨论] 关于前端综合set_max_transition对后端的影响

[复制链接]
发表于 2015-12-8 18:50:45 | 显示全部楼层 |阅读模式

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

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

x
各位大神,小弟求助。
小弟现在在做综合时,将set_max_transition设置为0.5,工艺为55nm,但是这样设置后综合出来的网表,在ICC进行place后,面积增加了很大,约40%,place后工具自动替换了网表中很多器件。
如果综合时将set_max_transition设置放松为2,ICC进行place后就基本没有太大的面积增加了。

小弟有点儿想不明白,前端综合和后端place在计算时序上有什么不一样吗?为什么综合出来的网表,会被ICC做了好多器件替换?

不胜感激!
发表于 2015-12-10 09:50:01 | 显示全部楼层
首先面积的增加应该不会只是在place阶段增加的吧,floorplan的时候应该就可以预估了,面积在place阶段增加有可能是你修复了hold vio的原因。
其次,对于55nm工艺来说,将max_transition设为2肯定是不对的,设为0.5应该也还超出了库中的定义了吧。像65nm库中的LUT表也只给出了0.003n~0.3ns左右的范围,你自己可以看一下.lib中的定义,超出这个范围延迟的模型分析是不准确的。具体的设置还要看你电路的工作频率,频率低的话满足库中的最大值就行了,频率高的话取时钟周期的10%左右吧!

点评

赞  发表于 2024-2-27 13:35
 楼主| 发表于 2015-12-12 10:38:37 | 显示全部楼层
回复 2# nature19900303


    后端流程,肯定不止是在place阶段面积增加,只是按照我们以前产品的经验,place后面积增加并不会很大,现在如果将max_transition设置为0.5会增加40%太大了,设计上对频率要求不高。

  设置为2后面积就不会有太大增加了,我不理解这个设置上会有什么影响么?我理解只是对transition的一个上限的设定?如果我设置为0.5,那么库中如果有大于 0.5 transition的器件就不会被使用? 是这样么?
发表于 2015-12-13 11:08:36 | 显示全部楼层
回复 3# zealotgod


   首先请问你是在place阶段选择fix hold的吗?如果是这样的话,那就说明是因为fix hold的时候插入较多的buffer了,也有可能是你的hold的slack设置太大了,过度的设置是没有必要的。  另外,当你的max_transition设置超过lib中的设置之后会使得延迟的估算不准确。
发表于 2015-12-13 15:05:39 | 显示全部楼层



the sta signoff transition problem, pls check with the rule , 然后synthesis stage should setting correct ,
印象中 应该max 0.2~0.3ns ,clk 0.15ns。
需要重新综合,说明released netlist 不佳 ,pr阶段不必再试了
 楼主| 发表于 2015-12-14 18:50:31 | 显示全部楼层
回复 4# nature19900303


    place阶段没有fix hold。

  对于set_max_transition这个命令的使用,我还有些疑问。这个命令是设定transition time的上限么?
因为我看lib中每个器件都有自己的transition,我设置set_max_transition,是不是说在综合或pr的过程中,不会使用大于我设置值的器件?

  P.S. 综合过程中的set_max_transition起作用么?如果起作用的话,综合和后端pr时设置的值是一样的,为什么我set_max_transition较小时,后端会把很多cell都换掉呢?
发表于 2015-12-14 22:19:30 | 显示全部楼层
回复 6# zealotgod


   DC中设置了的话,后端导入sdc的话,是一样的,除非你在ICC中又把max_transition设置得更小了。
   也不是说不用比max_transition更大的器件,因为某个net的transition与其driver以及load都有关系,工具会根据你的设置去优化driver&load器件的。
发表于 2023-10-8 18:13:22 | 显示全部楼层
本帖最后由 水风山月 于 2023-10-8 18:16 编辑

根据本人的理解,max_transition 设置的越大,一个逻辑门后面能接的负载就可以越多,工具就不会在中间插入太多的buffer, 这样面积就下来了。

比如,某一段逻辑,需要从1个逻辑门输入到 20个逻辑门输出。
       max_transition 设为 2的时候,1个逻辑门后面可以直接连20个逻辑门(假设),整个的逻辑门消耗就是21。
       max_transition 设为 0.5的时候,1个逻辑门后面可以直接连5个逻辑门(假设),中间就需要加缓存的逻辑门,整个的逻辑门消耗大约是29。

补充内容 (2024-3-11 17:10):
这个解释是不对的
发表于 2024-3-11 17:59:32 | 显示全部楼层
本帖最后由 水风山月 于 2024-3-11 18:04 编辑


水风山月 发表于 2023-10-8 18:13
根据本人的理解,max_transition 设置的越大,一个逻辑门后面能接的负载就可以越多,工具就不会在中间插入 ...


设置转换时间越大,对应的电容负载越大,驱动能力越强。
比如:X4的面积比X2大不了很多。
如果转换时间设置较小,只能选X2的,为了达到同样的驱动效果,只能再加buffer, 面积就上去了。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-28 21:16 , Processed in 0.027151 second(s), 7 queries , Gzip On, Redis On.

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