Anda di halaman 1dari 65

Aula 17

Mquina de Estados
Parte 1
SEL 0414 - Sistemas Digitais
Prof. Dr. Marcelo Andrade da Costa Vieira

Bibliografia

Tocci, R. J.; Widmer, N. S. Sistemas Digitais


Princpios e Aplicaes. 8 Ed., Prentice Hall,
2003.

Ta u b , H . C i r c u i t o s D i g i t a i s
Microprocessadores. Mc.Graw-Hill, 1982.

Nelson, V.P.; Nagle, H.T.; Carroll, B.D.; Irwin,


J.D. Digital Logic Circuit Analysis & Design,
Prentice Hall, 1995.

Combinacionais X Sequenciais

Circuitos Combinacionais: o valor da sada no


instante t depende apenas da combinao dos
valores das entradas neste instante. Os
estados anteriores no interessam.

Circuitos Sequenciais: o valor da sada no


instante t no depende apenas dos valores das
entradas neste instante, mas tambm da
sequncia das entradas anteriores.

Combinacionais X Sequenciais
l

Nem todos os projetos em sistemas digitais


conseguem ser resolvidos utilizando circuitos
combinacionais.

Algumas vezes necessrio o conhecimento


de um ou mais estados anteriores e tambm da
sequncia anterior para se calcular a sada do
circuito.

Exemplo: Contadores

Circuitos Combinacionais

l No

h realimentao - no h memria;
l Tabela verdade soma de produtos;
l Mapa de Karnaugh.

Circuitos Combinacionais

No h realimentao;
l No h memria
l Ex:
l

Decodificador
Somador;
Multiplexador;
Portas lgicas.

Circuitos Sequenciais
l H

realimentao;
l Elemento de Memria*;
l Dependem da histria das entradas
passadas.

*flip-flop

Circuitos Sequenciais
Circuito Combinacional + Elemento de Memria

l Memrias;
l Contadores;
l Registradores.

Estado
l Cada

estgio atravs do qual o circuito


sequencial avana;

l Em

cada estado, o circuito armazena uma


recordao de sua histria passada,
para saber o que fazer a seguir;

l Nem

toda informao anterior relevante


Nem todo estado precisa ser
armazenado.

Composio de um Circuito Sequencial

l B l o c o

de memria armazenar
informaes anteriores para definir o estado
presente. Tem como entrada o prximo
estado

l Bloco

combinatrio definir qual o


prximo estado e a sada externa. Tem
como entradas o estado presente e as
entradas externas.

Circuitos Sequenciais
Circuito Combinatrio + Elemento de Memria
Z0 ... Zn

Prximo
Estado

Y0
...

Yn
Q0
...

Qn
X0 ... Xn

Estado
Atual

Modelos de Circuitos Sequenciais

Mquina de Moore
X
Mquina de Mealy

Modelos de Circuitos Sequenciais


Mquina de Moore
Z0 ... Zn

l As

entradas
no interferem
diretamente na
sada, somente
nos estados
futuros;

Prximo
Estado

Y0
Yn

l As

sadas
dependem
apenas do
Estado Atual

Q0
Qn
X0 ... Xn

Estado
Atual

Modelos de Circuitos Sequenciais


Mquina de Mealy
Z0 ... Zn

l As

entradas
interferem nos
estados futuros e
tambm na sada;

Prximo
Estado

Y0

l As

sadas
dependem da
entrada e do
Estado Presente

Yn
Q0
Qn
X0 ... Xn

Estado
Atual

Moore e Mealy
l

Mquinas de Moore:
As sadas so funo apenas do estado presente (no
das entradas);
As entradas s interferem no prximo estado;
As sadas variam sincronamente;
Resposta mais lenta ou inexistente variaes na
entrada.

Mquinas de Mealy:
As sadas so funo do estado presente e das entradas
atuais;
As entradas interferem no prximo estado e tambm na
sada;
As sadas variam assincronamente com as entradas;
Resposta mais rpida variaes na entrada.

Diagrama de Estados
O Diagrama de Estado ou Diagrama de
Fluxo de Estado, um grafo no qual cada n
representa um estado e cada arco representa
uma transio de estados (fluxo);
A cada pulso de clock, o fluxo avana um
estado;

