Sei sulla pagina 1di 44

Logica Combinatoria

Lucidi del Corso di Elettronica Digitale


Modulo 5

Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)

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 y1
y2

xN yM

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 2


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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 3

Logica combinatoria
CMOS statico

Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 5

Esempi di gate CMOS

B
A B

F=? A
A
F=?

A B
B

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 6


Logica statica CMOS
„ Una generica porta CMOS ha la struttura:

x1
x2 PUN
x3
F(x1,x2,x3)

x1
x2 PDN
x3

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 7

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 8


Interruttori NMOS
Y
Y
A

A B

X X

Y=X SE A=1 E B=1 (A•B) Y=X SE A=1 O B=1 (A+B)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 9

Interruttori PMOS
Y Y

A B

X X

Y=X se A=0 E B=0 (A’•B’) Y=X se A=0 O B=0 (A’+B’)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 10


Porta NAND
„ La porta in figura è una
NAND perché l’uscita è
uguale a 0 solo se A e B
sono entrambi 1 (quando i A B
2 NMOS del PDN sono
entrambi in conduzione). In
tale condizione il PUN è F=(AB)’
sicuramente interdetto A
„ Se anche uno solo fra A e
B è pari a 0 il percorso
verso massa si interdice e
si chiude uno dei due B
percorsi verso VDD (PUN)
quindi l’uscita e 1

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 11

Porta NOR
„ La porta in figura è una NOR
perché l’uscita è uguale a 1
solo se A e B sono entrambi B
0 (quando i 2 PMOS del
PUN sono entrambi in
conduzione). In tale
condizione il PDN è A
sicuramente interdetto
„ Se anche uno solo fra A e B F=(A+B)’
è pari a 1 il percorso verso
VDD si interdice e si chiude A B
uno dei due percorsi verso
massa (PDN) quindi l’uscita
e0

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 12


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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 13

Implementazione di una porta CMOS


PUN: F=G’(x1,x2,x3,+,•) = G(x1’,x2’,x3’ ,•,+)
La PUN è funzione di soli segnali
x1 negati perché è composta da switch
x2 PMOS (si ottiene per DeMorgan
PUN dalla PDN)
x3
F(x1,x2,x3)

Quando G (solo funzione di


x1
AND e OR e dei segnali NON
x2 PDN negati) è vera la PDN
x3 cortocircuita l’uscita a massa

PDN: G(x1,x2,x3,+,•) => F=G’

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 14


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
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 15

Esempio
„ F=[A(B+C)+D]’ D
Funzione negata
di sole OR e AND B
A
C
F’=A(B+C)+D=G

A
D
B C
Implementabile con un PDN
(le OR sono NMOS in parallelo,
le AND sono NMOS in serie)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 16


Esempio
„ F=(A’+B’C’)D’ D
Funzione di sole
OR e AND di B
segnali negati A
C
Implementabile con un PUN
(le OR di segnali negati sono
PMOS in parallelo, A
le AND di segnali negati sono D
PMOS in serie)
B C

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 17

Esempio
„ F=A+B Funzione di sole OR e AND: non è
implementabile né con un PUN né
con un PDN

A B

Ecco perché è preferibile


implementare una B
generica funzione con
sole NAND e NOR
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 18
AOI
„ Implementazione diretta di 2 livelli di logica con
un solo blocco CMOS statico:
„ F=(AB+CD)’
A B

And-Or-Invert C D
F
A C
L’implementazione diretta usa solo 8
transistor anzi che i 2(4+2)+4+2=18 (2 B D
NAND + INVERTER e 1 NOR +
INVERTER) di una implementazione
puramente logica

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 19

OAI
„ Implementazione diretta di 2 livelli di logica con
un solo blocco CMOS statico:
„ F=[(A+B)(C+D)]’
A C

B D
F
Or-And-Invert A B

C D

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 20


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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 21

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 22


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)

2
1 1 1 2
2

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 23

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 24


Esempio: NAND a 2 ingressi: tpHL
Calcolo di tpHL
A B

F=(AB)’ R2 CL
A
Ceq =C1 + CL
B R1 C1
Req =R1 + R2 = 2RN

Si considera la somma di tutte di le


resistenze attraversate e la somma della
capacità di tutti i nodi che devono essere tpHL =0.69Req Ceq
scaricati (compresi i nodi interni)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 25

Esempio: NAND a 2 ingressi: tpLH


Calcolo di tpLH
A B
Req = R3 = RP
R3
F=(AB)’
A
CL
B Ceq = CL

Si considera la somma di tutte di le


resistenze attraversate e la somma della
capacità di tutti i nodi che devono essere tpLH =0.69Req Ceq
scaricati (compresi i nodi interni)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 26


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).

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 27

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 28


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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 29

