Você está na página 1de 20

Sistemas Digitais 2

Mdulo 3: Mquinas de Estados


Assncronas

Aula 3-2: Risco Essencial (Parte A) e Outros Exemplos

Alexandre Romariz

Comparao com M.S.


Vamos resolver o mesmo problema com uma mquina
sncrona.
Supor a existncia de um relgio rpido (transies em P e R
tipicamente mais lentas)
Diagrama de Estados

Diagrama de Estados do Registrador de Pulso

Alexandre Romariz

M.S. - Excitaes e Sadas


Atribuio de Estados: Init Q=0 ; PULS Q=1
Clculo de Sadas: Z=Q

Tabela de transio e excitaao (Flip-Flop D)


Q

PR
00

01

11

10

Q* = D

D=P R+Q R

Alexandre Romariz

M.S. - Circuito

Alguma desvantagem em relao mquina assncrona?


Teoricamente, a M.As. pode ser mais rpida (M.S. Precisa
esperar a transio do relgio para mudar a sada)

Alexandre Romariz

Anlise - Flip-Flop D

Wakerly, Digital Design Principles and Practices

Alexandre Romariz

Flip-Flop D: Equaes e Tabela


*

Y 1=Y 2 D+Y 1 C
*

Y 2=Y 1+C +Y 2 D
*

Y 3=Y 1 C +Y 1 Y 3+Y 3 C +Y 2 Y 3 D=Q


Q=Y 3+Y 1 Y 2 C +Y 1 C D

Wakerly, Digital Design Principles and Practices

Alexandre Romariz

Flip-Flop D: Corrida no-crtica

Wakerly, Digital Design Principles and Practices

No estado total 011(00), a transio para 10 causa mudana de 2 variveis de


stado (corrida).
No causa problema, porque em qualquer ordem, a transio final a mesma.

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Determinar os estados e transies de um FlipFlop D Borda Dupla.

Amostra a entrada D em ambas as transies


do relgio (subida e descida).
Estado
INIT

DC

00

01

11

10

INIT

Q0

-----

D1

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Estados INIT, Q0, D1

Estado

DC

00

01

11

10

INIT

INIT

Q0

-----

D1

Q0

INIT

Q0

D1B

-----

D1

INIT

----

Q1

D1

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Estados INIT, Q0, D1, D1B, Q1

Estado

DC

00

01

11

10

INIT

INIT

Q0

-----

D1

Q0

INIT

Q0

D1B

-----

D1

INIT

----

Q1

D1

D1B

-----

Q0

D1B

Q1B

Q1

-----

D0

Q1

Q1B

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Estados INIT, Q0, D1, D1B, Q1,Q1B,D0


Estado

DC

00

01

11

10

INIT

INIT

Q0

-----

D1

Q0

INIT

Q0

D1B

-----

D1

INIT

----

Q1

D1

D1B

-----

Q0

D1B

Q1B

Q1

-----

D0

Q1

Q1B

Q1B

D0B

-----

Q1

Q1B

D0

INIT

D0

Q1

----

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Estados INIT, Q0, D1, D1B, Q1,Q1B,D0,D0B


Estado

DC

00

01

11

10

INIT

INIT

Q0

-----

D1

Q0

INIT

Q0

D1B

-----

D1

INIT

----

Q1

D1

D1B

-----

Q0

D1B

Q1B

Q1

-----

D0

Q1

Q1B

Q1B

D0B

-----

Q1

Q1B

D0

INIT

D0

Q1

----

D0B

D0B

Q0

-----

Q1B

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Simplificao de Estados

INIT +Q0 , Q1+Q1B


Estado

DC

00

01

11

10

INIT

INIT

Q0

-----

D1

Q0

INIT

Q0

D1B

-----

D1

INIT

----

Q1

D1

D1B

-----

Q0

D1B

Q1B

Q1

-----

D0

Q1

Q1B

Q1B

D0B

-----

Q1

Q1B

D0

INIT

D0

Q1

----

D0B

D0B

Q0

-----

Q1B

Alexandre Romariz

Outro exemplo: FF D Borda Dupla

Tabela Minima
Estado

DC

00

01

11

10

Q0

Q0

Q0

D1B

D1

D1

Q0

----

Q1

D1

D1B

-----

Q0

D1B

Q1

Q1

D0B

D0

Q1

Q1

D0

Q0

D0

Q1

----

D0B

D0B

Q0

-----

Q1

Alexandre Romariz

ltimo exemplo: Sequenciador

Sada deve ir para 1 se B subir aps A ter


subido. Deve voltar a 0 se A e B forem para 0
(em qualquer ordem).
Estado

AB

00

01

11

10

INIT

INIT

BU

-----

AU

BU

INIT

BU

BUAU

----

AU

INIT

-----

AUBU

AU

BUAU

----

BU

BUAU

AU

AUBU

----

AUBUBD

AUBU

AUBUAD

AUBUBD

INIT

AUBUBD

AUBU

------

AUBUAD

INIT

----

AUBU

AUBUAD

Alexandre Romariz

ltimo exemplo: Sequenciador

Simplificao

Estado

AB

00

01

11

10

INIT

INIT

BU

-----

AU

BU

INIT

BU

BUAU

----

AU

INIT

-----

AUBU

AU

BUAU

----

BU

BUAU

AU

AUBU

----

AUBUBD

AUBU

AUBUAD

AUBUBD

INIT

AUBUBD

AUBU

------

AUBUAD

INIT

----

AUBU

AUBUAD

Alexandre Romariz

ltimo exemplo: Sequenciador

Atribuio de Estados
Estado

AB

00

01

11

10

AU

AU

BU

AUBU

AU

BU

AU

BU

BU

AU

AUBU

AU

AUBU

AUBU

AUBU

AU
00

AUBU
10

BU
01

No h corrida

Alexandre Romariz

ltimo exemplo: Sequenciador

Equaes de Excitao (Y1)


Y1Y2

AB

00

01

11

10

00

00

01

AUBU

00

01

00

01

01

00

10

00

10

10

10

Y!*Y2*

A
1

Y 1=Y 1 B+Y 1 A+ AB Y 2

Y2
d

Y1

Alexandre Romariz

ltimo exemplo: Sequenciador

Equaes de Excitao (Y2 e Z)


Y1Y2

AB

00

01

11

10

00

00

01

AUBU

00

01

00

01

01

00

10

00

10

10

10

Y!*Y2*

A
*

Y 1=Y 1 B+Y 1 A+ AB Y 2

1
1

Y2
d

Y 2=Y 2 B+ A B Y 1
Y1

Z =Y 1

B
Alexandre Romariz

Sequenciador - Alternativa

Ateno! O uso de flip-flops, com ligaes


convenientes para as entradas assncronas e
de relgio, podem fazer uma mquina
assncrona muito mais simples. Exemplo:

Alexandre Romariz