Hi All,
I have implemented the 32 bit fixed
point multiplication as described in EE-186 application note by Analog Devices. I have
briefly described it here...
op1(32)= op1H op1L (op1H and op1L
each are 16 bit)
op2(32)= op2H op2L (op2H and op2L each are 16 bit)
-------------
Ans = 32------->op1L*op2L -- (1)
(right shift 32 bits)
16--->op1H*op2L -- (2) (right shift 16 bits)
16--->op1L*op2H -- (3) (right
shift 16 bits)
0->op1H*op2H -- (4) (no
shift)
As the answer is to be restricted in 32 bit the first multiplication is
ignored. And the addition of (2),(3) & (4) give the final ans.
Now the problem is it takes too many cycles
to carry out the multiplication (even more than the floating point multiplication).
I have checked this in Visual DSP++ 4.0 software (simulated for BF535).
Can anyone please tell me why this would happen?? Also, is there any optimised way
to carry out multiplication and other mathematical operations for the DSP processor?? (I
do not have much idea of the assembly language of the DSP so I have to restrict my self to
program in C only).
Any help will be highly appreciated.
Thanks a lot,
B.S.D.
Yahoo! DSL Something to write home about. Just $16.99/mo. or less

(You need to be a member of adsp -- send a blank email to adsp-subscribe@yahoogroups.com )