ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sentencias Concurrentes En VHDL

18 de Febrero de 2014

783 Palabras (4 Páginas)1.180 Visitas

Página 1 de 4

Sentencias concurrentes en VHDL

Caballero Luna Jesús, Contreras Garrido Nayeli, Salazar Briones Irving Eduardo, Tapia Hernández Eleazar

Facultad de Ciencias de la Computación,

Benemérita Universidad Autónoma de Puebla

Av.14 Sur y Av. San Claudio, Puebla, México

Kear001@hotmail.com

.

I. INTRODUCCIÓN

VHDL Concurrente y Secuencial

En VHDL, una arquitectura puede tener tantos procesos como queramos, y todos se ejecutan concurrentemente.

Una de las diferencias más importantes entre el hardware y el software es la propiedad concurrente del primero y generalmente secuencial del segundo.

En VHDL todas las sentencias ejecutables están organizadas en dos grupos: sentencias concurrentes y sentencias secuenciales

II. DESARROLLO

2.1 Process

• Las sentencias dentro de un proceso son secuenciales

• Las señales NO se pueden declarar dentro de un proceso

• Las variables se usan dentro de los procesos

[etiqueta]: process [(lista de sensitividad)]

[declaraciones]

begin

sentencias secuenciales

end process [etiqueta];

• El proceso se ejecuta solo si alguna de las señales que están en la lista de sensitividad cambia.

2.2 Sentencias Concurrentes

Algunas de sus propiedades son:

• Se ejecutan al mismo tiempo (en paralelo).

• No hay prioridad entre unas y otras.

• Describen paralelismo.

• El comportamiento es independiente del orden en el cual son escritas.

• Las sentencias concurrentes equivalen a procesos.

• Forman el cuerpo de las arquitecturas y bloques, algunas en las entidades.

Es importante saber que el orden en que se escriban es indiferente ya que no siguen un orden a diferencia de las instrucciones secuenciales el orden de escritura determina el momento de la ejecución.

En VHDL existen:

Las sentencias IF, Case Loop, wait, no pueden ser concurrentes ya que estas se utilizan para codificar prioridades.

2.1 Declaraciones condicionales asignadas a una señal (when'else)

La sentencia when'else se utiliza para asignar valores a una señal, determinando así la ejecución de una condición propia del diseño. En este caso es obligatorio siempre acabar la expresión con un ELSE.

La sintaxis es:

Para ejemplificar, consideremos la entidad mostrada en la figura 2.1., cuyo funcionamiento se define en la tabla de verdad.

Figura 2.1. Declaraciones when-else

La entidad se puede programar mediante declaraciones condicionales (when-else), debido a que este modelo permite definir paso a paso el comportamiento del sistema, según se muestra en

el listado 2.1.

La función de salida f (línea 10) depende directamente de las condiciones que presentan las variables de entrada, además y dado que la ejecución inicial de una u otra condición no afecta la lógica del programa, el resultado es el mismo; es decir, la condición de entrada "111", visualizada en la tabla de verdad, puede ejecutarse antes que la condición "000" sin alterar el resultado final.

En el diseño convencional se utilizarían inversores, compuertas OR y compuertas AND; en VHDL la solución es directa utilizando la función lógica and.

Siempre es obligatorio asignar algo, aunque es posible no realizar acción alguna, para ello se utiliza la palabra reservada UNAFFECTED. De esta forma se asignará el mismo valor que tenía la señal.

2.2 Declaraciones concurrentes asignadas a señales.

En este

...

Descargar como (para miembros actualizados) txt (6 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com