rajhere
Junior Member level 3
Hi all,
I am working on adsp 2181 processor which is a 16 bit fixed bit point processor,
Now that to perform a MAC(mULTIPLY Accumlate Operation ) there are 4 diiferent type of modes.
1) Mulitply_Integer_Add_Integer(i.e. multiplying 2 operands in fixed integer And adding Result with another operand which is also in fixed point integer fromat).
Similarly we have other modes:-
2) Multiply_Integer_Add_Fract,
3) Multiply_Fract_Add_Integer,
4)Multiply_Fract_Add_Fract,
when performing the above MAC operation for these 4 different modes...
i get different results..
One example for all these operations is shown below
MX0 = 0x0019H(25d),
MY0=0x002EH(46d),
AX0=0x0024H(36d),
multiply Operation:-
MR= MXO*MY0
Fixed point Integer mode Res=047EH; by setting MXSTAT REG=0x0010h
Fixed point Fractional Mode Res=08FCH; by resetting MXSTAT REG=0x0000h
Add operation
AY0=MR
AR=AX0+AY0
AX0=0x0024H(36d),
1) Mulitply_Integer_Add_Integer
res AR=04A2H
2) Multiply_Integer_Add_Fract
Res AR=04A2H
3) Multiply_Fract_Add_Integer
Res AR=091FH
4)Multiply_Fract_Add_Fract
Res AR=091FH
My doubt is how to validate these results...?
Which mode is to be used for real time application?
I am working on adsp 2181 processor which is a 16 bit fixed bit point processor,
Now that to perform a MAC(mULTIPLY Accumlate Operation ) there are 4 diiferent type of modes.
1) Mulitply_Integer_Add_Integer(i.e. multiplying 2 operands in fixed integer And adding Result with another operand which is also in fixed point integer fromat).
Similarly we have other modes:-
2) Multiply_Integer_Add_Fract,
3) Multiply_Fract_Add_Integer,
4)Multiply_Fract_Add_Fract,
when performing the above MAC operation for these 4 different modes...
i get different results..
One example for all these operations is shown below
MX0 = 0x0019H(25d),
MY0=0x002EH(46d),
AX0=0x0024H(36d),
multiply Operation:-
MR= MXO*MY0
Fixed point Integer mode Res=047EH; by setting MXSTAT REG=0x0010h
Fixed point Fractional Mode Res=08FCH; by resetting MXSTAT REG=0x0000h
Add operation
AY0=MR
AR=AX0+AY0
AX0=0x0024H(36d),
1) Mulitply_Integer_Add_Integer
res AR=04A2H
2) Multiply_Integer_Add_Fract
Res AR=04A2H
3) Multiply_Fract_Add_Integer
Res AR=091FH
4)Multiply_Fract_Add_Fract
Res AR=091FH
My doubt is how to validate these results...?
Which mode is to be used for real time application?