0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈FPGA中Pblock使用

454398 来源:AI加速微信公众号 作者:AI加速微信公众号 2020-10-10 16:03 次阅读

Pblock是对一些逻辑实行物理上的约束,即把一些逻辑绑定到FPGA上固定的资源区域内。它是优化走线,改善时序的一种很重要方法。Pblock的大小限定了该逻辑单元使用的FPGA资源,pblock的位置限定了逻辑单元在FPGA中的位置。通常一个pblock大小不要超过总设计资源的20%。如果pblock占比资源很大,就要将一个pblock划分给更底层的逻辑。

打开综合后的设计,我们切换到floorplanning选项,这个时候我们可以看到综合后的模块以及device视图。

从netlist中可以看到有两个模块,一个是顶层模块adder,还有一个mult模块。我们选择mult模块,然后右键,floor planning/draw Pblock,我们就可以手动去画一个pblock。如下图所示,我们为pblock命名,然后可以看到其包含的资源:154个slice和4个DSP

我们可以从pblock property中看到被分配为pblock的mult模块占用的资源:

我们放大device视图可以看到pblock的区域,其中含有两个矩形。外边矩形表示pblock覆盖的FPGA面积,内层矩形表明了这个pblock占用的FPGA资源。也就是我们的mult模块只能用内层矩形中的资源大小。

我们对手动生成的pblock进行保存,可以将tcl约束保存到xdc文件中。在xdc中的约束表示为:

这里用到了三个命令:

Create_pblock用于生成一个pblock。

Add_cells_to_Pblock用于将设计中模块添加到这个pblock中来。

Resize_pblock限定了pblock在FPGA中的位置。使用了slice的两个点来限制了pblock的位置,同时还给定了dsp的位置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    552

    文章

    7962

    浏览量

    348225
  • FPGA
    +关注

    关注

    1625

    文章

    21665

    浏览量

    601731
收藏 人收藏

    评论

    相关推荐

    浅谈盐雾试验在电能表的应用

    `浅谈盐雾试验在电能表的应用`
    发表于 04-06 15:06

    使用PBLOCK来约束我设计的一部分,请问如何将用户定义的单元格(对于特定的pblock)放在其中?

    的设计有Top / A和Top / B.我在Pblock A创建了一个Pblock A放置A的所有单元格。然而,放置器最终从Pblock A内部的顶部/ B放置一些单元格。我想要将来
    发表于 10-31 15:26

    区域限制地点和组关闭不起作用

    置于为AREA_GROUP定义的RANGE。默认值为PLACE = OPEN。所以,如果我使用以下约束:INST “AFPGA_Core0” AREA_GROUP
    发表于 11-05 11:43

    pblock_a中有一些BRAM没有使用,那么其他模块可以使用吗

    嗨,如果pblock_a中有一些BRAM,但是没有使用它们,那么其他模块可以使用这些BRAM吗?谢谢,以上来自于谷歌翻译以下为原文Hi, If there are some BRAMs
    发表于 11-08 11:25

    如何生成跨越Pblock边界的网络文本列表?

    1.如何生成跨越Pblock边界的网络文本列表?2.在Pblock Properties选项卡下,我看到了“Net Boundary Statistics”的度量标准。我的设计的一个Pblo
    发表于 11-12 14:20

    Vivado 2017.4 PBLOCK问题

    嗨,我正在从事基于Ultrascale FPGA的项目,其中包含一些巨大的硬件资源通道。在使用pblocks约束之后,在pblock绘制期间,我在FPGA资源的某些区域中定义相同大小的pblo
    发表于 11-13 14:35

    如何通过pblock限制路由

    我需要强制一个模块或分区的所有路由只使用一个pblock。我需要保存pblock外的所有路由清除。以上来自于谷歌翻译以下为原文I need to force all routing of one
    发表于 03-27 09:27

    浅谈FPGA在安全产品中有哪些应用?

    浅谈FPGA在安全产品中有哪些应用?
    发表于 05-08 06:36

    FPGA设计工具浅谈

    FPGA设计工具浅谈 作为一个负责FPGA企业市场营销团队工作的人,我不得不说,由于在工艺技术方面的显著成就以及硅芯片设计领
    发表于 10-10 07:46 466次阅读

    浅谈高频设计的电磁兼容问题

    浅谈高频设计的电磁兼容问题,下来看看。
    发表于 07-29 19:05 19次下载

    浅谈磁性槽楔在高效率电机的应用

    浅谈磁性槽楔在高效率电机的应用_郭锦州
    发表于 01-01 15:30 3次下载

    浅谈智能电网在智慧城市的应用

    浅谈智能电网在智慧城市的应用
    发表于 07-16 11:39 1638次阅读

    浅谈钢铁行业PLC网关的应用

    浅谈钢铁行业PLC网关的应用
    发表于 11-05 09:13 598次阅读
    <b class='flag-5'>浅谈</b>钢铁行业<b class='flag-5'>中</b>PLC网关的应用

    浅谈电力控制系统PLC网关的应用

    浅谈电力控制系统PLC网关的应用
    发表于 11-06 10:24 711次阅读
    <b class='flag-5'>浅谈</b>电力控制系统<b class='flag-5'>中</b>PLC网关的应用

    Pblock的一个属性CONTAIN_ROUTING

    使用CONTAIN_ROUTING之后,布线时在Pblock的拐角处会遇到较大困难,可能出现布线拥塞甚至无法布通的情形。为尽量避免此情形,Xilinx建议尽可能使Pblock为矩形,减少出现拐角的概率。
    的头像 发表于 05-06 16:35 1902次阅读