SDC命令详解:使用set_operating_conditions命令进行约束(bc_wc模式和on_chip_variation模式)
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录默认工作环境显式指定工作环境指定工作环境名指定最大条件的工作环境指定最大条件工作环境的搜索库指定最小条件的工作环境指定最小条件工作环境的搜索库指定搜索库指定对象名称Multicorner-Multimode支持指定分析模式PrimeTime与Design Compiler/IC Compiler的区别其他OCV方法set_operating_conditions命令用于设置设计的工作环境工作环境包括温度、电压、工艺等它们的变化会显著影响电路性能因此所有工艺库的数据都是在一个特定的工作环境下得到的这个环境被称为特征化环境并根据选择的工作环境进行相应调整。有关特征化环境和工作环境的更详细内容可以参考下面的博客。静态时序分析工艺库的特征化环境和工作环境https://blog.csdn.net/weixin_45791458/article/details/136088521?ops_request_misc%257B%2522request%255Fid%2522%253A%2522b3dbe94f88b3c34dbccf8e467840d97c%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_idb3dbe94f88b3c34dbccf8e467840d97cbiz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-136088521-null-null.nonecaseutm_term%E7%89%B9%E5%BE%81%E5%8C%96spm1018.2226.3001.4450默认工作环境如果不使用set_operating_conditions命令指定工作环境Design Compiler将自动选择默认工作环境。逻辑库中可以使用default_operating_conditions库属性定义默认工作环境如果逻辑库中不存在default_operating_conditions库属性且只包含一个工作环境则该工作环境将被设置为默认工作环境如果逻辑库中不存在default_operating_conditions库属性且包含多个工作环境则标准工作环境nom_pvt将被创建并被设置为默认工作环境。Design Compiler会在link_library变量或local_link_library属性两者统称为link_path中的第一个逻辑库即主库中搜索默认工作环境如果失败则会选择标准工作环境nom_pvt。具体来说综合时Design Compiler将在target_library变量中的第一个逻辑库中搜索默认工作环境这是因为综合后设计的local_link_library属性将被设置为target_library变量其他情况下Design Compiler将在link_path中的第一个逻辑库中搜索默认工作环境。拓扑模式的Design Compiler NXT为了提升与物理实现工具如IC Compiler II的一致性在2021版本引入了一个新特性如果用户不使用set_operating_conditions命令指定工作环境在综合后需要使用compile_ultra -spg命令自动选择的默认工作环境将被添加为一个约束就像用户使用了set_operating_conditions命令那样该约束可以被传递给IC Compiler II Link也可以使用write_icc2_files命令或write_sdc命令输出综合或使用这两个命令时会提示以下信息。Warning: There is no user-defined operating conditions in the design. The tool is inferring operating conditions %s from the library %s. (DCT-399)在IC Compiler II中执行write_icc2_files命令输出的脚本时将会提示以下信息。Information: IC Compiler II will be using the default operating condition inferred by Design Compiler NXT显式指定工作环境与默认选择工作环境相比更加常用的是使用set_operating_conditions命令显式指定工作环境本文就将对此进行讨论。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。set_operating_conditions命令的BNF范式有关BNF范式可以参考以往文章为set_operating_conditions [condition] [-max max_condition] [-max_library max_lib] [-min min_condition] [-min_library min_lib] [-library lib] [-object_list objects] [-analysis_type bc_wc | on_chip_variation]指定工作环境名condition参数指定了一个工作环境它被设置为最大条件下一般情况下如果不开启on_chip_variation这指的是建立时间检查和最小条件下一般情况下如果不开启on_chip_variation这指的是保持时间检查的工作环境。该参数不能与-min选项和-max选项一起使用。指定最大条件的工作环境-max选项指定了最大条件下的工作环境一般情况下如果不开启on_chip_variation这指的是建立时间检查。该参数不能与condition参数一起使用。指定最大条件工作环境的搜索库-max_library选项指定了搜索最大条件下的工作环境的库如果不指定-max_library选项则Design Compiler会在link_path指定的逻辑库中从左至右搜索指定的工作环境如果在-max_library选项中指定了多个逻辑库则Design Compiler会在这些指定的逻辑库中从左至右搜索指定的工作环境。该选项只有在使用了-max选项后才能使用。指定最小条件的工作环境-min选项指定了最小条件下的工作环境一般情况下如果不开启on_chip_variation这指的是保持时间检查如果不指定最小条件下的工作环境Design Compiler会使用最大条件的工作环境。该参数不能与condition参数一起使用。如果指定了最小条件的工作环境通常需要使用set_min_library命令设置最大与最小条件的库映射关系否则会出现设计映射到最大条件的逻辑库但在最小条件分析时由于最小条件的工作环境与最大条件的逻辑库中的特征化环境不一致而出现使用k系数(k-factors)调整的问题更详细的分析可以参考下面博客中的“与set_operating_conditions命令同时使用”一节。SDC命令详解使用set_min_library命令进行约束https://chenzhang.blog.csdn.net/article/details/149541491?spm1011.2415.3001.5331指定最小条件工作环境的搜索库-min_library选项指定了搜索最大条件下的工作环境的库如果不指定-min_library选项则Design Compiler会在link_path指定的逻辑库中从左至右搜索指定的工作环境如果在-min_library选项中指定了多个逻辑库则Design Compiler会在这些指定的逻辑库中从左至右搜索指定的工作环境。该选项只有在使用了-min选项后才能使用。指定搜索库-library选项指定了搜索最大条件和最小条件下的工作环境的库该选项的优先级高于-max_library选项和-min_library选项。指定对象名称-object_list选项指定要设置工作环境的单元或端口。如果不使用此选项则工作环境设置在整个设计上对象可以是叶单元也可以是层次单元。这个选项在早期的Design Compiler中即2007版本前此时UPF标准还尚未公布因此是非UPF模式用于指定多电压域设计中各电压域的工作环境现在已经废除。如今的多电压域设计中使用UPF文件指定电压意图使用set_voltage命令指定各电压域的工作电压使用set_operating_conditions命令指定整个工作温度和工作工艺。关于UPF模式和非UPF模式的更多介绍可以参考下面的博客。Design Compiler两种工作模式线负载模式和拓扑模式https://blog.csdn.net/weixin_45791458/article/details/144830461?sharetypeblogdetailsharerId144830461sharereferPCsharesourceweixin_45791458spm1011.2480.3001.8118Multicorner-Multimode支持该命令仅对当前场景生效换句话说只能在当前场景设置工作环境。如果使用了MCMM必须设置每个场景的工作环境。关于场景的更多介绍可以参考下面的博客。Design Compiler多工艺角和多工作模式(Multicorner-Multimode, MCMM)https://blog.csdn.net/weixin_45791458/article/details/149578771?ops_request_misc%257B%2522request%255Fid%2522%253A%2522e3267dcc7cc26380435f53994dc8b9b8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_ide3267dcc7cc26380435f53994dc8b9b8biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149578771-null-null.nonecaseutm_termMCMMspm1018.2226.3001.4450指定分析模式-analysis_type选项指定了Design Compiler的分析模式可以是bc_wc模式默认或on_chip_variation模式PrimeTime默认。如果是bc_wc模式则Design Compiler在时序分析时只会使用单一的最大条件设置和最小条件设置对于建立时间分析Design Compiler使用最大条件下的工作环境以及最大条件设置即用-max选项设置的约束并在转换时间合并时统一使用最慢转换时间对于保持时间分析Design Compiler使用最小条件下的工作环境以及最大条件设置即用-min选项设置的约束并在转换时间合并时统一使用最快转换时间。关于转换时间合并可以参考下面的博客中有关GBA分析的那一部分。静态时序分析静态时序分析的原理及其两种模式PBA、GBAhttps://blog.csdn.net/weixin_45791458/article/details/136078969?ops_request_misc%257B%2522request%255Fid%2522%253A%2522f82123c01eaab2e7a8e5c467f18fad01%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_idf82123c01eaab2e7a8e5c467f18fad01biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-136078969-null-null.nonecaseutm_termPBAspm1018.2226.3001.4450如果是on_chip_variation模式则Design Compiler在时序分析时会根据检查类型对发射路径和捕获路径使用不同的条件设置对于建立时间分析Design Compiler会对发射路径使用最大条件设置转换时间合并时使用最慢转换时间对捕获路径使用最小条件设置转换时间合并时使用最快转换时间对于保持时间分析Design Compiler会对发射路径使用最小条件设置转换时间合并时使用最快转换时间对捕获路径使用最大条件设置转换时间合并时使用最慢转换时间以分析最差情况下的时序。下面以图1举例说明分析模式的使用。图1 简单的触发器首先使用create_clock命令以clk端口为源对象创建一个周期为10的时钟。create_clock -period 10 [get_ports clk]接着在输入端口d定义分别定义最大条件和最小条件的输入延迟。set_input_delay -max 0.8 -clock clk [get_ports d] set_input_delay -min 0.4 -clock clk [get_ports d]最后定义理想时钟最大条件和最小条件下的延迟。set_clock_latency 0.2 -max [get_clocks clk] set_clock_latency 0.1 -min [get_clocks clk]如果使用bc_wc模式默认则此时输入端口d的建立时间时序报告和保持时间时序报告分别如图2和图3所示。图2 输入端口的建立时间报告bc_wc模式图3 输入端口的保持时间报告bc_wc模式可以看出对于发射路径时序报告上半部分和捕获路径时序报告下半部分Design Compiler统一使用了最大条件或最小条件下的设置。如果使用on_chip_variation模式则此时输入端口d的建立时间时序报告和保持时间时序报告分别如图4和图5所示。图4 输入端口的建立时间报告on_chip_variation模式图5 输入端口的保持时间报告on_chip_variation模式可以看出对于发射路径时序报告上半部分和捕获路径时序报告下半部分Design Compiler在进行建立时间分析时发射路径选择了最慢的时钟延迟0.2而捕获路径选择了最快的时钟延迟0.1这导致了与bc_wc模式相比时序裕量由9.16下降为9.06在进行保持时间分析时发射路径选择了最快的时钟延迟0.1而捕获路径选择了最慢的时钟延迟0.2这导致了与bc_wc模式相比时序裕量由0.39下降为0.29。本例只展示了对于时钟延迟的设置在两种模式下的差异实际上所有可以分别设置-min选项和-max选项的命令在这两种模式下都是会有差异的。虽然on_chip_variation模式模拟了片上变化带来的影响但显而易见它是悲观的尤其是对于时钟路径上的共同路径这被称为共同路径悲观(Common Path Pessimism)如果想移除这种悲观可以将timing_remove_clock_reconvergence_pessimism变量设置为true默认值为false。在Design Compiler/IC Compiler中使用report_deisgn命令可以查看当前使用的工作环境使用report_scenarios命令可以查看当前使用的分析模式在PrimeTime中使用report_deisgn命令可以查看当前使用的工作环境和分析模式。PrimeTime与Design Compiler/IC Compiler的区别对于PrimeTime而言原本存在single模式、bc_wc模式和on_chip_variation模式三种分析模式如果选择bc_wc模式和on_chip_variation模式可以在使用其他命令时指定-min或-max选项后来bc_wc模式被删除了因此现在的PrimeTime只有在分析模式为on_chip_variation默认时才能在使用命令时指定-min或-max选项包括set_operating_conditions命令而Design Compiler/IC Compiler则无此要求。其他OCV方法除了设置分析模式之外还可以通过set_timing_derate模拟片上变化即使分析模式为bc_wc但该命令只能使用单一的因子进行降额。为了更加精准地模拟片上变化PrimeTime在2008版本推出了AOCV(Advanced On-Chip Variation)模式在2013版本推出了POCV(Parametric On-Chip Variation)模式使用它们可以在on_chip_variation模式的基础上考虑逻辑深度、举例和统计分析等更多因素。POCV模式在拓扑模式的Design Compiler Graphical中得到了支持AOCV模式和POCV模式在IC Compiler中得到了支持。

