Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 6/02/2023

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

Document Table of Contents
Give Feedback

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.