Dimensionamento ottimo
„ Il dimensionamento finale è
Bisogna avere sempre in mente A B
il caso peggiore (worst-case). 2 2
In questo esempio i due NMOS
sono sempre in serie, mentre i
F=(AB)’
PMOS possono condurre A
singolarmente o 2
contemporaneamente.
Ovviamente se capita che i due
PMOS siano entrambi accesi il B
2
tempo di propagazione sarà
ulteriormente minore

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 30


Dimensionamento ottimo
In generale si fa in modo che ciascun D
percorso di NMOS verso massa sia 4
equivalente ad un NMOS con W=1 e
B
che ciascun percorso di PMOS verso 8
A
l’alimentazione sia equivalente ad un 4
PMOS con W=2 (che è poi equivalente C
8
ad un NMOS con W=1).
Il rapporto di 2 fra PMOS e NMOS non A
è esatto (il rapporto fra le mobilità degli 2
D
NMOS e dei PMOS è leggermente 1
B C
maggiore) ma è utile per rendere i 2 2
tempi abbastanza simili senza
occupare troppa area.
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 31

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 32


Modello di Elmore
„ 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
R1
1 R2 R3
3
Ingresso s
C3
C1 R4
2
In tale situazione il modello di
Elmore consente di calcolare la 4
costante di tempo (RC) per la C2
C4
propagazione di un segnale fra
l’unico nodo di ingresso ed il
generico nodo i-esimo.

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 33

Modello di Elmore
i
τ Di = ∑ Ck Rik
La costante di tempo che descrive l’evoluzione
della tensione al nodo i-esimo in corrispondenza
di una variazione all’ingresso è: k =1

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.

Rik = ∑ R j ⇒ (R j ∈ [ percorsi( s → i ) ∩ percorsi( s → k )])


Nel caso della rete precedente, ad esempio, la resistenza condivisa dai nodi 2 e 4 è
data da:
R42 = R1 + R2 + R4
Dunque:

τ D 4 = C1 R1 + C2 (R1 + R2 ) + C4 (R1 + R2 + R4 )
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 34
Modello di Elmore: logica combinatoria
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

i
t pHL ( LH ) = 0.69∑ Ck Rik
k =1

Per la commutazione HL 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.

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 35

Modello di Elmore: NAND 2 ingressi


t pLH = 0.69(R3C L )
R3
tpLH
A B CL

F=(AB)’
A
R2 CL
B tpHL

R1 C1

t pHL = 0.69(R1C1 + (R1 + R2 )C L )


17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 36
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, infatti, devono essere
attraversati dalla corrente di scarica 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 (in alto) che nella sommatoria delle resistenze
di Elmore compare in ogni termine

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 37

Modello di Elmore: generalizzazione


J percorsi di carica
J+K=2N percorsi
x1
x2 Fra i vari percorsi di

xN scarica (carica) si
identifica quello di caso
F(x1,x2,…,xN) peggiore, ovvero quello
a cui corrispondono le
massime capacità e
x1 resistenza equivalenti.
x2 A tale percorso si applica

xN il modello di Elmore per


ricavare la costante di
tempo e dunque il tempo
di propagazione.
K percorsi di scarica

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 38


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

Si calcola la costante di Elmore τD associata al percorso mediante


4
τ HL ( LH ) = C1n ( p ) R1n ( p ) + C2 n ( p ) (R1n ( p ) + R2 n ( p ) ) +
la formula:

... + C L (R1n ( p ) + R2 n ( p ) + ... + Rin ( p ) )


Si calcola il tempo di propagazione con l’approssimazione del
5 primo ordine:
t pHL ( LH ) = 0.69τ HL ( LH )

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 39

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)
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 40
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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 41

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
Si dimensiona MN a dimensione MN
minima, poi gli altri via via più larghi
WN-1=WN(CL+CpN-1)/CL Cp2
M2
… Cp1
W1=WN(CL+CpN-1 +…+Cp1)/CL M1

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 42


Fan-In: riordinamento
„ Se un segnale è particolarmente critico in
genere è quello che arriva per ultimo (quando gli
altri hanno già commutato)
CL
In tale situazione è preferibile usare
il segnale critico per pilotare il MN
transistor MN che è il più vicino a CL
e quindi “vede” la sola CL se gli altri Cp2
hanno già commutato. M2
Cp1
Se invece si usasse il segnale
M1
critico per pilotare M1 la capacità
“vista” sarebbe
Ctot=CL+CpN-1+…+Cp1
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 43

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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 44


Logica Combinatoria
Pseudo-NMOS

Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)

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 alcuni caratteristiche
CMOS in cambio di un minore ingombro e
maggiore velocità

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 46


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

