Asynchronous Window Connection for Multi-Rate Processing - 2022.2 English

AI Engine Kernel and Graph Programming Guide (UG1079)

Document ID
UG1079
Release Date
2022-10-19
Version
2022.2 English

For designs that has the size of the output window of a kernel, different than the size of the input window of the next kernel, AI Engine compiler performs an automatic multi-rate analysis for asynchronous window connections.

Note: For more information on multi-rate processing for synchronous window connections, refer to Synchronous Window Connection for Multi-Rate Processing.
This automatic multi-rate analysis is enabled by default in the aiecompiler. You can also set the repetition count for these kernels in the graph and they take precedence over the values which are automatically inferred by the aiecompiler.
async_repetition(kernel0.out[0]) = 3;
async_repetition(kernel1.in[0]) = 2;

The --disable-multirate=true aiecompiler option can be used to disable the automatic multi-rate analysis. If this option is set, the entire design must be a single rate design. The aiecompiler will issue an error if the output window of a kernel has a different size compared to the input window size of the following kernel.

Note: Each kernel has a user defined runtime<ratio> in the graph. If the repetition_count of the kernel is more than one, as determined by the compiler or defined by the user, the real run-time ratio that is taken into account for kernel placement is: runtime<ratio> x repetition_count. This can change the placement of the kernels drastically. The run-time ratio as determined by the aiecompiler is reported in the aiecompiler log file when options --log-level=5 and --verbose=true are set.