VHDL: tabla de verdad en la biblioteca ieee std_logic

Investigué cómo IEEE define sus bibliotecas. Cuando abríbiblioteca stdlogic, Vi algunas tablas de verdad que se definen como constantes. No tengo idea de cómo funcionan las tablas de verdad. Explique cómo se devuelve el resultado utilizando la tabla de verdad. Esto es lo que encontré para la puerta "Y":

TYPE stdlogic_table IS ARRAY(std_ulogic, std_ulogic) OF std_ulogic;

-- truth table for "and" function
CONSTANT and_table : stdlogic_table := (
--      ----------------------------------------------------
--      |  U    X    0    1    Z    W    L    H    -         |   |  
--      ----------------------------------------------------
        ( 'U', 'U', '0', 'U', 'U', 'U', '0', 'U', 'U' ),  -- | U |
        ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' ),  -- | X |
        ( '0', '0', '0', '0', '0', '0', '0', '0', '0' ),  -- | 0 |
        ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | 1 |
        ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' ),  -- | Z |
        ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' ),  -- | W |
        ( '0', '0', '0', '0', '0', '0', '0', '0', '0' ),  -- | L |
        ( 'U', 'X', '0', '1', 'X', 'X', '0', '1', 'X' ),  -- | H |
        ( 'U', 'X', '0', 'X', 'X', 'X', '0', 'X', 'X' )   -- | - |
);

FUNCTION "and"  ( l : std_ulogic; r : std_ulogic ) RETURN UX01 IS
BEGIN
    RETURN (and_table(l, r));
END "and";

"UX01" se define como

SUBTYPE UX01 IS resolved std_ulogic RANGE 'U' TO 'Z';

No tengo idea de cómo se usa la palabra clave "resuelto". "resuelto" se define como una función en la biblioteca

FUNCTION resolved (s: std_ulogic_vector) RETURN std_ulogic;

Busqué en Google cómo funciona la tabla de verdad por un tiempo, pero no tuve suerte de encontrar una explicación. Por favor explique cómo la tabla evalúa las entradas. Muchas gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta