EasyManua.ls Logo

Xilinx MicroBlaze

Xilinx MicroBlaze
316 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MicroBlaze Processor Reference Guide 229
UG984 (v2018.2) June 21, 2018 www.xilinx.com
Chapter 5: MicroBlaze Instruction Set Architecture
fmul
Floating-Point Arithmetic Multiplication
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
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
1 cycle with
C_AREA_OPTIMIZED=2
Note
This instruction is only available when the MicroBlaze parameter C_USE_FPU is greater than 0.
Send Feedback

Table of Contents

Other manuals for Xilinx MicroBlaze

Related product manuals