前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于Pblock的8个必知问题

关于Pblock的8个必知问题

作者头像
Lauren的FPGA
发布2019-10-30 19:19:01
2.2K1
发布2019-10-30 19:19:01
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

1. 一个Pblock为什么会显示内外两个矩形?

外层矩形,对应图中的粗紫色矩形,是Pblock的边界,显示了该Pblock所覆盖的FPGA面积。内层矩形,对应图中的细橙色矩形,表明了分配给该Pblock的资源与整个FPGA资源的比率。因此,我们只能调整外层矩形的大小来改变Pblock所占用的FPGA资源。

2. 如何用不同颜色显示嵌套的Pblock?

对于嵌套的Pblock,可以用不同的颜色显示。具体方法是:依次点击Tools -> Settings -> Colors -> Device,如下图所示。最多可修改三层嵌套的Pblock的颜色。

例如,将第二层Pblock用绿色显示,点击Apply之后,效果如下图所示。

3. 如何修改Pblock所包含的FPGA资源类型?

选中一个Pblock,在Pblock Property窗口的General子卡中会显示该Pblock的资源类型与范围,如下图所示。通过勾选其中的资源类型,可改变该Pblock是否包含这类资源。

例如,不勾选DSP48,一旦选中该Pblock,包含在该Pblock中的资源会以灰色显示,而未被包含的资源,也就是这里的DSP48则仍然是常规亮度。如下图所示,左侧为包含DSP48的Pblock,右侧为不包含DSP48的Pblock。

4. 能否让工具自动设置Pblock的位置和大小?

在Vivado中,如果已经创建了Pblock,依次选择Tools -> Floorplanning -> Place Pblocks,会弹出如下图所示对话框。这个界面显示了需要自动设置的Pblock,点击OK,工具就会自动调整Pblock的大小和位置。

5. 如何分析Pblock的资源利用率?

实际上,Pblock的资源利用率与整个工程的资源利用率分析方法是一致的,都可以用命令report_failfast来实现,只是一些选项设置不同而已。对于Pblock,可采用如下图所示方式。

生成报告如图所示,显示了Pblock资源利用率的指导值和实际值,Status为Review的需要格外关注。

6. 如何使得Pblock内部资源仅供Pblock对应的模块使用?

如果模块A分配给pblock_A,那么A只能使用pblock_A内部资源,但这并不能保证其他模块使用pblock_A内部资源。为了使得pblock_A中资源仅供模块A使用,可以设置属性EXCLUDE_PLACEMENT为true来达到此目的。但需注意,Pblock框住的只是逻辑资源而非布线资源,所以即使使用了该属性,其他模块也是可以使用该Pblock内的布线资源的。

7. 如何保证Pblock内部逻辑仅仅使用Pblock内部的布线资源?

默认情形下,一旦给某一模块分配了Pblock,就保证了该模块只能使用Pblock内部的FPGA逻辑资源,但并不能保证该模块只使用该Pblock内部的布线资源。换言之,Pblock框住的只是逻辑资源,不包括布线资源。这样,相应的模块还是有可能使用Pblock外部的布线资源。为了增强设计的复用性,尤其在层次化设计中,应保证模块只使用Pblock内部的布线资源,这可通过属性CONTAIN_ROUTING实现。具体方式如下:

8. 在只有布局或布线后的DCP的情况下,如何获取Pblock的范围?

每个Pblock都有一个属性GRID_RANGES,查询该属性即可获得Pblock的具体范围,同时也可获知其位置信息。具体方法如下图所示。可以看到,这里的GRID_RANGES的值与命令resize_pblock的设置相对应。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 一个Pblock为什么会显示内外两个矩形?
  • 2. 如何用不同颜色显示嵌套的Pblock?
  • 3. 如何修改Pblock所包含的FPGA资源类型?
  • 4. 能否让工具自动设置Pblock的位置和大小?
  • 5. 如何分析Pblock的资源利用率?
  • 6. 如何使得Pblock内部资源仅供Pblock对应的模块使用?
  • 7. 如何保证Pblock内部逻辑仅仅使用Pblock内部的布线资源?
  • 8. 在只有布局或布线后的DCP的情况下,如何获取Pblock的范围?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档