Pblock可以这么画

手工布局应该算是一项高级技能,在某些场合是不可或缺的,例如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的大小和位置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值