RACCOLTA ESERCIZI Circuiti Digitali

Transcript

RACCOLTA ESERCIZI Circuiti Digitali
Università degli Studi di Cagliari
Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Elettronica
Corso di Elettronica Digitale
Anno Accademico 2008/2009
RACCOLTA ESERCIZI
Circuiti Digitali
LOGICA CMOS STATICA
ESERCIZIO 1
Dato il layout nella figura della pagina successiva e sapendo che il processo è un
processo CMOS 0.6 µm con le seguenti caratteristiche (considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.6µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
2
25e-6 (A/V2)
74e-6 (A/V )
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito corrispondente ed identificare la funzionalità logica
implementata (A e B sono gli ingressi, Z l’uscita)
b) Spiegare, senza fare conti ma ragionando sulle capacità, quale è la combinazione
di ingressi che dà luogo alla commutazione di caso peggiore
c) Calcolare il tempo di propagazione nel caso peggiore supponendo che il carico sia
equivalente ad una capacità di 10fF
d) Scrivere la netlist spice per la verifica dei tempi di propagazione calcolati
2
LOGICA CMOS STATICA
10 quadrati = 3um
Figura 1
3
LOGICA CMOS STATICA
a) Circuito e funzione logica
Per identificare i MOS si cercano le intersezioni fra poly e nplus (nmos) o poly e pplus
(pmos). I 4 mos presenti nel layout sono interconnessi a formare una porta NOR.
b) Transizione di caso peggiore
Innanzitutto bisogna notare che i 4 mos sono tutti equivalenti fra loro ed in prima
approssimazione equivalenti a 4 resistenze uguali, infatti il rapporto fra mobilità di lacune
ed elettroni è 3, ma i due pmos sono 3 volte più larghi dei due nmos. Il caso peggiore è
dato dalla transizione B=0, A:1=>0. Infatti in tale caso il percorso di carica del nodo di
uscita Z passa attraverso la serie dei due pmos M1 e M2 (quindi resistenza maggiore che
nel caso di un solo nmos o addirittura di due nmos in parallelo, come per i vari percorsi di
scarica), inoltre in tale combinazione il nodo intermedio 1 è inizialmente connesso
all’uscita da M2 e le capacità parassite associate saranno sul percorso di carica andando
ad aumentare il prodotto RC che determina il ritardo.
4
LOGICA CMOS STATICA
c) Tempo di propagazione
In primo luogo è necessario calcolare le capacità parassite coinvolte nella transizione di
caso peggiore.
Esaminando i nodi interni che devono commutare vediamo le capacità parassite che
vanno pilotate:
Nodo Z:
Cpz = Cdb3+Cdb4+Cdb2+2Cgd3+Cgd4+Cgd2
(Cgd3 contata doppia per via dell’effetto Miller, le altre sono tutte le capacità che sono
connesse fra il nodo Z ed una tensione costante)
Nodo N1:
Cpn1=Cdb1+Csb2+2Cgd1+Cgs2
(Cgd1 contata doppia per via dell’effetto Miller, le altre sono tutte le capacità che sono
connesse fra il nodo N1 ed una tensione costante, il nodo N1 infatti deve essere caricato
perché inizialmente è connesso all’uscita Z tramite M2)
Dal layout si vede che il drain di M1 ed il source di M2 coincidono (sono realizzati con una
sola diffusione) quindi considereremo metà del perimetro e dell’area della diffusione come
appartenenti al drain di M1 e l’altra metà appartenente al source di M1.
Dal layout si vede anche che il drain di M3 e quello di M4 coincidono (sono realizzati con
una sola diffusione) quindi considereremo metà del perimetro e dell’area della diffusione
come appartenenti al drain di M3 e l’altra metà appartenente al drain di M4.
Le dimensioni dei transistor necessarie per il calcolo delle capacità suddette sono:
PMOS
NOME
W
L
AD
PD
AS
PS
M1
3.6E-06
0.6E-06
1.62E-12
0.9E-06
M2
3.6E-06
0.6E-06
8.64E-12
8.4E-06
1.62E-12
0.9E-06
NOME
W
L
AD
PD
AS
PS
M3
1.2E-06
M4
1.2E-06
0.6E-06
2.34E-12
3.6E-06
0.6E-06
2.34E-12
3.6E-06
NMOS
Dalle dimensioni si possono calcolare tutte le capacità parassite:
Cdb1 = Csb2 = Keq(CJ AD1 + CJSW PD1) = 0.82fF
Cgd1 = Cgd2 = COV W1 = 0.5fF
Cgs2 = 2/3CoxWL + COV W1 = 5.53fF
Cdb2 = 5fF
Cdb3 = Cdb4 = 1.5fF
Cgd3 = Cgd4 = 0.1656fF
E’ possibile ora calcolare le capacità ai 2 nodi sul percorso di carica (N1 e Z):
CL = CL’+ Cpz = 19 fF
Cpn1 = 8.17 fF
Per calcolare la costante di tempo bisogna calcolare la resistenza di ciascun PMOS sul
5
LOGICA CMOS STATICA
percorso (i due PMOS sono uguali quindi sono uguali le rispettive resistenze equivalenti).
Per fare questo, innanzitutto, serve la corrente di saturazione:
Isatp1 = Isatp2 = up COX (W/L)1 VDSATp (VDD - VTH - VDSATp/2) = 154uA
Si può così calcolare la resistenza equivalente:
Reqp = 3/4 VDD/Isatp = 16kΩ
Il tempo di propagazione si ottiene dalla formula di Elmore:
tpLH = 0.69 Reqp ( Cpn1 + 2 CL ) = 509.7 psec
d) Netlist spice
*Netlist di simulazione tempo propagazione
* Inclusione
.include models.dat
* Netlist
m1 1 a vdd vdd p1 w=3.6u l=0.6u ad=1.62e-12 pd=0.9u
m2 z b 1 vdd p1 w=3.6u l=0.6u ad=8.64e-12 pd=8.4u as=1.62e-12 ps=0.9u
* Metà della diffusione la considero drain di m1 e metà source di m2
m3 z a 0 0 n1 w=1.2u l=0.6u ad=2.34e-12 pd=3.6u
m4 z b 0 0 n1 w=1.2u l=0.6u ad=2.34e-12 pd=3.6u
* Metà della diffusione la considero drain di m3 e metà drain di m4
cl z 0 10f
* Generatori
vdd vdd 0 3.3
va a 0 pulse 3.3 0 10n 10p 10p 5n 10n
vb b 0 dc 0
* Analisi
.tran 10p 12n
.end
6
LOGICA CMOS STATICA
ESERCIZIO 2
Avendo a disposizione un processo CMOS 0.5 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
2
25e-6 (A/V2)
100e-6 (A/V )
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Trovare la funzione logica implementata dal circuito in Figura 1 (pagina seguente) e
dire a quale famiglia logica appartiene il circuito
b) Dimensionare i transistor in modo da ottenere VTC simmetrica e tempi di
propagazione di caso peggiore uguali (dimensionamento ottimo, NON semplificato)
usando MOS a lunghezza minima (scrivere la dimensione effettiva della W,
espressa in um, sapendo che il valore minimo di W realizzabile è 0.5um)
c) Dire quale è la combinazione di ingressi (in cui l’ingresso che varia è uno solo fra A,
B, C e D) di caso peggiore per la commutazione HL e spiegare qualitativamente per
quale motivo
d) Supponendo che tutte le capacità Cdb e Csb (dei pmos come degli nmos) siano
pari a 1fF calcolare il tempo di propagazione tpHL nel caso peggiore con un carico di
10fF
e) Scrivere la netlist spice per la verifica del tempo di propagazione calcolato
7
LOGICA CMOS STATICA
Figura 1
a) Funzione logica
a1) La funzione logica implementata è:
Z=B’+[A’(D’+C’)]=
=[B(A+DC)]’
partendo dal PUN
partendo dal PDN
ovviamente, per De Morgan, le due espressioni coincidono.
a2) Il circuito appartiene alla famiglia logica:
Logica CMOS statica
b) Dimensionamento
Per tutti i MOS la lunghezza è sempre:
L=Lmin=0.5um
Per le W dobbiamo dimensionare per avere tutti i percorsi a massa equivalenti al nMOS
con W minima (0.5um) ed i percorsi a VDD equivalenti al pMOS con:
up COX Wp/Lmin VDSATp = un COX Wn/Lmin VDSATn
ossia:
Wp = un / up Wn = 4Wn = 2um
Questo è il dimensionamento ottimo NON semplificato, ossia come ricavato dalla formula
8
LOGICA CMOS STATICA
e non utilizzando il valore semplificato Wp = 2Wn che si usa solitamente.
M1 e M2, in serie devono essere equivalenti ad un MOS con W=0.5um quindi,
W1=W2=1um
M3 e M4, in serie, devono essere equivalenti ad un MOS con W=1um così che, messi poi
in serie con M2 (che ha W=1um), risultino equivalenti al MOS con W=0.5um
W3=W4=2um
M8 è un singolo pMOS quindi deve avere
W8 =2um
M5 e M6 in serie, oppure M5 e M7, devono essere equivalenti ad un pMOS con W=2um
W5=W6=W7=4um
c) Commutazione di caso peggiore
A=0
B=1
C=commuta
D=1
Perché:
I percorsi di scarica sono 2 (attraverso A e B oppure attraverso B, D e C). Dal punto di
vista della resistenza equivalente i due percorsi sono uguali (dimensionamento ottimo), il
caso peggiore si ha quando si hanno il maggior numero di capacità parassite coinvolte
(ossia il maggior numero di nodi intermedi coinvolti, N2 e N3, quindi inizialmente
cortocircuitati all’uscita). Questo avviene appunto se D=1 e B=1 e C commuta.
d) Tempo di propagazione
tpHL = 0.69 (R4 Cpn3 + (R3+R4) Cpn2 + (R4+R3+R2) CL + (R4+R3+R2) Cpn1)
La corrente di scarica è quella che scorre attraverso un transistor a dimensione minima
(W=0.5u, L=0.5u) per via del dimensionamento ottimo:
Isatn2=kn (W/L)2 VDSATn (VDD - VTH - VDSATn2/2) = 205 uA
Isatn4=kn (W/L)4 VDSATn (VDD - VTH - VDSATn2/2) = 410 uA
R2 = ¾ VDD/Isatn2 = 12 kΩ
R4 = R3= ¾ VDD/Isatn4 = 6 kΩ
Le capacità di gate-drain e gate-source vanno calcolate, mentre quelle drain-body e
source-body sono tutte pari a 1fF:
Cgd1 = Cgd2 = Cov*W1,2 = 0.138fF
Cgs2 = 2/3Cox*W2*L2 + Cov*W2 = 1.3fF
Cgd3 = Cgd4 = Cov*W3,4 = 0.276fF
Cgs3 = 2/3Cox*W3*L3 + Cov*W3 = 2.609fF
Cgd6 = Cgd7 = Cov*W6,7 = 0.552fF
Cgd5 = Cgs5 = 1/2Cox*W5*L5 + Cov*W5 = 4.05fF (pmos in triodo)
Cgd8 = Cov*W8 = 0.276fF
Calcoliamo le capacità parassite considerando le varie componenti:
Nodo N1:
Cpn1=Cgs5+Csb5+2Cgd6+Cdb6+Cgd7+Cdb7= 8.708 fF
(Cgd6 pesato 2 per Miller)
Nodo N2:
Cpn2=Cdb1+Cdb3+Csb2+Cgd1+Cgd3+Cgs2= 4.714 fF
Nodo N3:
Cpn3=Cdb4+Csb3+2Cgd4+Cgs3 = 5.161 fF
(Cgd4 pesato 2 per Miller)
Nodo Z:
Cpz=Cdb2+Cdb5+Cdb8+Cgd2+Cgd5+Cgd8 = 7.464 fF
CL = CL’ + Cpz = 17.464 fF
9
LOGICA CMOS STATICA
tpHL=0.69(R4 Cpn3 + (R3+R4)Cpn2 + (R4+R3+R2) CL + (R4+R3+R2)Cpn1)= 493.7 psec
e) Netlist spice
* Simulazione porta CMOS
.include models.dat
* Netlist
* PDN
m1 1 A 0 0 n1 w=1u l=0.5u
m2 Z B 1 0 n1 w=1u l=0.5u
m3 1 D 2 0 n1 w=2u l=0.5u
m4 2 C 0 0 n1 w=2u l=0.5u
* PUN
m5 Z A 3 vdd p1 w=4u l=0.5u
m6 Z B vdd vdd p1 w=2u l=0.5u
m7 3 D vdd vdd p1 w=4u l=0.5u
m8 3 C vdd vdd p1 w=4u l=0.5u
* Carico
cl z 0 10f
* Generatori
vdd vdd 0 3.3
va A 0 0
vb B 0 3.3
vd D 0 3.3
vc C 0 pulse 0 3.3 5n 1p 1p 5n 10n
.tran 1p 12n
.end
10
LOGICA CMOS STATICA
ESERCIZIO 2
Avendo a disposizione un processo CMOS 0.5 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
2
75e-6 (A/V )
25e-6 (A/V2)
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito corrispondente alla netlist in Figura 1
b) Identificare la funzione logica implementata
c) Dire quale è la combinazione di ingressi (in cui l’ingresso che varia è uno solo fra A,
B e C) di caso peggiore per la commutazione HL e spiegare qualitativamente
perché
d) Calcolare il tempo di propagazione tpHL nel caso peggiore supponendo di avere un
carico costituito da un inverter a dimensionamento ottimo semplificato
* Function Z
* Modelli (n1=nmos, p1=pmos)
.include models.dat
* Netlist
m4 Z A 2 0 n1 w=0.5u l=0.5u ad=1e-12 as=1e-12 pd=2u ps=2u
m5 2 B 0 0 n1 w=0.5u l=0.5u ad=1e-12 as=1e-12 pd=2u ps=2u
m6 Z C 0 0 n1 w=0.5u l=0.5u ad=1e-12 as=1e-12 pd=2u ps=2u
m1 1 A vdd vdd p1 w=0.5u l=0.5u ad=1e-12 as=1e-12 pd=2u ps=2u
m2 1 B vdd vdd p1 w=0.5u l=0.5u ad=1e-12 as=1e-12 pd=2u ps=2u
m3 Z C 1 vdd p1 w=0.5u l=0.5u ad=1e-12 as=1e-12 pd=2u ps=2u
vdd vdd 0 3.3
va A 0 pulse 0 3.3 0 10p 10p 5n 10n
vb B 0 pulse 0 3.3 0 10p 10p 10n 20n
vc V 0 pulse 0 3.3 0 10p 10p 20n 40n
.tran 10p 40n
.end
Figura 1
11
LOGICA CMOS STATICA
a) Circuito
b) Funzione logica
Z= (A’+B’) C’ = (AB+C)’
c) Commutazione di caso peggiore
A=1
B=commuta
C=0
Perché:
In tale situazione è massima la resistenza attraverso cui avviene la scarica (i MOS hanno
tutti la stessa W/L ed è quindi massima la resistenza di due MOS in serie) ed anche la
capacità parassita visto che tutte le capacità parassite introdotte dal nodo intermedio N2
sono da considerare.
12
LOGICA CMOS STATICA
d) Tempo di propagazione
Le capacità di diffusione dei pmos sono tutte uguali fra loro perché sono tutti i uguali i
perimetri e le aree dei MOS indicati nella netlist. Così per le capacità di diffusione degli
nmos.
Cdbp=Csbp=Keq(CJp*ADp+CJSWp*PDp)=(0.816*1+0.355*2)fF=0.763fF
Cdbn=Csbn=Keq(CJn*ADn+CJSWn*PDn)=(0.776*1+0.345*2)fF=0.733fF
Cgd1,2,4,5,6 = Cov*W = 0.138*W = 0.069fF
Cgs4 = 2/3Cox*WL + Cov*W=0.652fF (mos in saturazione)
Cgd3 = Cgs3 =1/2Cox*WL + Cov*W=0.506fF (mos in triodo)
Il contributo al carico dovuto alle capacità parassite dei vari nodi è:
Nodo 1:
Cpn1 = Cgs3+Csb3+2Cgd2+Cdb2+Cgd1+Cdb1= 3.002 fF
(Cgd2 pesato 2 per Miller)
Nodo N2:
Cpn2 = Cdb5 + Csb4 + 2Cgd5 + Cgs4 = 2.256 fF
(Cgd5 pesato 2 per Miller)
Nodo Z:
Cpz = Cdb3 + Cdb4 + Cdb6 + Cgd3 + Cgd4 + Cgd6 = 2.873 fF
Il carico offerto dall’inverter è pari a:
CL’=COX (WL)p + COX (WL)n
La L del p e del n è minima (0.5um) la Wn=0.5u e Wp=1u (dimensionamento ottimo
semplificato: Wp = 2Wn )
CL’ = COX ( Wp + Wn ) Lmin = 2.625 fF
CL = CL’ + Cpz = 5.498 fF
La resistenza di ciascun MOS sul percorso di scarica è:
Isatn = un COX W/L VDSATn (VDD – VTH –VDSATn/2) = 77 uA
Reqn = ¾ VDD / IDSATn = 32 kΩ
Applicando la formula di Elmore, il tempo di propagazione HL è dunque:
tpHL = 0.69 (R5Cpn2 + (R5+R4) CL + (R5+R4) Cpn1)
tpHL = 0.69 Reqn ( Cpn2 + 2 CL + 2 Cpn1) = 425.17 psec
13
LOGICA CMOS STATICA
ESERCIZIO 4
Avendo a disposizione un processo CMOS 0.5 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
2
75e-6 (A/V )
25e-6 (A/V2)
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito che corrisponde al layout in Figura 1 ed identificare la porta
logica implementata. (N.B. NPLUS è la zona attiva N o diffusione N, PPLUS la zona
attiva P o diffusione P)
b) Dire quale commutazione di un singolo segnale di ingresso costituisce il caso
peggiore per la commutazione HL e spiegare brevemente perché
c) Calcolare il tpHL nella commutazione identificata al caso precedente nel caso in cui il
carico sia costituito da un inverter pseudo-NMOS (lo nMOS del carico ha la stessa
dimensione di quelli della porta di Figura 1, mentre il pMOS ha W=1u L=2u)
d) Scrivere la netlist spice per la verifica del tempo di propagazione calcolato (nello
scrivere la netlist sono sufficienti le W e L dei MOS senza gli altri parametri
geometrici)
14
LOGICA CMOS STATICA
10λ = 2.5µm
Figura 1
15
LOGICA CMOS STATICA
a) Circuito e funzionalità
Il circuito implementa evidentemente una NAND a 4 ingressi in tecnologia CMOS statico.
b) Commutazione di caso peggiore
Il caso peggiore è ovviamente quello in cui A commuta da 0 a 1 mentre B=C=D=1. In
questo caso infatti è massima la resistenza (la serie dei 4 nMOS) e la capacità parassita
(che comprende tutte le capacità parassite dei nodi intermedi fra il drain di M8 e l’uscita).
16
LOGICA CMOS STATICA
c) Tempo di propagazione
Formula di Elmore (tenendo conto che le resistenze sono tutte uguali poiché sono uguali
gli NMOS)
tpHL= 0.69 Req8 ( Cpn3 + 2Cpn2 + 3Cpn1 + 4CL)
Per prima cosa è necessario calcolare tutte le dimensioni dei MOS, ricavandole
direttamente dal layout, tenendo conto che per i transistor che condividono una diffusione
(perché hanno in comune i due drain come M1 e M2 oppure drain e source come M8 e
M7) si considera metà di area e perimetro appartenente ad un MOS e metà all’altro:
Parametri geometrici e capacità parassite dei MOS
PMOS
NOME
W
L
AD
PD
AS
PS
CDB
CSB
CGD
CGS
Isat
M1
3.00E-06 5.00E-07 3.00E-12 2.00E-06 5.25E-12 6.50E-06 1.58E-15 3.30E-15 4.14E-16 3.914E-15 5.37E-04
M2
3.00E-06 5.00E-07 3.00E-12 2.00E-06 3.00E-12 2.00E-06 1.58E-15 1.58E-15 4.14E-16 3.914E-15 5.37E-04
M3
3.00E-06 5.00E-07 3.00E-12 2.00E-06 3.00E-12 2.00E-06 1.58E-15 1.58E-15 4.14E-16 3.914E-15 5.37E-04
M4
3.00E-06 5.00E-07 3.00E-12 2.00E-06 5.25E-12 6.50E-06 1.58E-15 3.30E-15 4.14E-16 3.914E-15 5.37E-04
NMOS
NOME
W
L
AD
PD
AS
PS
CDB
CSB
CGD
CGS
Isat
M5
1.00E-06 5.00E-07 2.75E-12 6.00E-06 3.75E-13 7.50E-07 2.10E-15 2.75E-16 1.38E-16 1.304E-15 5.37E-04
M6
1.00E-06 5.00E-07 3.75E-13 7.50E-07 3.75E-13 7.50E-07 2.75E-16 2.75E-16 1.38E-16 1.304E-15 5.37E-04
M7
1.00E-06 5.00E-07 3.75E-13 7.50E-07 3.75E-13 7.50E-07 2.75E-16 2.75E-16 1.38E-16 1.304E-15 5.37E-04
M8
1.00E-06 5.00E-07 3.75E-13 7.50E-07 2.75E-12 6.00E-06 2.75E-16 2.10E-15 1.38E-16 1.304E-15 5.37E-04
Corrente di ciascun NMOS:
Isat8 = Kn VDSATn (VDD-VTH-VDSATn/2) = 154 uA
Req8 = Req7 = Req6 = Req5 = ¾ VD/Isat8 = 16 kΩ
Capacità di carico (la sola capacità di ossido del nMOS perché il carico è una porta
pseudo-NMOS):
CL’= 3.5 * W * L = 1.75 fF
Cgs5,6,7 = 2/3Cox*Wn*L + Cov*Wn
Cgd5,6,7,8 = Cov*Wn
Cgs1,2,3,4 = Cov*Wp
Capacità parassite della porta.
Nodo N1:
Cpn1 = Cdb6+Csb5+Cgd6+Cgs5 = 1.992 fF
Nodo N2:
Cpn2 = Cdb7+Csb6+Cgd7+Cgs6 = 1.992 fF
Nodo N3:
Cpn3 = Cdb8+Csb7+2Cgd8+Cgs7 = 2.13 fF (Cgd8 pesata 2 per effetto Miller)
Nodo Z:
Cpz = CL’+Cdb5+Cdb1+Cdb2+Cdb3+Cdb4+2Cgd1+Cgd2+Cgd3+Cgd4+Cgd5 = 12.378 fF
(Cgd1 pesata 2 per effetto Miller)
Le capacità da prendere in considerazione sono evidenziate nella tabella:
tpHL = 680 psec
17
LOGICA CMOS STATICA
d) Netlist
** Porta NAND a 4 ingressi, CMOS
** Inclusione modelli dei MOS
.include models.mod
** Netlist
* Porta
m1 Z A vdd vdd p1 w=3u l=0.5u
m2 Z B vdd vdd p1 w=3u l=0.5u
m3 Z C vdd vdd p1 w=3u l=0.5u
m4 Z D vdd vdd p1 w=3u l=0.5u
m5 Z D 1 0 n1 w=1u l=0.5u
m6 1 C 2 0 n1 w=1u l=0.5u
m7 2 B 3 0 n1 w=1u l=0.5u
m8 3 A 0 0 n1 w=1u l=0.5u
* Carico
m9 Z2 0 vdd vdd p1 w=1u l=2u
m10 Z2 Z 0 0 n1 w=1u l=0.5u
** Generatori
vdd vdd 0 3.3
va A 0 pulse 0 3.3 5n 10p 10p 5n 10n
vb B 0 dc 3.3
vc C 0 dc 3.3
vd D 0 dc 3.3
** Analisi
.tran 10p 12n
.end
18
LOGICA CMOS STATICA
ESERCIZIO 5
Avendo a disposizione un processo CMOS 0.5 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
75e-6 (A/V2)
25e-6 (A/V2)
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.816 (fF/µm2)
0.776 (fF/µm )
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito che implementa la funzione logica:
Z=[(A+B+C)(A+D+E)(A+F)]'
con il minor numero di transistor possibile ipotizzando che F sia un segnale critico.
b) Dimensionare il circuito in modo ottimo (tempi di propagazione uguali e VTC
simmetrica, dimensionamento NON semplificato, considerare Wmin=0.5um)
c) Dire quale è la commutazione di caso peggiore e spiegare brevemente perché.
d) Supponendo che ogni capacità di diffusione (di drain o di source, sia dei pmos che
degli nmos) valga 1fF calcolare il tpHL nella commutazione identificata al caso
precedente nel caso in cui il carico sia costituito da un inverter realizzato in logica
dinamica (i cui nmos hanno tutti W=1u e L=0.5u ed i pmos W=3u L=0.5u)
19
LOGICA CMOS STATICA
a) Circuito
Z’=(A+B+C)(A+D+E)(A+F)=(A+(B+C)(D+E))(A+F)=A+(B+C)(D+E)F
Il transistor pilotato da F deve essere il più vicino all’uscita, in tal modo quando commuta
deve pilotare la sola capacità di carico e non le capacità parassite dei nodi che si trovano
più vicini ad un’alimentazione.
b) Dimensionamento
Con le solite regole del dimensionamento ottimo si impone che tutti i possibili percorsi di
scarica siano equivalenti ad un singolo nMOS a dimensione minima e tutti i percorsi di
carica siano equivalenti ad un solo pMOS con dimensione un/up=3 (essendo
VDSATp=VDSATn). Quindi:
W1=Wmin
W2=W3=W4=W5=W6=3 Wmin
W11=W12=6 Wmin
W7=W8=W9=W10=12 Wmin
20
LOGICA CMOS STATICA
c) Commutazione di caso peggiore
La commutazione di caso peggiore nel caso HL è data da:
A=0, B=1, C=0, D:0->1, E=0, F=1;
infatti tutti i percorsi di scarica (che non contengano percorsi in parallelo) hanno stessa
resistenza (per via del dimensionamento ottimo) e la capacità parassita è massima perché
i nodi interni N2, N3, N4 e N5 sono sul percorso di scarica.
Nel caso LH:
A:1->0, B=1, C=0, D=0, E=0, F=1;
d) Tempo di propagazione
Formula di Elmore (tutti i MOS sul percorso hanno stessa Req)
tpHL= 0.69 Req(Cpn5 + 2Cpn4 + 3CL + 3Cpn2 + 3Cpn3)
Corrente del nMOS equivalente alla serie dei 3 MOS (supponendo che Wmin=Lmin=0.5u):
Isat2= Kn VDSATn (VDD-VTH-VDSATn/2) = 231 uA
Req = Req2 = Req3 = Req4 = ¾ VDD/Isat2 = 11 kΩ
Capacità di carico (la sola capacità di ossido del nMOS perché il carico è una porta in
logica dinamica):
CL’= 3.5 * W * L = 1.75fF
Calcoli capacità
Cgd2 = Cgd3 = Cgd4 = Cgd5 = Cgd6 = Cgs5 = 0.207 fF
Cgd1 = 0.069 fF
Cgd11 = 0.414 fF
Cgd7 = Cgs7 = Cgd9 = Cgs9 = ½ Cox*WL + Cov*W = 6.078 fF (mos in triodo)
Cgd8 = Cgd10 = 0.828 fF (mos in cut-off)
Cgs4 = Cgs3 =2/3 Cox*WL + Cov*W = 1.957 fF (mos in saturazione)
Capacità parassite della porta:
Nodo N2:
Cpn2 = Cdb8+Csb7+2*Cgd8+Cgs7 = 9.734 fF
Nodo N3:
Cpn3 = Cdb10+Csb9+Cgd10+Cgs9 = 8.906 fF
Nodo N4:
Cpn4 = Cdb3+Cdb5+Csb4+Cgd3+Cgd5+Cgs4 = 5.371 fF
Nodo N5:
Cpn5 = Cdb2+Cdb6 +Csb3+Csb5+2*Cgd2+Cgd6+Cgs3+Cgs5 = 6.785 fF
Nodo Z:
Cpz = CL’+Cdb7+Cdb9+Cdb11+Cdb1+Cdb4+Cgd7+Cgd9+Cgd11+Cgd1+Cgd4 =
= 19.596 fF
tpHL = 1 nsec
21
LOGICA CMOS STATICA
ESERCIZIO 6
Dato il processo CMOS 0.5um con i parametri definiti di seguito:
Processo CMOS 0.5µm – VDD=3.3V
NMOS
0.6 (V)
VTH
0.4 (V)
VDSAT
75e-6 (A/V2)
µCOX
COX
3.5 (fF/µm2)
COV
0.1 (fF/µm)
CJ
1 (fF/µm2)
CJSW
0.5 (fF/µm)
0.5
Keq
PMOS
0.6 (V)
0.4 (V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Disegnare lo schematico del circuito che implementa la funzione Z=A’B’+C’D’E’F’ in
logica CMOS statica (dimensionamento ottimo NON semplificato)
b) Determinare il tempo di propagazione di caso peggiore HL, spiegando bene i
passaggi, supponendo che ogni diffusione sia un rettangolo largo quanto il MOS e
lungo 1um e che il carico sia costituito da una porta NAND a 3 ingressi a
dimensionamento ottimo (non semplificato)
c) Scrivere la netlist spice per la simulazione del tempo di propagazione calcolato al
punto precedente
d) Calcolare la potenza dinamica dissipata dal circuito, nel caso che la porta sia
operata alla massima velocità possibile (considerare la sola potenza dissipata dalla
porta Z, non quella della carico)
22
LOGICA CMOS STATICA
a) Schematico (SCRIVERE IL NOME AFFIANCO A CIASCUN TRANSISTOR)
W1=W2=6Wmin ; W3=W4=W5=W6=12Wmin; W7=W8=W9=W10=W11=W12=2Wmin
b) Calcolo del tp (con passaggi e spiegazioni) SCRIVERE IN STAMPATELLO
Per tutti i calcoli servono le dimensioni geometriche che sono le seguenti
PD [um]
AS [um2]
NOME
W [um]
L [um]
AD [um2]
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
M12
3
3
6
6
6
6
1
1
1
1
1
1
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
3
3
6
6
6
6
1
1
1
1
1
1
5
5
8
8
8
8
3
3
3
3
3
3
3
3
6
6
6
6
1
1
1
1
1
1
PS [um]
5
5
8
8
8
8
3
3
3
3
3
3
Il caso peggiore è dato da:
A=1, B=0, C:0→1, D=0, E=0,F=0
23
LOGICA CMOS STATICA
I valori di capacità calcolati con le formule:
CGS = 2/3 Cox WL + Cov W , CGD = COV W (mos in saturazione)
CGS = CGD = Cov W (mos in cut-off)
CGS = CGD = 1/2 Cox WL + Cov W (mos in triodo)
CDB (SB) = Keq ( CJ AD + CJSW PD)
sono riportati in tabella:
NOME
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
M12
CDB [F]
2.75f
2.75f
5f
5f
5f
5f
1.25f
1.25f
1.25f
1.25f
1.25f
1.25f
CSB [F]
2.75f
5f
5f
5f
1.25f
1.25f
CGD [F]
0.3f
2.925f
0.6f
5.85f
5.85f
5.85f
0.1f
0.1f
0.1f
0.1f
0.1f
0.1f
CGS [F]
2.925f
5.85f
5.85f
5.85f
1.26f
0.1f
Il tempo di propagazione HL di caso peggiore è dato dalla formula:
tpHL = 0.69 τHL
dove la costante di tempo τHL si ricava applicando il modello di Elmore al percorso in
esame:
τHL = R9 CpN1+(R9 + R7)CL+(R9 + R7)CpN2+ (R9 + R7)CpN3+(R9 + R7)CpN4+ (R9 + R7)CpN5
NODO N1:
CpN1 = Cgs7+Csb7+Cgs8+Csb8+2*Cgd9+Cdb9+Cgd10+Cdb10+Cgd11+Cdb11+
Cgd12+Cdb12 = 9.36fF
NODO N2:
CpN2 = Cgd1+Cdb1+Cgs2+Csb2 = 8.725fF
NODO N3:
CpN3 = Cgd5+Cdb5+Cgs6+Csb6 = 21.7fF
NODO N4:
CpN4 = Cgd4+Cdb4+Cgs5+Csb5 = 21.7fF
NODO N5:
CpN5 = 2*Cgd3+Cdb3+Cgs4+Csb4 = 17.05fF
NODO Z:
CpZ = Cgd7+Cdb7+ Cgd8+Cdb8+ Cgd2+Cdb2+ Cgd6+Cdb6 = 19.225fF
CL’ è la capacità dovuta al carico, costituito da una porta NAND a 3 ingressi a
dimensionamento ottimo non semplificato.
La rete PDN di tale porta è costituita da 3 nMOS in serie aventi W/L=3, mentre la PUN è
costituita da 3 pMOS in parallelo, aventi W/L=3.
24
LOGICA CMOS STATICA
CL’=CGp+CGn=Cox(WpLp+WnLn)=3.5*(1.5*0.5+1.5*0.5)=5.25fF
CL = CL’ + CpZ = 24.475fF
R7 = 3/4 (VDD/ Isat7)
R9 = 3/4 (VDD/ Isat9)
Le correnti Isat7 e Isat9 sono uguali perché i due nmos hanno la stessa dimensione:
Isat7 = Isat9 = unCOX VDSAT W/L (VDD-VTH-VDSAT/2) = 150uA
R7 =R9 = Req =16.5KΩ
τHL = Req (CpN1 + 2 CL + 2 CpN2+ 2 CpN3+ 2 CpN4 + 2 CpN5) = 3nsec
tpHL = 0.69* τHL = 2.11nsec
25
LOGICA CMOS STATICA
c) Netlist spice (SCRIVERE GLI OPPORTUNI COMMENTI PER LA COMPRENSIONE
DEL CODICE)
* Simulazione gate
* Compito di ESD1
* -- Inclusione modelli –
* Il modello del pmos è P1
* mentre il modello del nmos è N1
.include models.dat
* -- Netlist –
* Gate
M1 n1 A vdd vdd p1 W=3u L=0.5u AD=3p PD=5u
M2 Z B n1 vdd p1 W=3u L=0.5u AD=3p PD=5u AS=3p PS=5u
M3 n2 C vdd vdd p1 W=6u L=0.5u AD=6p PD=8u
M4 n3 D n2 vdd p1 W=6u L=0.5u AD=6p PD=8u AS=6p PS=8u
M5 n4 E n3 vdd p1 W=6u L=0.5u AD=6p PD=8u AS=6p PS=8u
M6 Z F n4 vdd p1 W=6u L=0.5u AD=6p PD=8u AS=6p PS=8u
M7 Z A n5 0 n1 W=1u L=0.5u AD=1p PD=3u AS=1p PS=3u
M8 Z B n5 0 n1 W=1u L=0.5u AD=1p PD=3u AS=1p PS=3u
M9 n5 C 0 0 n1 W=1u L=0.5u AD=1p PD=3u
M10 n5 D 0 0 n1 W=1u L=0.5u AD=1p PD=3u
M11 n5 E 0 0 n1 W=1u L=0.5u AD=1p PD=3u
M12 n5 F 0 0 n1 W=1u L=0.5u AD=1p PD=3u
* -- Generatori –
vdd vdd 0 3.3
va A 0 3.3
vb B 0 0
vc C 0 dc 0 pulse 0 3.3 1n 1p 1p 1n 2n
vd D 0 0
ve E 0 0
vf F 0 0
* -- Analisi –
.tran 1p 2n
.end
d) Potenza dinamica dissipata (SCRIVERE IN STAMPATELLO)
La potenza dissipata si ottiene dividendo l’energia totale dissipata in una doppia transizione
per il tempo impiegato per la transizione stessa.
Pdin=CL*Vdd2*f= 0.38mW
Questo se la porta è pilotata alla frequenza massima.
26
LOGICA CMOS STATICA
ESERCIZIO 7
Dato un processo CMOS, con parametri seguenti, ed il circuito in Figura 1:
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Keq
Processo CMOS 0.4µm – VDD=3.3V
NMOS
0.6 (V)
0.4 (V)
75e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
PMOS
0.6 (V)
0.4(V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Ricavare la tabella di verità (con spiegazione) e dire che tipo di porta implementa.
b) Dimensionare i transistor in modo che rete di pull-up e di pull-down siano entrambe
equivalenti ad un nMOS con W/L=1
c) Calcolare il tempo di propagazione HL nel caso in cui EN=1 ed il segnale A
commuta supponendo di avere come carico un inverter pseudo-NMOS (con
Wn=Ln=0.4um, Wp=0.4um, Lp=2um) e che tutte le diffusioni dei transistor abbiamo
come area un rettangolo con un lato pari alla W del transistor e l’altro lato pari a
0.4um sapendo inoltre che MP1 e MP2 (così come MN2 e MN1) hanno
rispettivamente drain e source ricavati dalla stessa diffusione.
d) Fare un esempio di applicazione della porta in questione
e) Dare una descrizione verilog della porta
N1
N2
Figura 1
27
LOGICA CMOS STATICA
a) Tabella di verità e porta logica implementata dal circuito
EN A OUT
0 0 Z
0 1 Z
1 0 1 (A’)
1 1 0 (A’)
Perché:
Quando il segnale EN è basso MN1 e MP2 sono interdetti entrambi quindi sia il PUN che il
PDN sono aperti e l’uscita si trova in alta impedenza (non connessa né a massa né
all’alimentazione). Quando EN diventa 1 la porta si riduce ad un semplice inverter (MN1 e
MP2 si chiudono) e l’uscita è quindi A’
La tabella è quella di una porta:
Inverter tri-state
b) Dimensionamento (scrivere anche i passaggi intermedi del procedimento)
Nella rete di pull-down ci sono 2 MOS in serie, perché siano globalmente equivalenti ad 1
transistor a dimensione minima bisogna che singolarmente abbiano W doppia del
transistor equivalente. Analogo discorso per il pull-up ma in questo caso bisogna anche
considerare che i pMOS hanno minore mobilità e bisogna tenerne conto al momento del
dimensionamento, quindi:
WMN1 = WMN2 = 2Wmin = 2*0.4um = 0.8um
LMN1 = LMN2 = Lmin = 0.4um
WMP1 = WMP2 = 2 un/up Wmin = 2*3*0.4um = 2.4um
LMP1 = LMP2 = Lmin = 0.4um
28
LOGICA CMOS STATICA
c) Tempo di propagazione (scrivere anche i passaggi intermedi del procedimento)
La commutazione HL dovuta ad A avviene con A:0->1 .
Per il calcolo del tempo di propagazione usiamo l’approssimazione del primo ordine:
tpHL=0.69τHL
dove τHL è la costante di Elmore del percorso di scarica, ovvero
τHL=RMN2CN2+(RMN2+RMN1)*CL+(RMN2+RMN1)*CN1
dove CN2 è la capacità associata al nodo 2, CN1 è la capacità associata al nodo 1, mentre
CL è la capacità complessiva presente al nodo d’uscita. Il nodo N1 deve essere
considerato perché MP2 è acceso e dunque (EN=1 -> EN’=0) il nodo N1 è connesso
all’uscita e subisce la stessa transizione dell’uscita. Durante la commutazione, il transistor
MN1 è in saturazione (attraversato dalla corrente di scarica e con VDS elevata) mentre il
transitor MP2 è in triodo (perché nodo N1 e OUT sono cortocircuitati).
Capacità di gate-drain
CGDMN1 = CGDMN2 = COV WMN1 = 0.1 * 0.8 fF = 0.08 fF
CGDMP1 = COV WMP1 = 0.1 * 2.4 fF = 0.24 fF (MP1 è in cut-off)
CGDMP2 = COV WMP2 + ½ COX WMP2LMP2 = 0.1 * 2.4 fF = 1.92 fF (MP2 è in triodo)
Capacità di gate-source
CGSMN1 = COV WMN1 + 2/3 COX WMN1LMN1 = 0.64 fF (MN1 è in saturazione)
CGSMP2 = COV WMP2 + ½ COX WMP2LMP2 = 1.92 fF (MP2 è in triodo)
Aree e perimetri
PDMN1 = (0.4 + 0.8 + 0.4)um = 1.6 um
ADMN1 = 0.4 * 0.8 um2 = 0.32 um2
ASMN1 = ADMN2 = (0.4 * 0.8)/2 um2 = 0.16 um2 PSMN1 = PDMN2 = (0.4 + 0.4)/2 um = 0.4 um
ADMP2 = 0.4 * 2.4 um2 = 0.96 um2
PDMP2 = (0.4 + 2.4 + 0.4)um = 3.2 um
ASMP2 = ADMP1 = (0.4 * 2.4)/2 um2 = 0.48 um2 PSMP2 = PDMP1 = (0.4 + 0.4)/2 um = 0.4 um
Capacità di diffusione
CDBMN1 = Keq (Cj AD + CJSW PD) = 0.56fF
CSBMN1 = CDBMN2 = 0.18fF
CDBMP2 = Keq (Cj AD + CJSW PD) = 1.28fF
CSBMP2 = CDBMP1 = 0.34fF
Capacità di carico (dovuta all’inverter pseudo-NMOS)
CL’ = COX WL = 0.4*0.4*3.5 fF = 0.56fF
Calcolando quindi i valori delle capacità e delle resistenze che rientrano nel calcolo della
costante di Elmore si ottiene
CL =CL’+ CDBMN1 + CDBMP2 + CGDMN1 + CGDMP2 = 4.4 fF
CN2 = CDBMN2 + CSBMN1 + 2*CGDMN2 + CGSMN1 = 0.6fF
CN1 = CDBMP1 + CSBMP2 + 2*CGDMP1 + CGSMP2 = 3.08fF
RMN2=RMN1=16.5 KΩ
τHL=RMN2CN2+(RMN2+RMN1)*CL +(RMN2+RMN1)*CN1= 257psec
tpHL = 0.69τHL = 177psec
29
LOGICA CMOS STATICA
d) Esempio di applicazione
La porta in questione può essere utilizzata quando bisogna pilotare un bus bidirezionale a
cui debbano potere accedere due dispositivi in scrittura (in momenti diversi). Per fare
questo basterà abilitare il primo dispositivo (tramite il segnale EN) e disabilitare il secondo
o viceversa.
e) Modulo verilog
module tri_inv(A,EN,Z);
input A,EN;
output Z;
Z=(EN)?(~A):1’bz;
endmodule
30
LOGICA PSEUDO-NMOS
ESERCIZIO 8
Avendo a disposizione un processo CMOS 0.6 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.6µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
2
75e-6 (A/V )
25e-6 (A/V2)
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito che implementa una NOR pseudo-NMOS a 3 ingressi (A, B, C)
b) Supponendo che tutti gli NMOS del pull-down abbiano W/L=1.2/0.6 calcolare il W/L
del transistor di pull-up necessario per avere al massimo VOL=0.1V (utilizzare le
espressioni delle correnti dei MOS, nell’espressione della corrente del MOS in
triodo trascurare il termine quadratico di VDS). Fissare infine la W e la L sapendo
che la minima W realizzabile è 1.2um
c) Dire in quali condizioni si ha consumo di potenza statica e calcolarne il valore
d) Calcolare il tpHL e tpLH nel caso in cui uno solo degli ingressi commuti e che il carico
sia equivalente ad una capacità di 4fF, trascurando tutte le capacità parassite
tranne quelle legate ai gate (CGD e CGS)
e) Scrivere la netlist spice per la verifica dei tempi di propagazione al variare
dell’ingresso A con B=0 e C=0
31
LOGICA PSEUDO-NMOS
a) Circuito
b) Dimensionamento pull-up
Il pull-up è costituito dall’unico PMOS (M1) sempre acceso. La tensione nominale bassa
deve essere pari a 0.1V quando anche solo uno dei MOS del pull-down è acceso. Per
dimensionare M1 si impone, come al solito, l’uguaglianza delle correnti del pull-up e del
pull-down (ovviamente nel caso che uno solo fra M2, M3 e M4 conduca):
IM1=IM2
Con uscita bassa M1 risulta essere in saturazione (VSD>|VDSATp|) e M2 in triodo
(VDS<VDSATn) quindi:
IM1= kp VDSATp ( VSG1 - VTH - VDSATp/2)
IM2= kn [ ( VGS2-VTH ) VDS2 - VDS22 / 2 ] ≈ kn ( VGS2 - VTH ) VDS2 (trascuriamo il termine
quadratico)
Ovviamente risulta:
VDS2=VOL
VGS2=VDD
VSG1=VDD
quindi
kp VDSATp ( VDD - VTH - VDSATp/2) = kn (VDD - VTH ) VOL
kp = kn [ (VDD - VTH ) / ( VDSATp ( VDD - VTH - VDSATp/2) ) ] VOL
kp = 0.26 kn
kp = µpCOX (W/L)p = 0.26 kn = 0.26 µnCOX (W/L)n= 1.56 µpCOX
32
LOGICA PSEUDO-NMOS
(W/L)p = 1.56
Se la W minima realizzabile è 1.2um, allora:
Lp = Wmin / 1.56 = 0.77 um
Ma le dimensioni possono scalare solo di multipli della metà della lunghezza minima
(0.3um) quindi la dimensione accettabile che più si avvicina al valore desiderato (per non
fare salire la VOL bisognerà che il W/L sia eventualmente inferiore a quello calcolato, non
superiore) è:
Lp = 0.9 um
c) Potenza statica
Si ha consumo di potenza statica quando l’uscita è bassa (una qualsiasi combinazione
degli ingressi per cui almeno un ingresso sia alto). In tale caso infatti la rete di pull-up e
pull-down conducono contemporaneamente e la corrente di cortocircuito (la corrente di
saturazione del pmos) causa consumo di potenza.
IM1sat = kp VDSATp (VDD - VTH - VDSATp/2) = 34uA
La potenza dissipata è:
Pstat=VDD IM1sat = 112uW
d) Tempi di propagazione
Il tempo di propagazione LH dipende interamente dalla resistenza equivalente del pmos
M1 (dalla sua corrente di saturazione) e dalla capacità di carico attraverso la formula del
modello di Elmore (il percorso di carica è costituito da un solo nodo, quello di uscita).
Per calcolare la capacità di carico, come richiede il testo, terremo conto solo delle capacità
di overlap (non abbiamo informazioni sulle dimensioni delle diffusioni quindi non avremmo
le informazioni sufficienti per calcolare gli altri contributi).
CGDn=COV Wn=0.1656 fF
CGDp=COV Wp=0.1656 fF
ovviamente la CGD del nmos che commuta sarà contata per 2 per effetto Miller
CL=CL’+4CGDn+CGDp= 4.82fF
Reqp = ¾ VDD / IDSATp = 73kΩ
tpLH = 0.69 CLReqp = 252 psec
Il tempo di propagazione HL nel caso in cui commuti un solo nmos dipende dalla costante
RC. La capacità di carico è evidentemente la stessa del caso precedente:
IM2sat = kn VDSATn (VDD - VTH - VDSATn/2) = 154 uA
Reqn = ¾ VDD / IDSATn = 16kΩ
tpHL=0.69 CLReqn = 53 psec
Tenendo conto della corrente di saturazione del pmos che si sottrae a quella del nmos si
otterrebbe
33
LOGICA PSEUDO-NMOS
tpHL = 0.69 CL [ ¾ VDD/ (IM2sat - IM1sat) ] = 68.5 psec
e) Netlist spice
*Netlist di simulazione tempo propagazione
* Modelli
.include models.dat
* Netlist
m1 z 0 vdd vdd p1 w=1.2u l=0.9u
m2 z a 0 0 n1 w=1.2u l=0.6u
m3 z b 0 0 n1 w=1.2u l=0.6u
m4 z c 0 0 n1 w=1.2u l=0.6u
cl z 0 4f
* Generatori
vdd vdd 0 3.3
va a 0 pulse 3.3 0 5n 1p 1p 5n 10n
vb b 0 dc 0
vc c 0 dc 0
* Analisi
.tran 1p 15n
.end
34
LOGICA PSEUDO-NMOS
ESERCIZIO 9
Avendo a disposizione un processo CMOS 0.5 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
100e-6 (A/V2)
25e-6 (A/V2)
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito che implementa una porta NOR a 4 ingressi in logica pseudoNMOS. Dimensionare tutti gli NMOS a dimensione minima ed il PMOS con W/L=0.5
sapendo che Wmin=Lmin
b) Calcolare VOL nel caso in cui uno solo dei 4 ingressi sia pari a 1 e nel caso che tutti
e 4 gli ingressi siano pari a 1
c) Calcolare il tempo di propagazione tpHL nel caso in cui commuti uno solo degli
ingressi (A commuta, B=C=D=0) sapendo che il carico della porta è costituito da un
inverter CMOS a dimensionamento ottimo. Per calcolare le capacità di diffusione
supporre che tutti i drain ed i source abbiano forma rettangolare con un lato pari alla
W del MOS e l’altro pari a 1um
d) Calcolare la potenza statica dissipata quando l’uscita è pari a 0
e) Scrivere la netlist spice per la verifica del tempo di propagazione calcolato.
35
LOGICA PSEUDO-NMOS
a) Circuito
I MOS da M2 a M5 hanno tutti W=0.5um L=0.5um
Il pmos M1 ha W=0.5um L=1um (in modo che W/L=0.5 sapendo che W non può essere
inferiore a 0.5um)
b) Calcolo di VOL
Quando l’uscita è bassa (VOL) il PMOS è in saturazione e gli NMOS in triodo:
Idp = kp VDSATp (VDD-VTH-VDSATp/2)
Idn = kn[(VDD-VTH)VOL-VOL2/2] ≈kn(VDD-VTH)VOL (trascurando il termine quadratico)
Se uno solo degli NMOS è acceso:
Idp = Idn
kp VDSATp (VDD-VTH-VDSATp/2) = kn(VDD-VTH)VOL
VOL = (kp VDSATp (VDD-VTH-VDSATp/2)) / (kn (VDD-VTH))=0.05V
Se tutti e quattro gli NMOS sono accesi:
Idp = 4Idn
kp VDSATp (VDD-VTH-VDSATp/2) = 4kn(VDD-VTH)VOL
VOL = (kp VDSATp (VDD-VTH-VDSATp/2)) / (4kn (VDD-VTH))=0.012V
36
LOGICA PSEUDO-NMOS
c) Tempo di propagazione HL
tpHL= 0.69*Reqn*CL nel caso in cui si trascuri la corrente del PMOS
Calcolo di Idn:
Isatn = kn VDSATn (VDD-VTH-VDSATn/2) = 102.5uA
Reqn = ¾ VDD/Isatn = 24 kΩ
Calcolo di CL:
Carico:
CL’=COX (WnLn+WpLp)=COX Lmin (Wn+Wp) = 5 COX Wmin Lmin=4.375 fF
Contributi capacità parassite dei nodi coinvolti nella transizione:
L’unico nodo presente è Z.
Nodo Z:
Cpz=Cdb1+Cdb2+Cdb3+Cdb4+Cdb5+Cgd1+2Cgd2+Cgd3+Cgd4+Cgd5
(Cgd1 contato 2 per effetto Miller)
Se il PMOS è a dimensione minima ed ha W/L=0.5 allora W=Wmin, L=2Lmin, l’area ed il
perimetro delle diffusioni risulta quindi essere:
Adp=Asp=(0.5u*1u)=0.5um2
Pdp=Psp=1u+1u+0.5u=2.5um
Cdb1=0.5(0.816*0.5+0.355*2.5)fF=0.648fF
Cgd1=0.138*0.5 fF=0.069 fF
NMOS:
Gli NMOS sono a dimensione minima quindi W=L=0.5u
Adn=Asn=(0.5u*1u)=0.5um2
Pdn=Psn=1u+1u+0.5u=2.5um
Cdb2=Cdb3=Cdb4=Cdb5=0.5(0.776*0.5+0.345*2.5)fF=0.625fF
Cgd2=Cgd3=Cgd4=Cgd5=0.138*0.5fF=0.069fF
CL = CL’+4Cdb2+5Cgd2+Cdb1+Cgd1 = 7.937 fF
tpHL = 0.69 (CL Reqn) = 131 psec
37
LOGICA PSEUDO-NMOS
d) Potenza statica
La potenza statica è data da:
Pstat = VDD IDD
quando Vout=VOL la corrente è la corrente di saturazione del PMOS
Idp = kp VDSATp (VDD-VTH-VDSATp/2) = 12.8 uA
Pstat = 42 uW
e) Netlist
* Simulazione tempi di propagazione
* Inclusione modelli
.include models.dat
* Netlist
m1 Z 0 vdd vdd p1 w=0.5u l=1u
m2 Z A 0 0 n1 w=0.5u l=0.5u
m3 Z B 0 0 n1 w=0.5u l=0.5u
m4 Z C 0 0 n1 w=0.5u l=0.5u
m5 Z D 0 0 n1 w=0.5u l=0.5u
*Carico
m6 Z2 Z vdd vdd p1 w=2u l=0.5u
m7 Z2 Z 0 0 n1 W=0.5u l=0.5u
vdd vdd 0 3.3
va A 0 dc 0 pulse 0 3.3 2n 1p 1p 2n 4n
vb B 0 0
vc C 0 0
vd D 0 0
.tran 1p 6n
.end
38
LOGICA PSEUDO-NMOS
ESERCIZIO 10
Dato il layout di Figura 1 ed un processo CMOS con parametri:
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Keq
Processo CMOS 0.4µm – VDD=3.3V
NMOS
0.6 (V)
0.4 (V)
75e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
PMOS
0.6 (V)
0.4 (V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Disegnare il circuito corrispondente (per chiarezza di disegno il metal1 non è
colorato internamente, ma è rappresentato da un riquadro vuoto, seguitene i
contorni per capire le interconnessioni).
b) Trovare la funzionalità logica implementata
c) Dire a quale famiglia logica appartiene la porta
d) Dire quale è la commutazione HL di caso peggiore e spiegare dettagliatamente
perché.
e) Determinare le dimensioni (W e L) di tutti i MOS, e solo le capacità parassite (ed
eventualmente aree e perimetri di diffusioni necessari per calcolarle) necessarie al
calcolo del tempo di propagazione per la commutazione individuata al punto d). Si
richiede di indicare come nome dei transistor Mxxx, dove xxx è il nome del segnale
che ne pilota il gate.
f) Calcolare il tempo di propagazione per la commutazione al punto d) nel caso che il
carico sia un inverter con transistor di dimensioni: Wn=1um, Ln=0.4um, Wp=3um
Lp=0.4um. Indicare di quali capacità parassite si tiene conto.
g) Scrivere la netlist spice corrispondente per la verifica del tempo di propagazione
calcolato al punto e)
39
LOGICA PSEUDO-NMOS
1 QUADRATO = 0.2um
40
LOGICA PSEUDO-NMOS
a) Circuito (dare a ciascun MOS il nome Mxxx, dove xxx è il segnale che ne pilota il gate)
B
N2
N1
N3
b) Funzione logica
Z=(AC+BEF)’
41
LOGICA PSEUDO-NMOS
c) Famiglia logica
PSEUDO-NMOS
d) Commutazione HL di caso peggiore
A
B
0
1
C
E
F
1
0->1
1
Perché:
La commutazione indicata è una delle commutazioni di caso peggiore poiché il fenomeno
di scarica avviene attraverso il percorso col maggior numero di transistor (tutti gli nMOS
hanno la stessa dimensione), e quindi è anche massimo il numero di capacità parassite
coinvolte.
e, f) Dimensioni e capacità (compilare solo le caselle richieste dal testo, cioè tutte le W e L
e solo le caselle necessarie al calcole delle capacità parassite individuate al punto d).
NOME
W
L
AD
AS
PD
PS
Cdb
Csb
Cgd
Cgs
MVSS
1.20E-06
1.20E-06
1.68E-12
1.68E-12
4.00E-06
4.00E-06
1.84E-15
1.20E-16
MA
2.00E-06
4.00E-07
6.00E-13
2.80E-12
6.00E-07
4.80E-06
4.50E-16
2.00E-16
MC
2.00E-06
4.00E-07
1.60E-12
6.00E-13
1.60E-06
6.00E-07
1.20E-15
4.50E-16
1.6E-15
1.6E-15
MB
2.00E-06
4.00E-07
1.60E-12
6.00E-13
1.60E-06
6.00E-07
1.20E-15
4.50E-16
2.00E-16
2.06E-15
MF
2.00E-06
4.00E-07
6.00E-13
6.00E-13
6.00E-07
6.00E-07
4.50E-16
4.50E-16
2.00E-16
2.06E-15
ME
2.00E-06
4.00E-07
6.00E-13
2.80E-12
6.00E-07
4.80E-06
4.50E-16
2.00E-16
f) Tempo di propagazione
Il tempo di propagazione si calcola con l’approssimazione del primo ordine
tpHL=0.69τHL
dove τHL è la costante di Elmore del percorso in esame:
τHL=REC3+(RE+RF)C2+(RE+RF+RB)CL +(RE+RF+RB)C1
τHL=R(C3+2C2+3CL +3C1) = 350.1 psec
con
RB = RE = RF = R= 6.6 KΩ
IDSAT= 375 µA
CL’= CoxWnLn + CoxWpLp= 5.6 fF
CL = CDB,B+CGD,B+CGD,VSS +CDB,C+CGD,C+CDB,VSS +CL’ = 4.76 fF + 5.6 fF = 11.76 fF
C2 = CDB,F+CGD,F+CSB,B+CGS,B = 3.16 fF
C3 = CDB,E+2*CGD,E+CSB,F+CGS,F = 3.36 fF
C1 = CDB,A+CGD,A+CSB,C+CGS,C = 2.7fF
tpHL= 241.6 psec
42
LOGICA PSEUDO-NMOS
d) Netlist spice
* Simulazione porta pseduo-NMOS
* -- Inclusione modelli –
.include models.dat
* -- Netlist –
* Porta pseudo-NMOS
MSS Z 0 vdd vdd p W=1.20U L=1.20U AD=1.68E-12 AS=1.68E-12 PD=4U PS=4U
MA Z A 1 0 n W=2U L=4E-07 AD=6E-13 AS=2.80E-12 PD=6E-07 PS=4.80U
MC 1 C 0 0 n W=2U L=4E-07 AD=1.60E-12 AS=6E-13 PD=1.60U PS=6E-07
MB Z B 2 0 n W=2U L=4E-07 AD=1.60E-12 AS=6E-13 PD=1.60U PS=6E-07
MF 2 F 3 0 n W=2U L=4E-07 AD=6E-13 AS=6E-13 PD=6E-07 PS=6E-07
ME 3 E 0 0 n W=2U L=4E-07 AD=6E-13 AS=2.80E-12 PD=6E-07 PS=4.80U
* Carico
MP Z2 Z vdd vdd p W=3u L=0.4u
MN Z2 Z 0 0 n W=1u L=0.4u
* Generatori
vdd vdd 0 dc 3.3
va A 0 dc 3.3
vc C 0 dc 0
vb B 0 dc 3.3
vf F 0 dc 3.3
ve E 0 pulse 0 3.3 1n 1p 1p 1n 2n
* -- Analisi –
.tran 1p 3n
.end
43
LOGICA PSEUDO-NMOS
ESERCIZIO 11
Dato un processo CMOS, con i parametri seguenti, si progetti una porta logica pseudoNMOS che implementi la funzione Z=(A+BC)’
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Keq
Processo CMOS 0.4µm – VDD=3.3V
NMOS
0.6 (V)
0.4 (V)
75e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
Wmin=0.4um
Lmin=0.4um
PMOS
0.6 (V)
0.4(V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Disegnare lo schematico della porta
b) Dimensionare i transistor in modo che ciascun percorso di scarica nella rete di pulldown, sia equivalente ad un nMOS con W/L=1 e che la potenza statica dissipata
quando l’uscita è bassa sia, al massimo, pari a 16.5 µW
c) Calcolare il valore di VOL nel caso peggiore
d) Calcolare il tempo di propagazione HL nel caso peggiore supponendo di avere
come carico un inverter a dimensionamento ottimo e che tutte le capacità di
diffusione di drain e source (per i pmos e gli nmos) siano pari a 1fF
e) Scrivere la netlist spice del circuito
44
LOGICA PSEUDO-NMOS
a) Circuito
45
LOGICA PSEUDO-NMOS
b) Dimensionamento (scrivere anche i passaggi intermedi del procedimento)
MA:
WA=0.4um
LA=0.4um
MB, MC (poiché sono in serie):
WB=WC=0.8um
LB=LC=0.4um
c) VOL di caso peggiore
La potenza dissipata quando l’uscita è bassa è determinata dalla corrente di saturazione
del PMOS (che è acceso ed in saturazione, mentre la rete di pull-down risulta equivalente
ad un NMOS in triodo):
Pstat = VDD * Ipsat
Sapendo che Pstat=16.5uW e VDD=3.3V possiamo ricavare Ipsat:
Ipsat = Pstat / VDD = 5uA
Ora bisogna imporre che la corrente del PMOS in saturazione sia uguale al valore
ottenuto:
Ipsat = upCOX (W/L)p [(VDD-VTH)VDSAT-VDSAT2/2]
(W/L)p = Ipsat / {upCOX [(VDD-VTH)VDSAT-VDSAT2/2]}= 0.2
Per minimizzare l’area si considera W=Wmin e si dimensiona opportunamente L:
Wp = Wmin = 0.4um
Lp = Wp/0.2 = 2um
Conoscendo tutte le dimensioni dei transistor è possibile ricavare la VOL nel caso
peggiore, quando cioè si abbia un solo percorso (dei due possibili) chiuso verso massa nel
PDN.
In tale situazione il PMOS è appunto in saturazione (Ipsat=5uA come visto sopra) e lo
NMOS equivalente (che abbiamo già dimensionato al punto (b) in modo che avesse
W/L=1) è in triodo, dunque:
Intriode = Ipsat = 5uA
unCOX (W/L) ( (VDD-VTH)VOL –VOL2/2) = Ipsat
risolvendo l’equazione di secondo grado:
VOL = 0.025 V
46
LOGICA PSEUDO-NMOS
d) Tempo di propagazione
Il carico è dato da un inverter a dimensionamento ottimo quindi con:
Wn = Ln = Lp = 0.4um Wp = 3Wn = 1.2um
CL’ = COX (WnLn + WpLp) = 2.24 fF
Il caso peggiore si ha quando il fenomeno di scarica avviene attraverso il percorso dato
dalla serie dei due transistor, infatti in questo caso è massima la capacità parassita
coinvolta nella commutazione:
A=0, B=1, C:0->1
Per il calcolo del tempo di propagazione usiamo il modello approssimato al primo ordine:
tpHL=0.69τHL
dove τHL è la costante di Elmore del percorso di scarica e risulta pari a
τHL=RCCN1+ (RC+RB)CL
con CL=capacità complessiva presente al nodo d’uscita
CN1=capacità parassita presente al nodo intermedio tra i due MOS MB e MC.
RC=RB=resistenze equivalenti dei due MOS MB e MC.
Capacità di overlap:
CGDA = COV WA = 0.04 fF
CGDB = CGDC = COV W = 0.08 fF
CGSB = 2/3COXWBLB + COV WB = 0.82 fF
CGDVSS = COV WVSS = 0.04 fF
CL = CL’ +CDBA + CDBB + CDBVSS + CGDA + CGDB + CGDVSS = 5.4 fF
CN1= CDBC + CSBB + 2*CGDC + CGSB = 2.98 fF
RC=RB= 16.5 KΩ
τHL=RCCN1+ (RC+RB)CL= 227.3psec
tpHL = 0.69τHL = 156.8psec
47
LOGICA PSEUDO-NMOS
e) Netlist spice
* Gate Z=(A+BC)’
* -- Inclusione modelli –
.include models.dat
* -- Netlist –
* Porta pseudo-NMOS
MSS Z 0 vdd vdd p W=0.4U L=7.4U
MA Z A 0 0 n W=0.4U L=0.4U
MB Z B N1 0 n W=0.8U L=0.4U
MC N1 C 0 0 n W=0.8U L=0.4U
* Carico
MP Z2 Z vdd vdd p W=1.2u L=0.4u
MN Z2 Z 0 0 n W=0.4u L=0.4u
* Generatori
vdd vdd 0 dc 3.3
va A 0 dc 0
vb B 0 dc 3.3
vc C 0 pulse 0 3.3 1n 1p 1p 1n 2n
* -- Analisi –
.tran 1p 3n
.end
48
LOGICA PSEUDO-NMOS
ESERCIZIO 12
Dato il listato spice in Figura e considerando un processo CMOS 0.5um con i parametri
definiti di seguito:
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.6 (V)
0.6 (V)
VTH
0.4 (V)
0.4 (V)
VDSAT
2
75e-6 (A/V )
25e-6 (A/V2)
µCOX
COX
3.5 (fF/µm2)
3.5 (fF/µm2)
COV
0.1 (fF/µm)
0.1 (fF/µm)
2
CJ
1 (fF/µm )
1 (fF/µm2)
CJSW
0.5 (fF/µm)
0.5 (fF/µm)
0.5
0.5
Keq
a)
b)
c)
d)
Disegnare lo schematico del circuito.
Determinare a che tipo di famiglia logica appartiene.
Determinare la funzione logica Z (è richiesta la sola espressione)
Determinare il tempo di propagazione HL spiegando bene i passaggi (caso
peggiore)
e) Fare lo schizzo di un possibile layout
* Simulazione gate digitale
* Si suppone che i nomi dei modelli definiti nel file models.dat
* siano N1 (nmos) e P1 (pmos)
.include models.dat
* -- Netlist -M0 Z 0 VDD VDD P1 W=0.5u L=2u
M1 Z A N1 0 N1 W=1u L=0.5u
M2 N1 B 0 0 N1 W=1u L=0.5u
M3 Z C N2 0 N1 W=0.5u L=0.5u
M4 N2 D 0 0 N1 W=0.5u L=0.5u
M5 Z E 0 0 N1 W=0.5u L=0.5u
CL Z 0 10f
* -- Generatori -VDD VDD 0 3.3
VA A 0 3.3
VB B 0 3.3
VC C 0 3.3
VD D 0 3.3
VE E 0 3.3
.end
49
LOGICA PSEUDO-NMOS
a) Schematico (SCRIVERE IL NOME AFFIANCO A CIASCUN TRANSISTOR)
b) Famiglia logica
PSEUDO-NMOS
c) Funzione Z
Z = (AB+CD+E)’
d) Calcolo del tp (con passaggi e spiegazioni) SCRIVERE IN STAMPATELLO
Il caso peggiore è quello della commutazione seguente:
A=1, B=0, C=1, D:0->1, E=0
In tal caso, infatti, è massima la capacità parassita da pilotare (sono coinvolti tutti i nodi
interni, N1 tramite M1 e N2 tramite M3, ed è anche minima la corrente di scarica (o
massima la resistenza) in quanto M3 e M4 sono in serie ed equivalenti ad un unico MOS
di lunghezza doppia, quindi sono equivalenti ad un MOS con W/L=0.5. Da notare che
questo non avviene nel caso in cui a condurre siano M1 e M2 perché tali MOS hanno
larghezza doppia rispetto agli altri quindi la loro serie risulta equivalente ad un MOS con
W/L=1 dunque più conduttivo.
Nei calcoli si trascura la capacità di diffusione dei vari nodi in quanto non sono state fornite
le aree di drain e source dei transistor e non ci sono quindi sufficienti informazioni per
valutare tali capacità parassite.
50
LOGICA PSEUDO-NMOS
Il tempo di propagazione si calcola come:
tpHL = 0.69 τHL
dove la costante di tempo τHL si ricava applicando il modello di Elmore al percorso
d’interesse:
τHL = CpN2 R4 + CL (R4 + R3) + CpN1 (R4 + R3)
Nodo N1 (su M4 effetto Miller):
CpN1 = CSB1+ CGS1+CDB2+CGD2 = CGS1+ CGD2 = 1.075 fF
Dove:
CGS1 = CGD1= ½ Cox*W1L1+Cov*W1 = 0.975fF (mos in triodo)
CGD2 = Cov*W2 = 0.1fF
Nodo N2 (su M4 effetto Miller):
CpN2 = CSB3+ CGS3+CDB4+2CGD4 =
= CGS3+2CGD4 = 0.733 fF
Dove:
CGS3 = 2/3Cox*W3L3+Cov*W3 = 0.633fF (mos in saturazione)
CGD4 = Cov*W4 = 0.05fF
Nodo Z:
CpZ = CDB1+CDB3+CDB5+CDB0+CGD1+CGD3+CGD5+CGD0 =
= CGD1+CGD3+CGD5+CGD0 = CGD1 + COV(W3+W5+W0) = 1.125 fF
CL = CL’ + CpZ = 11.125fF
Le resistenze equivalenti dei mos d’interesse sono:
R4 = 3/4 (VDD/ Isat4)
R3 = 3/4 (VDD/ Isat3)
Le correnti Isat4 e Isat3 sono uguali perché i due nmos hanno la stesse dimensioni:
Isat4 = Isat3 = unCOX VDSAT W4/L4 (VDD-VTH-VDSAT/2) = 75uA
R4 =R3 = 33KΩ
τHL = 829.3psec
tpHL = 572psec
51
LOGICA PSEUDO-NMOS
e) Possibile layout
52
LOGICA PSEUDO-NMOS
ESERCIZIO 13
Dato il layout in Figura e considerando un processo CMOS 0.5um con i parametri definiti
di seguito:
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.6 (V)
0.6 (V)
VTH
0.4 (V)
0.4 (V)
VDSAT
2
75e-6 (A/V )
25e-6 (A/V2)
µCOX
COX
3.5 (fF/µm2)
3.5 (fF/µm2)
COV
0.1 (fF/µm)
0.1 (fF/µm)
2
CJ
1 (fF/µm )
1 (fF/µm2)
CJSW
0.5 (fF/µm)
0.5 (fF/µm)
0.5
0.5
Keq
a)
b)
c)
d)
Disegnare lo schematico del circuito.
Determinare a che tipo di famiglia logica appartiene.
Determinare la funzione logica Z (è richiesta la sola espressione)
Determinare il tempo di propagazione HL spiegando bene i passaggi (caso
peggiore)
e) Scrivere la netlist spice per la simulazione del tempo di propagazione calcolato al
punto precedente
53
LOGICA PSEUDO-NMOS
FIGURA 1: LAYOUT DEL GATE
54
LOGICA PSEUDO-NMOS
a) Schematico (SCRIVERE NOME E DIMENSIONE AFFIANCO A CIASCUN MOS)
b) Famiglia logica
PSEUDO-NMOS
c) Funzione Z
Z = ( AB + CDE )’
d) Calcolo del tp (con passaggi e spiegazioni) SCRIVERE IN STAMPATELLO
Per tutti i calcoli servono le dimensioni geometriche che sono le seguenti:
NOME
M0
MA
MB
MC
MD
ME
W [um]
1.5
1
1
2
2
2
L [um]
2
0.5
0.5
0.5
0.5
0.5
AD [um2]
2.63
2.25
0.375
2.25
0.75
0.75
PD [um]
5
3
0.75
3
0.75
0.75
AS [um2]
PS [um]
0.375
0.75
0.75
0.75
0.75
0.75
Il caso peggiore è dato da:
A=1, B:0->1, C=1, D=1, E=0
In tal caso, infatti, tutte le capacità parassite del PDN sono presenti ed inoltre il percorso di
scarica è il meno conduttivo ( W/LAB = 1 mentre W/LCDE = 1.3 ).
55
LOGICA PSEUDO-NMOS
I valori di capacità calcolati con la formula:
CGD = Cov*W , CGS = 2/3Cox*WL+Cov*W (mos in saturazione)
CGD = CGS = 1/2Cox*WL+Cov*W (mos in triodo)
CGD = CGS = COV W (mos in cut-off)
CDB (SB) = Keq ( CJ AD + CJSW PD)
Sono riportati in tabella:
NOME
M0
MA
MB
MC
MD
ME
CDB [F]
3,81E-15
2,63E-15
5,63E-16
2,63E-15
7,50E-16
7,50E-16
CSB [F]
5,63E-16
7,50E-16
7,50E-16
CGD [F]
1,50E-16
1,00E-16
1,00E-16
1,95E-15
1,95E-15
2,00E-16
CGS [F]
1,26E-15
1,95E-15
1,95E-15
Il tempo di propagazione HL di caso peggiore è dato dall’equazione:
tpHL = 0.69 τHL
dove la costante di tempo τHL si ricava applicando il modello di Elmore al percorso in
esame:
τHL = CpN1 RB + CL (RA + RB) + CpN2 (RA + RB) + CpN3 (RA + RB)
Non è presente carico quindi considero solo il tempo di propagazione della porta isolata
(CL’=0)
NODO N1:
CpN1 = CSBA + CDBB + CGSA + 2CGDB = 2.586 fF
NODO N2:
CpN2 = CSBD + CDBE + CGSD + CGDE = 3.65 fF
NODO N3:
CpN3 = CSBC + CDBD + CGSC + CGDD = 5.4 fF
NODO Z:
CpZ = CDB0 + CDBA + CDBC + CGD0 + CGDA + CGDC = 11.27fF
RA = 3/4 (VDD/ IsatA)
RB = 3/4 (VDD/ IsatB)
Le correnti IsatA e IsatB sono uguali perché i mos hanno la stessa dimensione:
IsatA = IsatB = unCOX VDSAT WA/LA (VDD-VTH-VDSAT/2) = 150uA
RA =RB = 16.5KΩ
τHL = 713.2 psec
tpHL = 492.1 psec
56
LOGICA PSEUDO-NMOS
e) Netlist spice (SCRIVERE IN STAMPATELLO)
* Simulazione gate
* Compito di ESD1
* Author: M. Barbaro
* 02/03/2005
* -- Inclusione modelli –
* Il modello del pmos è P1
* mentre il modello del nmos è N1
.include models.dat
* -- Netlist –
* Gate
M0 Z 0 vdd vdd p1 W=1.5u L=2u AD=2.63p PD=5u
MA Z A N1 0 n1 W=1u L=0.5u AD=2.25p PD=3u AS=0.375p PS=0.75u
MB N1 B 0 0 n1 W=1u L=0.5u AD=0.375p PD=0.75u
MC Z C N2 0 n1 W=2u L=0.5u AD=2.25p PD=3u AS=0.75p PS=0.75u
MD N2 D N3 0 n1 W=2u L=0.5u AD=0.75p PD=0.75u AS=0.75p PS=0.75u
ME N3 E 0 0 n1 W=2u L=0.5u AD=0.75p PD=0.75u
* -- Generatori –
vdd vdd 0 3.3
va A 0 3.3
vb B 0 dc 0 pulse 0 3.3 1n 1p 1p 1n 2n
vc C 0 3.3
vd D 0 3.3
ve E 0 0
* -- Analisi –
.tran 1p 2n
.end
57
LOGICA PASS-TRANSISTOR
ESERCIZIO 14
Dato un processo CMOS, con parametri seguenti, ed il circuito in Figura 1:
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Keq
Processo CMOS 0.4µm – VDD=3.3V
NMOS
0.6 (V)
0.4 (V)
75e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
PMOS
0.6 (V)
0.4 (V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Dire a quale famiglia logica appartiene il circuito.
b) Ricavare la tabella di verità (con spiegazione) e dire quale porta logica implementa.
c) Se gli nmos M1 e M2 hanno entrambi W=0.4um e L=0.4um, ricavare il (W/L) del
pmos in modo che la tensione di uscita bassa sia VOL=0.1V. Dimensionare poi la L
del pmos lasciando W a dimensione minima (0.4um) (verranno valutati anche i
passaggi intermedi)
d) Calcolare il tempo di propagazione HL nel caso in cui il carico sia equivalente ad
una capacità CL’=10fF, e tutte le capacità di diffusione siano pari a 1fF, quando gli
ingressi passano da una configurazione A=1, B=1, a quella A=1, B=0 (verranno
valutati anche i passaggi intermedi)
e) Spiegare a cosa serve (se serve) la presenza del pmos M3.
Figura 1
58
LOGICA PASS-TRANSISTOR
a) Famiglia logica
Logiche a pass transistor
b) Tabella di verità e porta logica implementata dal circuito
A
0
0
1
1
B
0
1
0
1
Z
1
0
0
1
Perché:
A=0, B=0 : Entrambi i pass transistor (M1 e M2) sono interdetti, il nodo di uscita Z è
isolato dagli ingressi e portato al valore 1 dal transistor di pull-up M3 (sempre acceso)
A=1, B=0 (e la combinazione simmetrica A=0, B=1) : Il segnale A, applicato al gate di M1,
accende il pass-transisor M1 che cortocircuita B con Z. Essendo B=0, Z viene portato a 0
(a patto di dimensionare i transistor in modo che M1 sia più conduttivo di M3). Nella
combinazione simmetrica è M2 ad essere acceso e cortocircuitare Z con A che vale 0.
A=1, B=1 : Entrambi i pass-transistor sono accesi, cortocircuitando A, B e Z. Poiché A e B
sono 1 anche Z è 1
La tabella è quella di una porta: XNOR
c) Dimensionamento (scrivere anche i passaggi intermedi del procedimento)
Consideriamo il caso A=1, B=0 (l’altro caso in cui l’uscita è bassa è simmetrico quindi
porta agli stessi risultati). In tale situazione il circuito è analogo ad un inverter pseudoNMOS con M3 transistor di pull-up e M1 rete di pull-down (B=0 quindi in source di M1 è a
massa).
Il carico non assorbe corrente (è una capacità) quindi tutta la corrente del pmos scorre
nell’unico nmos acceso (M1).
Poiché l’uscita deve essere bassa M1 è in triodo e M3 in saturazione, infatti:
VDS1=VOL=0.1 < VDSAT=0.4
VSD3=(VDD-VOL)=3.2 > VDSAT=0.4
Isatp=Itrioden
upCOX(W/L)3 ((VDD-VTH)VDSAT-VDSAT2/2)= unCOX(W/L)1[(VDD-VTH)VOL-VOL2/2]
Sostituendo VOL=0.1, VDD=3.3, VTH=0.6, unCOX/upCOX=3, (W/L)1=1
Si ottiene
(W/L)3=0.795
W=0.4um => L1=0.503um
Approssimando a multipli di Lmin/2 (le dimensioni devono sempre essere multipli del passo
della griglia del layout che è sempre pari a Lmin/2) ossia multiplit di 0.2um
L1 = 0.6um
59
LOGICA PASS-TRANSISTOR
d) Tempo di propagazione (scrivere anche i passaggi intermedi del procedimento)
Se A=1 e B:1->0 l’uscita ha una transizione HL. La capacità di carico totale CL viene
scaricata attraverso M1 dalla corrente di saturazione di M1 (che dovrebbe essere
diminuita del contributo della corrente di saturazione di M3 che si oppone alla scarica, ma
che è però trascurabile).
Isat1= unCOX(W/L)1 [(VDD-VTH)VDSAT-VDSAT2/2] = 75uA
Le capacità parassite da scaricare sono:
1) capacità di diffusione dei drain di M1, M2, M3 => Cdb1=Cdb2=Cdb3= 1fF
2) capacità gate-drain di M1, M2, M3 => Cgd1=Cgd2=Cgd3= COV W = 0.04fF
Nonostante anche il source di M1 sia connesso a Z, in realtà non è la porta stessa che ne
pilota le capacità parassite (capacità di diffusione del source e quella gate-source) ma
l’ingresso, perché il source di M1 è direttamente connesso a B che si suppone pilotato da
un generatore ideale quindi quelli elencati sopra sono tutti i contributi parassiti da prender
in considerazione
CL=CL’+Cdb1+ Cdb2+ Cdb3+Cgd1+ 2Cgd2+ Cgd3=13.16fF
R1=33 KΩ
τHL=R1*CL=434 psec
tpHL=0.69τHL=299 psec
e) Funzione di M3
Come spiegato al punto b) la funzione di M3 è quella di svolgere il ruolo di pull-up per
portare l’uscita a 1 quando in ingresso si ha la combinazione A=0, B=0 che disabilita
entrambi i pass-transistor. Senza M3, in presenza di tale combinazione, il nodo Z sarebbe
in alta impedenza, isolato da tutto e quindi la tensione di uscita resterebbe memorizzata
all’ultimo valore assunto prima della comparsa di tale combinazione (con un meccanismo
simile a quello dei circuiti dinamici) nella capacità parassita CL (ovviamente a causa della
correnti di leakage tale dato verrebbe prima o poi distrutto comunque).
60
LOGICA PASS-TRANSISTOR
ESERCIZIO 15
Dato il circuito in Figura (si consideri un processo CMOS 0.5um con i parametri definiti di
seguito con VDD=3.3V e COX=3.5fF/um2):
PMOS:
NMOS:
VDSAT=0.4V
VTH=0.6V
upCOX=25uA/V2
unCOX=75uA/V2
COV=0.1fF/um
COV=0.1fF/um
CJ=1fF/um2
CJ=1fF/um2
CJSW=1fF/um
CJSW=1fF/um
Keq=0.5
Keq=0.5
a) Determinare a che tipo di famiglia logica appartiene.
b) Determinare la funzione logica Z (è richiesta la tabella di verità, l’espressione
algebrica ed il nome della funzione booleana implementata)
c) Sapendo che M1, M2 e M5 sono a dimensione minima e che M3-M4 è un inverter a
dimensionamento ottimo, e che CL’=10fF determinare il tempo di propagazione
quando A=1 e B passa da 1 a 0 (si trascurino tutte le capacità di diffusione e di
overlap)
d) Modificare il circuito in modo da avere un porta NOR (possibilmente senza
aggiungere transistor).
e) Scrivere la netlist spice per la verifica del tempo di propagazione al punto c)
61
LOGICA PASS-TRANSISTOR
a) Famiglia logica
PASS-TRANSISTOR
b) Funzione Z
A
0
0
1
1
B
0
1
0
1
Z
1
1
1
0
Z = (AB)’
( porta NAND )
Infatti, quando B=1 si chiude M1 (si apre M2) e dunque A passa sul nodo interno X, viene
negato da M3-M4 e Z risulta quindi uguale ad A’. Quando invece B=0 si apre M1, si chiude
M2 ed il nodo interno X viene cortocircuitato a 0, tale valore viene poi invertito da M3-M4 e
Z risulta uguale a 1. L’unico caso in cui M5 è acceso, dunque, risulta quando l’uscita è 0,
ossia nella combinazione A=1, B=1. In tal caso M5 si accende e serve solamente a
portare fino a VDD il nodo X che comunque sarebbe portato alto da M1 (M1 però, da solo,
non riuscirebbe a portare X oltre il valore VDD-VTH=2.7, causando quindi un consumo di
potenza ed un segnale “sporco” in uscita).
c) Calcolo del tp (con passaggi e spiegazioni) SCRIVERE IN STAMPATELLO
Il tempo di propagazione è dato dalla somma del tempo necessario per fare commutare il
nodo X, interno, più il tempo necessario a M3-M4 per fare commutare Z. Nella
commutazione in esame A=1 e B passa da 1 a 0, quindi si ha una commutazione in uscita
di tipo LH (dalla tabella).
Quando B commuta da 1 a 0, il segnale B’ commuta da 0 a 1. Visto che non è specificato
altrimenti si suppone che tale variazione sia istantanea come quella di B.
In tale situazione M1 si interdice istantaneamente e si accende M2 che chiude il percorso
fra X e la massa. A tal punto M2 porta a 0 il nodo X in un tempo dato dal tempo di scarica
della capacità CX per mezzo della corrente di scarica (la corrente di saturazione di M2).
Durante tale periodo (fino cioè alla commutazione di M3-M4) M5 risulta acceso quindi si
opporrà all’azione di M2 (inverter pseudo-NMOS). All’inizio della commutazione, però, M5
è in triodo profondo e la sua corrente è nulla.
Al termine della commutazione VX=1.65 e M5 risulta in saturazione (infatti VSD5=1.65,
dunque VSD5>VDSAT). Però, visto che M2 e M5 hanno le stesse dimensioni ma M5 è un
pmos quindi 3 volte meno conduttivo, la sua corrente può essere considerata trascurabile
rispetto a quella di M2 (che è tutta la corrente di saturazione). Si può quindi semplificare il
conto ipotizzando che la sola corrente di saturazione di M2 scarichi la capacità CX.
62
LOGICA PASS-TRANSISTOR
Il tempo di propagazione è dato dalla seguente relazione:
tpLH = tpCX + tpM3M4
Calcolo dapprima il tempo di propagazione del primo blocco, applicando il modello di
Elmore:
τpCX = 0.69 CX R2
R2 = 3/4 (VDD/ Isat2)
Isat2 = unCOX VDSAT W2/L2 (VDD-VTH-VDSAT/2) = 75uA
R2 = 33kΩ
La capacità CX, trascurando le capacità di diffusione e di overlap, coincide con la somma
delle capacità di gate di M3 e M4:
CX = Cg3 + Cg4 = COX (W3L3 + W4L4) = COX (1+3) W3L3 = 3.5fF
tpCX = 79.7 psec
Il tempo di propagazione del secondo blocco è:
tpM3M4 = 0.69 CL R3
R3 = 3/4 (VDD/ Isat3)
Isat3 = upCOX VDSAT W3/L3 (VDD-VTH-VDSAT/2) = 75uA
R3 = 33KΩ
CL = CL’ + COX W5L5 = 10.875
(per il calcolo del carico bisogna tenere conto anche del gate di M5)
tpM3M4 = 247.6psec
Il tempo di propagazione è pari a:
tpLH = 327 psec
63
LOGICA PASS-TRANSISTOR
d) Modifica del circuito
Per modificare il circuito ed ottenere una NOR basta invertire il segnale B con B’ (M1 è
pilotato a B’ e M2 da B) e sostituire la massa con VDD al terminale di M2, come mostrato
in Figura. Infatti, in tal modo, ogni volta che B=0 passerà A’ e quando B=1 l’uscita è 0.
64
LOGICA PASS-TRANSISTOR
Esercizio 16
Dato il processo CMOS 0.5um con i parametri definiti di seguito:
Processo CMOS 0.5µm – VDD=3.3V
NMOS
0.6 (V)
VTH
0.4 (V)
VDSAT
75e-6
(A/V2)
µCOX
COX
3.5 (fF/µm2)
COV
0.1 (fF/µm)
CJ
1 (fF/µm2)
CJSW
0.5 (fF/µm)
0.5
Keq
PMOS
0.6 (V)
0.4 (V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Disegnare lo schematico di un MULTIPLEXER 4x1 (ingressi a singolo bit) in logica
pass transistor, con buffer invertente finale, utilizzando solo pass-transistor (e non
transmission-gate).
b) Determinare il tempo di propagazione HL di caso peggiore, corrispondente alla
variazione di un solo bit di selezione, qualora l’inverter sia a dimensionamento
ottimo (non semplificato), con carico di 10fF, e tutti i pass-transistor siano a
dimensione minima. Si supponga che per ogni transistor le diffusioni di drain e
source corrispondano ad un rettangolo con un lato pari alla larghezza del MOSFET
e lunghezza pari a 0.5um.
c) Scrivere la netlist spice per la simulazione del tempo di propagazione calcolato al
punto precedente
d) Discutere la dissipazione di potenza statica del circuito, nel caso peggiore, e
suggerire un metodo per ridurre od eliminare tale contributo.
65
LOGICA PASS-TRANSISTOR
a) Schematico (SCRIVERE IL NOME AFFIANCO A CIASCUN TRANSISTOR)
b) Calcolo del tp (con passaggi e spiegazioni) SCRIVERE IN STAMPATELLO
66
LOGICA PASS-TRANSISTOR
Le dimensioni dei MOS sono indicate in tabella
NOME
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
W[um]
L[um]
AD[um2]
PD[um]
AS[um2]
PS[um]
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
1.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.75
0.25
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
2.5
1.5
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.75
0.25
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
2.5
1.5
Uno dei casi peggiori è:
A=1 B=0 C=0 D=0 S0:1→0 S1=0
(2 MOS in serie per la carica, 2 nodi parassiti coinvolti)
67
LOGICA PASS-TRANSISTOR
Il tempo di propagazione è dato dalla somma del tempo necessario per fare commutare il nodo X,
interno, più il tempo necessario a M9-M10 per fare commutare Z.
Visto che non è specificato altrimenti si suppone che la variazione di S0 sia istantanea. In tale
situazione M3 si interdice istantaneamente e si accende M1 che chiude il percorso fra X e A. A tal
punto A carica il nodo X.
I nodi coinvolti nella commutazione, oltre al nodo X, sono i nodi N1 e N2 che devono entrambi
essere caricati.
I valori di capacità sono stati calcolati con le formule (il testo non lo chiede quindi si suppone che
diffusioni di drain e source NON siano coincidenti, ogni area di source o drain ed ogni perimetro
sono calcolati come indicato dal testo, come se ciascuna diffusione fosse larga come il MOS e
lunga 0.5um):
CGn = WL COX = 0.875 fF (NMOS)
CGp = WL COX = 2.625 fF (PMOS)
CGD = COV W = 0.05 fF (NMOS)
CGD = COV W = 0.15 fF (PMOS)
CGS = COV W + 2/3 COX WL = 0.633 fF (NMOS)
CDB (SB) = Keq ( CJ AD + CJSW PD) = 0.5 fF (NMOS)
CDB (SB) = Keq ( CJ AD + CJSW PD) = 1 fF (PMOS)
Nodo N1
La corrente scorre da A verso X quindi il nodo N1 è il source di M1 e il drain di M2. Poiché A è il
segnale che commuta la capacità gate-source associata è pesata 2 per Miller:
Cp1 = CSB1 + 2CGS1 + CDB2 + CGD2 = 2.316 fF
Nodo N2
La corrente scorre da A verso N2 quindi il nodo N2 è il source di M4, M3 è interdetto quindi non c’è
differenza fra source e drain (possiamo considerare N2 il drain di M3). Poiché A è il segnale che
commuta la capacità gate-drain (di M3) associata è pesata 2 per Miller:
Cp2 = CSB4 + CGS4 + CDB3 + 2CGD3 = 1.733 fF
Nodo X
Cpx =CSB2 + CGS2 + CDB4 + CGD4 + CDB6 + CGD6 + CDB8 + CGD8 + CG9 + CG10= 6.283fF
Tutti i transistor coinvolti sono a dimensione minima, quindi le correnti sono uguali
Isat = unCOX VDSAT Wmin/Lmin (VDD-VTH-VDSAT/2) = 75uA
R1 = R2 = R10 = 3/4 (VDD/ Isat) = 33KΩ
tpLH1 = 0.69 [Cp1 R1 + Cp2 (R1 + R2) + Cpx (R1 + R2)] = 418 psec
Per l’inverter, invece:
CL = CL’ + CDB9 + 2CGD9 + CDB10 + 2CGD10 = 11.9fF
tpHL2 = 0.69 R1 CL = 271 psec
Il tempo di propagazione totale è:
tpHL = tpLH1 + tpHL2 = 689 psec
68
LOGICA PASS-TRANSISTOR
c) Netlist spice (SCRIVERE GLI OPPORTUNI COMMENTI PER LA COMPRENSIONE
DEL CODICE)
* Compito di ESD1
* -- Inclusione modelli –
* Il modello del pmos è P1 mentre il modello del nmos è N1
.include models.dat
* -- Netlist –
* Gate
M1 A nS0 1 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M2 1 nS1 5 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M3 B nS0 2 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M4 2 S1 5 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M5 C S0 3 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M6 3 nS1 5 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M7 D S0 4 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M8 4 S1 5 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M9 Z 5 vdd vdd p1 w=1.5u l=0.5u ad=0.75p pd=2.5u as=0.75p ps=2.5u
M10 Z 5 0 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
* Generatori
vdd vdd 0 dc 3.3
vfn fn 0 dc 0 pulse 0 3.3 1n 1p 1p 1n 2n
va A 0 dc 3.3
vb B 0 dc 0
vc C 0 dc 0
vc D 0 dc 0
vs1 S1 0 dc 0
vs0 S0 0 dc 0 pulse 3.3 0 1n 1p 1p 1n 2n
* Analisi
.tran 1p 4n
.end
d) Potenza statica dissipata (SCRIVERE IN STAMPATELLO)
La dissipazione di potenza statica è maggiore di quanto atteso ad esempio in un circuito
CMOS statico per il fatto che, quando l’uscita deve essere bassa, ossia il nodo X deve
essere alto, la tensione sul nodo X è inferiore a VDD. Infatti avendo solo interruttori NMOS
non è possibile caricare il nodo X oltre il valore VDD-VTH (per tale valore gli interruttori si
interdicono e non è più possibile fare passare corrente). Con tale valore di potenziale al
nodo X il PMOS è sulla soglia della conduzione dunque la sua corrente di sottosoglia è
molto elevata e si ha un parziale cortocircuito fra VDD e massa. Per evitare questo
problema si possono sostituire i pass-transistor con transmission-gate (usando un PMOS
pilotato dal segnale negato in parallelo allo NMOS) oppure utilizzare una tecnica di levelrestoring (un PMOS con il gate pilotato dall’uscita Z connesso fra il nodo X e la VDD, che
si incarichi di terminare la carica di X quando necessario).
69
LOGICA DINAMICA
ESERCIZIO 17
Avendo a disposizione un processo CMOS 0.5 µm con le seguenti caratteristiche
(considerare Keq=0.5):
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Processo CMOS 0.5µm – VDD=3.3V
NMOS
PMOS
0.623 (V)
0.623 (V)
0.415 (V)
0.415 (V)
2
25e-6 (A/V2)
75e-6 (A/V )
3.5 (fF/µm2)
3.5 (fF/µm2)
0.138 (fF/µm)
0.138 (fF/µm)
2
0.776 (fF/µm )
0.816 (fF/µm2)
0.345 (fF/µm)
0.355 (fF/µm)
a) Disegnare il circuito che implementa la funzione:
F=(A+BC)’
in logica dinamica φn .
Disegnare il circuito del carico di questa porta, rappresentato da un inverter in
logica φp .
b) Sapendo che Wmin=Lmin dimensionare gli nmos della porta che implementa F in
modo da avere tempi di scarica uguali per tutti i possibili percorsi (ed equivalenti a
quelli di un solo nmos a dimensione minima). Dimensionare inoltre il pmos in modo
che sia equivalente ad un nmos a dimensione minima. Tutti i transistor del carico
sono invece a dimensione minima (sia gli n che i p).
c) Calcolare il tempo di propagazione tpHL (a partire dalla commutazione del clock)
quando gli ingressi sono fissi al valore A=0, B=1, C=1, supponendo che TUTTE le
capacità di diffusione siano pari a 1fF
d) Spiegare qualitativamente quali differenze nel calcolo di tale tempo ci si aspetta di
trovare nel caso che la funzione ed il carico siano implementati in logica CMOS
statica (non rifare ovviamente i conti, spiegare in quali calcoli ci si aspetta di avere
delle differenze e di che tipo).
e) Scrivere la netlist spice per la verifica del tempo di propagazione calcolato.
70
LOGICA DINAMICA
a) Circuito della porta e del carico (fp=fn’)
b) Dimensionamenti
Per dimensionare la PDN in modo che tutti i percorsi di SCARICA siano equivalenti ad un
transistor nmos a dimensione minima si procede come per una porta CMOS standard,
quindi si impone che tutti i percorsi serie da F verso massa siano equivalenti ad un
transistor con W/L=1 (W=0.5u, L=0.5u).
Il percorso M1-M4 contiene 2 nmos in serie quindi ciascuno deve avere W/L=2:
L=0.5um -> W=1um
W1=W4=1um
Il percorso M2-M3-M4 contiene 3 transistor in serie, poiché abbiamo già dimensionato M4,
restano da dimensionare M2-M3 che devono essere equivalenti ad un mos con W/L=2 (in
modo che messi in serie a M4 siano equivalenti ad un MOS unitario), ossia, essendo in
serie, devono avere W/L=4:
L=0.5um -> W=2um
W2 =W3=2um
Il pmos deve essere dimensionato per avere W/L=3 in quanto il rapporto di mobilità della
tecnologia è 3 e le VDSAT sono uguali:
W5=1.5um
Si è richiesto di dimensionare il carico con mos a dimensione minima, quindi:
W6=W7=W8=0.5um
L6=L7=L8=0.5um
71
LOGICA DINAMICA
c) Tempo di propagazione
Con A=0, B=C=1 la scarica dell’uscita F avviene attraverso il percorso M2-M3-M4 in
corrispondenza della commutazione di M4.
Isat4 = Kn (W/L)4 VDSATn (VDD – VTH – VDSATn/2) = 154uA
Isat2 = Kn (W/L)2 VDSATn (VDD – VTH – VDSATn/2) = 307uA
Reqn4 = ¾ VDD/Isat4 = 16 kΩ
Reqn2 = ¾ VDD/Isat2 = 8 kΩ
La capacità di carico è data dalla capacità di ingresso del solo transistor M7 che può
essere stimata, come sempre come:
CL’ = COX WL = (3.5 * 0.5 * 0.5) fF = 0.875 fF
Le capacità di gate degli nmos:
Cgd1 = Cgs1 = Cgd4 = W1 COV = 0.138 fF (M1 spento, non c’è contributo del canale)
Cgd2 = Cgd3 = W2 COV = 0.276 fF
Cgs2 = Cgs3 = W2 COV + W2L2 COX = 3.776 fF (M2/M3 in sat., contributo del canale)
Cgd5 = W5 COV = 0.207 fF
Calcoliamo le capacità parassite considerando le varie componenti dei nodi coinvolti:
Nodo N1:
Cpn1 = Cdb3 + Csb2 + Cgd3 + Cgs2 = 6.052 fF
Nodo N2:
Cpn2 = Cdb4 + Csb1 + Csb3 + 2Cgd4 + Cgs1 + Cgs3 = 7.19 fF (Cgd4 pesata 2 per Miller)
Nodo Z:
Cpz = Cdb1 + Cdb2 + Cdb5 + Cgd1 + Cgd2 + 2Cgd5 = 3.828 fF (Cgd5 pesata 2 per
Miller)
CL = CL’ + Cpz = 4.703 fF
Formula di Elmore:
tpHL = 0.69 ( Cpn2 Req4 + Cpn1(Req3 + Req4) + CL (2Req3 + Req4) ) = 283 psec
d) Confronto qualitativo col CMOS statico
Se la porta ed il suo carico fossero stati CMOS avremmo avuto alcune differenze nel
calcolo del tpHL in questa situazione:
a) Il carico sarebbe stato costituito da una rete PUN ed una PDN quindi il segnale F
sarebbe stato connesso ad un nmos e un pmos (anzi che solo un pmos come in
questo caso) quindi la CL’ sarebbe stata come minimo doppia
b) Sarebbero aumentate le capacità parassite dei nodi interni. Infatti nel conto delle
capacità di diffusione sarebbe stato sicuramente necessario aggiungere i contributi
delle capacità di diffusione di altri pmos, insieme alle loro capacità di, sarebbe
quindi aumentato il contributo CL.
Globalmente avremmo ottenuto un tempo di propagazione, solo parzialmente bilanciato
dal fatto che nel caso CMOS statico non sarebbe stato presente il transistor M4.
72
LOGICA DINAMICA
e) Netlist
* Simulazione logica dinamica
* Inclusione modelli dei MOS
* Si suppone che sia definito un modello n per gli nmos
* ed un modello p per i pmos
.include models.dat
* Netlist porta F
m1 f a 1 0 n1 w=1u l=0.5u
m2 f b 2 0 n1 w=2u l=0.5u
m3 2 c 1 0 n1 w=2u l=0.5u
m4 1 fn 0 0 n1 w=1u l=0.5u
m5 f fn vdd vdd p1 w=1.5u l=0.5u
* Carico
m6 3 fp vdd vdd p1 w=0.5u l=0.5u
m7 z f 3 vdd p1 w=0.5u l=0.5u
m8 z fp 0 0 n1 w=0.5u l=0.5u
* Generatori
vfn fn 0 pulse 0 3.3 0 10p 10p 5n 10n
vfp fp 0 pulse 3.3 0 0 10p 10p 5n 10n
vdd vdd 0 3.3
.tran 10p 40n
.end
73
LOGICA DINAMICA
ESERCIZIO 18
Dato il processo CMOS 0.5um con i parametri definiti di seguito:
Processo CMOS 0.5µm – VDD=3.3V
NMOS
0.6 (V)
VTH
0.4 (V)
VDSAT
75e-6
(A/V2)
µCOX
COX
3.5 (fF/µm2)
COV
0.1 (fF/µm)
CJ
1 (fF/µm2)
CJSW
0.5 (fF/µm)
0.5
Keq
PMOS
0.6 (V)
0.4 (V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Disegnare lo schematico, in logica dinamica Φn, della funzione Z = ((AB)’ + C)’,
utilizzando due livelli di logica in cascata.
b) Determinare il tempo di propagazione HL di caso peggiore, supponendo che il
carico sia modellabile come una capacità di 10fF, e tutti i transistor siano a
dimensione minima. Si supponga che per ogni transistor le diffusioni di drain e
source corrispondano ad un rettangolo con un lato pari alla larghezza del MOSFET
e lunghezza pari a 0.5um.
c) Scrivere la netlist spice per la simulazione del tempo di propagazione calcolato al
punto precedente.
d) Spiegare se esistono potenziali problemi derivanti dal collegamento in cascata di
queste due porte Φn . Se sì, spiegare in presenza di quali combinazioni di ingresso
si verifichino e se si conoscono possibili soluzioni all’eventuale problema (in tal
caso, disegnare lo schematico della porta modificata).
74
LOGICA DINAMICA
a) Schematico (SCRIVERE IL NOME AFFIANCO A CIASCUN TRANSISTOR)
b) Calcolo del tp (con passaggi e spiegazioni) SCRIVERE IN STAMPATELLO
75
LOGICA DINAMICA
Le dimensioni dei MOS sono indicate in tabella
NOME
M5
M6
M7
M8
W[um]
0.5
0.5
0.5
0.5
L[um]
0.5
0.5
0.5
0.5
AD[um2]
0.25
0.25
0.25
0.25
PD[um]
1.5
1.5
1.5
1.5
AS[um2]
0.25
0.25
0.25
0.25
PS[um]
1.5
1.5
1.5
1.5
Il caso peggiore è
A=0 B=0 C=0
(o qualsiasi combinazione di A e B che mantiene Z1 al valore 1, infatti la commutazione
HL di Z2 avviene quando Z1 NON deve commutare)
76
LOGICA DINAMICA
I valori di capacità calcolati con le formule
CGD = COV W
CGS = COV W + 2/3 COX WL (NMOS in SATURAZIONE, ossia M6)
CGS = COV W (NMOS in CUTOFF, ossia M7)
CDB (SB) = Keq ( CJ AD + CJSW PD)
sono riportati in tabella
NOME
CDB [F]
M5
0.5f
M6
0.5f
M7
0.5f
M8
0.5f
CSB [F]
0.5f
0.5f
0.5f
0.5f
CGD [F]
0.05f
0.05f
0.05f
0.05f
CGS [F]
0.05f
0.633f
0.05f
0.05f
Tutti i transistor sono a dimensione minima, quindi le correnti sono tutte uguali
Isat = unCOX VDSAT Wmin/Lmin (VDD-VTH-VDSAT/2) = 75uA
R2=R3=R4 = 3/4 (VDD/ Isat) = 33kΩ
CpZ2 = CDB5 + 2CGD5 + CDB6 + CGD6 + CDB7 + CGD7 + CL’= 11.7fF
Cp3 = CGS6 + CSB6 + CSB7 + CGS7 + CDB8 + 2CGD8 = 2.283fF
Applicando il modello di Elmore:
tHL2 = Cp3 R8 + CpZ2 (R8 + R6) = 585psec
77
LOGICA DINAMICA
c) Netlist spice (SCRIVERE GLI OPPORTUNI COMMENTI PER LA COMPRENSIONE
DEL CODICE)
* Compito di ESD1
* -- Inclusione modelli –
* Il modello del pmos è P1 mentre il modello del nmos è N1
.include models.dat
* -- Netlist –
* Porta Z1
M1 Z1 fn vdd vdd p1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M2 Z1 A 1 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M3 1 B 2 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M4 2 fn 0 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
* Porta Z2
M5 Z2 fn vdd vdd p1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M6 Z2 Z1 3 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M7 Z2 C 3 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
M8 3 fn 0 0 n1 w=0.5u l=0.5u ad=0.25p pd=1.5u as=0.25p ps=1.5u
* Generatori
vdd vdd 0 dc 3.3
vfn fn 0 dc 0 pulse 0 3.3 1n 1p 1p 1n 2n
va A 0 dc 0
vb B 0 dc 0
vc C 0 dc 0
* Analisi
.tran 1p 4n
.end
d) Analisi collegamento in cascata (SCRIVERE IN STAMPATELLO)
(Continuare eventualmente la risposta nel retro di questo foglio)
Esiste un problema nella connessione in cascata delle due porte, che si verifica ad
esempio per la combinazione
A=1 B=1 C=0.
Con questa combinazione l’uscita Z2 dovrebbe essere pari a 1 dato che ABC ‘=1.
Prima della valutazione, ovvero in fase di precarica, sia Z1 che Z2 sono uguali a 1, si ha
quindi che l’ingresso pari a 1 sul MOS M6 potrebbe causare la scarica di Z2 che non
potrebbe essere più ricaricato, e di conseguenza Z2 potrebbe essere erroneamente
valutato pari a 0.
Una possibile soluzione al problema consiste nell’implementare il secondo blocco con
logica φp piuttosto che φn.
78
FLIP-FLOP
ESERCIZIO 19
Dato un processo CMOS, con i parametri seguenti, ed il circuito in Figura 1
VTH
VDSAT
µCOX
COX
COV
CJ
CJSW
Keq
Processo CMOS 0.4µm – VDD=3.3V
NMOS
0.6 (V)
0.4 (V)
75e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
Wmin=0.4um
Lmin=0.4um
PMOS
0.6 (V)
0.4 (V)
25e-6 (A/V2)
3.5 (fF/µm2)
0.1 (fF/µm)
1 (fF/µm2)
0.5 (fF/µm)
0.5
a) Dire che tipo di porta implementa il circuito di Figura 1 e spiegarne dettagliatamente
il funzionamento
b) Dimensionare tutti i transistor in modo che ciascun percorso di scarica e carica sia
equivalente ad un transistor NMOS con W/L=1
c) Calcolare il tempo di propagazione HL e LH dell’inverter M9-M10 supponendo che
tutte le capacità di diffusione di drain e source (per i pmos e gli nmos) siano pari a
1fF
d) Calcolare i tempi di propagazione da D a Q1 e da Q1 a Q sapendo che il carico sul
nodo Q è equivalente ad un capacitore di 1fF
e) Stimare i tempi di setup e hold del circuito (con giustificazione)
Figura 1
79
FLIP-FLOP
a) Porta logica e spiegazione del funzionamento
Si tratta di un flip-flop C2MOS sensibile ai fronti di discesa del clock.
Il funzionamento è il seguente:
CLKN è evidentemente la negazione dell’ingresso CLK
Quando CLK=1 (CLKN=0) il circuito M1-M4 è un inverter che nega il segnale D (DN) e lo
memorizza sulla capacità parassita al nodo Q1. In tale situazione la seconda parte del
circuito (M5-M8) risulta interdetta in quanto M6 e M7 sono aperti e quindi Q mantiene il
valore assunto precedentemente ed è indipendente da D.
Quando CLK diventa 0 (CLKN diventa 1), quindi sul fronte negativo di CLK, M2 e M3 si
aprono isolando il nodo Q1 che rimane in alta impedenza e mantiene il valore DN (D
negato), in tale momento si attiva il circuito M5-M8 che diventa un inverter e genera in
uscita su Q l’inverso di DN ossia il dato D.
80
FLIP-FLOP
b) Dimensionamento (scrivere anche i passaggi intermedi del procedimento)
Se tutti i percorsi di scarica devono essere equivalenti ad un MOS a dimensione minima
(W/L=1) avremo:
W3 = W4 = W7 = W8 = 0.8u (W3 è in serie con W4 e W7 è in serie con W8)
W10 = 0.4um
Per i percorsi di carica vale lo stesso ma in questo caso i transistor sono PMOS e bisogna
tenere conto anche della diversa mobilità:
W1 = W2 = W5 = W6 = 2.4u
W9 = 1.2um
Ovviamente tutti i transistor hanno lunghezza minima.
c) Tempo di propagazione di M9-M10
Capacità di overlap:
CGD9 = COV W9 = 0.1 * 1.2 fF = 0.12 fF
CGD10 = COV W10 = 0.1 * 0.4 fF = 0.04 fF
Capacità di carico:
M9-M10 deve pilotare M2 (W2=2.4um) e M7(W7=0.8um) quindi:
CL’ = COX (W2 + W7) Lmin = 4.48 fF
Nodo CLKN:
CL =CL’+ CDB9 + CDB10 + 2*CGD9 + 2*CGD10 = 6.8 fF
Resistenze equivalenti di M9 e M10:
R9= R10=33KΩ
Costanti di Elmore dei percorsi di carica e scarica:
τHL=τLH=R9CL=224psec
Tempo di propagazione:
tp=tpHL = tpLH = 0.69τLH = 155 psec
81
FLIP-FLOP
d) Tempi di propagazione da D a Q1 e da Q1 a Q
Nella propagazione da D a Q1 risulta CLK=1 e CLKN=0. Nellla propagazione da Q1 a Q
invece si ha CLKN=1 e CLK=0.
Capacità gate-drain:
CGD1 = COV * W1 = 0.24 fF
CGD2 = COV * W2 = 0.24 fF (durante LH, perché M2 è in saturazione)
CGD2 = COV * W2 + ½ COX W2L2 = 1.92 fF (durante HL, perché M2 è in triodo)
CGD4 = COV * W4 = 0.08 fF
CGD3 = COV * W3 = 0.08 fF (durante HL, perché M3 è in saturazione)
CGD3 = COV * W3 + ½ COX W3L3 = 0.64 fF (durante LH, perché M3 è in triodo)
Capacità gate-souce:
CGS2 = COV * W2 + 2/3 COX W2L2 = 2.48 fF (durante LH, perché M2 è in saturazione)
CGS2 = COV * W2 + 1/2 COX W2L2 = 1.92 fF (durante HL, perché M2 è in triodo)
CGS3 = COV * W3 + 2/3 COX W3L3 = 0.827 fF (durante HL, perché M3 è in saturazione)
CGS3 = COV * W3 + ½ COX W3L3 = 0.64 fF (durante LH, perché M3 è in triodo)
Nodo N1 (N3) – Nodi parassiti dei due PUN:
Cp1 = Cp3 = CDB1 + CSB2 + 2*CGD1 + CGS2 = 4.96 fF (LH)
Cp1 = Cp3 = CDB1 + CSB2 + 2*CGD1 + CGS2 = 4.4 fF (HL)
Nodo N2 (N4) – Nodi parassiti dei due PDN:
Cp2 = Cp4 = CDB4 + CSB3 + 2*CGD4 + CGS3 = 2.987 fF (HL)
Cp2 = Cp4 = CDB4 + CSB3 + 2*CGD4 + CGS3 = 2.8 fF (LH)
Resistenza equivalente dei singoli MOS :
R1=R2=R3=R4= R5=R6=R7=R8= 16.5KΩ
Capacità di carico e capacità parassita del nodo Q1:
CL1’ = COX (W5 + W8) Lmin = 4.48 fF
CpQ1 = CDB2 + CDB3 + CGD2 + CGD3 = 4 fF (HL)
CpQ1 = CDB2 + CDB3 + CGD2 + CGD3 = 2.88 fF (LH)
CL1 = CL1’ + CpQ1 = 8.48 fF (HL)
CL1 = CL1’ + CpQ1 = 7.36 fF (LH)
Tempo di propagazione da D a Q1:
tpHL = 0.69 [R4Cp2+(R4+R3)CL1+(R4+R3)Cp1] = 0.69 R (Cp2+2CL1+2Cp1) = 327 psec
tpLH = 0.69 [R1Cp1+(R1+R2)CL1+(R1+R2)Cp2] = 0.69 R (Cp1+2CL1+2Cp2) = 288 psec
tp= 307.5 psec
Capacità di carico e capacità parassita del nodo Q:
CL2’ = 1 fF
CpQ = CDB6 + CDB7 + CGD6 + CGD7 = 4 fF (HL)
CpQ = CDB6 + CDB7 + CGD6 + CGD7 = 2.88 fF(LH)
CL2 = CL2’ + CpQ = 5 fF (HL)
CL2 = CL2’ + CpQ = 3.88 fF (LH)
Tempo di propagazione da Q1 a Q:
tpHL = 0.69 [R8Cp4+(R7+R8)CL2+(R7+R8)Cp3] = 0.69 R (Cp4+2CL2+2Cp3) = 248 psec
tpLH = 0.69 [R5Cp3+(R5+R6)CL2+(R5+R6)Cp4] = 0.69 R (Cp3+2CL2+2Cp4) = 209 psec
tp= 228.5 psec
82
FLIP-FLOP
e) Tempi di setup e di hold
Il tempo di setup è il tempo durante il quale l’ingresso D deve restare costante PRIMA
dell’arrivo del fronte del clock di memorizzazione (in questo caso il fronte di discesa).
In questo circuito tale tempo dipende dal fatto che, prima della disattivazione di M1-M4
bisogna che D si propaghi fino a Q1 dunque coincide con il tempo di propagazione da D a
Q1 (71 psec).
Il tempo di hold è invece il tempo durante il quale l’ingresso D deve restare costante
DOPO il fronte di memorizzazione. In questo circuito coincide con tempo necessario
perché venga disabilitato M1-M4 grazie alla commutazione di M9-M10 quindi coincide
con il tempo di propagazione di M9-M10 (41 psec). Se D cambiasse prima di 41psec il
master non sarebbe ancora disabilitato ed il cambiamento di D potrebbe propagarsi fino a
Q1.
83
FLIP-FLOP
e) Netlist spice
* Simulazione NAND pass-transistor
* -- Inclusione modelli -* Si suppone che i nomi dei modelli sianoN1 e P1
.include models.dat
* -- Netlist -* Pass-transistor
M1 A B X 0 N1 w=0.5u l=0.5u
M2 0 nB X 0 N1 w=0.5u l=0.5u
* Level restorer
M5 X B vdd vdd P1 w=0.5u l=0.5u
* Output buffer
M3 Z X vdd vdd P1 w=1.5u l=0.5u
M4 Z X 0 0 N1 w=0.5u l=0.5u
*Carico
CL Z 0 10f
* -- Generatori -vdd vdd 0 3.3
va A 0 3.3
vb B 0 pulse 3.3 0 1n 1p 1p 1n 2n
vnb nB 0 pulse 0 3.3 1n 1p 1p 1n 2n
* -- Analisi -.tran 1p 2n
.end
84

Documenti analoghi

V - Micrel Home Page

V - Micrel Home Page 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...

Dettagli