仅对英特尔可见 — GUID: bmi1567028253091
Ixiasoft
仅对英特尔可见 — GUID: bmi1567028253091
Ixiasoft
11.3.1. 从HLS代码创建对象
使用fpga_crossgen命令,可从HLS代码针对您的库创建对象。从HLS代码创建的对象包含模拟对象中的函数和为对象函数合成硬件所需的信息。
fpga_crossgen命令会从一个输入源文件创建一个对象文件。创建的对象只能用于针对相同Intel高层设计工具的库。
按照您 Intel® HLS Compiler安装的版本号为对象分配相同的版本号。库只能包含具有相同版本号的对象,并且只能与同一版本号的Intel高层设计工具一起使用。
extern "C" HLS_EXTERNAL int my_hls_func(int x);
fpga_crossgen <source_file> --target target_HLD_tool [-o <object_file_name>] [i++ command options}
- target_HLD_tool
该库使用的目标 Intel® 高层设计工具。此参数可以具有以下值之一:
- hls
将此对象包含到使用 Intel® HLS Compiler开发的组件的库中。
针对 Intel® HLS Compiler构建的对象是按照特定系统对象文件(Linux上为.o)而创建。不能将通过 Intel® HLS Compiler在某个操作系统上创建的对象在不同的操作系统上运行。
- aoc
将此对象包含在通过 Intel® FPGA SDK for OpenCL™ 开发的内核(kernel)的库中。
针对 Intel® FPGA SDK for OpenCL™ 构建的对象不特定于操作系统。这些对象按照 Intel® FPGA SDK for OpenCL™ 目标文件(.aoco)二创建。
您必须已经安装了 Intel® FPGA SDK for OpenCL™ Pro版才能使用此选项。SDK的版本必须与您的 Intel® HLS Compiler版本相同。
- hls
- i++命令选项
您可以指定任何需要的 Intel® HLS Compiler命令(i++)选项来编译库对象。关于 Intel® HLS Compiler命令选项,请参阅Intel HLS Compiler Pro版命令选项。
限制:您无法指定--simulator none i++命令选项。目标文件必须包含模拟信息。如果指定--simulator none i++命令选项,则fpga_crossgen命令失败,并显示类似以下的错误消息:objcopy: error: the input file 'my_library_file.o' has no sections
如果您没有通过-o选项指定目标文件名,则该目标文件名默认与源文件名同名。