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

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

3天内不再提示

针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1)

FPGA技术驿站 来源:FPGA技术驿站 作者:喜欢FPGA的高老师 2023-12-14 16:16 次阅读

对于UltraScale/UltraScale+芯片,几乎FPGA内部所有组件都是可以部分可重配置的,这包括CLB中的查找表(LUT)、触发器(FF)、移位寄存器(采用LUT实现)、分布式RAM/ROM等,Block如BRAM、URAM、DSP、GT(高速收发器)、PCIe、CMAC、Interlaken MAC等,SYSMON(XADC和System Monitor),时钟单元如BUFG、MMCM和PLL等,I/O相关单元如ISERDES、OSERDES和IDELAYCTRL等。只有与配置相关组件必须在静态区,包括BSAN、CFG_IO_ACCESS、EFUSE_USR、ICAP、FRAME_ECC、MASTER_JTAG、STARTUP、和USR_ACCESS。

Pblock的大小

DFX设计中,动态区都有专属的Pblock。Pblock的最小范围是由PU(ProgrammableUnit)决定的,而一个PU的大小是跟资源类型紧密相关的。例如,对于SLICE,其PU为所属的CLB以及与之相邻的一个CLB,同时还包括这两个CLB共享的Interconnect,这可通过如下Tcl命令获取,注意最外层的Tcl命令get_tiles需要添加选项-pu。如果Vivado版本是2023.1或更高版本,可以使用命令get_dfx_footprint外加选项-pu实现同样功能。

wKgZomV6uhqAVufgAAAL4NxAb6U621.pngwKgZomV6uhqAH905AAAP32trjLA278.png

wKgZomV6uhqAEOPeAAARojbw-SE554.png

对于BRAM(36Kb),其PU包含自身之后还包含与之相邻的5个CLB以及共享的Interconnect,如下图所示。

wKgZomV6uhqALF03AAAU7S8Gtrk987.png

对于PCIE,其PU包含自身之后还包含两侧各60个共120个CLB以及共享的Interconnect,如下图所示。

wKgZomV6uhuAdiriAAAkMFZAfX8207.png

wKgZomV6uhuAasq2AAAW2uHK_qo080.png

对于高速收发器,其PU包含自身之外还包含与之相邻的60个CLB以及共享的Interconnect,如下图所示。

wKgZomV6uhuARy3-AAAh9fpLF4c933.png

wKgZomV6uhuAWQqPAAAIB-6h2DY414.png

对于PackagePin,其PU包含其所在IO Bank的所有资源,如下图所示,这也表明了同一个IO Bank内的管脚要么均在静态区,要么均在动态区。

wKgZomV6uhuAEqEkAAApNR0qxiw232.pngwKgZomV6uhuAaTmVAAHAMDLRgQM773.png

在UltraScale/UltraScale+ FPGA中,Pblock不再需要设置属性RESET_AFTER_RECONFIG,但需要将属性SNAPPING_MODE设置为on。这样工具给了用户足够的灵活性去画Pblock,但为了保证Pblock不违反PU的要求,工具又会在已画Pblock的基础上自动调整,这正是SNAPPING_MODE的作用。

对于DFX工程,在执行完布局布线之后,会生成一个名为hd_visual的文件目录,在此文件夹下有两个Tcl文件,如下图所示,文件名为pblock__Placement/Routing_AllTiles.tcl。

wKgZomV6uhuAHhKIAAAICztSYec498.png

打开布线后的网表文件,执行source命令即可看到整个Pblock的实际布局范围和布线范围。图中白色高亮标记为原始Pblock范围,红色标记为实际Pblock的布局范围,黄色标记为实际Pblock的布线范围,包括了扩展的布线区域。对于Vivado2023.1及之后版本,可直接使用命令get_dfx_footprint实现同样功能。

sourcepblock_my_math_placement_AllTiles.tcl

wKgZomV6uhuARWfyAAFLzPaGM9s736.png

wKgZomV6uhuAMTj5AAAe-epJq_c447.png

对于UltraScale/UltraScale+ FPGA,动态区Pblock的高度可以不是以Clock Region对齐,这在上述案例中已有体现。换言之,上图中Pblock所在Clock Region的其他区域仍然可以供静态区使用,但不能供其他动态区使用。这意味着同一个ClockRegion只能拥有一个RP,所以可以看到“可重构”仍然是按照ClockRegion作为基础帧执行的。

扩展的布线区域

对于动态区的Pblock,其属性CONTAIN_ROUTING的值为TRUE,意味着动态区的布线也在划定的Pblock内。但实际上,最终的布线区域是可扩展的,不仅是已画好的Pblock,还包括Pblock之外的布线资源。从而,与RM输入/输出端口相连的网线就可能出现扩展的布线区域内(Pblock之外),但只要Partition Pin落在扩展区域内,就可以不用限定PartitionPin的位置。这里并不是说Pblock的形状不规范才导致布线区域扩展,即使是正规的矩形Pblock也可能会有扩展的布线区域。

但一个事实是扩展的布线区域一定是以Clock Region为边界的。由于动态区布线区域的扩展,动态区对应的bit文件大小就会增大,但是如果动态区对应的bit文件大小比设计性能更为关键,可通过如下命令禁止动态区性能扩展。另外,7系列FPGA是不支持动态区布线区域扩展这一功能的。从Vivado2020.2开始,算法的改进促使动态区布线扩展区域更小同时这种更小的布线区域对布线性能影响也更小。

