VIVADO时钟约束之get_clocks

在使用vivado做异步时序约束时,常常用到get_clocks命令,该命令用于获取当前工程中指定搜索模式匹配的时钟列表。

get_clocks语法

get_clocks  [-regexp] [-nocase] [-filter <arg>] [-of_objects <args>]
            [-match_style <arg>] [-include_generated_clocks] [-quiet]
            [-verbose] [<patterns>]

返回值:时钟列表

选项含义
-regexp表示参数patterns为完整的正则表达式
-nocase参数patterns不区分大小写(仅-regexp指定时有效)
-filter带表达式的过滤器列表
-of_objects获取pins、nets、cells或ports的时钟
-match_style参数pattern的匹配类型,有效值为:ucf、sdc,默认ucf
-include_generated_clocks指还包括自动推断或生成的时钟
-quiet忽略命令错误
-verbose命令执行期间暂停消息限制
patterns时钟名字

命令说明

get_clocks命令用于获取当前设计中与指定搜索模式匹配的时钟列表。 default 命令获取设计中所有时钟的列表,如 all_clocks 命令。
时钟可以使用 create_clock 或 create_generated_clock 命令创建,也可以由工具自动生成,例如在 MMCM 的输出处。

注意:get_ * 命令只允许返回单一类型对象(例如cells、nets、pins或ports)的列表。 也可以使用lappend将新对象添加到列表中,但只能添加当前在列表中的相同类型的对象。不允许向列表中添加不同类型的对象或字符串,否则导致 Tcl 错误。

使用-filter命令时,应该避免一些特殊的转义字符,字符串区分大小写,搜索中可以使用通配符“*”来扩大搜索范围,以包含子字符串。
字符串的比较表达式有特定运算符“相等”(==)、“不相等”(!=)、“匹配”(=~) 和 “不匹配”(!~),数学运算符<、>、<= 和 >=。多个滤波器还可以使用AND 和 OR(&& 和 ||)连接。
例如,获取名称中不包含“RESET”子字符串的输入引脚:

get_pins * -filter {DIRECTION == IN && NAME !~ "*RESET*"} 

用法举例

1、获取与pattern相匹配的时钟列表:

 get_clocks {*clock *ck *Clk} 

2、获取主时钟,以及从该时钟派生的所有生成时钟:

 get_clocks -include_generated_clocks wbClk

3、获取gt0_gtwizard_i/gtpe2_i的引脚RXOUTCLK输出的时钟

get_clocks -of [get_pins -hier -filter name=~*gt0_gtwizard_i*gtpe2_i*RXOUTCLK]
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值