Numeric_Std Package
The package numeric_std is defnied in the library IEEE. This package is not part of the VHDL LRM.
IEEE Standard 1076.3 (the numeric standard) was developed to help synthesis tool users and vendors by providing standard, portable data types and operations for numeric data, and by providing more clearly defined meaning for the nine values of the IEEE 1164 std_logic and std_ulogic data types. It defines the package numeric_std.
Two new numeric data types are declared in the numeric_std package:
type unsigned is array (natural range <>) of std_logic; type signed is array (natural range <>) of std_logic;
Unsigned represents unsigned integer data, signed represents signed integer data in two's complement form. In signed and unsigned arrays, the leftmost bit is treated as the most significant bit.
Corresponding arithmetic operations and functions are defined in the package for the two data types.