发布时间:2026/8/13 18:04:19
SDC命令详解:使用set_min_library命令进行约束 相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录最大条件分析的库文件名最小条件分析的库文件名取消设置Multicorner-Multimode支持最大条件和最小条件与set_operating_conditions命令同时使用写在最后set_min_library命令用于设置一组最大与最小条件的库映射关系其实它并不是一个SDC命令归为此类只是为了方便管理可以让Design Compiler在优化时分别使用两组逻辑库来进行最小与最大条件分析。该命令由于未设置属性不支持使用write_script命令输出它可以在没有读取设计、定义当前设计时就执行。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。read_sdc命令的BNF范式有关BNF范式可以参考以往文章为set_min_library max_library -min_version min_library | -none //注该命令的选项和参数顺序任意最大条件分析的库文件名max_library参数指定用于最大条件分析的库文件名通常也是target_library及link_library中设置的库文件。最小条件分析的库文件名-min_version选项指定用于最小条件分析的库文件名这些库文件不应该出现在target_library或link_library中。取消设置-none选项取消了最小条件分析库的设置。Multicorner-Multimode支持该命令对所有场景生效。关于场景的更多介绍可以参考下面的博客。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最大条件和最小条件如果使用Design Compiler的默认分析模式bc_wc那么其在时序分析时使用单一的最大条件设置和最小条件设置对于建立时间检查、恢复时间检查、门控时钟建立时间检查、最大延迟检查等分析Design Compiler将使用最大条件下的工作环境以及所有用-max选项设置的约束对于保持时间检查、移除时间检查、门控时钟保持时间检查、最小延迟检查等分析Design Compiler将使用最小条件下的工作环境以及所有用-min选项设置的约束。如果使用on_chip_variation模式则Design Compiler在时序分析时会根据检查类型对发射路径和捕获路径使用不同的条件设置对于建立时间检查、恢复时间检查、门控时钟建立时间检查、最大延迟检查等分析Design Compiler会对发射路径使用最大条件设置对捕获路径使用最小条件设置以分析最差情况下的时序对于保持时间检查、移除时间检查、门控时钟保持时间检查、最小延迟检查等分析Design Compiler会对发射路径使用最小条件设置对捕获路径使用最大条件设置以分析最差情况下的时序。当使用set_min_library命令指定了最大与最小条件的库映射关系后在计算最大条件延迟时使用max_library中的时序信息在计算最小条件延迟时如果min_library中存在匹配的单元则会使用min_library中的时序信息否则依旧使用max_library中的时序信息。需要注意的是综合时单元依旧是被映射到max_library即target_library及link_library中设置的库文件只是在分析最小条件延迟时会考虑min_library这可以通过report_cell命令验证。与set_operating_conditions命令同时使用set_operating_conditions命令用于设置当前设计的工作环境如果单元的工作环境与其库中时序信息的特征化环境不符时会使用k系数(k-factors)进行调整这通常会造成较大的误差因此现在通常不使用这个性质每个逻辑库中只有一个工作环境也就是它的特征化环境。有关于特征化环境和工作环境及k系数的更详细解释可以参考下面的博客。静态时序分析工艺库的特征化环境和工作环境https://blog.csdn.net/weixin_45791458/article/details/136088521?ops_request_misc%257B%2522request%255Fid%2522%253A%252296dfdacf66770ad65d2308ce53816443%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_id96dfdacf66770ad65d2308ce53816443biz_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下面展示了一个使用k系数进行调整的例子该例中会使用两个逻辑库fast.db和slow.db其中slow.db库中拥有一个k系数。// fast.lib nom_process : 1; nom_temperature : -40; nom_voltage : 1.1; operating_conditions(fast) { process : 1; temperature : -40; voltage : 1.1; tree_type : balanced_tree } // slow.lib nom_process : 1; nom_temperature : 125; nom_voltage : 0.9; operating_conditions(slow) { process : 1; temperature : 125; voltage : 0.9; tree_type : balanced_tree } k_temp_cell_fall : 0.001;下面展示了一个脚本其中将工作环境设置为fast.db库中的fast但使用slow.db库综合综合时会出现警告。// 综合脚本 set_app_var target_library slow.db set_app_var link_library * $target_library set_operating_conditions fast -library fast compile_ultra Warning: Operating condition fast set on design simple_register has different process, voltage and temperatures parameters than the parameters at which target library slow is characterized. Delays may be inaccurate as a result. (OPT-998)综合完毕后可以使用report_delay_calculation命令查看某个单元的延迟计算情况如下所示。**************************************** Report : delay_calculation Design : simple_register Version: W-2024.09-SP2 Date : Tue Jul 22 22:30:53 2025 **************************************** From pin: out1_reg/CK To pin: out1_reg/Q Main Library Units: 1ns 1pF 1kOhm Operating Conditions: fast Library: fast Wire Load Model Mode: top Library: slow Library Units: 1ns 1pF 1kOhm Library Cell: DFFRQX2 arc sense: rising_edge arc type: cell Rise Delay cell delay 0.2056 Table is indexed by (X) input_pin_transition 0.0000 (Y) output_net_total_cap 0.0010 Relevant portion of lookup table: (X) 0.0320 (X) 0.0480 (Y) 0.0012 (Z) 0.2154 (Z) 0.2196 (Y) 0.0028 (Z) 0.2251 (Z) 0.2293 Z A B*X C*Y D*X*Y A 0.1999 B 0.2665 C 5.9589 D -0.0377 Z 0.2056 scaling result for operating conditions multiplying by 1 gives 0.2056 Fall Delay cell delay 0.2492 Table is indexed by (X) input_pin_transition 0.0000 (Y) output_net_total_cap 0.0010 Relevant portion of lookup table: (X) 0.0320 (X) 0.0480 (Y) 0.0012 (Z) 0.2589 (Z) 0.2632 (Y) 0.0028 (Z) 0.2680 (Z) 0.2723 Z A B*X C*Y D*X*Y A 0.2439 B 0.2663 C 5.5518 D 0.2284 Z 0.2492 scaling result for operating conditions multiplying by 0.835 gives 0.2081 Cell Delay rise: 0.2056 fall: 0.2081可以看出单元的下降延迟在最后乘以0.835进行调整而上升延迟则没有因为逻辑库内的k_temp_cell_fall为0。如果使用了set_min_library命令则需要使用相应的set_operating_conditions命令这也是为了防止出现k系数调整下面展示了一个例子。// 综合脚本 set_app_var target_library slow.db set_app_var link_library * $target_library set_min_library slow.db -min_version fast.db set_operating_conditions -max slow -max_library slow -min fast -min_library fast compile_ultra写在最后该命令现在已经较少使用了转而使用拓扑模式的Design Compiler Graphical提供的Multicorner-Multimode(MCMM)Flow进行综合能够创建不同的场景(Scenario)并在综合时同时考虑。