Diagrama de Estados
O diagrama de estados tem formatos
diferentes para cada um dos modelos:
Mquina de Moore
Mquina de Mealy

Diagrama de Estados - Moore


Estado

Sada

Entrada

l A

Z1 Z0

00
01

sada depende exclusivamente do


estado (Mquina de Moore);
l A entrada s interfere no prximo estado.

Diagrama de Estados - Mealy

Estado

Entrada

l A

Sada

00

Z1 Z0

01

sada depende do estado presente e da


entrada (Mquina de Mealy);
l A entrada interfere no prximo estado e na
sada.

Exemplo 1: Contador Crescente Mdulo 4


Tabela de Transio de Estados

Diagrama de Estados
A

Estado Sada Prximo


Atual Z1 Z0 Estado
A

00

01

10

11

X
00

X
B

11
X

01

C
X

10

Mquina de Moore
l Modelo simples no
tem entrada
l Apenas 1 arco de fluxo
l

Exemplo 1: Contador Crescente Mdulo 4


Tabela de Transio de Estados

Diagrama de Estados
X

Estado Sada Prximo


Atual Z1 Z0 Estado
A

00

01

10

11

A
X

11

D
X

00
B

10

C
01

Mquina de Mealy
l Modelo simples no
tem entrada
l Apenas 1 arco de fluxo
l

Moore ou Mealy?
l Em

geral, a verso Mealy de um circuito


sequencial ser mais econmica de
componentes fsicos (hardware) do que a
verso Moore;
l Como a sada depende da entrada, valores
incorretos na entrada durante o ciclo de
clock podem afetar a sada;
l Isso pode no ocorrer na verso Moore, pois
alteraes na sada e no estado s ocorrem
na transio do clock (melhor sincronismo)

Exemplo de Projeto de
Circuito Sequencial

Exemplo
Observar uma fileira de 3 lmpadas;
l As lmpadas s acendem uma de cada vez;
l Se as lmpadas acenderem na sequncia
2 3, deve-se soar um alarme.
l

ALARME !
1

Exemplo
l A

sequncia deve ser analisada.


l Se a condio 1-2-3 no for observada,
despreza-se at a lmpada 1 acender
novamente;
l Exemplo: sequncia: 1 2 2 1 3 2 1 2

Exemplo
l

Quantas Entradas?

4
2 bits

00 nenhuma lmpada acende


l 01 lmpada 1 acende
l 10 lmpada 2 acende
l 11 lmpada 3 acende
l

Exemplo
l

Quantas Sadas?

2
1 bit

0 nenhum alarme toca


l 1 alarme toca
l

Diagrama de Estados
Mquina de Moore

Diagrama de Estados - Moore


Entradas
00,10,11

A/0

00,01

01
11

B/0

00,01,10,11

00

10

C/0

11

D/1

01

ALARME !

10

Estado
Pulso de clock

Exemplo de Projeto de
Circuito Sequencial
Mquina de Moore

Atribuio de Estados

Formas de Representao
Tabela de Atribuio de
Estados
Estado

Flip-Flop
Q1Q0

00

01

10

11

Sadas dos Flips-Flops (Q) = Estado Presente (y)

= Sada (Z)

Diagrama de Estados

0,2,3

0,1

00/0

01/0

2
1

0,1,2,3

10/0

11/1

Atribuio das
Entradas

Formas de Representao
Tabela de Entradas
Entrada

X1X0

00

01

10

11

Diagrama de Estados Final

00,10,11

00/0

00,01

01
11

01/0

10
01

10

00,01,10,11

00

10/0

11

11/1

Sntese do Circuito Sequencial


A partir do diagrama de estados, escrevese a Tabela de Transio de estados e a
Tabela de Sada.
A partir dessa Tabela, projeta-se o circuito
sequencial escolhendo qual o tipo de FF que
ser utilizado (RS, JK, D ou T)
Circuito combinatrio: portas lgicas;
Circuito de memria: Flip-Flops;

Sntese do circuito
sequencial
Mquina de Moore

Circuito Sequencial - Lmpadas

2 entradas (X1,X0)
1 Sada (Z0)
2 Flip-Flops (Q1,Q0)

Tabela de Transio de
Estados e de Sada

Estado Atual
Q1 Q0

Entrada
X1 X0

00

01

