Você está na página 1de 62

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS
SNCRONOS

Setembro de 04

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

SIMPLIFICAO DE MQUINAS DE ESTADOS

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 3


CIRCUITOS DE MOORE E MEALY (CARACTERIZAO)
MODELO GERAL
Mquina Sequencial (Sincrona)
Modelo Geral
Entradas
Actuais (x)

C.C.
(Circuito
Combinatrio)

*
*
*

*
*
*

Sadas
Actuais (z)

Estado
Seguinte
(ES)

Estado
Actual
(EA)
*
*
*

Memria
(Flip-Flops)

*
*
*

CP

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 4


CIRCUITOS DE MOORE E MEALY (CARACTERIZAO)
Modelo de Moore: Circuito no qual as sadas so funo directa do estado.
Entradas
Actuais

Mquina de MOORE
C.C.
(Lgica de
Est.
Seguinte)

(ES)

Memria
(Flip-Flops)

(EA)

C.C.
(Lgica de
Sada)

Sadas
Actuais

CP

Modelo de Mealy: Circuito no qual as sadas so funo do estado e das entradas.


Entradas
Actuais

C.C.
(Lgica de
Est.
Seguinte)

(ES)

Memria
(Flip-Flops)
(EA)

C.C.
(Lgica de
Sada)

Sadas
Actuais

CP

Nota: Em geral, os circuitos de Moore apresentam uma maior simplicidade na gerao das
sadas, enquanto os circuitos de Mealy conduzem a um menor nmero de estados e eventual
reduo do nmero de FFs necessrios.
Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 5


MQUINA DE MOORE (ESPECIFICAO)
Para anlise da especificao e sntese de mquinas de estados segundo os modelos de
Moore e de Mealy, utilizar-se- um exemplo do projecto de um detector de sequncia.
Em particular, o projecto a realizar ter por objectivo determinar uma sequncia de trs
1s na entrada X.
Diagrama de estados: Cada estado identificado atravs de um crculo com uma
referncia nica e as sadas que lhe esto associadas (mquina de Moore). Cada
transio entre estados descrita atravs de um vector ao qual est associado o valor das
entradas que conduzem a essa transio.
X=0

A/0

X=1

B/0

X=1

C/0

X=0

X=1

X=0

X=0

X=1

D/1
X=0

OU
X=0
X=...111

A/1

X=0

B/0

X=1

C/0
X=0

X=1

Setembro de 04

SISTEMAS DIGITAIS

X=1

D/0

X=0
X=1

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 6


MQUINA DE MOORE (SNTESE)
Tabelas de Transio de Estados e Tabelas de Excitao
Por fim, a especificao da mquina de estados pode ainda ser realizada atravs da construo de
uma tabela de transio de estados, onde se explicitam as sadas para cada estado (Moore) e os
estados seguintes em funo das vrias entradas.
X=0

A/0

X=1

B/0

X=1

X=0
X=0

Estado Presente
A
B
C
D

Setembro de 04

Sada Presente
Z
0
0
0
1

C/0
X=0

X=1

X=1

D/1
X=0

Estado Seguinte
X=0
X=1
A
B
A
C
A
D
A
D

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 7


CODIFICAO DE ESTADOS
Na sntese da mquina de estados necessrio substituir a representao simblica dos
estados por cdigos binrios codificao de estados.
Se a mquina tem 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 (corresponde ao nmero mnimo de
flip-flops). No entanto, veremos adiante que a utilizao de um nmero de bits de estado
superior ao mnimo pode ser , nalguns casos, vantajosa.
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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 8


MQUINA DE MOORE (SNTESE)
Tabelas de Transio de Estados e Tabelas de Excitao (cont)
Aps a especificao da mquina pretendida o processo de sntese inicia-se com a atribuio de
uma codificao aos estados e a seleco dos FFs a utilizar (conforme descrito na sntese de
contadores).
Sada Presente Estado Seguinte
Estado Presente

