vhdl

Páginas: 6 (1370 palabras) Publicado: 19 de octubre de 2013
Introducción a VHDL y FPGA

CURSO DE LÓGICA
PROGRAMABLE
(VHDL - FPGA)
http://www.electron.frba.utn.edu.ar/dplab
UTN - FRBA
Agosto 2010

Módulo 1: Introducción a VHDL y FPGA

Máquinas de Estado Sincrónicas
Descripción VHDL de las
Máquinas de Estado Sincrónicas

Introducción a VHDL y FPGA

2

UTN-FRBA Agosto 2010

1

Introducción a VHDL y FPGA

Elementos para laDescripción de
Máquinas de Estado Sincrónicas

• VHDL permite varias formas de hacer la descripción de una Máquina de Estados
Sincrónica.
• Cualquiera que sea la forma usada, la descripción debe realizar las funciones de
los bloques constructivos del modelo general de la Máquina de Estados
Sincrónica mostrado en la figura.
Introducción a VHDL y FPGA

3

UTN-FRBA Agosto 2010

Elementos para laDescripción de
Máquinas de Estado Sincrónicas


La Arquitectura podrá incluir cuatro procesos concurrentes a saber:
1) Un Proceso Memoria de Estado (Secuencial) donde se describe la
transformación del Estado Futuro (EF) al Estado Actual (EA), sensible a
la señal CK.
2) Un Proceso Lógica de Estado Futuro (Combinacional) que define el
Estado Futuro de la Máquina, sensible al Estado Actual ya las Señales de
Entrada.
3) Un Proceso (o Flujo de Datos) Lógica de Salida (Combinacional) que
define las Salidas de la Máquina, en función del Estado Actual y de las
Señales de Entrada.
4) Un Proceso Salida Registrada (Secuencial) donde se registra la Salida
generada en el Proceso Lógica de Salida, sensible a la señal CK.

Introducción a VHDL y FPGA

4

UTN-FRBA Agosto 2010

2 Introducción a VHDL y FPGA

Elementos para la Descripción de
Máquinas de Estado Sincrónicas


Como siempre, la declaración de entidad debe incluir todas las Señales de
Entrada (Control e Iniciación) y de Salida.



Para hacer que las sentencias dentro de un proceso sensible a la señal CK
actualicen las asignaciones con su flanco (ascendente o descendente), se
requiere un elementoadicional vinculado a la señal CK, el atributo event, que
se adhiere al nombre de la señal con una comilla simple (CK’event).



Ahora el proceso evalúa el valor de tipo booleano que devuelve CK’event (true
si hubo un evento, false si no); cuando es true, el proceso actualiza las
asignaciones incluidas en él.
Ejemplo: IF CK’event AND CK=‘1’ THEN . . . (flanco ascendente)



Otra formade detectar un Flanco de Señal es usando las Funciones Específicas
definidas en el paquete IEEE 1164.
-------------------------------------------------------------------------------- edge detection
------------------------------------------------------------------------------FUNCTION RISING_EDGE(SIGNAL s : std_ulogic) RETURN BOOLEAN;
FUNCTION FALLING_EDGE(SIGNAL s : std_ulogic) RETURNBOOLEAN;

Ejemplo: IF FALLING_EDGE(CK) THEN . . . (flanco descendente)
Introducción a VHDL y FPGA

5

UTN-FRBA Agosto 2010

Máquinas de Estado Sincrónicas
Ejemplo 1:
Detector de Secuencia (Mealy)

Introducción a VHDL y FPGA

6

UTN-FRBA Agosto 2010

3

Introducción a VHDL y FPGA

Detector de Secuencia (Mealy)


Se busca diseñar una Máquina de Estados Sincrónica con una entradaY
formada por una sucesión indefinida de bits sincronizados con el flanco
ascendente de CK y una salida O. La salida debe hacerse O=‘1’ cuando
detecte que en el período de CK actual, la entrada se encuentra en ‘1’ y que
en los tres períodos de CK anteriores la secuencia en la entrada fue “101”.
Como referencia, se da un ejemplo de las secuencias de entrada y salida. Note
que por tratarse deuna sucesión ininterrumpida de bits, un mismo bit puede
ser el ‘1’ final de la secuencia a detectar y el primero de la siguiente.
Y

0

0

1

0

1

1

1

1

0

1

0

1

0

1

0

1

1

0

1

1

1

1

O

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

1

0

0

Tiempo

Introducción a VHDL y...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Vhdl
  • Vhdl
  • VHDL
  • vhdl
  • Vhdl
  • vhdl
  • vhdl
  • vhdl

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS