SECUENCIA DE MOORE

En la siguiente práctica vamos a realizar una detección de una secuencia para el estudio de una máquina de estados de Moore. La secuencia a mostrar será 1-0-1-1. Por tanto debemos disponer de una entrada llamada ‘a’ y una salida llamada ‘S’. La creación de nuestra máquina será mediante un diagrama de flujo de tipo síncrono que después exportaremos al código VHDL para su posterior implementación.


 

El diagrama de flujo superior es en lo que basaremos nuestro ejercicio a crear:

  • Las entradas ‘a’ serán los números referenciados en los flujos y podrá ser ‘0’ ó ‘1’, trabajamos con un bit.
  • Las salidas serán tantas como el número de secuencia binaria queremos más un estado de inicio, en este caso serán 5 globos que se saldrá de cada uno en función del cambio de estado y que correspondrá con el mismo valor de la salida en cada caso.

El desarrollo de nuestro ejercicio será similar al sistema empleado previamente. Creamos en File – New proyect y esta vez creamos un archivo con un lenguaje tipo HDL:


 

 

                                                

 

 

 

 

 

 

 

 

Seleccionamos familia de trabajo (XC9500 CPLD’S), tipo de dispositivo(XC9572) , encapsulado(PC84), Sintetizador(XST), Simulador() y Lenguaje en el que realizaremos las tareas(VHDL).


 

 

 

 

 

Crearemos una nueva fuente llamada detector y mediante el STATE DIAGRAM, para crear nuestro diagrama de flujo.


 

 

 

 

 

 

Se nos abrirá un entorno similar al de la imagen siguiente. En la barra vertical de la izquierda tenemos iconos mediante los cuales podremos crear y configurar el diseño de nuestros diagramas de flujos, dibujar nuestros estados en forma de globo y nuestras transiciones color, tamaño, leyenda…


 

Dentro de nuestro entorno en la tabla superior encontramos Options – Variable. Dentro podremos crear nuestras entradas y salidas, así como nuestras asignaciones de estados.

En el cuadro Name daremos nombre a nuestras entradas y salidas en type elegiremos si serán entradas reloj o salida de registro, en este caso el activo será alto y el tipo es pin pues saldremos con ellas al exterior de nuestro CPLD.

 

 

Comenzando con nuestro diagrama de estados, como se comentó al principio, se creará una secuencia de 5 estados donde el STATE0 será el estado de inicio y los demás serán cada una de las salidas de nuestros dipositivo.

 

 

Nuestra secuencia de transiciones, que serán nuestras entradas actuadoras de secuencia y que crearan “movimiento” en nuestra “contraseña” cuando esta corresponda con la secuencia que necesitamos, para crear un diseño de este tipo deberemos crear una tabla de verdad o un plantear el diseño de un algoritmo para realizar el diseño posterior de nuestro diagrama de flujo.

 

 

 

 

 

Como sabemos que el STATE0 es el encargado de comenzar nuestra secuencia, ahí irá nuestro entrada de RESET en la cual activaremos o desactivaremos nuestro sistema.

Cada transición interna y cada estado deberá tener una condición para ejecutarse, podemos configurar los mismas dentro de los estados dando doble click sobre cada uno:

 

 

 

 

 

 

 

 

 

 

 

 En la imagen anterior vemos como entramos en el editor de estados y ahí para facilitarnos el no equivocarnos si introducimos la orden directamente desde “código”, usamos el asistente de salidas Output Wizard mediante el cual crearemos la constante en cada estado y seleccionaremos la salida relacionada con su constante relacinal.

 

  •  REALIZACIÓN DEL TEST BENCH:

 

El ‘test bench’ es la creación de un soporte de simulación de diagramas de flujo de máquinas de estados, donde generaremos una gráfica de estados de cada una de las transiciones de nuestra máquina de estados.

 

 

 

 

 

 

 

 Para nuestra secuencia iremos del estado0 al 1, de este al estado 2, del 2 al estado Nº 3 del mismo al último estado, y de este estado al dos para después volver al estado inicial.

 

 La imagen inferior nos muestra la entidad en la que trabajamos y obsevamos tanto la secuencia que hemos creado en los estados como las entradas ‘a’ ‘CLK’ ‘RESET’ y la salida ‘S’

 

 

 

 

 

 

 

 

Ahora hay que ir al entorno ISE y seleccionamos la opción Add existing source, seleccionamos nuestro archivo con extensión .vhd. Y, ahora seleccionamos el Design File. Ya lo tenemos en nuestro entorno XILINX ISE.

CREACIÓN DEL FICHERO TEST BENCH:

 

 

 

 

 

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s