以下图像显示的是“Waveform”视图:
图 1. “Waveform”视图
“Waveform”(波形)视图和“Live Waveform”(实时波形)视图按层级组织,以方便导航。
- “Waveform”视图是基于硬件仿真(内核追踪)期间生成的实际波形来显示的。这样即可使查看器从上到下逐级衍生,直至负责处理抽象数据的单个信号为止。但由于“Waveform”视图是从后处理数据生成的,无法向报告中添加其它信号,而且部分运行时分析无法可视化,例如,DATAFLOW 传输事务。
- “Live Waveform”(实时波形)查看器显示的是 Vivado 逻辑仿真器 (
xsim
) 的运行情况,因此您可以在实时视图中添加额外信号以及寄存器传输级 (RTL) 设计内部信息。如需了解有关使用“Waveform”查看器的信息,请参阅 Vivado Design Suite 用户指南:逻辑仿真(UG900)。
“Waveform”视图和“Live Waveform”视图的层级包括:
- HLS 进程汇总
-
- 对应于 CU 中的用户函数的进程及其子进程的分层视图
- 对应各内核实例的条目,其中每个内核实例都包含用于用户函数建模的进程(展开各条目即可显示其中的进程)
- 对应于用户函数的所有进程的握手传输事务
- 包括数据流进程和非数据流/非流水打拍进程
- 进程上的传输事务(包括停滞)都使用对应的协议分析器实例来显示
- 允许您简要了解执行时间内各进程的使用情况(类似于 C/C++ 剖析功能)
- Device "name"
- 目标器件名。
- Binary Container "name"
- 二进制容器名称。
- Memory Data Transfers
- 对于每个 DDR 存储体,这里显示的是从主机到达该存储体的所有读写请求传输事务的追踪信息。
- Kernel "name" 1:1:1
- 对于每个内核和该内核的每个计算单元,此部分细分了源自计算单元的各种活动。
- Compute Unit: "name"
- 计算单元名。
- CU Stalls (%)
- 当由于外部存储器访问、内部串流(即数据流)或外部串流(即 OpenCL 管道)等原因造成电路的一部分停滞时,Vitis HLS 工具会提供停滞信号来提醒您。详细内核追踪中显示的停滞总线会对所有最低级别的停滞信号进行编译,并报告在任意时间点停滞的百分比。这样可以提供仿真中任意时间点处于停滞状态的内核数量因子。
例如,在给定时钟周期内,如果有 100 个最低级别的停滞信号,有 10 个信号处于活动状态,那么 CU 停滞百分比为 10%。如果其中任一信号变为不互动,则百分比变为 9%。
- Data Transfers
- 可显示从每个计算单元的 AXI 主端口到 DDR 发起的读写数据传输访问数。
- User Functions
- 此信息可用于 HLS 内核,并可显示用户函数。
- Function: "name"
- 函数名。
- HLS FIFO
-
- 此项所显示的波形对应于非 RTL 内核中创建的 HLS FIFO 大小
- 此波形采用模拟波形样式
- 针对包含 FIFO 的每个内核实例,此波形显示一个条目
- 模拟波形是通过追踪内核的内部 HDL 信号来生成的,该信号可以提供仿真期间 FIFO 内元素的当前数量。
- CU name
- 包含 FIFO 的 CU 名称
- FIFO instance name
- FIFO 实例的名称
- mOutPtr["size:"0]
- HDL 信号,此信号可提供仿真期间 FIFO 内元素的当前数量