<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-833878f763.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-833878f763.css">
<div class="htmledit_views" id="content_views">
<p>本博文内容是学习课程做的笔记,只记录了一些,由于没有基础,且讲的也不是太清楚,只吸收了一部分内容,记录下来备忘。</p>
目录:
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入门与提高》
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true"> <use xlink:href="#csdnc-thumbsup"></use> </svg><span class="name">点赞</span> <span class="count">3</span> </a></li> <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true"> <use xlink:href="#icon-csdnc-Collection-G"></use> </svg><span class="name">收藏</span></a></li> <li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{"mod":"1582594662_002"}"><svg class="icon" aria-hidden="true"> <use xlink:href="#icon-csdnc-fenxiang"></use> </svg>分享</a></li> <!--打赏开始--> <!--打赏结束--> <li class="tool-item tool-more"> <a> <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg> </a> <ul class="more-box"> <li class="item"><a class="article-report">文章举报</a></li> </ul> </li> </ul> </div> </div> <div class="person-messagebox"> <div class="left-message"><a href="https://blog.csdn.net/Reborn_Lee"> <img src="https://profile.csdnimg.cn/4/3/6/3_reborn_lee" class="avatar_pic" username="Reborn_Lee"> <img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years"> </a></div> <div class="middle-message"> <div class="title"><span class="tit"><a href="https://blog.csdn.net/Reborn_Lee" data-report-click="{"mod":"popu_379"}" target="_blank">Reborn Lee</a></span> </div> <div class="text"><span>发布了788 篇原创文章</span> · <span>获赞 1470</span> · <span>访问量 144万+</span></div> </div> <div class="right-message"> <a href="https://im.csdn.net/im/main.html?userName=Reborn_Lee" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信 </a> <a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a> </div> </div>