• Non ci sono risultati.

Simulazione SPICE di un inverter CMOS.

N/A
N/A
Protected

Academic year: 2021

Condividi "Simulazione SPICE di un inverter CMOS."

Copied!
10
0
0

Testo completo

(1)

Politecnico

di Milano Facolti

di Ingegneria

dell'Informaztone

Fondamenti di Eletfronica 6lMl20ll -

Anno accademico

20l0l20ll

Simulazione SPICE di un inverter CMOS.

Parte l: Diseeno del circuito

Si consideri il

seguente

invertitore CMOS

realizzato impiegando

due MOSFET

complementari alimentati tra

0V

e 1.5V. Nota sui

simboli: il

transistore

Ml

d un nMOS con

il

source verso massa e

M2 un pMOS con il

source

verso I'alimentazione Vaa. Il terminale centale con la

freccia rappresenta

il

substato

all'interno

del quale d fisicamente rcalizzato

il

tansistore.

I

.?0

0q;0.

Vl.'0

\rZ'

1.5

fB=0

,

TR =

llDfs

TF' lfilis W'' l.tu.

Ll0.ltu"

: '0

I

transistori sono realizzati con un processo CMOS avente le seguenti caratteristiche:

.

Lunghe

zra

dicanale minima: 0.18pm

.

Tensione

di

soglia transistori MOS a canale n:

Vrn:0.5V

.

Tensione

di

soglia transistori N4OS a canale p: V1o=-0.5V

. Mobiliti elettoni:

po

:

500 cm2lvs

. Mobiliti

lacune: po = 200 cm2Ay's

. Capaciti

dell'ossido per unita di area:

C*=1Off/pm2

.

Tensione

di

alimentazione: 1.5V

Per simulare

il circuito ttrlizzare il

programma

Captue. Lo

schema circuitale pud essere scaricato

dall'indirizzo

http://home.dei.polimi.iUferrarillaboratori/labl/labFdEl.zip. Estrarre

il file zip in

una cartella sul desktop e aprire

il file frle20l0a.opj. Lo

schematico si

trova

nelle Design Resources

-)

fde20l0a.dsn -> SCHEMATICI -> PAGEI.

Alternativamente si pud disegnare

lo

schema elettrico mediante Orcad

Captue

seguendo queste indicazioni:

'

Creare un nuovo progetto

(File ->

New

-> Project.,.),

avendo cura

di

selezionare

la

voce

"Analog

or

Mixed ND".

Wr

1.8u.

