原文链接:VPR — Verilog-to-Routing 8.1.0-dev documentation (verilogtorouting.org)

VPR运行时启用图形界面

  • 命令:在运行 VPR 时,使用 vpr --disp 命令来启用图形界面。这将在 VPR 运行时打开一个图形窗口,显示 FPGA 设计的可视化信息。

运行时保存图形

  • 命令:使用 vpr --save_graphics 命令可以将最终的放置和布线结果保存为 PDF 文件。这些文件通常被命名为 vpr_placement.pdfvpr_routing.pdf

导航

  • 缩放适应:点击“Zoom-Fit”按钮可以查看 FPGA 架构的全景视图。
  • 平移和缩放:使用鼠标左键点击并拖动来平移视图,或滚动鼠标滚轮来放大和缩小。
  • 区域放大:点击“Window”按钮,然后点击一个框的对角线相对的两个角,可以放大特定区域。
  • 保存图像:在“Misc.”选项卡下点击“Save”,可以将屏幕上的图像保存为 PDF、PNG 或 SVG 文件。

可视化放置

  1. FPGA Floorplan 显示: 默认情况下,VPR 的图形界面展示了 FPGA 的 floorplan(块网格)和当前的元件放置。
  2. Placement Macros 高亮显示: 如果设置了 Placement Macros 下拉菜单,任何放置宏(例如,要求某些块之间具有特定相对位置的 carry chains)都会被高亮显示。
  • 默认显示:VPR 的图形界面默认显示 FPGA 的平面图(块网格)和当前放置。
  • 放置宏:如果设置了“Placement Macros”下拉菜单,任何放置宏(例如,要求某些块之间具有特定相对位置的进位链)将被突出显示。
    这些功能使得用户能够直观地看到 FPGA 上的元件布局以及任何特殊的放置要求,如 carry chains 等。

可视化网表连接性

  1. Toggle Nets 下拉菜单: 在 Net Settings 标签下的 Toggle Nets 下拉菜单允许用户切换电路中网的可见性。选项包括 Cluster Nets 和 Primitive Nets。
  2. 放置期间的网显示: 当显示放置时,由于路由信息尚未知晓,因此网被简单地绘制成“星形”;即,从网的源头直线画到每一个汇点。在显示中点击任何一个 clb(Configurable Logic Block),它将以绿色高亮显示,同时其输入(fanin)和输出(fanout)分别以蓝色和红色高亮显示。一旦电路被路由,每个网的真实路径将被展示。
  3. 显示网的路由: 如果显示了网的路由,点击 clb 或 pad 可以高亮显示其输入和输出,或点击引脚或通道线以紫色高亮显示整个网。通过按住 ctrl 键并点击鼠标,可以同时高亮多个网。

这些功能使得用户能够在不同阶段清晰地看到电路中各个网的连接情况,无论是在放置阶段还是在路由阶段。

可视化关键路径

  1. Crit. Path 下拉菜单: 在 Misc. 标签下的 Crit. Path 下拉菜单允许用户在放置和路由过程中可视化关键路径。每个原始引脚之间的阶段以不同的颜色显示。
  2. 不同的可视化方式: Crit. Path 下拉菜单提供了不同的可视化选项:

    • 在放置阶段,关键路径仅以飞线(flylines)的形式显示。
    • 在路由阶段,关键路径可以同时以飞线和路由过的网连接显示。

通过这些功能,用户可以清楚地识别和分析电路设计中的关键路径,这对于优化电路的性能和延迟是非常关键的。

可视化布线架构

  1. Routing Options 选项: 当路由显示在屏幕上时,Routing Options 标签提供了多种选项来获取更多的视觉信息。
  2. Toggle RR 选项: 点击 Toggle RR 允许您在 FPGA 可用的各种路由资源视图之间选择。这在标记为 "Fig. 44 Routing Architecture Views" 的动态图中展示。
  3. 路由资源视图的用途: 路由资源视图对于确保您在架构描述文件中正确描述了 FPGA 非常有用。如果您看到开关不在应该的位置,或者引脚在 clb 的错误侧面,您的架构描述需要被修订。
  4. 颜色编码和细节:

    • 线段以黑色绘制,输入引脚以天蓝色绘制,输出引脚以粉红色绘制。
    • 汇点以深石板蓝绘制,源点以李子色绘制。
    • 输出引脚和输入引脚之间的直接连接以中紫色显示。
    • 从线段到输入引脚的连接以天蓝色显示,从输出引脚到线段的连接以粉红色显示,线段之间的连接以绿色显示。
    • 线段连接到 clb 引脚的点(连接箱开关)用 x 标记。
  5. 更多交互功能:

    • 开关箱连接将根据每个连接使用的开关类型,在其上方绘制缓冲器(三角形)或通过晶体管(圆形)。
    • 点击 clb 或 pad 将在 FPGA 路由资源的绘制之上叠加该块连接的所有网的路由,并用其引脚号标记该块上的每个引脚。
    • 点击路由资源会用紫色高亮显示它,其输出将用红色高亮显示,输入用蓝色高亮显示。通过按住 ctrl 键并点击鼠标,可以同时高亮多个路由资源。

通过这些功能,用户可以详细地了解和检查FPGA设计中的路由架构,确保其正确性和有效性。

可视化布线拥塞和利用率

