尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

SDC命令详解:使用create_cell和remove_cell命令进行编辑 相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.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 | -allcreate_cell指定单元实例名列表指定要在当前实例创建的实例单元名。可以使用current_instance命令设置当前实例更多信息可以参考下面的博客。SDC命令详解使用相对路径访问设计对象current_instance命令https://blog.csdn.net/weixin_45791458/article/details/147156354?ops_request_miscelastic_search_miscrequest_idbcb4c04e1331fd4021643db894ea2708biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-6-147156354-null-null.nonecaseutm_term%E5%AE%9E%E4%BE%8Bspm1018.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命令也可以完成上述一系列命令的效果更加简便。
返回列表