6 Flip Flop-Registri-Contatori · FF-JK con Preset e Clear asincroni Nel funzionamento normale...
Transcript of 6 Flip Flop-Registri-Contatori · FF-JK con Preset e Clear asincroni Nel funzionamento normale...
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Sequential LogicSequential Logic
2 storage mechanisms
• positive feedback
• charge-based
COMBINATIONALLOGIC
Registers
Outputs
Next state
CLK
Q D
Current State
Inputs
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Positive Feedback: BiPositive Feedback: Bi--StabilityStability
V i1 Vo2
Vo2 = V i 1
Vo1 = V i 2
V
o
1
V
i
2
5
V
o
1
V
i 2
5 V
o 1
i
2
5
V
o 1
Q
+VDD
Q
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CrossCross--Coupled PairsCoupled Pairs
NOR-based set-reset
Forbidden State
S
S
R
Q
QRS Q
Q00 Q
101 0
010 1011 0R
Q
0A
A ≡
i 2
5 V
o 1
A A
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CrossCross--Coupled NANDCoupled NAND
Cross-coupled NANDs
Forbidden State
QRS Q
100
Q
101 0
010 1Q11
1
S
QR
Q
1A
A ≡
i 2
5 V
o 1
A A
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
S
R
Q
Q
J
K
Flip-Flop J-K
Qn11
101
010
Qn00
Qn+1KnJn
φφφφ
- elimina l’ambiguità per S=R=1
- eventuale presenza di un segnale di clock
Qn+1
Qn+1
J
K
Q
Q
φφφφ
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
S
R
Q
Q
J
Kφφφφ
Qn+1
Qn+1
Qn
Qn
0100111
1011011
0100110
Qn001010
Qn000101
1011001
Qn000100
Qn001000
Qn+1RSQnQnKnJn
Qn
1
0
Qn
come si ricava la tabella di verità del FF-JK
se φ = 0, il FF è bloccato
(Qn+1=Qn)
se φ = 1, allora:
S = J ּ Qn e R = Kּ Qn
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
S
R
Q
Q
J
Kφφφφ
Qn+1
Qn+1
Preset
Clear
FF-JK con Preset e Clear asincroni
Nel funzionamento normale Preset = Clear = 0
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
J
K
Q
Q
φφφφT
φφφφQ
Q
Flip Flop TOGGLE
J
K
Q
Q
φφφφD
φφφφQ
Q
Flip Flop DELAY
T Q
Q
φφφφ
D Q
Q
φφφφ
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
D Q
Q
φφφφ
i2
5V
o1Se il circuito è tale che il segnale in uscita rientra in ingresso, il FF può oscillare durante la fase in cui il clock è alto
(race problem )
t
φφφφ
t
Q
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Flip Flop Master-Slave
D
Clk
Q D
Clk
Q
Clk
DataFF1 FF2
non consente all’uscita di rientrare in ingresso durante la stesso periodo di clock
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Timing DefinitionsTiming Definitions
t
CLK
t
D
tp
tholdtsetup
t
Q DATASTABLE
DATASTABLE
Register
CLK
D Q
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Maximum Clock FrequencyMaximum Clock Frequency
FF
’sLOGIC
tp,comb
φ
tp,FF + tp,comb+ tsetup = T
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MUXMUX--Based LatchesBased Latches
Negative latch(transparent when CLK= 0)
Positive latch(transparent when CLK= 1)
CLK
1
0D
Q 0
CLK
1D
Q
InClkQClkQ ⋅+⋅=InClkQClkQ ⋅+⋅=
In In
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MUXMUX--Based LatchBased Latch
CLK
CLK
CLK
CLK
QM
QM
NMOS only Non-overlapping clocks
- quando il clock è basso, il circuito è un latch
- quando il clock è alto, l’anello è aperto
D
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
NonNon--BistableBistable Sequential CircuitsSequential Circuits
Schmitt TriggerSchmitt Trigger
In Out
Vin
Vout VOH
VOL
VM– VM+transcaratteristica con isteresi
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Noise Suppression using Schmitt TriggerNoise Suppression using Schmitt Trigger
Vin
t0
VM−
VM+
t
Vout
t0 + tp t
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MultivibratorMultivibrator CircuitsCircuits
Bistable Multivibrator
Monostable Multivibrator
Astable Multivibrator
flip-flop, Schmitt Trigger
one-shot
oscillator
S
R
T
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
TransitionTransition--Triggered Triggered MonostableMonostable
DELAY
td
In
Outtd
- genera un impulso sul fronte di salita del segnale In
- può essere utilizzato per realizzare FF attivi solo sul fronte del clock
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
DELAY
td
In
Outtd
In
tX
t
X
td
Out = In + X
t
si è assunto che anche la XOR introduca un ritardo td
td
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MultivibratoreMultivibratore AstabileAstabile (NE555)(NE555)
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
DIAGRAMMA INTERNO DEL CIRCUITO INTEGRATO
NE555 (timer)
FF-SR
Qscarica
Qout
reset
RS
FM
gnd
soglia
trigger
R
R
R
5
8
6
2
1
3
4
7
-
-+
+
-
+
comparatore
comparatore
buffer
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MULTIVIBRATORE ASTABILE CON NE555
FF-SR
QQout
reset
RS
FM
gnd
R
R
R
5
8
1
3
4
-
-+
+
-
+
comparatore
comparatore
buffer
soglia
trigger
6
2
7
C
R2
R1
+Vcc
+Vcc+Vcc
scarica
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MultivibratoreMultivibratore AstabileAstabile (NE555)(NE555)
Vout
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
MultivibratoreMultivibratore AstabileAstabile (NE555)(NE555)
Per ottenere un duty-cycle prossimo al 50% occorre che R1<<R2
Funziona fino a qualche centinaio di kHz
Se la tensione di alimentazione non è stabilizzata si hanno fenomeni di jitter
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
RegistriRegistri
D Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφ
D1 D2 D3 D4
φ
Q1 Q2 Q3 Q4
registro a 4 bit
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
RegistriRegistri
D Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφ
D1 D2 D3 D4
φ
Q1 Q2 Q3 Q4
registro a 4 bit con Preset e Clear
Preset
Clr
PrPrPrPr
Clear
ClrClrClr
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Registri a scorrimentoRegistri a scorrimento
D Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφ
D
φ
registro serial in – serial out
Q
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Registri a scorrimentoRegistri a scorrimento
D Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφ
D
φ
registro serial in – parallel out
Q1 Q2 Q3 Q4
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Registri a scorrimentoRegistri a scorrimento
registro parallel in – serial out
D Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφ
D1 D2 D3 D4
φ
Q
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
RegistriRegistri
D Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφD Q
Q
φφφφ
D1 D2 D3 D4
φ
Q1 Q2 Q3 Q4
registro parellel in – parallel out
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
PipeliningPipelining
RE
GR
EG
RE
G
log
a
CLK
CLK
CLK
Out
b
ba +log
Il minimo intervallo di tempo che deve trascorrere fra le immissioni di due coppie di dati è:
tclock ≥ tp,Σ + tp,m + tp,log + 2 tsetup
tp,Σ tp,m tp,log
trascurabile
ΣΣΣΣ
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
PipeliningPipelining
RE
GR
EG
RE
G
log
a
CLK
CLK
CLK
RE
G
CLK
RE
G
CLK
Out
b
Pipelined
tclock ≥
max (tp,Σ , tp,m , tp,log) + 2 tsetup
ΣΣΣΣ
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORIUn contatore ha la funzione di segnalare che si è veri ficato un determinato numero di eventi. Il modulo di un contatore è il numero massimo di eventi che esso è in grado di contare .
Un contatore modulo N è un circuito sequenziale che deve possedere almeno N stati.
L’elemento fondamentale dei contatori è il Flip-Flop.
Esistono contatori sincroni e contatori asincroni, classificati a seconda del fatto se tutti i FF ricevono lo stesso s egnale di clock o meno.
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORE JOHNSONUtilizza uno shift register ad N bit per contare fino a 2N
D
Q
φφφφD Q
φφφφD Q
φφφφQ
Pr Pr Pr
Pr
φφφφ
Q2Q1 Q3
Y
11111
00116
00015
00004
01003
01102
11111
YQ3Q2Q1stato
Il contatore viene inizialmente precaricato su 111
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORE SINCRONOUtilizza N FF-T (a commutazione sul fronte di disces a del clock φφφφ↓) per contare fino a 2 N. Tutti i FF ricevono lo stesso clock.
T
φφφφT Q
φφφφT Q
φφφφQ
φφφφ
Q2Q1 Q3
1
T
φφφφQ
Q4
φQ1Q2
Q3
A B
φφφφφ ּQ1
φφφφ ּQ1 ּQ2
le transizioni avvengono sul fronte di discesa del clock se sono vere queste espressioni
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORE ASINCRONO (ripple counter )Utilizza N FF-T (a commutazione sul fronte di disces a del clock φφφφ↓) per contare fino a 2 N. I FF non ricevono lo stesso clock.
T
φφφφT Q
φφφφT Q
φφφφQ
φφφφ Q2Q1 Q3
1
φQ1Q2
Q3
Ogni FF divide per 2 la frequenza del segnale applicato al proprio ingresso di clock.
BY
0
0
0
0
01
0
0
1
0
0
00
1
1
1
1
1
1
1
1
1
1
11
0
0
0
0
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORE ASINCRONO: problemiIl ritardo introdotto da ogni FF porta il circuito a pa ssare attraverso stati non desiderati. Il ritardo si propaga e si somma.
T
φφφφT Q
φφφφT Q
φφφφQ
φφφφ Q2Q1 Q3
1
Ad esempio, sul fronte di discesa del 4°impulso di clock, il circuito dovrebbe passare dallo stato Q 3Q2Q1= 011 allo stato 100. Invece passa attraverso 010, 000 ed infine 100.
Y
0
φQ1Q2
Q30
0
0
0
01
0
0
1
0
0
00
1
1
1
1
1
1
1
1
1
1
0
0
0
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORI ASINCRONI A MODULO MODIFICATO
Sfruttando gli ingressi di Clear Asincrono dei FF si possono realizzare contatori con modulo diverso da potenze di 2. Se il contatore deve avere modulo N, occorre individuare lo s tato N+1 e resettare tutti i FF su quell’evento.
1118
0117
1016
0015
1104
0103
1002
0001
Q1Q2Q3stato
Per fare un contatore Mod. 6, si resettano i FF sul 7°stato. Il reset (o Clear) è asincrono, e quindi il 7°stato dura quanto un ritardo di propagazione.
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORI ASINCRONI A MODULO MODIFICATO
T
φφφφT Q
φφφφT Q
φφφφQ
φφφφ Q2Q1 Q3
1
Y
i 2
5 V
o 1
Clear Clear Clear
Mod. 6
φQ1
Q2
Q30
0
0
0
0
1
0
0
1
0
0
00
1
1
1
1
1
1
1
1
1
1 0
0
0
0
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORE ASINCRONO A ROVESCIOSe ogni FF riceve il Q del FF precedente allora il cont atore è a rovescio.
T
φφφφT Q
φφφφT Q
φφφφQ
φφφφ
Q2Q1 Q3
1
QQQ
φQ1
Q2
Q3
0
1
0 1
0
0
00
1
1
1
1
1
1
1
1
1
1
0
0
0
Q1
0 0
1
00
1
100
Q2
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
CONTATORE ASINCRONO UP-DOWN
T Q
φφφφT Q
φφφφ
φφφφ
1
T Q
φφφφQ
up
down
Le uscite da considerare sono sempre le Q
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
mod. 50 mod. 60 mod. 60 mod. 2450 Hz
1 Hz 1/60 Hz 1/3600 Hz
secondi minuti ore
decoder
BIN-7 segmenti
decoder
BIN-7 segmenti
decoder
BIN-7 segmenti
OROLOGIO DIGITALE
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Assumendo che la pila di un orologio (1.5 V) conten ga una carica pari a 150 mAh, e che essa sia in grado di alimentare l’orologio per due anni, calcolare quanta potenza dissipa l’orologio.
Assumendo che il clock sia fornito da un quarzo a 1 MHz, quanta energia viene dissipata ad ogni impulso di clock?
L’energia contenuta nella pila è data da:
][225.0][150.05.1 WhAhVE =××=ovvero
[ ] [ ]JJhs
JWhE 8103600225.0225.0][225.0 =×=
==
Poiché per ipotesi tutta l’energia viene dissipata i n 2 anni, ovvero in 6.3072 ××××107 s, allora:
[ ][ ] [ ] [ ]WWst
JEP µ8.12
103072.6
8107
≈×
==
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
mod. 10 61 MHz 1 Hz
segnale di frequenza incognita
comparatore
MISURA DI FREQUENZA
(quarzo)
QT
FF-JK
φφφφ
1
+
-
contatore
decoder
BIN-7 segmenti
Il modulo del contatore B deve essere proporzionato alla frequenza incognita. Se si riduce il modulo del contatore A (p.es. mod 103), la lettura durerà un tempo più breve (p.es. 1 ms). Questo consente di utilizzare un contatore B con modulo ridotto proporzionalmente (p.es. 1/1000 del precedente).
AB
Sequential CircuitsESD-TLC 05/06 - F. Della Corte
Esempio: il segnale incognito ha una frequenza compresa fra 9 e 10 MHz.
Se il conteggio viene abilitato per 10-3 s, il contatore B dovrà poter contare fino a:
437 101010mod =×= −B
A fine conteggio, il contenuto del contatore B dovrà essere moltiplicato per 103.
Per esempio, se il contatore B indica 9453, la frequenza reale sarà 9,453 MHz.
Ovviamente la risoluzione del frequenzimetro risulta penalizzata, perché ora sarà1kHz. Infatti il contatore B potrà indicare, ad esempio, 9453 o 9454, ovvero la frequenza letta sarà 9.453.000 Hz oppure 9.454.000 Hz (∆f=1kHz).