std_logic_vector
DEFINICIONEl tipo std_logic_vector está predefinido en el paquete Std_Logic_1164 como un tipo de matriz de una dimensión estándar con cada elemento siendo del tipo std_logic.
- Std_logic_vector no es una parte de la Norma VHDL. En lugar de ello, se define por IEEE Std 1164
Sintaxis:
type std_logic_vector is array (natural range <>) of std_logic;
Descripción
Std_logic_vector es un (unbound) es decir vectores sin restricciones de elementos resueltos en nueve valores lógicos ( std_logic tipo), que se definen en el paquete Std_Logic_1164.
El paquete Std_Logic_1164 define operadores lógicos ("and", "nand", "or", "nor", "xor", and "not") para operadores del tipo std_logic_vector. Además, las funciones de conversión desde y hacia bit_vector se apoyan también.
Al asignar un objeto del tipo std_logic_vector se puede realizar de la misma manera como en el caso de las matrices, es decir, utilizando asignaciones de un solo elemento, concatenation, aggregates , rebanadaso cualquier combinación de ellos. Por otra parte, debido a que los elementos son de tipo resuelta que se le permite hacer múltiples tareas a un tipo de objeto std_logic_vector. En tal caso, se utiliza la función de resolución definida para std_logic.
EJEMPLO
-----------------------------------------------------------
Type T_Data is array (7 downto 0) of std_logic;
signal DataBus, Memory : T_Data;
CPU : process
variable RegA : T_Data;
begin
...
DataBus <= RegA;
end process CPU;
Mem : process
begin
...
DataBus <= Memory;
end process Mem;
signal DataBus, Memory : T_Data;
CPU : process
variable RegA : T_Data;
begin
...
DataBus <= RegA;
end process CPU;
Mem : process
begin
...
DataBus <= Memory;
end process Mem;
-----------------------------------------------------------
Std_logic_vector es la mejor opción para los autobuses, que son impulsados desde diferentes lugares, como en el bus de datos enumerados arriba. Tal asignación múltiple sería ilegal si se utiliza un bit_vector.
Notas importantes
- Std_logic_vector no se debe confundir con el tipo Std_Ulogic_Vector. Elementos de estos últimos son del tipo Std_Ulogic y son de la versión unresloved de std_logic. Esto significa que es ilegal los dos valores (por ejemplo, '0' y 'Z') para ser simultáneamente en una señal del tipo Std_ulogic.
- Con el fin de utilizar el tipo de std_logic_vector, el paquete Std_Logic_1164 debe estar incluido explícitamente en el comienzo de una entidad:
biblioteca IEEE; utilizar IEEE.Std_Logic_1164. todo ;
Webgrafia
http://www.vhdl.renerta.com/mobile/source/vhd00069.htm
No hay comentarios:
Publicar un comentario