martes, 23 de noviembre de 2010

CPLD's. Ejercicio con máquina de estados MEALY

Este es el ejercicio a realizar:
Se desea proyectar el gobierno de un conmutador rotativo, que permite realizar un ciclo completo cuando el tambor haya efectuado una vuelta completa.
El disco solidario del tambor lleva un saliente para actuar sobre el contacto (a).
El pulsador (b) (botón de impulsos) da comienzo al ciclo.
1) Estado inicial (reposo) a=1, b=0, M=0.
2) (b) es accionado y después desaccionado rápidamente (impulso) -> M=1.
3) Cuando el disco ha dado una vuelta, (a) es accionado por el saliente y el disco se para.


Nota.- La acción sobre (b) debe ser contemplada como instantánea (Impulso) y como no instantánea.


La máquina se desarrollará mediante un diagrama de flujo de máquina Mealy síncrona que será transformado en un símbolo gráfico y éste, será utilizado en el diseño gráfico principal.


En este punto se enumeran todos los posibles estados estables que va a poseer la máquina. Estos estados no deben confundirse con los estados internos que se van a necesitar para registrar todo el proceso secuencial.
Tabla de Estados:
Una vez que ya tenemos claro cual será el algoritmo que vamos a ncesitar para resolver este problema nos vamos al ISE.
Alli creamos un nuevo proyecto pero está vez añadiremos una fuente, en la que crearemos los estados.

Esta será la hoja que nos aparezca, para crear los estados. Lo primero que hacemos es definir las variables que vamos a usar.
Una vez las hemos definido creamos los estados y las transiciones:

Damos valor a las ecuaciones de entradas y a las salidas. Poniendo el cursor encima de las transiciones y haciendo clic, con el botón izquierdo del ratón, se nos abrirán las siguiente ventanas:
Hacemos lo mismo para todas las transiciones y quedará algo asi:
 Despues verificamos que no tenemos errores en ninguna transicion .
Pasamos ahora a la simulacion:





Para la simulacion en el State Bench lo primero que hacemos es un reset.
Tras el reset se puede observar como el STATE0’ se pone de color amarillo y como las transiciones por las que pasamos se vuelven de color verde.




Ahora en la pantalla de abajo, vamos dando valores a las entradas y vemos como cambiamos de transicion.


Si nos queda alguna transición por comprobar queda de color rojo.
En la de abajo podemos ir dando valores a las variables para su simulación y nos van diciendo los estados por los que pasamos.
Guardamos este fichero, ya que será necesario para la simulación .
Ahora generamos el código HDL que necesitamos para generar el esquema.


Añadimos el fichero .vhd y creamos un símbolo.
Lo encontramos en la librería y después generamos el esquema.
Una vez que tenemos el esquema lo simulamos, añadiendo el fichero de simulación que creamos anteriormente.


Y como siempre por ultimo, asignamos los pines.




Y damos por finalizado otro ejercicio más.


 

No hay comentarios:

Publicar un comentario