Std_logic_1164 Package
Package std_logic_1164 is defnied in the library IEEE. This package is not part of the VHDL LRM.
The Std_logic_1164 package is the IEEE standard for describing digital logic values in VHDL (IEEE STD 1164). It contains definitions for std_logic (single bit) and for std_logic_vector (array). It also contains VHDL functions for these types to resolve tri-state conflics, functions to define logical operators and conversion functions to and from other standard types.
package std_logic_1164 is type std_ulogic is ('u', -- uninitialized 'x', -- forcing unknown '0', -- forcing 0 '1', -- forcing 1 'z', -- high impedance 'w', -- weak unknown 'l', -- weak 0 'h', -- weak 1 '-' -- don't care ); type std_ulogic_vector is array ( natural range <> ) of std_ulogic; function resolved ( s : std_ulogic_vector ) return std_ulogic; subtype std_logic is resolved std_ulogic; type std_logic_vector is array ( natural range <> ) of std_logic; subtype x01 is resolved std_ulogic range 'x' to '1'; -- ('x','0','1') subtype x01z is resolved std_ulogic range 'x' to 'z'; -- ('x','0','1','z') subtype ux01 is resolved std_ulogic range 'u' to '1'; -- ('u','x','0','1') subtype ux01z is resolved std_ulogic range 'u' to 'z'; -- ('u','x','0','1','z') function "and" ( l : std_ulogic; r : std_ulogic ) return ux01; function "nand" ( l : std_ulogic; r : std_ulogic ) return ux01; function "or" ( l : std_ulogic; r : std_ulogic ) return ux01; function "nor" ( l : std_ulogic; r : std_ulogic ) return ux01; function "xor" ( l : std_ulogic; r : std_ulogic ) return ux01; function "xnor" ( l : std_ulogic; r : std_ulogic ) return ux01; function "not" ( l : std_ulogic ) return ux01; function "and" ( l, r : std_logic_vector ) return std_logic_vector; function "and" ( l, r : std_ulogic_vector ) return std_ulogic_vector; function "nand" ( l, r : std_logic_vector ) return std_logic_vector; function "nand" ( l, r : std_ulogic_vector ) return std_ulogic_vector; function "or" ( l, r : std_logic_vector ) return std_logic_vector; function "or" ( l, r : std_ulogic_vector ) return std_ulogic_vector; function "nor" ( l, r : std_logic_vector ) return std_logic_vector; function "nor" ( l, r : std_ulogic_vector ) return std_ulogic_vector; function "xor" ( l, r : std_logic_vector ) return std_logic_vector; function "xor" ( l, r : std_ulogic_vector ) return std_ulogic_vector; function "xnor" ( l, r : std_logic_vector ) return std_logic_vector; function "xnor" ( l, r : std_ulogic_vector ) return std_ulogic_vector; function "not" ( l : std_logic_vector ) return std_logic_vector; function "not" ( l : std_ulogic_vector ) return std_ulogic_vector; function to_bit ( s : std_ulogic; xmap : bit := '0') return bit; function to_bitvector ( s : std_logic_vector ; xmap : bit := '0') return bit_vector; function to_bitvector ( s : std_ulogic_vector; xmap : bit := '0') return bit_vector; function to_stdulogic ( b : bit ) return std_ulogic; function to_stdlogicvector ( b : bit_vector ) return std_logic_vector; function to_stdlogicvector ( s : std_ulogic_vector ) return std_logic_vector; function to_stdulogicvector ( b : bit_vector ) return std_ulogic_vector; function to_stdulogicvector ( s : std_logic_vector ) return std_ulogic_vector; function to_x01 ( s : std_logic_vector ) return std_logic_vector; function to_x01 ( s : std_ulogic_vector ) return std_ulogic_vector; function to_x01 ( s : std_ulogic ) return x01; function to_x01 ( b : bit_vector ) return std_logic_vector; function to_x01 ( b : bit_vector ) return std_ulogic_vector; function to_x01 ( b : bit ) return x01; function to_x01z ( s : std_logic_vector ) return std_logic_vector; function to_x01z ( s : std_ulogic_vector ) return std_ulogic_vector; function to_x01z ( s : std_ulogic ) return x01z; function to_x01z ( b : bit_vector ) return std_logic_vector; function to_x01z ( b : bit_vector ) return std_ulogic_vector; function to_x01z ( b : bit ) return x01z; function to_ux01 ( s : std_logic_vector ) return std_logic_vector; function to_ux01 ( s : std_ulogic_vector ) return std_ulogic_vector; function to_ux01 ( s : std_ulogic ) return ux01; function to_ux01 ( b : bit_vector ) return std_logic_vector; function to_ux01 ( b : bit_vector ) return std_ulogic_vector; function to_ux01 ( b : bit ) return ux01; function rising_edge (signal s : std_ulogic) return boolean; function falling_edge (signal s : std_ulogic) return boolean; function is_x ( s : std_ulogic_vector ) return boolean; function is_x ( s : std_logic_vector ) return boolean; function is_x ( s : std_ulogic ) return boolean; end std_logic_1164;