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

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

A.2.1.4. 查看集群信息(Reviewing Cluster Information)

使用System Viewer 报告中的Cluster Views来检查一个集群内计算的数据路径。 Intel® HLS Compiler Pro Edition将指令分组成集群以以减少综合组件时所需的握手逻辑数量。

关于集群的描述,请查看 Intel® HLS Compiler Pro Edition Best Practices Guide 中的 Clustering the Datapath

一个集群以一个entry节点开始,并一个exit节点结束。这些节点与集群外部的逻辑进行握手。

对于一个无停顿集群(stall-free cluster),集群的exit节点有一个深度大于或等于集群延迟的FIFO。此FIFO存储需要在集群外部传递的所有正在运行的数据。如要查看cluster exit FIFO的大小,请点击exit节点,然后在Details窗格中查看信息。

如果您的设计包含循环,那么您会看到loop orchestration节点(标记为Loop Orch)和变量节点以及计算节点。循环编排(loop orchestration)节点和变量节点与其Feedback节点一起显示。

编译器通过生成循环编排节点对循环进行流水线化,从而提高性能。

一个变量节点与设计中具有循环携带依赖关系的变量相对应。一个变量节点经过各种计算逻辑,最后反馈到一个连接回此变量节点反馈节点。这种连接表明此变量的新值将传递到下一次迭代。

查找到反馈节点的延迟时间较长的循环携带变量,因为它们可能是启动间隔(II)瓶颈。请参考Loop Analysis报告以反映此II瓶颈。

反馈节点有一个FIFO,用于存储循环的不同迭代中变量的动态(in-flight)值,其大小等于依赖距离乘以II。依赖距离是指连续加载/存储操作之间相互依赖的迭代次数。

在Cluster View中,您可以通过点击exit node并查看Details窗格在Block View中找到cluster exit FIFO的大小。

通过在Graph List窗格中点击一个集群,您可以在Graph View窗格中查看此集群。

点击Cluster View窗格中的节点来查看有关该节点的详细信息,并突出显示节点输入和输出的连接。对于可停顿节点,details中提供的延迟值是估计值。要获得更准确的延迟值,请在您的组件上运行仿真。