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 isint32, 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.