Tabelas de
Codificao de Estados
Estado

Q1Q0

A
B
C
D

00
01
10
11

Setembro de 04

A
B
C
D

Z
0
0
0
1

Estado Presente Sada Presente


Q1Q0 em (n)
Z
00
01
10
11
SISTEMAS DIGITAIS

0
0
0
1

X=0
A
A
A
A

X=1
B
C
D
D

Estado Seguinte
Q1Q0 em (n+1)
X=0
X=1
00
01
00
10
00
11
00
11
H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 9


MQUINA DE MOORE (SNTESE COM FF JK)
O processo de sntese prossegue com a determinao, atravs da construo de mapas de
Karnaugh, das entradas dos FFs como funo das entradas do circuito e do estado anterior.
Q1 Q 0
00
x

01

11

10

Q1 Q0
00
x

01

11

10

01

11

10

J1
Q1Q0
00
x

K1

01

11

10

Q1 Q0
00
x

J0

K0
Q0
Q1

Z
Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 10


MQUINA DE MOORE (DIAGRAMA LGICO COM FF JK)
Por fim, obtm-se o seguinte diagrama lgico, correspondente ao detector de sequncia
pretendido:

1J

Q1

1K
CLK

1J

Q0

1K

C1

C1

Sugesto: determine a frequncia mxima com que este circuito funciona correctamente.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 11


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
X
0
Estado

1
A

1
B

1
B

0
D

CLK
X
C

Setembro de 04

SISTEMAS DIGITAIS

Z Correcto

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 12


MQUINA DE MOORE FF D codificao 1
Q1Q0

Q1Q0
X

Codificao
de Estados
A

00

01

11

10

00

01

11

10

Q0
Q1

D1 = X Q1 + X Q0

D0 = X Q1 + X Q0

X
1D
CLK

Z = Q1 Q0

Q1

C1
Z

1D

Q0

C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 13


MQUINA DE MOORE FF D codificao 2
Q1Q0

Codificao
de Estados

00

01

11

10

D1 = X Q1 + X Q0
= X (Q1 + Q0 )

CLK

Q1Q0
X

00

01

11

10

Q0
Q1

D0 = X Q1

1D

Z = Q1 Q0

Q1

C1
Z

1D

Q0

C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 14


MQUINA DE MEALY (ESPECIFICAO)
Para o estudo das mquinas de Mealy considera-se, tal como no caso
das mquinas de Moore, o projecto de um detector de sequncia de trs
1s na entrada X.
Neste caso o diagrama de estados altera-se de acordo com a filosofia da mquina de Mealy, ou
seja, a sada deixa de estar exclusivamente dependente do estado e da a sua representao
surgir, habitualmente, nos vectores correspondentes s transies entre estados onde se
reflecte, tambm, a influncia das entradas nessas sadas.
X/Z

0/0

1/0

B
0/0

1/0

1/1

0/0

Conforme se pode observar, neste caso o comportamento do circuito pode ser modelado com um
nmero de estados inferior ao modelo de Moore. Contudo, neste caso particular 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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 15


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/0

1/0

0/0

1/1

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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 16


MQUINA DE MEALY (SNTESE)
A codificao de estados indicada, conduz a:

Tabelas de
Codificao de Estados
Estado

Q1Q0

A
B
C

00
01
10

Setembro de 04

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

Estado Seguinte e
Estado Presente
Sada Presente (Z)
Q1Q0
X=0
X=1
00
00/0
01/0
01
00/0
10/0
10
00/0
10/1

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 17


MQUINA DE MEALY (SNTESE COM FF JK)
Conforme referido atrs, a gerao das entradas simplificada pela existncia de indiferenas
adicionais nos mapas de Karnaugh, enquanto o mapa para a gerao das sadas mais
complexo devido dependncia das entradas.
Q1 Q 0
00
x

01

11

10

Q1 Q0
00
x

01

11

10

01

11

10

J1 = XQ0

K1 = X

J0 = XQ1

K1 = 1

J1
Q 1 Q0
00
x

K1

01

11

10

Q1 Q0
00
x

J0

K0
Q1 Q 0
00
x

01

11

10

Z = XQ1

Z
Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 18


MQUINA DE MEALY (DIAGRAMA LGICO COM FF JK)
Z

Q1

1J
1K

CLK

1J
"1"

C1

Q0

1K
C1

Sugesto: determine a frequncia mxima deste circuito e compare a soluo obtida com o caso da
mquina de Moore.
Exemplo 1: Determine os diagramas de estado para um detector da sequncia 0101 (com e sem
sobreposio) para as mquinas de Moore e Mealy.
Exemplo 2: Determine os diagramas de estado (Moore e Mealy) para um gerador de sequncia
onde se aguarda que a entrada seja 1 para gerar a sequncia 1011. A sada mantm-se a 1 at a
entrada ser 0, nesta situao recomea-se o ciclo.

Setembro de 04

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
X
0
Estado

1
A

1
B

0
C

1
A

1
C

0
C

Z Correcto

Setembro de 04

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 antecipa as sadas, mas em contrapartida tem um comportamento
mais complexo.

CLK
X

Z Moore
Z Mealy

Setembro de 04

1
0

1
0

0
0

1
0

1
0

1
0

SISTEMAS DIGITAIS

1
1

1
1
1

0
0

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 21


MQUINA DE MEALY FF D codificao 1
Q1Q0

Codificao
de Estados

Q1Q0

00

01

11

10

00

01

11

10

D1 = X Q1 + X Q0
= X (Q1 + Q0 )

CLK

D0 = X Q1 Q0

Q1Q0
X

00

01

11

10

Z = X Q1
Z

1D

Q1

C1

1D

Q0

C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 22


MQUINA DE MEALY FF D codificao 2
Q1Q0

Codificao
de Estados

00

01

11

10

Q1Q0
X

00

01

11

10

D1 = X Q0

CLK

Q1Q0
X

00

01

11

10

D0 = X

1D

Q1

Z = X Q1

C1

1D

Q0

C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 23


CONVERSO DE MOORE PARA MEALY

No modelo de Moore uma entrada define um caminho para um


estado e s a a sada sofre alterao, enquanto no modelo de Mealy a
sada alterada assim que a entrada varia.
A converso de Moore para Mealy consiste, portanto, na antecipao
das sadas do seguinte modo:

q j / zb

Setembro de 04

ia

q k / za

SISTEMAS DIGITAIS

qj

i a / za

qk

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 24


CONVERSO DE MOORE PARA MEALY (cont.)
Exemplo:
0

0/0

q2 / 0

q2

1
0

q1 / 0

1/0

0
q3 / 1

1
0

0/0
0/0

q1
0/1

1
q4 / 1

q3

1/1

1/1

1/1
q4

Nota: a converso descrita no minimiza o nmero de estados da mquina de Mealy, e.g.,


obtm-se um diagrama de Mealy com 4 em vez de 3 estados. A soluo identificar os
estados redundantes ou recorrer a um processo sistemtico de simplificao (a estudar mais
frente).
Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 25


CONVERSO DE MEALY PARA MOORE
Neste caso, a existncia de ramos com sadas diferentes no modelo de Mealy a
convergirem para um mesmo estado obriga insero de novos estados para
construir o diagrama de Moore.

q4' / z1

q4
i1/z1

i1/z1

i1

i1/z2

q1
i3/z1

Setembro de 04

q2
i2/z1

q3
i1/z1

SISTEMAS DIGITAIS

q4'' / z2

i2

i1

q1/ z1

q3 / z1

q2 / z1

i3

i1

i2

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 26


CONVERSO DE MEALY PARA MOORE (cont.)

