在硬件仿真中调试 - 2023.2 简体中文

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

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

在硬件仿真期间,内核代码被编译到 RTL 代码中,以便您可先对内核的 RTL 逻辑进行评估,然后再将其实现到 AMD 器件中。主机代码可与内核的 RTL 模型的行为仿真并发执行,也可以直接导入或者通过 Vitis HLS 基于 C/C++/OpenCL 内核代码来创建。如需了解更多信息,请参阅 硬件仿真

下图显示了硬件仿真流程图,此流程图可在 Vitis 调试器中用于确认主机代码、剖析主机与内核性能、估算 FPGA 资源使用率以及通过使用精确的硬件模型 (RTL) 来验证内核。RTL 内核代码在 AMD Vivado™ 仿真器或第三方 RTL 仿真器中接受分析。GDB 则用于以更为传统的方式来对应用组件进行软件样式调试。

图 1. 硬件仿真

通过在数据集上运行硬件仿真来验证主机代码和内核硬件实现是否正确。硬件仿真流程会在 Vitis 核开发套件中调用 Vivado 逻辑仿真器来测试将在 FPGA 互连结构上执行的内核逻辑。模型之间的接口以传输事务级模型 (TLM) 来表示,以限制接口模型对于总体执行时间的影响。硬件仿真的执行时间比软件仿真更长。

提示: AMD 建议您使用小数据集在硬件仿真中进行调试和确认,因为在硬件仿真中运行调试和确认所需时间比在硬件器件中长得多。

在硬件仿真期间,您可以选择修改内核代码以改善性能。在硬件仿真中迭代主机和内核代码设计,直至功能正确并对估算的内核性能感到满意为止。