Floating Point Unit (FPU)
Overview
The MicroBlaze floating point unit is based on the
•
•
•
•
For improved performance, the following non-standard simplifications are made:
•
•
•
•
Format
An IEEE 754 single precision floating point number is composed of the following three fields:
1.
2.
3.
The fields are stored in a 32 bit word as defined in
0
1
↑
↑
sign
exponent
The value of a floating point number v in MicroBlaze has the following interpretation:
1.
2.
3.
4.
5.
1. Numbers that are so close to 0, that they cannot be represented with full precision, that is, any number n that falls in the
MicroBlaze Processor Reference Guide
UG081 (v14.7)
Uses IEEE 754 single precision floating point format, including definitions for infinity, not-a-
number (NaN), and zero
Supports addition, subtraction, multiplication, division, comparison, conversion and square
root instructions
Implements round-to-nearest mode
Generates sticky status bits for: underflow, overflow, divide-by-zero and invalid operation
(1)
Denormalized
operands are not supported. A hardware floating point operation on a
denormalized number returns a quiet NaN and sets the sticky denormalized operand error bit in
FSR;
see "Floating Point Status Register (FSR)" on page 34
A denormalized result is stored as a signed 0 with the underflow bit set in FSR. This method is
commonly referred to as Flush-to-Zero (FTZ)
An operation on a quiet NaN returns the fixed NaN: 0xFFC00000, rather than one of the NaN
operands
Overflow as a result of a floating point operation always returns signed ∞
1-bit sign
8-bit biased exponent
23-bit fraction (a.k.a. mantissa or significand)
9
Figure 2-24: IEEE 754 Single Precision Format
If exponent = 255 and fraction <> 0, then v= NaN, regardless of the sign bit
If exponent = 255 and fraction = 0, then v= (-1)
If 0 < exponent < 255, then v = (-1)
If exponent = 0 and fraction <> 0, then v = (-1)
If exponent = 0 and fraction = 0, then v = (-1)
-38
following ranges: ( 1.17549*10
> n > 0 ), or ( 0 > n > -1.17549 * 10
www.xilinx.com
IEEE 754-1985
standard:
Figure
2-24:
↑
fraction
sign
* ∞
sign
(exponent-127)
* 2
* (1.fraction)
sign
-126
* 2
* (0.fraction)
sign
* 0
-38
)
Floating Point Unit (FPU)
31
79
Send Feedback
Need help?
Do you have a question about the MicroBlaze and is the answer not in the manual?