硬件执行期间的调试 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文
重要: 以下步骤描述了如何从命令行进行调试。但强烈建议您在 Vitis Unified IDE 中如下方式调试命令行工程:按 处理用户管理的流程 中所述方式在工作空间中打开命令行工程,并按 调试系统工程和 AI 引擎组件 中所述方式对其进行调试。

在硬件执行期间,实际硬件平台用于执行内核,您可运行应用来评估主机程序和加速内核的性能。但要调试硬件构建,则需要将额外的逻辑整合到应用中。这将影响内核耗用的 FPGA 资源以及硬件中运行的内核的性能。硬件构建的调试配置包括特殊的 ChipScope 调试核(如 Integrated Logic Analyzer (ILA)Virtual Input/Output (VIO) 核)以及用于调试的 AXI Performance Monitor。

提示: 在最终量产构建中应移除调试硬件所需的额外逻辑。

下图显示的是硬件构建的调试进程,包括使用 GDB 调试主机代码和使用 Vivado 硬件管理器 (Hardware Manager) 配合波形分析、内核活动报告以及存储器访问分析来识别和定位这些硬件问题。

图 1. 硬件执行

配置系统硬件构建以供进行调试后,即可确认 CPU 上运行的主机程序以及 AMD 器件上运行的 Vitis 加速内核在目标平台的实际硬件上是否正确执行。可识别并分析的部分状况包括:

  • 由于协议违例导致的系统挂起:
    • 这些违例可能破坏整个系统。
    • 这些违例可能造成内核获得无效数据或挂起。
    • 很难确定这些违例产生的位置或时间。
    • 要对此状况进行调试,应使用由 AXI Protocol Checker(需在 Vitis 目标平台上进行配置)所触发的 ILA。
  • 硬件内核问题包括:
    • 有时因实现导致的问题:时序问题、争用条件和无效的设计约束。
    • 硬件仿真未显示的功能漏洞。
  • 性能问题:
    • 例如,每秒处理的帧数并非您的期望值。
    • 您可以检查数据节拍和流水打拍。
    • 通过将 ILA 与触发定序器搭配使用,您可以检查突发量、流水打拍和数据宽度以确定瓶颈的位置。