第五章 综合的约束与优化(8)
dc_shell> current_design top dc_shell> characterize U2/U3
173
dc_shell> current_design C dc_shell> compile
dc_shell> current_design top
dc_shell> set_dont_touch {U2/U3 U2/U4} dc_shell> compile
图5.12显示了运行该命令序列的结果。设计C上画上X表明它已经被编译过了,显示出已经设置了dont_touch属性。当顶层设计编译时该设计没有被修改。
图5.12 Compile-Once-Don’t-Touch Results
compile-once-don’t-touch有下列的优点: ? 只对被引用的设计编译一次 ? 与uniquify相比需要较小的内存 ? 与uniquify相比需要较少的时间
compile-once-don’t-touch主要的缺点就是特性描述不能很好地适用于所有实例。另一个缺点就是你不能取消带有dont_touch属性的对象的组。 5-4-3-3 ungroup
ungroup与uniquify有相同的效果,但另外,它还移走设计层次。这种方法使用ungroup
命令产生一个展开的网表。
在取消了一个子设计实例的组之后,你可以重新编译顶层设计。比如,下 列的命令序列使用ungroup分解了设计top中设计C的多重引用: dc_shell> current_design B dc_shell> ungroup {U3 U4} dc_shell> current_design top dc_shell> compile
174
图5.13显示了运行这个命令序列的结果。
图5.13 Ungroup结果
ungroup有如下的特征:
? 与compile-once-don’t-touch相比,需要更大的内存和更长的编译时间 ? 提供了最好的综合结果
使用ungroup最明显的缺点就是它移走了用户定义的设计层次。
5-4-3-4 保存子设计
set_dont_touch命令在最优化时保存了一个子设计。通过对当前设计中的单元、线、
引用和设计设置dont_touch属性来防止这些对象在最优化时被修改或被替代。
当你利用set_dont_touch时,记住下列要点:
? 对一个层次化单元设置dont_touch,就对其下的所有单元设置了一个固有的dont_touch ? 对一个库单元设置dont_touch,就对那个单元的所有实例设置了一个固有的 dont_touch
? 对一条线设置dont_touch,只对与该线连接的映射过的组合单元设置一个固有的dont_touch。如果这条线只与普通逻辑相连接,优化时可能会移走这条线
? 在设计进行并发的优化时,对一个引用设置dont_touch,就对所有引用的单元设计了一个固有的dont_touch
? 对一个设计设置dont_touch,只有当该设计作为其他设计的一个示例才有影响;在这种情况下,dont_touch暗示着在该层次下的所有单元都是dont_touch。 对顶层设计设置dont_touch没有影响,因为顶层设计不可能被其他设计所引用。 ? 你不能对标有dont_touch的对象取消分组。
用命令report_design来确定一个设计是否设置了dont_touch属性: dc_shell> set_dont_touch SUB_A
Performing set_dont_touch on design ’SUB_A’.
175
dc_shell> report_design
**************************************** Report : design Design : SUB_A Version: 1999.05
Date : Mon Jan 4 10:56:49 1999
**************************************** Design is dont_touched.
用remove_attribute或set_dont_touch命令来取消dont_touch属性。
5-4-4 执行设计实现
默认的编译产生60%设计的好的结果。在设计探伤后,如果你的设计满足了最优化目
标,你就完成了设计;如果没有,尝试一下下列部分描述的技术: ? 最优化随意逻辑 ? 最优化结构化逻辑 ? 为得到最佳性能的最优化 ? 为得到最小面积的最优化 5-4-4-1 最优化随意逻辑
如果对你的随意的逻辑设计,默认的编译没有产生预定的结果,那试试下面的方法。
如果第一个方法没有产生预定的结果,使用第二个方法,直到你获得预定的结果。 ? 结构化前展开设计,输入: dc_shell> set_flatten true dc_shell> set_structure true dc_shell> compile ? 增加展开效果,输入:
dc_shell> set_flatten true -effort medium dc_shell> compile
? 用最小化或相位倒置细调结果,输入:
dc_shell> set_flatten true \\ -minimize multiple_output -phase true dc_shell> compile
set_flatten -minimize命令导致Design Compiler共享输出逻辑锥区之间的乘积项。
最小化可能导致更高的扇出,但不会改变两级的乘积和表达式。如果你选择了-minimize single_output选项,Design Compiler个别的使每一个输出的方程式最小。-minimize multiple_output选项则通过对输出之间的共享项的最优化使得能够对整个设计进行最小化。最小化增加了编译时间;因此对于默认的展开工作,Design Compiler并不执行最小
176
化。
set_flatten -phase true命令颠倒输出的极性,将实现结果与原先的实现结果相比,保存最好的结果。设置-phase选项为真,增加了编译时间;因此,-phase选项的默认值为假。
5-4-4-2 最优化结构化逻辑
如果对你的结构化逻辑设计,默认的编译没有产生预定的结果,那试试下面的方法。
如果第一个方法没有产生预定的结果,试试第二个方法。 ? 不展开或结构化的映射设计,输入: dc_shell> set_structure false dc_shell> compile ? 带结构化的展开,输入: dc_shell> set_flatten true dc_shell> set_structure true dc_shell> compile
当你运行这个命令序列,Design Compiler首先展开设计,然后返回,通过共享关键
路径的逻辑来重新对设计进行结构化。 5-4-4-3 为得到最佳性能的最优化
这一部分提供了提供设计性能的方法,包含下列几个方面:
? 创建路径组 ? 修理高负载的线 ? 展开关键路径的逻辑 ? 执行高效果的、递增编译 ? 执行高效果编译 1. 创建路径组
默认时,Design Compiler根据控制终点的时钟组合路径(所有与时钟没有
关系的路径在一个默认的组中)。如果你的设计中有复杂的时钟、复杂的时序要求、或复杂的约束,你可以创建路径组,使得Design Compiler专注于设计中指定的关键路径。
用命令group_path来创建路径组。命令group_path允许你: ? 控制设计的最优化 ? 最优化接近临界的路径 ? 最优化所有路径 (1)控制设计最优化
你可以通过创建路径组和对其排序来控制最优化,这只影响最大延迟成本函数。默认情况下,Design Compiler只对每个组中的最差情况起作用。
177
…… 此处隐藏:1659字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




