news 2026/8/10 11:58:39

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SDC命令详解:使用set_size_only命令进行约束

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目录

对象列表/集合

指定所有实例

size_only设置的影响

Multicorner-Multimode支持


set_size_only命令用于在叶单元上显式设置一些属性(包括local_optz_off、const_prop_off、del_unloaded_gate_off、resyn_off和structure_off),以限制它们在优化过程中只能进行尺寸调整(其实它并不是一个SDC命令,归为此类只是为了方便管理)。如果想要移除这些属性,使用remove_attribute命令。

本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。set_size_only命令的BNF范式(有关BNF范式,可以参考以往文章)为:

set_size_only object_list [-all_instances] [true | false] //注:该命令的true或false参数一定要放在object_list参数后

对象列表/集合

指定一个对象列表/集合,包含叶单元对象。对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。

SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571

指定所有实例

-all_instances选项指定该命令应用于多实例化设计(MIM)中的叶单元(即设计没有唯一化)。 如果指定的叶单元(直接或间接)位于某个未唯一化的子设计中,必须使用该选项,工具会将size_only设置应用到该子设计所有实例中的相同叶单元,否则会出现下面的错误。

Error: -all_instances option must be used with instance cells when the parent instance is not unique. (UID-192)

在这种情况下,用户还可以使用uniquify命令进行唯一化,更多信息可以参考下面的博客。

SDC命令详解:使用uniquify命令进行唯一化https://blog.csdn.net/weixin_45791458/article/details/148564739?ops_request_misc=elastic_search_misc&request_id=344c5efd60abf614748fa993d47dd1c6&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-1-148564739-null-null.541^v3^control&utm_term=%E5%94%AF%E4%B8%80%E5%8C%96&spm=1018.2226.3001.4450除了使用-all_instances选项和uniquify命令,使用current_design命令切换当前设计到多实例化设计,设置size_only属性后再切换回原当前设计也是一种方法,但不推荐。

size_only设置的影响

当设置叶单元的size_only属性时(为了简便,这里不严谨地把size_only称为属性),Design Compiler会尝试通过使用具有相同功能的单元替换以进行优化(需要注意的是,此时的size_only属性是显式设置的,这与因为时序约束等原因的隐式设置不同,可以使用report_attribute命令或get_attribute命令直接查看,而隐式设置的size_only属性只能使用report_cell命令、report_net命令或report_size_only命令间接查看,remove_attribute命令只能移除显式设置的size_only属性,隐式size_only属性的优先级高于显式size_only属性),使用list_size_only_types命令可以列出叶单元被设置size_only属性的原因(显式或隐式)。

下面展示了在GTECH格式(或者说Generic Technology格式)的叶单元上设置size_only属性后,造成了其优化受限。

图1 GTECH格式网表

dcnxt_shell> set_size_only [get_cells C8] dcnxt_shell> set_size_only [get_cells C7] dcnxt_shell> compile_ultra dcnxt_shell> report_cell **************************************** Report : cell Design : top Version: W-2024.09-SP2 Date : Tue Aug 4 00:51:48 2026 **************************************** Attributes: b - black box (unknown) h - hierarchical n - noncombinational r - removable so - sizing only u - contains unmapped logic Cell Reference Library Area Attributes -------------------------------------------------------------------------------- C7 AND2XL typical 3.528000 so C8 AND2XL typical 3.528000 so -------------------------------------------------------------------------------- Total 2 cells 7.056000

图1是综合前GTECH格式网表,而图2展示了此时的综合结果。

图2 设置size_only属性为true的综合后网表

接着将size_only属性设置为false后重新综合,综合结果如图3所示。

dcnxt_shell> set_size_only [get_cells C8] false dcnxt_shell> set_size_only [get_cells C7] false dcnxt_shell> compile_ultra dcnxt_shell> report_cell **************************************** Report : cell Design : top Version: W-2024.09-SP2 Date : Tue Aug 4 00:59:07 2026 **************************************** Attributes: b - black box (unknown) h - hierarchical n - noncombinational r - removable u - contains unmapped logic Cell Reference Library Area Attributes -------------------------------------------------------------------------------- U1 AND3XL typical 4.233600 -------------------------------------------------------------------------------- Total 1 cells 4.233600

图3 设置size_only属性为false的综合后网表

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%257D&request_id=e3267dcc7cc26380435f53994dc8b9b8&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149578771-null-null.nonecase&utm_term=MCMM&spm=1018.2226.3001.4450

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/10 11:56:00

Visual C++ Redistributable AIO:终极Windows运行库完整解决方案

Visual C Redistributable AIO:终极Windows运行库完整解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾遇到过"msvcp140.dll缺失…

作者头像 李华
网站建设 2026/8/10 11:54:08

Python+OpenCV保姆级实战教程:从环境搭建到图像处理核心操作

大家好,我是专注于分享Python与计算机视觉实战经验的博主。在入门OpenCV时,你是否也曾被各种环境配置问题、版本冲突和晦涩的API搞得焦头烂额?网上的资料要么过于零散,要么版本老旧,照着做总是报错。本文旨在为你提供一…

作者头像 李华
网站建设 2026/8/10 11:53:43

Day 28 项目调试与优化 —— 给聊天室做一次“全面体检“

你的聊天室就像一个刚建好的房子——能住人(代码能跑),但有没有漏水(内存泄漏)?电线有没有接错(死锁)?今天就请两位"质检员"——Valgrind 和 GDB,来…

作者头像 李华
网站建设 2026/8/10 11:53:33

Claude导出word手机 ,我只认“AI 导出鸭”

Claude导出word手机 ,我只认“AI 导出鸭” Claude 在手机网页版生成的内容堪称艺术品——逻辑缜密的分析框架、排版考究的数据表格、甚至包含 Mermaid 时序图的系统设计说明。但当你想把这些内容导出为 Word 文档发给客户时,艺术品就变成了“碎纸机里的拼…

作者头像 李华
网站建设 2026/8/10 11:53:27

拒绝情绪化交易:踏空焦虑与持仓恐慌全景深度分析

引言A股绝大多数散户的亏损,从来不是看不懂行情、不会分析标的,而是败给了自身的情绪化交易。核心通病高度统一:上涨一点就焦虑踏空,下跌一点就恐慌套牢。市场小幅拉升,就忍不住追高进场,生怕错过行情&…

作者头像 李华