拥塞率

  1. Congestion 下拉菜单: 当屏幕上显示路由时,点击 Routing Options 标签下的 Congestion 下拉菜单,可以显示任何过度使用的路由资源(线路或引脚)的热图。
  2. 颜色编码: 热图中的颜色代表了资源的使用程度:

    • 较浅的颜色(例如黄色)对应于高度过度使用的资源。
    • 较深的颜色(例如蓝色)对应于使用程度较低的资源。
    • 窗口底部显示了过度使用范围。

通过这种可视化,用户可以直观地识别出FPGA设计中哪些区域的路由资源可能存在拥塞问题,从而有助于进行必要的调整以优化整体设计。这是电路设计和调试过程中的一个关键步骤,有助于提高电路的性能和可靠性。

利用率

  1. Routing Util 下拉菜单: 当屏幕上显示路由时,点击 Routing Options 标签下的 Routing Util 下拉菜单,可以显示路由线路使用率的热图。这在标记为 "Fig. 46 Routing Utilization during placement and routing" 的动态图中展示。
  2. 颜色编码: 热图中的颜色代表了线路使用率:

    • 较浅的颜色(例如黄色)对应于高度使用的通道。
    • 较深的颜色(例如蓝色)对应于使用率较低的通道。

通过这种可视化,用户可以清楚地看到在FPGA设计中哪些通道的路由线路使用率较高,哪些使用率较低。这有助于识别可能的瓶颈区域,并为进一步的优化提供了依据。合理的路由线路使用率不仅可以提高电路的性能,还可以避免不必要的拥塞,从而提高整体设计的效率和可靠性。

可视化的块内部

  1. Block Settings 选项: 在放置和路由过程中,您可以通过 Block Settings 标签下的 Toggle Block Internal 选项来调整块内部的细节级别。
  2. 块内部结构: 每个块可以包含多个触发器(flip flops, ff)、查找表(look up tables, lut)和其他基本单元(primitives)。数字越高,您在集群级别块内部的层次结构中看到的细节就越深。
  3. 可视化效果: 通过调整这个选项,可以更详细地查看每个块内部的组件和结构。

通过这种可视化,用户可以更清楚地了解每个块的内部构成,包括触发器、查找表等组件的布局和连接。这对于分析和优化FPGA设计的性能和资源利用率非常重要。

视图菜单--来控制和查看不同层级的细节

  1. 视图菜单: 视图菜单在VPR目标为堆叠的多芯片架构(多于1层)时显示。这在标记为 "Fig. 49 Items under view menu" 的图片中展示。
  2. 层级绘制顺序: 层级按升序绘制,对于许多绘图特性(例如块)来说,层0首先绘制,如果可见,层1将绘制在其上,依此类推。
  3. 层级的可见性和透明度: 可以更改层级的可见性和透明度,这将影响块、网、路由和关键路径的显示。
  4. 跨层连接: 跨层连接指的是位于不同层级的连接。

通过这些功能,用户可以在处理复杂的多层FPGA设计时,有效地查看和分析不同层级的元素和连接。这对于理解和优化多层架构的设计至关重要,特别是在处理高密度或高性能的FPGA应用时。

按钮功能

按钮名称阶段功能详细描述
Blk Internal放置/路由控制子块显示深度多次点击以显示更多细节;达到最大细节级别时点击重置
Toggle Block Internal放置/路由调整块细节的可视化级别多次点击以深入集群级别块内的层次结构
Blk Pin Util放置/路由可视化块引脚使用率多次点击以可视化所有块引脚使用率、输入块引脚使用率或输出块引脚使用率
Cong. Cost路由可视化路由资源的拥塞成本
Congestion路由可视化过度使用的路由资源的热图
Crit. Path放置/路由可视化电路的关键路径
Draw Partitions放置/路由可视化放置约束
Place Macros放置/路由可视化放置宏
Route BB路由逐一可视化网的边界框多次点击以依次显示正在展示的网
Router Cost路由可视化不同路由资源的路由器成本
Routing Util路由用颜色可视化路由通道的使用率颜色指示通道中使用的线路比例
Toggle Nets放置/路由可视化电路中的网多次点击以设置网的可见/不可见
Toggle RR放置/路由可视化不同的路由资源视图多次点击以在FPGA中可用的路由资源之间切换

手动移动

  • 启用手动移动功能:

    • 在 Misc. 标签下激活 Manual Move(手动移动)切换按钮,然后按 Done(完成)。
    • 或者,用户可以激活 Manual Move 切换按钮并点击要移动的块。
  • 手动移动窗口:

    • 用户可以在手动移动窗口指定要移动的块的 Block ID/Block name(块ID/块名称)和 To location(目标位置),包括 x 位置、y 位置和子块位置。
    • 为了使手动移动有效,需要满足以下条件:

      • 用户请求的 To location(目标位置)应在网格的尺寸范围内。
      • 要移动的块被找到,有效且不是固定的。
      • 要交换的块是兼容的。
      • 用户选择的位置与块当前的位置不同。
  • 合法移动的成本总结窗口:

    • 如果手动移动是合法的,成本总结窗口将显示 delta cost(成本变化)、delta timing(时序变化)、delta bounding box cost(边界框成本变化)以及放置器的退火决策结果。
    • 用户可以根据提供的值接受或拒绝手动移动。如果接受,块的新位置将被显示。

这个功能为用户提供了更多的控制权,允许他们直接干预放置过程,这对于优化特定设计或解决特定问题非常有用。通过手动移动,用户可以更精确地控制电路布局,以达到更好的性能或满足特定的设计约束。

最后修改:2023 年 11 月 18 日
如果觉得我的文章对你有用,请随意赞赏