Está en la página 1de 5

SISTEMAS DIGITALES 2, PRÁCTICA NÚMERO 4, VIERNES 08 DE DICIEMBRE DEL 2017

PROGRAMACIÓN DE MÁQUINAS DE ESTADOS FINITOS


Robles Aguirre Jonathan
Demeza Torres Ulises

Universidad Autónoma del Estado de Morelos, Facultad de Ciencias Químicas e Ingeniería


Av. Universidad 1001, Col. Chamilpa Cuernavaca, Morelos.

Resumen:
Familiarizarse con la programación de máquinas de estado finito a través del entorno de programación de Quartus Prime, se
utilizarán técnicas de lógica secuencial en el diseño de circuitos, para su realización como un sistema, mediante máquinas de estado.

Palabras claves------ Máquinas de estado finito, Lógica secuencial tipo Mealy, Tipo Moore.

II. METODOLOGÍA
I. INTRODUCCIÓN
A. Diseño experimental/muestreo
Una máquina de estados finitos (Finite State Machine) se
utiliza para modelar un sistema que transita entre un número Para poder llevar a cabo la realización de la práctica se
finito de estados internos. Las transiciones dependen del realizaron los ejercicios de la presentación principal que se
estado actual y de la entrada externa. encuentra en esta unidad.
La aplicación principal de una FSM es actuar como el Existen dos tipos de lógica secuencial de los cuales se
controlador de un sistema digital de nivel medio a grande.
clasifican en:
Las FSM tienen un conjunto de estados, incluido el estado
 Lógica secuencial síncrona que se refieren a los
inicial, un alfabeto fuente y una función de transición que a
cambios de estados que ocurren en todos los
cada pareja de estado y dato de entrada le asigna el estado
siguiente. elementos de almacenamiento al mismo tiempo (de
Esta práctica consistió en la familiarización con la acuerdo a una señal periódica – el reloj o clock).
programacíon de máquinas de estado finito a través del
entorno de programación de Quartus prime.
En la siguiente imagen se pueden observar los diferentes tipos
de estados que contiene una FSM.

Fig.2. Se observa una máquina de estados tipo Mealy.

Fig.1. FSM que contiene un estado inicial, un alfabeto fuente Fig.3. Se observa una máquina de estados tipo Moore.
y una función de transición.

1
SISTEMAS DIGITALES 2, PRÁCTICA NÚMERO 4, VIERNES 08 DE DICIEMBRE DEL 2017

Fig.6. Diagrama para la máquina de estados para generador de


 Lógica secuencial asíncrona – en este caso los un pulso con memoria.
estados cambian cuando las entradas cambian
(elemento de almacenamiento que pueden ser
simples alambres o retardos).

Fig.7. Realización de la máquina de estados en Quartus prime.

Fig.4. Ejemplo de una máquina de estados asíncrona.

B. Análisis de datos

Para el primer ejercicio se diseñó una máquina de estado


finito para generador de un pulso con memoria.
En la siguiente imagen se observa el código para la máquina
de estados finito.

Fig.8. Simulación de la máquina de estados para un generador


de un pulso con memoria realizado en Model Sim.

Para el segundo diseño se tiene una máquina de estados finita


para generador de un pulso con memoria (Opción 2) con un
ciclo más de reloj de duración en la salida L.
En la siguiente imagen se puede observar el código de la
máquina de estados para generador de un pulso con memoria
con un ciclo más de reloj de duración en la salida L.

Fig.5. Código de una máquina de estados para generador de


un pulso con memoria.

2
SISTEMAS DIGITALES 2, PRÁCTICA NÚMERO 4, VIERNES 08 DE DICIEMBRE DEL 2017

Fig.9. Código de una máquina de estados finita para generador Fig.12. Código de la máquina de estados para generador de un
de un pulso con memoria con un ciclo más de reloj. pulso con memoria con un ciclo más de reloj.

Fig. 10. Diseño de la máquina de estados para generador de un Fig.13. Diseño para la máquina de estados para generador de
pulso con memoria con un ciclo más de reloj realizado en un pulso con memoria con un ciclo más de reloj.
quartus.

Fig.11. Simulación de la máquina de estados para generador


de un pulso con memoria con un ciclo más de reloj realizado
en Model Sim.

