sentencias concurrentes

Para la declaración y asignación de señales se utiliza

el operador <=

Recordad que, a diferencia de la asignación de señales, la asignación de variables utiliza el operador igualdad

Instrucción When - Else

Instrucción de slección de valor

Formato: <señal> <= <valor> when <comparación> else <valor>;

Ejemplo: multiplexor de 1 entrada de control

Instrucción With - Select

Permite la enumeración de todas las posibles elecciones del conjunto de entradas
Uso de when...others para agrupar conjunto de salidas comunes

Ejemplo: Implementar el código VHDL correspondiente al circuito

Instrucción Process

Concepto concurrente para describir hardware (que debe ejecutarse concurrentemente) mediante instrucciones secuenciales
Aunque internamente las instrucciones se ejecuten secuencialmente, como bloque es una instrucción concurrente

Instrucción Block

Cumple, principalmente, tres funciones:

Estructura el código
Realiza asignaciones guardadas
Describe la jerarquía

A pesar de sus funciones, a menudo se divide el código entre ficheros antes que utilizar esta instrucción

Sintaxis

<etiqueta>:block [<expresion guarda>] [is]
[generic (<lista de genéricos>);
[generic map (<lista de asociación>);]]
[port (<lista de puertos>);
[port map (<lista de asociación>);]]
{<parte declarativa}
begin
{<sentencias concurrentes>}
end block [<etiqueta>];

 

Anterior
Volver a inicio curso
Volver a inicio capítulo
Siguiente


WcN - Joan Oliver. Diseño de circuitos digitales con VHDL: Síntesis concurrente