Exemplo:
1
1/0
1

A''/1

A'/0

A
1

1/1

0/0

0/0

0/1
C

1/0

0
C/0

B''/1

B'/0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 27


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
clk

Controlador

Abre

reset

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 28


MDP DIAGRAMA DE ESTADOS
Reset

O controlador pode ser realizado com uma


mquina de 4 estados:

Entradas: m5,m10
Sada: abre

S0 estado inicial, no foi introduzida moeda.

00

S5 foram introduzidos 5 cntimos.

10

S10 foram introduzidos 10 cntimos (


indiferente se 1 moeda de 10c ou 2 de 5c).

00

S5/0

10

S15 foram introduzidos 15 cntimos (ou


mais).
01

A sada activada apenas quando atingido o


estado S15.

S0/0

00

01

S10/0

01,10

XX

S15/1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 29


MDP TABELA DE TRANSIO DE ESTADOS
Estado Actual
Q1 Q0
S0C

S5C

S10C

S15C

Setembro de 04

Entradas
m5
m10
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Estado Seguinte
Q1 Q0
S0C
S10C
S5C
X
S5C
S15C
S10C
X
S10C
S15C
S15C
X
S0C
S0C
S0C
X

SISTEMAS DIGITAIS

0
1
0
X
0
1
1
X
1
1
1
X
0
0
0
X

0
0
1
X
1
1
0
X
0
1
1
X
0
0
0
X

Sada
ABRE
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 30


MDP PROJECTO DA LGICA COMBINATRIA
m5 m10
00

01

11

10

00

01

11

10

Q1Q0

D1 = Q1 m10 + Q1 Q0 m5 + Q1 Q0

K-mapa para Sada

K-mapa para D1

Abre = Q1 Q0

m5 m10
00

01

11

10

00

01

11

10

Q1Q0

Q0
Q1

D0 = Q0 m5 + Q1 Q0 m5 + Q1 Q0 m10

K-mapa para D0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 31


MDP LOGIGRAMA DO CIRCUITO

m10
m5

1D
C1

Q0

clk
reset

abre

Q1

1D
C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 32


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
B
clk

A=B
Comparador-srie

A>B
A<B

reset

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 33


CMP1 DIAGRAMA DE ESTADOS

00,11

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

Reset

O controlador pode ser realizado


como uma mquina de Moore de
3 estados.

IGUAIS /
100

10

01

01
MENOR /
001

MAIOR / 010
10

00,11,10

Exemplo

00,11,01

CLK
Estado

IGUAL

IGUAL

IGUAL

MENOR

MENOR

MAIOR

MAIOR

MENOR

MENOR

MENOR

A=B
A>B
A<B

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 34


CMP1 TABELA DE TRANSIO DE ESTADOS
Estado Actual
Q1 Q0
IGUAIS

MENOR

MAIOR

Setembro de 04

Entradas
A
B
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1

Estado Seguinte
Q0
Q1
IGUAIS
MENOR
MAIOR
IGUAIS
MENOR
MENOR
MAIOR
MENOR
MAIOR
MENOR
MAIOR
MAIOR

0
0
1
0
0
0
1
0
1
0
1
1

SISTEMAS DIGITAIS

0
1
0
0
1
1
0
1
0
1
0
0

Sadas
A=B A>B A<B
0
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 35


CMP1 PROJECTO DA LGICA COMBINATRIA
AB
00

01

11

10

00

01

11

10

Q1Q0

K-mapas para Sadas

D1 = Q1 B + A B + Q1 A

Q0
Q1

Q0
Q1

K-mapa para D1
AB
00

01

11

10

00

Q0
Q1

01

11

10

Q1Q0

D0 = A B + Q0 A + Q0 B

( A = B ) = Q1 Q0
( A > B ) = Q1

( A < B ) = Q0

K-mapa para D0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 36


CMP1 LOGIGRAMA DO CIRCUITO