相关新闻

2026/8/13 17:59:19

家庭关系处理个人总结

首先要说到前面的是,每个家庭的成员背景环境经济状况不同,原生家庭差异,导致面临具体问题是不同的。就类似软件“没有银弹”的概念,没有一种方法可以解决每个人问题。 举个例子,面对婆媳矛盾 网上父辈的人 会说 百行孝…

2026/8/13 17:59:19

嵌入式裸机模块——软定时器

仓库地址:Gitee - TimTask 模块概述 在嵌入式领域中,比如单片机,尤其STM32这种32位ARM架构的MCU(当然这个模块也可以用在51单片机上,不过51的资源太少了,建议用精简版的)上裸机运行业务代码的…

2026/8/13 18:59:25

Route性能优化:缓存路由器实现与自动失效策略

Route性能优化:缓存路由器实现与自动失效策略 【免费下载链接】route Fast PSR-7 based routing and dispatch component including PSR-15 middleware, built on top of FastRoute. 项目地址: https://gitcode.com/gh_mirrors/route1/route GitHub 加速计划…

2026/8/13 18:59:25

如何快速掌握Fusion框架:面向开发者的完整Luau开发教程

如何快速掌握Fusion框架:面向开发者的完整Luau开发教程 【免费下载链接】Fusion Futuristic Luau for every universe. 项目地址: https://gitcode.com/gh_mirrors/fusion4/Fusion Fusion是一款面向未来的Luau框架,专为各种开发场景设计&#xff…

2026/8/13 18:59:25

斯坦福AI速查表:5分钟掌握人工智能核心概念

斯坦福AI速查表:5分钟掌握人工智能核心概念 【免费下载链接】stanford-cs-221-artificial-intelligence VIP cheatsheets for Stanfords CS 221 Artificial Intelligence 项目地址: https://gitcode.com/gh_mirrors/st/stanford-cs-221-artificial-intelligence …

2026/8/12 10:37:12

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 5:35:25

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/13 0:02:21

Prefix Cache

Prefix Cache(前缀缓存) 是大模型推理引擎(如 vLLM、SGLang、TensorRT-LLM)中用于跨请求复用已计算 KV Cache 的核心内存与计算优化技术。 它的核心目的在于:彻底消除重复 Prompt 的 Prefill 阶段计算,将首…

2026/8/13 0:02:21

VSCode插件精选:从AI补全到代码规范,打造高效开发环境

1. 项目概述:为什么说插件是VSCode的灵魂?如果你和我一样,每天有超过8小时的时间是在VSCode里度过的,那你肯定明白,一个顺手的开发环境有多重要。VSCode本身已经足够优秀了,但真正让它从“好用的编辑器”蜕…

2026/8/13 0:02:21

如何快速完成文件批量重命名:FreeReNamer终极指南

如何快速完成文件批量重命名:FreeReNamer终极指南 【免费下载链接】FreeReNamer 功能强大又易用的文件批量重命名软件 项目地址: https://gitcode.com/gh_mirrors/fr/FreeReNamer 你是否曾经面对成百上千个杂乱无章的文件感到头疼?传统的手动重命…

2026/8/10 11:20:30

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/11 17:06:59

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/11 3:05:11

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…