10

11

00

01

10

11

00

01

10

11

00

01

10

11

Prximo Estado
Y1 Y0

Sada
Z0

Estado Atual
Q1 Q0

Entrada
X1 X0

Prximo Estado
Y1 Y0

00

01

10

11

00

01

10

11

00

01

10

11

00

01

10

11

Sada
Z0

Estado Atual
Q1 Q0

Entrada
X1 X0

Prximo Estado
Y1 Y0

Sada
Z0

00

01

10

11

00

01

10

11

00

01

10

11

00

01

10

11

Atribuio dos Estados

Estado Atual
Q1 Q0

Entrada
X1 X0

Prximo Estado
Y1 Y0

Sada
Z0

00

00

00

00

01

01

00

10

00

00

11

00

01

00

01

01

01

01

01

10

10

01

11

00

10

00

10

10

01

01

10

10

00

10

11

11

11

00

11

11

01

11

11

10

11

11

11

11

Escolha do Flip-Flop

Transio de estados para FF JK

J K
0 0
0 1

Q
Q0
0

1 0
1 1

1
Q0

Transio
Qn Qn+1

Entradas

0 0

0 1
1 0
1 1

1
X
X

X
1
0

Transio de estados para FF Tipo D

D
0

Q
0

Transio
Qn Qn+1

0 0

0 1
1 0
1 1

1
0
1

Transio de estados para FF Tipo T

T
0

Q
Q0

Transio
Qn Qn+1

Q0

0 0

0 1
1 0
1 1

1
1
0

Diviso da Tabela em:


Tabela de Transio de estados
2. Tabela de Sada
1.

1.
Tabela de Transio de estados

Estado Atual
Q1 Q0

Entrada
X1 X0

Prximo Estado
Y1 Y0

00

00

00

00

01

01

00

10

00

00

11

00

01

00

01

01

01

01

01

10

10

01

11

00

10

00

10

10

01

01

10

10

00

10

11

11

11

00

11

11

01

11

11

10

11

11

11

11

Flip-Flop Tipo D
D1 D0

Estado Atual
Q1 Q0

Entrada
X1 X0

Prximo Estado
Y1 Y0

Flip-Flop Tipo D
D1 D0

00

00

00

00

00

01

01

01

00

10

00

00

00

11

00

00

01

00

01

01

01

01

01

01

01

10

10

10

01

11

00

00

10

00

10

10

10

01

01

01

10

10

00

00

10

11

11

11

11

00

11

11

11

01

11

11

11

10

11

11

11

11

11

11

Mapas de Karnaugh

Flip-Flop D1
X1X0

00

01

11

10

00

01

11

10

Q1Q0

D1 = Q1Q0+X1X0Q1 +X1X0Q1+X1X0Q0

Flip-Flop D0
X1X0

00

01

11

10

00

01

11

10

Q1Q0

D0 = Q1Q0+X1X0 +X1X0Q1+X1X0Q0

2.
Tabela de Sada

Mquina de Moore

A Sada nunca
depende do prximo
estado
A S a d a n o
depende da entrada
(mquina de Moore)
A Sada s depende
do estado atual

Estado Atual
Q1 Q0

Entrada
X1 X0

Prximo Estado
Y1 Y0

Sada
Z0

00

00

00

00

01

01

00

10

00

00

11

00

01

00

01

01

01

01

01

10

10

01

11

00

10

00

10

10

01

01

10

10

00

10

11

11

11

00

11

11

01

11

11

10

11

11

11

11

Estado Atual
Q1 Q0

Sada
Z0

00

00

00

00

01

01

01

01

10

10

10

10

11

11

11

11

Tabela de Sada

Estado Atual
Q1Q0

00

Sada
Z0
0

01

10

11

Sada Z0
Z0

Q1

Q0

Z0 = Q1Q0

Mquina de MOORE:

a sada depende
exclusivamente do
estado presente;

a entrada no
interfere na sada;

Circuito Sequencial: Mquina de Moore

D1 = Q1Q0+X1X0Q1 +X1X0Q1+X1X0Q0
D0 = Q1Q0+X1X0 +X1X0Q1+X1X0Q0
Z0 = Q1Q0

Circuito
Sequencial:

Mquina de
Moore

FIM

Anda mungkin juga menyukai