SDC命令详解:使用set_wire_load_model命令进行约束
相关阅读
SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482
目录
指定线负载模型名
指定搜索库
指定最大、最小条件
指定对象列表
set_wire_load_model命令用于显式指定一个线负载模型(设置了对象的wire_load_attach_name属性),如果不使用该命令,则会基于设计面积自动选择或使用默认的线负载模型,详情见下面的博客。
静态时序分析:线负载模型的选择机制https://chenzhang.blog.csdn.net/article/details/140619371
线负载模型仅在Design Compiler线负载模式(非拓扑模式)下时使用,它估算了导线长度和扇出对线网的电阻、电容和面积的影响,Design Compiler使用这些物理值来计算导线延迟和电路速度。
半导体供应商根据其工艺的统计信息开发线负载模型。这些模型包括单位长度的面积、电容和电阻系数,并且还包含一个扇出与长度的表,用于估算线网的长度(扇出数量决定了一个标称长度)。
本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。set_wire_load_model命令的BNF范式(有关BNF范式,可以参考以往文章)为:
set_wire_load_model-name model_name [-library lib][-min] [-max][object_list]//注:该命令的选项和参数顺序任意
指定线负载模型名
-name选项用于指定一个线负载模型名,模型所在的逻辑库必须已加载到内存(这里需要注意,正如链接(link)库的详细解析一文所说,link_library变量或local_link_library属性(两者统称为link_path)指定的逻辑库会在必要时自动加载)。
指定搜索库
-library选项用于指定搜索库,如果不指定-library选项,Design Compiler会在link_path指定的逻辑库中从左至右搜索指定的线负载模型(如果一个逻辑库被加载到内存,但不在link_path中,想使用其中的线负载模型时必须使用该选项);如果在-library选项中指定了多个逻辑库,则Design Compiler首先在这些指定的逻辑库中从左至右搜索指定的线负载模型,如果没有搜索到则会在link_path指定的逻辑库中从左至右搜索指定的线负载模型。
指定最大、最小条件
-max选项用于指定线负载模型作用于最大延迟分析(一般情况下,如果不开启on_chip_variation,这指的是建立时间检查),-min选项用于指定线负载模型作用于最小延迟分析(一般情况下,如果不开启on_chip_variation,这指的是保持时间检查),如果仅指定了最大条件下的线负载模型,最小条件分析时将使用相同的线负载模型。
需要注意的是,互连面积始终使用最大条件下线负载模型计算。
指定对象列表
指定一个列表/集合,包含端口对象、单元对象或设计对象。对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。
SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571
如果不使用该参数,默认以当前设计设置线负载模型。