I see that somebody already posted a fix, but I'll put my own spin on
it.
First, we now have documentation for the fixed and floating point packages:
http://www.eda.org/vhdl-200x/vhdl-20...s/Fixed_ug.pdf
and
http://www.eda.org/vhdl-200x/vhdl-20...s/Float_ug.pdf
Also, for VHDL-2002 and VHDL-93 I created special versions of these packages
which synthesize and simulate without using any of the VHDL-2005 tricks:
http://www.eda.org/vhdl-200x/vhdl-20...ixed_pkg_c.vhd
http://www.eda.org/vhdl-200x/vhdl-20...base_pkg_c.vhd
These are designed to be compiled into an "IEEE_PROPOSED" library.
I am in the middle of making some changes to these packages. When I am done,
the IEEE (IEEE_PROPOSED) library will have the following packages in it:
fixed_pkg
float_pkg
These packages will be instances of "fixed_generic_pkg" and "float_generic_pkg",
and will look like this (in VHDL-2005):
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.fixed_pkg.all;
package float_pkg is new ieee.float_generic_pkg
generic map (
fp_round_style => round_nearest; -- round nearest algorithm
fp_denormalize => true; -- Use IEEE extended floating
-- point (Denormalized numbers)
fp_check_error => true; -- Turn on NAN and overflow processing
fp_guard_bits => 3 -- number of guard bits
);
Where the type "float" will need to be constrained by the user. "float32",
"float64", and "float128" will be predefined. For "fp16" the user will have to say:
subtype fp16 is float (9 downto -6);
I will create VHDL-93 compatable versions of these packages, but the
"fphdl16_pkg" will not be in the next release.