[:0..19u.

(2)

Per inserire un

componente

cliccate su Place -> Part... si apriri una finestra da cui

d

possibile scegliere

i

componenti.

Nel

caso non

vi

siano librerie selezionate, cliccare su

"Add Library..."

e aggiungerc breakout.olb, source.olb e analog.olb.

Nella libreria

breakout.o/D sono presenti

dei dispositivi ideali

(Mbreakl,l3=

MOSFET N- channel, MbreakP3: MOSFET P-channel, Rbrealercsistenzq Cbrealrcapacita;

la resistenza

e la capaciti si tovano anche nella libreria analog.o/b digitando R e

C, rispettivamente)

mente nella libreria

souree.olb sono presenti

i

generatori

(VDC, VSIN,

VPULSE,

IDC, ISIN, IPULSE...).

Nello

schematico

d

anche necessario aggiungere

i[

componente massa

per indicare

al simulatore

quale nodo

considerare

come riferimento a 0V. Per fare

questo

cliccare

su

"Place -> Ground...",

aggiungere

la libreria

source.olb (presente

nella

cartella PSpice) e selezionare

i[

componente 0, da posizionare nel nodo di massa.

Per

fornire i

parametri del

modello

del transistore bisogna selezionarlo con

il

mouse e dal menu

Edit

sceglierc Pspice Model. Aggiornare quindi la

finesta

che definisce

il

modello nel modo seguente:

pMOS:

.model Mbreakp PMOS +VTO=-0.5

+KP:0.2e-3 +LAMBDA=O rMOS

.model Mbreakn

NMOS +VTO:0.5

+KP:0.6e-3 +LAMBDA=O

dove

VTO=

tensione

di

soglia e

KP=pCo*. In

zona satura

il

simulatore unliz.za,la seguente espressione della corrente

di

drain:

,, - I*$V* - r,of

(r +

r.ttMDA. Yor) (Eq-I)

Il coeffrciente LAMBDA modellizza I'incremento della corrente di drain dovuto allo

spostamento

del

punto

di pinch-off

all'aumentare

della

tensione

tra drain e

source. Salvo dove diversamente indicato terremo questo parametro a 0 ottenendo cosi I'espressione usata a lezione:

," -I*rTVo, -y,oy (8q.2)

Per inserire

i

parametri geometrici

del

transistore

fare un doppio click con il

mouse sul

componente (oppure dal menu

Edit

selezionare

Properties...)

e aggiornare

i

campi

L e W

(Nota:

il

simbolo per

il

micron d la lettera u).

Per I'alimentazione Va1

usate

un

generatore

di

tensione costante

VDC e

impostate

il

parametro

*DC"

al valore

di l.5V

(3)

Per il

generatore

di

ingresso

utilizzate il

componente

VPULSE. Cliccare sul simbolo

e

impostare

i

seguenti

campi: Vl=0V; V2=1.5V; TD=I0p, TR=l00f; TF=l00f; PW:49.9p;

PER=lO0ps.

Questi parametri

definiscono

un'onda

quadra

ta 0 e 1.5V, con un

ritardo

iniziale TD

(delay time)

dt l0ps,

tempo

di

salita (rise time) e tempo

di

discesa

@l

time)

di

100fs, durata a

livello V2

di PW=49.9ps (pulse width), e periodo PER:l0Ops.

Alle linee di collegamento si pud

associare

un nome, utile da richiamare per la

vissalizzazione dei segnali, facendo

click

su Place

->

Net

Alias...,

selezionando

il

nome e cliccando sulla linea.

. E' utile

collocare

un

marker (PSpice

->

Marlcers

->

Voltage leve[) sul nodo

di

uscita per

visualizzare

automaticamente

al termine di una simulazione la tensione di uscita. In

alternativa, per non perdere

le

impostazioni

di

vistalizzazione tra una simulazione e

l'altra, e'

possibile impostare

I'opzione "Last Plof'

nel campo

"Slrow"

della tab

"Probe

Window"

delle impostazioni della simulazione.

Parte 2: Analisi statica

1)

Determinare, mediante simulazione, la caratteristica

di tasferimento

Vou,/Vin

dell'invertitore. A tale scopo dal menu PSpice

selezionare

New Sitnulation ProJile, e dare un nome alla

simulazione.

A

questo punto

si

apre la

finesta

per la configurazione della simulazione, che

in

questo caso va impostata con"Analysis type"

a"DC

Sweep", selezionando poi come variabile

di

scansione *Voltage Source", impostando

il

nome

del

generatore

di

ingresso

e

impostando

gli

estremi

in modo da coprire tutte le

tensioni dell'alimentazione (impostare

un

incremento

di

lmV

o inferiore in modo da ottenere una caratteristica ben risolta con la tensione

di

ingresso).

A

questo punto d possibile far partire la simulazione (PSpice

-)

Run, oppure

Fl l).

Riportare la curva caratteristica quotando

i

prurti piri

significativi.

Nota: abilitare la firnzione Cursor (Trace -) Cursor -> Disploy) per attivare due cwsori

(uno controllato dal tasto sinistro del mouse e uno dal tasto desho) e vis;.nlizz.are le tensioni della curva caratteristica.

Come potete

osservare

sono visibili 5 regioni distinte della

caratteristica

Vin-Vout

ciascuna associabile

al

differente regime

di

funzionamento dei transistori. Indicate

sul grafico le regioni di

funzionamento dei due transistori nei vari tratti della caratteristica e confrontati

i valori

di passaggio da una regione

all'altra

con quelli attesi dalla teoria.

(4)

Determinare

dalla

simulazione

la

soglia

di

commutazione

dell'inverter e

confrontarla

con

quella teorica:

vrHdasimuratorc=

6 93

,5 nnV

Calcolo teorico della soglia

di

commutazione

\our=V',,rs VD"/

VrHt*ri.a= ab rc hN'

2)

Determinare

i margini di

rumore

dell'invertitore.

Per visualizzare

la

derivata della tensione

di

uscrta,

utile

per calcolare a quale tensione

di