1D
B
A

Q0

A<B

C1
R

CLK
RESET

Q1

A>B

1D
A=B
C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 37


CMP2 DIAGRAMA DE ESTADOS
00,11 / 100

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

Reset

O controlador pode tambm ser


realizado como uma mquina de
Mealy de 3 estados.

IGUAIS

10 /010

01 / 001

01 / 001
MAIOR

MENOR
10 / 010

00,11,10 / 010

Exemplo

00,11,01 / 001

CLK
Estado

IGUAL

IGUAL

IGUAL

MENOR

MENOR

MAIOR

MAIOR

MENOR

MENOR

MENOR

A=B
A>B
A<B

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 38


CMP2 TABELA DE TRANSIO DE ESTADOS
Estado Actual
Q1 Q0
IGUAIS

MENOR

MAIOR

Setembro de 04

Entradas
A
B
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1

Estado Seguinte
Q0
Q1
IGUAIS
MENOR
MAIOR
IGUAIS
MENOR
MENOR
MAIOR
MENOR
MAIOR
MENOR
MAIOR
MAIOR

0
0
1
0
0
0
1
0
1
0
1
1

SISTEMAS DIGITAIS

0
1
0
0
1
1
0
1
0
1
0
0

Sadas
A=B A>B A<B
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
0

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 39


CMP2 PROJECTO DA LGICA COMBINATRIA
AB
AB

00

01

11

10

00

01

11

10

00

01

11

10

00

01

11

10

00

01

11

10

00

01

11

10

Q1Q0
00

01

11

10

00

01

11

10

Q1Q0

( A = B ) = Q1 Q0 A B + Q1 Q0 A B
= Q1 Q0 ( A B )

AB

D1 = Q1 B + A B + Q1 A
AB
00

01

11

10

00

01

11

10

Q1Q0

Q1Q0

( A > B ) = Q1 B + A B + Q1 A

AB

D0 = A B + Q0 A + Q0 B

Setembro de 04

Q1Q0

SISTEMAS DIGITAIS

( A < B ) = A B + Q0 A + Q0 B

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 40


CMP2 LOGIGRAMA DO CIRCUITO

A<B
1D
B
A

Q0

C1
R

CLK
RESET

Q1

1D
C1

A=B

A>B

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 41


CMP FORMAS DE ONDA Moore vs. Mealy

CLK
Estado

Moore

Mealy

Setembro de 04

