Logica Combinatoria · 2016-01-22 · 12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro...
Transcript of Logica Combinatoria · 2016-01-22 · 12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro...
Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
Logica Combinatoria
Lucidi del Corso di Circuiti Integrati
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica combinatoria
Un blocco di logica puramente combinatoria è
un blocco con N variabili di ingresso e M
variabili di uscita che sono funzione (booleana)
degli ingressi presenti in un certo istante.
Ad ogni istante le uscite dipendono solo dagli
ingressi in quell’istante e NON dalla storia
passata del circuito
x1
x2
xN
y1 y2
yM
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Stili di progetto
Logica statica: l’uscita è sempre connessa
all’alimentazione o alla massa (es. static CMOS,
pseudo-NMOS, pass transistor). Esiste cioè sempre un
percorso diretto a bassa impedenza fra una delle
alimentazioni ed il nodo di uscita.
Logica dinamica: il nodo di uscita non è sempre
connesso ad una delle alimentazioni e il dato viene
temporaneamente immagazzinato in forma di carica
su una capacità (es. np, domino)
Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
Logica combinatoria
CMOS statico
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica statica CMOS
Dall’inverter CMOS è facile ottenere porte
logiche più complesse con gli stessi vantaggi del
singolo inverter:
VOH=VDD , VOL=0
Nessuna dissipazione di potenza statica
Ampi margini di rumore
Tempi di salita e discesa confrontabili (con
opportune regole di progetto)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempi di gate CMOS
A
B
A
B
Z=?
A
A
B
B
Z=?
Logica statica CMOS
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Come si capisce la funzione logica implementata da un circuito a
transistor?
■ Si considera ogni possibile combinazione di ingresso, ossia ogni riga
della tabella di verità.
■ Per ogni combinazione di sostituisce
■ ad ogni NMOS:
■ un circuito APERTO se l’ingresso è 0
■ un circuito CHIUSO se l’ingresso è 1
■ ad ogni PMOS:
■ un circuito CHIUSO se l’ingresso è 0
■ un circuito APERTO se l’ingresso è 1
■ Si verifica, dal circuito risultante, se l’uscita è connessa a massa (0)
oppure a VDD (1)
■ Si riporta il valore logico nella tabella della verità
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Porta NAND(1)
A B Z
0 0 1
0 1 1
1 0 1
1 1 0
A
B
A
B
Z
M1
M2
M3 M4
PMOS accesi, NMOS spenti
Z è disconesso
da massa e
connesso a VDD
dunque l’uscita è
un 1 logico
1
2
3
Z
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Porta NAND (2)
A B Z
0 0 1
0 1 1
1 0 1
1 1 0
A
B
A
B
Z
M1
M2
M3 M4
M2 e M3 accesi, M1 e M4 spenti
Z è disconesso
da massa e
connesso a VDD
dunque l’uscita è
un 1 logico
Z
1
2
3
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Porta NAND (3)
A B Z
0 0 1
0 1 1
1 0 1
1 1 0
A
B
A
B
Z
M1
M2
M3 M4
M2 e M3 accesi, M1 e M4 spenti
Z è disconesso
da VDD e
connesso a
massa dunque
l’uscita è uno 0
logico
1
2
3
Z
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Porta NAND
La porta in figura è una NAND perché l’uscita è uguale a 0 solo se A e B sono entrambi 1 (quando i 2 NMOS del PDN sono entrambi in conduzione). In tale condizione il PUN è sicuramente interdetto
Se anche uno solo fra A e B è pari a 0 il percorso verso massa si interdice e si chiude uno dei due percorsi verso VDD (PUN) quindi l’uscita e 1
A
A
B
B
Z=(AB)’
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Porta NOR
La porta in figura è una NOR perché l’uscita è uguale a 1 solo se A e B sono entrambi 0 (quando i 2 PMOS del PUN sono entrambi in conduzione). In tale condizione il PDN è sicuramente interdetto
Se anche uno solo fra A e B è pari a 1 il percorso verso VDD si interdice e si chiude uno dei due percorsi verso massa (PDN) quindi l’uscita e 0
A
A
B
B
Z=(A+B)’
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica statica CMOS
Una generica porta CMOS ha la struttura:
PUN
PDN
x1
x2
x3
x1
x2
x3
F(x1,x2,x3)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Caratteristiche logica CMOS
PUN (Pull-Up Network): è una rete di interruttori
PMOS che connettono l’uscita a VDD in
corrispondenza delle combinazioni di ingresso per
cui la funzione è F(…)=1
PDN (Pull-Down Network): è una rete di
interruttori NMOS che connettono l’uscita a 0 in
corrispondenza delle combinazioni di ingresso per
cui la funzione è F(…)=0
Le due reti sono complementari, ossia quando è
aperta una l’altra è chiusa e viceversa. Questo
evita che ci siano percorsi diretti fra alimentazione
e massa.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Interruttori NMOS
A
B
Y
X
A B
Y
X
Y=X SE A=1 E B=1 (A•B) Y=X SE A=1 O B=1 (A+B)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Interruttori PMOS
Y=X se A=0 E B=0 (A’•B’) Y=X se A=0 O B=0 (A’+B’)
A
B
Y
X
A B
Y
X
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Generica porta CMOS
Una generica porta CMOS può essere implementata partendo dall’espressione algebrica o dalla tabella di verità. La PDN deve essere tale da chiudere il percorso a massa per le righe in cui F(…)=0 e la PUN tale da chiudere il percorso a VDD per quelle in cui F(…)=1
Per la dualità delle due reti (teorema di DeMorgan) ogni volta che i transistor sono in serie nella PDN sono in parallelo nella PUN e viceversa
Si può sempre partire dall’implementazione della sola PDN per poi ricavare la PUN oppure viceversa
Non tutte le funzioni sono direttamente implementabili, in particolar modo le porte CMOS sono sempre invertenti (per fare una AND è necessario implementare una NAND con un inverter in cascata)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Implementazione di una porta CMOS
PUN
PDN
x1
x2
x3
x1
x2
x3
F(x1,x2,x3)
PDN: G(x1,x2,x3,+,•) => F=G’
PUN: F=G’(x1,x2,x3,+,•) = G(x1’,x2’,x3’ ,•,+)
Quando G (solo funzione di
AND e OR e dei segnali NON
negati) è vera la PDN
cortocircuita l’uscita a massa
La PUN è funzione di soli segnali
negati perché è composta da switch
PMOS (si ottiene per DeMorgan
dalla PDN)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Implementazione di una porta CMOS
Realizzando la PDN si è in grado di implementare (sono
NMOS) una qualsiasi funzione G di soli operatori AND e
OR
PDN: G(x1,x2,…,xN,+,•) (es.
G=AB+CD+F(A+B) )
Quando G=1 l’uscita è connessa a massa quindi F=0
allora:
F(x1,x2,…,xN)=G’(x1,x2,…,xN,+,•)
(es. F=[AB+CD+F(A+B)]’)
Il PUN invece implementa direttamente la funzione
(connette l’uscita a 1) ma può contenere solo operatori
NOR e NAND (quelli implementabili con switch PMOS)
F(x1’,x2’,…,xN’ ,+,•)= F’(x1,x2,…,xN, •,+)=
=G(x1,x2,…,xN, •,+)
Dualità del PDN e PUN
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio
Z=[A(B+C)+D]’
A
B C
D
A
B
C
D
Z’=A(B+C)+D=G
Implementabile con un PDN (le OR sono NMOS in parallelo,
le AND sono NMOS in serie)
Funzione negata
di sole OR e AND
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio
Z=(A’+B’C’)D’
A
B C
D
A
B
C
D
Implementabile con un PUN (le OR di segnali negati sono
PMOS in parallelo,
le AND di segnali negati sono
PMOS in serie)
Funzione di sole
OR e AND di
segnali negati
Procedura di sintesi (1)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
■ Si considera la forma della funzione:
■ Se si tratta di un funzione NEGATA di sole variabili
NON negate ( Z = F(x1,x2,…,xN,+,•)’ ):
■ Si implementa una PDN
■ Se si tratta di un funzione NON NEGATA di sole
variabili negate ( Z = F(x1’,x2’,…,xN’,+,•) ): :
■ Si implementa una PUN
■ Scelto il tipo di rete da realizzare si passa alla sua
implementazione per mezzo di transistor (interruttori)
Procedura di sintesi (2)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
■ Per la realizzazione di una PDN (PUN)
■ Si parte dall’operatore logico a precedenza minore (tenendo
conto delle parentesi)
■ Se si tratta di una OR bisogna scegliere fra due possibili
strade quindi si crea una biforcazione con due percorsi in
parallelo
■ Se si tratta di una AND bisogna invece chiudere il percorso
solo quando entrambe le condizioni sono vere quindi si
mettono i rispettivi transistor in serie
■ Si procede allo stesso modo passando via via agli operatori a
maggiore precedenza
■ Realizzata la rete PDN (PUN) per dualità si realizza la rete
complementare PUN (PDN), mettendo in parallelo i blocchi che erano
in serie e mettendo in serie ciò che era in parallelo.
Procedura di sintesi (3)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tornando
all’esempio: Z=[A●(B+C)+D]’ (1) Implemento una
PDN perché devo
portare l’uscita a 0. (2) Seleziono il primo
operatore da applicare.
E’ una disgiunzione
quindi lo realizzo
creando un bivio tra 2
possibili percorsi.
(3) Disgiunzione:
ramificazione del circuito
che si divide nei due
percorsi corrispondenti
alle due possibili opzioni. D A ●(B+C)
(4) Se un blocco contiene
una sola variabile
corrisponde ad un
transistor con il gate
pilotato dalla variabile.
(5) Per un blocco
corrispondente a
più variabili ripeto
la procedura
dall’inizio
Procedura di sintesi (4)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
D
A●(B+C) (7) Seleziono il primo
operatore da applicare.
E’ una AND quindi
corrisponde a due
percorsi che devono
essere chiusi
contemporaneamente
(serie).
A
B+C
(8) Se un blocco contiene
una sola variabile quello
corrisponde ad un
transistor.
(9) Per un blocco
corrispondente a più
variabili ripeto la
procedura dall’inizio
(10) Procedo con i blocchi rimanenti. Se
in un blocco ci sono più variabili ma un
solo tipo di operatore (come nel caso in
esempio) si sostituisce direttamente con
un parallelo (se l’operatore è la OR) o
serie (se l’operatore è la AND) di tanti
transistor quante sono le variabili.
(6) Ripeto la procedura per il
sottoblocco rimanente.
Procedura di sintesi (5)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
D A
C B
Z=[A●(B+C)+D]’ (11) Si procede adesso, PER DUALITA’,
alla realizzazione della PUN.
Z = [A●(B+C)+D]’=
Applico De Morgan
Z = [A●(B+C)]’●D’=
Z = [A’+(B+C)’]●D’=
Z = [A’+B’●C’]●D’
(12) Come si vede, tutti gli operatori AND
sono diventati OR e viceversa. La forma
finale è quella di una PUN perché
funzione NON NEGATA di variabili
negate.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio
Z=AB Funzione (non negata) di sole OR e AND: non è
implementabile né con un PUN né con un PDN
A
A
B
B
Ecco perché è preferibile
implementare una
generica funzione con sole
NAND e NOR
Z=AB Z1=(AB)’
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
AOI
Implementazione diretta di 2 livelli di logica con
un solo blocco CMOS statico:
Z=(AB+CD)’
A
B
C
D
A B
C D
Z
And-Or-Invert
L’implementazione diretta usa solo 8
transistor anzi che i 2(4+2)+4+2=18 (2
NAND + INVERTER e 1 NOR +
INVERTER) di una implementazione
puramente logica
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
OAI
Implementazione diretta di 2 livelli di logica con
un solo blocco CMOS statico:
F=[(A+B)(C+D)]’
A
C
B
D
A C
B D
Z
Or-And-Invert
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Dimensionamento
Un’opportuna tecnica di dimensionamento
consente di avere caratteristiche statiche e
dinamiche ottimali
In particolare è desiderabile avere delle
caratteristiche di trasferimento simmetriche e dei
tempi di propagazione confrontabili nelle due
possibili commutazioni (HL e LH)
Bisogna chiedersi da cosa dipendono i tempi di
propagazione
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempi di propagazione
Come nel caso del singolo inverter, anche per una generica porta CMOS è possibile calcolare i tempi di propagazione facendo riferimento ad un modello semplificato con una capacità di carico CL fra uscita e massa e delle resistenze equivalenti che rappresentino i MOS
Per ottenere la capacità CL che conterrà i contributi di tutte le capacità parassite nei vari nodi si sfruttano le tecniche viste per l’inverter (l’uso del teorema di Miller per trasformare le capacità gate/drain in capacità drain/massa)
La capacità di carico ottenuta deve poi essere caricata o scaricata dalla rete di pull-up o pull-down che si è attivata
Si fa riferimento al caso peggiore (worst case) ossia a quelle commutazioni che implicano la presenza di un solo percorso conduttivo per la carica o scarica della capacità
Si calcola il transistor equivalente (sfruttando serie e paralleli) corrispondente al percorso attivato e poi si applica la formula per calcolare il tempo di propagazione classico dell’inverter
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Serie e parallelo di MOS
Nel seguito faremo le ipotesi semplificative (solo
parzialmente vere a causa dell’effetto body ed altri effetti
del secondo ordine):
K MOS in serie con W=W0 e L=Lmin sono equivalenti ad un
MOS di lunghezza L=KLmin e W=W0 o ad un MOS con L=Lmin
e W=W0/K (K volte più resistivo)
K MOS in paralello di larghezza W=W0 sono equivalenti ad un
solo MOS con W=KW0 (K volte più conduttivo)
1 1 2 1
2
2
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello del primo ordine
In un modello del primo ordine si può pensare che tutti i MOS in serie (o parallelo) lungo un percorso si combinino in un solo MOS equivalente di W/L opportuna, avente quindi una certa resistenza equivalente (Req)
La capacità equivalente sarà la somma della capacità parassite presenti su tutti i nodi attraversati dal percorso di scarica (Ceq)
Identificate resistenza e capacità equivalente si può calcolare il tempo di propagazione con la solita formula: tp=0.69ReqCeq
MOS in serie
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
L
W
L
Il nodo in comune è
equipotenziale (silicio
fortemente drogato, quasi
metallico), quindi è come se i
2 canali fossero esattamente
uno dopo l’altro ossia se ci
fosse un unico transistor ma
lungo il doppio.
Questo ovviamente a patto
che le larghezze siano le
stesse altrimenti avremo in
serie due canali differenti
quindi non si potrebbe
equiparare la struttura ad un
singolo MOS. 2L
W
W
MOS in parallelo
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
L
L
Se:
■ i source e i drain sono cortocircuitati
tra loro e
■ i gate sono allo stesso potenziale
(come se fossero cortocircuitati)
Allora è come se i due MOS fossero
affiancati fra loro.
In tal caso sarebbero equivalenti ad un
singolo MOS di larghezad oppia.
Questo ovviamente a patto che le
lunghezze siano le stesse altrimenti
avremo in parallelo due canali
differenti, quindi non si potrebbe
equiparare la struttura ad un singolo
MOS.
W
Pista di metallo: corto circuito
2W
L
W
Allo stesso potenziale : come un cortocircuito
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: NAND a 2 ingressi: tpHL
A
B
A
B
Z=(AB)’
R1
R2
C1
CL
Calcolo di tpHL
Req =R1 + R2 = 2RN
Ceq =C1 + CL
tpHL =0.69Req Ceq
Si considera la somma di tutte di le
resistenze attraversate e la somma della
capacità di tutti i nodi che devono essere
scaricati (compresi i nodi interni)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: NAND a 2 ingressi: tpLH
A
B
A
B
Z=(AB)’ R3
CL
Calcolo di tpLH
Req = R3 = RP
Ceq = CL
tpLH =0.69Req Ceq
Si considera la somma di tutte di le
resistenze attraversate e la somma della
capacità di tutti i nodi che devono essere
scaricati (compresi i nodi interni)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Dimensionamento
Allora per fare in modo di equalizzare i tempi di salita e discesa (di caso peggiore) bisogna fare in modo che ciascun percorso di salita (costituito da PMOS) abbia la stessa resistenza equivalente di ciascun percorso di discesa (costituito da NMOS).
Bisogna equalizzare ciascun percorso singolarmente perché il caso peggiore è quello in cui un solo percorso è attivo. Ovviamente se più percorsi fossero attivi contemporaneamente il tempo di propagazione sarebbe minore ma è necessario prevedere che il circuito funzioni correttamente nella situazione più svantaggiosa.
Ricordando che la resistenza equivalente è data dalla somma delle singole resistenze e che ogni resistenza è inversamente proporzionale a kn (kp) bisognerà equalizzare sia il k degli NMOS a quello di un NMOS singolo a dimensione minima (basta agire sulle W) che quello dei PMOS (in questo caso per dimensionare bisogna anche tenere conto della diversa mobilità dei PMOS).
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Calcolo di Ron
La Ron è sicuramente inversamente
proporzionale alla W ed alla mobilità del
transistor (visto che la ID compare al
denominatore)
Perciò a parità di W la Ron di un pmos è circa 2
volte quella di un nmos
Per avere un pmos ed un nmos con Ron circa
equivalenti bisogna dimensionare, come
nell’inverter, Wp=2Wn in modo da compensare
con la Wp la minore mobilità delle lacune
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempo di propagazione
Come visto nell’esempio per fare in modo che i
tempi della commutazione HL e LH siano uguali
è necessario dimensionare i PMOS e gli NMOS
in modo che 2Rn=Rp
Per fare questo è necessario dimensionare gli
NMOS con W=2 in modo che la loro serie sia
equivalente ad un NMOS di W=1
A questo punto è necessario dimensionare i
PMOS con W=2 in modo che siano equivalenti
ad un NMOS con W=1
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Dimensionamento ottimo
Il dimensionamento finale è
A
B
A
B
Z=(AB)’
2 2
2
2
Bisogna avere sempre in mente
il caso peggiore (worst-case).
In questo esempio i due NMOS
sono sempre in serie, mentre i
PMOS possono condurre
singolarmente o
contemporaneamente.
Ovviamente se capita che i due
PMOS siano entrambi accesi il
tempo di propagazione sarà
ulteriormente minore
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Dimensionamento ottimo
A
B C
D
A
B
C
D
1
2 2
2
4
8
8
4 In generale si fa in modo che ciascun
percorso di NMOS verso massa sia
equivalente ad un NMOS con W=1 e
che ciascun percorso di PMOS verso
l’alimentazione sia equivalente ad un
PMOS con W=2 (che è poi equivalente
ad un NMOS con W=1).
Il rapporto di 2 fra PMOS e NMOS non
è esatto (il rapporto fra le mobilità degli
NMOS e dei PMOS è leggermente
maggiore) ma è utile per rendere i
tempi abbastanza simili senza
occupare troppa area.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempo di propagazione: modello di Elmore
Un modello più raffinato per il calcolo del tempo di propagazione dovrà tenere conto che le resistenze, in realtà, non si sommano linearmente.
Quello che, al primo ordine, può essere ricondotto ad un circuito compatto è, in realtà, un circuito distribuito.
Infatti, alcuni dei transistor si trovano nel percorso di scarica di certi capacitori e non di altri.
E’ necessario, per tenere conto di questo fatto, ricorrere al modello di Elmore
Terremo conto solo di situazioni in cui commuta un solo segnale per volta, sia perché è altamente improbabile che 2 segnali commutino contemporaneamente, sia per ragioni di semplicità.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore
R1
C1
R2 R3
C2 C4
C3
R4
Si applica ad una rete di resistenze e capacità se: Si tratta di un albero (una rete senza anelli chiusi)
Tutti i capacitori hanno un terminale a massa
Esiste un solo ingresso
1
2
3
4
In tale situazione il modello di
Elmore consente di calcolare la
costante di tempo (RC) per la
propagazione di un segnale fra
l’unico nodo di ingresso ed il
generico nodo i-esimo.
s Ingresso
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore
N
k
ikkDi RC1
)()( kspercorsiispercorsiRRR jjik
La costante di tempo che descrive l’evoluzione
della tensione al nodo i-esimo in corrispondenza
di una variazione all’ingresso è:
Dove il termine Rik rappresenta la resistenza dovuta al percorso condiviso
fra la sorgente s e ciascuno dei due nodi i e k. Mentre Ck è la capacità
associata al nodo k.
Nel caso della rete precedente, ad esempio, la resistenza condivisa dai nodi 2 e 4 e dai
nodi 3 e 4 è data da:
214342 RRRR Dunque:
4214213212114 RRRCRRCRRCRCD
Modello di Elmore
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Intuitivamente, il modello di Elmore si può comprendere
dal seguente ragionamento (qualitativo):
R1
C1
R2 R3
C2 C4
C3
R4
1
2
3
4
Perché la capacità C3 ha effetto
sulla costante di tempo di C4?
Per il fatto che, se C3 commuta
contemporaneamente a C4, la
sua corrente di carica (o scarica)
deve per forza passare attraverso
la resistenza R2.
La corrente che scorre in R2,
dunque, non è interamente
disponibile per la commutazione
del nodo 4 ma viene in parte
utilizzata dal nodo 3.
Questo limita la velocità con cui
può commutare il nodo 4.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: logica combinatoria
N
k
ikkLHpHL RCt1
)( 69.0
Le conseguenze nel caso del calcolo del tempo di propagazione di una
porta CMOS consistono nel modo in cui si calcolerà la costante di tempo
equivalente ReqCeq
Per la commutazione HL il percorso da prendere in considerazione è
quello fra il nodo di uscita (il nodo i-esimo del modello di Elmore) e la
massa (la sorgente s del modello).
Per la commutazione LH il percorso è fra l’uscita e la VDD (che diventa la
sorgente s)
Su tale percorso saranno presenti tante resistenze quanti sono i MOS da
attraversare ed una capacità per ogni nodo.
La sommatoria è estesa a tutti i
nodi che si scaricano (tutti i
nodi connessi verso massa).
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND 2 ingressi
Commutazione HL
Ci sono 2 possibili casi di commutazione:
a) A : 0 -> 1 B = 1 (commuta A)
b) A = 1 B : 0 -> 1 (commuta B)
A questi due casi corrispondo diverse configurazioni
degli intetturrori durante la scarica.
Caso b)
M3 resta spento, M4 si spegne.
M1 è acceso, M2 si accende.
A
A
B
B
Z=(AB)’
M1
M2
M3 M4 Caso a)
M3 si spegne, M4 resta spento.
M1 si accende, M2 è acceso.
Consideriamo sempre
una sola commutazione
alla volta.
Non sono possibili due
commutazioni
contemporanee.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (HL)
Commutazione HL
R1
R2
C1
CL
Z
a)
La rete si riduce a questa
perché i due PMOS sono spenti
(resistenza infinita) ed i 2 nodi
(corrispondenti a C1 e CL)
devono entrambi essere
scaricati.
La rete si riduce a questa
perché i due PMOS sono spenti
(resistenza infinita), mentre C1
è già scarica perché il transistor
M1 era già acceso ed aveva già
scaricato il nodo 1.
C1 è già scarica!
R1
R2
C1
CL
Z
b)
X
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (HL)
Commutazione HL
R1
R2
C1
CL
Z
a)
Applicando il modello di Elmore alla rete:
N
k
ikkpHL RCt1
69.0
LpHL CRRCRt 211169.0
Se il dimensionamento è ottimo e R1=R2=Rn
LpHL CCRt 269.0 11
LL CRCCR 21169.0
Esteso a TUTTI i nodi della rete
percorso
di scarica
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (HL)
Commutazione HL
Applicando il modello di Elmore alla rete:
N
k
ikkpHL RCt1
69.0
2169.0 RRCt LpHL
C1 è già scarica (cortocircuitata fra
massa e massa) quindi non fa parte
della rete di Elmore.
percorso
di scarica
C1 è già scarica!
R1
R2
C1
CL
Z
b)
X
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (LH)
Commutazione LH
Ci sono 2 possibili casi di commutazione:
a) A : 1 -> 0 B = 1 (commuta A)
b) A = 1 B : 1 -> 0 (commuta B)
A questi due casi corrispondo diverse configurazioni
degli intetturrori durante la scarica.
Caso b)
M3 resta spento, M4 si accende.
M1 è acceso, M2 si spegne.
A
A
B
B
Z=(AB)’
M1
M2
M3 M4 Caso a)
M3 si accende, M4 resta spento.
M1 si spegne, M2 è acceso.
Consideriamo sempre
una sola commutazione
alla volta.
Non sono possibili due
commutazioni
contemporanee.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (LH)
Commutazione LH
R3
R2
C1
CL
Z
a)
C1 è sconnessa
dal percorso di
carica!
b)
La rete si riduce a questa perché i
due M1 e M4 sono spenti (resistenza
infinita) ed i 2 nodi (corrispondenti a
C1 e CL) devono entrambi essere
caricati.
La rete si riduce a questa perché i M3
e M2 sono spenti dunque la capacità
parassita C1 è disconnessa dal
percorso di carica e NON influisce sul
tempo di propagazione.
CL
Z
R4
R1 C1
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (LH)
Commutazione LH
R3
R2
C1
CL
Z
a)
Applicando il modello di Elmore alla rete:
N
k
ikkp RCt1
69.0
LpHL CRCRt 31369.0
Questo perché nel tener conto di C1 bisogna considerare il percorso
resistivo che il CL e C1 hanno in comune nel percorso di carica, ossia
della sola resistenza R3 (a differenza di quanto succede nel caso HL).
LCCR 1369.0
Esteso a TUTTI i nodi della rete
percorso di carica
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: NAND (LH)
Commutazione LH
C1 è sconnessa
dal percorso di
carica!
b)
CL
Z
R4
R1
C1
Applicando il modello di Elmore alla rete:
N
k
ikkp RCt1
69.0
LpHL CRt 469.0
C1 non è nel percorso di carica di CL
quindi non fa parte della rete di Elmore
che ci interessa!
percorso di carica
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: considerazioni
Come si vede dal risultato ottenuto, le resistenze associate a
ciascun MOS non si sommano semplicemente, ma vengono pesate
più o meno a seconda che si trovino più vicine alla massa
(all’alimentazione) o meno.
I MOS più vicini alla sorgente (cioè alla massa o all’alimentazione),
infatti, devono essere attraversati dalla corrente di scarica (o carica)
di tutti i nodi intermedi e quindi limitano maggiormente il tempo di
commutazione.
Da questo punto di vista, il MOS più critico è quello più in basso
(nelle HL) o in alto (nelle LH) che nella sommatoria delle resistenze
di Elmore compare in ogni termine.
Inoltre, anche se sto calcolando il tempo di propagazione LH (HL)
non ci si può dimenticare delle capacità parassite della PDN (PUN)
che potrebbero comunque avere un effetto e trovarsi sul percorso di
carica (scarica).
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Modello di Elmore: generalizzazione
x1
x2
xN
x1
x2
xN
F(x1,x2,…,xN)
K percorsi di scarica
J percorsi di carica J+K=2N percorsi
…
…
Fra i vari percorsi di
scarica (carica) si
identifica quello di caso
peggiore, ovvero quello
a cui corrispondono le
massime capacità e
resistenza equivalenti.
A tale percorso si applica
il modello di Elmore per
ricavare la costante di
tempo e dunque il tempo
di propagazione.
Caso peggiore
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Fra i percorsi quale è quello di CASO PEGGIORE?
Quello a cui corrispondono:
■ Maggior numero di transistor (resistenze) coinvolti
■ Maggior numero di nodi (capacità) coinvolti
Evidentemente possono esistere più percorsi di caso
peggiore equivalenti fra loro e basterà calcolarne uno solo.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempo di propagazione: riassunto
1 Si identificano il percorso di carica e di scarica di caso peggiore
2 Si calcola la Req di ciascun MOS su tale percorso
3 Si calcolano le Ci associate a ciascun nodo del percorso
4 Si calcola la costante di Elmore D associata al percorso mediante
la formula:
5 Si calcola il tempo di propagazione con l’approssimazione del
primo ordine:
NL
LHHL
RRRC
RRCRC
...... 21
1211)(
)()( 69.0 LHHLLHpHLt
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Fan-In e Fan-Out
Porte CMOS con elevato fan-in diventano rapidamente poco pratiche.
Infatti il numero totale di MOS è pari a 2N (con N numero di ingressi) quindi all’aumentare degli ingressi aumenta rapidamente l’area
All’aumentare degli ingressi aumentano anche i transistor in serie e quindi la porta diventa più lenta (Ron più grandi). Questo fenomeno è solo in parte risolvibile con la tecnica di dimensionamento vista, dato che all’aumentare della W dei mos aumentano anche le capacità parassite e quindi CL quindi ad un certo punto non si ha più miglioramento di tp (il gate si fa da carico)
Anche gli elevati fan-out riducono la velocità della porta (ogni gate connesso significa due transistor di carico, il pmos e lo nmos)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Fan-in elevati:tecniche di progettazione
In caso di elevato fan-in è possibile ricorrere a tecniche di progettazione per aumentare la velocità dei gate: Aumentare la W dei transistor per compensare
l’elevata capacità di carico (è una soluzione insufficiente perché all’aumentare di W aumentano anche le capacità parassite e quindi il carico)
Usare un dimensionamento progressivo, ossia fare più conduttivi quei transistor che pilotano i carichi più elevati dovendo pilotare un numero maggiore di capacità parassite
Riordinare i mos in modo che quelli pilotati dai segnali più critici siano connessi ai nodi con minori capacità parassite
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Fan-In: dimensionamento progressivo
I transistor più vicini alla massa devono pilotare
capacità via via più grandi (la somma di CL e di
tutti i nodi parassiti intermedi)
CL
Cp2
Cp1
M1
M2
MN Si dimensiona MN a dimensione
minima, poi gli altri via via più larghi
WN-1=WN(CL+CpN-1)/CL
…
W1=WN(CL+CpN-1 +…+Cp1)/CL
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Fan-In: riordinamento
Se un segnale è particolarmente critico in
genere è quello che arriva per ultimo (quando gli
altri hanno già commutato)
CL
Cp2
Cp1
M1
M2
MN
In tale situazione è preferibile usare
il segnale critico per pilotare il
transistor MN che è il più vicino a CL
e quindi “vede” la sola CL se gli altri
hanno già commutato.
Se invece si usasse il segnale
critico per pilotare M1 la capacità
“vista” sarebbe
Ctot=CL+CpN-1+…+Cp1
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica CMOS: riassunto
L’escursione fra i simboli 0 e 1 è la massima
possibile (VDD)
Nessuna dissipazione di potenza statica
Tempi di propagazione confrontabili
Una porta a N ingressi ha 2N transistor (N nmos
e N pmos)
Ad ogni ingresso sono connessi sempre 2 mos
(1 nmos e 1 pmos)
Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
Logica Combinatoria
Pseudo-NMOS
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Limiti del CMOS
Il principale limite della logica CMOS è il numero
di mos (sempre pari a 2N) utilizzati che la rende
poco pratica per porte con elevato fan-in. Inoltre
in ingresso presenta sempre i gate di 2 mos (p e
n) quindi un carico almeno doppio del minimo
concepibile (trascurando i diversi
dimensionamenti del p e del n)
Per questo motivo sono state concepite logiche
alternative che barattano alcune caratteristiche
CMOS in cambio di un minore ingombro e
maggiore velocità
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica pseudo-NMOS
La logica pseudo-NMOS implementa la sola rete PDN e sostituisce la PUN con un solo mos (un PMOS sempre acceso) che si incarica di portare a VDD l’uscita ogni volta che la PDN è aperta
PDN
x1
x2
xN
F(x1,x2,...,xN)
...
Pseudo-NMOS : funzionamento
L’analisi del circuito di massima è molto semplice e si basa su
quanto detto per la logica combinatoria CMOS statica con la sola
differenza che la rete di pull-up (PUN) è sostituita da un transistor
SEMPRE acceso (il PMOS con il gate connesso a massa).
Per riconoscere la funzione impementata, dunque, bisogna
verificare la sola PDN:
Per ogni combinazione per cui la PDN risulta accesa (ossia in cui c’è
almeno un percorso chiuso verso massa) l’uscita sarà bassa (questo
a patto che il PMOS venga opportunamente dimensionato, come
vedremo in seguito).
Per ogni combinazione per cui la PDN risulta spenta (nessun
percorso verso massa), il nodo di uscita sarà cortocircuitato a VDD
dal PMOS e dunque l’uscita sarà alta.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Pseudo-NMOS: funzionamento
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
PDN
x1
x2
xN
F(x1,x2,...,x3)
Per una combinazione x1, x2, ... xN per cui nessun percorso della PDN
è chiuso verso massa l’intera PDN è un circuito aperto, dunque:
...
F(x1,x2,x3)=VDD
Il PMOS è sicuramente acceso,
dunque equivalente a un resistenza
La PDN è spenta dunque
un circuito aperto
L’uscita è corto-
circuitata a VDD dunque
è alta.
Pseudo-NMOS: funzionamento
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
PDN
x1
x2
xN
F(x1,x2,...,x3)
Per una combinazione x1, x2, ... xN per cui almeno un percorso della
PDN è chiuso verso massa, l’intera PDN è una resistenza, dunque:
...
F(x1,x2,x3)=?
Il PMOS è sicuramente acceso,
dunque equivalente a un resistenza
La PDN è accesa dunque
una resistenza
Quanto vale l’uscita?
Dipende dal valore delle
due resistenze (perché
dipende dal partitore
resistivo).
Pseudo-NMOS: funzionamento
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Quanto vale l’uscita in caso di PDN accesa?
La corrente che scorre nelle due
resistenze è la stessa (il carico NON
assorbe corrente perché è il gate di
un MOS).
Rn
Rp
Ip
In
VRn= Rn In
VRp= Rp Ip
Ip= In
Le resistenze sono in serie, dunque sono
equivalenti ad una resistenza pari alla loro
somma. La caduta di potenziale ai capi della
serie delle due resistenze è pari a VDD.
VDD= (Rp+Rn)In
VOUT = VRp= VDDRn/(Rp+Rn)
Da questo ricaviamo la corrente:
In= VDD/(Rp+Rn)
Se la resistenza equivalente della PDN (Rn) è
molto più piccola di quella del PMOS tale valore
tende a zero e dunque l’uscita è bassa.
Sostituiamo il valore ottenuto nell’espressione di
VRn:
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Pseudo-NMOS: VOL
Il ragionamento svolto è però solo qualitativo perché in realtà i transistor MOS non sono delle semplici resistenze ma hanno una caratteristica fortemente non-lineare. Bisogna tenere conto di questo se si vuole conoscere il valore esatto della tensione di uscita bassa che NON può essere pari a 0.
Per potere scrivere le equazioni corrette applichiamo il solito ragionamento svolto anche per l’inverter CMOS e per la logica statica CMOS ed osserviamo che (come visto nella slide precedente), la corrente del PMOS deve essere UGUALE alla corrente del NMOS (lo NMOS equivalente alla PDN). Questo perché non esiste alcun altro percorso possibile per la corrente, quindi tutta la corrente che scorre nel PMOS deve fluire verso massa attraverso la PDN.
Per potere procedere dobbiamo conoscere le condizioni di conduzione dei due transistor (cutoff, triodo o saturazione).
Osserviamo che si desidera ottenere una porta logica con un buon margine di rumore, dunque si vuole che la VOL sia la più bassa possibile.
In tali condizioni, poiché la VOL coincide con la VDS del NMOS equivalente, tale transistor sarà ragionevolmente in triodo. Per la stessa ragione, la VSD del PMOS sarà invece molto grande e dunque avremo ragionevolmente un PMOS in saturazione.
Pseudo-NMOS: VOL
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
VDD
VOL
Come arriviamo a scrivere l’equazione per ricavare VOL?
VDSn=VOL
VSDp=VDD-VOL
Ip
In
Se la VOL deve essere
piccola, lo NMOS tende ad
andare in triodo ed il
PMOS in saturazione.
Facciamo questa ipotesi
che sarà verificata se
otterremo un valore di VOL
inferiore a VDSATn.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Pseudo-NMOS: VOL
Siccome stiamo calcolando VOL l’ingresso sarà chiaramente alto.
Scriviamo l’equazione della corrente del PMOS che è in saturazione e ha la VSG pari a VDD e la VSD pari a VDD-VOL.
Scriviamo l’equazione della corrente del NMOS che è in triodo e ha la VGS pari a VDD e la VDS pari a VOL.
Uguagliamo le due correnti e ipotizziamo VTn=|VTp|
22
2,
,
DSATp
TnDDDSATppOL
neq
OLTnDDneq
VVVVkV
kVVVk
22
,
2 DSATp
TpDDDSATp
neq
p
TnDDTnDDOL
VVVV
k
kVVVVV
Triodo Saturazione
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Pseudo-NMOS: VOL
Supponendo di volere avere il valore più basso possibile VOL2 sarà
trascurabile rispetto a VOL e si ottiene quindi:
TnDDneq
DSATp
TpDDDSATpp
OLVVk
VVVVk
V
,
2
Se si considera inoltre che, tipicamente VTn VTnp e che VDSATp<<VDD-VTp l’espressione si semplifica ulteriormente in:
n
eqnn
DSATpp
pp
OL
L
W
VL
W
V
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Pseudo-NMOS: VOL
Osservando la cosa dal punto di vista grafico, rappresentiamo le due correnti (del PMOS e del NMOS) su uno stesso grafico (funzione di VOUT). Il valore della tensione di uscita corrisponde al punto di intersezione fra le curve (il punto in cui le due correnti sono uguali).
Vout
I Dn
, I D
p
PMOS (poco conduttivo
perché piccolo W/L)
NMOS (molto conduttivo
perché grande W/L)
Vin=VDD
VOL
Al diminuire del W/L del PMOS la curva si
schiaccia verso il basso ed il punto di
intersezione si sposta a sinistra.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
VOL : considerazioni
La diminuzione della VOL comporta una diminuzione del rapporto di forma del PMOS rispetto al NMOS equivalente.
Tale riduzione di può ottenere sia facendo lo NMOS più conduttivo (più largo), sia riducendo la conduttività del PMOS ossia NON facendolo a lunghezza minima
La maggiore controindicazione della diminuzione di VOL è data dal fatto che, richiedendo una minore conduttività per il PMOS, causa anche un aumento del tempo di propagazione LH
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Consumo di potenza statico
Quando l’uscita è pari a VOL entrambi i transistor sono accesi e scorre corrente (anche staticamente) fra alimentazione e massa.
Il consumo di potenza statica associata è dato dal prodotto della corrente (che coincide con la corrente di saturazione del PMOS) per l’alimentazione
La riduzione di VOL comporta la riduzione della corrente di saturazione del PMOS, il che comporta anche una diminuzione della potenza dissipata. La controindicazione è l’aumento del tempo di propagazione LH (determinato proprio dalla corrente di saturazione del PMOS).
2
DSATp
TpDDDSATppDDSTAT
VVVVkVP
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempo di propagazione
I tempi di propagazione HL e LH sono differenti:
tpHL è determinato dalla rete PDN e può essere valutato col
solito metodo (metodo di Elmore)
Da notare che, in realtà, il tempo di propagazione è leggermente
più alto perché, dato che il PMOS è sempre acceso, la scarica è
ostacolata dalla corrente di saturazione del PMOS
tpLH è determinato dal transistor PMOS di pull-up che carica la
CL con una corrente circa costante (la corrente di saturazione
del pmos). Si applica ancora il metodo di Elmore.
ikiHL RC69.0
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: NAND
A
B
F=(AB)’
La rete PDN porta a 0 l’uscita
solo se A e B sono entrambi 1,
in tutti gli altri casi l’uscita è
portata a 1 dal pmos di pull-up
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Pseudo-NMOS: caratteristiche
E’ una logica a rapporto, dove cioè il rapporto
fra le dimensioni dei transistor determina le
caratteristiche statiche (VOL)
Il PMOS di pull-up ha specifiche contraddittorie:
dovrebbe essere poco conduttivo (kp<<keq,n) per
minimizzare VOL e il consumo di potenza statico
ma dovrebbe anche essere molto conduttivo per
minimizzare il tempo di propagazione LH
(caricare rapidamente CL)
E’ comunque una logica statica perché l’uscita è
sempre connessa a VDD o 0
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Vantaggi delle logiche pseudo-NMOS
Osservando che:
Il numero totale di transistor è N+1 (con N numero di ingressi)
Ogni porta pseudo-NMOS, avendo come carico un’altra porta
pseudo-NMOS, dovrà pilotare un solo transistor (poiché non
c’è la PUN, bisogna pilotare il solo transistor della PDN)
Risulta che:
E’ minore il numero di capacità parassite interno alla porta
logica e dunque è minore il numero di nodi che portano un
contributo nella formula di Elmore.
E’ minore il valore della capacità di carico (dato che bisogna
pilotare solo un NMOS e non la coppia PMOS-NMOS)
Dunque è minore il tempo di propagazione
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Svantaggi della logica pseudo-NMOS
Osservando che:
La PUN è sempre accesa dunque quando l’uscita deve essere
bassa (ossia quando si accende anche la PDN) esiste un
percorso diretto fra alimentazione e massa.
L’uscita bassa NON è pari a zero ma dipende dal rapporto fra
le dimensioni del PMOS e degli NMOS
Risulta che:
Si ha dissipazione di potenza statica
Si ha una riduzione del minore margine di rumore (in caso di
uscita bassa). Infatti per uscita bassa il PMOS e la PDN
conducono entrambi, quindi VOL0
Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
Logica Combinatoria
Logiche dinamiche
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche dinamiche
Le logiche dinamiche sono logiche in cui le
uscite non sono sempre connesse ad una delle
alimentazioni
L’informazione viene temporaneamente
immagazzinata sotto forma di carica elettrica su
un capacitore
In genere sono logiche temporizzate, in cui cioè
si alternano fasi di valutazione della funzione
logica e di memorizzazione sulle capacità
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Concetto di base (n)
PDN
x1
x2
x3
F(x1,x2,x3)
CL
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Concetto di base (n): precarica
PDN
x1
x2
x3
F(x1,x2,x3)
CL
PRECARICA
=0
Il PMOS è acceso e
cortocircuita l’uscita a
VDD.
Lo NMOS è spento ed
interdice il percorso
verso massa.
Il capacitore si carica
a VDD.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Concetto di base (n): valutazione
PDN
x1
x2
x3
F(x1,x2,x3)
CL
VALUTAZIONE
=1
Il PMOS è spento ed
interdice il percorso
verso VDD.
Lo NMOS è acceso ed
abilita il percorso verso
massa.
Se la combinazione di
ingresso è tale da
chiudere un percorso
nella PDN il capacitore
si scarica verso massa.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Concetto base
Quando il segnale (detto segnale di clock) è
basso la PDN è disabilitata (lo NMOS apre il
percorso a massa) ed il PMOS carica la CL in
uscita a VDD
Quando è alto il PMOS si interdice e la PDN è
abilitata, quindi l’uscita potrà andare a 0 (se
PDN si chiude) o restare a 1 (altrimenti)
Il funzionamento è quindi sincronizzato dal
segnale e le operazioni sono divise in 2 fasi
Precarica (=0)
Valutazione (=1)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Concetto di base (p)
PUN
x1
x2
x3
F(x1,x2,x3)
La stessa cosa si può
fare con una PUN. Le
fasi saranno
ovviamente invertite.
CL
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Caratteristiche
Sono necessari solo N+2 transistor
Ogni ingresso vede il carico di un solo MOS.
Non è una logica a rapporto.
Non c’è dissipazione di potenza statica (il percorso
statico fra VDD e massa è sempre interdetto).
La PDN (o PUN) può essere realizzata come nel caso
del CMOS statico (quindi implementa solo funzioni
invertenti).
E’ più veloce e compatta dell’equivalente CMOS statico
(meno capacitori parassiti e minor carico dovuto alla
presenza di un solo gate anzi che due).
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Prestazione statiche
Il maggiore problema delle logiche dinamiche è l’immunità al rumore.
Poiché la commutazione dipende da soli transistor NMOS si può dire che VM, VIL e VIH coincidono con VT (tensione di soglia)
Questo rende i margini di rumore molto bassi
Inoltre il fatto che l’uscita alta sia immagazzinata come carica su una capacità rende il circuito molto sensibile a disturbi (accoppiamenti capacitivi).
La presenza di correnti di leakage può scaricare inavvertitamente l’uscita alta.
Soglia logica
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
VIN
F(x1,x2,x3)
CL
Visto che il PMOS è
spento l’uscita è
disconnessa da VDD.
Basta allora che,
all’aumentare di VIN, si
crei un percorso
conduttivo verso massa,
ossia che lo NMOS si
accenda anche di poco
(VIN appena al di sopra
della tensione di soglia
VTH) perché l’uscita vada
a 0.
VDD
0
VTH NMOS acceso
Inverter dinamico
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Prestazioni dinamiche
Il tempo di propagazione LH è zero! Questo perché la fase di precarica pone già a 1 l’uscita prima ancora della valutazione
In realtà bisognerebbe tenere conto dell’incidenza della precarica nel tempo totale di valutazione. In molti progetti però questa fase può essere fatta coincidere con fasi in cui comunque la logica non dovrebbe funzionare (ad esempio in un processore, mentre avviene la decodifica dell’istruzione) e quindi è realistico pensare che la precarica non incida sul ritardo totale.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Cause di rumore
Le correnti di perdita (leakage) attraverso la PDN possono scaricare l’uscita quando deve essere alta diminuendo l’affidabiltà del circuito
Clock feedthrough: il segnale di clock () varia rapidamente quindi può, per accoppiamento capacitivo, deteriore il segnale alto immagazzinato sulla capacità
Charge sharing: se anche il percorso a massa attraverso la PDN non si chiude può capitare che qualche segnale di ingresso intermedio si chiuda mettendo CL in parallelo con altre capacità e diminuendo il valore alto immagazzinato
In generale il segnale di uscita più sensibile ai disturbi è quello alto perché è memorizzato sulla capacità senza percorsi a bassa impedenza verso VDD
Leakage
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
IDn
IS
IDp
Le correnti di leakage sono dovute alla presenza
dei diodi parassiti associati alle diffusioni di drain
del PMOS e degli NMOS ed alla correnti di
sottosoglia.
Tali correnti tendono a scaricare (caricare nel
caso di IDp) il capacitore.
A seconda di quale corrente prevale, l’uscita
tenderà a scaricarsi (o caricarsi) in un tempo
ragionevolmente lungo.
Sarà necessario ripartire con una nuova fase di
precarica/valutazione prima che la scarica
(carica) porti la tensione di uscita al di sotto della
soglia logica del circuito successivo.
Questo impone un limite inferiore alla frequenza
di funzionamento del circuito dinamico (minima
frequenza di funzionamento).
Inverter dinamico
A Z
Charge sharing
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Se durante la fase di precarica A e B sono entrambi bassi, il PMOS sarà in
grado di caricare il solo capacitore CL (Ca è isolato a causa del NMOS
spento).
Se durante la fase di valutazione (con il PMOS spento) B rimane basso
(quindi interdice il percorso verso massa, imponendo che l’uscita resti alta)
ma A diventa alto, il capacitore Ca viene messo in parallelo con CL ed i due
capacitori devono quindi condividere la stessa carica elettrica che si
redistribuisce su entrambi.
Per la conservazione della carica elettrica, la carica presente in CL prima
della commutazione di A (Q0= CL VDD) deve ora essere presente sul
capacitore totale dato dalla somma dei due (sono in parallelo). Poiché la
carica è la stessa, ma il capacitore è diverso, deve essere cambiata la
tensione:
Q1 = (CL + Ca) VOUT
Q1 = Q0 => VOUT = CL / (CL + Ca) VDD (nota bene che questo è vero solo se il valore così calcolato è inferiore a VDD di almeno una
soglia, altrimenti lo NMOS pilotato da B si spegnerebbe e non sarebbe più vero che i due
capacitori sono esattamente in parallelo)
Questo impone un minimo valore del rapporto fra i due capacitori per
garantire che VOUT non scenda sotto la soglia logica del circuito seguente.
Ovviamente, più complessa è la porta logica, maggiore è il numero di
tranistor, quindi maggiore la capacità complessiva Ca, dunque più difficile
evitare il problema del charge sharing.
Porta NAND dinamica
B
A Z
CL
Ca
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche dinamiche in cascata (1)
Mettere due blocchi in cascata può comportare problemi
di distruzione del segnale
PDN x1 x2 x3
OUT1
PDN x4 x5
OUT2
Se in corrispondenza degli
ingressi deve essere OUT1=0
(e OUT2=1) possono verificarsi
problemi.
Infatti all’inizio della valutazione
OUT1=1 (precarica). Tale
valore potrebbe fare
commutare OUT2 a 0 se la
PDN1 non è abbastanza veloce
nello scaricare OUT1
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche dinamiche in cascata (2)
Esempio
OUT1 = (AB)’
OUT2 = ( OUT1 + C)’ = ( (AB)’ + C)’
A
B
OUT1
C
OUT2
Questo circuito ha dei
potenziali problemi per
alcune combinazioni in
cui l’uscita deve essere
alta.
Ad esempio, la
combinazione A=1, B=1,
C=0.
In tali condizioni
dovrebbe essere
OUT1=0 e OUT2=1.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche dinamiche in cascata (3)
A=1, B=1, C=0
In precarica risulta OUT1=1 e OUT2=1.
Al termine della precarica inizia la valutazione.
A
B
OUT1
C
OUT2
All’inizio della valutazione si
chiudono M4 e M8.
Poiché OUT1 è precaricato a 1 si
chiude il percorso M6-M8 che tende
a scaricare OUT2.
Contemporaneamente si chiude il
percorso M2-M3-M4 che scarica
OUT1.
Nel funzionamento corretto, quando
OUT1 va a 0 apre il percorso M6-M8
lasciando OUT2 a 1 come deve
essere.
M2
M3
M4
M6 M7
M8
M1 M5
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche dinamiche in cascata (4)
Possibile malfunzionamento
A
B
OUT1
C
OUT2
Se la scarica attraverso il
percorso M6-M8 è più veloce
della scarica attraverso M2-
M3-M4, il nodo OUT2 si
scarica prima che OUT1 vada
a 0.
Una volta che OUT2 si è
scaricato, l’uscita risulterà 0 e
non sarà più possibile riportarla
a 1 perché M5 è spento.
Dunque nel momento in cui
OUT1 arriverà finalmente a 0,
l’uscita OUT2 sarà
erroneamente pari a 0.
M2
M3
M4
M6 M7
M8
M1 M5
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica DOMINO
Una possibile soluzione al problema è offerta
dalle logiche DOMINO
PDN x1 x2 x3
OUT1
PDN x4 x5
OUT2
La presenza dell’inverter
impedisce che OUT1=1 in
precarica scarichi
inavvertitamente OUT2.
Infatti quando OUT1 è
precaricato a 1 in ingresso
alla PDN di OUT2 c’è uno 0
che NON può chiudere
percorsi di scarica.
La logica è detta domino
perché la valutazione della
prima PDN innesca
l’eventuale commutazione
della seconda PDN e così via
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche DOMINO: caratteristiche
Possono implementare solo funzioni non
invertenti (per la presenza dell’inverter)
Sono molto compatte e veloci
Vengono utilizzate nella realizzazione di blocchi
logici critici (ALU di processori ad alte
prestazioni)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica np-CMOS
PDN x1 x2 x3
OUT1
PUN x4 x5
’
’ OUT2
Una altra possibile soluzione al problema è
offerta dalle logiche np-CMOS Quando (in precarica)
OUT1=1 la rete PUN di
OUT2 sarà sicuramente
disabilitata (un 1 in
ingresso su dei PMOS
NON può chiudere
percorsi di carica) quindi
all’inizio della
valutazione non ci
possono essere errori
indesiderati.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logiche np-CMOS: caratteristiche
Sono ancora più veloci delle DOMINO (per via
dell’eliminazione dell’inverter fra i due blocchi
dinamici).
Danno luogo ad implementazioni molto dense e
compatte.
Vengono utilizzate nella realizzazione di blocchi
logici critici (ALU di processori ad alte
prestazioni).
Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
Logica Combinatoria
Logica a pass-transistor
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica a pass-transistor
Visto che un MOS è equivalente ad un interuttore si può pensare di realizzare una funzione logica semplicemente scegliendo, a seconda della combinazione in ingresso, cosa fare passare in uscita fra 1 e 0
E’ NECESSARIO che almeno uno dei percorsi sia chiuso in modo che il valore dell’uscita sia determinato in ogni istante
Rete di
interruttori
x1
x2
x3
F(x1,x2,x3)
Può essere sostituito da un semplice buffer, cioè una
porta non invertente col solo compito di isolare l’uscita
dall’ingresso (un buffer NON invertente sono 2 inverter in
cascata).
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio
La porta F=AB può essere realizzata così:
A
B
B
B’
F=AB
La porta F=(AB)’ può essere realizzata così:
A
B
B
B’
F=(AB)’
Se B=1 passa A (quindi 0 o 1 a
seconda del valore di A). Il
secondo percorso è necessario
per garantire una logica statica,
cioè un percorso a bassa
impedenza fra l’uscita e 0 o
VDD per qualunque
configurazione di ingresso
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: multiplexer
La logica a pass-transistor è particolarmente adatta alla realizzazione di multiplexer
Nel caso di un multiplexer 2x1 (due ingressi A e B e 1 ingresso di selezione S), la cui espressione logica è F=AS’+BS si ha la seguente implementazione:
A
B
S
S’
F=AS’+BS
Se S=0 passa A (quindi 0
o 1 a seconda del valore
di A). Se S=1 passa B
(quindi 0 o 1 a seconda
del valore di B).
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: multiplexer 4x1
Nel caso di un multiplexer 4x1 (mux4x1) in cui gli ingressi di selezione sono 2 bit (S1 e S0):
A
B
S0’
Z=AS0’S1’+BS0S1’+CS0’S1+DS0S1
Se S1S0=00 passa A
Se S1S0=01 passa B
Se S1S0=10 passa C
Se S1S0=11 passa D
C
D
S1’
S0 S1’
S0’ S1
S0 S1
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Logica a pass-transistor: sintesi
Il meccanismo è quello di costruire un diverso
percorso per le varie combinazioni di ingressi
(non necessariamente tutte, ma quelle
mutuamente esclusive).
A seconda della combinazione di ingresso uno
ed uno solo dei percorsi si chiuderà.
Tale percorso porterà in uscita uno degli
ingressi
Il meccanismo è particolarmente indicato nella
realizzazione di circuiti di selezione (come i
mutliplexer)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Realizzazione degli switch
Gli interruttori potrebbero essere realizzati con dei
singoli MOS.
A
X Y
Il transistor MOS è un dispositivo simmetrico, dunque non si può definire uno dei due
terminali souce o drain senza sapere il verso della corrente.
Il source è il terminale verso cui è diretta la corrente. Dunque a seconda di come scorre la
corrente cambia la caduta di potenziale che devo considerare (VGS) per verificare se il
transistor è acceso o spento.
ID
A
X Y
ID
Se Y<X Se Y>X
VGS VGS
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Realizzazione degli switch
Un singolo transitor non è in grado di trasferire in modo
perfetto l’informazione.
A=VDD
VDD Y
Lo NMOS ha problemi nel trasferire le tensioni alte. La
massima tensione che compare su Y prima che lo switch si
interdica è VDD – VTH
ID
VGS
In questo caso, infatti:
VGS = VDD – Y
Il transistor si spegne quando:
VGS < VTH
Ossia
Y > VDD – VTH
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Realizzazione degli switch
Il PMOS ha evidentemente il problema opposto.
A=0
0 Y
Il PMOS ha problemi nel trasferire le tensioni basse. La
minima tensione che compare su Y prima che lo switch si
interdica è VTH
ID
VSG
In questo caso, infatti:
VSG = Y – 0 = Y
Il transistor si spegne quando:
VSG < VTH
Ossia
Y < VTH
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Problemi con switch singoli
Un 1 “sporco” causa un consumo di potenza statico
nell’inverter che segue l’interruttore. Infatti il PMOS sarà
sull’orlo della conduzione ed avrà una corrente non nulla
A=VDD
X=VDD
Y=VDD- VTH
C Ishort
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Transmission gate
La soluzione al problema è l’uso dei transmission gate
A
X Y
A’ Simbolo
Il PMOS è pilotato dal segnale di ingresso del NMOS
invertito. Il PMOS si occupa di correggere gli 1 “sporco”
e lo NMOS di correggere gli 0 “sporchi”.
Svantaggi: ho bisogno del PMOS e del segnale invertito
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: multiplexer
Realizzazione di un multiplexer a 2 ingressi (un blocco
che, in base ad un segnale di selezione S sceglie se
fare passare A o B)
F=(AS+BS’)’
S
S
B
A
S’
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Esempio: XOR
E’ possibile realizzare un XOR con soli 4
transistor
F=(AB’+A’B)
B’
B
B
A A
B’
Non VDD !
Non 0 !
Se B=1 l’uscita
e A’
Se B=0 l’uscita
è A (l’inverter è
disabilitato)
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempo di propagazione
Si usa il solito metodo e si sostituiscono i MOS
con resistenze equivalenti (Ron)
Si utilizza il metodo di Elmore (esattamente
come per gli altri circuiti visti) per calcolare la
costante di tempo da cui si ricava il tempo di
propagazione ()
Al valore così calcolato (il tempo di
propagazione attraverso la rete di switch)
bisogna aggiungere il tempo di propagazione
del buffer (invertente o non invertente)
tp = 0.69 + tp,buff Tempo di propagazione del buffer in
cascata
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Tempo di propagazione
Si dimostra (col modello di Elmore) che, in una
catena di switch il tempo di propagazione è:
2
)1(69.0
NNCRt
eqpN: numero
interruttori
C C C
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Implementazione con soli NMOS
L’implementazione con soli NMOS (che risolve il
problema di dovere avere a disposizione tutti i
segnali di ingresso negati) è possibile usando il
level restorer
A=5
X=5
Quando passa un
1 è sufficiente che
il nodo Y sia
abbastanza alto
da fare commutare
l’inverter per
accendere il level-
restore che porta
Y stesso a VDD
Y
Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
Porte tri-state
Porte logiche bidirezionali
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Alta impedenza
Il segnale in alta impedenza (Z) è utilizzato per
gestire bus bidirezionali:
Unità 1 Unità 2
BUS
Se l’Unità 1 (ad esempio il processore) deve potere
inviare/ricevere dati a/da l’Unità 2 (ad esempio la
memoria) è necessario che entrambe siano in grado di
pilotare lo stesso bus.
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Alta impedenza
Quando una delle due unità pilota il bus (cioè tenta di imporne il valore di tensione) l’altra lo deve rilasciare (ossia mettersi in alta impedenza) in modo da non generare confitti. Altrimenti si avrebbe la situazione in figura con un corto-circuito fra alimentazione e massa e l’impossibilità di stabilire la tensione d’uscita del bus (che potrebbe essere anche VDD/2 a seconda del dimensionamento dei transistor).
1 0
12 Ottobre 2012 CI - Logica Combinatoria Massimo Barbaro
Alta impedenza
Da un punto di vista circuitale l’alta impedenza si può implementare così.
EN=1 la porta è abilitata e rappresenta un inverter
EN=0 il pmos in alto e lo nmos in basso sono interdetti e l’uscita è in alta impedenza (non c’è percorso né verso massa né verso VDD)
Questa porta è detta tri-state (ha tre stati logici: 0,1 e Z)
EN’
EN
IN OUT