对 C/C++ PL 内核进行编译 - 2023.2 简体中文

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文
重要: 运行工具前,请按 设置 Vitis 环境 中所述方式设置命令 shell 或窗口。

如需了解有关 PL 内核对象的编程、仿真与综合技巧的描述,请参阅 Vitis 高层次综合用户指南(UG1399)。内核对象文件 (.xo) 可由 HLS 编译器 (v++ -c --mode hls) 来编译,如下所述。已编译的对象文件可与 AI 引擎计算图应用与目标平台链接,并搭配 v++ --link 命令一起使用,如 链接系统 中所述。

提示: PL 内核必须分 2 个独立步骤进行编译 (-c) 和链接 (-l)。
要编译 PL 内核,请使用以下命令行作为示例:
v++ -c --mode hls --config ./src/hls_config.cfg --work_dir vadd

所用各实参如下所述:

  • -c:指定 v++ 命令的编译模式。可使用 -c--compile 来指定此项
  • --mode hls:启动 Vitis 编译器的 HLS 编译器模式
  • --config <config_filename>:指定搭配 HLS 编译器一起使用的配置文件。此配置文件包含 v++ 模式 HLS 中所述的 HLS 编译器选项。请参阅 Vitis 高层次综合用户指南(UG1399) 中的创建 HLS 组件获取更多详细信息。配置文件将指定:
    • 构建的目标平台或器件。v++ --link 命令中指定的平台必须与用于 HLS 编译命令的目标平台或器件相匹配
    • PL 内核的一个或多个 C++ 源文件
    • 如需输出名称,配置文件还将指定一个输出名称。默认输出名称与顶层函数相同,并带有 .xo 扩展名
  • --work_dir:指定由 v++ 编译器创建的 HLS 组件的位置
提示: HLS 编译器模式无需目标。已编译的对象文件 (.xo) 适用于硬件仿真构建和硬件构建。但 v++ -c --mode hls 命令不会生成 PL 内核以供软件仿真使用。要生成软件方针目标,必须使用 为软件仿真编译 PL 内核 中所述方法。

请参阅 v++ 命令的输出目录,以了解 HLS 编译器生成的各输出文件的位置。

完成编译步骤后,此进程中生成的任何报告都会收集到 <kernel_name>.compile_summary 内。此报告集合可通过打开 Vitis Unified IDE 的“Analysis”(分析)视图中的 compile_summary 来查看,包括汇总报告、时序和资源估算的内核估算、提供编译建议的内核指南以及 HLS 综合 log 日志。如需了解更多信息,请参阅 使用“Analysis”视图 (Vitis Analyzer)