AIE to HLS Kernel - AIE to HLS Kernel - 2026.1 English - UG1483

Vitis Model Composer User Guide (UG1483)

Document ID
UG1483
Release Date
2026-06-23
Version
2026.1 English

The AIE to HLS Kernel block reformats a signal driven by a port of an AI Engine Kernel block, so that the resulting signal matches the data type and complexity required by an HLS Kernel block. For example, if the AI Engine's output data type is cint16 and the HLS Kernel's input data type is ap_axis<64>. In this case, use an AIE to HLS kernel block with parameter output type set to uint64. This block reads cint16 samples from its input and then packs pairs of subsequent cint16 samples into uint64 samples to its output.

Figure 1. AIE to HLS Kernel Block

Double-click the block symbol to see the parameters of the AIE to HLS Kernel block.

Output Data Type
You can select from cint16, int32, uint32, cint32, int64, uint64, sfix128, ufix128, float, cfloat.
Output Size
The size of the output port. The output port is a variable-sized signal. The Output Size parameter specifies its maximum size. The Output Size parameter has a lower bound, calculated based on the input data type, input size, and output data type. For example, if the input data type is cint16, the input size is 8, and the output data type is int32. In this case, the Output Size parameter must be at least 4. To use a smaller Output Size, enable the Allow Multiple-Rate Processing parameter.
Allow Multiple-Rate Processing
When you enable this property, the Output Size parameter has no lower bound. If you set the Output Size parameter to a value less than the original lower bound, the output sample rate is greater than the input sample rate.
Input Data Type
Possible values are: int8, int16, int32, int64, uint8, uint16, uint32, uint64, cint16, cint32, float, cfloat, bfloat16, cbfloat16.