【 FPGA 】Vivado中常用的5个Tcl命令
本博文内容是学习课程做的笔记,只记录了一些,由于没有基础,且讲的也不是太清楚,只吸收了一部分内容,记录下来备忘。
目录:
Objects的基本概念?
首先讲解Vivado中objects的基本概念,然后是如何使用这5个Tcl命令。
cell可以是Verilog中的实例化后的模块,也可以是一些LUT、DSP48E等资源,它们有相应的pin,pin与pin之间的连线为net,port与pin不同,port是FPGA和外部打交道的管脚。
每个port会占用一个FPGA外部管脚,称为package pin,每个package pin都在IO Bank中。
下面是五个常用的Tcl命令,它们都有一些常用的共同的参数,下面分别介绍:
上图也可以看出,-hierarchical可以简写为-hier
-of_objects则可以简写为-of
-filter意思是过滤出符合条件的objects。
隶属关系(-of_objects)?
下图是一个例子,使用这5个Tcl命令来联系-of这个参数的使用,中括号表示层次关系,从里往外读:
先是通过get_cells wbDataForInput_INUF_inst 找到图中IBUF这个cell,然后获得其pin:get_pins -of[get_cells wbDataForInput_INUF_inst] -filter{DIRECTION == OUT},注意这里有一个过滤条件,是通过cell找到pin,这个pin是输出的pin;
通过pin去找到net:get_nets -of[get_pins -of[get_cells wbDataForInput_INUF_inst] -filter{DIRECTION == OUT}],找到上面蓝色的net,最后通过net找到与之相连的cell:
get_cells -of [get_nets -of [get_pins -of [get_cells wbDataForInput_INUF_inst] -filter {DIRECTION == OUT}]]
得到三个与之相连的cells:
wbDataForInputReg_reg validForEgressFifo_reg[o]_i_1 wbDataForInput_IBUF_inst
下面继续举例,如何使用参数 -of_objects:
放大电路:
先指定蓝色cell,get_cells demuxState_reg,使用Tcl命令get_pins -of获得它的pins:
get_pins -of [get_cells demuxState_reg]
得到上面绿色框内的pins;
再获得指定pin的cell,通过下面的Tcl命令找到响应pin的cell:
get_cells -of [get_pins demuxState_reg]
通过特定的net找到相应的cell:
下面例子雷同:
-hierarchical 解释?
-hier 表示按层次寻找:
例如:
Tcl命令: get_cells {A* B*}
注意A后面的* 是通配符,使用上面的Tcl命令后就得到
A B这两个模块。结果可以看出,它只从顶层寻找,并没有再往下找:
如果使用参数 -hier,例如下Tcl命令: get_cells -hier [A* B*]
得到: A A/A1 A/A2 B B/B1 B/B2
如果使用分隔符“/”呢?
例如Tcl命令: get_cells B/*
很容易想到得到如下结果: B/B1 B/B2
注意,分隔符和参数 -hier不能同时使用,如果同时使用,就会找不到与之匹配的模块,上图中有示意。
最后讲下带有参数 -filter的Tcl命令,用于过滤出一些符合条件的模块显示出来:
例如Tcl命令:get_cells -hier -filter {NAME =~ *B*}
就会得到: B B/B1 B/B2
最后需要注意的是B2的实例化名字为:
I/O Port属性?
I/O Bank 和 Package Pin的属性?
跟不上了,过段时间自己总结。
笔记来源:《Vivado入门与提高》
【 FPGA 】Vivado中常用的5个Tcl命令相关推荐
- 【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
主要包括Ctrl+Q键.Ctrl+E键.F6键.F1键. Ctrl+Q键 Ctrl+Q键用于显示或者隐藏导航栏(Flow Navigator),如下图所示,在需要以更大视图显示其他窗口时是很方便的. ...
- Matlab中常用的几个清除命令
Matlab中常用的几个清除命令 大家在使用MATLAB时,会用到多个命令,在这里列出了几个常用的清除命令,帮助大家使用MATLAB更加方便. 1:clc: 清除命令行 2:clear all: 清除 ...
- vivado快捷键设置 放大代码_【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键...
主要包括Ctrl+Q键.Ctrl+E键.F6键.F1键. Ctrl+Q键 Ctrl+Q键用于显示或者隐藏导航栏(Flow Navigator),如下图所示,在需要以更大视图显示其他窗口时是很方便的. ...
- 虚拟机中dns配置好了但是域名ping不同_弱电工程中常用的几个网络命令,学会后轻松变高手...
现在的弱电工程可以成为网络工程了,基本上全是数字化.网络化了,所以我们需要掌握一定的网络知识,今天就分享一些常用的网络命令,设备调试.维护的时候用的到 正文: ping命令 ping是个使用频率极高的 ...
- Linux中常用压缩、解压命令和压缩比率对比
本人有一个待解决的问题:当需要压缩比较大的文件,比如1T的时候,如何看到压缩文件进度?挂在后台完全没办法知道最后压缩的文件是不是完整! linux常用的压缩格式为:zip,tar.gz,tar,tar ...
- Linux中常用的查找文件的命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...
- Linux学习总结(31)——工作中常用的Linux脚本和命令
1.工作中,经常需要查看某个进程的精确启动时间. ps -ef ,可以看到进程的启动时间, 但是,非常尴尬的是,如果超过24小时就只能看到年份了. 那么,如何查看一个进程精确启动时间 ? 使用如下命令 ...
- linux中常用的压缩命令,Linux中常用的压缩和解压缩命令汇总
在Linux下,压缩和解压相比较Windows而言,琳琅满目的各种压缩包是一种莫名的负担,很多时候,根本就不知道该如何下手,经过无数次的折磨之后,通过伟大的互联网整理出了下面这份常用压缩包的后缀名的解 ...
- Linux中常用的启动服务的命令
一:启动Nginx服务--在sbin目录下 启动命令: ./nginx 关闭命令:./nginx -s stop 和 ./nginx -s quit 刷新配置文件:./nginx -s reload ...
最新文章
- (0016)iOS 开发之Mac上Navicat Premium 创建远程连接和本地连接
- C#拾遗系列(8):异常
- Git 笔记 上传文件至github
- MySql安装后在服务管理器里边找不到MySql服务项的解决办法(win10)
- git commit Please tell me who you are it config --global user.email you@example.com
- Java SE中的Bootstrap CDI 2.0
- 【vue2.0进阶】案例:用Vuex实现一个简单的计算器
- linux操作系统中文件系统管理--实训
- python项目开发:用RabbitMQ实现异步RPC
- netty 原理分析
- 贾俊平统计学思维导图- 第六章 统计量及其抽样分布
- JVM垃圾回收器-CMS并发标记清除
- MySQL 慢查询日志导入 Elasticsearch 可视化查询分析
- Driller分析与改进(二)
- Windows FLASK环境
- 【图灵杯 J】简单的变位词
- HTML2022.1.6
- 单点登录原理分析及CAS实战
- unity怪物的状态机
- IT直男搞装修,他们会把房子折腾成啥样呢?
热门文章
- 寒冰linux视频教程笔记5 过滤器、输入输出及管道
- Ubuntu Server系列各项服务的安装和维护 Apache部分
- 用Qt 4.4编写drcom的GUI (转)
- matlab 正四面体,填隙工具箱,caulking box,音标,读音,翻译,英文例句,英语词典
- shardingjdbc全局表_sharding-jdbc实现按年分库按月分表
- autohold有什么弊端吗_自动驻车真的好用吗?很多车主不敢用,实车演示正确用法很简单...
- 手机超广角拍摄软件_桂林好的拍摄短视频手机软件
- 与太原工业学院商讨第十七届全国大学生智能车华北赛区承办事宜
- 讯飞智慧餐厅(安徽赛区)比赛通知
- 基于ESP8266WiFi步进电机控制