相关新闻

TeamViewer:远程协作的“隐形桥梁“,为什么企业离不开它?

TeamViewer:远程协作的“隐形桥梁“,为什么企业离不开它?

同事电脑出了问题,你在千里之外怎么帮忙?客户系统需要紧急调试,出差路上如何响应?在家办公要访问公司内网的文件,VPN 配置复杂到让人头大——这些场景,TeamViewer 用一根网线、一个软件、一组密码&#xff…

2026/7/30 18:10:41 阅读更多 →
方寸之间,万籁俱寂——AP-0316声学模组深度解码:50毫米如何消灭一切噪音

方寸之间,万籁俱寂——AP-0316声学模组深度解码:50毫米如何消灭一切噪音

想象一个场景:矿场深处,凿岩机的轰鸣震耳欲聋;就在这片噪声里,一名工人对着通话设备说了一句"3号巷道顶板有裂隙"——远在调度中心的值班员,听到的却是干净、清晰、几乎没有杂质的人声。这不是科幻。这是 AP…

2026/7/30 18:09:41 阅读更多 →
MC开服教程-白嫖面板服务器!小白也可以!

MC开服教程-白嫖面板服务器!小白也可以!

目录 说在前面 什么是雨云? 为什么选择雨云? 注册账号 赚取积分 实名认证 兑换产品 配置面板服 重装系统 续费面板服 电量-超重要!!!必看 进入正题 加入面板服 PCL2联机教程 安装PCL2 登录正版游戏 离…

