Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Digitais Projeto RTL – Unidade de Controle
Advertisements

Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Projecto de Hardware com FPGAs
The new way! The old way... TC – DEI, 2005/2006.
VHDL - VHSIC Hardware Description Language
Fernando Gehm Moraes Ney Laert Vilar Calazans
César Augusto Missio Marcon Ney Laert Vilar Calazans
Parte 7 - VHDL: Processos, Paralelismo e o Comando process (Continuação) LABORG 05/outubro/2009 César Augusto Missio Marcon Ney Laert Vilar Calazans.
Ney Laert Vilar Calazans
VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais.
Unidades de Execução e de Controle Sistemas Digitais.
VHDL AULA - 2.
Lógica reconfigurável por hardware
Finite State Machines.
MC613 Laboratório de Circuitos Lógicos
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
Introdução a circuitos lógicos
Verificação MO801/MC912.
Dicas de Circuitos MO801/MC912.
MO Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
Professora: Aline Vasconcelos IF Fluminense
FLI – ModelSim Pedro Velho.
Análise de Circuitos Sequenciais Síncronos
Library IEEE; use ieee.std_logic_1164.all; use IEEE.std_logic_arith.all;
Tipos de dados Existentes BIT - {0, 1} BIT_VECTOR - {vetor de BIT}
Construção sequencial CASE WHEN
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
Modelagem de Sistemas com VHDL
Máquina de Estados Finito
Exercícios Referentes à Prova P2
Circuitos Seqüenciais Descrição VHDL
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
EPUSP – PTC Guido Stolfi
Engenharia de Software para Computação Embarcada
Lógica reconfigurável por hardware
Lógica reconfigurável por hardware
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
Validação de VHDL: técnicas e ferramentas
Circuitos Seqüenciais Contadores
Projeto de um Comparador Descrição Estrutural x Comportamental
Circuitos Seqüenciais
Test-bench para Somador
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Projeto de Somador com e sem Sinal Descrição.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Exercícios Circuitos Descritos em VHDL.
Diagramas de Blocos e Descrição VHDL
Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA)
UTFPR – Prof. Carlos Raimundo Erig Lima.  Circuitos compostos por lógica seqüencial e por lógica com binacional.  Baseados em flip-flops sincronizados.
Ney Laert Vilar Calazans
Silas Juccelino Artulanez.  O que é?  Notação  Estado  Mudança de estado  Condições e ações  Diagramas subdivididos  Passos na construção  Verificação.
Circuitos Sequenciais
Descrição de Circuitos Combinacionais em VHDL
Projetos Grandes MO801/MC912. Roteiro Componentes Configurações Instanciação múltipla Instanciação condicional Atenção: Os exemplos são cumulativos.
Hardware Description Language Aula 8 –Verilog HDL
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Exercícios Circuitos Descritos em VHDL.
Introdução a VHDL Monitoria de Digitais.
Introdução ao VHDL João M. P. Cardoso.
Eletrônica Digital II ELT013
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)
Análise e Conceção de Sistemas
Cap. V – Análise e Síntese de Circuitos Sequenciais Síncronos
Lei de Moore O número de transistores num circuito integrado duplica todos os 18 meses. Isto é extremamente relevante porque... as gates são feitas a partir.
Circuitos Lógicos Sequenciais
Projeto de Circuitos Integrados Semidedicados Prof. Marcio Cunha Aula 04 – Linguagem de Descrição de Hardware: VHDL.
Lógica Programável e VHDL Prof. Marcio Cunha Aula 04 – Projeto de Máquina de Estados.
Máquina de Estados Finitos com Dados (FSMD)
Lógica Sequencial e Máquina de Estados Finitos
Lógica Programável e VHDL
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
Transcrição da apresentação:

Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado armazena informações sobre o passado Uma transição indica uma mudança de estado e é descrita por uma condição que precisa ser realizada para que a transição ocorra Uma ação é a descrição de uma atividade que deve ser realizada em determinado momento

Máquina de Estados Uma máquina de estados é um sistema seqüencial O número de estados são finitos As entrada e saídas são consideradas em instantes de tempo discretos que são definidos por pulsos de um sinal de sincronização chamado relógio (clock)

Representação de máquinas de estados 1. Tabela de Transição Máquina de Estados Representação de máquinas de estados 1. Tabela de Transição EA – Estado Atual PE – Próximo Estado

Representação de máquinas de estados 1. Diagrama de Estados Máquina de Estados Representação de máquinas de estados 1. Diagrama de Estados

Máquina de Estados Exemplo 1:

Máquina de Estados Exemplo 1:

