Intel® High Level Synthesis Compiler Pro Edition: 用户指南

ID 683456
日期 12/04/2023
Public
文档目录

A.3.2. Loops Viewer (Alpha)

使用High-Level Design Reports中的Loops Viewer来查看组件和任务函数中的隐式和显式循环的行为。Loops Viewer将行为显示为颜色编码的条形图。

Alpha: Loops Viewer作为阿尔法级的工具是会受到一些限制的。请参考 Intel® High Level Synthesis Compiler Pro Edition Release Notes 中的 Known Issues and Workarounds 来了解详细信息。

默认情况下,Loops Viewer显示循环的一次迭代(行程次数为1)的可视化效果,除非在您的代码中定义了循环的恒定迭代次数。您可以调整显示的迭代次数并更新查看器,以查看循环的不同行程次数对组件的影响。

若要访问工具报告,请点击Throughput Analysis > Loops Viewer

Loops Viewer包含以下窗格:
  • Loops List

    Loops List窗格显示了compiler在设计中识别的一列显式和隐示循环。

    单击Loops List窗格中的条目,将Loops Viewer窗格中显示的图形聚焦于设计中的某个循环上,或者单击System,在Loops Viewer窗格中显示设计中的所有循环。

  • Bottlenecks

    在Loops Viewer中,此窗格不提供任何信息。

    若要查看关于循环瓶颈的信息,请使用Loop Analysis Report中的Bottlenecks窗格。关于此报告的详细信息,请参考Loop Analysis报告

  • Code view

    通过代码视图窗格可以查看与设计相关的所有代码。

  • Details

    当您单击Loops Viewer窗格中的某一行时,Details窗格会提供额外的详细信息(如果可用)。

Loops Viewer窗格

Loops Viewer窗格分为以下部分:

  • 左侧部分显示循环及其部分的标签,以及循环部分的开始和结束周期。该部分还显示了一个循环的行程计数。

    若要调整循环显示的行程次数,请更改循环的循环的Trip Count域中的值,然后单击Update

    您可能需要左右滚动才能看到Trip Count域和Update按钮。

  • 右侧部分显示了循环调用和循环迭代的持续时间(时钟周期数为单位),显示为图表中的水平条,类似于Gantt图的表示法。
    水平条的颜色编码如下:
    表 7.  Loops Viewer颜色编码
    颜色 描述
    黑色条显示循环调用的长度。

    当您的设计运行时,可以多次调用一个循环。

    粉色条显示循环迭代的长度。

    一个循环迭代是循环体的一次执行。一次循环调用通常会导致多次循环迭代。

    浅粉色条显示推测的循环迭代。

    推测的迭代是在计算循环退出条件时启动的循环迭代。它们有助于在组件中实现更高效的循环流水线。

    关于推测的迭代的更多信息,请参考 Intel High Level Synthesis Compiler Pro Edition Reference Manual 中的 Loop Iteration Speculation (speculated_iterations Pragma)

    蓝色条显示最内层循环体之外的逻辑执行情况,包括编译器创建的循环控制逻辑。
    浅蓝色条显示编译器添加的握手寄存器。