Stream Data Types - 2020.2 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
Release Date
2020.2 English
Table 1. Supported Stream Data Types
Input Stream Types Output Stream Types
input_stream_int8 output_stream_int8
input_stream_int16 output_stream_int16
input_stream_int32 output_stream_int32
input_stream_int64 output_stream_int64
input_stream_uint8 output_stream_uint8
input_stream_uint16 output_stream_uint16
input_stream_uint32 output_stream_uint32
input_stream_uint64 output_stream_uint64
input_stream_cint16 output_stream_cint16
input_stream_cint32 output_stream_cint32
input_stream_acc48 output_stream_acc48
input_stream_cacc48 output_stream_cacc48
input_stream_float output_stream_float
input_stream_cfloat output_stream_cfloat

Each of the data types in the table can be read or written from the AI Engine or programmable logic kernels as either scalars or in vector groups. However, there are certain restrictions on valid groupings based on the bus data width supported on the AI Engine to programmable logic interface ports or through the stream-switch network. The valid combinations for AI Engine kernels are vector bundles totaling up to 32-bits or 128-bits. The valid combinations for programmable logic kernels are vector bundles totaling up to 32-bits, 64-bits, or 128-bits bus. The accumulator data types are only used to specify cascade-stream connections between adjacent AI Engines. Its valid groupings are based on the 384-bit wide cascade channel between two processors.

Note: To use these data types, it is necessary to use #include <adf.h> in the kernel source file.