SDC命令详解:使用all_registers命令进行查询

发布时间:2026/7/9 16:37:11

SDC命令详解:使用all_registers命令进行查询
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html目录指定不跨层次指定时钟指定上升/下降沿时钟指定包含时序单元指定包含时序单元数据引脚指定包含时序单元时钟引脚指定包含主从锁存器中从锁存器时钟引脚指定包含时序单元输出引脚指定包含锁存器电平触发指定包含触发器边沿触发指定包含主从锁存器主从电平触发指定包含集成时钟门控单元Multicorner-Multimode支持写在最后all_registers命令用于创建一个时序单元及其引脚对象集合包含当前实例注意该命令与其他all_*命令的区别中的所有时序单元及其引脚关于设计对象和集合的更详细介绍可以参考下面的博客。Synopsys设计对象https://chenzhang.blog.csdn.net/article/details/147015140?spm1001.2014.3001.5502本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。all_registers命令的BNF范式有关BNF范式可以参考以往文章为all_registers [-no_hierarchy] [-clock clock_name | -rise_clock rise_clock_name | -fall_clock fall_clock_name] [-cells] [-data_pins] [-clock_pins] [-slave_clock_pins] [-output_pins] [-level_sensitive] [-edge_triggered] [-master_slave] [-include_icg] //注该命令的选项和参数顺序任意指定不跨层次-no_hierarchy选项指定只在当前实例中搜索而不进入层次单元内默认情况下会搜索当前实例下的整个层次结构如例1所示。// 例1 dcnxt_shell all_registers {u_middle/z_reg u_middle/u_leaf/y_reg} dcnxt_shell all_registers -no_hierarchy dcnxt_shell current_instance u_middle Current instance is /top_module/u_middle. /top_module/u_middle dcnxt_shell all_registers {u_middle/z_reg u_middle/u_leaf/y_reg} dcnxt_shell all_registers -no_hierarchy {u_middle/z_reg}指定时钟-clock选项指定了一个时钟对象列表只有被这些时钟驱动的时序单元会被包含在集合中如例2所示。// 例2 dcnxt_shell create_clock -period 10 -name clk1 Warning: Creating virtual clock named clk1 with no sources. (UID-348) 1 dcnxt_shell create_clock [get_ports clk] -period 10 1 dcnxt_shell all_registers {u_middle/z_reg u_middle/u_leaf/y_reg} dcnxt_shell all_registers -clock [get_clocks clk1] dcnxt_shell all_registers -clock [get_clocks clk] {u_middle/z_reg u_middle/u_leaf/y_reg}-clock选项、-rise_clock选项和-fall_clock选项是互斥的只能使用其中一个。指定上升/下降沿时钟-rise_clock选项指定了一个时钟对象列表只有被这些时钟上升沿驱动的时序单元会被包含在集合中-fall_clock选项指定了一个时钟对象列表只有被这些时钟下降沿驱动的时序单元会被包含在集合中如例3所示。// 例3 dcnxt_shell create_clock [get_ports clk] -period 10 1 dcnxt_shell all_registers -clock [get_clocks clk] {u_middle/z_reg u_middle/u_leaf/y_reg} dcnxt_shell all_registers -rise_clock [get_clocks clk] {u_middle/z_reg} dcnxt_shell all_registers -fall_clock [get_clocks clk] {u_middle/u_leaf/y_reg}指定包含时序单元-cells选项是一个对象类型选项指定了集合中包含满足条件的时序单元本身当不指定任何对象类型选项时默认指定该选项如例4所示。// 例4 dcnxt_shell all_registers {u_middle/z_reg u_middle/u_leaf/y_reg} dcnxt_shell all_registers -cells {u_middle/z_reg u_middle/u_leaf/y_reg}指定包含时序单元数据引脚-data_pins选项是一个对象类型选项指定了集合中包含满足条件的时序单元的数据引脚通过引脚对象的is_data_pin属性识别如例5所示。// 例5 dcnxt_shell all_registers -data_pins {u_middle/z_reg/D u_middle/u_leaf/y_reg/D} dcnxt_shell get_attribute [get_pin u_middle/z_reg/D] is_data_pin true dcnxt_shell get_attribute [get_pin u_middle/z_reg/CK] is_data_pin false指定包含时序单元时钟引脚-clock_pins选项是一个对象类型选项指定了集合中包含满足条件的时序单元的时钟引脚通过引脚对象的is_clock_pin属性识别如例6所示。// 例6 dcnxt_shell all_registers -clock_pins {u_middle/z_reg/CK u_middle/u_leaf/y_reg/CK} dcnxt_shell get_attribute [get_pin u_middle/z_reg/CK] is_clock_pin true dcnxt_shell get_attribute [get_pin u_middle/z_reg/D] is_clock_pin false指定包含主从锁存器中从锁存器时钟引脚-slave_clock_pins选项是一个对象类型选项指定了集合中包含满足条件的时序单元的从锁存器时钟引脚通过引脚对象的is_clock_pin属性以及signal_type属性为clocked_on_also识别。指定包含时序单元输出引脚-output_pins选项是一个对象类型选项指定了集合中包含满足条件的时序单元的输出引脚通过引脚对象的direction属性识别如例7所示。// 例7 dcnxt_shell all_registers -output_pins {u_middle/z_reg/Q u_middle/u_leaf/y_reg/Q} dcnxt_shell get_attribute [get_pin u_middle/z_reg/Q] direction out dcnxt_shell get_attribute [get_pin u_middle/z_reg/D] direction in指定包含锁存器电平触发-level_sensitive选项指定集合中包含电平触发的锁存器。指定包含触发器边沿触发-edge_triggered选项指定集合中包含边沿触发的触发器。指定包含主从锁存器主从电平触发-master_slave选项指定集合中包含双电平触发的主从锁存器。指定包含集成时钟门控单元-include_icg选项指定集合中包含集成门控时钟(ICG)单元。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写在最后all_registers命令返回的是时序单元及其引脚对象集合但该命令会自动调用query_objects命令显示对象名列表执行该命令后可看到对应列表列表中的对象名数量最多由collection_result_display_limit变量控制默认为100。

