Você está na página 1de 49

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS
SNCRONOS

Setembro de 10 H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 2

SUMRIO:
CIRCUITOS DE MOORE E MEALY
CARACTERIZAO
ESPECIFICAO
SNTESE
CONVERSO
EXEMPLOS
PROJECTOS ALTERNATIVOS
1 FLIP-FLOP / ESTADO
UTILIZAO DE CONTADORES

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 3

CIRCUITOS DE MOORE E MEALY - CARACTERIZAO

MODELO GERAL

Mquina Sequencial (Sincrona)


Modelo Geral

Entradas * C.C. * Sadas


Actuais (x) * * Actuais (z)
*
(Circuito *
Combinatrio)

Estado Estado
Actual Seguinte
(EA) (ES)

*
Memria
*
* (Flip-Flops) *
* *

CP

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 4

CIRCUITOS DE MOORE E MEALY - CARACTERIZAO


Mquina de MOORE
Entradas
Modelo de Moore Actuais
C.C. (ES)
Sadas
C.C.
As sadas so funo (Lgica de Memria
(Flip-Flops)
(EA) (Lgica de
Actuais
Est.
directa do estado. Seguinte)
Sada)

CP

Modelo de Mealy Entradas


As sadas so funo Actuais
C.C. (ES)
Sadas
Memria C.C. Actuais
do estado e das (Lgica de
Est. (Flip-Flops) (Lgica de
Sada)
entradas. Seguinte) (EA)

CP

Nota: Em geral, os circuitos de Moore so mais simples (na gerao das sadas). Os circuitos de
Mealy tm um nmero de estados menor ou igual, o que permite reduzir, nalguns casos, o
nmero de FFs necessrios.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 5

MQUINA DE MOORE - ESPECIFICAO


Exemplo: projecto de um detector de sequncia.
O projecto a realizar tem como objectivo identificar uma sequncia de trs 1s na
entrada X.

Diagrama de estados
Cada estado identificado atravs de um crculo com uma referncia nica e
(habitualmente) com os valores que as sadas tm nesse estado.
Ex: no estado A a sada toma o valor 0; no estado D a sada toma o valor 1.
Cada transio entre estados descrita atravs de um vector ao qual est associado o
valor das entradas que conduzem a essa transio.
Ex: se estiver no estado A e a entrada for 1, a mquina ir passar para o estado B; se
estiver no estado A e a entrada for 0, a mquina manter-se- no estado A;

X=0 X=1 X=1 X=1 X=1


A/0 B/0 C/0 D/1
X=0
X=0 X=0
X=0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 6

MQUINA DE MOORE - SNTESE

A tabela de transio de estados explicita as sadas para cada estado (Moore) e


os estados seguintes em funo das vrias entradas.

X=0 X=1 X=1 X=1 X=1


A/0 B/0 C/0 D/1
X=0
X=0 X=0
X=0

Sada Presente Estado Seguinte


Estado Presente
Z X=0 X=1
A 0 A B
B 0 A C
C 0 A D
D 1 A D

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 7

CODIFICAO DE ESTADOS

A codificao de estados substitui a representao simblica dos estados por cdigos


binrios .
Para representar M estados o cdigo tem que ter pelo menos N bits, tal que M 2N.
Em geral, usa-se o nmero mnimo de bits necessrio (nmero mnimo de flip-flops).
No entanto, veremos adiante que a utilizao de um nmero de bits de estado superior ao
mnimo pode ser vantajosa nalguns casos.
Por facilidade, as codificaes mais utilizadas so as que correspondem ordenao
segundo o cdigo binrio ou segundo o cdigo de Gray. No entanto, qualquer codificao
que atribua cdigos diferentes a estados diferentes conduz a implementaes correctas.
A seleco do cdigo mais apropriado para uma dada implementao (p.ex. o cdigo que
conduz ao circuito mais simples) no trivial. Existem algoritmos mais ou menos
complexos para tentar obter a melhor codificao, mas o seu estudo est fora do mbito
desta cadeira (uma heurstica simples , por exemplo, escolher o cdigo de modo a
minimizar as mudanas de bits em estados consecutivos da mquina).

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 8

