Arquitetura de computadores I-maquina de bebidas
Máquina Automática de Vender Bebidas
Resumo: O trabalho que será apresentado sobre máquina automática de vende bebidas, onde serão utilizados conceitos de VHDL. A máquina tem o objetivo de fornecer dois tipos de bebidas, e também a máquina possui várias funções de reconhecimento.
1- Introdução
Nosso trabalho tratasse de uma máquina de vender bebidas, implementada em uma máquina de estados finitos, funciona com dois tipos de bebidas de mesmo valor (R$1,50) e aceita três tipos de moedas: R$0,25; R$0,50 e R$1,00. A máquina calcula quanto de dinheiro foi adicionado e devolve a bebida escolhida e o troco (se for necessário). Caso o dinheiro adicionado não seja suficiente para liberar a bebida ou o usuário aperte o botão DEV (devolver), ele será devolvido. Após a máquina volta ao estado de espera, aguardando moedas.
Tabela de transição de estados:
Estado Atual
Comando de Entrada
Nada
M025
M050
M100
DEV
AP
GND
S000
S000
S025
S050
S100
S000
S000
S000
S025
S025
S050
S075
S125
S000, D025
S025
S025
S050
S050
S075
S100
S150
S000, D050
S050
S050
S075
S075
S100
S125
S150, D025
S000, D075
S075
S075
S100
S100
S125
S150
S150, D050
S000, D100
S100
S100
S125
S125
S150
S150, D025
S150, D075
S000, D125
S125
S125
S150
S150
S150, D025
S150, D050
S150, D100
S000, D150
S150
S150
2- Desenvolvimento
A implementação em VHDL se baseia em um modelo da Máquina de Moore, onde as saídas dependem do estado atual.
O funcionamento é simples, primeiro as entradas e saídas são zeradas (estado inicial 000), as moedas adicionadas vão sendo somadas e a máquina vai evoluindo de estado (ex: ‘000’ para ‘001’). Todo o processo ocorre com comandos condicionais IF, CASE e WHEN.
Ao fim do processo temos um comando que é executado quando nenhuma entrada está ativa. Neste caso, a máquina permanece em seu estado atual até que uma próxima ação seja executada.
WHEN OTHERS => estado