相关新闻

linux CUDA与CUDNN安装教程

linux CUDA与CUDNN安装教程

2026/7/9 0:21:40

目录 1.CUDA安装 1.1.CUDA作用 1.2.CUDA下载 1.3.CUDA安装 1.4.验证 2.CUDNN安装 2.1.CUDNN作用 2.2.下载 2.3.安装 2.4.验证 1.CUDA安装 1.1.CUDA作用 CUDA 是 NVIDIA 提供的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力&#xff…

windows CUDA与CUDNN安装教程

windows CUDA与CUDNN安装教程

2026/7/8 15:12:05

目录 1.CUDA安装 1.1.CUDA作用 1.2.CUDA下载 1.3.CUDA安装 1.4.验证 2.CUDNN安装 2.1.CUDNN作用 2.2.下载 2.3.安装 2.4.验证 1.CUDA安装 1.1.CUDA作用 CUDA 是 NVIDIA 提供的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,而无…

5个提升英雄联盟游戏体验的智能功能:League Akari实战指南

5个提升英雄联盟游戏体验的智能功能:League Akari实战指南

2026/7/6 20:25:39

5个提升英雄联盟游戏体验的智能功能:League Akari实战指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为繁琐的游戏操作浪…

2026年论文降重技巧终极指南:10个方法让你的重复率从60%降到5%!

2026年论文降重技巧终极指南:10个方法让你的重复率从60%降到5%!

2026/7/10 2:40:50

【一句话答案】2026年论文降重最有效的方法是:先用毕业之家ai(www.biye.com)的ai降重工具一键处理,再配合人工深度改写、数据替换和结构调整,可将重复率从60%降至5%以下,同时通过AIGC检测。 一、为什么你的…

Jetson AGX Xavier CAN 总线配置:从寄存器配置到 Python 脚本 5 步完整指南

Jetson AGX Xavier CAN 总线配置:从寄存器配置到 Python 脚本 5 步完整指南

2026/7/10 2:40:50

Jetson AGX Xavier CAN 总线配置:从寄存器配置到 Python 脚本 5 步完整指南 在机器人开发和嵌入式系统中,CAN总线因其高可靠性和实时性成为关键通信协议。NVIDIA Jetson AGX Xavier作为边缘计算平台,其内置的MTTCAN控制器为开发者提供了强大的…

石家庄哪家仿石透水砖厂家靠谱?

石家庄哪家仿石透水砖厂家靠谱?

2026/7/10 2:40:50

石家庄哪家仿石透水砖厂家靠谱? 在石家庄,城市建设对于高品质仿石透水砖的需求日益增长。选择一家靠谱的仿石透水砖厂家,对于建筑工程的质量和效果起着至关重要的作用。那么,石家庄众多厂家中,哪家更为靠谱呢&#xff…

编写自动化脚本,在自己后端服务中使用云原生Baas服务进行设备相关操作

编写自动化脚本,在自己后端服务中使用云原生Baas服务进行设备相关操作

2026/7/10 2:40:50

一、云原生 BaaS 与移动端自动化的融合在移动端自动化测试与脚本执行领域,设备管理始终是核心痛点。传统的设备管理方案往往需要开发者自行搭建服务器、维护数据库、处理设备通信协议,不仅开发成本高昂,而且在扩展性和稳定性上难以保证。云原…

DeepSeek V4:面向IDE本地化推理的MoE+昇腾协同架构解析

DeepSeek V4:面向IDE本地化推理的MoE+昇腾协同架构解析

2026/7/10 2:40:50

1. 这次真不一样:从技术细节反推DeepSeek V4的底层重构逻辑 “DeepSeek V4快来了,我看完技术细节后只想说一句:这次不一样”——这不是营销话术,而是我在连续三天啃完内部流出的架构白皮书、昇腾950适配日志、vLLM-Ascend推理链路…

白盒测试实战:3个经典C程序(闰年/三角形/中间值)的4种覆盖方法对比

白盒测试实战:3个经典C程序(闰年/三角形/中间值)的4种覆盖方法对比

2026/7/10 2:30:50

白盒测试实战:3个经典C程序的4种覆盖方法深度对比1. 白盒测试核心方法论解析白盒测试作为代码级测试的核心手段,其价值在于通过可视化的代码逻辑分析,系统性地验证程序内部结构的正确性。与黑盒测试不同,白盒测试要求测试者像X光透…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/9 19:40:56

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/9 18:28:30

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

终极原神FPS解锁器完整指南:轻松突破60帧限制

终极原神FPS解锁器完整指南:轻松突破60帧限制

2026/7/10 0:00:42

终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

2026/7/10 0:00:42

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…

从零实现红黑树:手写C++的set与map容器

从零实现红黑树:手写C++的set与map容器

2026/7/10 0:00:42

1. 项目概述:从STL容器到自研轮子在C的日常开发中,std::set和std::map是我们再熟悉不过的伙伴了。它们一个负责管理不重复的集合,一个负责维护键值对映射,底层都依赖一颗高效的红黑树来保证数据的有序性和操作的性能。但你是否曾想…