教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

第五章 综合的约束与优化(8)

来源:网络收集 时间:2026-04-29
导读: 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

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
第五章 综合的约束与优化(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/565731.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)