F(x1,x2,x3)

x1
x2 PDN
x3

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 47

Logica pseudo-NMOS
„ Vantaggi:
„ Numero totale di transistor N+1 (con N numero di ingressi)
„ Ogni ingresso vede come carico un solo transistor
„ Diminuendo il numero di transistor diminuiscono le capacità
parassite
„ Svantaggi:
„ Dissipazione di potenza statica (quando l’uscita è bassa è
chiusa la PDN ma anche il PMOS quindi c’è un percorso
diretto di corrente fra massa e alimentazione)
„ Minore margine di rumore (per uscita bassa). Infatti per uscita
bassa il PMOS e la PDN conducono entrambi, quindi VOL≠0

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 48


Pseudo-NMOS: VOL
„ Per calcolare VOL si può calcolare l‘uscita in corrispondenza di ingresso alto (il
pmos sarà in saturazione e la rete PDN sarà equivalente ad un singolo nmos
in triodo). Uguagliamo le due correnti e ipotizziamo VTn=|VTp|

Triodo Saturazione

keq ,n ⎛ VDSATp ⎞
keq ,n (VDD − VTn )VOL − VOL = k pVDSATp ⎜⎜VDD − VTn − ⎟⎟
2

2 ⎝ 2 ⎠

kp ⎛ VDSATp ⎞
VOL = (VDD − VTn ) − (VDD − VTn )2 − 2 VDSATp ⎜⎜VDD − VTp − ⎟⎟
keq ,n ⎝ 2 ⎠

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 49

Pseudo-NMOS: VOL
„ Supponendo di volere avere il valore più basso possibile VOL2 sarà
trascurabile rispetto a VOL e si ottiene quindi:

⎛ V ⎞
k pVDSATp ⎜⎜VDD − VTp − DSATp ⎟⎟
VOL ≈ ⎝ 2 ⎠
keq ,n (VDD − VTn )

„ Se si considera inoltre che, tipicamente VTn≈ VTnp e che VDSATp<<VDD-VTp


l’espressione si semplifica ulteriormente in:

Wp
µp V
L p DSATp
VOL ≈
W
µ n eqn L
n

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 50


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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 51

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).

⎛ VDSATp ⎞
PSTAT ⎜
= VDD k p VDSATp VDD − VTp − ⎟
⎜ 2 ⎟
⎝ ⎠
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 52
Tempo di propagazione
„ I tempi di propagazione HL e LH sono differenti:
„ tpHL è determinato dalla rete PDN e può essere valutato col
solito metodo (identificazione di CL e della resistenza Ron)

tpHL=0.69RonPDNCL

„ 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 pmod di pull-up che carica la
CL con una corrente circa costante (la corrente di saturazione
del pmos):

tpLH=(VDDCL)/(2IP,sat)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 53

Esempio: NAND

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 F=(AB)’
A

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 54


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 opposte:
dovrebbe essere poco conduttivo (kp<<keq,n) per
minimizzare VOL ed 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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 55

Logica Combinatoria
Logica a pass-transistor

Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
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 uno dei percorsi sia chiuso in modo che il
valore dell’uscita sia determinato in ogni istante

x1 F(x1,x2,x3)
x2 Rete di
x3 interruttori

Può essere sostituito da un semplice buffer, cioè una


porta non invertente col solo compito di isolare l’uscita
dall’ingresso
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 57

Esempio
„ La porta F=AB può essere realizzata così:
Se B=1 passa A (quindi 0 o 1 a
B
seconda del valore di A). Il
A F=AB secondo percorso è necessario
per garantire una logica statica,
B’ cioè un percorso a bassa
B
impedenza fra l’uscita e 0 o
VDD per qualunque
configurazione di ingresso
„ La porta F=(AB)’ può essere realizzata così:
B
A
F=(AB)’
B’
B
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 58
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:

S’ Se S=0 passa A (quindi 0


A o 1 a seconda del valore
F=AS’+BS di A). Se S=1 passa B
S (quindi 0 o 1 a seconda
B del valore di B).

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 59

Esempio: multiplexer 4x1


„ Nel caso di un multiplexer 4x1 (mux4x1) in cui
gli ingressi di selezione sono 2 bit (S1 e S0):
S0’ S1’
A
S0 S1’ Z=AS0’S1’+AS0S1’+AS0’S1+AS0’S1’
B
S0’ S1
C
ƒSe S S =00 passa A
1 0

D
S0 S1 ƒSe S S =01 passa B
1 0

ƒSe S S =10 passa C


1 0

ƒSe S S =11 passa D


1 0

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 60


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 indicata nella
realizzazione di circuiti di selezione (come i
mutliplexer)
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 61

