news 2026/8/7 12:41:37

SDC命令详解:使用create_cell和remove_cell命令进行编辑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SDC命令详解:使用create_cell和remove_cell命令进行编辑

相关阅读

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


目录

create_cell

指定单元实例名列表

指定参考单元名

指定创建层次单元

指定创建常量逻辑

指定创建物理仅有单元

remove_cell

简单使用


create_cell和remove_cell命令用于在当前实例中对实例单元进行增量式编辑操作。其中,create_cell命令用于在当前实例中创建新的实例单元(包含层次单元和叶单元);而remove_cell命令则用于从当前实例中删除指定的实例单元,并同时移除其引脚连接关系。这两个命令常用于逻辑替换、局部结构修正以及优化过程中对设计进行快速调整(其实它们并不是一个SDC命令,归为此类只是为了方便管理)。

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

create_cell cell_list [reference_name] [-hierarchical] [-logic 0 | 1] [-only_physical] //注:该命令的reference_name参数一定要放在cell_list参数后 remove_cell cell_list | -all

create_cell

指定单元实例名列表

指定要在当前实例创建的实例单元名。可以使用current_instance命令设置当前实例,更多信息可以参考下面的博客。

SDC命令详解:使用相对路径访问设计对象(current_instance命令)https://blog.csdn.net/weixin_45791458/article/details/147156354?ops_request_misc=elastic_search_misc&request_id=bcb4c04e1331fd4021643db894ea2708&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-6-147156354-null-null.nonecase&utm_term=%E5%AE%9E%E4%BE%8B&spm=1018.2226.3001.4450

指定参考单元名

除了单元实例名,还需指定参考单元名,即实例单元对应的库单元名或层次单元名(如果不使用-logic选项或-hierarchical选项,否则必须指定该项)。

指定创建层次单元

-hierarchical选项用于指定创建层次单元实例,若没指定参考单元名,则以单元实例名为设计名和实例名在当前实例创建层次单元(此时其内容为空);若同时指定参考单元名,此时单元实例名列表只能有一个名字,将以对应名字创建层次单元。

指定创建常量逻辑

-logic选项指定生成常量逻辑单元,取值可以为0或1,该单元只包含一个输出引脚。

指定创建物理仅有单元

-only_physical选项指定创建物理仅有单元,该选项会为生成的物理单元设置is_physical_only属性。

需要注意的是,如果使用拓扑模式,新创建的实例单元是没有位置的,会出现下面的警告。

Warning: The newly created cell does not have location. Timing will be inaccurate. (DCT-004)

用户可以使用set_cell_location命令设置实例单元的位置。

remove_cell

该命令用于删除特定实例单元(包含层次单元和叶单元),如果指定-all选项,则删除当前实例的全部实例单元。

简单使用

图1展示一个利用create_cell和remove_cell命令的场景,利用一系列命令将设计中的INVX1单元实例替换为驱动能力更强的INVX2单元实例。

图1 替换前的网表

dcnxt_shell> all_connected [get_pins u1/A] {in} dcnxt_shell> all_connected [get_pins u1/Y] {out} dcnxt_shell> remove_cell [get_cells u1] Removing cell 'u1' in design 'top'. 1 dcnxt_shell> create_cell u2 [get_lib_cells fast/INVX2] Creating cell 'u2' in design 'top'. 1 dcnxt_shell> connect_net in [get_pins u2/A] Connecting net 'in' to pin 'u2/A'. 1 dcnxt_shell> connect_net out [get_pins u2/Y] Connecting net 'out' to pin 'u2/Y'.

图2展示了替换后的网表,其中使用了connect_net命令连接了断开的线网。

图2 替换后的网表

顺带一提,使用change_link命令也可以完成上述一系列命令的效果,更加简便。

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

Pygame-CE入门:从Surface、Rect到游戏循环的Python游戏开发实践

1. 从零开始:为什么选择 pygame-ce 作为你的第一个 GUI 游戏框架?如果你刚接触 Python,想找一个既能快速做出可视化成果,又充满乐趣的切入点,那么基于pygame-ce的游戏开发绝对是个黄金选择。很多人一听到“游戏引擎”或…

作者头像 李华
网站建设 2026/8/7 12:38:40

3dsconv终极指南:轻松将3DS游戏文件转换为CIA格式

3dsconv终极指南:轻松将3DS游戏文件转换为CIA格式 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 还在为3DS游戏…

作者头像 李华
网站建设 2026/8/7 12:38:26

跨境o2o网站建设方案:打破虚实界限的实战指南与深度思考

说实话,提到“跨境电商”,很多老板或者操盘手的脑子里蹦出来的第一个词往往还是“跨境电商平台”或者“独立站”。大家习惯了把东西挂在亚马逊、eBay或者Shopify上,等着海外用户来搜、来买。这种模式没错,它高效、标准化,像是一条传送带,只要你的货好、流量准,就能出单。…

作者头像 李华
网站建设 2026/8/7 12:38:31

基于LimeSDR与开源软件的低成本北斗三代B1C信号模拟源实现

1. 项目概述:为什么我们需要一个北斗三代的信号模拟源? 如果你接触过卫星导航接收机的研发、测试或者教学,肯定对“信号模拟源”这个概念不陌生。简单来说,它就是一个能“凭空”产生出和真实卫星一模一样的导航信号的设备。在实验…

作者头像 李华
网站建设 2026/8/7 12:38:03

抖音无水印批量下载工具终极指南:一键获取高清视频资源

抖音无水印批量下载工具终极指南:一键获取高清视频资源 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…

作者头像 李华
网站建设 2026/8/7 12:36:23

Leveraging Large Language Models for Identifying Knowledge Components

一、文章主要内容总结 该研究聚焦于利用大型语言模型(LLMs)自动识别知识组件(KCs),以解决传统人工提取KCs耗时费力的问题。知识组件是智能教育软件中技能模型的核心,支撑自适应学习系统的运作。 研究以Moore等人提出的“模拟教科书”方法为基础,进行了两方面拓展:1)…

作者头像 李华