La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Máquinas de estado con VHDL

Presentaciones similares


Presentación del tema: "Máquinas de estado con VHDL"— Transcripción de la presentación:

1 Máquinas de estado con VHDL

2 Introducción La sección combinacional, tiene dos entradas: pr_state (estado presente) y la señal de entrada externa (input).Además posee dos salidas: nx_state (estado siguiente) y salida externa. La sección secuencial tiene tres entradas: clock, reset y nx_state y una salida: pr_state. Si la salida de la máquina depende no solo del estado presente sino también de la entrada actual, se denomina máquina de estado de Mealy. Si la máquina depende solo del estado actual, se denomina máquina de Moore.

3 Estilo de diseño 1 Diseño de la sección inferior (secuencial)
Los FF están en la sección inferior, de tal forma que el reloj y reset se conecta a ella. Siendo la sección inferior secuencial, es necesario un Proceso, en el cual se puede usar cualquier sentencia secuencial. Una plantilla típica de diseño de la sección inferior se muestra a continuación. Reset asíncrono Registro síncrono

4 Estilo de diseño 1 Diseño de la sección superior (Combinacional)
El código contiene dos cosas: a) Asignación a la salida; b) Establecimiento de estado siguiente. Observar que no hay asignación a señal hecha en la transición de otra señal, de modo que no se infieren FF.

5 Estilo de diseño 1: Plantilla
Tipo enumerado: contiene todos los estados. Sección secuencial. Sección Combinacional.

6 Ejemplo 1: contador BCD. Un contador es un ejemplo de una máquina de Moore, ya que la salida depende solo del estado presente.

7 Ejemplo 2: FSM simple.

8 Ejemplo 2: FSM simple. D = 1 D = 0 x = a

9 Estilo de diseño 2 En el primer estilo de diseño, solo el estado presente (estado_pr) es almacenado. En este caso, si se usa una máquina de Mealy (la salida depende de la entrada actual), la salida cambia cuando la entrada cambia (salida asíncrona). En muchas aplicaciones, las señales deben ser síncronas, de modo que la salida debe actualizarse solo cuando existe un pulso de reloj. Para hacer una máquina de Mealy síncrona, la salida deber ser almacenada también. El estilo de diseño 2, usa una señal adicional para contener el valor de la salida (en la sección superior), pero solo pasa este valor a la salida cuando un evento de reloj ocurre (sección inferior).

10 Estilo de diseño 2: Plantilla
El estilo de diseño 2, usa una señal adicional para contener el valor de la salida (en la sección superior), pero solo pasa este valor a la salida cuando un evento de reloj ocurre (sección inferior). La asignación de la salida solo se ejecuta al pulso de reloj.

11 Estilo de diseño 2: FSM simple.

12 Estilo de diseño 2: FSM simple.
Cuando una señal es almacenada, su valor permanece estático entre dos flancos de reloj. Por lo tanto, si la entrada (a o b) cambia durante este intervalo, el cambio no se observará por el circuito.

13 Ejemplo: Detector de secuencia.
El circuito tiene como entrada una cadena serial de bits y su salida será 1 cuando la secuencia "111" ocurra. En caso de solapamiento, esto es, una secuencia suceda, la salida debe mantenerse activa por tres ciclos consecutivos de reloj.

14 Ejemplo: Detector de secuencia.
Solapamiento, la salida sigue siendo 1.

15 Ejemplo: Detector de secuencia (TB).
In: …111… Out: …001… Notar que la salida no depende de la entrada actual. Todas las asignaciones a q son incondicionales (esto es, no dependen de d). Por lo tanto, la salida es automáticamente sincronizada.

16 Ejemplo: controlador de semáforo.
Se asume que la frecuencia de reloj es 60Hz (tomada de la misma fuente de poder).

17 Ejemplo: controlador de semáforo.

18 Ejemplo: controlador de semáforo.
Para visualizar la salida de forma óptima, se ha modificado el valor de todas las contantes a 3, excepto el valor de timeTest, que vale 1. Se espera que el sistema cambie de estado cada tres ciclos de reloj cuando está en modo de operación regular, o cada ciclo de reloj si está en mode Test.

19 Ejemplo: generador de funciones.
Se diseñará dos máquinas de estado, una que operará exclusivamente en la transición positiva del reloj y otra que operará exclusivamente en el flanco negativo. Esto generará la señal alternativa out 1 y out2 . Estas señales serán tratadas con la operación and para obtener la señal deseada. Notar que el circuito no posee entradas externas (excepto la señal de reloj), de modo que la salida cambiará solo cuando la señal de reloj cambie (salida síncrona).

20 Ejemplo: generador de funciones.
1 1 1 1


Descargar ppt "Máquinas de estado con VHDL"

Presentaciones similares


Anuncios Google