Circuitos Sequenciais
Circuitos
Sequenciais: o comportamento do circuito depende no s das entradas no instante presente, mas tambm do seu comportamento anterior dizer que o circuito tem MEMRIA... caracterstica fundamental de um circuito sequencial a existncia de realimentaes, i.e., de ligaes entre a sada e as entradas = Feedback
Pode-se A
Realimentao
Uke2010
Sistemas Digitais
1
Q
1
R Q
1
R Q S
Uke2010
Sistemas Digitais
Latches
S_H Q_Hn Q_Hn+1 0 0 1 1
0 1 0 1
0 1 1 1
Diagrama temporal:
Uke2010
Sistemas Digitais
Latch RS
R
S 0 0 1 1
R 0 1 0 1
1
S
R = 1 e S = 0 Q forado a 0 RESET R = 0 e S = 1 Q forado a 1 SET R = 0 e S = 0 mantm estado anterior R = 1 e S = 1 no utilizada (sem significado; valor real depende da implementao).
O valor da sada do elemento de memria designase habitualmente por estado. Um latch tem 2 estados possveis.
Uke2010
Sistemas Digitais
S_L
&
0 0
0 1 0 1
U
1 0
Qn_H
&
R_L
Q_L
1 1
Uke2010
Sistemas Digitais
Latch RS Controlado
EN_H S_H R_H Qn+1_H 1 1 1 1 0
0 0 1 1 X
0 1 0 1 X
Qn
0 1 NU
Qn_H
A entrada habilitadora ou enable, EN, permite controlar a aplicao das entradas de Set e de Reset ao latch.
S_H R_H EN_H Q_H Q_L
S R S M R NU S
Uke2010
Sistemas Digitais
Latches RS - Simbologia
Latches Simples:
S_L R_L S R Q_H Q_L S_H R_H S R Q_H Q_L
Latch Controlado:
A entrada de sincronismo habitualmente designada por relgio Clock (C) A letra designa funo: C = Clock; S = Set; R = Reset O 1 direita identifica a entrada
S_H EN_H R_H 1S C1 1R Q_H Q_L
Uke2010
Sistemas Digitais
Latch D (Controlado)
Um dos modos de eliminar o estado indefinido no latch RS consiste em assegurar que as entradas R e S so sempre complementares. Obtm-se, assim, o latch D, que tem apenas 2 entradas: D (Data) e (EN) Enable.
D S
&
&
EN
1
R
&
&
1 0
Simbologia:
D_H EN_H 1D C1 Q_H Q_L
Uke2010
Sistemas Digitais
Latches e Flip-Flops
Os latches mudam as sadas imediatamente aps uma variao nas entradas (diz-se que as sadas so transparentes); Os flip-flops mudam as sadas apenas quando h uma variao do relgio.
Se as entradas de um latch mudam enquanto o relgio est a 1, o seu estado muda imediatamente. Esta mudana pode implicar novas mudanas de estado noutros latches, o que pode originar uma sequncia imprevisvel de mudanas de estado no circuito.
Uke2010 Sistemas Digitais 10
Flip-Flop RS Master-Slave
Os flip-flops so projectados de modo a permitir apenas uma nica mudana de estado no circuito por perodo de relgio. O flip-flop Master-Slave consiste na ligao em cascata de 2 latches sincronizados, com sinais de controlo complementares.
Master S C R 1S C1 1R QM_H Slave 1S C1 1R Q_L QS_H Q_H
QS_H
Funcionamento: o Mestre aceita ordens de Set ou Reset enquanto C = 1, mas s passa a ordem ao Escravo quando C = 0
Do ponto de vista das sadas externas o estado apenas muda aps a transio de 1 0 do relgio.
Sistemas Digitais 11
Uke2010
Uke2010
Sistemas Digitais
12
Para evitar a situao de imprevisibilidade, surge o FlipFlop JK. Num FF JK, quando ambas as entradas esto activas, o FF altera o seu estado (faz Toggle)
J_H L L H H L H X X K_H L H L H X X Qt+1 Qt L H Qt Qt Qt
1 J C K & & Master 1S C1 1R Slave 1S C1 1R Q_L Q_H
CP_H
Flip-Flops Master-Slave
Os flip-flops master-slave respondem aos valores na entrada que aparecem durante o semi-perodo em que C = 1. Por isso, so tambm chamados de PULSE-TRIGGERED. No entanto, para que funcionem correctamente, no devem haver variaes nas entradas durante o pulso de relgio. Problema: se durante o pulso de relgio R = 0 e S = 0 1 0, esperar-se-ia que o flip-flop mantivesse o estado, pois a ltima ordem de HOLD, no entanto, o Mestre respondeu ordem de SET e essa ordem que passada ao Escravo (a este comportamento chama-se 1 s catching).
Master S C R 1S C1 1R QM Slave 1S C1 1R QS Q
C S R QM
Uke2010
Sistemas Digitais
14
Flip-Flops Edge-Triggered
Os Flip-Flops Edge-Triggered reagem s entradas num determinado flanco do impulso de relgio, sendo independentes dos valores das entradas excepto num curto intervalo de tempo em torno desse flanco FF Edge-Triggered positivos: reagem no flanco ascendente do impulso de relgio (quando o relgio muda de L para H) FF Edge-Triggered negativos: reagem no flanco descendente (quando o relgio muda de H para L)
Uke2010
Sistemas Digitais
15
A sada Q_H assume o estado da entrada D_H quando se d uma transio L H na entrada CP_H; A sada Q_H mantm o estado, independentemente de D_H, enquanto CP_H est H, L ou ainda durante as transies H L nessa linha
O flip-flop s reage quando na entrada CP_H ocorrem flancos ascendentes de impulsos No FF D edge-triggered negativo, o comportamento semelhante, mas a reaco dada no flanco descendente do relgio
D_H L H X L H X X Qn+1 L H Qn Qn Qn
1D C1 Flip-flop D edge-triggered positivo 1D C1 Flip-flop D edge-triggered negativo
CP_H
16
1 &
1
&
5 Q_H
CP_H
D_H L H X
Qn+1 L H Qn Qn Qn
CP
& &
3 6
Q_L
L H
X X
&
Uke2010
Sistemas Digitais
17
Flip-Flops JK Edge-Triggered
O comportamento do flip-flop JK edge-triggered positivo semelhante ao do JK estudado anteriormente, com a diferena de que s reage s entradas no flanco ascendente do relgio Nota: bvio que este FF no apresenta o comportamento 1s catching
J_H L L H H X L H X X K_H L H L H X X X Qn+1 Qn L H Qn Qn Qn Qn
1J C1 1K Flip-flop JK edge-triggered positivo
CP_H
Qn TOGGLE
Uke2010
Sistemas Digitais
18
Entradas Assncronas
Alguns flip-flops incluem entradas adicionais que permitem fazer o SET ou o RESET assncronamente, i.e., independentemente do relgio. A entrada de Set assncrono tambm s vezes designada por direct set ou preset ; A entrada de Reset assncrono tambm s vezes designada por direct reset ou clear . Exemplo FF JK com R e S assncronos:
S_H L L L L H L H R_H L L L L L H H X X X CP_H J_H L L H H X X X K_H L H L H X X X Qn+1
S
Qn L H Qn H L U
1J C1 1K R
Uke2010
Sistemas Digitais
19
Simbologia
S R Latch RS 1S C1 1R Latch RS sincronizado C1 Latch D sincronizado C1 Latch D c/ controlo activo a L 1D 1D
1J C1 1K Flip-flop JK pulse-triggered
Uke2010
Sistemas Digitais
20
e Latches so circuitos digitais que permitem memorizar um bit Os diferentes tipos de Latches e FFs permitem diferentes funcionalidades (uns mais que outros), por exemplo:
Colocar sada a 1 (Set); Colocar sada a 0 (Reset); Manter estado anterior (Hold); Trocar estado anterior (Toggle); Fazer Set (Preset) ou Reset (Clear) de forma assncrona;
Diferentes
Uke2010
Edge Triggered so os mais importantes e s reagem durante um dos flancos de transio do relgio
1D C1 Flip-flop D edge-triggered positivo 1D C1 Flip-flop D edge-triggered negativo
J K Qn+1 0 0 0 1 1 0 1 1
Sistemas Digitais
Qn 0 1
Qn TOGGLE
22
Uke2010
Caracterizao Temporal
CP
50%
Q_H Q_L
50%
tp LH
50%
tp HL
CP
tw
Uke2010
Sistemas Digitais
23
O tempo de preparao (tS SETUP) a durao mnima do intervalo de tempo durante o qual as entradas de dados no podem variar antes da transio de relgio. O tempo de manuteno (tH HOLD) a durao mnima do intervalo de tempo durante o qual as entradas de dados no podem variar aps a transio de relgio.
50%
CP
50%
ts
Uke2010
th
Sistemas Digitais 24
CP
ts
CP
th
ts
CP
th
Uke2010
Sistemas Digitais
25
A utilizao de uma metodologia de sincronizao temporal correcta garante o funcionamento adequado do circuito. Para sistemas sncronos, o funcionamento adequado significa que, para cada evento de relgio, todos os FFs examinam as suas entradas e determinam os seus novos estados. Isto obriga a que: os valores de entrada correctos tm de ser disponibilizados, a tempo, aos FFs que vo mudar de estado; nenhum flip-flop pode mudar de estado mais do que uma vez durante o mesmo evento de relgio.
CP
IN CP
1D C1
Q0
1D C1
Q1
IN
Q0
Q1
Uke2010
Sistemas Digitais
26
Comportamento Temporal
As entradas dos FFs tm de estar estveis um intervalo de tempo tS antes do flanco de relgio, e um intervalo de tempo tH depois do flanco de relgio. O tempo de propagao de um FF habitualmente muito maior que o tempo de hold, portanto a verificao da condio de hold nunca problema. Para garantir a condio de setup necessrio que a variao provocada pelo 1 evento de relgio, chegue entrada do FF um tempo de setup antes do 2 flanco de relgio.
tH tSU tH tSU tH
tSU CL K IN
tPLH
tPHL
Uke2010
Sistemas Digitais
27
Para uma frequncia de relgio demasiado elevada, o circuito deixa de funcionar correctamente: O funcionamento correcto exige: t P TCLK t SU FF
TCLK t PFF + t SU f CLK t PFF 1 + t SU
tSU CLK
tSU CLK
tH
tSU
tH
IN Q0 tPHL
TCLK
tH
tSU
tH
IN Q0 tPHL
f maxCLK =
Uke2010
t PFF
1 + t SU
Sistemas Digitais
TCLK
28
Bibliografia
Arroz,G.,
Monteiro,J.C., Oliveira,A., Arquitectura de Computadores, dos Sistemas Digitais aos Microprocessadores , seces 6.1 a 6.4, 2 Edio, 2009 Mano,M., Kime,C. Logic and Computer Design Fundamentals, Prentice Hall, seces 4.1, 4.2, 4.3
Uke2010
Sistemas Digitais
29