第五章 综合的约束与优化(9)
通过对每个组设置权(默认权是1.0),设置路径组的优先权。权可以是从0.0到100.0。 比如,图5.14显示了一个有多重路径到触发器FF1的设计:
图5.14 Path Group Example
为指出从输入in3到FF1的路径的优先权最高,采用下列命令:
dc_shell> group_path -name group3 \\-from in3 -to FF1/D -weight 2.5 (2)最优化接近临界的路径
当你对一个路径组增加了临界范围,你改变了最大延迟成本函数。Design Compiler在临界范围内优化所有路径。
指定一个临界范围会增加运行时间。为限制运行时间的增加,只在设计的最后实现阶
段使用临界范围,并使用一个合理的临界范围值。一个最大临界范围值的方针就是时钟周期的10%。
使用下列方法之一指定临界范围: ? 使用group_path命令的-critical_range选项 ? 使用set_critical_range命令
如下,图5.15显示了一个带有三个输出A,B,C的设计:
图5.15 临界范围举例
假设时钟周期为20ns,每一个输出的最大延迟为10ns,临界延迟如图所示。默认时,Design Compiler只优化最差情况(到输出A的路径)。为优化所有路径,设置临界延迟为3.0ns:
dc_shell> create_clock -period 20 clk
dc_shell> set_critical_range 3.0 current_design dc_shell> set_max_delay 10 {A B C}
dc_shell> group_path -name group1 -to {A B C} (3)优化所有路径
通过对设计的每一个终点创建一个路径组来对所有路径进行优化,但导致了更长的编译运行时间。利用下列脚本创建一个路径组:
endpoints = all_outputs() + all_registers(-data_pins) foreach (endpt, endpoints) {
178
group_path -name endpt -to endpt }
2.修理高负载的线
高负载的线常常产生临界路径。你可以用两种方法来减少线上的负载: ? 如果这个高负载位于一个模块内,而这个模块不包含层次,用命令 balance_buffer修理高负载线。如下,输入: dc_shell> include constraints.con dc_shell> compile
dc_shell> balance_buffer -from find(pin, buf1/Z)
当你的库使用线性延迟模型时,balance_buffer命令提供了最好的结果。如果你的库使用非线性延迟模型,那么第二种方法将提供一个更好的结果。
? 如果这个高负载穿越几个模块之间的层次,那用设计规则来修复这个问 题,输入:
dc_shell> include constraints.con dc_shell> compile
dc_shell> set_max_capacitance 3.0 dc_shell> compile -only_design_rule
一个很少见的情况是层次化的结构使Design Compiler失去修复设计规则的能力。 在图5.16所示的简单事例中,O1负荷过多。为减少负荷,通过group命令或改变HDL
使尽可能多的负荷在一个层次上组合。然后再利用其中一个策略。
图5.16 Heavily Loaded Net
3. 展开关键路径的逻辑
展平会改进将设计重新转换为两级乘积和的性能。然而,展开需要相当可观的CPU资
源,而且不可能展开整个设计。在这里,你通过展开临界临界上的逻辑来提高性能。
为展开临界路径上的逻辑,
1)用all_fanin命令来确定与临界路径相关的逻辑
dc_shell> all_fanin -to all_critical_pins() -only_cells dc_shell> cp_logic = dc_shell_status
179
2)组合临界路径逻辑
dc_shell> group -design critical_block -cell_name cp1 \\cp_logic 3)描述临界路径逻辑的特色 dc_shell> characterize cp1 4)展开临界路径逻辑
dc_shell> current_design critical_block dc_shell> set_flatten true dc_shell> compile
dc_shell> set_flatten false 5)取消临界路径逻辑模块的组 dc_shell> current_design ..
dc_shell> ungroup -simple_names cp1 4.执行高效果的编译
最优化结果依赖起点。有时候,默认编译产生的起点导致一个局部的最小解决方案,而且在产生一个最佳的设计前Design Compiler就已退出。一个高效果的编译可以解决这个问题。
这个高效果的编译利用compile命令的-map_effort high选项来进行最初的编译(针对设计的HDL描述):
dc_shell> elaborate my_design dc_shell> compile -map_effort high 5.执行高效果的、递增编译
你也可以利用递增编译选项来改进高效果编译的编译性能。如果先期的策略中没有一个可以使设计满足最优化目标,那高效果的、递增编译可以得到想要得到的结果。
一个递增的编译(-incremental_mapping编译选项)允许你实验不同的方法来递增地
改进设计。递增的编译只适用于门级最优化,不适用于逻辑级最优化。设计性能的结果与原先设计的相同或更好。
这个方法需要大量的CPU时间,但它是将最差消极延迟减少为0的最成功的方法。为减少运行时间,你可以对那些已经达到时序要求的所有模块设置dont_touch属性: dc_shell> dont_touch noncritical_blocks
dc_shell> compile -map_effort high -incremental_mapping 5-4-4-4 为达到最小面积的最优化
如果你的设计定义了时序约束,通常这些约束的优先级比面积约束要高。对面积关键
的设计来说,在你编译前不要应用时序约束。如果你想要查看时序报告,在编译后对设计加以时序约束。
180
如果你的设计没有达到面积约束,你可以试试下面的方法来减少面积:
? 取消总的负延迟的最优化Disable total negative slack optimization ? 允许时序面积恢复Enable sequential area recovery ? 允许布尔最优化Enable Boolean optimization ? 资源选择管理Manage resource selection ? 利用展开Use flattening
? 跨层次边界的最优化Optimize across hierarchical boundaries 1.取消总的负延迟的最优化
默认时,Design Compiler确定总的负延迟的优先级比面积约束高。这就意味着Design 在设置面积约束时,用-ignore_tns选项来改变默认的优先级: …… 此处隐藏:1389字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [基础教育]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英语重点短语




