Visible to Intel only — GUID: gcs1582303501648
Ixiasoft
Visible to Intel only — GUID: gcs1582303501648
Ixiasoft
11.4.1.4.1.1. Interaction Between ALLOW_MERGINGand HAS_SIDE_EFFECTS Elements
The ALLOW_MERGING and HAS_SIDE_EFFECTS elements help the Intel® HLS Compiler optimize hardware use of your RTL component. Consider the effects of these element carefully when setting their values.
The combination you select depends on your design architecture. For example, you can tell the compiler that you want the compiler to replicate the RTL block for multiple calls or vectorized code.
ALLOW_MERGING Value | HAS_SIDE_EFFECTS Value | Combination Effect |
---|---|---|
no | no | Each call to an RTL library corresponds to one distinct instance in the hardware. Calls might be optimized away by the compiler if deemed redundant or unnecessary. Calls might be vectorized, with multiple instances in the hardware created for a single RTL library call. |
no | yes | Each call to an RTL library corresponds to one distinct instance in hardware. Calls are not optimized away by the compiler. |
yes | no | Multiple calls to an RTL library might be merged into one call, and hence correspond to one instance in the hardware. Calls might be optimized away by the compiler if deemed redundant or unnecessary. Calls might be vectorized, with multiple instances in the hardware created for a single RTL library call. |
yes | yes | Multiple calls to an RTL library might be merged into one call, and hence correspond to one instance in hardware. Calls are not optimized away by the compiler. |