{
{

IGUAL

IGUAL

IGUAL

MENOR

MENOR

MAIOR

MAIOR

MENOR

MENOR

MENOR

A=B
A>B
A<B
A=B
A>B
A<B

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 42


PROJECTOS ALTERNATIVOS

A sntese de circuitos sequenciais sncronos foi abordada segundo o


mtodo clssico cujo objectivo o de minimizar o nmero de flipflops do circuito.
De seguida, apresenta-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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 43


PROJECTOS ALTERNATIVOS (1 FLIP-FLOP / ESTADO)
Uma metodologia de projecto alternativa 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 (One-hot enconding).
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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 44


UM FLIP-FLOP / ESTADO
Projecto segundo o procedimento habitual (sequncia 111 mq. Mealy):
Codificao de Estados

QC X
01

11

10

00

01

11

10

QAQB

QA QB QC
A

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

QC X

00

00

01

11

10

00

01

11

10

QAQB

DB = X QA

DA = X
QC X

QC X
00

01

11

10

00

01

11

10

QAQB

00

01

11

10

00

01

11

10

DC = X Q A

QAQB

Z = X QC

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

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 45


UM FLIP-FLOP / ESTADO
No caso de 1 FF por estado o diagrama lgico determina-se sem recurso a tabelas de estado ou
a mapas de Karnaugh. A determinao do diagrama lgico , assim, conseguida atravs da
implementao directa de sub-estruturas do diagrama de estados.
(1) Transio Incondicional entre Estados:
A

Equaes:

DB = QA

Estado A

Estado A

Estado A

Estado B

Estado B
Sada: Seq_H

Estado B
Sada: Seq_L

B/1

SEQ _ H = QB
A
1D
CP

Setembro de 04

SISTEMAS DIGITAIS

C1

B
1D
C1

SEQ_H
SEQ_L

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 46


UM FLIP-FLOP / ESTADO (cont.)
(2) Transio Condicional entre Estados:
Estado A

Estado A

A
0

x?

x?

1
0

Estado B

Seq_H

Estado C
Estado B

Estado C

Equaes:

DB = X Q A

DC = X QA

&

1D
C1

SEQ _ H = X QA

SEQ_H

A
1D
CP

Setembro de 04

C1

SISTEMAS DIGITAIS

&

C
1D
C1

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 47


UM FLIP-FLOP / ESTADO (cont.)
(3) Convergncia de Ramos correspondentes a Transies entre Estados:
Estado A

Estado B

Equao:

Estado C

DC = QA + QB

A
1D
C1

C
>1

1D
B

C1

1D
CP

Setembro de 04

C1

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 48


UM FLIP-FLOP / ESTADO EXEMPLO SEQ-MOORE
X=0

A/0

X=1

B/0

X=1

X=0

DB = X QA

X=0

A
1D

>1

CP

DA = X QA + X QB
+ X QC + X QD

D/1

X=0

X=0

Equaes:

C/0

X=1

X=1

B
1D

&

CP

C1

&

C1

&

&

X
X

DC = X QB
DD = X QC + X QD
SEQ _ H = QD

C
1D
CP

C1

&

D
1D

>1

CP

SEQ_H
X

C1

&

Nota: A equao de DA pode


ser trivialmente simplificada.
Como?
Setembro de 04

SISTEMAS DIGITAIS

&

&

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 49


UM FLIP-FLOP / ESTADO EXEMPLO SEQ-MEALY

X/Z

0/0

1/0

B
0/0

1/0

C
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

1/1

Derivao directa das equaes:

DA = X QA + X QB + X QC
= X (QA + QB + QC )
=X
DB = X QA
DC = X QB + X QC
Z = X QC
Compare com os resultados obtidos no slide 44.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 50


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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 51


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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 52


PROJECTOS ALTERNATIVOS CONTADORES
A ttulo de exemplo considerar-se- o detector de sequncia referido anteriormente, como forma
de comparar as anteriores solues, e o contador integrado 74LS163A (ver seco de
contadores).
74LS163A
CTR DIV 16
CLEAR_L

5CT=0

LOAD_L

M1[Load]

COUNT_H

M2[Count]

EN1_H

G3

EN2_H

G4

3CT=15

C5/2,3,4+

CP
D0

1, 2D
1,5D

[1]

D1

Q0
Q1

[2]

D2
D3

Setembro de 04

[4]
[8]

SISTEMAS DIGITAIS

Q2
Q3

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 53


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
das 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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 54


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 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 55


PROJECTOS ALTERNATIVOS CONTADORES
EXEMPLO (cont)
1) Sinal de Activao do Carregamento Paralelo.

Q1Q0
x

00

10

11

01

LOAD_L = x . Q1Q0

2) Determinao da entrada D0.


Q1Q0
x

00

10

11

01

3) Determinao da entrada D1.


Q1Q0
x

D0 = x

Setembro de 04

00

10

11

01

D1 = x

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 56


PROJECTOS ALTERNATIVOS CONTADORES

EXEMPLO (cont):

'1'

74LS163A
CTR DIV 16
5CT=0
M1[Load]

LOAD_L

M2[Count]

'1'

3CT=15

G3
G4

Nota: para situaes mais


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

CP
X

D0

1, 2D
1,5D

[1]

D1

Q0

&

&

Q1
[2]

D2
D3

