Sie sind auf Seite 1von 25

Eletrnica Embarcada

Aula 7 - Desenvolvimento de projetos utilizando


FPGA: Implementao de sistemas seqenciais
projetadas em Mquina de Estados Finitos

Prof. Lzaro Camargo

Introduo
Uma mquina de estados finitos ou autmato finito
uma modelagem de um comportamento composto por
estados, 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 realizada
para que a transio ocorra.
Uma ao a descrio de uma atividade que deve
ser realizada em determinado momento.

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 um
sinal de sincronizao chamado relgio (clock).

Tipos de mquinas
As 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 cuja
sada no tempo t depende do estado e da entrada no
tempo t, ou seja:

Tipos de mquinas

(continuao)

Na mquina de Mealy a sada Y pode mudar em


qualquer instante, em funo da entrada X.

Tipos de mquinas

(continuao)

A mquina de Moore um sistema seqencial cuja


sada no tempo t depende somente do estado no
tempo t.

Na mquina de Moore a sada Y muda apenas na


transio do relgio.

Tipos de mquinas

(continuao)

O comportamento das mquinas de Moore e Mealy


machines idntico, mas suas implementaes
diferem.
Na representao da mquina de Moore, nos arcos do
grafo somente so representados os sinais de entrada
causadores da transio de um estado para outro.

Tipos de mquinas

(continuao)

Na representao da mquina de Mealy, nos arcos do


grafo so representados os sinais de entrada
causadores da transio de um estado para outro, com
os respectivos valores para a sada.

Transformando as
representaes
As representaes podem ser transformadas de uma
para a outra.
Vantagens e desvantagens:
Mealy:





glitches (rudos)
problemas de amostragem
mais fcil de projetar
menor nmero total de estados

Moore:
 sem glitches

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 no
diagrama de estados;
Escrever a tabela de estados, com os estados atuais, prximos
estados e sadas;
Atribuir a cada estado uma combinao de variveis de estado
(flip-flops);

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 dos
flip-flops do circuito, com o auxlio da tabela de excitao;
 Obter a equao final de cada entrada de cada um dos flipflops do circuito a partir da simplificao do mapa de
Karnaugh;
 Fazer o mesmo procedimento para as equaes das variveis
de sada.
 Finalmente, elaborao do diagrama lgico do circuito,
lembrando que todos os elementos de memria (flip-flops)
recebem o mesmo sinal de relgio.

Descrio de mquinas de
estados usando VHDL
1. Os dois componentes do sistema seqencial , ou
seja, a funo de transio de estado e a funo de
sada so descritas como processos (process)
separados.
2. O primeiro processo descreve a funo de transio
de estado e ativado sempre que h um evento no
sinal de relgio (clock).
3. O segundo processo descreve a funo de sada e
ativado sempre que h uma transio de estado ou um
evento nos sinais de entrada

Descrio de mquinas de
estados usando VHDL

(continuao)

Faa uma descrio VHDL da mquina de estados


especificada pelo diagrama de estados abaixo:

0/0

1/0

1/0

S1

Sinic

1/0

0/0

S11

1/1

0/0

0/0

S110

library IEEE;
use ieee.std_logic_1164.all;
responsvel
use ieee.std_logic_unsigned.all;
sada
ENTITY detetor_de_padroes IS
PORT
( x : IN STD_LOGIC;
y : OUT STD_LOGIC;
clk : IN STD_LOGIC
);
END detetor_de_padroes;
ARCHITECTURE comportamental OF detetor_de_padroes IS
TYPE estados IS (Sinic, S1, S11, S110); -- tipo define os estados
SIGNAL estado_atual: estados;
-- sinal do tipo estados
SIGNAL estado_anterior: estados;
-- sinal do tipo estados
BEGIN
PROCESS (clk)
BEGIN
IF RISING_EDGE (clk) THEN processo responsvel pela mudana de estado
CASE estado_atual IS
WHEN Sinic => IF x = '0' THEN estado_atual <= Sinic;
ELSE estado_atual <= S1;
estado_anterior <= Sinic;
END IF;
WHEN S1 => IF x = '0' THEN estado_atual <= Sinic;
estado_anterior <= S1;
ELSE estado_atual <= S11;
estado_anterior <= S1;
END IF;
WHEN S11 => IF x = '0' THEN estado_atual <= S110;
estado_anterior <= S11;
0/0
ELSE estado_atual <= S11;
estado_anterior <= S11;
END IF;
WHEN S110 => IF x = '0' THEN estado_atual <= Sinic;
estado_anterior <= S110;
ELSE estado_atual <= S1;
Sinic
estado_anterior <= S110;
END IF;
END CASE;
END IF;
END PROCESS;

PROCESS (estado_atual, estado_anterior, x) -- processo


BEGIN

-- pela funo de

CASE estado_atual IS
WHEN Sinic => y <= '0';
WHEN S1 => IF estado_anterior = S110 THEN y <= '1';
ELSE y <= '0';
END IF;
WHEN S11 => y <= '0';
WHEN S110 => y <= '0';
END CASE;
END PROCESS;
END comportamental;

Mquina de Early
1/0

1/0

S1

1/0

0/0

S11

1/1

0/0

0/0

S110

Descrio de mquinas de
estados usando VHDL

(continuao)

PADRO

Implementao de Mquina de
Estados Finitos
Semforo

Implementao de Mquina de
Estados Finitos
(continuao)

Tutorial:
1.Criar Projeto e modelar sistema:
2.New > State Machine File

Implementao de Mquina de
Estados Finitos
(continuao)

Modelo inicial:
Estados (state tool), transies(transition tool), entradas (insert
input port) e sadas (insert output port)

Implementao de Mquina de
Estados 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.

Implementao de Mquina de
Estados Finitos
(continuao)

Editar valores de sadas dos Estados sob as condies adicionais,


quando elas existirem.

Implementao de Mquina de
Estados Finitos
(continuao)

Modelo inicial pronto > salvar


>generate HDL tool (escolher opo VHDL)
>Compilar o modelo

Implementao de Mquina de
Estados 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

Implementao de Mquina de
Estados Finitos
(continuao)

Implementao de Mquina de
Estados Finitos
(continuao)

Simulao
1.Editar forma de onda para sinal reset
2.Editar forma de onda para sinal parada

Implementao de Mquina de
Estados Finitos
(continuao)

Criao e simulao do Bloco funcional da mquina de estado

Das könnte Ihnen auch gefallen