6定义设计环境
在设计优化前,你必须定义设计预期的操作环境。你可以通过指定操作条件,线负载模型,和系统接口特征来定义环境。
操作条件包括温度,电压,和工艺变化。线负载模型评估线长度对设计性能的影响。系统接口特征包括了输入驱动,输入和输出负载,和散出负载。环境模型会直接影响设计的综合结果。
在Design Compiler中,模型由你为设计制定的属性集合和约束决定的,这些属性和约束是由dc_shell命令指定的。
图6-1 显示了用于定义了设计环境的命令。
图6-1 用于定义设计环境的命令
本章包含了如下部分:
定义操作条件
定义线负载模型
系统接口建模
在端口上设置逻辑约束
指定功耗目标
支持Multicorner-Multimode设计
定义操作条件
在大部分工艺下,操作温度的变化,供电电压,和制造工艺可以强烈的影响电路性能(速度)。这些被称为操作条件的因素有如下的普遍特征:
操作温度变化
温度变化在设计的日常运行中是不可避免的。温度波动对性能的影响通常是作为线性变化来处理的,但是一些深亚微米硅工艺需要用到非线性计算。
供电电压变化
在日常工作中,设计的供电电压可能和稳定的理想值不同。一般会使用一个复杂的计算(使用阈值电压偏移),但是简单的线性因子也可以用于逻辑层的性能计算。
工艺变化
这种变化是因为半导体制造过程中的偏差导致的。一般工艺变化会在性能计算中被当做百分比的变化。
当执行时序分析时,Design Compiler必须同时考虑到工艺,温度和电压等因素变化最差和最好的情形。
确定可用的操作条件选项
大部分technology libraries有预定于的操作条件集合。使用report_lib命令来列出technology library定义的操作条件。这些库必须先载入主存中,然后才能运行report_lib命令。使用list_libraries命令或者list_libs命令来查看载入到内存的库列表。
例如,为存储在mu_lib.db的my_lib库生成报告,输入下面命令:
例6-1 显示了生成的操作条件报告
例6-1 操作条件报告
指定操作条件
如果technology library包含了操作条件规范,你可以让Design Compiler将这些规范当做默认条件。或者,你可以使用set_operating_conditions命令来明确地指定操作条件,这些明确指定的操作条件会取代库中的默认条件。
例如,输入以下命令来为当前设计设置最差商用条件
使用report_design命令来查看为当前设计定义的操作条件。
定义线负载模型
线负载模型只能在Design Compiler非拓扑模式下使用。关于拓扑模式的更多细节,请参考“Using Design Compiler Topographical Technology”。线负载模型运行你估计线长和散出对阻抗,电容和线网面积的影响。Design Compiler使用这些物理值来计算线延时和电路速度。
半导体制造商基于特定工艺的统计信息来开发线负载模型。该模型包含了面积,电容,每单位线长阻抗和散出-线长表的系数,用于估计线网长度(散出的数量决定了线的标称长度)。
注意:
你也可以开发定制的线负载模型。更多关于开发线负载模型的信息,请参考Library Compiler文档。
没有反标线延时时,Design Compiler使用线负载模型来估计线网的长度和延时。Design Compiler基于以下因素决定了使用哪一种线负载模型,下面的因素按照优先级排列:
1、 明晰的用户定义
2、 基于设计面积的自动选择
3、 Technology Library的默认规范
如果以上信息都没有,Design Compiler就不会使用线负载模型。没有线负载模型,Design Compiler就没有关于你的target technology的行为的完整信息并且无法为你的线网计算负载或者传播时间,因此你的时序信息就是比较乐观的。
在层次化结构中,Design Compiler也必须决定哪一种线负载模型用于跨层次边界的线网。工具基于下面的因素来为跨层次线网决定线负载模型,下面的因素按优先级排列:
1、 明晰的用户定义
2、 Technology library的默认规范
3、 Design Compiler的默认模型
下面的章节讨论了为线网和设计选择线负载模型。
层次化线负载模型
Design Compiler支持三种跨层次边界的线负载模型:
TOP
Design Compiler为线网建模时,将设计看做没有层次并且将为顶层设计指定的线负载模型使用在设计和其子设计中的所有线网。工具会忽视通过set_wire_load_model命令为子设计设置的任何线负载模型。
如果你打算在layout前将高层级的设计打平,那么请使用TOP模式。
Enclosed
Design Compiler使用完全封闭线网的最小设计的线负载模型。如果封闭的线网设计没有线负载模型,工具将设计层次上移直到找到线负载模型。Layout时,在同一