Sentencias Concurrentes

Post on 14-Apr-2018

288 views 0 download

Transcript of Sentencias Concurrentes

7/27/2019 Sentencias Concurrentes

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

VHDLSENTENCIAS

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

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

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

7/27/2019 Sentencias Concurrentes

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

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;

7/27/2019 Sentencias Concurrentes

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

LISTA DE SENSITIVIDAD

DECLARACION D

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.

7/27/2019 Sentencias Concurrentes

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

Sentencias Concurrentes• En VHDL veremos las siguientes

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

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:

7/27/2019 Sentencias Concurrentes

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

Ejemplo en VHDL

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:

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:

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.

7/27/2019 Sentencias Concurrentes

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

Ejemplo en VHDL

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

7/27/2019 Sentencias Concurrentes

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

El problema de la concurrencia de

7/27/2019 Sentencias Concurrentes

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

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: 

7/27/2019 Sentencias Concurrentes

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

La solución de VHDL

todos se ejecutan concurrentemente 

7/27/2019 Sentencias Concurrentes

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

Dos procesos como solución:

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

7/27/2019 Sentencias Concurrentes

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

señal asignación1expresión valor1 asigna

expresión valor2

7/27/2019 Sentencias Concurrentes

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

7/27/2019 Sentencias Concurrentes

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

? others

7/27/2019 Sentencias Concurrentes

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

Sentencia FOR IN GENERATE

FOR IN GENERATE

7/27/2019 Sentencias Concurrentes

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

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

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.