wKgZomV6uhyAW7idAAAVyPHP59s651.png 






审核编辑:刘清

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

    关注

    2

    文章

    181

    浏览量

    22017
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60402
  • ECC
    ECC
    +关注

    关注

    0

    文章

    90

    浏览量

    20375
  • DFx
    DFx
    +关注

    关注

    0

    文章

    35

    浏览量

    10369

原文标题:针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1)

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    针对UltraScale/UltraScale+芯片DFX应考虑因素有哪些(2)

    UltraScale/UltraScale+芯片开始支持BUFG_*、PLL和MMCM出现在动态区,在7系列FPGA中这些时钟资源只能在静态区。
    的头像 发表于 12-21 09:12 514次阅读
    <b class='flag-5'>针对</b><b class='flag-5'>UltraScale</b>/<b class='flag-5'>UltraScale+</b><b class='flag-5'>芯片</b><b class='flag-5'>DFX</b><b class='flag-5'>应考虑</b>的<b class='flag-5'>因素有</b>哪些(2)

    采用UltraScale/UltraScale+芯片DFX设计注意事项

    采用UltraScale/UltraScale+芯片进行DFX设计时,建议从以下角度对设计进行检查。
    的头像 发表于 01-18 09:27 360次阅读
    采用<b class='flag-5'>UltraScale</b>/<b class='flag-5'>UltraScale+</b><b class='flag-5'>芯片</b>的<b class='flag-5'>DFX</b>设计注意事项

    赛灵思推出全球最大容量的FPGA – Virtex UltraScale+ VU19P

    扩展了旗下 16 纳米 (nm)Virtex® UltraScale+™ 产品系列。VU19P拥有 350 亿个晶体管,有史以来单颗芯片最高逻辑密度和最大I/O 数量,用以支持未来最先进 ASIC 和 SoC 技术的仿真与原型设计,同时,也将广泛支持测试测量、计算、网络、
    发表于 11-02 08:34

    如何调试Zynq UltraScale+ MPSoC VCU DDR控制器

      如何调试Zynq UltraScale+ MPSoC VCU DDR控制器  Zynq UltraScale+ MPSoC VCU DDR 控制器是一款专用 DDR 控制器,只支持在 Zynq
    发表于 01-07 16:02

    如何调试Zynq UltraScale+ MPSoC VCU DDR控制器

    如何调试 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    发表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    发表于 02-02 07:53

    Zynq UltraScale+ MPSoC的发售消息

    Zynq®UltraScale+™MPSoC,现已开始发售。视频向您重点介绍了Xilinx UltraScale +产品组合的第一位成员
    的头像 发表于 11-27 06:47 3306次阅读

    UltraScale/UltraScale+ GTH/GTY 收发器线速率设置的方法

    本篇博文主要讲解了动态更改 UltraScale/UltraScale+ GTH/GTY 收发器线速率设置的方法。 您是否曾想过要使用 UltraScale/UltraScale+ G
    的头像 发表于 11-04 14:48 7247次阅读
    <b class='flag-5'>UltraScale</b>/<b class='flag-5'>UltraScale+</b> GTH/GTY 收发器线速率设置的方法

    UltraScale/UltraScale+的时钟资源

    UltraScaleUltraScale+进一步增强了Clock root的概念,从芯片架构和Vivado支持方面都体现了这一点。为了理解这一概念,我们先看看UltraScale/
    的头像 发表于 05-12 15:34 1436次阅读

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片设计

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片设计,应用于工厂自动化、机器视觉、工业质检等工业领域
    发表于 11-02 14:35 1173次阅读

    Zynq UltraScale+ Use Case 4.3 原理图s

    Zynq UltraScale+ Use Case 4.3 原理图s
    发表于 07-10 18:35 1次下载
    Zynq <b class='flag-5'>UltraScale+</b> Use Case 4.3 原理图s

    Zynq UltraScale+ Use Case 1.3 原理图s

    Zynq UltraScale+ Use Case 1.3 原理图s
    发表于 07-10 18:36 0次下载
    Zynq <b class='flag-5'>UltraScale+</b> Use Case 1.3 原理图s

    Zynq UltraScale+ Use Case 2.3 原理图s

    Zynq UltraScale+ Use Case 2.3 原理图s
    发表于 07-10 18:37 1次下载
    Zynq <b class='flag-5'>UltraScale+</b> Use Case 2.3 原理图s

    UltraScaleUltraScale+ FPGA封装和管脚用户指南

    电子发烧友网站提供《UltraScaleUltraScale+ FPGA封装和管脚用户指南.pdf》资料免费下载
    发表于 09-13 10:29 1次下载
    <b class='flag-5'>UltraScale</b>和<b class='flag-5'>UltraScale+</b> FPGA封装和管脚用户指南

    AMD推出全新Spartan UltraScale+ FPGA系列

    AMD 已经拥有 Zynq UltraScale+ 和 Artix UltraScale+ 系列,而 Spartan UltraScale+ FPGA 系列的推出使其不断现代化。
    发表于 03-18 10:40 69次阅读
    AMD推出全新Spartan <b class='flag-5'>UltraScale+</b> FPGA系列