Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Lenguaje VHDL (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

PROCESO
Un proceso es una parte de código en la cual las instrucciones se ejecutan en secuencia.
Una arquitectura puede contener varios proceso . Todos los proceso se ejecutan en paralelo.
El orden de escritura de las instrucciones afecta los resultados de simulación y síntesis.

Monografias.com

Sintaxis del Proceso

Mux: process (A,B,SEL)
begin
if SEL = '1' then
Z <= A;
else
Z <= B;
end if;

end process MUX;

Sentencias secuenciales
Etiqueta
Lista de sensitividad

Monografias.com

Eventos en la lista de sensibilidad
Un proceso no se ejecuta continuamente, el proceso empieza a ejecutarse cuando una de las señales en su lista de sensibilidad cambia de valor o, en el lenguaje VHDL tiene un evento.
Mux: process (A,B,SEL)
begin
if SEL = '1' then
Z <= A;
else
Z <= B;
end if;
end process MUX;

Monografias.com

Múltiples procesos concurrentes
Mientras que cada proceso ejecuta sus sentencias en secuencia, múltiples procesos interactúan con los demás de manera concurrente al producirse un evento en las señales de la lista de sensibilidad.
Proceso
Proceso
Proceso

Monografias.com

Múltiples procesos en una arquitectura
architecture A of E is
begin
— Sentencias Concurrentes
P1: process
begin
— Sentencias Secuenciales
end process P1;
— Sentencias Concurrentes
P2: process
begin
— Sentencias Secuenciales
end process P2;
— Sentencias Concurrentes
end A;

Proceso 1
Proceso 2

Monografias.com

Ejecución de procesos
Cuando estas 2 señales son concurrentes, definen 2 drivers sobre la señal Z.
Concurrente: 2 drivers

architecture CONCURRENT of MULTIPLE is
signal Z,A,B,C,D: std_logic;
begin
Z <= A & B;
Z <= C & D;
end CONCURRENT;

?
A
B
C
D
Z

Monografias.com

Ejecución de procesos
Cuando estas 2 señales son secuenciales, el valor con el cual la señal es actualizada es el último valor que se le asigna durante el proceso de ejecución.

Secuencial: 1 driver, última asignación
architecture SEQUENTIAL of MULTIPLE is
signal Z,A,B,C,D: std_ulogic;
begin
process (A,B,C,D)
begin
Z <= A & B;
Z <= C & D;
end process;
end SEQUENTIAL ;

C
D
Z

Monografias.com

Señal actualizada cuando el proceso se suspende
Las señales asignadas dentro de un proceso son actualizadas hasta cuando el proceso termina y queda suspendido.
architecture SEQUENTIAL of MULTIPLE is
signal Z,A,B,C,D: std_ulogic;
begin
process (A,B,C,D)
begin
Z <= A & B;
Z <= C & D;
end process;
end SEQUENTIAL ;

Monografias.com

Noción de process
Un process es una parte de código en la cual las instrucciones se ejecutan en secuencia.
Una arquitectura puede contener varios process .
Todos los process se ejecutan en paralelo.
El orden de escritura de las instrucciones afecta los resultados de simulación y síntesis.

Monografias.com

Implementación de Procesos
Lógica combinatoria.
Lógica sincrónica.
Lógica sincrónica con inicialización asincrónica.
Procesos dormidos, se les llama así a los procesos mientras
las señales que los activan no cambian su estado.

Monografias.com

Estructura de Proceso
[ etiqueta: ] process ( lista de sensibilidad )
— declaraciones
variables eventuales
Begin
— parte operatoria
— instrucciones secuenciales
— (if, case, loop)
End process;
Lista de sensibilidad, cambia la asignación de señales asignadas en el proceso.

Monografias.com

Metodología de Procesos.
Lista de sensibilidad consistente.
Dominación de comportamiento e implementación de la lógica.
Diseños sintetizados, sin asincronismos.

Monografias.com

Proceso Combinatorio
[ etiqueta: ] process ( lista de sensibilidad )
— declaraciones
Begin
— instrucciones secuenciales
— (if, case, loop)
End process [ etiqueta];
Lista de sensibilidad con señales que activan el proceso.
Parte declaratoria que puede contener variables.
Variable con ámbito de proceso.

Monografias.com

Ejemplo Combinatorio.
Mux: process (A, B,SEL )
Begin
if SEL=‘0’
then SALIDA<=A;
else SALIDA<=B;
end if;
End process;

Monografias.com

Estructura Proceso Síncrono
[ etiqueta: ] process
— declaraciones
Begin
wait until (CK’ event and CK=‘1’);
End process [etiqueta];
El flanco de subida provoca el cambio en el estado.
wait until evalúa la condición.

Monografias.com

Ejemplo síncrono.
Process
Begin
wait until ( CK’ event and CK=‘1’ );
COUNT <= COUNT + 1;
End process;
COUNT es construida por flip flops
No debe haber señales combinatorias.

Monografias.com

Proceso Síncrono
[ etiqueta: ] process ( CK )
— declaraciones
Begin
if (CK’ event and CK=‘1’)
then –instrucciones secuenciales.
end if;
End process [etiqueta];

Monografias.com

[ etiqueta: ] process ( CK , RST)
— declaraciones
Begin
if RST=‘1’
then –acción asíncrona
elseif (CK’ event and CK=‘1’)
then –instrucciones secuenciales.
end if;
End process [etiqueta];
Proceso Síncrono con Inicialización Asíncrona
Cambio de prioridad por condición asíncrona

Monografias.com

Ejemplo Síncrono
Process ( CK )
Begin
if ( CK’ event and CK=‘1’ )
then COUNT <= COUNT + 1;
end if;
End process;
COUNT es construida por flip flops
Todas las señales deben ser combinatorias.

Monografias.com

SENSITIVIDAD
La sensitividad es el conjunto de entradas de un bloque que cada vez que tengan un cambio en su estado activan el sistema y producen una salida.

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter