前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pblock可以这么画

Pblock可以这么画

作者头像
Lauren的FPGA
发布2019-10-30 19:20:02
1.5K0
发布2019-10-30 19:20:02
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

手工布局应该算是一项高级技能,在某些场合是不可或缺的,例如Partial Reconfiguration。同时,它也是实现时序收敛的一种可选方法。

首先,打开综合后的设计,将Vivado切换到Floorplanning模式,如下图所示。

一旦切换到Floorplanning模式,Vivado会自动打开Physical Constraints窗口(也可以通过Window -> Physical Constraints打开此窗口)和Device窗口,如下图所示。至此,我们就可以开始手工布局。

手工布局的本质是对指定逻辑单元设定面积约束,在Vivado下就是对其画一个Pblock。Pblock的大小限定了该逻辑单元所能使用的FPGA资源;Pblock的位置限定了该逻辑单元在FPGA中的位置;Pblock中所包含的FPGA资源类型限定了该逻辑单元所能使用的资源。

第二步,在Netlist窗口中选择需要手工布局的逻辑单元,这里我们选取了模块arnd1,如下图所示。之后在Device窗口中点击蓝色椭圆标记的快捷键。

第三步,一旦点击上图标记2的按钮,就可以开始画Pblock,如下图所示。图中Grids显示了该Pblock所包含的资源类型及数量。

一旦画好一个Pblock,在Physical Constraints窗口中就会有所显示,毕竟Pblock实质上就是一种物理约束。

Pblock的初始位置和大小并不重要。通常的做法是先给所有的需要手工布局的逻辑单元画Pblock,然后再根据这些逻辑单元的资源利用率以及连接关系调整相应的Pblock的大小和位置。

选中Pblock,在其属性窗口中,选择Statistics,可看到Pblock所包含的资源类型和数量,同时显示了对应逻辑单元需要用到的资源类型与数量,从而可以获得该Pblock中的资源利用率,如下图所示。

如前所述,Pblock本质上是一种物理约束,因此也可以通过相应的Tcl命令完成。上述操作对应的Tcl命令如下图所示。

这里主要使用了三条命令:

create_pblock: 创建Pblock

add_cells_to_pblock: 将逻辑单元分配给该Pblock

resize_pblock: 调整Pblock的大小和位置

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档