14 votos

Cuando el uso de STD_LOGIC más BITS en VHDL

Cuál es la diferencia entre el uso de:

ENTITY MyDemo is 
    PORT(X: IN STD_LOGIC; F: OUT STD_LOGIC );
END MyDemo; 

y

ENTITY MyDemo is 
    PORT(X: IN BIT; F: OUT BIT );
END MyDemo; 

¿Cuáles son las limitaciones de uso de POCO más de STD_LOGIC y vice-versa? Son completamente intercambiables? Entiendo que si he de definir STD_LOGIC no los puedo usar con un BIT_Vector para acceder a los elementos de la matriz. Pero me parece que no puede ver la diferencia.

13voto

Morris Maynard Puntos 49

Bit es un tipo predefinido y sólo sólo puede tener el valor de 0 o 1. El Bit tipo es una visión idealizada de valor.

type Bit is ('0', '1');

std_logic es parte de la std_logic_1164 paquete y proporciona más realista modelado de señales dentro de un sistema digital. Es capaz de tener nueve diferentes valores. Normalmente dentro de su código que sólo utilizará 0, 1y Z (High-Z). Pero U (sin inicializar) y X (Desconocido) también son muy útiles cuando se modela el sistema en un testbench.

    -------------------------------------------------------------------    
    -- logic state system  (unresolved)
    -------------------------------------------------------------------    
    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
                       );

--    attribute ENUM_ENCODING of std_ulogic : type is "U D 0 1 Z D 0 1 D";

    -------------------------------------------------------------------    
    -- *** industry standard logic type ***
    -------------------------------------------------------------------    
    SUBTYPE std_logic IS resolved std_ulogic;

El std_logic_1164 paquete también proporciona funciones de conversión para convertir std_logic a Bit.

6voto

Chris Miller Puntos 2552

La mayoría de la gente usa std_logic. Que permite u (indefinido), x (desconocido) y z (alta impedancia), que poco no. Mientras que usted puede nunca tristate en un chip y por lo tanto no necesita z, u es útil para la búsqueda de desaparecidos restablece. x es útil para la búsqueda de múltiples controladores.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X