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

相关阅读

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


        all_outputs命令用于创建一个输出/双向端口对象集合,包含当前设计中的所有输出/双向端口,关于设计对象和集合的更详细介绍,可以参考下面的博客。

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


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

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

指定时钟

        -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_output_delay 0.1 [get_ports out1] -clock clk1
1
dc_shell> set_output_delay 0.2 [get_ports out2] -clock clk2
1
dc_shell> all_outputs
{out1 out2 out3}
dc_shell> all_outputs -clock [get_clocks clk1]
{out1}
dc_shell> all_outputs -clock [get_clocks clk2]
{out2}

指定边沿/电平触发

        -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_output_delay 0.1 [get_ports out1] -clock clk1 -level_sensitive
1
dc_shell> set_output_delay 0.2 [get_ports out2] -clock clk2 
1
dc_shell> all_outputs
{out1 out2 out3}
dc_shell> all_outputs -level_sensitive
{out1}
dc_shell> all_outputs -edge_triggered
{out2}

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

写在最后

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日晨难再

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值