Realizzazione degli switch


„ Gli interruttori potrebbero essere realizzati con dei
singoli MOS. In tale caso però non si avrebbe un
perfetto trasferimento dell’informazione
A

X Y

ID

Se A=VDD (1 logico) il MOS è acceso e il nodo Y viene


caricato da ID. Quando però Y=VDD-VT il MOS si spegne e la
tensione Y non può crescere ulteriormente.
Si ha un 1 “sporco” (se usassi un PMOS avrei uno 0 sporco)
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 62
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

Y=VDD- VT

A=5

X=5 C

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 63

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
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 64
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)
S
A

S’ F=(AS+BS’)’

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 65

Esempio: XOR
„ E’ possibile realizzare un XOR con soli 4
transistor B

Non VDD ! F=(AB’+A’B)


Se B=1 l’uscita
B’ e A’
A A Se B=0 l’uscita
è A (l’inverter
è disabilitato)
B

Non 0 !
B’
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 66
Tempo di propagazione
„ Si usa il solito metodo e si sostituiscono i MOS
con resistenze equivalenti (Ron)
„ E’ necessario anche trovare la capacità
equivalente nel caso di serie di più interruttori,
dopidichè
„ tp=0.69ReqCeq+tp,inv

Tempo di propagazione dell’inverter in


cascata

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 67

Tempo di propagazione
„ Si dimostra (col modello di Elmore) che, in una
catena di switch il tempo di propagazione è:

C C C

N ( N + 1)
t = 0.69 R C
p eq
N: numero
2 interruttori

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 68


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
Quando passa un
1 è sufficiente che
il nodo Y sia
A=5 abbastanza da
Y fare commutare
X=5 l’inverter per
accendere il level-
restore che porta
Y stesso a VDD

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 69

Logica Combinatoria
Logiche dinamiche

Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
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 su capacità
„ In genere sono logiche temporizzate, in cui cioè
si alternano fasi di valutazione della funzione
logica e di memorizzazione sulle capacità

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 71

Concetto di base (φn)

φ
F(x1,x2,x3)

x1 CL
x2 PDN
x3

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 72


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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 73

Concetto di base (φp)


La stessa cosa si può
φ fare con una PUN. Le
fasi saranno
ovviamente invertite
x1
x2 PUN
x3
F(x1,x2,x3)
φ
CL

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 74


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
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 75

Prestazione statiche
„ Il maggiore problema delle logiche dinamiche è
l’immunità al rumore.
„ Poiché la commutazione dipende da soli
transistor N 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
17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 76
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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 77

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 78


Logiche dinamiche in cascata
„ Mettere due blocchi in cascata può comportare
problemi di distruzione del segnale
Se in corrispondenza degli
ingressi deve essere
OUT1=0 (e OUT2=1)
φ φ possono verificarsi problemi.
OUT1 OUT2
Infatti all’inizio della
x1 valutazione OUT1=1
x2 PDN x4 PDN (precarica). Tale valore
x3 x5 potrebbe fare commutare
OUT2 a 0 se la PDN1 non è
φ φ abbastanza veloce nello
scaricare OUT1

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 79

Logica DOMINO
„ Una possibile soluzione al problema è offerta
dalle logiche DOMINO
La presenza
dell’inverter impedisce
che OUT1=1 in
φ φ precarica scarichi
OUT1 OUT2
inavvertitamente OUT2.

x1 La logica è detta
x2 PDN x4 PDN domino perché la
x3 x5 valutazione della prima
PDN innesca
φ φ l’eventuale
commutazione della
seconda PDN e così via

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 80


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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 81

Logica np-CMOS
„ Una soluzione alternativa consiste nello sfruttare
la dualità della PDN e PUN
Quando OUT1=1 per la
precarica la rete PUN
sarà sicuramente
φ φ’ disabilitata quindi
OUT1
all’inizio della
valutazione non ci
x1 possono essere errori
x2 PDN x4 PUN indesiderati
x3 x5
φ φ’ OUT2

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 82


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)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 83

Porte tri-state
Porte logiche bidirezionali

Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
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.

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 85

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

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 86


Alta impedenza
„ Da un punto di vista circuitale
l’alta impedenza si può
EN’ implementare così.

„ EN=1 la porta è abilitata e


rappresenta un inverter
IN OUT
„ EN=0 il pmos in alto e lo
nmos in basso sono interdetti
e l’uscita è in alta impedenza
(non c’è percorso né verso
EN massa né verso VDD)
„ Questa porta è detta tri-state
(ha tre stati logici: 0,1 e Z)

17 Ottobre 2006 ED - Logica Combinatoria Massimo Barbaro 87