Eletrônica Embarcada - Aula 7- Proj Maquina de Estados Finitos

Embed Size (px)

Citation preview

  • 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