IO Buffer Interface for Filters - 2024.2 English - XD160

Vitis Libraries

Document ID
XD160
Release Date
2024-11-29
Version
2024.2 English

On the AI Engine processor, data can be packetized into IO buffers, which are mapped to the local memory.

IO buffers can be accessed with a 256-bit wide load/store operation, hence offering a throughput of up to 256 Gb/s (based on 1 GHz AIE clock).

IO buffers are implemented using a ping-pong mechanism, where the consumer kernel would read the ping portion of the buffer while the producer would fill the pong portion of the buffer that would be consumed in the next iteration.

In each iteration run, the kernel operates on a set number of samples from the input buffer, defined by the template parameter TP_INPUT_WINDOW_VSIZE. To allow the kernel to safely operate on buffered data, a mechanism of lock acquires and releases is implemented.