ADSP-BF53x/BF56x Blackfin Processor Programming Reference
15-69
Arithmetic Operations
Table 15-5. Multiply and Multiply-Accumulate to Data Register
Options
Option
Description
Default
Signed fraction format. Multiply 1.15 * 1.15 formats to produce 1.31 results after
shift correction. The special case of 0x8000 * 0x8000 is saturated to 0x7FFF FFFF
to fit the 1.31 result.
Sign extend 1.31 result to 9.31 format before copying or accumulating to Accumu-
lator. Then, saturate Accumulator to maintain 9.31 precision; Accumulator result
is between minimum 0x80 0000 0000 and maximum 0x7F FFFF FFFF.
To extract, saturate the result to 1.31 precision and copy it to the destination regis-
ter. Result is between minimum -1 and maximum 1-2-31 (or, expressed in hex,
between minimum 0x8000 0000 and maximum 0x7FFF FFFF).
(FU)
Unsigned fraction format. Multiply 0.16* 0.16 formats to produce 0.32 results.
No shift correction. The special case of 0x8000 * 0x8000 yields 0x4000 0000. No
saturation is necessary since no shift correction occurs.
Zero extend 0.32 result to 8.32 format before copying or accumulating to Accu-
mulator. Then, saturate Accumulator to maintain 8.32 precision; Accumulator
result is between minimum 0x00 0000 0000 and maximum 0xFF FFFF FFFF.
To extract, saturate the result to 0.32 precision and copy it to the destination regis-
ter. Result is between minimum 0 and maximum 1-2-32 (or, expressed in hex,
between minimum 0x0000 0000 and maximum 0xFFFF FFFF).
(IS)
Signed integer format. Multiply 16.0 * 16.0 formats to produce 32.0 results. No
shift correction.
Sign extend 32.0 result to 40.0 format before copying or accumulating to Accumu-
lator. Then, saturate Accumulator to maintain 40.0 precision; Accumulator result
is between minimum 0x80 0000 0000 and maximum 0x7F FFFF FFFF.
To extract, saturate for 32.0 precision and copy to the destination register. Result
is between minimum -231 and maximum 231-1 (or, expressed in hex, between
minimum 0x8000 0000 and maximum 0x7FFF FFFF).
(S2RND)
Signed fraction with scaling and rounding. Multiply 1.15 * 1.15 formats to pro-
duce 1.31 results after shift correction. The special case of 0x8000 * 0x8000 is sat-
urated to 0x7FFF FFFF to fit the 1.31 result. (Same as the Default mode.)
Sign extend 1.31 result to 9.31 format before copying or accumulating to Accumu-
lator. Then, saturate Accumulator to maintain 9.31 precision; Accumulator result
is between minimum 0x80 0000 0000 and maximum 0x7F FFFF FFFF.
To extract, shift the Accumulator contents one place to the left (multiply x 2), sat-
urate the result to 1.31 precision, and copy it to the destination register. Result is
between minimum -1 and maximum 1-2-31 (or, expressed in hex, between mini-
mum 0x8000 0000 and maximum 0x7FFF FFFF).
Summary of Contents for ADSP-BF53x Blackfin
Page 38: ...Conventions xxxviii ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 134: ...System Reset and Powerup 3 18 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 324: ...Instruction Overview 7 20 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 486: ...Instruction Overview 13 28 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 512: ...Instruction Overview 14 26 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 604: ...Instruction Overview 15 92 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 688: ...Instruction Overview 18 48 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 742: ...Instruction Overview 19 54 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 752: ...Examples 20 10 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 790: ...ADSP BF535 Flags A 10 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 800: ...Performance Monitor Registers B 10 ADSP BF53x BF56x Blackfin Processor Programming Reference...
Page 1042: ...Index I 40 ADSP BF53x BF56x Blackfin Processor Programming Reference...