创建新的 Vitis HLS 工程 - 2021.2 Chinese

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

Document ID
UG1399
Release Date
2021-12-15
Version
2021.2 Chinese

要创建新工程,请在“Welcome”页面上单击Create New Project链接,或者选择File > New Project菜单命令。这样会打开New Vitis HLS ProjectWizard,如下图所示。

图 1. New Vitis HLS ProjectWizard

使用以下步骤创建新的 Vitis HLS 工程:

  1. 指定工程名称,与用于写入工程文件和文件夹的目录名称相同。
  2. 指定工程写入的位置。
    重要: Windows 操作系统对于路径长度存在 255 个字符的限制,这可能影响 Vitis 工具。为避免此问题,创建工程或添加新文件时,请尽可能使用最短的名称和目录位置。
  3. 单击Next以前进至Add/Remove Design Files页面。
    Add/Remove Design Files页面允许您将 C/C++ 源文件添加到自己的工程内,如下图所示:

  4. 单击Add Files,并导航到要添加到工程内的源代码文件所在位置。

    请勿使用Add Files按钮或 add_files Tcl 命令将头文件(含 .h 后缀)添加到工程中。Vitis HLS 会自动将以下目录添加到编译搜索路径中:

    • 工作目录,其中包含 Vitis HLS 工程目录。
    • 包含已添加到该工程中的 C/C++ 文件的任意目录。

    驻留在这些目录中的头文件会在编译期间自动包含到工程中。但您可以使用Edit CFLAGS功能来指定其它包含路径。

  5. (可选)单击New File以创建新的源文件并添加到工程中。这样会打开“File Browser”(文件浏览器)对话框,以便您指定新文件的文件名和存储位置。
    提示: 如果您要将新文件写入将为新工程创建的目录,则必须等待至完成创建工程后才能创建新文件。
  6. 您可以选中文件并单击Edit CFLAGSEdit CSIMFLAGS以打开对话框,并在其中为选定文件添加一个或多个编译器或仿真标志。
    下图显示了 CFLAGS 示例:

    编译器标志是 gccg++ 的标准编译器选项。要获取完整的选项列表,请参阅 GNU Compiler Collection (GCC) 网站上的 http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html。以下是部分 CFLAGS 示例:

    -I/source/header_files
    提供关联头文件的搜索路径。您可指定指向文件的绝对路径或相对路径。
    重要: 您必须指定与工作目录相关的相对路径,而不是工程目录相关的路径。
    -DMACRO_1
    定义编译期间的宏 MACRO_1
    -fnested-functions
    定义包含嵌套函数的任何设计所需的指令。
    提示: 您可使用 $::env(MY_ENV_VAR) 来指定 CFLAGS 中的环境变量。例如,要在编译中包含目录 $MY_ENV_VAR/include,可将 CFLAG 指定为 -I$::env(MY_ENV_VAR)/include
  7. 单击Remove从工程中删除任何不需要的文件或错误添加的文件。
  8. Top Function字段旁,单击Browse即可列出添加的文件中找到的函数和子函数。
    这样会打开Select Top Function对话框,如下所示。此对话框会列出添加的文件中找到的函数,并允许您指定其中哪些属于 HLS 所需的顶层函数。

    提示: 您可在可用字段中直接输入顶层函数的名称。但在工程中添加源文件后,该工具会列出可用函数以供您选择。
  9. Add/Remove Design Files页面中添加完文件并指定顶层函数后,请单击Next以继续。
    Add/Remove Testbench Files对话框中,您可向工程添加测试激励文件和其它必要文件,如下图所示。
    提示: 不强制要求向工程添加测试激励文件。如果愿意,您可直接单击Next跳过此步骤。


  10. 就像 C 语言源文件一样,单击Add Files以添加测试激励文件。单击Edit CFLAGSEdit CSIMFLAGS以包含任何编译器选项。
  11. 除 C 语言源文件外,测试激励文件读取的所有文件都必须添加到工程内。在如上图所示示例中,测试激励文件会打开 in.dat 文件以向设计提供输入激励,并从 out.golden.dat 文件中读取期望的结果。由于测试激励文件会访问这些文件,因此这 2 个文件都必须包含在工程内。
    提示: 如果目录中存在测试激励文件,则可通过单击Add Folder将整个目录添加到工程中,而无需单独添加各文件。
  12. 单击Next以继续,这样会打开Solution Configuration对话框,以便您为工程配置初始解决方案。

  13. 请指定Solution Name以收集工程的特定配置的工程指令、结果和报告。您可通过设置多个解决方案来创建不同的工程配置,以便快速找到最佳解决方案。
  14. Clock下,指定Period(以 ns 为单位),或者指定以 MHz 为后缀的频率值(例如,150 MHz)。如需了解更多信息,请参阅 指定时钟频率
  15. 指定Uncertainty用于同步,计算方式为时钟周期减去时钟不确定性。Vitis HLS 使用内部模型来估算每个器件的操作延迟。时钟不确定性值可提供可控裕度以防由于 RTL 逻辑综合、布局和布线而导致的信号线延迟增加。指定以纳秒 (ns) 为单位的值,或者指定时钟周期百分比值。默认时钟不确定性为时钟周期的 12.5%。
  16. 单击浏览按钮 () 显示Device Selection Dialog框,完成工程的Part Selection(器件选择)。

    Device Selection Dialog框允许您为工程选择器件,可选择器件或者开发板,例如, Alveo™ 数据中心加速器卡。您可单击Search使用筛选功能来减少器件列表中的器件数量。

  17. 从下拉菜单中选择Flow Target以选择相应的流程目标、配置工程并启用已综合的工程的输出,如 Vitis HLS 进程概述 中所述。通过指定Flow Target,即可配置 HLS 工具,以便为 Vitis 应用加速开发流程开发内核,或者开发 RTL IP 以供在 Vivado Design Suite 中使用。
  18. 单击Finish以创建和打开新的 Vitis HLS 工程,如下图所示。

默认情况下,Vitis HLS IDE 初始会显示 4 个窗格:

  • 左上角的Explorer视图允许您浏览工程层级。在硬盘上的工程目录中存在相似的层级。
  • 中间的Information区域会显示报告汇总信息和打开的文件。在Explorer视图中双击文件即可将其打开。
  • 底部的Console视图会在 Vitis HLS 运行综合或仿真时显示输出。
  • 左下角的Flow Navigator视图支持访问命令和进程(如 使用 Flow Navigator 中所述),以便使用您的源代码来运行仿真、综合并导出输出。
  • 虽然默认情况下不显示源代码,但在Information区域中打开源代码时,会在右侧显示Outline视图和Directive视图,并显示与代码层级相关的信息。

除了默认显示的视图外,通过启动特定进程(例如,C/RTL 协同仿真)或者打开源文件或报告还可打开其它视图。在主菜单中使用Window > Show View命令可打开其它视图。