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

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

来源:网络收集 时间:2026-04-29
导读: 图5.7显示了建立和保持时间之间的时序关系。 图5.7 建立和保持时间 时序路径从时钟管脚FF1(CLKA的上升沿)开始,结束于数据管脚FF2。假设触发器是正沿触发的,数据的建立从时间0开始,然后20时间单位后在FF2的CLKB

图5.7显示了建立和保持时间之间的时序关系。

图5.7 建立和保持时间

时序路径从时钟管脚FF1(CLKA的上升沿)开始,结束于数据管脚FF2。假设触发器是正沿触发的,数据的建立从时间0开始,然后20时间单位后在FF2的CLKB的下一个有效沿检测数据;数据的保持从一个时钟(CLKA)循环开始(20单位),在检测建立的相同沿时检测(20单位)。

set_multicycle_path命令的-setup选项在默认沿的前或后移走用于建立检测的沿。

如图5.7所示的例子,

? 零的建立乘数意味着Design Compiler利用零时刻的沿检测 ? 2的建立乘数意味着Design Compiler利用40时刻的沿检测

set_multicycle_path命令的-hold选项在默认沿的前后开始数据的保持,但Design Compiler仍然在检测建立的沿检测数据的保持。如图5.7所示(默认的建立乘数), ? 1的保持乘数意味着数据从CLKA(时间40)开始保持到CLKB(时间20)检测 ? -1的保持乘数意味着数据从CLKA(时间0)开始保持到CLKB(时间20)检测

用带有相同选项的reset_path命令来取消set_multicycle_path命令。 (5)采用多重的时序异常命令

一个特殊的时序异常命令用于一个单独的时序路径,而一个一般的时序异常命令用于更多的时序路径。如果你对更多的实例执行给定的时序异常命令,那么更多的特殊命令将覆盖更多的一般的命令。

下列规则定义了给定时序异常命令的优先顺序:

? 当你定义从一个管脚到另一个管脚的时序异常时,享有最高优先权 ? 一个使用-from选项的命令比一个使用-to选项的命令享有更高的优先权

? 对于时序异常命令中的时钟,如果同时指定了-from和-to选项, 它们将覆盖只指定了-from或-to选项的共有同样路径的命令

这个列表详细列出了由这些优先权规则定义的优先顺序: 1. command -from pin -to pin 2. command -from clock -to pin 3. command -from pin -to clock

163

4. command -from pin 5. command -to pin

6. command -from clock -to clock 7. command -from clock 8. command -to clock

比如,在下列命令序列中,从A到B的路径被看作是两循环路径,因为特殊命令覆盖了一般命令:

dc_shell> set_multicycle_path 2 -from A -to B dc_shell> set_multicycle_path 3 -from A

下列规则总结了时序异常命令的相互作用:

? 一般的set_false_path覆盖特殊的set_multicycle_path命令 ? 一般的set_max_delay覆盖特殊的set_multicycle_path命令

? 特殊的set_false_path覆盖特殊的set_max_delay或set_min_delay 命令 ? 特殊的set_max_delay命令覆盖特殊的set_multicycle_path命令 5-3-2 设置面积约束

命令set_max_area通过对当前设计设置一个max_area属性,为当前设计指定最大面

积。用工艺库里面积的单位来指定这个面积。比如,想要设置最大面积为100,输入: dc_shell> set_max_area 100

设计面积由每一个元件和线的面积组成。在Design Compiler计算设计面积时将忽视下列元件: ? 未知元件 ? 未知面积的元件 ? 独立于工艺的普通元件

单元(元件)的面积是与工艺相关的;Design Compiler从工艺库里获取信息。 当你同时定义时序和面积约束,Design Compiler将首先去满足时序约束。当你定义

面积约束时,使用-ignore_tns选项将面积约束的优先权提到全部的消极的延迟之前: dc_shell> set_max_area -ignore_tns 100

为最优化得到最小的面积,需要忽略时序,移走所有的约束,只留下最大面积约束。用命令remove_constraint来移走你设计的约束。但要当心这个命令将移走你设计中的所有最优化约束。

第四节 设计优化

最优化是Design Compiler综合步骤,根据设计的功能、速度和面积要求,将设计映

射到指定目标库中单元的最佳组合。这一节中将讨论影响最优化结果的众多因素中的常见的几个因素。

164

5-4-1 理解最优化流程

Design Compiler执行三个级别的最优化:

? 结构最优化(Architectural optimization) ? 逻辑级最优化(Logic-level optimization) ? 门级最优化(Gate-level optimization) 5-4-1-1 结构最优化

对HDL描述进行结构最优化,它包含这样的高层综合任务,如:

? 子表达式共享 ? 资源共享

? 选择设计工具实现 ? 算子重排序

? 确定数据流的算术表达式(DC Ultra only)

除了设计工具实现外,这些高层综合任务只在一个未映射的设计的最优化时才发生,高层综合任务以你的约束和HDL编码风格为基础。在高层最优化后,电路的功能由一设计工具实现可以在门级映射后重现。

个一般的、与工艺无关的网表来描述。 5-4-1-2 逻辑级最优化

对GTECH网表进行逻辑级最优化,它由下列两个过程组成:

这个过程是对设计增加中间变量和逻辑结构,导致设计面积简化。结构化 是基于约束的,最好应用于非关键时序路径。

在结构化过程中,Design Compiler搜索能够成为因素的子功能,并且根据这个因素的大小和在设计中出现的次数来评估因素。默认情况下,Design Compiler构造设计的结构。用命令set_structure和变量compile_new_boolean_structure来控制设计的结构化。命令set_structure和它的选项设置下列的属性:structure,structure_boolean,和structure_timing。 ? 展开化(Flattening) …… 此处隐藏:991字,全部文档内容请下载后查看。喜欢就下载吧 ……

第五章 综合的约束与优化(4).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)