Intel® 高层次综合编译器专业版Pro版: 参考手册

ID 683349
日期 12/04/2023
Public
文档目录

11.1. 静态对象库

静态对象库是单个平台特定的存档文件,其中包含一个或多个目标文件,每个目标文件包含一个或多个函数的实现。

对象文件和库文件与您编译 Intel® HLS Compiler代码的操作系统使用相同的格式,其他部分携带附加的库信息。Linux平台上,库是包含.o目标文件的.a存档文件。在Windows平台上,库是包含.obj目标文件的.lib存档文件。

您可以从组件调用库中的函数,而无需了解硬件设计或库中底层函数的实现细节。编译组件时,将库添加到i++命令行。

您可以从HLSC++代码源文件或寄存器传输级(RTL)语言源文件创建库。您可以将库用于以下 Intel® 高层次设计产品:
  • Intel® HLS Compiler Pro Edition
  • Intel® FPGA SDK for OpenCL™ Pro版

    要从您的HLS代码创建一个针对 Intel® FPGA SDK for OpenCL™ 的库,您必须已经安装了 Intel® FPGA SDK for OpenCL™ Pro版。SDK版本必须与您的 Intel® HLS Compiler版本相同。

创建库分为两个步骤
  1. 每个目标文件都使用fpga_crossgen命令从输入源文件生成。

    需要的输入源文件取决于您创建目标对象的源代码类型。

    目标对象实际上是源代码的中间表示,具有代码的CPU表示和FPGA表示。

    一个目标对象只能针对使用一个 Intel® 高层设计产品。如果要以多个高层设计产品为对象,则必须为每个目标产品生成单独的对象。

  2. 通过fpga_libtool命令将目标文件收集到库文件中

    可以将从不同类型源代码创建的对象收集到一个库中,只要所有目标文件都以相同的高层设计产品为对象。

    库必须由相同版本号的Intel FPGA高层设计工具构建和使用。例如,要使用Intel HLS Compiler Version 23.4编译您的组件,则您组件中包含的库也必须是使用Intel FPGA高层设计工具23.4创建。

图 18. 库创建过程的高层次视图