ingresso la pendenza della caratteristica diventa -1, si aggiunga una traccia con

il

comando Trace

->

Add

trace

del postprocessore grafico Probe e si

digiti "D(V(Tout))",

dove

D0

e I'operatore

di

derivata

e

Vout

il

nome corrispondente

al

nodo di uscita.

3)

Tracaiare loassorbimento

di

corrente dall'alimentazione

Ve,l

al variare della tensione

di

ingresso

Vin. A questo scopo si

eseguano

rura delle due

seguenti

operazioni: a) posizionare

sullo schematico

un marker di corrente su uno dei due terminali del

generatore

Ve"r; b)

dal progftrrnma Probe aggiungere una

haccia (Add

Trace)

e

selezionare

la

corrente circolante

in

V,cA tra quelle

disponibili. In

enftarnbi

i

casi d consigliabile rimuovere le

tacce di

tensione non utiliz.z.ate, o

in

alternativa aggiungere un grafico alla finestra, in modo da avere scale ragionevoli sia per la tensione che per la corrente (Plot

->

Add

Plot to

Window)

vos.io:

,f r

l53V

VrL.o : 6l6rrV

VoL

.o = 6

{

,J*Y NM(0)= o tS 19V

Vnr.io=?3trmp' NM(l): OtTaSV

Come potete ossery.ue

i

margini

di

rumore

di

un invertitore CMOS sono elevatissimi, permettendo di tollerare dei rumori e dei disturbi pari a circa un terzo della tensione di alimentazione.

(5)

Per quale

Vin

si ha la conente massima?

Cbln"V

Quanto vale la corrente

massima?)3/636 \l\

Giustificare teoricamente

i valori

di tensione e di corrente massima

forniti

dal simulatore.

N 6gtvrrr/ Srtw.O. i

^c\d1 "rwa

r'rr{a^q }tvrt ;

C'ar^o*G-

n, b4V P

\^ = Ln(V5t.,r-\ T= r [V.,'-rf nxu \ )"' s Vna-

per avere dissipazione di potenza statica nulla con quali

valori

della tensione di ingresso bisogna operare?

\n1g" otr*-, 0 cm5hvpr fi V." (\S*{Vrrb..nn^rJ of.6n* {,'\

$ffi= C( o.iro^, Vp) V*. \.'.= Y

Approfondimento focoltativo: Provate a ripetere i pr:nti l-2-3

considerando

I'effefio

dello sp6stamento del punto

di pinch-off. A

questo scopo

modificate i modelli di

entrarnbi

i

transistori impostando

LAMBDA:O.

I .

Parte 3: Analisi del transitorio di commutazione

Si assuma di collegare all'invertitore in esame un secondo invertitore con le

medesime

caratteristiche, modellizzandolo con una capacita

di valore

Ct=2'Co*

WL = 6.48ff

collegata

tra il

nodo di uscita e massa.

Per

I'analisi

controllare

i

parametri di

Vin:

fare doppio

clic

sul suo simbolo e visualizzare

i

seguenti campi:

V1=0V; Y2=1.5Y; TD:10p,

TR=100f;

TF:100f;

PW=49.9p; PER=lOOps. Questi parametri definiscono un'onda quadra tra 0

e

1.5V, con un ritardo

iniziale TD

(delay time)

di

10ps, tempo

di

Qualitativamente sono cambiate le caratteristiche

Vin-Vout

e Vin-I,q"{?

Quantitativamente di quanto sono cambiati la soglia

di

commutazine (V1g) e la corrente massima

Iea,-o?

Variazione percentuale di

Vrs:

Variazione percentuale

di

I6,qp6;.:

Dopo aver svolto anche le parti 3 e 4 del laboratorio provate a-pensare (ed eventualmente simulare)

come

cambiano

i tempi di

commutazione

e la

potenza dissipata considerando

l'effefio

dello spostamento del punto di

pinch-off.

'

(6)

salita

(rise

time) e tempo

di

discesa

(all time) di l00fs, duata

a

livello V2 di

PW=49.9ps (pulse width), e periodo PER=100ps.

Per eseguire

la

simulazione, creare un nuovo

profilo

(PSpice

->

New Simulation

Protile),

con

tipo di analisi "Time Domain (Transient)",

impostando

"Run to Time" a

500ps

(intervallo

temporale

simulato) e il "Muimum step size" a 100fs

(passo

temporale massimo rtilizzato durante la

simulazione).

A

questo punto, mettete un marker sul nodo

di

uscita per visualiz.z.zrme la tensione e fate partire

la

simulazione.

4) Dal risultato della

simulazione determinare

i tempi di

commutazione associati

alle

hansizioni

degli

ingressi

0)l e 1)0.

Per

sempliciti si

consideri

il

tempo richiesto

al

nodo

di

uscita per raggiungere Y 61./2=0.7 5Y .

5) Modificare

le dimensioni del transistore nMOS per rendere uguali

i

due tempi commutazione e

verificare tramite

il

simulatore la correttezz.a della soluzione proposta

6) A lezione

