Shared Window and Data Buffer

Digital Down-conversion Chain Implementation on AI Engine (XAPP1351)

Document ID
XAPP1351
Release Date
2021-02-15
Revision
1.0 English

Manually managed overlap allows multiple carriers and filters to share the same input and output windows as shown in the following figure. When there are five carriers of 20 MHz LTE, the window can be logically divided into five buffers, one for each carrier. When there is only one carrier of 100 MHz 5G NR, the first four fifths of memory space will be allocated to the 100 MHz carrier alone and leaving the remaining one fifth of memory space unused. One single kernel with manually managed overlap can serve all the carriers of the same type with correctly specified input, overlap, and output pointer locations.

Figure 1. 5x HBF Sharing the Windows

AI Engine kernels with manually managed overlap can share the intermediate results memory among the channels, because samples are executed sequentially in the AI Engine. The following two figures illustrate the method to save AI Engine memory by sharing the intermediate result memory between HBF23 and FIR89/FIR199. The size of the intermediate result memory, shown in the orange block in the following figure, is only one fifth of the original non-sharing method (see Figure 3).

Figure 2. DDC Data Buffers With Data Memory Sharing (Proposed)
Figure 3. DDC Data Buffers Without Data Memory Sharing (Original)