一文了解高级综合优化选项ungroup
我们在综合时,为了面积和时序目标,常常开了很多优化选项,比如compile_ultra。这个命令会根据面积和时序的要求,自动ungroup部分子模块,并进行跨模块边界优化。为了优化动态功耗,我们还会自动插入门控时钟。还有DCT、DCG模式,会打开物理优化,为了修复Cap和Transition的违例,进行寄存器复制、子模块端口复制等。下面就这些选项做一些说明。
flatten hierarchy
顾名思义就是打平层次关系,特别是一些纯组合逻辑的小模块,或者以连线为主的粘合逻辑。我们知道时序分析(setup/hold)时有以下几种时序路径:in2reg、reg2reg、reg2out、in2out。判断一条路径是否满足时序要求,就是看路径上的总延时大小。而总延时是跨模块的,或者说是以逻辑锥(logic cone)为单位的。所以打平这些组合逻辑模块后,就不需要保持层次关系的端口,更有利于以逻辑锥为单位进行优化。相反,如果保留子模块pin,优化力度会打折扣。
那是不是把所有层次关系都去掉更好呢?对优化面积和时序,是的。但对LEC、ECO、后仿调试,会大大加大难度。所以,一般建议只flatten跨模块的大组合逻辑。并且建议设计时按逻辑锥来划分模块,即常讲的模块的信号总是用DFF打拍输出。
郑重声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。
相关阅读
猜你喜欢
-
一文了解统治世界的十大算法
2021-07-22 -
一文了解如何使用Python+OpenCV构建手部跟踪系统
2021-07-21 -
一文了解数仓建设及数据治理
2021-07-21 -
一文了解基于Flink构建全场景实时数仓
2021-07-16 -
一文了解SR05-4二极管ESD静电保护元器件
2021-07-16 -
一文教你基于学习的方法决定在哪些分支节点上运行heuristic算法
2021-07-16 -
一文了解程序链接过程之动态链接
2021-07-15 -
一文了解军队文档管理平台
2021-07-13 -
一文详解不带Anchors和NMS的目标检测
2021-07-12 -
一文了解肿瘤免疫:GITR
2021-07-10 -
一文教你使用Dice loss实现清晰的边界检测
2021-07-09 -
一文了解高温天无人机养护及飞行注意事项
2021-07-08 -
一文教你如何选择boost升压电路的电感?
2021-07-08 -
一文了解晶振与蓝牙技术
2021-07-07 -
一文了解热电偶温湿度传感器
2021-07-02