Registri, contatori e circuiti sequenziali

Transcript

Registri, contatori e circuiti sequenziali
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Moduli logici
Moduli logici
Interfacciamento di dispositivi logici
Parametri statici e dinamici
Circuiti logici combinatori
Circuiti logici sequenziali
Registri, contatori e circuiti sequenziali
Esempi e misure su circuiti digitali
Esempi ed esercizi
2
© 2005 Politecnico di Torino
1
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri
Divisori di frequenza, contatori asincroni
Contatori sincroni
Macchine a stati
Elaborazione digitale
4
© 2005 Politecnico di Torino
2
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri
Un Registro è un insieme
di Flip-Flop (D) con il
Clock in comune (ed
eventualmente anche il
Reset)
D0
D1
D2
D3
INPUT
DATA
CK
Q0
Qn0
Q1
Qn1
Q2
Qn2
Q3
Qn3
R LATCHED
OUTPUTS
5
Registri
Un Registro è un insieme
di Flip-Flop (D) con il
Clock in comune (ed
eventualmente anche il
Reset)
Esistono Registri di tipo
Latch,
Positive-Edge-Triggered,
Negative-Edge-Triggered
D0
D1
D2
D3
INPUT
DATA
CK
Q0
Qn0
Q1
Qn1
Q2
Qn2
Q3
Qn3
R LATCHED
OUTPUTS
6
© 2005 Politecnico di Torino
3
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri
Un Registro è un insieme
di Flip-Flop (D) con il
Clock in comune (ed
eventualmente anche il
Reset)
D0
D1
D2
D3
Q0
Qn0
Q1
Qn1
Q2
Qn2
Q3
Qn3
Esistono Registri di tipo
CK
INPUT
Latch,
R LATCHED
DATA
OUTPUTS
Positive-Edge-Triggered,
Negative-Edge-Triggered
Il Registro in figura può essere visto come un
PIPO (Parallel In - Parallel Out)
7
Shift-Register
Uno Shift-Register è un insieme di Filp-Flop (D)
collegati in cascata (Qn -> Dn+1) con il Clock in
comune (ed eventualmente anche il Reset)
SERIAL IN
CK
D
Q
D
Qn
Q
D
Qn
Q1
Q
SERIAL OUT
Qn
Q2
Q3
8
© 2005 Politecnico di Torino
4
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Shift-Register
Uno Shift-Register è un insieme di Filp-Flop (D)
collegati in cascata (Qn -> Dn+1) con il Clock in
comune (ed eventualmente anche il Reset)
Lo Shift-Register converte un dato seriale in uno
parallelo (SIPO -> Serial In - Parallel Out)
SERIAL IN
CK
Q
D
D
Qn
Q
D
Qn
Q1
Q
SERIAL OUT
Qn
Q2
Q3
9
Shift-Register
Esistono anche Shift-Register che caricano il dato
in parallelo (con un segnale di controllo Parallel
Load - PL)
PARALLEL
INPUT
DATA
SERIAL IN
D0
Q0
D1
Q1
D2
Q2
D3
Q3
SIN SOUT
CK
PARALLEL
OUTPUT
DATA
SERIAL OUT
PL R
10
© 2005 Politecnico di Torino
5
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Shift-Register
In tal modo il dato è convertito da parallelo a
seriale (PISO -> Parallel In - Serial Out)
PARALLEL
INPUT
DATA
SERIAL IN
D0
Q0
D1
Q1
D2
Q2
D3
Q3
SIN SOUT
CK
PARALLEL
OUTPUT
DATA
SERIAL OUT
PL R
11
Shift-Register
Con il Registro riportato in figura si possono
ottenere tutte le diverse combinazioni tra ingressi
ed uscite seriali e parallele
PARALLEL
INPUT
DATA
SERIAL IN
D0
Q0
D1
Q1
D2
Q2
D3
Q3
SIN SOUT
CK
PARALLEL
OUTPUT
DATA
SERIAL OUT
PL R
12
© 2005 Politecnico di Torino
6
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri
Divisori di frequenza, contatori asincroni
Contatori sincroni
Macchine a stati
Elaborazione digitale
14
© 2005 Politecnico di Torino
7
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Divisore di frequenza per 2 .. 4
Ogni stadio divide per 2: m stadi dividono per 2m
D
CK
Q1
Q
D
Qn
Q2
Q
Qn
CK
Q1
Q2
Qn1
H
L
H
L
H
L
Qn2
H
L
L
H
H
L
15
Contatore asincrono
Il circuito è un contatore asincrono: le uscite
commutano sfasate nel tempo
Qnm commuta rispetto al fronte del Clock con un
ritardo Tpd = m Tpd-FF
D
CK
Q
Q1
Qn
D
Q2
Q
Qn
Qn1
Qn2
Qn1Qn2 = LLàLHàHLàHHàLL...
16
© 2005 Politecnico di Torino
8
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
JK-FF come divisore/contatore
Il JK-FF con J,K = 1 cambia stato a ogni colpo di
Clock, quindi permette di realizzare un contatore
asincrono a tre stadi con Flip-Flop di tipo JK
Negative-Edge-Triggered
“H”
“H”
J
“H”
J
Q
Q
J
Q
CK
K Qn
K Qn
K Qn
Q1
Q2
Q3
17
JK-FF come divisore/contatore
Su Q1, Q2, Q3 si genera una sequenza crescente
di numeri binari
1
2
3
5
4
6
8
7
CK
Q1
Q2
Q3
000
001
010
011
100
101
110
111
000
18
© 2005 Politecnico di Torino
9
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri
Divisori di frequenza, contatori asincroni
Contatori sincroni
Macchine a stati
Elaborazione digitale
20
© 2005 Politecnico di Torino
10
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Contatore sincrono
Anche questo è un contatore, però sincrono
“H”
J Q
J Q
J Q
J Q
K
K
K
K
CK
Q1
Q2
Q3
Q4
21
Contatore sincrono
Anche questo è un contatore, però sincrono
Le uscite commutano tutte sincrone con il fronte
di discesa del Clock
“H”
J Q
J Q
J Q
J Q
K
K
K
K
CK
Q1
Q2
Q3
Q4
22
© 2005 Politecnico di Torino
11
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Contatore sincrono
Anche questo è un contatore, però sincrono
Le uscite commutano tutte sincrone con il fronte
di discesa del Clock
Dal terzo FF in poi tutti gli stadi sono uguali
“H”
J Q
J Q
J Q
J Q
K
K
K
K
CK
Q1
Q2
Q3
Q4
23
Contatore sincrono: massima frequenza
La massima frequenza di funzionamento è legata
al ritardo del FF CK -> Q e della catena di AND
“H”
J Q
J Q
J Q
J Q
K
K
K
K
CK
Q1
Q2
Q3
Q4
24
© 2005 Politecnico di Torino
12
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Contatore sincrono: massima frequenza
La massima frequenza di funzionamento è legata
al ritardo del FF CK -> Q e della catena di AND
“H”
J Q
J Q
J Q
J Q
K
K
K
K
CK
Q1
Q2
Q3
Q4
25
Registri, contatori e circuiti sequenziali
© 2005 Politecnico di Torino
13
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri
Divisori di frequenza, contatori asincroni
Contatori sincroni
Macchine a stati
Elaborazione digitale
27
Macchine a Stati Finiti (FSM)
Un contatore è il caso più semplice di FSM (Finite
State Machine)
28
© 2005 Politecnico di Torino
14
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Macchine a Stati Finiti (FSM)
Un contatore è il caso più semplice di FSM (Finite
State Machine)
Per un contatore a 2 bit le uscite hanno la
sequenza LLàLHàHLàHHàLL ...
29
Macchine a Stati Finiti (FSM)
Un contatore è il caso più semplice di FSM (Finite
State Machine)
Per un contatore a 2 bit le uscite hanno la
sequenza LLàLHàHLàHHàLL ...
Si può associare ad ogni combinazione delle
uscite uno stato e rappresentare con degli archi i
passaggi da stato a stato
30
© 2005 Politecnico di Torino
15
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Macchine a Stati Finiti (FSM)
La rappresentazione grafica di quanto detto
risulta
A
D
B
C
STATO
Q1
Q0
A
L
L
B
L
H
C
H
L
D
H
H
31
FSM per timer di una lavatrice
Dal diagramma a stati del contatore si potrebbe
realizzare una unità di controllo semplice, ad
esempio il timer di una lavatrice !
A
D
B
C
STATO
Q1
Q0
A
L
L
CARICA ACQUA
B
L
H
LAVA
C
H
L
CENTRIFUGA
D
H
H
ASCIUGA
32
© 2005 Politecnico di Torino
16
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Stato Presente e Stato Futuro
Dal diagramma ricavo che se sono nello stato A
(Stato Presente) il prossimo stato sarà lo stato B
(Stato Futuro)
A
D
B
C
STATO
Q1
Q0
A
L
L
CARICA ACQUA
B
L
H
LAVA
C
H
L
CENTRIFUGA
D
H
H
ASCIUGA
33
Rete di Stato Futuro
L'evoluzione della FSM nell'esempio fatto avviene
attraverso un contatore
Nei casi più complessi il contatore è sostituito da
una rete combinatoria che determina l'evoluzione
della FSM (Rete di Stato Futuro)
E' la rete che calcola lo Stato Futuro
34
© 2005 Politecnico di Torino
17
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Rete di Stato Futuro
Per il nostro esempio del contatore
COUNTER
INPUT
RETE DI
STATO FUTURO
Q0
n
Q1
CK
n
Q
D
CLK
R
R
CLK
RESET
STATO PRESENTE
RESET
STATO FUTURO
35
Rete di uscita
Con una rete combinatoria si possono attivare dei
segnali (uscite) che comandano degli attuatori
CARICA
COUNTER
Q0
Q1
CK
R
LAVA
CENTRIFUGA
CLK
RESET
ASCIUGA
36
© 2005 Politecnico di Torino
18
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Struttura di una FSM: Variabili di Stato
Stati sono memorizzati in FF (Variabili di Stato)
RETE DI
USCITA
INPUT
OUTPUT
RETE DI
STATO FUTURO
n
n
Q
D
CK
R
RESET
37
Struttura di una FSM: Rete di Stato Futuro
Stati sono memorizzati in FF (Variabili di Stato)
Rete combinatoria di Stato Futuro che sente sia
le Variabili di Stato che gli ingressi e comanda
l'evoluzione della FSM
RETE DI
USCITA
INPUT
OUTPUT
RETE DI
STATO FUTURO
n
n
Q
D
CK
R
RESET
38
© 2005 Politecnico di Torino
19
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Struttura di una FSM: Rete di Uscita
Stati sono memorizzati in FF (Variabili di Stato)
Rete combinatoria di Stato Futuro
Rete di Uscita che genera le uscite della FSM
RETE DI
USCITA
INPUT
OUTPUT
RETE DI
STATO FUTURO
n
n
Q
D
CK
R
RESET
39
Registri, contatori e circuiti sequenziali
© 2005 Politecnico di Torino
20
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri, contatori e circuiti sequenziali
Registri
Divisori di frequenza, contatori asincroni
Contatori sincroni
Macchine a stati
Elaborazione digitale
41
Catena completa A - D - A
A
LIMITATORE
AMPLIFICATORE
FILTRO
SAMPLE/HOLD
D
A/D
ELABORAZIONE
DIGITALE
CONVERTITORE
D/A
FILTRO DI
RICOSTRUZIONE
A’
42
© 2005 Politecnico di Torino
21
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione digitale
I dati della sequenza in ingresso non devono
“accumularsi” all’interno del blocco di
elaborazione:
Din-0
Din-1
Din-2
Dout-0
Din-3
Dout-1
Dout-2
ELABORAZIONE
DIGITALE
Ts
43
Elaborazione digitale
I dati della sequenza in ingresso non devono
“accumularsi” all’interno del blocco di
elaborazione:
deve essere generato un dato valido in uscita ogni
Ts=1/Fs: Fs è il Throughput (quantità di dati
forniti/sec) del sistema
Ts
Din-0
Din-1
Din-2
Dout-0
Din-3
Dout-1
Dout-2
ELABORAZIONE
DIGITALE
Ts
44
© 2005 Politecnico di Torino
22
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione digitale
I dati della sequenza in ingresso non devono
“accumularsi” all’interno del blocco di
elaborazione:
deve essere generato un dato valido in uscita ...
il risultato dell’elaborazione di Din-j compare in
uscita con un ritardo Tel (tempo di elaborazione o
latenza)
Ts
Din-0
Tel
Din-1
Din-2
Dout-0
Din-3
Dout-1
Dout-2
ELABORAZIONE
DIGITALE
Ts
45
Elaborazione digitale
I dati della sequenza in ingresso non devono
“accumularsi” all’interno del blocco di
elaborazione:
deve essere generato un dato valido in uscita ...
il risultato dell’elaborazione di D in-j compare ...
Tel può essere > o < di Ts
Ts
Din-0
Tel
Din-1
Din-2
Dout-0
Din-3
Dout-1
Dout-2
ELABORAZIONE
DIGITALE
Ts
46
© 2005 Politecnico di Torino
23
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione digitale
I dati della sequenza in ingresso non devono
“accumularsi” all’interno del blocco di
elaborazione:
deve essere generato un dato valido in uscita ...
il risultato dell’elaborazione di D in-j compare ...
Tel può essere > o < di Ts
Ts e Tel sono due parametri diversi
Ts
Din-0
Tel
Din-1
Din-2
Dout-0
Din-3
Dout-1
Dout-2
ELABORAZIONE
DIGITALE
Ts
47
Elaborazione digitale
Il blocco di elaborazione digitale
può lavorare in modo puramente “combinatorio” a
patto di garantire un dato valido ogni Ts
solitamente possibile quando l’elaborazione non
risulta troppo pesante
48
© 2005 Politecnico di Torino
24
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione digitale
Il blocco di elaborazione digitale
può lavorare in modo puramente “combinatorio”
può suddividere l’elaborazione in più fasi in
cascata utilizzando elementi di memoria intermedi
permette di aumentare la complessità mettendo in
cascata più moduli
49
Elaborazione digitale
Il blocco di elaborazione digitale
può lavorare in modo puramente “combinatorio”
può suddividere l’elaborazione in più fasi
dato che l’elaborazione deve svolgersi ogni Ts
solitamente i blocchi di elaborazione digitale
lavorano in modo “sincrono” rispetto al segnale
CLK, con frequenza Fs = Fck
segnale di cadenza, di Clock, di orologio
50
© 2005 Politecnico di Torino
25
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione combinatoria
Nella catena non sono presenti elementi di
memoria o di risincronizzazione (Registri, Latch)
il tempo di elaborazione Tel dipende solo dal
ritardo Tp dei circuiti logici presenti nel modulo:
T el = T p
detta anche elaborazione asincrona
Ts
Din
Dout
Elaborazione
combinatoria
(ritardo Tp)
Din-0
Tel
Din-1
Dout-0
Din-2
Dout-1
Din-3
Dout-2
Dout-3
51
Registri e Latch
Il Registro legge il dato di ingresso Din con il
segnale di Clock e lo mantiene stabile all’uscita
Do fino al Clock successivo
Ts
Ts
CK
Din
LATCH
Di
Do
Do
Di-0
Di-1
Do-0
Di-2
Do-1
Do-2
CK
52
© 2005 Politecnico di Torino
26
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Registri e Latch
Il Registro legge il dato di ingresso Din con il
segnale di Clock e lo mantiene stabile all’uscita
Do fino al Clock successivo
Garantisce che il dato di ingresso alla logica
combinatoria rimanga stabile per il tempo Ts,
durante il quale può essere svolto il “calcolo”
delle uscite
Ts
Ts
CK
Din
LATCH
Di
Do
Di-0
Di-1
Do-0
Do
Di-2
Do-1
Do-2
CK
53
Elaborazione sincrona
Nella catena sono inseriti Registri (R), con
funzione di risincronizzazione
il tempo di elaborazione Tel dipende dal periodo Ts
del segnale di sincronizzazione:
T el = T s;
deve essere T s > T p
Ts
Elaborazione sincrona
Din-0
R
Din
Elaborazione
combinatoria
(ritardo Tp)
R
Dout
Tel
Din-1
Din-2
Din-3
Dout-0
Dout-1
Dout-2
Fs=Fck
54
© 2005 Politecnico di Torino
27
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione pipeline
Nella catena sono presenti elementi di
risincronizzazione in sequenza
il ritardo Tel (tempo di latenza) è un multiplo di Ts
=> Tel = K Ts; Ts > Tp
viene generato un nuovo dato ogni Ts
Ts
Elaborazione pipeline
Din-0
F1
Tp
R
Din
R
F2
Tp
Din-1
R
Tel
(latenza)
Dout
Din-2
Din-3
Dout-0
Dout-1
Fck
55
Elaborazione pipeline
I blocchi combinatori F1, F2,... possono essere
spezzati per ottenere Tp inferiori
R
Din
F1
Tp1
R
F2
Tp1
R
Dout
Fck
R
Din
Fck
F1’
Tp2
R
F2’
Tp2
R
F3’
Tp2
R
F4’
Tp2
R
Dout
56
© 2005 Politecnico di Torino
28
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Elaborazione pipeline
In questo modo posso lavorare con Ts inferiori
R
Din
F1
Tp1
R
F2
Tp1
R
F1’
Tp2
R
Din
Ts1 > Tp1
Dout
Fck
R
F2’
Tp2
R
F3’
Tp2
F4’
Tp2
R
R
Dout
Fck
Ts2 > Tp2
Ma Ts2 < Ts1 !!
57
Elaborazione pipeline
Aumento il Troughput, che è il tempo più
importante per avere sistemi più veloci!
R
Din
F1
Tp1
R
F2
Tp1
R
R
Din
Fck
F1’
Tp2
Ts1 > Tp1
Dout
Fck
R
F2’
Tp2
R
F3’
Tp2
R
F4’
Tp2
R
Dout
Ts2 > Tp2
Ma Ts2 < Ts1 !!
58
© 2005 Politecnico di Torino
29
Sistemi Elettronici
Registri, contatori e circuiti sequenziali
Sommario lezione B5
Registri
Divisori di frequenza, contatori asincroni
Contatori sincroni
Macchine a stati
Elaborazione digitale
Domande di riepilogo
59
© 2005 Politecnico di Torino
30