Upload
adhemar-valle-filho
View
399
Download
1
Embed Size (px)
Citation preview
1
Mquina de estados finitos
Uma mquina de estados finitos representa a modelagem de um comportamento, composto por estados, transies e aes. As aes realizadas pela sada do sistema dependem de seu estado atual e dos valores apresentados sua entrada. 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 executada num determinado momento. O modelo grfico de uma mquina de estados est apresentado na figura I
Prximo Estado
Estado Atual
Funo do prximo estado
Entradas
Funo de Sada
Sadas
Figura I
Em um dado momento, a mquina pode estar somente em um nico estado, atravs do processamento de uma entrada na mquina, o estado atual define o
2
comportamento da mquina e quais aes devero ser tomadas pela mesma (inclusive se h necessidade de mudar de estado. Cada transio define de qual estado para qual estado a mquina deve mudar. A mquina de estados pode tambm ser representada por um diagrama de estados. Como exemplo, construiremos o diagrama de uma mquina de estados que recebe um trem de pulsos [1,0,1,1,0,1,0,0,1,0,1,1,1], e envie um sinal quando identificar trs bits 1 seguidos. A figura II. representa o diagrama de estados da mquina:
0/0
A1/0 0/0 0/0
B1/0
1/1
CFigura II
3
Maquina de estado de Moore
Nas mquinas de estado de Moore, as sadas dependem somente dos estados em que se encontram. Esse modelo e suas variaes so normalmente utilizados na implementao de controladores de sistemas digitais.
Figura III O problema citado no item anterior, pode ser resolvido utilizando-se uma mquina de Moore. Deve-se projetar um circuito que responda com uma sada S em nvel alto (1), quando forem identificadas entradas igual a 1 durante 3 pulsos do relgio, como mostra a fig. 3: Nota-se que a primeira seqncia de trs 1s na entrada vem a partir do ciclo 5 ao ciclo 7. Por causa disso, no ciclo seguinte (8), a sada vai para 1. A sada voltou para 0 no ciclo seguinte porque a entrada no permaneceu em 1. A sada s ser novamente 1 , no ciclo 12, aps uma nova seqncia de trs 1s. A sada, dessa vez, permaneceu em 1, j que a entrada tambm o fez. Verifica-se que a mquina possui 4 estados, e que a entrada define quem o estado seguinte. Por exemplo: se a primeira entrada um 0, a mquina deve esperar at
4
que essa v para 1. Porm, se a primeira entrada um 1, a mquina deve comear o reconhecimento da seqncia 111. Por causa disso, temos que explicitar no nosso diagrama os valores assumidos pela entrada. Alm disso, as setas apontam para o prximo estado que aquela entrada determinou.
Figura IV Definem-se ento as mudanas de estado, atravs da tabela verdade de transies mostrada na tabela abaixo.
5
Estado Atual (Q1Q0)
Sada (S)
Estado Seguinte Ent=0 Ent=1 01 (B) 10 (C) 11 (D) 11 (D)
A B C D
0 0 0 1
00 (A) 00 (A) 00 (A) 00 (A)
Estado atual (Q1Q0) 00 00 01 01 10 10 11 11
Entrada (E) 0 1 0 1 0 1 0 1
Estado Seguinte (D1D0) 00 01 00 10 00 11 00 11
D1 = Q1Q0E + Q1Q0E + Q1Q0E D1 = Q1E + Q0E E D0 = Q1Q0E + Q1Q0E + Q1Q0E D0 = Q1E + Q0E
6
Mquina de estados de Mealy
Nas mquinas de estado de Mealy, as sadas dependem da transao de estados atuais e das entradas.
7
Para ilustrar o funcionamento de uma mquina de estados de Mealy, resolveremos o mesmo problema do tpico anteriror. A seqncia de passos para conseguir o circuito a mesma que foi seguida anteriormente. A diferena em como o diagrama de estados ser modelado. Sendo assim, faz-se:
X/Y quer dizer: Entrada/Sada Pode-se ler assim: No estado A, com entrada 0, sada 0 No estado A, com entrada 1, sada 0
8
Dessa vez, a tabela gerada a partir do diagrama de estados um pouco diferente, mas segue o mesmo raciocnio das tabelas construdas anteriormente. Nota-se que a primeira coluna o estado atual, a segunda coluna o prximo estado se a entrada for igual a 0 e, finalmente, a terceira coluna o prximo estado se a entrada for igual a 1.
Estado atual (Q1Q0) ent = 0 00 (A) 01 (B) 10 (C) 00 (A) / 0 00 (A) / 0 00 (A) / 0
Estado Seguinte/Sada ent = 1 01 (B) / 0 10 (C) / 0 10 (C) / 1
Agora necessario construir as expresses para chegar ao circuito final. Para facilitar a tabela e dividida como mostra abaixo:
Estado atual (Q1Q0)
Entrada (E)
Sada (S)
00 00 01 01 10 10
0 1 0 1 0 1
0 0 0 0 0 1
Para o circuito de Mealy, a sada fica assim definida:
S = Q1Q0E
9
Agora, necessrio fazer a tabela dos estados seguintes. A idia a mesma que utilizada para fazer a tabela da sada. Sendo assim: Estado atual (Q1Q0) 00 00 01 01 10 10 Entrada (E) Estado 0 1 0 1 0 1 Estado Seguinte (D1D0) 00 01 00 10 00 10
Da tabela pode-se obter as seguintes expresses: D1 = Q1Q0E + Q1Q0E .: D1 = E(Q1 xor Q0) E D0 = Q1Q0E Agora obtem-se finalmente o circuito, segundo Mealy:
10
11
Referncia
Universidade de Santa Cruz do Sul. Disponvel em http://pt.wikipedia.org/wiki/M%C3%A1quina_de_estados_finitos
Universidade Federal de Santa Catarina. Disponivel http://www.inf.ufsc.br/~barreto/trabaluno/TC_roberta_diogo_henrique.pdf>
em
em