ADDRESSING

The term bit reverse with respect to reverse-carry arithmetic is descriptive. The lower boundary that must be used for the bit-reverse address scheme to work is L x (2k). In the previous example shown in Table 4-3,L=3 and k=10. The first address used is the lower boundary (3072); the calculation of the next address is shown in Figure 4-14.The k LSBs of the current contents of Rn (3,072) are swapped:

EACH UPDATE, (Rn)+Nn, IS EQUIVALENT TO:

 

L

k BITS

1. BIT REVERSING:

Rn=000011 0000000000=3072

 

 

0000000000

2. INCREMENT Rn BY 1:

Rn=000011 0000000000

 

 

+1

 

000011

0000000001

3. BIT REVERSING AGAIN:

Rn=000011 0000000001

 

 

1000000000

 

000011

1000000000=3584

Figure 4-14 Bit-Reverse Address Calculation Example

Bits 0 and 9 are swapped.

Bits 1 and 8 are swapped.

Bits 2 and 7 are swapped.

Bits 3 and 6 are swapped.

Bits 4 and 5 are swapped.

The result is incremented (3,073), and then the k LSBs are swapped again:

Bits 0 and 9 are swapped.

Bits 1 and 8 are swapped.

Bits 2 and 7 are swapped.

Bits 3 and 6 are swapped.

Bits 4 and 5 are swapped.

The result is Rn equals 3,584.

4 - 24

ADDRESS GENERATION UNIT

MOTOROLA

Page 77
Image 77
Motorola 24-Bit Digital Signal Processor, DSP56000 manual Bit-Reverse Address Calculation Example