[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [openrisc] OR1200-FPU: Doubt about denormalized numbers



Stefano,

If you think out the problem you can derrive the correct solution.
However, please note that the correct sollution might not be that
which has been adopted by some of the standards committies. IEEE?

Rounding should be made at the transition area between the least
significant bit position and the internal product temporary that
follows this bit position i.e. the portion of the product that is
not stored as a final result. Note, depending on the design,
the wider temporary might not be rounded if it is used in
a subsequent operation. In which case rounding is delayed
until result is stored into a bit-narrower result location.

Rounding at this bit position adjusts for a 1/2 bit error at
this bit position. If you shift left after rounding then this 1/2 bit
error position shifts with the rest of the bits and thus makes
the error larger. Therefore, the "correct" choice would be
to round after normalization. (unless the bit wider temp is
used in a subsequent operation e.g. MAC (multiplying
accumulator)).

An additional note. Part of the multiplication process includes
the addition of the exponents. It is possible that the addition
of the exponents of non-normalized numbers can overflow
while the addition of the same numbers normalized does not
overflow. Therfore, prior to reporting an overflow you might
want to test for non-normalized multiplier/multiplicand and
if found normalize and try again, else report overflow.

Jim Dempsey

----- Original Message -----
From: "Stefano Tonello" <stefano.tonello@pdf.com>
To: <openrisc@opencores.org>; <fpu@opencores.org>
Sent: Friday, May 31, 2002 3:46 AM
Subject: [openrisc] OR1200-FPU: Doubt about denormalized numbers


> Hi All,
>
> I've the following doubt about the management of denormalized numbers in
> the FP multiplication:
>
> If one operand is normalized and the other one isn't, the result exponent
> can be > 0, while the result significand is denormalized, and thus a left
> shift is (with consequent exponent reduction) in order to provide a final
> result normalized, or as closest as possible to a normalized form.
>
> The question is: do I have to apply the shift before, or after, rounding
> operations?
>
> Bye
> Stefano
>
> --
> To unsubscribe from openrisc mailing list please visit
http://www.opencores.org/mailinglists.shtml
>

--
To unsubscribe from openrisc mailing list please visit http://www.opencores.org/mailinglists.shtml