MQUINA DE MOORE - SNTESE

O processo de sntese inicia-se com a atribuio de uma codificao aos estados e com a
seleco dos FFs a utilizar (conforme descrito na sntese de contadores).

Sada Presente Estado Seguinte


Estado Presente
Z X=0 X=1
Tabela de A 0 A B
Codificao de Estados B 0 A C
C 0 A D
Estado Q1Q0 D 1 A D
A 00
Estado Seguinte
B 01 Estado Presente Sada Presente
Q1Q0 em (n+1)
C 10 Q1Q0 em (n) Z
X=0 X=1
D 11
00 0 00 01
01 0 00 10
10 0 00 11
11 1 00 11

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 9

MQUINA DE MOORE SNTESE COM FF D


O processo de sntese prossegue com a determinao, p.ex. atravs de mapas de Karnaugh,
das entradas dos FFs como funo das entradas do circuito e do estado anterior.

Codificao Q1Q0
de Estados X 00 01 11 10

A 0 0 0 0 0 0 0 X
1D
Q1

B 0 1 1 0 1 1 1
CLK C1

C 1 0 D1 = X Q1 + X Q0
Z

D 1 1
Q0
1D
Q1Q0
X 00 01 11 10 C1
Q0
Q1 0 1 0 0 0 0 0

0 0 0 1 1 0 1 1

1 0 1
D0 = X Q1 + X Q0
Z = Q1 Q0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 10

MQUINA DE MOORE FF D CODIFICAO ALTERNATIVA


O que muda se a codificao de estados for diferente?

Codificao Q1Q0
de Estados X 00 01 11 10
0 0 0 0 0
A 0 0 X Q1
1D
1 0 1 1 1
B 0 1
CLK C1
C 1 1 D1 = X Q1 + X Q0 Z

D 1 0 = X (Q1 + Q0 )
Q0
1D

Q0
0 1 Q1Q0 C1
Q1
X 00 01 11 10
0 0 0
0 0 0 0 0
1 1 0
1 1 1 0 0
Z = Q1 Q0
D0 = X Q1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 11

MQUINA DE MOORE SNTESE COM FF JK Codificao


de Estados
Q1 Q 0
x 00 01 11 10
Q1 Q0
x 00 01 11 10 A 0 0
0 0 0 x x 0 x x 1 1 B 0 1
1 0 1 x x 1 x x 0 0 C 1 0

J1 K1
D 1 1
Q1Q0 Q1 Q0
x 00 01 11 10 x 00 01 11 10

0 0 x x 0 0 x 1 1 x

1 1 x x 1 1 x 1 0 x

J0 K0
Q0
Q1 0 1
Z

0 0 0
Q1 Q0
X 1J 1J
1 0 1
1K 1K

Z CLK C1 C1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 12

MQUINA DE MOORE DIAGRAMA TEMPORAL


Na mquina de Moore a sada depende apenas do estado: a sada varia na sequncia da
mudana de estado, portanto muda na sequncia da transio de relgio e mantm-se
constante durante o resto do ciclo de relgio.

CLK

0 1 1 0 1 1 1 1 0

Estado A B C A B C D D A

