Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
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
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)
B
A B
F=? A
A
F=?
A B
B
x1
x2 PUN
x3
F(x1,x2,x3)
x1
x2 PDN
x3
A B
X X
Interruttori PMOS
Y Y
A B
X X
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
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)
Esempio
F=A+B Funzione di sole OR e AND: non è
implementabile né con un PUN né
con un PDN
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
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
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
2
1 1 1 2
2
F=(AB)’ R2 CL
A
Ceq =C1 + CL
B R1 C1
Req =R1 + R2 = 2RN
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
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
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
τ 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
F=(AB)’
A
R2 CL
B tpHL
R1 C1
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
…
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
Università di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica (EOLAB)
F(x1,x2,x3)
x1
x2 PDN
x3
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
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 ⎠
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 )
Wp
µp V
L p DSATp
VOL ≈
W
µ n eqn L
n
⎛ 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
tpLH=(VDDCL)/(2IP,sat)
Esempio: NAND
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
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:
D
S0 S1 Se S S =01 passa B
1 0
X Y
ID
Y=VDD- VT
A=5
X=5 C
Transmission gate
La soluzione al problema è l’uso dei transmission gate
A
X Y
A’
Simbolo
S’ F=(AS+BS’)’
Esempio: XOR
E’ possibile realizzare un XOR con soli 4
transistor 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
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
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à
φ
F(x1,x2,x3)
x1 CL
x2 PDN
x3
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
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
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
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
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
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