Clases de datos
Por consiguiente, en VHDL trataremos con las siguientes clases de datos:
Constantes
Datos cuyo valor es fijo a lo largo del programa
Ejemplo: constant a: bit_vector(3 downto 0):= "1001";
Señales
Cambian su valor en relación al tiempo
Deben asociarse a ‘hilos’ de interconexión
Llevan asociado un retardo temporal en su propagación
Operador de asignación: <=
Variables
Cambian de inmediato en cuanto cambia su valor
Sólo se declaran en procesos y subprogramas
Propias de procesos (instrucciones) secuenciales
El operador de asignación es :=
Ejemplo: --> clases de datos
La figura siguiente muestra el resultado de simulación del ejemplo. res1 y res2 corresponden a señales, mientras que res3 y res4 son variables.
Puede comprobarse como las señales conmutan con los retardos típicos de la propagación de señal en una interconexión, mientras que las variables conmutan en un mismo momento y dependen del orden cóm se escriben
Además, y en el código, las variables se introducen en un process. Como tal, las variables trabajan en un proceso secuencial. Process, como tal, es una instancia concurrente dentro del conjunto de instrucciones concurrentes de la arquitectura