{
CLK

C D

0
Z
Z Correcto

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 13

MQUINA DE MEALY - ESPECIFICAO

Na mquina de Mealy a sada depende do estado e das entradas.


O diagrama de estados reflecte, portanto, a influncia das entradas nas sadas. Esta
influncia habitualmente representada nos vectores correspondentes s transies entre
estados.

Exemplo: o mesmo projecto de um detector de sequncia de trs 1s na entrada X.

X/Z 0/0 1/1


1/0 1/0
A B C
0/0
0/0

Neste caso particular o comportamento do circuito pode ser modelado com um nmero de
estados inferior ao modelo de Moore. Contudo, no h reduo do nmero de FFs, apenas a
existncia de indiferenas suplementares nos mapas de Karnaugh que podem conduzir a uma
maior simplificao da lgica associada gerao das entradas. Em contrapartida, a gerao da
sada ser mais complexa.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 14

MQUINA DE MEALY SNTESE

A estrutura da tabela de transio de estados alterada de modo a reflectir a


diferente opo na gerao das sadas.

X/Z 0/0 1/1


1/0 1/0
A B C
0/0
0/0

Estado Seguinte e
Estado Presente Sada Presente (Z)
X=0 X=1
A A/0 B/0
B A/0 C/0
C A/0 C/1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 15

MQUINA DE MEALY SNTESE

Estado Seguinte e
Estado Presente Sada Presente (Z)
X=0 X=1
A A/0 B/0
Tabela de B A/0 C/0
Codificao de Estados
C A/0 C/1
Estado Q1Q0
A 00
B 01 Estado Seguinte e
Estado Presente
C 10 Sada Presente (Z)
Q1Q0
X=0 X=1
00 00/0 01/0
01 00/0 10/0
10 00/0 10/1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 16

MQUINA DE MEALY SNTESE COM FF D codificao 1


Q1Q0 Q1Q0 Q1Q0
Codificao X 00 01 11 10 X 00 01 11 10 X 00 01 11 10
de Estados 0 0 0 X 0 0 0 0 X 0 0 0 0 X 0
A 0 0 1 0 1 X 1 1 1 0 X 0 1 0 0 X 1

B 0 1
C 1 0 D1 = X Q1 + X Q0 D0 = X Q1 Q0 Z = X Q1
= X (Q1 + Q0 )

X Q1
1D

CLK C1

Q0
1D

C1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 17

MQUINA DE MEALY SNTESE COM FF D codificao 2

Codificao Q1Q0
de Estados X 00 01 11 10

A 0 0 0 0 0 0 X

B 0 1 1 0 1 1 X

C 1 1 D1 = X Q0 X
1D
Q1 Z

CLK C1

Q1Q0 Q1Q0
X 00 01 11 10 X 00 01 11 10
Q0
1D
0 0 0 0 X 0 0 0 0 X
C1
1 0 0 1 X 1 1 1 1 X

Z = X Q1 D0 = X

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 18

MQUINA DE MEALY SNTESE COM FF JK Codificao


de Estados
Q1 Q 0 Q1Q0 A 0 0
x 00 01 11 10 x 00 01 11 10 J1 = XQ0 K1 = X
0 0 x x x x x 1
B 0 1
0 0
J0 = XQ1 K0=1
1 0 1 x x 1 x x x 0
C 1 0

J1 K1
Z = XQ1
Q 1 Q0 Q1Q0
x 00 01 11 10 x 00 01 11 10

0 0 x x 0 0 x 1 x x

1 1 x x 0 1 x 1 x x
Z

J0 K0

Q 1 Q0
x 00 01 11 10 Q1 Q0
X 1J 1J
0 0 0 x 0 1K 1K
"1"

1 0 0 x 1 CLK C1 C1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 19

MQUINA DE MEALY DIAGRAMA TEMPORAL


Na mquina de Mealy a sada pode ser directamente afectada por uma variao na entrada,
mesmo que no haja mudana de estado. A sada tenta antecipar o valor que s , de
facto, correcto imediatamente antes da transio de relgio.

CLK

0 1 1 0 1 1 1 1 0

Estado A B C A B C C C A

{
B C

0 1

Z Correcto

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 20

MQUINA DE MOORE VS. MQUINA DE MEALY

As sadas em ambas as mquinas so equivalentes, mas no idnticas.


A mquina de Mealy disponibiliza as sadas imediatamente antes do flanco de relgio,
mas estas s so garantidamente vlidas exactamente nesse instante.
Em contrapartida, na mquina de Moore as sadas so vlidas durante todo o ciclo de
relgio aps o flanco de relgio (menos o tempo inicial de comutao dos FF/portas).

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 21

EXEMPLO Mquina de Distribuio de Pastilhas (MDP)

Projecto de um controlador de uma mquina de distribuio de pastilhas:


A mquina entrega 1 pastilha quando recebe 15 cntimos em moedas;
recebe 1 moeda de cada vez;
aceita moedas de 5 e de 10 cntimos;
um sensor mecnico indica se foi recebida 1 moeda de 5 cntimos ou se foi
recebida uma moeda de 10 cntimos;
o circuito tem uma nica sada que, quando activa, abre a gaveta e entrega
a pastilha ao cliente;
no entregue troco se forem recebidas moedas a mais.

m10
m5
Controlador Abre
clk

reset

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 22

MDP DIAGRAMA DE ESTADOS Reset

Entradas: m5,m10
O controlador pode ser realizado com uma Sada: abre

mquina de 4 estados:
00 S0/0
S0 estado inicial, no foi introduzida moeda.
S5 foram introduzidos 5 cntimos. 10

S10 foram introduzidos 10 cntimos (


S5/0
indiferente se 1 moeda de 10c ou 2 de 5c). 00

S15 foram introduzidos 15 cntimos (ou 10


01

mais).
A sada activada apenas quando atingido o 01 00 S10/0

estado S15.
XX
01,10

S15/1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 23

MDP TABELA DE TRANSIO DE ESTADOS


Estado Actual Entradas Estado Seguinte Sada
Q1 Q0 m5 m10 Q1 Q0 ABRE
S0C 0 0 0 0 S0C 0 0 0
0 1 S10C 1 0 0
1 0 S5C 0 1 0
1 1 X X X 0
S5C 0 1 0 0 S5C 0 1 0
0 1 S15C 1 1 0
1 0 S10C 1 0 0
1 1 X X X 0
S10C 1 0 0 0 S10C 1 0 0
0 1 S15C 1 1 0
1 0 S15C 1 1 0
1 1 X X X 0
S15C 1 1 0 0 S0C 0 0 1
0 1 S0C 0 0 1
1 0 S0C 0 0 1
1 1 X X X 1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 24

MDP PROJECTO DA LGICA COMBINATRIA

m5 m10
Q1Q0 00 01 11 10
00 0 1 X 0 Q0
Q1 0 1
01 0 1 X 1
D1 = Q1 m10 + Q1 Q0 m5 + Q1 Q0 0 0 0
11 0 0 X 0
1 0 1
10 1 1 X 1
K-mapa para Sada
K-mapa para D1
m5 m10 Abre = Q1 Q0
Q1Q0 00 01 11 10
00 0 0 X 1

01 1 1 X 0

11 0 0 X 0
D0 = Q0 m5 + Q1 Q0 m5 + Q1 Q0 m10
10 0 1 X 1

K-mapa para D0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 25

MDP LOGIGRAMA DO CIRCUITO

m10 1D
m5 Q0
C1
clk
reset R

abre

R Q1

1D

C1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 26

EXEMPLO Comparador Srie (CMP)

Pretende-se projectar um comparador srie, que compara 2 nmeros


binrios A e B.
Os nmeros so recebidos em srie (bit a bit), com o bit de menor peso a
ser recebido primeiro.

A A=B
B
Comparador-srie A>B
clk
A<B
reset

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 27

CMP1 DIAGRAMA DE ESTADOS Reset


00,11
Entradas: A , B
Sadas: A=B , A>B , A<B

IGUAIS /
10 100 01
O controlador pode ser realizado
como uma mquina de Moore de
3 estados.
01
MENOR /
MAIOR / 010
001

10

00,11,10 00,11,01

A 0 1 0 0 1 1 1 0 0 0

B 0 1 0 1 1 0 1 1 0 0

CLK

Estado IGUAL IGUAL IGUAL MENOR MENOR MAIOR MAIOR MENOR MENOR MENOR

A=B

A>B

A<B

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 28

CMP1 TABELA DE TRANSIO DE ESTADOS

Estado Actual Entradas Estado Seguinte Sadas


Q1 Q0 A B Q1 Q0 A=B A>B A<B
IGUAIS 0 0 0 0 IGUAIS 0 0 1 0 0
0 1 MENOR 0 1 1 0 0
1 0 MAIOR 1 0 1 0 0
1 1 IGUAIS 0 0 1 0 0
MENOR 0 1 0 0 MENOR 0 1 0 0 1
0 1 MENOR 0 1 0 0 1
1 0 MAIOR 1 0 0 0 1
1 1 MENOR 0 1 0 0 1
MAIOR 1 0 0 0 MAIOR 1 0 0 1 0
0 1 MENOR 0 1 0 1 0
1 0 MAIOR 1 0 0 1 0
1 1 MAIOR 1 0 0 1 0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 29

CMP1 PROJECTO DA LGICA COMBINATRIA

AB
Q1Q0 00 01 11 10
K-mapas para Sadas
00 0 0 0 1
Q0
01 0 0 0 1 D1 = Q1 B + A B + Q1 A Q1 0 1
11 X X X X 0 1 0
( A = B ) = Q1 Q0
10 1 0 1 1 1 0 X

K-mapa para D1 Q0
0 1
Q1
0 0 0
AB ( A > B ) = Q1
Q1Q0 00 01 11 10 1 1 X

00 0 1 0 0 Q0
Q1 0 1
01 1 1 1 0 D0 = A B + Q0 A + Q0 B 0 0 1
11 X X X X
( A < B ) = Q0
1 0 X
10 0 1 0 0

K-mapa para D0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 30

CMP1 LOGIGRAMA DO CIRCUITO

1D Q0
A<B

B C1
A
R
CLK

RESET

R Q1
A>B
1D
A=B
C1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 31

CMP2 DIAGRAMA DE ESTADOS


00,11 / 100 Entradas: A , B
Reset Sadas: A=B , A>B , A<B

O controlador pode tambm ser 10 /010 IGUAIS 01 / 001


realizado como uma mquina de
Mealy de 3 estados.
01 / 001

MAIOR MENOR

10 / 010

00,11,10 / 010 00,11,01 / 001

Exemplo A 0 1 0 0 1 1 1 0 0 0

B 0 1 0 1 1 0 1 1 0 0

CLK

Estado IGUAL IGUAL IGUAL MENOR MENOR MAIOR MAIOR MENOR MENOR MENOR

A=B

A>B

A<B

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 32

CMP2 TABELA DE TRANSIO DE ESTADOS

Estado Actual Entradas Estado Seguinte Sadas


Q1 Q0 A B Q1 Q0 A=B A>B A<B
IGUAIS 0 0 0 0 IGUAIS 0 0 1 0 0
0 1 MENOR 0 1 0 0 1
1 0 MAIOR 1 0 0 1 0
1 1 IGUAIS 0 0 1 0 0
MENOR 0 1 0 0 MENOR 0 1 0 0 1
0 1 MENOR 0 1 0 0 1
1 0 MAIOR 1 0 0 1 0
1 1 MENOR 0 1 0 0 1
MAIOR 1 0 0 0 MAIOR 1 0 0 1 0
0 1 MENOR 0 1 0 0 1
1 0 MAIOR 1 0 0 1 0
1 1 MAIOR 1 0 0 1 0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 33

CMP2 PROJECTO DA LGICA COMBINATRIA


AB
AB Q1Q0 00 01 11 10
Q1Q0 00 01 11 10
00 1 0 1 0
00 0 0 0 1

01 0 0 0 1
01 0 0 0 0
( A = B ) = Q1 Q0 A B + Q1 Q0 A B
11 X X X X
11 X X X X = Q1 Q0 ( A B )
10 0 0 0 0
10 1 0 1 1
AB
Q1Q0 00 01 11 10
D1 = Q1 B + A B + Q1 A
00 0 0 0 1

01 0 0 0 1
AB ( A > B ) = Q1 B + A B + Q1 A
11 X X X X
Q1Q0 00 01 11 10
10 1 0 1 1
00 0 1 0 0

01 1 1 1 0
AB
11 X X X X Q1Q0 00 01 11 10
10 0 1 0 0 00 0 1 0 0

01 1 1 1 0
D0 = A B + Q0 A + Q0 B ( A < B ) = A B + Q0 A + Q0 B
11 X X X X

10 0 1 0 0

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 34

CMP2 LOGIGRAMA DO CIRCUITO

A<B

1D Q0

B C1
A
R
CLK

RESET

R Q1

1D
A=B
C1

A>B

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 35

CMP FORMAS DE ONDA Moore vs. Mealy

A 0 1 0 0 1 1 1 0 0 0

B 0 1 0 1 1 0 1 1 0 0

CLK

Estado IGUAL IGUAL IGUAL MENOR MENOR MAIOR MAIOR MENOR MENOR MENOR

A=B

Moore
{ A>B

A<B

A=B

Mealy
{ A>B

A<B

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 36

PROJECTOS ALTERNATIVOS

A sntese de circuitos sequenciais sncronos foi abordada segundo o


mtodo clssico cujo objectivo o de minimizar o nmero de flip-
flops do circuito.
De seguida, referir-se-o alguns mtodos alternativos que, nalguns
casos, podem ser mais vantajosos.
No captulo seguinte ser abordada ainda a implementao de
mquinas de estados com recurso a memrias.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 37

PROJECTOS ALTERNATIVOS 1 FLIP-FLOP POR ESTADO

One-hot enconding - metodologia de projecto alternativa que consiste em utilizar um


nmero de flip-flops igual ao nmero de estados e codificar os estados de modo a existir
um e um s FF activo por estado.

Neste caso, o projecto tem as seguintes caractersticas:


Cada estado corresponde activao de 1 e s um FF, e.g., 0100000 (correcto) e
01100000 (incorrecto).
A inicializao do circuito corresponde activao do FF correspondente ao estado
inicial e desactivao de todos os outros, e.g., 10000000 (para oito estados).
O projecto fica bastante simplificado porque possvel obter as equaes e/ou o
diagrama lgico do circuito directamente a partir da especificao da mquina. (No
entanto, o projecto pode ser realizado tambm segundo o procedimento habitual)

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 38

UM FLIP-FLOP / ESTADO
Projecto segundo o procedimento habitual (deteco da sequncia 111 mq. Mealy):

Codificao de Estados QC X QC X
QAQB 00 01 11 10 QAQB 00 01 11 10
QA QB QC 00 X X 0 1 00 X X 0 0

A 1 0 0 01 1 0 X X 01 0 0 X X

11 X X X X 11 X X X X
B 0 1 0 10 1 0 X X 10 0 1 X X

C 0 0 1 DA = X DB = X QA

QC X QC X
Estado Seguinte e QAQB 00 01 11 10 QAQB 00 01 11 10
Estado Presente Sada Presente (SEQ) 00 X X 1 0 00 X X 1 0

X=0 X=1 01 0 1 X X 01 0 0 X X

A A/0 B/0 11 X X X X 11 X X X X

B A/0 C/0 10 0 0 X X 10 0 0 X X

C A/0 C/1 DC = X Q A SEQ = X QC

Veremos, no entanto, que o facto de cada estado ser directamente identificado pela existncia
de um 1 no FF respectivo, permite uma derivao directa das equaes/logigrama do circuito.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 39

UM FLIP-FLOP / ESTADO

No caso de 1 FF por estado o diagrama lgico pode ser determinado sem recurso a tabelas
de estado ou a mapas de Karnaugh.
A determinao do diagrama lgico conseguida atravs da implementao directa de
sub-estruturas do diagrama de estados.
(1) Transio Incondicional entre Estados:

Equaes: DB = Q A
Z = QB

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 40

UM FLIP-FLOP / ESTADO (cont.)

(2) Transio Condicional entre Estados:

Equaes: DB = X Q A
DC = X Q A
Z = X QA

B
x 1 & 1D

C1

SEQ_H
A C

1D & 1D
CP
C1 C1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 41

UM FLIP-FLOP / ESTADO (cont.)

(3) Convergncia de Ramos correspondentes a Transies entre Estados:

A B

C
Equao:

DC = QA + QB

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 42

UM FLIP-FLOP / ESTADO EXEMPLO SEQ-MEALY

X/Z 0/0
1/0 1/0 1/1 Derivao directa das equaes:
A B C
0/0
0/0
DA = X QA + X QB + X QC
= X (QA + QB + QC )
Estado Seguinte e =X
Estado Presente Sada Presente (Z)
DB = X QA
X=0 X=1
DC = X QB + X QC
A A/0 B/0
B A/0 C/0 Z = X QC
C A/0 C/1

Nota: A equao de DA pode ser


trivialmente simplificada!

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 43

UM FLIP-FLOP / ESTADO EXEMPLO SEQ-MOORE

X=0 X=1 X=1 X=1 X=1


A/0 B/0 C/0 D/1
X=0
X=0 X=0
X=0

Equaes:

D A = X Q A + X QB + X QC + X QD = X (Q A + QB + QC + QD ) = X
DB = X Q A
DC = X QB
DD = X QC + X QD
Z = QD

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 44

UM FLIP-FLOP / ESTADO EXEMPLO (CONT.)

No presente caso, devido ao reduzido nmero de estados a sntese clssica permite uma
maior simplicidade na soluo sem grande trabalho adicional ao nvel da sntese.
Contudo, este exemplo serve para evidenciar a facilidade com que se pode passa de um
diagrama de estados directamente para um diagrama lgico.
Nota: por simplicidade no se representam os sinais de preset e clear dos FFs que
permitem impr o estado inicial no circuito neste tipo de codificao sempre
necessrio inicializar a mquina! (porqu?)
Nota: em tecnologias em que o custo de um flip-flop o mesmo de uma porta lgica
bsica, este tipo de codificao muitas vezes o mais adequado, pois o acrscimo de
FFs compensado pela simplicidade do projecto e, algumas vezes, tambm por uma
reduo na lgica combinatria.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 45

PROJECTOS ALTERNATIVOS CONTADORES

Uma outra alternativa em termos de projecto corresponde utilizao de contadores


integrados na implementao das mquinas de estados.

Esta soluo especialmente til no caso de existir um elevado nmero de


transies incondicionais entre estados, o que reduz consideravelmente a
necessidade de carregamento paralelo.

Deste modo a utilizao de contadores na implementao de mquinas de estado


requer o projecto da:
lgica combinatria que gera o sinal de carregamento paralelo
lgica combinatria que gera as entradas de carregamento paralelo (estado seguinte
quando h quebra de sequncia)

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 46

PROJECTOS ALTERNATIVOS CONTADORES

EXEMPLO: Detector da sequncia 111


Naturalmente, este exemplo apenas requer a utilizao de um contador de mdulo 4
(4 estados Moore ou 3 estados Mealy).
Tendo presente a sub-utilizao do contador disponvel, prossegue-se com a sntese
da lgica combinatria.
Considerando a seguinte codificao de estados:
A=00; B=01, C=10; D=11
teremos a seguinte sequncia de estados de contagem:
A 00
B 01
C 10
D 11

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 47

PROJECTOS ALTERNATIVOS CONTADORES


EXEMPLO (cont)
... e os seguintes casos em que a mquina de estados quebra a sequncia de contagem.
E.A. Entrada E.S.
00 x=0 00
01 x=0 00
10 x=0 00
11 x=0 00
11 x=1 11

De seguida devem construir-se os mapas de Karnaugh com as 3 entradas (E.A. e X) para as


vrias funes pretendidas (sinal de carregamento paralelo, duas entradas menos significativas
do carregamento paralelo).

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 48

PROJECTOS ALTERNATIVOS CONTADORES

EXEMPLO (cont) Q1Q0


00 10 11 01
x
1) Sinal de Activao do Carregamento Paralelo.
0 0 0 0 0

1 1 1 0 1

LOAD_L = x . Q1Q0

2) Determinao da entrada D0. 3) Determinao da entrada D1.


Q1Q0 Q1Q0
x 00 10 11 01 x 00 10 11 01

0 0 0 0 0 0 0 0 0 0

1 x x 1 x 1 x x 1 x

D0 = x D1 = x

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


CIRCUITOS SEQUENCIAIS SNCRONOS - 49

PROJECTOS ALTERNATIVOS CONTADORES

EXEMPLO (cont):

Nota: para situaes mais


complexas faria sentido a
utilizao de um descodificador
para detectar os estados que
conduzem a carregamentos
paralelos

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta

Você também pode gostar