avete

visto due

approssimazioni,

una per

eccesso

(il MOS d sostituito da

una resistenza equivalente

R"q=Vu/Ioo1)

e una per

difetto (il MOS

considerato

in

zona satura per tutta

la

commutazione), per stimare

i tempi di

propagazione

di

una porta logica. Confrontare

i

risultati forniti

dal simulatore con le due stime.

Stima per eccesso:

to+r:tr+o:

\- 2rt9 f S

Enore percentuale rispetto al

simulatot"=26'/u

b+r: 5t S

tr)o= 2 f t

Giustificare perch6

i

due tempi non

coincidono.

L\o51,-ov-^*

cx l.c^w.,**\nt" L,L y''r-t "A- tb rm'- !nr\, 0-ad\t^R\^S,@

tt t** qa -rin4\c*

..,

r\

l*t= "& h- A^,o"> .d' t* un^ l^^fta ,".{\,[kN

Modifica proposta: fuorlot*, w1"{" L K

dan

oolc; o, pryol cyfwi, n^lL b."ftr*,

t(7 g"^""""n- t ilft * bqf {^ i{, lfr(..

u

Nuovi

tempi di propagazione:

to+r: If '

tr)o: 9Y

E

(7)

Stima per difetto:

b+r==tr+o=

tlp+t,

fl s

Errore percentuale rispetto al

simulatore

W ?r!%

Parte 4: Analisi della notenza dissinata

7)

Determiniamo tramite

il

simulatore

lapotenza

media dissipata dal

circuito.

Per visualizzarc

la potenza istantanea erogata dall'alimentazione, dopo aver effettuato la simulazione

nel progranuna Probe

cliccare su

Trace

-> Add

Trace...

quindi

inserire VCX)*ICX)

in cui X

C

il

nom€

del

generatore di tensione dell'alimentazione (es.

I(Vs)*V(Vne

)) e cliccare su OK.

E' possibile visualizzare

direttamente

la

potenza

media dissipata cliccando su Trace -)

Evaluate Measuremsnl

s

vfiliz.zando

il

comando

TPnW2(XY)

che trovate

nella sottofinesta

Functions

or Macros In

questo comando

X d I'integrale della

potenza istantanea, calcolabile con

il

comando S(.) e

Y

e

il

periodo della tensione

applicat4 l00p

nel nostro caso.

Il

comando completo si presenta quindi come:

TP mW 2 (S (I (Vaa) *V (Vaa) ), 1 0 0p)

A

questo punto

il

valore della potenza dissipata d visualizzato

finesta di

dialogo, espresso

in

mW.

Eseguire

la

simulazione

in differenti condizioni e

confrontare

i risultati ottenuti con i valori

attesi dalla relazione della potenza dinamica. Per non perdere le impostazioni

di

visualizzazione

fa una

simulazione

e I'alt4 e' consigliabile

selezionare

I'opzione "Last Plof'nel

campo

"Show"

dellatab "Probe

Window" delle impostazioni della simulazione.

cahn2

Condizione Potenza dissipata - simulatore Potenza dissioata - teorica

Valori

dati in orecedenza nel testo o

'l\S

{

mW O;4(

5J n"W

Raddoppio della tensione di

alimentazione (Va,a:3V

e generatore

di

ingresso con

Vl=0

e

V2:3V)

or58141 uw

O

I 5{3Jr'u,Vtt

Raddoppio della frequenza (modificare i parametri del generatore di ingresso con

VI:OV; V2:1.5V;

TD=10p,

TR=l

00f;

TF:l

00f;

PW:24.9p;

PER:50os)

o )2216 uvr O,lz,

G

nW

Transistori piir conduttivi: portare la larghez,za di entrambi

i

transistori a

W=

18um

o

I 29 46 n'.\rr/ O;29 / d r..V,l

Transistori molto

meno conduttivi: portare

lalaryhena di entrambi i transistori a W-

0.18um

otfil 69mr,v 0;?94 ( nut

(8)

Tra quali

valori

commuta

il

nodo di uscita nel caso

di

W=0.18 pm ? Pq'v

*+ec 96,2oft."y-h?4/0 rh{ ,$

rV.;ff

hrnla

Provate a riprendere

I'analisi

della potenza dinasrica fatta

a

lezione adattandola

a

questo caso

in

cui

I'uscita

non commuta a piena dinamica.

Gk** *pb L vsE=#rr++ fr= * fy^il= Q.(Vrq^4dil'V"

b.

I

h[!€=\i,= Af*r '

Nuova espressione della potenza dinamica:

Po =4C.(v"*^Y-n,) lt*

Valore teorico della potenza

dinamica:

O

lQqS ,mW

Valorafomito

dal simulatore della potenza

dinamica:

O

l@S V/

Come vedete

la

semplice espressione della potenza dinamica permette

di

calcolare

con

estrema precisione la potenza dissipata in tutte le condizioni!

Come potete osservare

in tutti i

casi hanne

l'ultimo il valore fomito dal

simulatore coincide con I'espressione della potenza dinamica. Per capire perch6

nell'ultimo

caso apparentemente la potenza dissipata non d valutata correttamente visualizzate I'andamento della tensione in uscita

dell'inverter.

8)

Ripristinare

il

rapporto

di forma Wn:Wo:l.8pm; Ln=Lo:0.l8pm e modificare i

parametri del generatore in ingresso come segue:

Vl:0V; Y2:1.5;

TD=O,

TR:499p; TF:499p; PW:lp; PER:ln.

In

questo

modo si riduce

notevolmente

la

pendenza

del

segnale

in

ingresso,

che ora

ben approssima un' onda friangolare.

Simulare

la

potenza

media

dissipata

dal circuito,

avendo cura

di

impostare

i parameti

della simulazione per simulare qualche periodo, e confrontare

il

risultato con

il

valore atteso dal solo contributo dovuto alla potenza dinamica.

Potenza media dissipata simulata Potenza dissipata dinamicamente (teorica)

Per capire perch6

i

due

valori

non coincidono, d utile eseguire una nuova simulazione

minimizzando lapotenza, dissipata per la commutazione della capacita'

Cr,

(impostandola a un valore molto piccolo, per esempio

le-l8

F) e visualizzando I'andamento della corrente assorbita dall'alimentazione.

(9)

Potenza media dissipata simulata senza

capaciti

di carico:

Andamento della corrente assorbita dall'alimentazione (riportare

ur

solo periodo):

Ie"l

Come potete osservde I'andamento d analogo a quello trovato al punto 3.

Il

conhibuto

di

potenza' dissipata presente

in

questo caso, chiamato

di cross-conduzione,

d

quindi

dovuto all'accensione

,ori^poronea

dei due transistori che causa

un

passaggio

diretto di

corrente dall'alimentazione verso

**ru. Il contributo d

tanto

piir significativo

quanto

piir i fronti di

salita

e di

discesa del segnale in ingresso sono lenti perchd tengono accesi entrarnbi

i

transistori per un tempo maggiore.

In-condizioni

operative

normali in cui il

segnale

in

ingresso proviene

da una porta logica di

caratteristiche analoghe

la

potenza dissipata per cross-conduzione d trascurabile rispetto a quella dinamica.

Approfondimento per i pin volenterosi. Verifichiamo I'ultima affermazione fatta al

punto

pieceiente

effettuando

una

simulazione

della

poterwa dissipata

in

funzione

della

pendenza della iensione

in

ingresso.

A

tal motivo, sempre con capacita' Cr trascurabile, inseriamo nello schematico un pararnetro

globut" in

modo da effettuare una simulazione parametrica al variare della pendenza

delL

tension"

di

ittgtrsso. Inserire

in

r:n qualsiasi punto

dello

schematico

il

componente

PARAM

presente

nella libreria special.olb fare doppio clic

su

di

esso

in

modo da

aprire la

finesfra edit 'properties.

Cliccare su

New

Row e aggiungere un nuovo parametro decidendo

il

nome (es. slope) e

ittririt" in value il valore di default, 100f. Cliccare con il

tasto

desto sulla riga con il

nuovo

parametro

e

andare su

Displry ->

Display

format

value and name

in

modo da visualizzare sullo schematico

il

nuovo parametro e

il

suo valore.

A

questo punto occorre modifrcare

il

generatore

di

segnale di ingresso come segue:

V I

:0V;

V2= 1.5V;

TD:

1 0p,

TR:

{ slope} ;

TF:

{slope} ;

PW:{

500p-slope} ; PER: I

n

In

questo

modo

impostiamo come parametri

TR e TF il valore

presente

in

slope.

Ora

occorre

modificare le proprieta della simulazione attivando I'opzione parametric sweep

presente su transient,e

cliciari

su global parameter, aggiungere

il

nome del parametro da far variare durante la simulazione slope e aggiungere

invalue

/isr

i valori

che esso deve assumere nelle varie simulazioni;

nel nostro caso inseriamo

lp

3p 10p 30p 100p 300p.

Awiare

la simulazione.

Per visualizzare

la

potenza dissipata

in funzione della

penderua dei

fronti di

commutazione su Trace

e poi

su

performance

analysis

e cliccare OK; in

questo

modo si

apre

un grafico in

cui

nell'asse

delle

ascisse

d utilizzato il paramefo

slope.

A

questo punto

d

possibile visualizzare le

(10)

grandezze

elettriche in funzione di

questo

parameto, in particolare

andiamo

a visnliz.zare la

potenza

media

dissipata

cliccando su

Trace

->Add trace e

inserendo come

visto in

precedenza I'espressione:

rPmW2(S(YOI(.)),1n)

Tracciare

il

grafico risultante, utilizzando una scala

logaritnica

per I'asse

x in

modo da evidenziare bene I'andamento della potenza dissipata su

tutti i valori

del tempo

di

salita. Per impostare la scala

logarieric4

selezionare

l'opzione

corrispondente in Plot ->

Axis

Settings.

Dall'analisi

svolta al punto 3 sappiamo che

il

tempo di propagazione della porta logica d circa 5ps, ciod che la

tansizione

della tensione in uscita (da 0 a Vaa o viceversa)

awiene

in circa l0ps.

Per una slope

di l0ps

quanto vale

la

potenzadissipata per cross-conduzione?

Quanto vale percentualmente rispetto alla potenza dissipata dinamicamente?

Come potete osservare quando una

porta logica

comanda

un'alta

porta

logica di

caratteristiche analoghe (situazione

molto

comune

in un

sistema

digitale) la

dissipazione per cross-conduzione non riveste un ruolo significativo.

Riferimenti

Documenti correlati

Da quando l’amnistia è stata assoggettata, con riforma costitu- zionale, a maggioranza qualificata, ossia all’inoperatività di fatto, la prescrizione è diventata,

Nell'ottica di un continuo supporto alle PMI europee nel loro approccio al mercato giapponese l'EU-Japan Centre organizza gli "Export Support" webinars in

Abrams, una garanzia in qualunque film arrivi a musicare) e la fotografia dell’italo-americano Salvatore Totino (The Da Vinci Code, Frost/Nixon, Angels & demons), completano

D: Documento: CAPITOLATO TECNICO; punto 3.1, d) “Somministrazione e analisi questionari Dirigenti Scolastici”: l’individuazione del campione a cui

E’ proprio vero che ognuno di noi ricorda gli anni della propria giovinezza come i migliori della sua vita.. essi infatti rappresentarono per me anni

Nell’ambito della campagna Nastro Rosa il Centro di Diagnostica Senologica della ASL1 Imperiese in collaborazione con la sezione provinciale di Imperia-Sanremo della LILT

Prima della nostra sigla, la regia ha mandato in onda il commovente appello di Giulio, il concorrente che è stato eliminato la settimana scorsa e che, come ci aspettavamo, è

99 Ora adempimento come ora l'esame è formale uno stanco e autoreferenziale: la sintesi della scuola attuale (obbligo e burocrazia)?. di