SDC命令详解:使用set_wire_load_model命令进行约束

news/2025/6/19 17:28:48

相关阅读

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

        如果不使用该参数,默认以当前设计设置线负载模型。 


https://dhexx.cn/news/show-5537651.html

相关文章

SQL进阶之旅 Day 22:批处理与游标优化

【SQL进阶之旅 Day 22】批处理与游标优化 文章简述(300字左右) 在数据库开发中,面对大量数据的处理任务时,单条SQL语句往往无法满足性能需求。本篇文章聚焦“批处理与游标优化”,深入探讨如何通过批量操作和游标技术提…

pymilvus

一.pymilvus介绍 🚀 pymilvus 是什么? pymilvus 是连接和操作 Milvus 向量数据库的 Python SDK,用于处理大规模向量数据的存储、索引和搜索。 🏗️ Milvus 向量数据库 什么是 Milvus? 🔍 专业向量数据…

C/C++ 面试复习笔记(5)

1.用户态和内核态切换的开销来自哪里?如何减少这种开销? 主要开销: 上下文保存与恢复:需保存/恢复寄存器、堆栈等状态(约数百CPU周期)。 CPU 模式切换:从用户态到内核态的权限检查及模式切换…

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…

对比一下blender快捷键:p和alt+p

在 Blender 中,P 和 Alt P 虽然看起来相似,但它们作用在不同的上下文(Mode)下,并完成完全不同的操作: 何时使用哪一个? 想要把模型的一部分从当前网格里拆分出来**,就进入 Edit Mod…

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…

打开GitHub网站因为网络原因导致加载失败问题解决方案

Date: 2025.06.09 20:34:22 author: lijianzhan 在Windows系统中,打开GitHub网站因为网络原因导致加载失败问题解决方案 打开Windows系统下方搜索框,搜索Microsoft Store,并且双击打开 在应用里面搜索Watt Toolkit,并下载安装 …

Linux文件管理和输入输出重定向

文件管理 Bash执行命令 passwd passwd普通用户修改密码 passwd robinkoolroot用户管理账户密码 passwd -d robinkoolroot用户删除普通用户密码 file file /bin/filecat cat option 文件 cat -A /etc/hosts #-A选项等于-VETcat /etc/hosts /etc/fstab一次性查看多个文件…

Linux线程互斥与竞态条件解析

Linux线程互斥及相关概念解析 1. 临界资源(Critical Resource) 定义:被多个线程共享的资源(如变量、文件、内存区域等),需通过互斥访问确保数据一致性。特点: 共享性:多个线程可能…

[Java 基础]Object 类

java.lang.Object 是 Java 所有类的直接或间接父类,Java 中每个类都默认继承 Object 类(即使你没写 extends Object)。 Object 中的常用方法: 方法名功能简介toString()返回对象的字符串表示equals(Object)判断两个对象是否“逻…