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

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

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html


        all_clocks命令用于创建一个输入端口对象集合,关于设计对象和集合的更详细介绍,可以参考下面的博客。 

Synopsys:设计对象https://chenzhang.blog.csdn.net/article/details/147015140?spm=1001.2014.3001.5502


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

all_inputs[-clock clock_name][-edge_triggered | -level_sensitive][-exclude_clock_ports]//注:该命令的选项和参数顺序任意

指定时钟

        -clock选项指定了一个时钟对象列表,只有相对这些时钟设置了输入延迟的端口会被包含在集合中,如例1所示。

// 例1
dc_shell> create_clock -period 10 -name clk1
Warning: Creating virtual clock named 'clk1' with no sources. (UID-348)
1
dc_shell> create_clock -period 10 -name clk2
Warning: Creating virtual clock named 'clk2' with no sources. (UID-348)
dc_shell> set_input_delay 0.1 [get_ports in1] -clock clk1
1
dc_shell> set_input_delay 0.2 [get_ports in2] -clock clk2
1
dc_shell> all_inputs 
{in1 in2 in3}
dc_shell> all_inputs -clock [get_clocks clk1]
{in1}
dc_shell> all_inputs -clock [get_clocks clk2]
{in2}

指定边沿/电平触发

        -edge_triggered选项指定输入延迟是相对外部发射触发器而言的(不使用-level_sensitive选项);-level_sensitive选项指定输入延迟是相对外部发射锁存器而言的(使用-level_sensitive选项),如例2所示。

// 例2
dc_shell> create_clock -period 10 -name clk1
Warning: Creating virtual clock named 'clk1' with no sources. (UID-348)
1
dc_shell> create_clock -period 10 -name clk2
Warning: Creating virtual clock named 'clk2' with no sources. (UID-348)
dc_shell> set_input_delay 0.1 [get_ports in1] -clock clk1 -level_sensitive
1
dc_shell> set_input_delay 0.2 [get_ports in2] -clock clk2 
1
dc_shell> all_inputs
{in1 in2 in3}
dc_shell> all_inputs -level_sensitive
{in1}
dc_shell> all_inputs -edge_triggered
{in2}

        -edge_triggered选项和-level_sensitive选项是互斥的,只能使用其中一个。

指定排除时钟源

        -exclude_clock_ports选项指定将那些作为时钟源对象的端口排除在集合外,如例3所示。

// 例3
dc_shell> create_clock -period 10 -name clk1 [get_ports in1]
1
dc_shell> all_inputs -exclude_clock_ports
{in2 in3}

写在最后

        all_ports命令在功能上等价于下面这两种get_ports命令。

dc_shell> get_ports -filter "direction==inout or direction==in"
dc_shell> get_ports * -filter "direction==inout or direction==in"

        如果想创建端口,使用create_port命令;如果想移除端口,使用remove_port命令;如果想报告端口的详细信息,使用report_port命令。 

相关文章:

  • 每天批次导入 100 万对账数据到 MySQL 时出现死锁
  • 一、对linux驱动文件编写时结构认识与记录
  • gpu硬件,gpu驱动,cuda,CUDA Toolkit,cudatoolkit,cudnn,nvcc概念解析
  • 操作系统 第2章节 进程,线程和作业
  • 【PhysUnits】3.3 SI 基础量纲单位(units/base.rs)
  • Leetcode刷题 由浅入深之字符串——541. 反转字符串Ⅱ
  • 振动临近失效状态,怎么频谱会是梳子?
  • API请求参数有哪些?
  • Modbus RTU 详解 + FreeMODBUS移植(附项目源码)
  • 【算法】:滑动窗口
  • 常见图像融合算法(alpha和金字塔融合)
  • 使用智能表格做FMEDA
  • Mysql--基础知识点--91.1--慢查询日志
  • 日常知识点之随手问题整理(思考单播,组播,广播哪个更省带宽)
  • RocketMQ 深度解析:架构设计与最佳实践
  • 学习黑客认识数字取证与事件响应(DFIR)
  • 修改docker为国内源
  • 【笔记】BCEWithLogitsLoss
  • NVME / DoCA 是什么?
  • 2025年 全新 AI 编程工具 Cursor 安装使用教程
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 巴基斯坦关闭全部领空
  • 胳膊一抬就疼,炒菜都成问题?警惕这种“炎症”找上门
  • 印巴冲突升级,巴基斯坦股市重挫7.29%,创5年来最大单日跌幅
  • 联想发布超级智能体矩阵,杨元庆:美国关税影响反映在产品定价上,未来不确定性很大
  • 央行行长:未来还可以扩大结构性货币政策工具规模或创设新的政策工具