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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 4227|回复: 7

[求助] 关于逻辑综合边界优化问题

[复制链接]
发表于 2021-10-20 19:49:35 | 显示全部楼层 |阅读模式

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

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

×
目前在做综合,关于边界优化有几个问题:
1、dc综合时,工具默认的是跨边界优化还是不跨边界优化?
2、假设aaa包括很多逻辑层级,我这样设置时:set_boundary_optimization [get_cells "aaa"] ,aaa的边界得到保留,只是一些constant port以及aaa内的某些逻辑会被优化掉?
3、set_boundary_optimization [get_cells "aaa"],此种设置时,工具只会跨边界优化aaa本级还是aaa本级以及aaa下的所有层级都会被跨边界优化?
4、set_boundary_optimization [get_cells "aaa"] false,此种设置时,aaa本级以及aaa下的所有层级都不会被跨边界优化?
5、set_boundary_optimization 和ungroup有什么本质区别?
问题有点多,感谢路过的大神给与宝贵的解答。
image.png
image.png
发表于 2021-10-21 10:11:31 | 显示全部楼层
你这其实是归纳起来就是俩个大问题:
1.set_boundary_optimization分成俩小问题来回答:第一这个默认是关的不做优化,只有你开了以后才做,一般是全开,然后再对一些模块关掉。第二它的优化力度很小,就是一个接口inverter的水品,别的逻辑都不会动。
2.ungroup是把层次打平,它的优化力度就很大了,因为是打平的没有逻辑层次,所以逻辑可以直接优化。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-21 14:09:02 | 显示全部楼层


   
莫名晴天 发表于 2021-10-21 10:11
你这其实是归纳起来就是俩个大问题:
1.set_boundary_optimization分成俩小问题来回答:第一这个默认是关的 ...



compile_ultra 不加 -no_boundary_optimization 选项时,工具就会对所有design进行边界优化。
compile_ultra 加了 -no_boundary_optimization 选项时,工具就不会进行边界优化。
是这样不?

回复 支持 反对

使用道具 举报

发表于 2021-10-21 17:17:28 | 显示全部楼层


   
莫名晴天 发表于 2021-10-21 10:11
你这其实是归纳起来就是俩个大问题:
1.set_boundary_optimization分成俩小问题来回答:第一这个默认是关的 ...



您好,前辈,因为最近也在做综合, 想请教下:
1.boundary_optimization这种优化方法,是在什么时候要用它?
2.ungroup也是同样的疑问,何时应该用这种方法?
很迷惑

回复 支持 反对

使用道具 举报

发表于 2021-10-22 14:41:10 | 显示全部楼层


   
海狸先生0119 发表于 2021-10-21 14:09
compile_ultra 不加 -no_boundary_optimization 选项时,工具就会对所有design进行边界优化。
compile_u ...


嗯嗯,是的。我们在加了以后对一些模块不想做boundary opt,可以再用set boundary opt这个命令不允许动那个模块。
回复 支持 反对

使用道具 举报

发表于 2021-10-22 14:45:54 | 显示全部楼层


   
xingyun666666 发表于 2021-10-21 17:17
您好,前辈,因为最近也在做综合, 想请教下:
1.boundary_optimization这种优化方法,是在什么时候要用 ...


这俩个都对时序有益,在时序critical的时候可以斟酌着去开。因为他们会导致formal比较难过,尤其是影响hier比。
ungroup还需要和前端验证以及设计沟通,验证是可能会影响他们的后仿,设计是模块是否稳定,否则将来eco也是一个大坑。
回复 支持 反对

使用道具 举报

发表于 2021-10-26 13:53:00 | 显示全部楼层


   
莫名晴天 发表于 2021-10-22 14:45
这俩个都对时序有益,在时序critical的时候可以斟酌着去开。因为他们会导致formal比较难过,尤其是影响hi ...


您好,前辈,请教下:1.ungroup这个其实就是unboundary?就是打破hier?这里的group=boundary?
2.看您的表述,是不是,其实这2种方法对优化design是百利无一害的,只是会对仿真或者formal增加困难,所以有时候不用?
3.会影响后期做eco,metal eco吗?这是为什么?

回复 支持 反对

使用道具 举报

发表于 2021-10-28 10:28:51 | 显示全部楼层


   
xingyun666666 发表于 2021-10-25 23:53
您好,前辈,请教下:1.ungroup这个其实就是unboundary?就是打破hier?这里的group=boundary?
2.看您的表 ...


验证有时放一些check在某个子模块的port上,这就要求RTL里和netlist里这个port一直存在。打开ungroup后这个port在netlist里就找不到了,验证的test case在GLS时就得没用了。打开boundary_opto后这个port的极性可能就反了,随后验证一头雾水。当然,验证通常不应该这么做,除非万不得已。ECO的时候类似,hierarchy没了之后找地方下手会难一些。
通常各个公司的design methodology会给个guideline。很多时候ungroup是不推荐的。


回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-10-1 09:27 , Processed in 0.016819 second(s), 4 queries , Gzip On, Redis On.

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