SDC命令详解:使用uniquify命令进行唯一化
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482唯一化简介在了解uniquify命令前首先需要知道唯一化的定义唯一化指的是在综合过程中Design Compiler会自动检测当前设计层次结构中对同一设计或者说模块的多次引用例化并为每个实例生成一个独立的设计副本该功能由2004版本引入且无法关闭。该过程首先复制已设置的约束也会进行复制和调整并重命名被多次引用的设计不包括设置了dont_touch属性的实例和设计命名规则由uniquify_naming_style变量默认为%s_%d其中%s指的是原设计名%d是一个确保名称唯一所需的最小整数控制。原始设计将不再可访问原始设计或其中对象的将从包含它们的集合中删除该行为可通过uniquify_keep_original_design变量控制默认值为false。复制后Design Compiler可以针对每个唯一副本基于其所在环境进行单独优化如图1所示。图1 唯一化的结果uniquify命令除了使用综合类命令如compile和compile_ultra命令会执行隐式的唯一化外用户还可以使用uniquify命令显式进行唯一化其实它并不是一个SDC命令归为此类只是为了方便管理。本文针对Design Compiler但该命令同样存在于IC Compiler等工具中它们大致相同略有差别。uniquify命令的BNF范式有关BNF范式可以参考以往文章为uniquify [-base_name base_name] [-force | -cell cell_list [-new_name new_design_name]| -reference design_name] [-dont_skip_empty_designs] //注该命令的选项和参数顺序任意指定基名字-base_name选项用于指定一个基名字以取代uniquify_naming_style变量中%s代表的原设计名。强制唯一化-force选项用于指定即使实例已唯一或设置了dont_touch属性也强制重命名顶层设计不受影响。-force选项、-cell选项和-reference选项是互斥的只能使用其中一个。指定单元列表-cell选项指定一个列表/集合包含层次单元对象为其中每个层次单元进行唯一化即使实例已唯一或设置了dont_touch属性。对于列表而言如果有多于一个对象需要使用引号或大括号包围对使用集合无效关于列表和集合的区别可以参考下面的博客。SDC命令详解使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571需要注意的是如果层次单元对象的父实例尚未唯一化则也会进行唯一化。如果使用了-cell选项则原始设计在复制后不会删除。-force选项、-cell选项和-reference选项是互斥的只能使用其中一个。指定单元名字只有当使用了-cell选项且只指定了一个层次单元才能使用该选项指定一个设计名作为该单元唯一化后的名字若该设计名已被使用则该选项失效。指定设计名-reference选项用于指定一个设计名为当前设计中引用此设计的实例进行唯一化即使设计已唯一或设置了dont_touch属性。如果使用了-reference选项则原始设计在复制后不会删除。-force选项、-cell选项和-reference选项是互斥的只能使用其中一个。指定不跳过空设计-dont_skip_empty_designs选项指定即使是黑盒设计也会进行唯一化默认情况下黑盒设计保持不变。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简单使用以图2所示的层次结构为例。图2 层次结构综合时的唯一化首先使用list_designs命令查看内存中的所有设计。dc_shell list_designs leaf_module middle_module top_module (*)随后使用compile命令如果使用compile_ultra命令需要添加-no_autoungroup选项防止自动解组进行综合并再次使用list_designs命令查看内存中的所有设计可以发现此时进行了唯一化。dc_shell compile dc_shell list_designs leaf_module_0 leaf_module_1 middle_module_0 middle_module_1 top_module (*)用户显式进行唯一化首先使用list_designs命令查看内存中的所有设计。dc_shell list_designs leaf_module middle_module top_module (*)随后使用uniquify命令进行唯一化并再次使用list_designs命令查看内存中的所有设计可以发现此时进行了唯一化。dc_shell uniquify dc_shell list_designs leaf_module_0 leaf_module_1 middle_module_0 middle_module_1 top_module (*)写在最后设计的唯一化会对形式验证产生影响Design Compiler在唯一化时会在SVF文件中添加guide_uniquify命令用于指导Formality进行验证。

相关新闻

告别繁琐转录:用Buzz实现离线音频智能处理新体验

告别繁琐转录:用Buzz实现离线音频智能处理新体验

告别繁琐转录:用Buzz实现离线音频智能处理新体验 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 在当今数字内容爆…

2026/11/1 18:19:12 阅读更多 →
Laptop-DSDT-Patch核心功能解析:从电池管理到显卡驱动的全方位优化

Laptop-DSDT-Patch核心功能解析:从电池管理到显卡驱动的全方位优化

Laptop-DSDT-Patch核心功能解析:从电池管理到显卡驱动的全方位优化 【免费下载链接】Laptop-DSDT-Patch Common DSDT patches for Ivy/Sandy/Haswell laptops for running OS X 项目地址: https://gitcode.com/gh_mirrors/la/Laptop-DSDT-Patch Laptop-DSDT-…

2026/11/1 21:08:07 阅读更多 →
调用限制与用量边界:文本翻译接口的QPS 5/s与5000字上限实践

调用限制与用量边界:文本翻译接口的QPS 5/s与5000字上限实践

适用场景:什么时候需要关心接口的调用边界 在接入一个翻译类 API 时,"能不能调通"只是第一步,更重要的问题是:在连续调用、批量调用、多用户并发的真实负载下,接口能承受多少压力。文本翻译接口通常用于以下…

2026/11/3 6:57:20 阅读更多 →

最新新闻

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

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

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

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

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

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

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

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

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

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

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

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

2026/11/5 12:28:02 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

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

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

2026/11/5 0:54:28 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

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

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

2026/11/4 19:19:54 阅读更多 →

日新闻

周新闻

月新闻