当前位置: 首页 > news >正文

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命令也可以完成上述一系列命令的效果,更加简便。

http://www.cnnetsun.cn/news/3889095.html

相关文章:

  • Pygame-CE入门:从Surface、Rect到游戏循环的Python游戏开发实践
  • 3dsconv终极指南:轻松将3DS游戏文件转换为CIA格式
  • 跨境o2o网站建设方案:打破虚实界限的实战指南与深度思考
  • 基于LimeSDR与开源软件的低成本北斗三代B1C信号模拟源实现
  • 抖音无水印批量下载工具终极指南:一键获取高清视频资源
  • Leveraging Large Language Models for Identifying Knowledge Components
  • AI驱动的网络攻击:生成式大模型如何成为“钓鱼邮件工厂”?
  • PL2303驱动终极修复指南:如何在Windows 10上拯救你的老设备
  • Bridging Human and Model Perspectives: A Comparative Analysis of Political Bias Detection in News...
  • 福州建设部官方网站深度解析与城市未来发展展望
  • Ohook终极指南:3步免费激活Microsoft 365完整功能
  • 浏览器视频下载全攻略:从原理到实战的完整解决方案
  • 终极Palworld存档迁移指南:三步解决角色丢失问题
  • RT-Thread:从实时内核到物联网开发平台的演进与实践
  • Godot按钮控件深度解析:从BaseButton到高级交互与性能优化
  • STM32毕业设计选题指南:从物联网到AI,四大法则与五大热门方向解析
  • 上市公司财报怎么研究:资料整理与指标分析
  • 宁波建设工程报名网站全攻略:新手如何避坑指南与政策解读
  • STM32H7嵌入式DDS信号发生器:SRAM+DMA双缓冲实现极低抖动与相位连续
  • Douyin Downloader:基于策略模式的抖音内容自动化采集框架
  • HarmonyOS7 表格在手机上要换思路:ArkUI/ArkTS 实战拆解
  • 内存管理深度解析:从原理到实战,优化性能与避免泄漏
  • AI幻觉引发供应链安全新威胁:如何防范虚构npm包推荐
  • 终极指南:如何高效使用电子课本下载工具获取智慧教育平台资源
  • HarmonyOS7 原生和网页怎么互调:WebJavaScriptBridge 双向通信入门
  • 揭秘外贸主动营销网站建设:从被动等待到主动出击的全链路转化指南
  • 【关注可白嫖源码】--课程设计--毕业设计--springboot校园新闻发布系统[编号:project81008](案件分析)
  • Allegro PCB Contour模式:高效实现板边等距走线
  • 从PC到Mac:OpenCore黑苹果实战指南
  • 5大核心功能:跨平台GUI智能代理Mobile-Agent完全指南