6.7 Circular Addressing
Figure 6–4. Logical and Physical Representation of Circular Buffer
a)
Logical representation
Figure 6–5. Logical and Physical Representation of Circular Buffer after Writing Three Values
a) Logical representation
Many DSP algorithms, such as convolution and correlation, require a circular
buffer in memory. In convolution and correlation, the circular buffer acts as a
sliding window that contains the most recent data to process. As new data is
brought in, the new data overwrites the oldest data by increasing the pointer
to the data through the buffer in counter-clockwise fashion. When the pointer
accesses the end of the buffer, the device sets the pointer to the beginning of
the buffer. For example, Figure 6–4a shows a circular buffer that holds six values.
Figure 6–4b shows how this buffer is implemented in the 'C3x memory space.
Figure 6–5 shows this buffer after writing three values. Figure 6–6 shows this
buffer after writing eight values.
Start
End
Start
End
value 0
value 1
value 2
b)
Physical representation
Start
End
b) Physical representation
value 0
Start
value 1
value 2
End
Addressing Modes
Circular Addressing
6-21