Está en la página 1de 3

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE”

Alumno: Dario Chanchay Nivel: Sexto Electrónica

Asignatura: Diseño VLSI Fecha: 19/07/2018

Tipos de datos enumerados

Este tipo se usa para listar los diversos valores que puede contener un objeto. Se llaman
enumerados debido a que listan todos y cada uno de los valores que forman el tipo.

La sintaxis para declararlos es:

type identificador is definición_tipo;

Como se puede apreciar, la declaración del tipo contiene un nombre, el cual permite
hacer referencia a él en el programa; también cuenta con el parámetro llamado
definición del tipo, el cual corresponde a los valores que se le asignan.

Ejemplos:

type nombres is (Ana, Mario, Julio, Cecilia);


type máquina is (edo_presente, edo_futuro, estado);
type letras is ('a\'b\ Y, *y\ V);

Los tipos bit y booleano se clasifican entre los tipos enumerados, debido a que pueden
tomar más de un valor:

type booleano is (verdadero, falso);


type bit is ('0', T);

Sentencia Wait
Wait puede usarse para:

 Detener incondicionalmente la ejecución temporal de un proceso.


 Listar las condiciones necesarias para que el proceso se reanude.

Funcionamiento:

Si un proceso contiene una sentencia Wait, ejecutará todas sus proposiciones hasta que
el Wait sea encontrado, ahí esperará hasta que se cumplan las condiciones establecidas
en el Wait.
Tipos de Wait:

1.- Wait for cierto_tiempo: Suspende el proceso por una cantidad específica de
tiempo, el tiempo se puede expresar explícitamente:
Wait for 10 ns;

O bien como una expresión:


Wait for CLK_Periodo / 2;

2.- Wait until condición: El proceso se suspende hasta que una condición llega a ser
verdadera, debido a algún cambio en las señales involucradas.

Ejemplos:
Wait until CLK = „1‟; Wait until CE and (not RESET);

Wait until IntData > 16;

3.- Wait on lista_de_sensitividad: El proceso se suspende hasta que ocurra un evento


en cualquiera de las señales que integran la lista de sensitividad

Ejemplos:
Wait on CLK; Wait on Enable, Data;

4.- Wait complejo: Contiene una combinación de más de uno de los 3 tipos
mencionados anteriormente.

Ejemplos:
Wait on Data until CLK = „1‟;
Wait until CLK = „1‟ for 10 ns;

La sentencia Wait puede ubicarse en cualquier parte del proceso, en realidad depende
del comportamiento deseado.
Process Process
Begin Begin
wait on sigA; proposiciones 1;
proposiciones 1; proposiciones 2;
proposiciones 2; proposiciones 3;
proposiciones 3; wait on sigB;
End process; End process;

El wait sobre la lista de sensitividad es probablemente la forma más frecuente de


reanudar procesos en VHDL, es por eso que el lenguaje permite colocar la lista de
sensitividad entre paréntesis justo después de la palabra process. Su funcionamiento es
similar a un wait on lista al final del proceso.

Process Process ( señales )


Begin Begin
proposiciones 1; proposiciones 1;
proposiciones 2; proposiciones 2;
proposiciones 3; proposiciones 3;
wait on señales; End process;
End process;

Un proceso puede tener múltiples wait‟s, pero si tiene una lista de sensitividad, no es
necesario que tenga un wait explícito para suspender su ejecución. Cuando la ejecución
de un proceso inicia, la ejecución se realiza una vez, posteriormente el proceso es
suspendido hasta que alguna señal en su lista de sensitividad cambie de valor. Aunque
sólo una de las señales de la lista cambie, con ello todas las proposiciones del proceso
se ejecutan en forma secuencial, no solo aquellas que involucran a la señal que cambió.

Process (signal1, signal2, signal3)


Begin
signal1 <= expresion 1;
signal2 <= expresion 2;
signal3 <= expresion 3;
End process;

Fuente:

 Maxinez, D. y Alcalá, J. (2002). VHDL El arte de programar sistemas digitales (1ª ed.)
México: COMPAÑÍA EDITORIA L CONTINENTAL.

 Breve Curso de VHDL Recuperado el 18 de julio de 2018 disponible en:


http://mixteco.utm.mx/~merg/AC/vhdl/6_Especificacion_del_comportamient
o.pdf

También podría gustarte