Está en la página 1de 3

Elaboración de una máquina de estado: máquina expendedora

Yovin Urrego

RESUMEN: Para la elaboración de esta maquina de


estado se hicieron dos diagramas uno de flujo y
otro de cartas AMS, el código en VHDL uso una
arquitectura funcional, en la cual se estableció un
CASE que contiene los estados de la maquina
expendedora, los resultados de la simulación
fueron exitosos ya que ya que hacia lo que se
requería.

PALABRAS CLAVE: Maquina de estado, VHDL, Fig 1. Diagrama de flujo correspondiente a la máquina
simulación. de estado

I. INTRODUCCIÓN b. DIAGRAMA DE CARTAS AMS


Este documento es un informe de la El diagrama inicia en estado reposo luego
elaboración de una maquina de estado ingresa a un bloque de decisión ingresarM si no se
correspondiente a una máquina expendedora para ello cumple la condición se regresa al primer estado, caso
como primeros pasos se hiso el diseño de los contrario se dirige a el siguiente estado de verificación,
diagramas correspondientes, en este caso uno de flujo luego se ingresa a otro bloque de decisión en el cual si
y otro de cartas ASM, con esto se pudo obtener una el verificar no se cumple se regresa a reposo, si por
tabla de estados. otro lado se cumple se redirecciona a el estado
elección y nuevamente a un bloque de decisión en el
Para la creación del código en VHDL se utilizo una
cual si no se selecciona sigue en este estado hasta
arquitectura funcional la cual se basa en que tengamos
que se elija una posición, después de esto se llega al
que conocer las salidas de nuestra entidad y pines de
estado EnviarSeleccion el cual asigna un vector de 4
entrada con los cuales opera.
bits del seleccionar al enviar, entonces se llega al
Dentro de la simulación se utilizó Xilinx IS, con esto se ultimo estado DarP el da paso al soltar y luego se
logro obtener los resultados que se necesitaban al devuelve al primer estado.
comenzar el diseño de la máquina de estado.

II. CREACIÓN DE DIAGRAMAS

a. DIAGRAMA DE FLUJO

Como primero la máquina de estado se


encuentra en reposo, estado A(000), si ingresarM se
encuentra en 1 pasa a estado B(001), en caso de que
se encuentre en 0 vuelve al primer estado, en el
segundo estado o B se encuentra la verificación si esta
en 0 vuelve al primer estado caso contrario este da
paso al siguiente estado C(010), para este se requiere
que se seleccione una posición que corresponde a un
vector de 4 bits, en caso de no seleccionar nada
seguirá en el estado actual, cuando se elija un numero
se pasa al siguiente estado D(011), el cual fue llamado Fig 2. Diagrama de cartas AMS de máquina
EnviarSeleccion, dentro de este el enviar recibe los expendedora.
datos del seleccionar y pasa al siguiente estado
E(100), el que fue llamado DarP, el cual otorga un 1 a
soltar y regresa al primer estado.
III. TABLA DE RECORRIDO En el segundo when se le asigna “000” a aux y si la
moneda es la correcta se asigna ‘1’ a verificado y
Dentro de la tabla de recorrido se encuentran estado_fut es C, en caso de que sea la moneda
los estados actuales, estados futuros, entradas y incorrecta verificado es ‘0’ y estado_fut es A.
salidas. Esta tabla fue hecha con el uso de los
diagramas anteriores.

Fig 6. Estado verificación, con when B.

Dentro del tercer when aux es “010” y si selección es


Tabla 1. Tabla de recorrido de los diagramas. igual a “UUUU” estado_fut es C en caso de que no sea
asi estado_fut es D.
IV. CÓDIGO EN VHDL

Como primero se definió la entidad, la cual


contiene dos entradas, dos salidas y cuatro inout.

Fig 7. When de estado C.

Para el cuarto when se asigna a él aux “011”, enviar


es igual a selecion y estado_fut es E.
Fig 3. Declaración de la entidad en VHDL.

Después se declararon un type, signal, process y


case.

Fig 8. When D, estado EnviarSeleccion

Ultimo when, dentro de este el soltar es ‘1’, el resto de


inout y out se vuelven ‘0’, estado_fut es A, asi mismo
Fig 4. Declaracion de type, isgnal, pprocess y case.
se finaliza el case y el process.
Dentro del case se encuentran cinco when que
representan los 5 estados de la maquina expendedora
definidos en los diagramas.

El primer when del case es el estado reposo, en este


se asigna al aux el vector “000” a soltar un ‘0’ y si
ingresoM es igual a ‘1’ estado_fut es B caso contrario
es A.

Fig 9. When E, esatdo DarP.

Para finalizar se hace un clock.


Fig 5. Código de estado A con when A.
Actualmente, se encuentra estudiando en la
Universidad Nacional de Loja, Facultad de Energía,
Industrias de los Recursos Naturales No Renovables,
la Carrera de Computación, donde desea obtener el
título de Ingeniero en Computación.

Fig 10. Clock para simulación.

V. SIMULACIÓN

Para la simulación se forzaron constantes


como ingresarM, selecion, moneda y se forzó un clock.

Fig 11. Simulación de máquina de estado.

VI. CONCLUSIÓN

La maquina de estado de una maquina expendedora


pudo ser simulada con éxito gracias a el uso de una
arquitectura funcional, los resultados de la simulación
fueron los esperados.

VII. ANEXOS

Link de código en gitlab:


https://gitlab.com/yovin.urrego/maquina-de-estado-
yovin-urrego

Diapositivas:
https://www.canva.com/design/DAFBnsfXLI4/57v7tLQ
JqSxjJkmJqUiO7A/edit

VIII. BIOGRAFÍA

Yovin Stiven Urrego Gómez,


nacido en la ciudad de
Zumba, Ecuador, el 19 de
octubre de 2001, sus padres
son Edin Urrego Márquez y
Enid Maribel Gómez Alba,
con los cuales posee una
muy buena relación, termino
su educación básica entre los
años 2016 - 2017 y
bachillerato en el Colegio De
Bachillerato Zumba, donde obtuvo el título de Bachiller
especialidad en Ciencias el 14 de julio de 2019.

También podría gustarte