VIVADO中PBlock的使用方法

Pblock的作用和意义

在VIVADO的实现的布局中,可以利用PBlock将某一个或某几个Cell(模块单元)固定在Device的固定区域上。如此,可以实现该模块内部的时序收敛,并且,该工具对于可重配置工具的使用也是必不可少的。

Pblock的实现过程

如下图所示,当前工程综合完毕之后,打开综合设计,并将VIVADO切换到Floorplanning界面。此时,VIVADO会自动跳出Netlist和Device窗口。然后选中Netlist中的需要进行PBlock的某一个或某几个Cell,点击Tools ==> Floorplanning ==> Creat Pblocks,在弹出的界面中点到finish即可。图1此时就建立好了相应的Pblock,但是并没有指定位置和大小。在Physical constraint窗口中右击生成的Pblock,点击Set block size,然后就可以在Device窗口手动画出这个Cell的布局的位置了。
图2
确定之后,在block properties中就可以看到当前Cell所需的资源以及所制定矩形框内所包含的资源了。如果出现红色字体,说明所指定区域资源不够,则需要重新划定位置,然后保存即可。在保存之后,可以在constraint文件中查看到生成该Pblock的TCL语句。

至此,一个基本的pblock就完成了。

Pblock的更进一步的实现

  • 在创建了pblock之后,再进行实现,在打开的实现结果上可以看到,所指定的Cell被限制在了划定的区域中。但是也可以看到,在该区域中不仅有指定Cell的逻辑资源,也有其他模块的逻辑资源。如果想要在该区域内仅仅有指定Cell出现,需要在constraint中添加以下XDC语句:
    set_property EXCLUDE_PLACEMENT true [get_pblocks pblock名字]

  • 在综合设计界面,当手动划定了pblock区域之后,如果觉得大小不合适,可以在Device中选中该pblock,然后点击Tools ==> Floorplanning ==> Place Pblocks,划定区域就会根据Cell所使用的资源重新调整位置和大小。

  • 在上面的操作下,生成的pblock只能将指定Cell的逻辑资源(图2所示)限制在指定区域中,但是布线资源可能会超出该区域,如果需要同时限制布线资源,需要在constraint中添加以下XDC语句:
    set_property CONTAIN_ROUTING true [get_pblocks pblock名字]


关于部分重配置,有如下文档可供参考:
Xilinx 7系列FPGA可重配置 1
Xilinx 7系列FPGA可重配置 2

上述两个文档都是基于 VIVADO 2017 以上版本的,在目前使用的 2015.2 版本 VIVADO 中暂时没有找到相应的入口,后续有时间再研究吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值