FPGA时序约束理论之Tcl命令的对象和属性(3)

  • get_pinsget_portsget_cellsget_clocksget_nets

  •  get_clocks的对象是通过create_clocks或者create_generated_clocks创建的时钟,不在硬件上直接映射

1. port

      通过Tcl脚本查看port的属性,有一个port是 clk_pin_p,采用如下脚本:

set inst [get_ports clk_pin_p]
report_property $inst

 显示如下:

 get_ports的使用方法如下:

# 获取所有端口
get_ports *
# 获取名称中包含data的端口
get_ports *data*
# 获取所有输出端口
get_ports -filter {DIRECTION == OUT}
# 获取所有输入端口
all_inputs
# 获取输入端口中名字包含data的端口
get_ports -filter {DIRECTION == IN} *data*
# 获取总线端口
get_ports -filter {BUS_NAME != ""}

 2. cell

 get_cells的使用的方法如下:

# 获取顶层模块
get_cells *
# 获取名称中包含字符gen的模块
get_cells *gen*
# 获取clk_gen_i0下的所有模块
get_cells clk_gen_i0/*
# 获取触发器为FDRE类型且名称中包含字符samp
get_cells -hier filter {REF_NAME == FDRE} *samp*
# 获取所有的时序单元逻辑
get_cells -hier -filter {IS_SEQUENTIAL == 1}
# 获取模块uart_rx_i0下两层的LUT3
get_cells -filter {REF_NAME == LUT3} *uart_tx_i0/*/*

 3. pin    

get_pins的使用方法如下:

# 获取所有pins
get_pins *
# 获取名称中包含字符led的引脚
get_pins -hier -filter {NAME =~ *led*}
# 获取REF_PIN_NAME为led的引脚
get_pins -hier -filter {REF_PIN_NAME == led}
# 获取时钟引脚
get_pins -hier -filter {IS_CLOCK == 1}
# 获取名称中包含cmd_parse_i0的使能引脚
get_pins -filter {IS_ENABLE == 1} cmd_parse_i0/*/*
# 获取名称中包含字符cmd_parse_i0且为输入的引脚
get_pins -filter {DIRECTION == IN} cmd_parse_i0/*/*

4. net

get_nets的使用方法如下:

# 获取所有nets
get_nets *
# 获取名称中包含字符send_resp_val的网线
get_nets -hier *send_resp_val*
get_nets -filter {NAME =~ *send_resp_val*} -hier
# 获取穿过边界的同一网线的所有部分
get_nets {resp_gen_i0/data4[0]} -segments
# 获取模块cmd_parse_i0下的所有网线
get_nets -filter {PARENT_CELL == cmd_parse_i0} -hier
# 获取模块cmd_parse_i0下的名称中包含字符arg_cnt[]的网线
get_nets -filter {PARENT_CELL == cmd_parse_i0} -hier *arg_cnt[*]

       这5个Tcl命令对应的5个对象之间也有着密切的关系,下图所示的箭头的方向表示已知箭头末端对象可获取箭头指向的对象。

 

# 获取模块的输入引脚
get_pins -of [get_cells {clk_gen_i0/clk_core_i0}] -filter {DIRECTION == IN}

# 已知引脚名获取所在模块
get_cells -of [get_pins clk_gen_i0/clk_core_i0/clk_in1_n]

# 已知模块名获取与该模块相连的网线
get_nets -of [get_cells {clk_gen_i0/clk_core_i0}]

# 已知引脚名获取与该引脚相连的网线
get_nets -of [get_pins clk_gen_i0/clk_core_i0/clk_rx]

# 已知时钟引脚获取时钟引脚对应的时钟
get_clocks -of [get_pins clk_gen_i0/clk_core_i0/clk_rx]

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值