Aplicações com flip-flops
Shift Registers - Registradores de deslocamento :
pode circular dados entre os elementos
Reset’
CLK
right shift
CLK
CLK
CLK
Shift
Reset’
CI 74194
Serial Inputs: LSI, RSI
Parallel Inputs: D, C, B, A
Parallel Outputs: QD, QC, QB, QA
Clear Signal
Positive Edge Triggered Devices
S1,S0 determine the shift function
S1 = 1, S0 = 1: Load on rising clk edge
synchronous load
S1 = 1, S0 = 0: shift left on rising clk edge
LSI replaces element D
S1 = 0, S0 = 1: shift right on rising clk
edge ;RSI replaces element A
S1 = 0, S0 = 0: hold state
Aplicações com flip-flops : shift register
Conversão paralela - serial - paralela
entradas
paralelas
D7
D6
D5
D4
Clock
D3
D2
D1
D0
transmissor
receptor
saídas
paralelas
S1
S0 194
LSI
D
QD
C
QC
B
QB
A
QA
RSI
CLK
CLR
S1
S0 194
LSI
D
QD
C
QC
B
QB
A
QA
RSI
CLK
CLR
D7
D6
D5
D4
S1
S0 194
LSI
D
QD
C
QC
B
QB
A
QA
RSI
CLK
CLR
S1
S0 194
LSI
D
QD
C
QC
B
QB
A
QA
RSI
CLK
CLR
D3
D2
D1
D0
transmissão
serial
Projeto de Circuitos Sequenciais
1 - Entendimento do problema
2 - Análise das informações
3 - Diagrama de estados
Algorítmo básico
3.1 - Minimização de estados
3.2 - Identificação de estados
3.3 - Escolha do elemento de memória
4 - Implementação da lógica combinacional
4.1 - Minimização da função
4.2 - Redução do circuito
Xi
Input s
Zk
Out put s
Combinational
Logic for
Out put s and
Next St at e
State Register
Clock
State
Feedback
Máquina de Mealy
State
Register
Xi
Input s
Comb.
Logic for
Out put s
Combinational
Logic for
Next St at e
(Flip- flop
Input s)
Zk
Out put s
Clock
stat e
feedback
Máquina de Moore
Projeto de Circuitos Sequenciais
Funcionamento geral
•entrega o chiclete para cada 15 centavos
•entrada de moedas de 10 (D) e 5 (C) centavos
•não há troco
Passo 1. Entendimento do problema …
desenhe um diagrama de blocos
Sensor
de
moedas
C
D
Reset
Clk
Controle
da
Máquina
Abre
Mecanismo
de
abertura
Passo 2. Análise das informações …
verificar as possíveis sequências de entrada
e respectivas saídas
Possibilidades :
C+C+C
C+D
D+C
D+D
C+C+D
Reset
S0
C
Entradas: C, D, reset
S1
Saída: abrir
C
D
S2
C
D
S4
S5
S6
[abrir]
[abrir]
[abrir]
S3
C
D
D
S7
S8
[abrir]
[abrir]
Passo 3.1 - Minimização de estados … reutilização de estados
Estado
Atual
Reset
0c
0c
C
5c
D
5c
C
10c
D
10c
C, D
15c
[abrir]
15c
Entradas
D C
0
0
1
1
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
0
1
0
1
X
Próximo
Estado
Saída
abrir
0c
5c
10c
X
5c
10c
15c
X
10c
15c
15c
X
15c
0
0
0
X
0
0
0
X
0
0
0
X
1
Passos 3.2 e 3.3 - Identificação de estados …
Escolha do flip-flop …
Estado atual
Q1 Q0
0
0
0
1
1
0
1
1
Entradas
D
C
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
Prox. estado Saída
D1 D0
abrir
0 0
0 1
1 0
X X
0 1
1 0
1 1
X X
1 0
1 1
1 1
X X
1 1
1 1
1 1
X X
0
0
0
X
0
0
0
X
0
0
0
X
1
1
1
X
Passos 4.1 Minimização da função …
D1
D0
Q1
Q1 Q0
abrir
Q1
Q1 Q0
DC
C
C
D
Q0
D
Q0
D1 = Q1 + D + Q0 C
D0 = C’Q0 + Q0’C + Q1 C + Q1 D
abrir = Q1 Q0
Q1
Q1 Q0
DC
Q0
Projeto de Circuitos Sequenciais
(C’ D’ + Reset)/0
Reset/0
C’ D’ + Reset
Reset
0c
0c
[0]
Reset/0
Reset
C/0
5c
C’ D’/0
D/0
C
C’D’
5c
D
[0]
C
C/0
10c
D/1
10c
C’ D’/0
C+D/1
D
[0]
C+D
15c
15c
[1]
Reset/1
Máquina
de Mealy
C’D’
Máquina
de Moore
Reset
A máquina de Mealy tem, geralmente, menos estados que a
de Moore, para a mesma sequência de saída.
0
0/ 0
0
0
[0]
0
0
1
1
1/ 1
[0]
1
2
[1]
1/ 0
0/ 0
1
1
Exercício : Identificação de padrões em sequências finitas
Seja um identificador de entrada X e saída Z.
Z=1 sempre que a sequência …010… for observada,
enquanto não aparecer a sequência …100… .
passo 1 : entendimento do problema
X: 00101010010…
Z: 00010101000…
X: 11011010010…
Z: 00000001000…
passo 2 : fazer o diagrama de estados para as
sequências que devem ser reconhecidas, isto é,
010 and 100.
obs.: reutilizar estados sempre que possível.
Máquina de Moore
Redução de estados
Dois estados são equivalentes se, partindo-se destes,
obtivermos as mesmas sequências de saída. Podemos,
assim, fazer uma prévia redução de estados por simples
inspeção visual.
Algorítmo de redução por classes
1 - fazer a tabela de estados inicial ;
2 - dividir os estados em classes, de acordo com as
saídas apresentadas, isto é, estados que têm a mesma
saída estarão na mesma grupo (classe) ;
3 - estabelecer, baseado nos próximos estados, as próximas
classes de cada estado ;
4 - reagrupar em novas classes, de acordo com as próximas
classes apresentadas ;
5 - repetir os ítens 3 e 4 até que, em cada classe, todos os
estados tenham as mesmas próximas classes ; estes
estados são equivalentes.
Exemplo :
a
b
c
d
e
x=0
b/0
c/0
d/0
d/0
d/0
I
x=1
c/0
d/0
e/1
e/1
a/1
1 a
b
c
2 d
e
x=0
1
2
2
2
2
II
x=1
2
2
2
2
1
a
b
c
d
e
x=0
1
2
2
2
2
x=1
2
2
2
2
1
III
Em III todos os estados pertencentes a uma classe têm as
mesmas próximas classes; c e d são equivalentes.
Identificação de estados
Algorítmo para a determinação de adjacências
R1 - dois ou mais estados que têm os mesmos próximos
estados devem ter identificações adjacentes ;
R2 - dois ou mais estados que são os próximos estados de
um mesmo estado devem ter identificações adjacentes.
Do exemplo anterior :
a
b
c
e
x=0
b/0
c/0
c/0
c/0
x=1
c/0
c/0
e/1
a/1
anterior atual próximo
a
e
b, c
a
b
c
a , b, c, e c
c, e
e
c
a, c
R1
R2
R1 : (ab), (ac), (ae), (bc), (be), (ce)
R2 : (bc), (ce), (ac)
0
0
a
1 e
1
c
b
Problema 1 :
Implementar um contador de 3 bits que tenha um controle
M e aja da seguinte forma :
M = 0 a contagem é ascendente na sequência binária;
M = 1 a contagem é ascendente em código de Gray
Problema 2 :
Deseja-se colocar um sinal de trânsito no cruzamento de duas
ruas. Sensores C detetam a presença de carros na rua secundária.
Se não há carros nesta rua, o sinal permane verde para a rua
principal. Se há carros naquela, o sinal passa de verde para amarelo
e para vermelho, permitindo então o sinal verde na rua secundária,
por um intervalo TL. Após este intervalo, o sinal passa de verde para
amarelo e para vermelho, retornando o sinal da rua principal a verde.
Mesmo que existam veículos na rua secundária, a principal deve ter
sinal verde pelo menos por TL.
Assumir a existência de um temporizador que gere os tempos TL,
para os sinais verdes, e TS dos sinais amarelos, ambos em resposta
a um set (ST) dos respectivos tempos.
Entendimento do problema
. entradas :
reset
C
TS
TL
coloca a máquina em seu estado inicial
sensor de veículos na rua secundária
fim do períododo sinal amarelo
fim do períododo sinal verde
. saídas
HG, HY, HR
FG, FY, FR
ST
ativam as luzes verde, amarela e vermelha, principal
ativam as luzes verde, amarela e vermelha, secundária
começa um período Tl ou TS.
• Estados : algumas configurações de luzes implicam em outras
estado
S0 principal verde, secundária vermelho
S1 principal amarelo, secundária vermelho
S2 secundária verde, principal vermelho
S3 secundária amarelo, principal vermelho
TL + C
Reset
S0
TL•C/ST
TS/ST
TS
S1
S3
TS
TS/ST
TL + C/ST
S2
TL • C
Download

C - Soslaio