VHDL_TIPOS DE DATOS
descripción hardware
Tipos de datos
© 2007 A.G.O. All Rights Reserved
Tipos de objetos y datos
VHDL predefine un conjunto relativamente limitado de tipos de
datos, pero dispone de gran versatilidad para que el usuario los
cree según sus necesidades.
Todos los objetos tienen que declararse antes de su utilización.
En VHDL NO se pueden asignar valores de una señal de un tipo auna señal de otro tipo.
Tipos de objetos.
●Constantes.
● Variables.
● Señales.
● Ficheros.
Tipos de datos.
● Escalares.
– Enumerados.
– Enteros.
– Físicos.
– Coma flotante.
● Compuestos.
– Vector/matriz.
– Registro.
● Acceso.
– Punteros.
S2_4. VHDL. Tipos de datos
© 2007 A.G.O. All Rights Reserved
2 de 44
Tipos
tipos
TIPO: Es la definición de los
valores posibles que pueden
tomar losobjetos y los datos
objetos
datos
ficheros
señales
variables
access
constantes
escalares
compuestos
real
VHDL es un lenguaje
fuertemente tipado:
A los objetos se les asigna
siempre un tipo cuando se
declaran
Las asignación sólo pueden
hacerse entre objetos del
mismo tipo
entero
físico
record
array
enumerado
S2_4. VHDL. Tipos de datos
© 2007 A.G.O. All Rights Reserved
3 de 44
Tiposbásicos predefinidos
Tipos IEEE-1076
BIT: Puede tomar los valores ‘0’ ó ‘1’
BIT_VECTOR: Agrupación de bits
ejemplo:
signal salida :BIT_VECTOR (0 to 3);
salida <=“1000”;
esto significa que
salida(0)=‘1’
salida(1)=‘0’
salida(2)=‘0’
salida(3)=‘0’
signal salida :BIT_VECTOR (3 downto 0);
salida <=“1000”;
esto significa que
salida(3)=‘1’
salida(2)=‘0’
salida(1)=‘0’
salida(0)=‘0’
diferencia
S2_4. VHDL.Tipos de datos
© 2007 A.G.O. All Rights Reserved
4 de 44
Tipos básicos predefinidos
Tipos IEEE-1076
INTEGER:
BOOLEAN:
ENUMERATED:
A veces utilizado para índices
de loops, constantes, valores
genéricos, etc
Pueden tomar los valores
‘true’ ó ‘false’
Enumeración de
valores definidos por el
usuario
por ejemplo:
type estado is (inicio, arriba, abajo, stop)
S2_4. VHDL. Tipos de datos
© 2007A.G.O. All Rights Reserved
5 de 44
Tipo STD_LOGIC
Los dos valores del tipo bit se quedan cortos para modelar todos
los estados que puede tomar una señal digital.
El paquete IEEE.standard_logic_1164 define el tipo std_logic, que
representa todos los posibles estados de una señal:
U No inicializado, valor por defecto.
X Desconocido fuerte, salida con múltiples fuentes en corto
0 Salida de una puertacon nivel lógico bajo
1 Salida de una puerta con nivel lógico alto
Z Alta Impedancia
W Desconocido débil, terminación de bus
L 0 débil, resistencia de pull-down
H 1 débil, resistencia de pull-up
– No importa, usado como comodín para síntesis
S2_4. VHDL. Tipos de datos
© 2007 A.G.O. All Rights Reserved
6 de 44
Tipo STD_LOGIC
Para describir buses se utiliza el tipo std_logic_vector, que es unarray de std_logic
Los tipos std_logic y std_logic_vector son los estándares
industriales.
Todos los valores son validos en un simulador VHDL, sin embargo
solo: ‘0’, ‘1’, ‘Z’, ‘L’, ‘H’ y ‘–’ se reconocen para la síntesis.
En el paquete IEEE.std_logic_1164 aparecen otros dos tipos:
std_ulogic y std_ulogic_vector. Son los mismos, pero sin haber
pasado por la función de resolución
Esta función decidecuál debe ser el valor de la señal cuando tiene
dos fuentes que le asignan valores distintos
Por ejemplo, si una fuente asigna un ‘1’ y la otra una ‘L’, la función de
resolución dice que la señal se queda a ‘1
S2_4. VHDL. Tipos de datos
© 2007 A.G.O. All Rights Reserved
7 de 44
Utilizando los tipos de objeto: Constantes
Constantes.
Mantienen el valor, del tipo de dato especificado, durantetoda
la ejecución.
Se declaran en la parte declarativa, antes del “begin”
ARCHITECTURE eps OF mi_prueba IS
CONSTANT const1 : STD_LOGIC := ‘1';
CONSTANT retardo : TIME := 15 ns;
CONSTANT const3 : INTEGER := 8;
BEGIN
Las constantes pueden ser de cualquier tipo
S2_4. VHDL. Tipos de datos
© 2007 A.G.O. All Rights Reserved
8 de 44
Utilizando los tipos de objeto: Variables
Variables.
Almacenan...
Regístrate para leer el documento completo.