Motorola DSP96002 User Manual page 633

32-bit digital signal processor
Table of Contents

Advertisement

_mid
move
move
move
do
move
move
faddsub.s d0,d1 x:(r4)+,d2.s
faddsub.s d4,d5 x:(r4)-,d3.s
faddsub.s d2,d3 d1.s,x:(r0)+
faddsub.s d6,d7 d0.s,x:(r0)+n0 d4.s,y:
move
move
_laststage
end
If it is desired to have the results in a single memory, then the last pass of the above algorithm can be mod-
ified to merge the data from X memory and Y memory back into X memory as the butterflies are performed.
Each butterfly is read from a separate memory space but the outputs are written to a single memory space.
This executes in 3 cycles per butterfly on the final stage. Note that the last stage performs 4 butterflies per
loop and the loop takes 12 cycles for an average of 3 cycles per butterfly on the final stage.
move
move
move
move
do
move
move
faddsub.s d0,d1 x:(r4)+,d2.s
faddsub.s d4,d5 x:(r4)-,d3.s
faddsub.s d2,d3 d1.s,x:(r0)+
move
faddsub.s d6,d7 d0.s,x:(r0)+n0
move
move
move
move
move
_laststage
B-114
#3,n0
n0,n4
(r4)+
;point to second butterfly
#n/8,_laststage
x:(r0)+,d0.s
x:(r0)-,d1.s
d3.s,x:(r4)+
d2.s,x:(r4)+n4 d6.s,y:
#data+n/2,r5
;pointer to move back to X
#3,n0
n0,n4
(r4)+
#n/8,_laststage
x:(r0)+,d0.s
x:(r0)-,d1.s
d5.s,x:(r5)+
d4.s,x:(r5)+
d3.s,x:(r4)+
d7.s,x:(r5)+
d2.s,x:(r4)+n4
d6.s,x:(r5)+
DSP96002 USER'S MANUAL
;new offset
;copy
;do last stage, 4 bflys at a time
y:,d4.s
y:,d5.s
y:,d6.s
y:,d7.s
d5.s,y:
d7.s,y:
;new offset
;copy
;point to second butterfly
;do last stage, 4 bflys at a time
y:,d4.s
;upper x,y #1
y:,d5.s
;lower x,1 #1
y:,d6.s
;upper x,y #2
y:,d7.s
;lower x,y #2
;save upper x #1
;move upper #1 back to X
;save lower x #1
;move lower #1 back
;save upper x,y #2
;move upper #2 back
;save lower x,y #2
;move lower #2 back
;upper x,y #1
;lower x,1 #1
;upper x,y #2
;lower x,y #2
;save upper x,y #1
;save lower x,y #1
;save upper x,y #2
;save lower x,y #2
MOTOROLA

Advertisement

Table of Contents
loading

Table of Contents