SDC命令详解:使用set_ideal_network命令进行约束
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定理想网络源指定不考虑布局指定不传播Multicorner-Multimode支持理想属性传播规则理想网络的影响简单使用set_ideal_network命令可以将当前设计中的一组端口或引脚标记为理想网络源设置端口或引脚对象的ideal_network_source属性为true且在一定情况下理想属性会沿着组合逻辑进行传播。不要使用set_ideal_net设置理想线网它已经被set_ideal_network命令替代。如果想要移除理想网络使用remove_ideal_network命令。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。set_ideal_network命令的BNF范式有关BNF范式可以参考以往文章为set_ideal_network object_list [-dont_care_placement] [-no_propagate] //注该命令的选项和参数顺序任意指定理想网络源指定一个对象列表/集合包含端口对象、线网对象或叶单元的引脚对象不可以是层次单元的引脚。对于列表而言如果有多于一个对象需要使用引号或大括号包围对使用集合无效关于列表和集合的区别可以参考下面的博客。SDC命令详解使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571如果列表/集合中包含线网对象则驱动该线网的端口/引脚将被标记为理想网络源这可以理解为某种形式上的反向传播这也是该命令与set_dont_touch_network命令的不同之一且必须同时使用-no_propagate选项。指定不考虑布局-dont_care_placement选项指定理想网络中的单元在布局过程中不会被考虑而随机分配位置理想网络中的线网视为未连接。默认情况下理想网络在布局时优先级最低。指定不传播-no_propagate选项指定理想属性不会跨组合逻辑传播但仍然可以跨层次结构传播。默认情况下理想属性会跨组合逻辑传播直到时序逻辑为止不会将时序逻辑标记为理想。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理想属性传播规则从理想网络源开始理想属性的传播规则如下组合逻辑单元被标记为理想前提是没有指定-no_propagate选项1、当它的所有输入引脚要么是理想的要么连接到常量线网注意case analysis属性不会被视为常量而set_logic_one等命令则会。引脚被标记为理想1、如果它是set_ideal_network命令指定的引脚。2、如果它是驱动引脚且它所属的单元是理想的。3、如果它是负载引脚且驱动它的线网是理想的。线网被标记为理想1、所有驱动它的引脚都是理想的。理想网络的影响1、所有理想网络中的单元和线网都会被设置dont_touch属性防止它们在优化过程中被修改需要注意的是此时的dont_touch属性是隐式设置的这与使用set_dont_touch命令显式设置不同无法使用report_attribute命令或get_attribute命令直接查看也无法使用查询命令的-filter选项过滤而只能使用report_cell命令、report_net命令或report_dont_touch命令间接查看remove_attribute命令只能移除显式设置的dont_touch属性隐式dont_touch属性的优先级高于显式dont_touch属性使用list_dont_touch_types命令可以列出单元和线网被设置dont_touch属性的原因显式或隐式。2、理想网络源除端口外所属的叶单元会被设置size_only属性这样可以确保理想网络源不会在综合过程中被优化掉需要注意的是此时的size_only属性是隐式设置的这与使用set_size_only命令显式设置不同无法使用report_attribute命令或get_attribute命令直接查看也无法使用查询命令的-filter选项过滤而只能使用report_cell命令或report_size_only命令间接查看隐式size_only属性的优先级高于显式size_only属性使用list_size_only_types命令可以列出叶单元被设置size_only属性的原因显式或隐式。3、理想网络中的线网不会受到DRC约束即max_capacitance、max_fanout和max_transition等约束。4、理想网络中的线网和单元的延迟和转换时间默认为0假定理想线网的电容为0可以通过set_ideal_latency命令和set_ideal_transition命令人为指定。简单使用下面以图1为例说明set_ideal_network命令的使用。图1 简单的例子首先使用create_clock命令以clk端口为源对象创建一个周期为10的时钟。dc_shell create_clock -period 10 [get_ports clk]接着使用set_input_delay命令在输入端口a、b、c上添加输入延迟参考时钟为clk此时经过端口a的时序报告如图2所示注意该时序报告使用了-input_pins选项来显示输入引脚。dc_shell set_input_delay 0.5 {a b c} -clock [get_clocks clk]图2 建立时间时序报告然后使用set_ideal_network命令设置端口a为理想网络源可以使用report_ideal_network命令报告所有的理想网络源如图3所示使用get_attribute ideal_network_source命令也可以确认一个对象是否是理想网络源。dc_shell set_ideal_network [get_ports a]图3 理想网络源报告根据理想属性的传播规则线网a变成了理想线网可以使用report_ideal_network -net命令进行确认如图4所示使用report_net命令或get_attribute ideal_net命令也可以确认一个对象是否是理想线网。图4 理想线网报告此时经过端口a的时序报告如图5所示其中唯一的不同是线网a的延迟变成了0。图5 建立时间时序报告需要注意的是此时只有端口a、线网a和引脚u1/A被标记为理想但理想属性不会穿过单元u1因为其另一个输入引脚不是理想的。下面接着使用set_ideal_network命令设置端口b为理想网络源如图6所示。dc_shell set_ideal_network [get_ports b]图6 理想网络源报告此时经过端口a的时序报告如图7所示其中两个线网和一个单元的延迟为0。图7 建立时间时序报告此时被标记为理想的有端口a、端口b、线网a、线网b、单元u1、单元u1的两个输入引脚、线网and_out、单元u2的输入引脚A为了简略这里不进行验证使用report_cell命令或report_ideal_network -cell命令可以确认一个对象是否是理想单元。最后set_ideal_network命令将单元u2的输出引脚Y设置为理想网络源如图8所示。dc_shell set_ideal_network [get_pins u2/Y]图8 理想网络源报告根据理想属性的传播规则u2此时不是理想单元所以不管是引脚A还是引脚B到引脚Y的延迟都不是0此时经过端口a的时序报告如图9所示。图9 建立时间时序报告但是由于此时单元u2的输出引脚Y传播线网or_out变成了理想线网而理想线网的电容为0这也会间接影响u2的单元延迟图10所示为report_delay_calculation命令的结果。图10 单元延迟计算

相关新闻

毕业设计工具选型全攻略:从代码到答辩的实战经验

毕业设计工具选型全攻略:从代码到答辩的实战经验

1. 引言:毕业设计中的工具困境 作为一名计算机专业的学生,我在毕业设计的过程中面临了许多选择工具的困惑。开发、作图、文档整理和论文收尾,几乎每个环节都需要用到工具。工具选得好,事半功倍;选得不好,不…

2026/11/16 5:14:49 阅读更多 →
滤波磁环、高频变压器磁芯与高频电感的选型及测试方法

滤波磁环、高频变压器磁芯与高频电感的选型及测试方法

滤波磁环、高频变压器磁芯、高频电感,这三样东西在开关电源、充电器、逆变器、储能设备里几乎天天见面,但真正愿意把规格书逐行看明白、把每批来料都实测留档的人,往往比嘴上喊“品质为王”的人少很多。这篇文章不聊宣传话术,只聊…

2026/10/24 4:09:33 阅读更多 →
多传感器数据融合的实现

多传感器数据融合的实现

多传感器数据融合的实现需要系统化的流程和多种技术策略的结合,具体步骤如下:

2026/11/6 1:17:01 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