Para el tercer ejemplo se tiene una máquina de estados para el Fig. 14. Simulación para la máquina de estados para
control de tiempo de espera en una salida. generador de un pulso con memoria con un ciclo más de reloj.
En la siguiente imagen se puede observar el código para una
máquina de estados para generador de un pulso con memoria Para el cuarto ejemplo se tiene una FSM para control de ciclo
con un ciclo más de reloj. de escritura de una memoria RAM.
En la siguiente imagen se puede observar el código de
programación para una máquina de estados para control de
ciclo de escritura de una memoria RAM.

3
SISTEMAS DIGITALES 2, PRÁCTICA NÚMERO 4, VIERNES 08 DE DICIEMBRE DEL 2017

Fig.15. Código de una máquina de estados para el control de FSM, después analizar el problema y documentarse con la
ciclo de escritura de una memoria RAM. información que se tiene en la plataforma para una
comprensión mayor y así evitar cualquier tipo de error.
VI. RECOMENDACIONES

Como recomendaciones es que antes de hacer cualquier


prueba real se haga una simulación en el Model Sim esto para
estar informado de que el programa funciona y como se dijo
anteriormente si la comprensión es incompleta, documentarse
con la información que se tiene en la plataforma.
Hacer las pruebas adecuadas con los datos de las tablas de
Fig.16. Se observa el diagrama de estados para la máquina de verdad asignadas previamente para un mejor entendimiento de
estados para el control de ciclo de una memoria RAM. la simulación.

REFERENCIAS

[1] https://es.wikipedia.org/wiki/M
%C3%A1quina_de_estados
[2] http://creaciodigital.upf.edu/~smiguel/
b13maquinaEstados.htm
[3] http://uncomp.uwe.ac.uk/genaro/Papers/
Veranos_McIntosh_files/alejandroFinal2008.pdf
[4] http://www.tecbolivia.com/index.php/articulos-y-
tutoriales-microcontroladores/13-introduccion-a-las-
maquinas-de-estado-finito

APÉNDICE
Fig.17. En la imagen se puede observar la simulación en
Model Sim para una máquina de estados para el control de
ciclo de una memoria RAM. En las siguientes imágenes se pueden observar tanto el código
de la práctica que el docente pidió se demostrara como el
diagrama de estados y la simulación.
III. RESULTADOS

Los resultados obtenidos en la práctica fueron satisfactorios


ya que la programación de las máquinas de estados con
respecto a la simulación que se tenía en la presentación
principal correspondía con la simulación realizada en Model
Sim.
Fue necesario llevar a cabo un análisis para entender el
funcionamiento de cada ejercicio.

IV. DISCUSIÓN

En la realización de la práctica se tuvieron unos pequeños


inconvenientes con la realización de las máquinas de estado
ya que al principio no se entendía muy bien el procedimiento
lo que nos retrasó un poco en la entrega de la práctica. Se
analizó y se buscó información al respecto para solucionar el
problema y fue así como se comprendió el funcionamiento
primero de la programación mediante máquinas de estado y
después cada uno de los ejercicios.

V. CONCLUSIONES

Como conclusión de la práctica de las máquinas de estados


primero se debe comprender bien la programación mediante

4
SISTEMAS DIGITALES 2, PRÁCTICA NÚMERO 4, VIERNES 08 DE DICIEMBRE DEL 2017

Fig.18. Código de una máquina de estados para el control del


ciclo de escritura de una RAM.

Fig.19. Diseño de la máquina de estados que se pidió se


comprobara en el simulador Model Sim.

En la simulación podemos observar que empezando a


interpretar el diagrama de la máquina de estados de la figura
18 vemos que CS, W, R lo tenemos igual a 1 en el primer
ciclo del reloj, después nos pasamos al siguiente ciclo del reloj
que nos dice que CS es negada esto quiere decir que CS es
igual a cero(0) y W, R es igual a 1, nos vamos a otro ciclo del
reloj que nos dice que CS y W son negada igual a cero(0) y R
es igual a 1, continuamos con el siguiente ciclo que CS es
negada igual a cero(0) y W,R es 1, por ultimo pasamos al
siguiente ciclo que es como al inicio, cuando CS,W,R es igual
a 1 y se vuelve a empezar a contar los ciclos de reloj para ir
obteniendo los valores de CS,W,R siguientes.

Fig.20. Simulación para la máquina des estados de la figura


19.

También podría gustarte