Ejemplo 1 VHDL

La salida va con retraso frente a la señal. Esto es así porque mi señal toma el valor de la entrada pero hasta que no termina en proceso no toma el valor de la entrada dado en la asignación, por lo que salida toma el valor antiguo, se comportará de la manera “esperada” tendríamos que añadir mi señal a la lista de sensibilidad el proceso, de tal manera que al termina el proceso y existir un cambio en mi señal, el proceso volviera a ejecutarse, esta vez si con el valor actualizado y la salida tomaría el valor de la entrada tras dos ciclos de simulación.


A estos ciclos de simulación que se ejecutan hasta que todas las señales tengan un valor estable se denominan “ciclos delta” y son la base de los simuladores RTL como Modelsim. Estos simuladores no avanzan el tiempo de simulación hasta que haya dos ciclos delta seguidos sin cambios en los valores de las señales.

En este ejemplo lo que ocurre es algo que se llama bucle combinacional. Al asignar a la señal su valor negado el proceso se vuelve a ejecutar, vuelve a asigna el valor negado y se vuelve  a ejecutar ya que el valor de la señal ha cambiado. Como el valor nunca se estabiliza el tiempo de simulación no avanza y el simulador habitualmente se cuelga.

 

Comentarios

Entradas populares de este blog

CROCODILE CLIPS

Compuertas Logicas