Sentencias Concurrentes En VHDL
Enviado por • 18 de Febrero de 2014 • 783 Palabras (4 Páginas) • 1.133 Visitas
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;
...