Setembro de 04

C5/2,3,4+

[4]
[8]

SISTEMAS DIGITAIS

Q2
Q3

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 57


SIMPLIFICAO POR ELIMINAO DE ESTADOS REDUNDANTES
Embora as mquinas de Moore e Mealy sejam conceptualmente elementares a sua utilizao
na resoluo de alguns problemas de controlo, mais complexos do que simples detectores de
sequncia, pode facilmente conduzir a um elevado nmero de estados e transies. Deste
modo, pode tornar-se extremamente complexo obter a melhor soluo directamente.
Como bvio, a utilizao de uma representao com o nmero mnimo de estados tem
vantagens claras tanto na sntese, como na implementao.
2 estados so equivalentes se, para as mesmas entradas, transitam para os mesmos estados e
tm as mesmas sadas:
Estado
Presente
...
P
...
Q
...

Setembro de 04

Estado Seguinte e Sada


Presente (Z)
X=0
X=1
...
...
R/0
S/1
...
...
R/0
S/1
...
...

SISTEMAS DIGITAIS

Nota: As tcnicas
descritas so vlidas
tanto para Mealy como
Moore e com um
nmero arbitrrio de
estados, entradas e
sadas.

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 58


ELIMINAO POR INSPECO

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

Setembro de 04

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

SISTEMAS DIGITAIS

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

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 59


ELIMINAO POR PARTIO
No caso anterior, a existncia de estados redundante era evidente pela explicitao de estados
seguintes e sadas idnticas para diferentes estados presentes.
No entanto, 2 estados so equivalentes se, para as mesmas entradas, transitam para estados
equivalentes e tm as mesmas sadas.
O mtodo das parties permite identificar estados redundantes tambm quando os estados
seguintes no sejam inicialmente os mesmos.
Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A1
B/0
C/0
B1
D/0
E/0
C1
G/0
E/0
D1
H/0
F/0
E1
G/0
A/0
F1
G/1
A/0
G1
D/0
C/0
H1
H/0
A/0
Setembro de 04

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A1
B1
C1
B1
D1
E1
C1
G1
E1
D1
H1
F2
E1
G1
A1
F2
G1
A1
G1
D1
C1
H1
H1
A1
SISTEMAS DIGITAIS

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A1
B1
C1
B1
D3
E1
C1
G1
E1
D3
H1
F2
E1
G1
A1
F2
G1
A1
G1
D3
C1
H1
H1
A1
H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 60


ELIMINAO POR PARTIO (cont.)

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A1
B1
C1
B1
D3
E1
C1
G1
E1
D3
H1
F2
E1
G1
A1
F2
G1
A1
G1
D3
C1
H1
H1
A1

Setembro de 04

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A1
B4
C1
B4
D3
E1
C1
G4
E1
D3
H1
F2
E1
G4
A1
F2
G4
A1
G4
D3
C1
H1
H1
A1

SISTEMAS DIGITAIS

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A5
B4
C5
B4
D3
E5
C5
G4
E5
D3
H1
F2
E5
G4
A5
F2
G4
A5
G4
D3
C5
H1
H1
A5

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 61


ELIMINAO POR PARTIO (cont.)

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
A5
B4
C5
B4
D3
E5
C5
G4
E5
D3
H1
F2
E5
G4
A5
F2
G4
A5
G4
D3
C5
H1
H1
A5

Setembro de 04

Equivalncia de
Estados
a
A,C,E
b
B,G
c
D
d
F
e
H

SISTEMAS DIGITAIS

Estado Seguinte e
Estado Sada Presente (Z)
Presente
X=0
X=1
a
b/0
a/0
b
c/0
a/0
c
e/0
d/0
d
b/1
a/0
e
e/0
a/0

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 62


BIBLIOGRAFIA
[1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, PrenticeHall International, Inc. (Captulo 4, Seces 4.4 a 4.7)

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

Você também pode gostar