一文了解高级综合优化选项ungroup
我们在综合时,为了面积和时序目标,常常开了很多优化选项,比如compile_ultra。这个命令会根据面积和时序的要求,自动ungroup部分子模块,并进行跨模块边界优化。为了优化动态功耗,我们还会自动插入门控时钟。还有DCT、DCG模式,会打开物理优化,为了修复Cap和Transition的违例,进行寄存器复制、子模块端口复制等。下面就这些选项做一些说明。
flatten hierarchy
顾名思义就是打平层次关系,特别是一些纯组合逻辑的小模块,或者以连线为主的粘合逻辑。我们知道时序分析(setup/hold)时有以下几种时序路径:in2reg、reg2reg、reg2out、in2out。判断一条路径是否满足时序要求,就是看路径上的总延时大小。而总延时是跨模块的,或者说是以逻辑锥(logic cone)为单位的。所以打平这些组合逻辑模块后,就不需要保持层次关系的端口,更有利于以逻辑锥为单位进行优化。相反,如果保留子模块pin,优化力度会打折扣。
那是不是把所有层次关系都去掉更好呢?对优化面积和时序,是的。但对LEC、ECO、后仿调试,会大大加大难度。所以,一般建议只flatten跨模块的大组合逻辑。并且建议设计时按逻辑锥来划分模块,即常讲的模块的信号总是用DFF打拍输出。
最新活动更多
-
1月8日火热报名中>> Allegro助力汽车电气化和底盘解决方案优化在线研讨会
-
即日-1.16立即报名>>> 【在线会议】ImSym 开启全流程成像仿真时代
-
即日-1.24立即参与>>> 【限时免费】安森美:Treo 平台带来出色的精密模拟
-
2月28日火热报名中>> 【免费试用】东集技术年终福利——免费试用活动
-
4日10日立即报名>> OFweek 2025(第十四届)中国机器人产业大会
-
7.30-8.1火热报名中>> 全数会2025(第六届)机器人及智能工厂展
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论