7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
1/25
Eletrnica EmbarcadaAula 7 - Desenvolvimento de projetos utilizandoFPGA: Implementao de sistemas seqenciaisprojetadas em Mquina de Estados Finitos
Prof. Lzaro Camargo
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
2/25
IntroduoUma mquina de estados finitos ou autmato finito
uma modelagem de um comportamento composto porestados, transies e aes.
Um estado armazena informaes sobre o passado.
Uma transio indica uma mudana de estado e descrita por uma condio que precisa ser realizadapara que a transio ocorra.
Uma ao a descrio de uma atividade que deveser realizada em determinado momento.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
3/25
Introduo (continuao)Uma mquina de estados um sistema seqencial.
O nmero de estados so finitos.
As entrada e sadas so consideradas em instantes de
tempo discretos que so definidos por pulsos de umsinal de sincronizao chamado relgio (clock).
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
4/25
Tipos de mquinasAs mquinas de estados so classificados de acordo
com o tipo de funo de sada, em dois tipos:
Mquina de Mealy e Mquina de Moore
A mquina de Mealy um sistema seqencial cujasada no tempo t depende do estado e da entrada notempo t, ou seja:
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
5/25
Tipos de mquinas (continuao)
Na mquina de Mealy a sada Y pode mudar emqualquer instante, em funo da entrada X.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
6/25
A mquina de Moore um sistema seqencial cuja
sada no tempo t depende somente do estado notempo t.
Na mquina de Moore a sada Y muda apenas na
transio do relgio.
Tipos de mquinas (continuao)
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
7/25
Tipos de mquinas (continuao)O comportamento das mquinas de Moore e Mealy
machines idntico, mas suas implementaesdiferem.
Na representao da mquina de Moore, nos arcos do
grafo somente so representados os sinais de entradacausadores da transio de um estado para outro.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
8/25
Tipos de mquinas (continuao)Na representao da mquina de Mealy, nos arcos do
grafo so representados os sinais de entradacausadores da transio de um estado para outro, comos respectivos valores para a sada.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
9/25
Transformando asrepresentaes
As representaes podem ser transformadas de umapara a outra.
Vantagens e desvantagens:Mealy:
glitches (rudos) problemas de amostragem mais fcil de projetar menor nmero total de estados
Moore: sem glitches
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
10/25
Sntese de Redes Seqenciais
A sntese de redes seqenciais pode ser obtida
seguindo-se uma srie bem determinada de passos:O primeiro passo consiste em elaborar um diagrama de estados,que seja uma interpretao fiel do problema original;
Opcionalmente pode-se minimizar o nmero de estados nodiagrama de estados;
Escrever a tabela de estados, com os estados atuais, prximosestados e sadas;
Atribuir a cada estado uma combinao de variveis de estado(flip-flops);
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
11/25
Sntese de Redes Seqenciais(continuao)
Construir a tabela de excitao do tipo de flip-flop utilizado;
Montar o mapa de Karnaugh para cada uma das entradas dosflip-flops do circuito, com o auxlio da tabela de excitao;
Obter a equao final de cada entrada de cada um dos flip-
flops do circuito a partir da simplificao do mapa deKarnaugh;
Fazer o mesmo procedimento para as equaes das variveisde sada.
Finalmente, elaborao do diagrama lgico do circuito,lembrando que todos os elementos de memria (flip-flops)recebem o mesmo sinal de relgio.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
12/25
Descrio de mquinas deestados usando VHDL
1. Os dois componentes do sistema seqencial , ouseja, a funo de transio de estado e a funo desada so descritas como processos (process)separados.
2. O primeiro processo descreve a funo de transiode estado e ativado sempre que h um evento nosinal de relgio (clock).
3. O segundo processo descreve a funo de sada e ativado sempre que h uma transio de estado ou umevento nos sinais de entrada
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
13/25
1/0Sinic
0/0 1/0
0/0
0/0
1/0
0/0
1/1
S1 S11 S110
Descrio de mquinas deestados usando VHDL (continuao)
Faa uma descrio VHDL da mquina de estadosespecificada pelo diagrama de estados abaixo:
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
14/25
library IEEE; use ieee.std_logic_1164.al l; PROCESS (estado_atual, estado_anterior, x) -- processo
responsvel use ieee.std_logic_unsigned.all; BEGIN -- pela funo de
sada
ENTITY detetor_de_padroes IS CASE estado_atual IS PORT WHEN Sinic => y IF estado_anterior = S110 THEN y
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
15/25
0 1 1 0 1 1 1 0 1
PADRO
Descrio de mquinas deestados usando VHDL (continuao)
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
16/25
Implementao de Mquina deEstados Finitos
Semforo
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
17/25
Implementao de Mquina deEstados Finitos (continuao)Tutorial:1.Criar Projeto e modelar sistema:2.New > State Machine File
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
18/25
Implementao de Mquina deEstados Finitos (continuao)Modelo inicial:Estados (state tool), transies(transition tool), entradas (insertinput port) e sadas (insert output port)
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
19/25
Implementao de Mquina deEstados Finitos (continuao)State Machine Wizard> Edit an existing state machine design(ok)>Sunchronous (Next)>Editar valores de sadas dos Estados sob as condies adicionais,quando elas existirem.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
20/25
Implementao de Mquina deEstados Finitos (continuao)Editar valores de sadas dos Estados sob as condies adicionais,quando elas existirem.
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
21/25
Implementao de Mquina deEstados Finitos (continuao)Modelo inicial pronto > salvar>generate HDL tool (escolher opo VHDL)>Compilar o modelo
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
22/25
Implementao de Mquina deEstados Finitos (continuao)Simulao
1.Inserir sinais do modelo
2.Inserir Node fstate para analise da posio do estado
3.Mudana de parmetros de simulao
4.Edit>End time (tempo final da simulao) 60s
5.Edit>Grid size (tamanho das divises ) 5s
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
23/25
Implementao de Mquina deEstados Finitos (continuao)
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
24/25
Implementao de Mquina deEstados Finitos (continuao)Simulao
1.Editar forma de onda para sinal reset
2.Editar forma de onda para sinal parada
7/24/2019 Eletrnica Embarcada - Aula 7- Proj Maquina de Estados Finitos
25/25
Implementao de Mquina deEstados Finitos (continuao)Criao e simulao do Bloco funcional da mquina de estado