Sentencias Concurrentes

18
VHDL SENTENCIAS CONCURRENTES

Transcript of Sentencias Concurrentes

Page 1: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 1/29

VHDLSENTENCIAS

CONCURRENTES

Page 2: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 2/29

Sentencias Concurrentes

• HARDWARE• Es inherentemente concurrente, los circuitos coexisten físicamente

Este Hardware no sepuede modelar en unlenguaje secuencial cS <= A & B;

Q <= C|D;

el chip tiene dos compuertas

que funcionan simultáneamente

ambas puertas funcioal mismo tiempo¡no una antes de la o

Page 3: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 3/29

Sentencias Concurrentes

• Sin embargo, esta solución no es valida con este circuito

• ¿Por qué? No hay que olvidar que se trata de modelar circuitos revirtuales, y las señales necesitan que transcurra el tiempo para to

Q no puede tvalor hasta qobtenga S

Page 4: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 4/29

Sentencias Concurrentes

PROCESOS

• Describen el comportamiento de un circuito

• Tantos procesos como queramos

Las señales NO se pueden declarar dentro de un p• Las variables se usan dentro de los procesos

Page 5: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 5/29

Sentencias Concurrentes

Page 6: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 6/29

SINTAXIS de PROCESS

nombre etiqueta: process (lista de sensitividad)

declaraciones

begin

sentencias secuenciales;end process nombre etiqueta;

Page 7: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 7/29

LISTA DE SENSITIVIDAD

DECLARACION D

Page 8: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 8/29

Sentencias Concurrentes

PROPIEDADES

• Las sentencias concurrentes se utilizan fuera de un bloque• Dentro de un PROCESS se convierten en secuenciales.•

Se ejecutan simultáneamente en la simulación• No hay prioridad• Deben formar parte siempre de las arquitecturas o bloque• No conservan un orden.

Page 9: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 9/29

Sentencias Concurrentes• En VHDL veremos las siguientes

Page 10: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 10/29

Sentencias Concurrentes

•El objeto básico en VHDL es la señal, que se utmodelar los hilos del circuito.

• La instrucción básica de la ejecución concurrenasignación entre señales a través del símbolo <=.

Existen 3 tipos de asignaciones:• Asignación concurrente de señal.

• Asignación condicional de señal (When…else).

• Asignación selectiva de señal (with*select>when

Page 11: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 11/29

 Asignación concurrente de señal

• Toda asignación de señal se implementa como un bloque

combinacional.• Ejemplo:

Page 12: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 12/29

Ejemplo en VHDL

Page 13: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 13/29

Asignación condicional de seña

Toda asignación condicional de señal se implementa combloque de lógica combinacional.

• Ejemplo:

Page 14: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 14/29

• En hardware es necesario incluir todas las opciones posibles.caso es obligatorio siempre acabar la expresión con un ELSE

La sintaxis es:

Page 15: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 15/29

¡Importante!• Siempre es obligatorio asignar algo, aunque

posible no realizar acción alguna, para ello se utila palabra reservada UNAFFECTED. De esta forse asignará el mismo valor que tenía la señal.

Page 16: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 16/29

Ejemplo en VHDL

Page 17: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 17/29

Nota: Asignar valores a las señales, es equivalenuna sentencia process

Page 18: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 18/29

El problema de la concurrencia de

Page 19: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 19/29

Page 20: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 20/29

¿Por qué? No hay que olvidar que se trata de modelar circu

reales, no virtuales, y las señales necesitan que transcurra etiempo para tomar un valor: 

Page 21: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 21/29

La solución de VHDL

todos se ejecutan concurrentemente 

Page 22: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 22/29

Dos procesos como solución:

Page 23: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 23/29

Sentencia WITH…SELECT 

CASE.

• Su sintaxis es la siguiente:

with select

when

when

when

Page 24: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 24/29

señal asignación1expresión valor1 asigna

expresión valor2

Page 25: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 25/29

Page 26: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 26/29

? others

Page 27: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 27/29

Sentencia FOR IN GENERATE

FOR IN GENERATE

Page 28: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 28/29

FOR .. IN .. LOOP a FOR .. IN .. GENERATE

Page 29: Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

http://slidepdf.com/reader/full/sentencias-concurrentes 29/29

Para recapitular…. sentencias concurrentes

arquitecturasconcurrente NO

PROCESS

sentencias secuenciales pprocedimientos

PROCESS.

procesos arquitectura.