AIE to HLS Kernel - 2025.2 English - UG1483

Vitis Model Composer User Guide (UG1483)

Document ID
UG1483
Release Date
2025-11-20
Version
2025.2 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 cint16and the HLS Kernel's input data type is ap_axis<64>, you would 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 whose maximum size is specified by the Output Size parameter. 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, 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 this property is enabled, the Output Size parameter has no lower bound. If the Output Size parameter is set 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.