2026/7/30 18:09:41 阅读更多 →

最新新闻

JavaScript 构造函数详细解析

JavaScript 构造函数详细解析

本文详细介绍JavaScript构造函数。 本文目录1. 基本构造函数2. 构造函数的工作原理3. 原型与构造函数4. 实例属性 vs 原型属性5. 构造函数的继承6. 构造函数与类的关系7. 静态方法与属性8. 构造函数的问题与优化构造函数 vs 工厂函数1. 基本构造函数 通过 new 关键字调用的函数…

2026/7/30 18:28:46 阅读更多 →
手把手带你精读《人工智能导论》第4版:标注137处命题原文出处+32个可直接套用的答题模板

手把手带你精读《人工智能导论》第4版:标注137处命题原文出处+32个可直接套用的答题模板

更多请点击: https://intelliparadigm.com 第一章:《人工智能导论》第4版核心命题体系总览 《人工智能导论》第4版以“智能的本质、实现的路径与演化的边界”为思想主线,重构了传统知识框架,将符号主义、连接主义与行为主义三大范…

2026/7/30 18:28:46 阅读更多 →
Docker实战 | 使用Docker部署EasyNode服务器面板工具

Docker实战 | 使用Docker部署EasyNode服务器面板工具

Docker实战 | 使用Docker部署EasyNode服务器面板工具一、EasyNode介绍1.1 EasyNode简介1.2 EasyNode主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、拉取EasyNode镜像五、…

