192
MicroBlaze Processor Reference Guide
UG081 (v14.7)
Chapter 5:
MicroBlaze Instruction Set Architecture
fmul
Floating Point Arithmetic Multiplication
Description
The floating point value in rA is multiplied with the floating point value in rB and the result is placed
into register rD.
Pseudocode
if isDnz(rA) or isDnz(rB) then
(rD)
←
0xFFC00000
FSR[DO]
←
1
ESR[EC]
←
00110
else
if isSigNaN(rA) or isSigNaN(rB) or (isZero(rA) and isInfinite(rB)) or
(isZero(rB) and isInfinite(rA))
then
(rD)
←
0xFFC00000
FSR[IO]
←
1
ESR[EC]
←
00110
else if isQuietNaN(rA) or isQuietNaN(rB) then
(rD)
←
0xFFC00000
else if isDnz((rB)*(rA)) then
(rD)
←
signZero((rA)*(rB))
FSR[UF]
←
1
ESR[EC]
←
00110
else if isNaN((rB)*(rA)) then
(rD)
←
signInfinite((rB)*(rA))
FSR[OF]
←
1
ESR[EC]
←
00110
else
(rD)
←
(rB) * (rA)
Registers Altered
•
rD, unless an FP exception is generated, in which case the register is unchanged
•
ESR[EC], if an FP exception is generated
•
FSR[IO,UF,OF,DO]
Latency
•
4 cycles with
C_AREA_OPTIMIZED=0
•
6 cycles with
C_AREA_OPTIMIZED=1
Note
This instruction is only available when the MicroBlaze parameter
C_USE_FPU
is greater than 0.
fmul
rD, rA, rB
Multiply
0 1 0 1 1 0
rD
rA
rB
0 0 1 0 0 0 0 0 0 0 0
0
6
11
16
21
31
Содержание MicroBlaze
Страница 1: ...MicroBlaze Processor Reference Guide Embedded Development Kit EDK 14 7 UG081 v14 7...
Страница 4: ...MicroBlaze Processor Reference Guide www xilinx com UG081 v14 7...
Страница 8: ...8 www xilinx com MicroBlaze Processor Reference Guide UG081 v14 7 Chapter 1 Introduction Send Feedback...
Страница 262: ...262 www xilinx com MicroBlaze Processor Reference Guide UG081 v14 7 Send Feedback...