Escolar Documentos
Profissional Documentos
Cultura Documentos
CIRCUITOS SEQUENCIAIS
SNCRONOS
SUMRIO:
CIRCUITOS DE MOORE E MEALY
CARACTERIZAO
ESPECIFICAO
SNTESE
CONVERSO
EXEMPLOS
PROJECTOS ALTERNATIVOS
1 FLIP-FLOP / ESTADO
UTILIZAO DE CONTADORES
MODELO GERAL
Estado Estado
Actual Seguinte
(EA) (ES)
*
Memria
*
* (Flip-Flops) *
* *
CP
CP
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.
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;
CODIFICAO DE ESTADOS
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).
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
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
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
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
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.
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)
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
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
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
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
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
m10
m5
Controlador Abre
clk
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
mais).
A sada activada apenas quando atingido o 01 00 S10/0
estado S15.
XX
01,10
S15/1
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
m10 1D
m5 Q0
C1
clk
reset R
abre
R Q1
1D
C1
A A=B
B
Comparador-srie A>B
clk
A<B
reset
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
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
1D Q0
A<B
B C1
A
R
CLK
RESET
R Q1
A>B
1D
A=B
C1
MAIOR MENOR
10 / 010
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
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
A<B
1D Q0
B C1
A
R
CLK
RESET
R Q1
1D
A=B
C1
A>B
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
PROJECTOS ALTERNATIVOS
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
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.
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
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
A B
C
Equao:
DC = QA + QB
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
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
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.
1 1 1 0 1
LOAD_L = x . Q1Q0
0 0 0 0 0 0 0 0 0 0
1 x x 1 x 1 x x 1 x
D0 = x D1 = x
EXEMPLO (cont):