Relazione su DOMINO - Marco Alessandrini

Università degli Studi di Bologna
Seconda Facoltà di Ingegneria - Sede di Cesena
C.d.L. in Ingegneria Elettronica e delle Telecomunicazioni
Modelli circuitali gerarchici SPICE
per la simulazione di logiche dinamiche
Laboratorio di Elettronica L-A (prof. C. Fiegna)
Anno Accademico 2008/09
Data esecuzione: 18 maggio 2009
Marco
Alessandrini
Alessandro
Callozzo
Lorenzo
Minghini
0000281742
[email protected]
0000286147
[email protected]
0000274090
[email protected]
Sommario
Nella presente esercitazione si utilizzerà l’esempio della descrizione di logiche Domino per avere un primo approccio con la realizzazione gerarchica di
modelli circuitali, che è alla base di qualsiasi progetto di circuiti integrati. Si
realizzeranno blocchi circuitali parametrici di granularità superiore ai transistori visti nelle esercitazioni precedenti, e li si utilizzeranno per completare in
modo intuitivo circuiti anche complessi.
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
Indice
1 Dati di ingresso
2
2 Simulazione di inverter dinamico
3
3 Simulazione di porta logica Domino
9
4 Simulazione di cascata di porte Domino
11
Elenco delle figure
15
Riferimenti bibliografici
15
1
Dati di ingresso
Parametri elettrici del circuito.
• Tensione di alimentazione: VDD = 5 V.
• Capacità di carico: Cload = 0, 1 pF.
Parametri elettrici dei MOS.
• Conducibilità intrinseca (nMOS): KPN = 80 µA/V2 .
• Conducibilità intrinseca (pMOS): KPP = 40 µA/V2 .
• Spessore dell’ossido di gate: tOX = 150 Å.
• Tensione di soglia: VTN = −VTP = 1 V.
• Capacità di giunzione (per unità di area): Cj = 3, 6 · 10−4 F/m2 .
• Capacità di giunzione (per unità di perimetro): CjSW = 2, 1 · 10−10 F/m.
Parametri geometrici dei MOS.
• Lunghezza minima del canale: LM IN = 1, 0 µm
• Larghezza del canale (inverter dinamico): WNIN V dyn = WPIN V dyn = 1 µm
• Larghezza del canale (nMOS dell’inverter statico): WNIN V stat = 1 µm
• Larghezza del canale (pMOS dell’inverter statico): WPIN V stat = 2 µm
• Lunghezza giunzioni di drain e source (rettangolari): PD = PS = 3LM IN
Metodo analitico. Il circuito è simulato con il software P-SPICE, parte costitutiva dell’ambiente di sviluppo OrCAD. Grazie ad esso si implementano le netlist
del circuito, potendo analizzare i grafici delle simulazioni plottando le grandezze
d’interesse ed effettuando le misure più opportune.
Indice
2
=
$
CC
BY:
2
\
Modelli SPICE per simulare logiche dinamiche
Simulazione di inverter dinamico
(a) Circuito
(b) Netlist SPICE
Figura 1: Inverter dinamico
1) Utilizzando le schede .model PMODA e NMODA qui riportate:
*** MODELLI
.model NMODA NMOS LEVEL=1 VTO=1 KP=80E-6 GAMMA=0.4 LAMBDA=0.005
+PHI=0.8 TOX=150E-10 CJ=3.6E-4 MJ=0.33 CJSW=2.1E-10 PB=0.7
+MJSW=0.33
.model PMODA PMOS LEVEL=1 VTO=-1 KP=40E-6 GAMMA=0.4 LAMBDA=0.005
+PHI=0.8 TOX=150E-10 CJ=3.6E-4 MJ=0.33 CJSW=4.3E-10 PB=0.7
+MJSW=0.33
si realizzi il file .cir che descriva un inverter realizzato in logica dinamica
(figura 1(a)) e si realizzi la simulazione descritta di seguito:
***Stimoli
VVDD VDD 0 dc 5
VVA A 0 dc 0 PULSE(0v 5v 2ns .4ns .4ns 40ns 80ns)
.tran .01ns 100ns
La simulazione dell’inverter dinamico è stata effettuata all’interno della seguente
netlist SPICE:
* Inverter
*** MODELLI NMOS E PMOS ***
.model NMODA NMOS LEVEL=1 VTO=1 KP=80E-6 GAMMA=0.4 LAMBDA=0.005
+PHI=0.8 TOX=150E-10 CJ=3.6E-4 MJ=0.33 CJSW=2.1E-10 PB=0.7
+MJSW=0.33
.model PMODA PMOS LEVEL=1 VTO=-1 KP=40E-6 GAMMA=0.4 LAMBDA=0.005
+PHI=0.8 TOX=150E-10 CJ=3.6E-4 MJ=0.33 CJSW=4.3E-10 PB=0.7
+MJSW=0.33
*** SOTTOCIRCUITI ***
* INVERTER STATICO
.subckt INV_CMOS VDD IN OUT PARAMS: Wp=2u Wn=1u
MPI OUT IN VDD VDD PMODA W={Wp} L=1u AS=6e-12 AD=6e-12 PS=10e-6 PD=10e-6
MNI OUT IN 0 0 NMODA W={Wn} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8e-6
.ends
* INVERTER DINAMICO
.subckt INV_DOM VDD IN OUT PARAMS: Wd=1u CLK=20ns
2 Simulazione di inverter dinamico
3
MP OUT
MN 2 1
MA OUT
VPHI 1
.ends
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
1 VDD VDD PMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
0 0 NMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
IN 2 0 NMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
0 dc 5 PULSE(5V 0V 0ns .1ns .1ns {clk/2} {clk})
*** NETLIST ***
XINVD 1 2 3 INV_DOM
*** STIMOLI ***
VVDD 1 0 dc 5
VVA 2 0 dc 0 PULSE(0v 5v 2ns .4ns .4ns 40ns 80ns)
*** CAPACITA’ DI CARICO ***
Cload 3 0 0.1p
*** SIMULAZIONE DEL CIRCUITO ***
.tran .01ns 100ns
.probe V(2), V(3)
.end
I risultati della simulazione sono in figura 2.
* Esercitazione 3
Date/Time run: 06/06/09 09:38:05
Temperature: 27.0
(A) ES3-1_0.dat (active)
7.0V
5.0V
0V
-2.0V
V(2)
7.0V
5.0V
0V
SEL>>
-2.0V
0s
20ns
40ns
60ns
80ns
100ns
V(3)
Date: June 06, 2009
Time
Page 1
Time: 09:38:47
Figura 2: Inverter dinamico - Andamento delle tensioni (da netlist in fig. 1(b))
La successiva simulazione, comprensivi degli effetti della corrente inversa di saturazione delle giunzioni IS , ha prodotto le forme d’onda in figura 3 avendo modificato
il modello dell’nMOS con l’aggiunta del parametro IS:
* Inverter con IS
*** MODELLI NMOS E PMOS ***
.model NMODA NMOS LEVEL=1 VTO=1 KP=80E-6 GAMMA=0.4 LAMBDA=0.005
+PHI=0.8 TOX=150E-10 CJ=3.6E-4 MJ=0.33 CJSW=2.1E-10 PB=0.7
+MJSW=0.33 IS=1.0E-5
[...]
2 Simulazione di inverter dinamico
4
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
* Esercitazione 3
Date/Time run: 06/01/09 10:33:39
Temperature: 27.0
(A) ES3-1_0.dat (active)
7.0V
5.0V
0V
SEL>>
-2.0V
V(2)
7.0V
5.0V
0V
-2.0V
0s
20ns
40ns
60ns
80ns
100ns
V(3)
Time
Page 1
Date: June 01, 2009
Time: 10:35:52
Figura 3: Inverter dinamico - Andamento delle tensioni con effetto della corrente IS (da netlist in
fig. 1(b))
2) Si dia una breve spiegazione del comportamento del circuito. (1 )
Il clock φ(2 ) fornito all’inverter ha periodo pari a 20 ns; in totale l’ingresso di
clock è alimentato per 80 ns, quindi saranno visualizzati quattro periodi completi di precharge ed evaluation. In questi periodi si valuta sia il caso di VA =0 10 , sia
VA =0 00 .
Nel semiperiodo in cui VA è alto si ha un collegamento diretto verso massa
quando φ =0 10 . Durante la fase di precharge viene caricata Cload , mentre in
evaluation la stessa capacità si scarica fino a 0 V.
Nel semiperiodo in cui VA è basso non sarà disponibile un collegamento diretto
verso massa, né verso altre alimentazioni: quindi l’uscita, flottante, deve mantenersi
autonomamente costante a 0 10 . Nella figura 2 si può notare che su V(3) si verifica
una piccola perdita di carica in questa fase.
L’introduzione del parametro IS, associato alle correnti di perdita al nodo di
uscita, mostra gli effetti (amplificati rispetto alla realtà della tecnologia) della perdita di carica su Z, cioè una riduzione della tensione sul nodo durante la fase di
evaluation rispetto al valore imposto in precharge. Possiamo valutare tale riduzione
di Vout utilizzando la formula:
Tdist =
Cload · ∆Vdist
IS
⇒
∆Vdist =
Tdist · IS
10 ns · 10 µA
=
= 1V
Cload
0, 1 pF
In figura 3 è evidente che, al termine del periodo di evaluation (agli istanti t = 60 ns
e t = 80 ns), la perdita di tensione su V(3) sia proprio pari a 1 V.
1 Si osservi che durante la fase di evaluation, con φ =0 10 , il nodo di uscita si trova in condizione
di alta impedenza. Nel caso le correnti di leakage dei transistori nMOS che lo connettono a massa
fossero particolarmente significative, si rischierebbe una scarica non voluta del valore di Z. Questo
è il caso ad esempio, delle più avanzate tecnologie digitali a 130 nm e 90 nm, che presentando
valori di VDD molto bassi (da 1, 8 V a 1, 2 V) sono particolarmente soggette a correnti sottosoglia.
Per visualizzare tale fenomeno nella simulazione, si provi ad aggiungere alla .model dei transistori
nMOS il parametro IS=1.0e5, che descrive la corrente inversa di saturazione delle giunzioni e viene
usato come base per calcolare le correnti di perdita. Si tenga presente che IS = 10 µA è un valore
assolutamente irrealistico dati i parametri dell’esercizio, ma è utile per comprendere il fenomeno.
2 Convenzionalmente chiameremo i due sottoperiodi di φ coi nomi inglesi: precharge quando
φ = 0, evaluation quando φ = 1.
2 Simulazione di inverter dinamico
5
=
$
CC
BY:
(a) Circuito
\
Modelli SPICE per simulare logiche dinamiche
(b) Netlist SPICE
Figura 4: Inverter dinamico con circuito di keeper
3) Nel caso il valore di φ sia tale da rendere intollerabile il fenomeno di
scarica di Z (che viene detto charge sagging ), è possibile rendere stabile
l’uscita col circuito di figura 4(a), detto keeper. Si realizzi un keeper come
.SUBCKT (usando un inverter CMOS descritto a sua volta come .SUBCKT) e
si verifichi il funzionamento dell’inverter dinamico cosı̀ realizzato. (3 ) Il
circuito di keeper è stato aggiunto alla precedente netlist con le seguenti istruzioni,
relative al modello, all’istanziazione e alla connessione agli altri sottocircuiti:
* Inverter con keeper
[...]
* KEEPER
.subckt KEEPER VDD IN OUT PARAMS: Wp=1u
MP OUT 1 VDD VDD PMODA W={Wp} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
XINV_Keeper VDD IN 1 INV_CMOS
.ends
*** NETLIST ***
XINVD 1 2 3 INV_DOM
XK 1 3 3 KEEPER
*** STIMOLI ***
[...]
Simulando il circuito con gli stimoli forniti in precedenza, si sono ottenuti i risultati
in figura 5. Da un rapido confronto con quanto avveniva senza keeper (figura 3)
si nota che è quasi scomparsa la perdita di tensione sul nodo d’uscita VZ (V(3)),
grazie all’azione del pMOS che fornisce all’uscita un valore 0 10 forte, scongiurando
lo stato di alta impedenza che affligge la versione tradizionale.
Un inconveniente riscontrato è la scarica più lenta, quando il nodo d’uscita deve
avere tensione 0 V: il colpevole è proprio il pMOS del keeper, che con la propria
conduttività ostacola la scarica del nodo d’uscita. Infatti il pMOS dovrebbe essere
poco conduttivo per non rallentare la scarica di VZ , ed evidentemente il valore scelto
Wp = 1 µm non è il migliore possibile. Il dimensionamento viene fatto riassegnando
Wp il quale, essendo legato alla corrente del MOS da proporzionalità diretta, deve
essere piccolo per avere bassa conduttività del dispositivo. Sono state effettuate due
ulteriori prove:
• una prova con Wp = 2 µm (figura 6), nella quale è marcato l’effetto di corruzione della funzione logica provocato dall’eccessiva conducibilità del MOS;
3 Si
faccia attenzione a dimensionare il parametro Wp del transistore del keeper in maniera da
non compromettere il funzionamento del circuito: il transistore dovrà essere weak in modo da
sostenere il nodo quando è in alta impedenza, ma non deve poter dominare la rete di pull-down
al momento della commutazione.
2 Simulazione di inverter dinamico
6
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
* Esercitazione 3
Date/Time run: 06/01/09 10:28:23
Temperature: 27.0
(A) ES3-1_1.dat (active)
7.0V
5.0V
0V
-2.0V
V(2)
7.0V
5.0V
0V
SEL>>
-2.0V
0s
20ns
40ns
60ns
80ns
100ns
V(3)
Date: June 01, 2009
Time
Page 1
Time: 10:32:13
Figura 5: Inverter con keeper - Andamento delle tensioni con Wpkeeper = 1 µm (da netlist in
fig. 4(b))
• una prova con Wp = 0, 5 µm (figura 7) che ha prodotto un risultato sostanzialmente pari a quello atteso: oltre a correggere i difetti dell’uscita flottante,
non danneggia i fronti di discesa nei casi di uscita bassa.
Entrambi i test confermano, inoltre, che il miglior funzionamento si ha dal compromesso scelto nel dimensionamento di Wp scelto per il transistor: infatti, calando
troppo Wp si ritorna alla condizione iniziale di uscita flottante4 , mentre aumentando
troppo Wp si corrompe lo stato basso della funzione logica, che non ha più tensione
0 V.
4 Il MOS diventa cosı̀ poco conduttivo che la scarica nei fronti di discesa è perfetta, ma il
mantenimento della carica sul nodo d’uscita a livello alto è impossibile perché non transita corrente.
2 Simulazione di inverter dinamico
7
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
* Esercitazione 3
Date/Time run: 06/06/09 09:41:43
Temperature: 27.0
(A) ES3-1_1.dat (active)
7.0V
5.0V
0V
-2.0V
V(2)
7.0V
5.0V
0V
SEL>>
-2.0V
0s
20ns
40ns
60ns
80ns
100ns
V(3)
Time
Page 1
Date: June 06, 2009
Time: 09:41:54
Figura 6: Inverter con keeper - Andamento delle tensioni con Wpkeeper = 2 µm (da netlist in
fig. 4(b))
* Esercitazione 3
Date/Time run: 06/06/09 09:42:20
Temperature: 27.0
(A) ES3-1_1.dat (active)
7.0V
5.0V
0V
-2.0V
V(2)
7.0V
5.0V
0V
SEL>>
-2.0V
0s
20ns
40ns
60ns
80ns
100ns
V(3)
Date: June 06, 2009
Time
Page 1
Time: 09:42:32
Figura 7: Inverter con keeper - Andamento delle tensioni con Wpkeeper = 0, 5 µm (da netlist in
fig. 4(b))
2 Simulazione di inverter dinamico
8
=
$
CC
BY:
3
\
Modelli SPICE per simulare logiche dinamiche
Simulazione di porta logica Domino
4) Si provi a realizzare e simulare un circuito composto dalla cascata
di due porte NOT dinamiche (sfruttando i sottocircuiti descritti in precedenza). I risultati ottenuti sono corretti? Perché? La netlist è stata
aggiornata come segue:
* Cascata di due NOT dinamici
[...]
*** NETLIST ***
XINVD 1 2 3 INV_DOM
XINV2 1 3 4 INV_DOM
*** STIMOLI ***
[...]
*** CAPACITA’ DI CARICO ***
Cl_1 3 0 0.1p
Cl_2 4 0 0.1p
[...]
La simulazione ha prodotto i risultati in figura 8. Si nota una variazione anomala
del valore sull’uscita complessiva V(4) quando V(3) ha valore basso: infatti V(4)
non riesce a sostenere il valore alto (che dovrebbe avere, negando V(3)) e alla fine
del periodo di evaluation si trova di ben 2 V al di sotto dei 5 V attesi.
Il comportamento della cascata di NOT dinamici è causato dal fatto che il MOS
di comando del secondo NOT non si spegne istantaneamente all’inizio dell’evaluation: deve attendere la fine della transizione all’uscita del primo NOT. Solo quando
questo nodo avrà tensione al di sotto della soglia, allora l’uscita generale assumerà il
valore definitivo. Quindi, durante la transizione, essa ha tutto il tempo di scaricarsi
attraverso il secondo NOT, che sta lentamente spegnendosi.
Il problema (irrisolvibile) ha origine quando l’uscita della prima logica ha valore
0 0
1 all’inizio della fase di evaluation, quindi sono accettabili solo i casi in cui:
• gli ingressi rimangano costanti durante l’evaluation;
• le transizioni degli ingressi in evaluation seguano solo lo schema 0 V → VDD .
* Esercitazione 3
Date/Time run: 06/01/09 10:41:50
Temperature: 27.0
(A) ES3-2_0.dat (active)
5.0V
0V
V(2)
5.0V
0V
V(3)
5.0V
0V
SEL>>
0s
20ns
40ns
60ns
80ns
100ns
V(4)
Date: June 01, 2009
Time
Page 1
Time: 10:44:09
Figura 8: Cascata di inverter dinamici - Andamento delle tensioni V(2)=VA , V(3)=VZ1 , V(4)=VZ2
3 Simulazione di porta logica Domino
9
=
$
CC
BY:
(a) Circuito
\
Modelli SPICE per simulare logiche dinamiche
(b) Netlist SPICE
Figura 9: Porta logica Domino
5) Per evitare il problema precedente, è possibile realizzare una struttura
Domino, composta da un invertitore dinamico seguito da un invertitore
statico (figura 9(a)). Si realizzi un file .cir che descrive tale struttura,
ancora composto dai sottocircuiti definiti in precedenza. Si supponga
per semplicità che non sia necessario mantenere il keeper. La precedente
netlist è modificata solo nel nuovo sottocircuito XINVS, che sostituisce XINV2:
* Cascata di NOT dinamico e NOT statico (senza keeper)
[...]
*** NETLIST ***
XINVD 1 2 3 INV_DOM
XINVS 1 3 4 INV_CMOS
[...]
I risultati della simulazione sono plottati in figura 10.
* Esercitazione 3
Date/Time run: 06/01/09 10:46:08
Temperature: 27.0
(A) ES3-2_1.dat (active)
5.0V
0V
SEL>>
V(2)
5.0V
0V
V(3)
5.0V
0V
0s
20ns
40ns
60ns
80ns
100ns
V(4)
Date: June 01, 2009
Time
Page 1
Time: 10:47:23
Figura 10: Porta logica Domino - Andamento delle tensioni (da netlist in fig. 9(b))
3 Simulazione di porta logica Domino
10
4
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
Simulazione di cascata di porte Domino
Figura 11: Cascata di porte logiche Domino
6) Si descriva ora un circuito in cui si realizza una cascata di stadi di
inversione, alternativamente dinamici e statici (figura 11). Si osservi che
la presenza dell’invertitore statico fa sı̀ che durante la fase di precarica
(φ = 0) l’uscita di ogni doppio stadio dinamico-statico sia 0 V, e durante
la fase di valutazione (φ = VDD ) possa solo commutare da 0 a VDD . Si
spieghino le ragioni teoriche, e le si verifichino nel circuito, che permettono di utilizzare la cascata senza manifestare i problemi di cui al caso
precedente (cascata di soli elementi dinamici). La struttura che alterna un
blocco dinamico a uno statico risolve il problema delle transizioni ammesse durante la fase di evaluation (una dimostrazione è nelle tensioni mostrate in figura 10),
infatti:
• l’inverter dinamico accetta in ingresso solo transizioni 0 V → VDD ;
• l’inverter dinamico, allora, ha in uscita solo transizioni VDD → 0 V;
• l’inverter statico nega l’uscita dell’inverter statico, quindi propone un segnale
con sole transizioni 0 V → VDD .
Quindi l’uscita di un inverter statico può pilotare tranquillamente un qualunque
inverter dinamico, e in generale n logiche Domino.
Si spieghi infine perché negli stadi dinamici (escluso il primo) non è
necessario il transistore nMOS che isola la rete di pull-down durante la
fase di valutazione (φ = VDD ). Il transistor nMOS che isola la rete di pull-down
non è necessario perché, per la struttura del circuito, non è mai presente un percorso
conduttivo tra alimentazione e massa tale da porli in cortocircuito: la protezione,
quindi, diventa superflua. Infatti:
• in precharge la prima logica dinamica carica la C1 1 (nodo 3), quindi l’inverter
statico propone un valore basso all’ingresso del secondo NOT dinamico (nodo
4). Questi, allora, ha il nMOS di comando spento, quindi non c’è cortocircuito
tra VDD e massa;
• in evaluation tutti i pMOS dei NOT dinamici sono spenti, perché φ =0 10 , e
parimenti manca un percorso conduttivo che cortocircuiti l’alimentazione.
4 Simulazione di cascata di porte Domino
11
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
Figura 12: Cascata di porte logiche Domino (come da netlist SPICE)
7) Si realizzi e si simuli, con le stesse specifiche di analisi del transitorio
descritte in precedenza, il circuito di figura 11 utilizzando nella netlist
esclusivamente come elementi:
1. un sottocircuito che descriva il primo stadio NOT dinamico (a tre transistori)
detto INV DOM (Inverter Domino);
2. un sottocircuito che descriva il secondo stadio NOT dinamico (a due transistori) detto INV DOM2 (Inverter Domino 2 );
3. un sottocircuito che descriva un inverter CMOS statico detto INV CMOS;
4. capacità di carico delle interconnessioni poste tutte al valore convenzionale
0, 1 pF.
* Cascata di porte logiche Domino
*** MODELLI NMOS E PMOS
[...]
*** SOTTOCIRCUITI ***
* INVERTER STATICO
.subckt INV_CMOS VDD IN OUT PARAMS: Wp=2u Wn=1u
MPI OUT IN VDD VDD PMODA W={Wp} L=1u AS=6e-12 AD=6e-12 PS=10e-6 PD=10e-6
MNI OUT IN 0 0 NMODA W={Wn} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8e-6
.ends
* INVERTER DINAMICO
.subckt INV_DOM VDD IN OUT PARAMS: Wd=1u CLK=20ns
MP OUT 1 VDD VDD PMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
MN 2 1 0 0 NMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
MA OUT IN 2 0 NMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
VPHI 1 0 dc 5 PULSE(5V 0V 0ns .1ns .1ns {clk/2} {clk})
.ends
* INVERTER DINAMICO A DUE MOS
.subckt INV_DOM2 VDD IN OUT PARAMS: Wd=1u CLK=20ns
MP OUT 1 VDD VDD PMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
MA OUT IN 0 0 NMODA W={Wd} L=1u AS=3e-12 AD=3e-12 PS=8e-6 PD=8E-6
VPHI 1 0 dc 5 PULSE(5V 0V 0ns .1ns .1ns {clk/2} {clk})
.ends
*** NETLIST
XINVD1 1 2
XINVS1 1 3
XINVD2 1 4
XINVS2 1 5
***
3 INV_DOM
4 INV_CMOS
5 INV_DOM2
6 INV_CMOS
4 Simulazione di cascata di porte Domino
12
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
*** STIMOLI ***
VVDD 1 0 dc 5
VVA 2 0 dc 0 PULSE(0v 5v 2ns .4ns .4ns 40ns 80ns)
VPHI 7 0 dc 5 PULSE(5V 0V 0ns .1ns .1ns {10 ns} {20ns})
*** CAPACITA’ DI CARICO ***
Cl_1 3 0 0.1p
Cl_2 4 0 0.1p
Cl_3 5 0 0.1p
Cl_4 6 0 0.1p
*** SIMULAZIONE DEL CIRCUITO ***
.tran .01ns 100ns
.probe V(7), V(2), V(3), V(4), V(5), V(6)
.end
Il risultato della simulazione è proposto in figura 13. In particolare si notano le tensioni d’uscita degli stadi dinamici (V(3) e V(5)) afflitte dai problemi di scarica legati
a IS ; queste tensioni non influiscono minimamente sul risultato finale della cascata
V(6), grazie all’azione degli stadi statici intermedi. Una conseguenza facilmente
individuabile, però, è il ritardo introdotto da ogni blocco, che causa una delazione
dell’inizio del fronte di commutazione quantificabile in circa 2, ns tra l’inizio della
commutazione su V(3) e l’azione corrispondente su V(6).
8) Sarebbe possibile utilizzare il secondo stadio dinamico senza il transistore nMOS connesso a φ nel caso si volesse realizzare funzioni logiche più complesse di un singolo inverter (quali ad esempio la funzione
Z = A · B + C descritta nella esercitazione precedente)? Perché? Il funzionamento del secondo stadio dinamico senza nMOS pilotato da φ non è garantito
con ogni funzione logica. Nel caso dell’inverter, la presenza di un solo ingresso di
segnale e la certezza che il segnale d’ingresso attivi il relativo MOS in controfase
rispetto al pMOS di φ (grazie alla logica Domino) permette di risparmiare un nMOS
senza correre rischi.
Qualora si volessero realizzare funzioni più complesse, per risparmiare un nMOS
bisognerebbe assicurare che ogni ingresso di comando sia pilotato da una logica Domino: in tale condizione, ogni ingresso vale 0 00 in precharge ed evita il cortocircuito
di VDD a massa. Se anche solo un ingresso è pilotato diversamente, ad esempio
con comando diretto, allora non è possibile garantire che non siano presenti percorsi conduttivi tra alimentazione e massa, rendendo obbligatorio l’uso del nMOS
connesso a φ.
4 Simulazione di cascata di porte Domino
13
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
* Esercitazione 3
Date/Time run: 06/01/09 11:26:47
7V
Temperature: 27.0
0V
V(2)
7V
0V
V(7)
5.0V
0V
V(3)
5.0V
0V
V(4)
5.0V
0V
V(5)
5.0V
SEL>>
0V
0s
10ns
V(6)
Date: June 01, 2009
20ns
30ns
40ns
50ns
Time
Page 1
60ns
70ns
80ns
90ns
Time: 11:34:14
Figura 13: Cascata di porte logiche Domino - Andamento delle tensioni V(2)=VA , V(7)=φ,
V(3)=V1 , V(4)=V2 , V(5)=V3 , V(6)=VZ (da netlist in fig. 12)
4 Simulazione di cascata di porte Domino
14
=
$
CC
BY:
\
Modelli SPICE per simulare logiche dinamiche
Elenco delle figure
1
2
3
4
5
6
7
8
9
10
11
12
13
Inverter dinamico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inverter dinamico - Andamento delle tensioni (da netlist in fig. 1(b))
Inverter dinamico - Andamento delle tensioni con effetto della corrente IS (da netlist in fig. 1(b)) . . . . . . . . . . . . . . . . . . . . .
Inverter dinamico con circuito di keeper . . . . . . . . . . . . . . . .
Inverter con keeper - Andamento delle tensioni con Wpkeeper = 1 µm
(da netlist in fig. 4(b)) . . . . . . . . . . . . . . . . . . . . . . . . . .
Inverter con keeper - Andamento delle tensioni con Wpkeeper = 2 µm
(da netlist in fig. 4(b)) . . . . . . . . . . . . . . . . . . . . . . . . . .
Inverter con keeper - Andamento delle tensioni con Wpkeeper = 0, 5 µm
(da netlist in fig. 4(b)) . . . . . . . . . . . . . . . . . . . . . . . . . .
Cascata di inverter dinamici - Andamento delle tensioni (come indicate in ascissa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Porta logica Domino . . . . . . . . . . . . . . . . . . . . . . . . . . .
Porta logica Domino - Andamento delle tensioni (da netlist in fig. 9(b))
Cascata di porte logiche Domino . . . . . . . . . . . . . . . . . . . .
Cascata di porte logiche Domino (come da netlist SPICE) . . . . . .
Cascata di porte logiche Domino - Andamento delle tensioni (da
netlist in fig. 12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
5
6
7
8
8
9
10
10
11
12
14
Riferimenti bibliografici
[1] David Esseni. Fondamenti di circuiti integrati digitali CMOS. SG Editoriali
Padova, 2006.
\
=
$
CC
BY:
Quest’opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Non commerciale-Non opere derivate 2.5 Italia. Per leggere
una copia della licenza visita il sito web
http://creativecommons.org/licenses/by-nc-nd/2.5/it/
o spedisci una lettera a Creative Commons, 171 Second Street, Suite
300, San Francisco, California, 94105, USA.
È consentito riprodurre e distribuire liberamente il presente testo, senza apporvi
modifiche e mantenendo sempre riconoscibile il nome degli autori, purché non a scopo di lucro, senza scopi commerciali (direttamente o indirettamente) e per esclusivo
uso personale.
È possibile pubblicare il file o sue parti su siti internet, purché siano citati in
maniera evidente gli autori (Marco Alessandrini, Alessandro Callozzo e Lorenzo
Minghini).
Per qualunque informazione, problematica, suggerimento o reclamo utilizzare
l’indirizzo [email protected].
Elenco delle figure
15