Máquina de Estados Exemplo 2: Considere um sistema seqüencial descrito abaixo: Entrada : x(t ) ∋ {a, b, c} Saída : z(t) ∋ {0, 1} Estado : s(t) ∋ {S0 , S1 , S2 , S3 } Estado Inicial: s(0) = S0 Funções : As funções de transição e de saída são: EA – Estado Atual PE – Próximo Estado TABELA DE TRANSIÇÃO ESTADOS

Máquina de Estados Representação de máquinas de estados 1. Diagrama de Estados da máquina do Exemplo 2 DIAGRAMA DE ESTADOS TABELA DE TRANSIÇÃO ESTADOS

Máquina de Estados As máquinas de estados são classificados de acordo com o tipo de função de saída, em dois tipos: Máquina de Mealy e Máquina de Moore A máquina de Mealy é um sistema seqüencial cuja saída no tempo t depende do estado e da entrada no tempo t, ou seja: z(t) = H(s(t), x(t)) A máquina de Moore é um sistema seqüencial cuja saída no tempo t depende somente do estado no tempo t, ou seja: z(t) = H(s(t))

Máquina de Estados Exemplo 1: Máquina de Mealy z(t) = H(s(t), x(t))

Máquina de Estados Máquina de Moore z(t) = H(s(t)) Representação de máquinas de estados 1. Diagrama de Estados da máquina do Exemplo 2 DIAGRAMA DE ESTADOS TABELA DE TRANSIÇÃO ESTADOS

Máquina de Estados Descrição de máquinas de estados usando VHDL 1. Os dois componentes do sistema seqüencial , ou seja, a função de transição de estado e a função de saída são descritas como processos (process) separados. 2. O primeiro processo descreve a função de transição de estado e é ativado sempre que há um evento no sinal de relógio (clock). 3. O segundo processo descreve a função de saída e é ativado sempre que há uma transição de estado ou um evento nos sinais de entrada

Exemplo 3 : Máquina de Estados Descrição de máquinas de estados usando VHDL Exemplo 3 : Faça uma descrição VHDL da máquina de estados especificada pelo diagrama de estados abaixo: 1/0 Sinic 0/0 1/1 S1 S11 S110

Descrição VHDL – Exemplo 3 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) IF RISING_EDGE (clk) THEN – mudança 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; WHEN S11 => IF x = '0' THEN estado_atual <= S110; estado_anterior <= S11; WHEN S110 => IF x = '0' THEN estado_atual <= Sinic; estado_anterior <= S110; END CASE; END PROCESS; library IEEE; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY detetor_de_padroes IS PORT ( x : IN STD_LOGIC; y : OUT STD_LOGIC; clk : IN STD_LOGIC ); END detetor_de_padroes; 1/0 Sinic 0/0 1/1 S1 S11 S110

Descrição VHDL – Exemplo 3 PROCESS (estado_atual, estado_anterior, x) -- processo responsável BEGIN -- pela função de saída 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; 1/0 Sinic 0/0 1/1 S1 S11 S110

Descrição VHDL – Exemplo 3 library IEEE; use ieee.std_logic_1164.all; PROCESS (estado_atual, estado_anterior, x) -- processo responsável use ieee.std_logic_unsigned.all; BEGIN -- pela função de saída ENTITY detetor_de_padroes IS CASE estado_atual IS PORT WHEN Sinic => y <= '0'; ( x : IN STD_LOGIC; WHEN S1 => IF estado_anterior = S110 THEN y <= '1'; y : OUT STD_LOGIC; ELSE y <= '0'; clk : IN STD_LOGIC END IF; ); WHEN S11 => y <= '0'; END detetor_de_padroes; WHEN S110 => y <= '0'; ARCHITECTURE comportamental OF detetor_de_padroes IS END CASE; TYPE estados IS (Sinic, S1, S11, S110); -- tipo define os estados END PROCESS; SIGNAL estado_atual: estados; -- sinal do tipo estados END comportamental; SIGNAL estado_anterior: estados; -- sinal do tipo estados BEGIN PROCESS (clk) IF RISING_EDGE (clk) THEN – processo responsável pela mudança 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; WHEN S11 => IF x = '0' THEN estado_atual <= S110; estado_anterior <= S11; WHEN S110 => IF x = '0' THEN estado_atual <= Sinic; estado_anterior <= S110; END CASE; END PROCESS; MÁQUINA DE MEALY 1/0 Sinic 0/0 1/1 S1 S11 S110

Descrição VHDL – Exemplo 3 1/0 Sinic 0/0 1/1 S1 S11 S110

Descrição VHDL – Exemplo 3 1/0 Sinic 0/0 1/1 S1 S11 S110 0 1 1 0 1 1 1 0 1 PADRÃO