一文了解高级综合优化选项ungroup
我们在综合时,为了面积和时序目标,常常开了很多优化选项,比如compile_ultra。这个命令会根据面积和时序的要求,自动ungroup部分子模块,并进行跨模块边界优化。为了优化动态功耗,我们还会自动插入门控时钟。还有DCT、DCG模式,会打开物理优化,为了修复Cap和Transition的违例,进行寄存器复制、子模块端口复制等。下面就这些选项做一些说明。
flatten hierarchy
顾名思义就是打平层次关系,特别是一些纯组合逻辑的小模块,或者以连线为主的粘合逻辑。我们知道时序分析(setup/hold)时有以下几种时序路径:in2reg、reg2reg、reg2out、in2out。判断一条路径是否满足时序要求,就是看路径上的总延时大小。而总延时是跨模块的,或者说是以逻辑锥(logic cone)为单位的。所以打平这些组合逻辑模块后,就不需要保持层次关系的端口,更有利于以逻辑锥为单位进行优化。相反,如果保留子模块pin,优化力度会打折扣。
那是不是把所有层次关系都去掉更好呢?对优化面积和时序,是的。但对LEC、ECO、后仿调试,会大大加大难度。所以,一般建议只flatten跨模块的大组合逻辑。并且建议设计时按逻辑锥来划分模块,即常讲的模块的信号总是用DFF打拍输出。
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【在线会议】多物理场仿真助跑新能源汽车
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论