2026/7/30 18:28:46 阅读更多 →
单片机毕设项目:基于单片机的温湿度烟雾检测与智能报警装置开发 基于 STM32 的环境监测与风扇自动调控系统设计(013901)

单片机毕设项目:基于单片机的温湿度烟雾检测与智能报警装置开发 基于 STM32 的环境监测与风扇自动调控系统设计(013901)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/7/30 18:28:46 阅读更多 →
新闻、小说类阅读APP功能开发及优化

新闻、小说类阅读APP功能开发及优化

无论是新闻类APP,还是小说类APP,移动阅读APP的开发都是为了使用户的阅读需求更加便捷实现。而且随着移动互联网技术的发展,人们获取资讯的方式越来越多样化,从用户的主动获取到平台的个性化推荐使得信息获取的方式大大变革&#x…

2026/7/30 18:28:46 阅读更多 →
11:晶晶赴约会

11:晶晶赴约会

/*** 题目名称&#xff1a;晶晶赴约会 <p>* 题目来源&#xff1a;http://noi.openjudge.cn/ch0104/11/ <p>* 程序功能&#xff1a;根据给定看展览的日期判断晶晶能否赴约会&#xff0c;并输出对应的字符串** author 潘磊&#xff0c;just_panleijust.edu.cn* versi…

2026/7/30 18:27:46 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具&#xff1a;DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼&#xff1f;是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper&#xff1a;网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具&#xff0c;它并非替代教师&#xff0c;而是通过语义理解、知识图谱与多模态生成能力&#xff0c;将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