29 nov 2010

DETECTOR DE SECUENCIA (MAQUINA MOORE)

FINALIDAD:
El fin de este ejercicio es realizar el estudio de una máquina de estados tipo Moore.


ENUNCIADO:
Se desea proyectar un detector de secuencia que reconozca la secuencia de entrada ‘1 -> 0 -> 1 -> 1’.
            • La entrada se llamará ‘a’.
            • Y la salida ‘S’.


ANÁLISIS:

La máquina se desarrollará mediante un diagrama de flujo de máquina Moore síncrona que será exportado a código VHDL y éste, se utilizará directamente para implementar el diseño en el CPLD.

           -       DIAGRAMA DE FLUJO:

Consiste en expresar gráficamente la secuencia del proceso de la máquina, con sus estados inestables, estables y valores de salida. En sí, este diagrama es la solución del ejercicio.






   1.  ABRIR PROJECT NAVIGATOR:

En el escritorio encontramos el icono del ‘Project Navigator’, hacemos doble clic y se abre el entorno con el último proyecto con el que hemos trabajado.



   2.  ACREAR NUEVOPROYECTO:

Desde File->New Project’ configuramos los primeros parámetros del proyecto tal como el nombre ‘DETECTOR’ y el tipo ‘HDL’. Hacemos clic en ‘Siguiente’.








Configuramos Familia, Dispositivo, Encapsulado, Velocidad, Sintetizador, Simulador y Lenguaje de simulación.


   3.  AÑADIR NUEVA FUENTE:

Vamos a añadir una fuente a nuestro proyecto, con el nombre de ‘DETECTOR’, utilizando un lenguaje formal de presentación gráfico de máquinas de estados.




   4.  GENERAR CÓDIGO VHDL DEL AUTÓMATA:

Tras añadir la fuente se nos abre el programa de diseño gráfico de máquinas de estados ‘StateCAD’.


4.1.      AÑADIR PUERTOS ENTRADA/SALIDA DEL AUTÓMATA:

Para ello entramos en ‘Options-> Variable’.


En la ventana que se nos abre vemos que por defecto existe la entrada de reloj.
Los demás puertos se añaden poniendo el nombre en el campo ‘Name’, configurando el tipo, el modo activo y si va a ser un pin o un nodo interno. Posteriormente hacemos clic en el botón ‘Add/Modify’.






4.2.      VERIFICACIÓN:

Verificamos el correcto funcionamiento del autómata creando un test bench’.
Hacemos clic sobre el botón de State Bench’ y generamos el fichero test bench’ pasando por los estados:  0 -> 1 -> 2 -> 3 -> 4 -> 2 -> 0



4.3.      GENERAR EL CÓDIGO VHDL:

Una vez verificado el funcionamiento generamos el código del autómata en VHDL haciendo clic en ‘Generate HDL’.



El código VHDL se nos muestra en una ventana donde podemos observar como la entidad está formada por las entradas ‘a’, ‘CLK’, ‘RESET’ y por la salida ‘S’.




Salvamos el autómata y nos salimos del programa.


   5.  AÑADIR FICHERO VHDL AL PROYECTO:

Añadimos el fichero ‘DETECTOR.vhd’ al proyecto.








    1.   CREAR FICHO TEST BENCH WAVEFORM:

La simulación funcional ya ha sido realizada con el programa StateBench, no obstante, si se desea se puede volver a crear un fichero test bench tal y como lo hemos venido realizando en ejercicios anteriores.



Por otra parte, el ‘StateBench’ generó un fichero de test ‘DETECTOR_TB.vhd’, el cual puede ser simulado directamente con ‘ModelSimtras haber sido previamente añadido al proyecto como tipo de fuente ‘VHDL Test Bench’.




Seguidamente, abrimos el proceso Simulate Behavioral Model’ asociado a ‘DETECTOR_TB.vhd’.







    1.   SÍNTESIS DEL DETECTOR:

Hacemos doble clic en el proceso ‘Synthesize-XST’ situado en la ventana de procesos y se nos efectúa la síntesis del autómata.










Aquí os dejo un enlace para que podáis bajaros el tutorial y el programa: http://cid-64f7131e50857260.office.live.com/self.aspx/DETECTOR/DETECTOR.rar

0 comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes Powered by Blogger | DSW printable coupons