aula18
DESCRIPTION
aula18TRANSCRIPT
-
Mquina de Estados 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
-
Mquina de Estados 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)
-
Mquina de Estados Representao de mquinas de estados
1. Tabela de Transio
EA Estado AtualPE Prximo Estado
-
Mquina de Estados Representao de mquinas de estados
1. Diagrama de Estados
-
Mquina de EstadosExemplo 1:
-
Mquina de EstadosExemplo 1:
-
Mquina de Estados Exemplo 2:
Considere um sistema seqencial descrito abaixo:
Entrada : x(t ) {a, b, c} Sada : z(t) {0, 1} Estado : s(t) {S0 , S1 , S2 , S3 } Estado Inicial: s(0) = S0
Funes : As funes de transio e de sada so:
EA Estado AtualPE Prximo EstadoTABELA DE TRANSIO ESTADOS
-
Mquina de Estados Representao de mquinas de estados
1. Diagrama de Estados da mquina do Exemplo 2
TABELA DE TRANSIO ESTADOSDIAGRAMA DE ESTADOS
-
Mquina de EstadosAs 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:
z(t) = H(s(t), x(t))
A mquina de Moore um sistema seqencial cuja sada no tempo t depende somente do estado no tempo t, ou seja:
z(t) = H(s(t))
-
Mquina de EstadosExemplo 1:
Mquina de Mealyz(t) = H(s(t), x(t))
-
Mquina de Estados Representao de mquinas de estados
1. Diagrama de Estados da mquina do Exemplo 2
TABELA DE TRANSIO ESTADOSDIAGRAMA DE ESTADOSMquina de Moorez(t) = H(s(t))
-
Mquina de Estados 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
-
Mquina de EstadosDescrio de mquinas de estados usando VHDL Exemplo 3 :
Faa uma descrio VHDL da mquina de estados especificada pelo diagrama de estados abaixo:
-
Descrio VHDL Exemplo 3 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;
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 mudana de estado CASE estado_atual IS WHEN Sinic => IF x = '0' THEN estado_atual
- Descrio VHDL Exemplo 3 PROCESS (estado_atual, estado_anterior, x) -- processo responsvel BEGIN -- pela funo de sada CASE estado_atual IS WHEN Sinic => y IF estado_anterior = S110 THEN y
- Descrio VHDL Exemplo 3 library IEEE;use ieee.std_logic_1164.all; 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
-
Descrio VHDL Exemplo 3
-
Descrio VHDL Exemplo 3 0 1 1 0 1 1 1 0 1PADRO