Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

Floating point addition using ALTFP_ADD_SUB core

I am having an issue while using the Altera's floating point adder....

while performing addition or subtraction between a subnormal and a normal number, altera's core treats all subnormal numbers as zero so it always outputs the normal operand. This is true if we add a larger normal number with a subnormal number but for a normal number which is very close to the subnormal range, we have significant amount of error

For example

if 4.778436e-39 (a subnormal) is added with 2.458775e-37(a normal)

Output from Altera's core 2.45877e-37

While the actual answer is 2.506560e-37

Anybody knows if there is any exception in IEEE754 Floating Point standard regarding subnormal and normal addition/subtraction ????

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    At a guess that is an 'optimisation' (or maybe a bug) in the VHDL to avoid the extra comparator and shifter/mux required to process the subnormal value.

    Support for subnormal values as well as INF, NaN, -0 and the rounding rule(s) could be logic saving options for any FP unit.