Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 6/02/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

11.3. Creating Objects From HLS Code

You can create a library from object files from your HLS source code. An HLS-based object file contains code for CPU execution (testbench and emulation) and FPGA execution. A library can contain multiple object files.

You can create object files for use with different Intel high-level design tools from the same HLS source code.

Depending on the target high-level design tool, your source code might require adjustments to support tool-specifc data types or constructs.

Remember: Ensure that the library functions in your HLS source code are not declared with the HLS component keyword.

Intel® HLS Compiler

No additional work is needed in your HLS source code when you use the code to create objects for Intel® HLS Compiler libraries.

Intel® FPGA SDK for OpenCL™

The Intel® FPGA SDK for OpenCL™ supports language constructs that are not natively supported by C++. Your code might need modifications to support those constructs.

The Intel® HLS Compiler supports a limited set of OpenCL* language constructs through the ocl_types.h header file. For details, review Supported OpenCL Language Constructs.

To create an object from your HLS code that targets the Intel® FPGA SDK for OpenCL™ , you must have the Intel® FPGA SDK for OpenCL™ Pro Edition installed. The version of the SDK must be the same as your version of Intel® HLS Compiler.