数据流查看器 - 2021.2 Chinese

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2021-12-15
Version
2021.2 Chinese
DATAFLOW 最优化属于动态最优化,只有在完成 RTL 协同仿真后才能完全理解。有鉴于此,“Dataflow”(数据流)查看器允许您查看工具推断所得的数据流结构、检查通道 (FIFO/PIPO) 并检验通道深度对于性能的影响。根据协同仿真结果,将在“Dataflow”查看器中给性能数据添加反标注释。
重要: 您无需运行 RTL 协同仿真亦可打开“Dataflow”查看器,但这样视图中将不包含重要的性能信息,例如读/写阻塞时间、协同仿真深度和停滞时间。

您必须向设计应用 DATAFLOW 编译指示或指令方可在“Dataflow”查看器中填充这些信息。您可将数据流应用于顶层函数,或者应用于函数或循环的特定区域。“Dataflow”查看器会显示数据流图形结构表示法,以显示不同进程和底层生产者/使用者连接。

Module Hierarchy视图中,函数旁的 图标表示有“Dataflow”查看器可用。当您看到此图标时,您可右键单击函数并使用Open Dataflow Viewer命令。

图 1. 数据流查看器

“Dataflow”查看器的功能特性包括:

  • 源代码浏览器。
  • 从进程/通道到源代码的自动交叉探测。
  • 筛选端口和通道类型。
  • 进程 (Process) 和通道 (Channel) 表详列了设计的特性:
    • 通道剖析(FIFO 大小等),从Solution Settings对话框启用。
    • RTL 协同仿真后报告进程读取阻塞/写入阻塞/停滞时间。
      重要: 您必须使用cosim_design -enable_dataflow_profiling为“Dataflow”查看器捕获数据,并且测试激励文件必须运行顶层函数的至少 2 次迭代。
    • 显示进程时延和 II。
    • 通道类型和宽度均显示在“Channel”表中。
    • 从“Process”和“Channel”表到“Graph”和“Source”浏览器之间的自动交叉探测。
    • 悬停于通道或进程上即可显示工具提示(含设计信息)。

“Dataflow”查看器可帮助设计进行性能调试。RTL 协同仿真期间,如果设计发生死锁,那么 GUI 将打开“Dataflow”查看器并高亮死锁所设计的通道和进程,以便您判定原因,如 FIFO 深度不足等。

如果设计表现不及预期,那么“Process”和“Channel”表还能帮助您了解原因。进程可能发生停滞并等待读取输入,或者可能无法写入输出而导致停滞。“Channel”表可以提供停滞百分比并识别进程是处于“读取阻塞”还是“写入阻塞”状态。

提示: 如果您使用 Tcl 脚本来创建 Vitis HLS 工程,那么您仍可在 GUI 中将其打开以便分析设计。