Documente Academic
Documente Profesional
Documente Cultură
Se va realiza un repetor (buffer) digital, schematic si symbol, folosind doua instante ale inversorului digital realizat la laborator.
Asupra acestuia se vor rula toate testele si masuratorile prezentate in laboratorul 2 (partile 1, 2, 3 si 4) si laboratorul 3 (partile 1, 2, 3 si 4).
Atunci cand rulati analizele se va salva si nodul intermediar care leaga cele doua inversoare ce constituie buffer digital.
Acest nod va fi prezent pe grafice impreuna cu Vin si Vout si va trebui corelat cu observatiile/explicatiile.
Toate rezultatele de simulare relevante se vor salva sub forma de imagini si tabele pentru a fi incorporate usor in referat.
Unde se prezinta forme de unda se vor utiliza markeri (tastele A, B si M) pentru a evalua punctele importante de pe forma de unda.
Indicatii:
3. Un referat care sa contina formele de unda, tabelele cu valori numerice masurate si, cel mai important, explicatiile si observatiile voastre.
Observatie: numele fisierului o sa respecte urmatorul format Grupa_NUME_Prenume.docx/.pdf.
Puteti desigur discuta cu colegii daca va impotmoliti pe parcurs in ceva, insa nu se accepta schimbul de rezultate, i.e. poze, tabele, observatii.
BUFFER
Se va realiza un repetor (buffer) digital, schematic si symbol, folosind două inversoare digitale.
➢ SCHEMA REPETORULUI
1
➢ LABORATOR 2 - PARTEA 1/4
Analiză de tip OPERATING POINT
Schema pe care se vor realiza simulările:
2
Se va realiza o analiză DC de tip operating point pentru semnalele vin, vout, vintermediar, vdd și
vss și se va folosi un corner pentru procesul tehnologic nominal (NN).
Graficul curenților:
V1 reprezintă curentul care circulă prin buffer. Acesta se datorează faptului că ținem intrarea la
un potențial care nu este nici ’ 0’ logic nici ‘ 1’ logic, este undeva intermediar. Astfel dispozitivele sunt
deschise.
Graficul tensiunilor:
3
➢ LABORATOR 2 - PARTEA 2/4
Analiza parametrică de tip DC SWEEP
Se realizează o analiză de tip DC, de variabilă v_input, care va porni din 0 și se va opri la 3.3V. Alegem
o analiză de tip liniar, în care punctele sunt uniform distribuite, iar dimensiunea pasului este de 10mV.
Temperatura utilizată este cea prestabilită, adică 27 °C și se va folosi un corner tehnologic NN.
Sursa care alimenteaza tot este V1, prin ea circulând curenții de drenă. Sursa V0 se duce in porți
și ar trebui sa aibă un curent apropiat de valoarea 0, mai ales fiind într-o schemă dc unde condensatoarele
sunt goluri.
4
O poartă logică nu are consum, adică consumul ei static este aproximativ 0. Dacă este în
valoarea ‘0’ logic sau ‘1’ logic acest consum este de ordinul nanoamperilor în ambele capete, lucru care
se poate observa și în următorul grafic. Se constată că la un moment dat consumă foarte mult, valoarea
de vârf fiind 1 mA. Acest lucru se întâmplă în timp ce comută, tocmai de aceea, comutația trebuie să
aibă loc într-un timp cât mai scurt.
Un astfel de consum într-un timp îndelungat poate cauza probleme precum încingerea plachetei
sau consumul bateriei. Observăm ca acest consum începe să crească în momentul în care vintermediar
începe să scadă. Totodată consumul se termină când vintermediar ajunge la valoarea de 0. Raportându-
ne la tensiunea vin observăm că acesta apare când ajunge la valoarea de 400mV; motivul pentru care
începem să inregistram consum este faptul dispozitivele nmos și pmos trec în faza în care având tensiunea
Vgs = 0.4 V încep să se deschidă. În momentul în care se ajunge la valoarea de vârf de 1 mA dispozitivele
pmos si nmos conduc foarte mult. În continuare se observă o descreștere a consumului deoarece la 2.9V
tensiunea Vsg a pmosului se apropie de tensiunea de prag deci dispozitivul se închide.
5
Din graficul de mai sus se observă că pragul semnalului intermediar nu este la jumatatea lui vin
așa cum ar fi trebuit, acesta este undeva la 1.2V. Acest lucru se întâmplă dic cauza faptului că nmos are
mobilitatea de 3 ori mai mare decât pmos, motiv pentru care pragul este deplasat (skew). Pentru a
rezolva această problema vom modifica latimea dispozitivelor pmos. Se observă rezultatul după
modificare:
Se va realiza o analiză parametrică de tip DC pentru 5 valori ale lățimii dispozitivelor pmos: 2u
3u 6u 12 u 18u și se va analiza graficul de mai jos:
6
Tensiunea de prag pentru semnalul de ieșire și cel intermediar în funcție de lățimea dispozitivelor pmos:
Se va realiza o analiză pentru 5 valori ale temperaturii (-40 °C, 25 °C, 85 °C, 125 °C):
Se va realiza o analiză pentru 5 procese tehnologice (NN, FF, SS, SF, FS):
7
➢ LABORATOR 2 - PARTEA 3/4
Analiză de tip TRAN
Se va realiza o analiză tranzitorie pe o durată de 10ns cu o acuratețe de tip conservative pentru o
precizie cât mai bună. Se va folosi o sursă de tip pulse pentru a genera un semnal dreptunghiular cu
palierul inferior de 0V și cel superior parametrizat cu v_supply, de perioadă 5 ns, delay de 2.5 ns, rise time
și fall time de 100ps și lățimea pulsului de 2.5 ns. Se va adăuga o sarcină, adică un condensator, pentru a
fi o sarcină dinamică care să nu tragă un curent continuu ca să influențeze pragurile dar totuși să îl
încetinească și să imite o altă poartă logică. O poartă logică are o sarcină capacitivă pe care o prezintă la
intrare. Valoarea condensatorului va fi parametrizată.
Inițial se va seta valoarea condensatorului la 1 fF deoarce este nevoie de o valoare extrem de mică
pentru a fi neglijabilă prezența lui.
8
Se realizează o analiză în funcție de variația lățimii dispozitivelor pmos și se vor obține
următoarele forme pentru semanlele vin, vintermediar și vout:
Când semnalul intermediar trebuie să facă tranziția din ‘1’ logic în ‘0’ logic, cel mai ușor aceasta
se realizează pentru o lățime minimă deoarce curentul de drenă este proporțional cu lățimea. La polul
opus se află cazul în care lățimea este de 18u, când pmos-ul este foarte puternic, iar nmos-ul are nevoie
de un Vgs foarte mare, motiv pentru care tranziția este mai lungă.
Pentru tranziția din ‘0’ logic în ‘1’ logic a semnalului intermediar pmos-ul are nevoie de un Vsg
foarte mare ca să învingă nmos-ul deci tranziția are loc foarte târziu, potiv pentru care în cazul lățimii de
2u tranziția este cea mai lungă. Pentru 18u, pmos-ul fiind puternic are nevoie de un Vsg mic pentru a
învinge nmos-ul motiv fapt care duce la o tranziție scurtă.
9
În continuare se va considera cazul median în care lățimea este de 6u. Vrem să vedem care este
intervalul de timp între tranziția prin 50% a semnalului vin și tranziția prin 50% a semnalului vintermediar,
folosind marker-ii A și B. Astfel se determină un interval de 31.85 ps pe edge-ul crescător al vin.
În continuare s-au determinat valorile pentru rise time și fall time, marker-ii fiind dispuși la 10%
și 90% din semnal adică la valorile de 0.33V și 2.97V.
10
Valorile pentru rise time și fall time pentru lățimea de 6u sunt prezentate în următorul tabel:
Pentru 1 p F se observa ca abia apuca sa termine tranzitia. Incepe sa semene mai mult cu un sinus
decat cu un semnal dreptunghiular. Timpul de propagare si de tranzitie este strans legat de capacitatea
de sarcina de aceea s a si facut conceputl de fan out.
11
Se va realiza o simulare în funcție de variația temperaturii (-40 25 85 125 °C) și se vor observa
graficele pentru vout și vintermediar:
Se observă că poarta cea mai agilă este la -40 °C și cea mai lentă la 125 °C deci se observă
importanța mobilității. Totuși această varație depinde și de tensiunea de alimentare deoarece expresia
1 𝑊
curentului prin dispozitive este 2 µ𝑛 𝐶𝑜𝑥 𝐿
(𝑉𝐺𝑆 − 𝑉𝑇 )2 , iar dacă VGS este foarte mare și 𝑉𝐺𝑆 − 𝑉𝑇 este mult
mai mare decât este variația mobilității, poate domina și acesta.
Se va realiza o analiză în funcție de cornerele de proces (NN, FF, SS, FS, SF)
12
Cornerul nominal se află la jumate și pe edge-ul crescător al semnalului de ieșire cît și pe edge-ul
descrescător al semnalului intermediar. La fel se întâmplă și când ne aflăm pe edge-urile opuse ale celor
două semnale.
Se realizează o simulare în funcție de variația tensiunii. Astfel alegem pentru v_supply valorile 2V,
1.8V, 1.V și 1V. Se observă că dispozitivul merege din ce în ce mai greu cu cât tensiunea este mai mică.
13
➢ LABORATOR 2 - PARTEA 4/4
Analiză de semnal mic de tip AC
Întâi se va defini un test de tip DC pentru variabila v_input, de la0 la 3.3V, având Sweep Type liniar cu
pasul de 10mV. Simularea se va face pe cornerele de proces (NN, FF, SS, FS, SF) urmărindu-se pragurile de
tensiune atât pentru vintermediar cât și pentru vout.
Cursorul orizontal este poziționat la 1.65V, iar cursorul vertical este poziționat unde avem
tranziția prin semnalul roșu (adică cel pentru procesul tehnologic NN). Pragul în acest caz (NN) se află la
1.7 V. Analizând graficul ne așteptăm ca SF si FS să aibă amplificări diferite. În cazurile NN, SS și FF, când
pragurile se află aproape de 1.65V, există suficientă tensiune pentru ca atât nmos-ul cât și pmos-ul să se
afle în saturație, aflându-se în regiunea în care amplifică. Pentru cazul FS nmos-ul va fi în afara regimului
de saturație deoarece tensiunea VDS va fi foarte mică, ceea ce îl va forța să intre în regiunea liniară. Pentru
SF pmos-ul va fi în regiunea liniară.
14
Vom înlocui la intrare sursa curentă cu o sursă vdc, având tensiunea de mod comun de 1.7V,
alături de o a doua sursă vsin cu amplitudinea de 1mV, delay-ul de 10ns si frecvența de 100kHz.
În continuare vom realiza o analiza transient pe o durată de 10us și se vor reprezenta grafic vin,
vintermediar și vout.
Se observă că amplitudinea vârf-la-vârf a lui vin este de aproximativ 2mV. Pentru determinarea
amplitudinii vârf-la-vârf la la vintermediar și vout pentru cele 5 procese tehnologice, se vor mări semnalele
pentru a se observa forma sinusoidala și se vor folosi marker-ii.
15
Pentru Vout se obține: Pentru vintermediar se obține:
Pentru cazul nominal se constată că smenalul sinusoidal nu este distorsionat deoarece am aplicat
un semnal mic, adică un semnal de amplitudine foarte mică pentru care se pot liniariza nmos-urile și pmos-
urile, aflate în saturație. Amplitudinea vârf-la-vârf este de 30mV deci raportându-ne la vin a cărui
amplitudine este 2mV rezultă că există un câștig de 15x. În cazul vout câștigul este de 130x ceea ce
înseamnă că buffer-ul se comportă ca un amplifcator. Când vin forțează un vout exact la jumătatea
alimentărilor, câștigul este cel mai bun, iar dispozitivele sunt în regimul necesar cât să putem fi siguri că
sunt în saturație. Pentru cazurile FS atât la vout, cât și la vintermediar, nu avem niciun câștig.
Modificăm amplitudinea lui vin la valoarea de 100mV. Astfel se obține graficul pentru vout și
vintermediar:
În acest moment se observă că formele de undă sunt distorsionate și nu mai sunt sinusoidale.
Distorsiunile apra din cauza faptului că semnalul de intrare este prea mare, iar semnalul în mod normal
ar trebui să se amplifice la fel indiferent de valoarea sa, lucru care în această situație nu se întâmplă.
16
Se va realiza o analiză AC care pornește de la 1Hz și se oprește la 100 GHz, cu Sweep type
logaritmic, având 10 puncte pe decadă. Se va adăuga la intrare o sursă vdc cu magnitudine de 1V.
Din această analiză se poate extrage câștigul la frecvență foarte redusă. Totodată se observă că
se pot amplifica semnale până la 100 MHz, de la 1 GHz, amplitudinea începând să scadă.
17
➢ LABORATOR 3 - PARTEA 1/4
Analiză de tip OPERATING POINT utilizând Calculator
Se va aplica o tensiune de alimentare constantă de 3.3V și o tensiune de intrare constantă de 1,696V,
iar lățimile pmos-urilor se vor face parametrizabile.
Vom alege width_pmos=6u deoarece anterior s-a ajuns la concluzia că această valoare este
optimă deoarce compensează mobilitatea diferită a pmos-ului față de nmos.
Rulând simularea cu un corner tehnologic NN la temperatura predefinită (27 °C) se obțin valorile:
Nodul Tensiunea
vdd 3.3V
vss 0V
vin 1.696V
vout 1.402V
vintermediar 1.715V
18
Folosind funcția de Calculator a programului care permite printre altele obținerea rezultatelor
unei analize de tip OP și prelucrarea lor.
Se va realiza o analiză de tip OP folosind procesele tehnologice NN, FF, SS, FS si SF la temperatura
predefinită de 27 °C, pentru determinarea unor valori precum: vdd, vss, vin, vintermediar, vout, V1/PLUS,
V1/MINUS. Astfel se obține următorul tabel:
Test Parameter C1
gpdk.scs NN
Output C1
tema:testbench_op_calculator:1 VDC("/vdd") 3.3
tema:testbench_op_calculator:1 VDC("/vss") 0
tema:testbench_op_calculator:1 VDC("/vin") 1.696
tema:testbench_op_calculator:1 VDC("/vout") 1.403
tema:testbench_op_calculator:1 VDC("/vintermediar") 1.716
tema:testbench_op_calculator:1 IDC("/V1/PLUS") -2.17E-03
tema:testbench_op_calculator:1 IDC("/V1/MINUS") 2.17E-03
19
Se va realiza o simulare atât la temperaturi diferite (-40 25 125) cât și la procese tehnologice
diferite (NN, FF, SS, SF, FS).
În graficul următor se observă variația tensiunii la diferite procese tehnologice în funcție de temperatură:
În graficul următor se observă variația tensiunii la diferite temperaturi în funcție de procesele tehnologice:
20
Rezultatele analizei se prezintă în următorul tabel:
Parameter 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
gpdk.scs NN NN NN FF FF FF SS SS SS FS FS FS SF SF SF
temperat -40 25 140 -40 25 140 -40 25 140 -40 25 140 -40 25 140
ure
Test Output Min Max 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
tema:testbench VDC("/vdd 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3 3.3
_op_calculator: ")
1
tema:testbench VDC("/vss 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
_op_calculator: ")
1
tema:testbench VDC("/vin 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69 1.69
_op_calculator: ") 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
1
tema:testbench VDC("/vou 6.00 3.3 2.94 1.59 1.74 6.98 3.33 1.83 3.20 2.83 1.53 3.3 3.29 3.23 6.00 1.05 1.74
_op_calculator: t") E-03 4 7 E-01 E-01 E-01 E-01 8 4 E-01 7 2 E-03 E-02 E-02
1
tema:testbench VDC("/vint 2.86 2.82 1.30 1.70 2.28 1.76 1.97 2.34 9.28 1.45 2.25 2.86 3.65 5.95 2.72 2.75 2.82
_op_calculator: ermediar" E-01 8 4 3 7 6 3 2 E-01 9 6 E-01 E-01 E-01 9 8 8
1 )
tema:testbench IDC("/V1/ - - - - - - - - - - - - - - - - -
_op_calculator: PLUS") 2.74 8.35 1.98 2.17 1.37 2.74 2.32 1.66 1.18 1.60 1.09 9.78 9.48 1.05 1.07 9.84 8.35
1 E-03 E-04 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-04 E-04 E-03 E-03 E-04 E-04
tema:testbench IDC("/V1/ 8.35 2.74 1.98 2.17 1.37 2.74 2.32 1.66 1.18 1.60 1.09 9.78 9.48 1.05 1.07 9.84 8.35
_op_calculator: MINUS") E-04 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-03 E-04 E-04 E-03 E-03 E-04 E-04
1
21
➢ LABORATOR 3 - PARTEA 2/4
Analiza DC SWEEP utilizând Calculator
Se va determina pragul de tensiune pentru vout si vintermediar la mai multe valori ale latimii pmos-
urilor cu ajutorul calculatorului. Se calculeaza valoare curentilor V1/MINUS la tensiunea de prag pentru
vout și vintermediar. Rezultatele se află în tabelul de mai jos:
Parameter 0 1 2 3 4
gpdk.scs NN NN NN NN NN
width_pmos 2.00E 3.00E 6.00E 1.20E 1.80E
-06 -06 -06 -05 -05
Test Output Min Max 0 1 2 3 4
tema:testbe cross(VS("/vintermediar") 1.65 1 "either" nil nil 1.217 2.195 1.217 1.386 1.7 2.054 2.195
nch_dc nil)
tema:testbe cross(VS("/vout") 1.65 1 "either" nil nil nil) 1.246 2.167 1.246 1.406 1.697 2.034 2.167
nch_dc
tema:testbe value(IS("/V1/MINUS") cross(VS("/vout") 1.65 1 1.16E 3.04E 1.16E 1.50E 2.13E 2.83E 3.04E
nch_dc "either" nil nil nil)) -03 -03 -03 -03 -03 -03 -03
tema:testbe value(IS("/V1/MINUS") 1.02E 2.71E 1.02E 1.40E 2.14E 2.56E 2.71E
nch_dc cross(VS("/vintermediar") 1.65 1 "either" nil nil -03 -03 -03 -03 -03 -03 -03
nil))
Se obține graficul de mai jos din care se observă că pe măsură ce lățimea pmos-ului crește, pragul
se duce din ce în ce mai sus atât pentru vintermediar cât și pentru vout:
22
În graficul de mai jos din care se observa ca pe masura ce latimea pmos-ului creste, consumul de
curentul creste si el, atat pentru vintermediar cat si pentru vout:
Pentru vintermediar curentul variaza de la 1.15 mA la 3.04 mA, iar pentru vout acesta variaza de
la 1.02 mA la 2.71mA.
Rezultatele simulării:
Parameter 0 1 2 3
gpdk.scs NN NN NN NN
temperature -40 25 85 125
Test Output Min Max 0 1 2 3
tema:testben cross(VS("/vintermediar") 1.65 1 "either" nil nil nil) 1.677 1.754 1.677 1.699 1.73 1.754
ch_dc
tema:testben cross(VS("/vout") 1.65 1 "either" nil nil nil) 1.676 1.746 1.676 1.696 1.725 1.746
ch_dc
tema:testben value(IS("/V1/MINUS") cross(VS("/vout") 1.65 1 1.94E 2.27E 2.27E 2.13E 2.02E 1.94E
ch_dc "either" nil nil nil)) -03 -03 -03 -03 -03 -03
tema:testben value(IS("/V1/MINUS") cross(VS("/vintermediar") 1.91E 2.27E 2.27E 2.14E 2.01E 1.91E
ch_dc 1.65 1 "either" nil nil nil)) -03 -03 -03 -03 -03 -03
23
Se va realiza o analiză în funcție de procesele tehnologice.
Se observă o variație mai mare atât la tensiune cât și la consumul de curent. În cazurile NN, FF și
SS pragurile se mențin deoarece niciunul dintre tranzistoare nu capătă supremație (ori devin amândouă
mai slabe, ori devin amândouă mai puternice). În schimb, în cazul FS, când nmos-ul devine mai puternic și
pmos-ul, mai slab, pragul coboară, iar în cazul SF pragul urcă.
În ceea ce privește consumul de curent, acesta se menține în jurul valorii de 2.1mA pentru cazurile
FS, NN si SF deoarece unul din dispozitive, cel slab, limitează consumul. Pentru FF, ambele dispozitive
necesită mai mult curent, motiv pentru care consumul se află undeva la 2.6 mA, iar pentru SS, ambele
dispozitive consumă puțin (1.7 mA).
Parameter 0 1 2 3 4
gpdk.scs NN FF SS FS SF
Test Output Min Max 0 1 2 3 4
tema:testbe cross(VS("/vintermediar") 1.65 1 "either" nil nil 1.519 1.881 1.7 1.724 1.686 1.519 1.881
nch_dc nil)
tema:testbe cross(VS("/vout") 1.65 1 "either" nil nil nil) 1.528 1.866 1.697 1.718 1.685 1.528 1.866
nch_dc
tema:testbe value(IS("/V1/MINUS") cross(VS("/vout") 1.65 1 1.71E 2.59E 2.13E 2.59E 1.71E 2.14E 2.09E
nch_dc "either" nil nil nil)) -03 -03 -03 -03 -03 -03 -03
tema:testbe value(IS("/V1/MINUS") 1.71E 2.56E 2.14E 2.56E 1.71E 2.08E 1.96E
nch_dc cross(VS("/vintermediar") 1.65 1 "either" nil nil -03 -03 -03 -03 -03 -03 -03
nil))
24
În continuare se va realiza o analiză statistică de tip Monte Carlo.
Reprezentarea Yield:
Test Name Yield Min Max Mean Std Errors
Dev
Yield Estimate: 100
%(500 passed/500 pts)
tema:testbench_dc
cross(VS("/vintermediar") 1.65 1 "either" nil nil 100 1.57 1.82 1.7 4.11E- 0
nil)(summary) 5 02
cross(VS("/vintermediar") 1.65 1 "either" nil nil 100 1.57 1.82 1.7 4.11E- 0
nil)_cornere_mc 5 02
cross(VS("/vout") 1.65 1 "either" nil nil 100 1.58 1.81 1.697 3.84E- 0
nil)(summary) 1 02
cross(VS("/vout") 1.65 1 "either" nil nil 100 1.58 1.81 1.697 3.84E- 0
nil)_cornere_mc 1 02
value(IS("/V1/MINUS") cross(VS("/vout") 1.65 1 100 1.84 2.48 2.14E- 9.63E- 0
"either" nil nil nil))(summary) E-03 E-03 03 05
value(IS("/V1/MINUS") cross(VS("/vout") 1.65 1 100 1.84 2.48 2.14E- 9.63E- 0
"either" nil nil nil))_cornere_mc E-03 E-03 03 05
value(IS("/V1/MINUS") 100 1.83 2.48 2.13E- 9.50E- 0
cross(VS("/vintermediar") 1.65 1 "either" nil nil E-03 E-03 03 05
nil))(summary)
value(IS("/V1/MINUS") 100 1.83 2.48 2.13E- 9.50E- 0
cross(VS("/vintermediar") 1.65 1 "either" nil nil E-03 E-03 03 05
nil))_cornere_mc
25
Histograma tensiunii de prag pentru vout:
26
Se observă că pentru vout și vintermediar consumul de curent este centrat la aproximativ 2.13mA.
Deviația standard este aproximativ 95uA ceea ce înseamnă că valorile sunt între 2.13-3*0.0,95=1.84 și
2.13+3*0,095=2.41. În concluzie consumul de curent este aproape la fel în ambele situații.
Schema circuitului:
Inversorul este alimentat cu o sursă dc parametrizabilă, iar la intrare se află o sursă de tip pulse
care generează un semnal dreptunghiular, aceasta având nivelul 1 la 0V, nivelul 2 parametrizabil, oscilația
are loc la fiecare 5ns, timpul de întârziere este de 2.5 ns, timpul de creștere și decreștere este de 100ps și
lățimea pulsului este de 2.5ns (adică factorul de umplere este 50%). Totodată la ieșire avem un
condensator ce acționează drept load care va încetini răspunsul buffer-ului și va imita porțile logice de
după acesta dintr-un circuit real.
27
Se va modifica valoarea condensatorului la 50fF, iar lățimea pmos-urilor va rămâne 6u.
Timpul de propagare între semnalul de intrare, cel de ieșire si cel intermediar va diferi în funcție
de edge-ul la curent (rising sau falling) și se va măsura cu ajutorul marker-ilor.
Valorile timpului de creștere(rise time) și timpului de scădere(fall time) măsurate cu ajutorul marker-ilor.
Nod Width_pmos
2u 3u 6u 12u 18u
Fall Rise Fall Rise Fall Rise Fall Rise Fall Rise
time time time time time time time time time time
vout ≈70ps 180,82ps ≈70ps 134.07ps ≈70ps 73.86ps ≈70ps 49.16ps ≈70ps 45.15ps
vintermediar 32.9ps 53.29ps 39.91ps 50.01ps 44.01ps 49.09ps 64.32ps 46.52ps 87.56ps 45.85ps
Se observă intervale lungi de timp în care se consumă curent de ordinul nanoAmperilor și câteva
spike-uri de miliAmperi, valoarea maximă a curentului fiind de 6.54mA.
28
În continuare se va folosi Calculator pentru determinarea următorilor parametri: timpul de
propagare pentru edge-ul crescător pentru vintermediar și vout, timpul de propagare pentru edge-ul
descrescător pentru vintermediar și vout, rise time pentru vintermediar și vout, fall time pentru
vintermediar și vout, media consumului de curent, maximul consumului de curent, valoarea statistica high
si low a consumului de curent. Astfel se obține următorul tabel:
Test Parameter 0 1 2 3 4
gpdk.scs NN NN NN NN NN
width_pmos 2.00E-06 3.00E-06 6.00E-06 1.20E-05 1.80E-05
Output Min Max 0 1 2 3 4
tema:testbench_tran_calculator propagare_vin_vintermediar_rise 1.50E-11 4.13E-11 4.13E-11 3.56E-11 2.72E-11 1.78E-11 1.50E-11
tema:testbench_tran_calculator propagare_vin_vintermediar_fall 1.24E-11 6.49E-11 1.24E-11 1.85E-11 3.16E-11 5.03E-11 6.49E-11
tema:testbench_tran_calculator propagare_vin_vout_rise 2.68E-09 2.69E-09 2.69E-09 2.68E-09 2.68E-09 2.68E-09 2.68E-09
tema:testbench_tran_calculator propagare_vin_vout_fall -2.53E-09 -2.50E-09 -2.50E-09 -2.52E-09 -2.53E-09 -2.53E-09 -2.52E-09
tema:testbench_tran_calculator risetime_vintermediar 4.53E-11 5.38E-11 5.38E-11 5.04E-11 4.90E-11 4.61E-11 4.53E-11
tema:testbench_tran_calculator falltime_vintermediar 3.59E-11 8.81E-11 3.59E-11 3.88E-11 4.60E-11 6.37E-11 8.81E-11
tema:testbench_tran_calculator risetime_vout 4.61E-11 1.72E-10 1.72E-10 1.20E-10 6.92E-11 4.75E-11 4.61E-11
tema:testbench_tran_calculator falltime_vout 7.11E-11 8.87E-11 7.11E-11 7.11E-11 7.37E-11 8.07E-11 8.87E-11
tema:testbench_tran_calculator medie_curent 4.71E-05 9.49E-05 4.71E-05 5.07E-05 6.01E-05 7.81E-05 9.49E-05
tema:testbench_tran_calculator maxim_curent 1.34E-03 6.55E-03 1.34E-03 1.83E-03 3.44E-03 5.65E-03 6.55E-03
tema:testbench_tran_calculator val_statica_high 3.98E-11 1.32E-10 3.98E-11 4.05E-11 4.32E-11 8.98E-11 1.32E-10
tema:testbench_tran_calculator val_statica_low 3.98E-11 1.32E-10 3.98E-11 4.05E-11 4.32E-11 8.98E-11 1.32E-10
29
Se va realiza o simulare în funcție de variația capacității condensatorului, utilizând procesul
tehnologic NN și se vor obține următoarele rezultate:
Parameter 0 1 2 3
c_capacitor 1.00E- 1.00E- 1.00E- 1.00E-
15 14 13 12
gpdk.scs NN NN NN NN
Test Output Min Max 0 1 2 3
tema:testbench_tran_calc propagare_vin_vintermedia 2.71E- 2.74E- 2.74E- 2.73E- 2.71E- 2.71E-
ulator r_rise 11 11 11 11 11 11
tema:testbench_tran_calc propagare_vin_vintermedia 3.14E- 3.19E- 3.19E- 3.18E- 3.15E- 3.14E-
ulator r_fall 11 11 11 11 11 11
tema:testbench_tran_calc propagare_vin_vout_rise 2.64E- 3.27E- 2.64E- 2.65E- 2.71E- 3.27E-
ulator 09 09 09 09 09 09
tema:testbench_tran_calc propagare_vin_vout_fall -2.56E- -2.08E- -2.56E- -2.55E- -2.51E- -2.08E-
ulator 09 09 09 09 09 09
tema:testbench_tran_calc risetime_vintermediar 4.82E- 5.32E- 5.32E- 5.15E- 4.85E- 4.82E-
ulator 11 11 11 11 11 11
tema:testbench_tran_calc falltime_vintermediar 4.51E- 4.94E- 4.94E- 4.81E- 4.55E- 4.51E-
ulator 11 11 11 11 11 11
tema:testbench_tran_calc risetime_vout 2.37E- 1.04E- 2.37E- 3.17E- 1.19E- 1.04E-
ulator 11 09 11 11 10 09
tema:testbench_tran_calc falltime_vout 1.91E- 1.16E- 1.91E- 2.94E- 1.30E- 1.16E-
ulator 11 09 11 11 10 09
tema:testbench_tran_calc medie_curent 2.88E- 6.85E- 2.88E- 3.44E- 9.30E- 6.85E-
ulator 05 04 05 05 05 04
tema:testbench_tran_calc maxim_curent 2.44E- 3.83E- 2.44E- 2.64E- 3.63E- 3.83E-
ulator 03 03 03 03 03 03
tema:testbench_tran_calc val_statica_high 4.32E- 1.39E- 4.32E- 4.32E- 4.32E- 1.39E-
ulator 11 06 11 11 11 06
tema:testbench_tran_calc val_statica_low 4.32E- 1.98E- 4.32E- 4.32E- 4.32E- 1.98E-
ulator 11 05 11 11 11 05
Se observă că utlimul trace nu reușesște să finalizeze tranziția, iar consumul său nu atinge
niciodată valoarea statică.
30
Grafice pentru timpul de propagare pentru edge-ul crescător pentru vintermediar și vout și pentru
timpul de propagare pentru edge-ul descrescător pentru vintermediar și vout:
Grafice pentru rise time pentru vintermediar și vout și pentru fall time pentru vintermediar și vout:
31
Grafice pentru media consumului de curent, maximul consumului de curent, valoarea statistica high si low
a consumului de curent:
Consumul static low este inițial la zeci de picoAmperi iar în ultimul caz a dat 1nA deoarece forma
de undă nu reușește niciodată în decursul celor 2.5ns pe fiecare semiperioadă să se stabilizeze complet.
Similar se întâmplă și la consumul static high
32
Se va realiza o simulare în funcție de variația temperaturii, utilizând procesul tehnologic NN și se
vor obține următoarele rezultate:
Parameter 0 1 2 3
gpdk.scs NN NN NN NN
temperature -40 25 85 125
Test Output Min Max 0 1 2 3
tema:testbench_tran_calc propagare_vin_vintermedia 2.69E- 2.73E- 2.69E- 2.72E- 2.73E- 2.72E-
ulator r_rise 11 11 11 11 11 11
tema:testbench_tran_calc propagare_vin_vintermedia 2.91E- 3.62E- 2.91E- 3.15E- 3.42E- 3.62E-
ulator r_fall 11 11 11 11 11 11
tema:testbench_tran_calc propagare_vin_vout_rise 2.67E- 2.69E- 2.67E- 2.68E- 2.68E- 2.69E-
ulator 09 09 09 09 09 09
tema:testbench_tran_calc propagare_vin_vout_fall -2.54E- -2.52E- -2.54E- -2.53E- -2.53E- -2.52E-
ulator 09 09 09 09 09 09
tema:testbench_tran_calc risetime_vintermediar 4.58E- 5.38E- 4.58E- 4.89E- 5.17E- 5.38E-
ulator 11 11 11 11 11 11
tema:testbench_tran_calc falltime_vintermediar 4.26E- 5.17E- 4.26E- 4.59E- 4.92E- 5.17E-
ulator 11 11 11 11 11 11
tema:testbench_tran_calc risetime_vout 6.40E- 7.63E- 6.40E- 6.90E- 7.35E- 7.63E-
ulator 11 11 11 11 11 11
tema:testbench_tran_calc falltime_vout 6.51E- 8.89E- 6.51E- 7.34E- 8.23E- 8.89E-
ulator 11 11 11 11 11 11
tema:testbench_tran_calc medie_curent 6.00E- 6.02E- 6.02E- 6.01E- 6.00E- 6.00E-
ulator 05 05 05 05 05 05
tema:testbench_tran_calc maxim_curent 3.11E- 3.58E- 3.58E- 3.45E- 3.24E- 3.11E-
ulator 03 03 03 03 03 03
tema:testbench_tran_calc val_statica_high 6.84E- 6.80E- 6.84E- 3.92E- 7.12E- 6.80E-
ulator 12 09 12 11 10 09
tema:testbench_tran_calc val_statica_low 6.84E- 6.80E- 6.84E- 3.92E- 7.12E- 6.80E-
ulator 12 09 12 11 10 09
Grafice pentru timpul de propagare pentru edge-ul crescător pentru vintermediar și vout și pentru timpul
de propagare pentru edge-ul descrescător pentru vintermediar și vout:
33
Grafice pentru rise time pentru vintermediar și vout și pentru fall time pentru vintermediar și vout:
Grafice pentru media consumului de curent, maximul consumului de curent, valoarea statistica high si low
a consumului de curent:
Curentul static crește brusc foarte mult datorită curentului de pierderi din
dispozitiv care la temperaturi mari este foarte mare.
34
Se va realiza o simulare în funcție de diferite procese tehnologice, utilizând temperatura
predefinită de 27 °C și se vor obține următoarele rezultate:
Parameter 0 1 2 3 4
gpdk.scs NN FF SS FS SF
Test Output Min Max 0 1 2 3 4
tema:testbench_tran_c propagare_vin_vinterme 2.08E- 3.34E- 2.72E- 2.44E- 2.99E- 3.34E- 2.08E-
alculator diar_rise 11 11 11 11 11 11 11
tema:testbench_tran_c propagare_vin_vinterme 2.60E- 3.73E- 3.16E- 2.93E- 3.46E- 2.60E- 3.73E-
alculator diar_fall 11 11 11 11 11 11 11
tema:testbench_tran_c propagare_vin_vout_rise 2.67E- 2.69E- 2.68E- 2.67E- 2.69E- 2.68E- 2.68E-
alculator 09 09 09 09 09 09 09
tema:testbench_tran_c propagare_vin_vout_fall -2.54E- -2.52E- -2.53E- -2.54E- -2.52E- -2.53E- -2.53E-
alculator 09 09 09 09 09 09 09
tema:testbench_tran_c risetime_vintermediar 4.63E- 5.09E- 4.90E- 4.71E- 5.09E- 5.07E- 4.63E-
alculator 11 11 11 11 11 11 11
tema:testbench_tran_c falltime_vintermediar 4.46E- 4.72E- 4.60E- 4.56E- 4.68E- 4.46E- 4.72E-
alculator 11 11 11 11 11 11 11
tema:testbench_tran_c risetime_vout 6.11E- 7.86E- 6.92E- 6.11E- 7.86E- 7.75E- 6.23E-
alculator 11 11 11 11 11 11 11
tema:testbench_tran_c falltime_vout 6.64E- 8.25E- 7.37E- 6.64E- 8.25E- 6.78E- 8.11E-
alculator 11 11 11 11 11 11 11
tema:testbench_tran_c medie_curent 5.77E- 6.33E- 6.01E- 6.33E- 5.77E- 6.04E- 5.96E-
alculator 05 05 05 05 05 05 05
tema:testbench_tran_c maxim_curent 2.97E- 3.81E- 3.44E- 3.81E- 3.03E- 2.97E- 3.76E-
alculator 03 03 03 03 03 03 03
tema:testbench_tran_c val_statica_high 9.36E- 6.10E- 4.32E- 6.10E- 9.36E- 5.51E- 6.88E-
alculator 12 10 11 10 12 10 11
tema:testbench_tran_c val_statica_low 9.36E- 6.10E- 4.32E- 6.10E- 9.36E- 5.51E- 6.88E-
alculator 12 10 11 10 12 10 11
Grafic pentru timpul de propagare pentru edge-ul crescător pentru vintermediar și vout și pentru
timpul de propagare pentru edge-ul descrescător pentru vintermediar și vout:
Timpul de propagare cel mai mic când vintermediar trebuie să crească este în cazul SF deoarece
pmos-ul este puternic, iar nmos-ul, slab. În cazul FS lucrurile stau fix invers, timpul de propagare fiind cel
mai mare. Este de așteptat ca timpul de propagare atunci când vintermediar trebuie să scadă aeste fix
35
invers. Cazul FS este cel în care timpul este cel mai scăzut, iar la SF timpul este cel mai ridicat. Același
raționament este valabil și pentru rise time și fall time.
Grafic pentru rise time pentru vintermediar și vout și pentru fall time pentru vintermediar și vout:
Grafic pentru media consumului de curent, maximul consumului de curent, valoarea statistica high si
low a consumului de curent:
Consumul mediu cel mai ridicat este pentru cazul FF deoarece pragurile sunt mai mici iar consumul
de curent este mare. În cazul SS, avem pragurile cele mai mari iar consumul de curent este foarte mic.
Când ieșirea este low înseamnă că dispozitivele pmos sunt blocate deci va apărea un consum foarte
mare când pmos-ul are pragul mic. Când p-mosul este încet consumul va fi cel mai mic. Pentru valoarea
statică high se întâmplă fix opusul.
36
Se vor realiza trei analize de tip Monte Carlo. Prima pentru variația lățimii dispozitivelor pmos, a doua
pentru variația capacității condensatorului și a treia pentru variația temperaturii.
Analiza Monte Carlo folosind cornere pentru variația lățimii dispozitivelor pmos
Se observă că în ceea ce privește timpul de propagare pentru edge-ul crescător deviația standard este
foarte mică în comparație cu valorile acestuia deci nu influențează mismatch-ul buffer-ului. Acelați lucru
se întâmplă pentru timpul de propagare pentru edge-ul descrescător, pentru rise time și pentru fall time.
Consumul mediu variază puțin, la fel ca și consumul static.
Histogramele pentru timpul de propagare pentru edge-ul crescător și descrescător la lățimea de 6u pentru
vintermediar:
Histogramele pentru timpul de propagare pentru edge-ul crescător și descrescător la lățimea de 6u pentru
vout:
37
Histogramele pentru rise time și fall time la lățimea de 6u pentru vintermediar:
Histograme pentru media consumului de curent și maximul consumului de curent la lățimea de 6u:
38
Analiza Monte Carlo folosind cornere pentru variația capacității condensatorului
În acestă analiză se remarcă faptul că rise time la vout este mult mai mare în cazul capacității de 1 pF
față de toate celalte cornere. Același lucru se întâmplă și în cazul fall time unde valoarea în cazul capacității
de 1pF este de 100 ori mai mare decât celelalte. Aceeași diferență mare între valori se observă și la media
consumului de curent și la consumul static high și low. Se vor prezenta în continuare câteva histograme
pentru a se vedea disctincțiile între cornerul de 1pF și celelalte.
39
Histogramele pentru media consumului de curent la 1fF și 1pF
Histogramele pentru rise time și fall time la temperatura de - 40°C pentru vintermediar:
40
Histogramele pentru media consumului de curent și pentru consumul maxim la temperatura de - 40°C:
Inițial se va realiza o analiză DC pentru variabila v_input, de la0 la 3.3V, având Sweep Type liniar
cu pasul de 10mV pe cornerele de proces (NN, FF, SS, FS, SF). Se vor determina tensiunile de prag ale
buffer-ului (atât vout cât și vintermediar) în cele 5 situații.
Pentru vintermediar se observă din următorul grafic că pragurile sunt între 1.51V și 1.88V:
41
Pentru vout se observă din următorul grafic că pragurile sunt între 1.52V și 1.86V:
42
Se va realiza o analiză AC care pornește de la 1Hz și se oprește la 100 GHz, cu Sweep type logaritmic,
având 10 puncte pe decadă.
Știind că vin este întodeauna de amplitudine 1V, se va realiza graficul pentru vintermediar și vout:
Se constată că pentru vintermediar amplificarea pornește de la 1.29x și urcă până la 19.01x, iar pentru
vout amplificarea urcă până la 129.39x.
Parameter 0 1 2 3 4
gpdk.scs NN FF SS FS SF
Test Output 0 1 2 3 4
tema:testbench_ac value(mag(VF("/vintermediar")) 15.34 10.41 19.01 1.291 1.679
1)
tema:testbench_ac value(dB20(VF("/vintermediar")) 23.72 20.35 25.58 2.216 4.499
1)
tema:testbench_ac value(mag(VF("/vout")) 1) 129.4 12.15 19.65 7.02E- 2.36E-
02 01
tema:testbench_ac value(dB20(VF("/vout")) 1) 42.24 21.69 25.87 -23.07 -12.55
43
În formele de undă pentru diagrama Bode pentru vintermediar se vede panta de 20 dB/decadă specifică
unui pol și contribuția asupra fazei a unui pol:
44
Se va realiza o analiza Monte Carlo și se va observa că pentru vintermediar valoarea amplificării la scară
liniară este între 2.23x și 17.57x. Similar, pentru rezultatul exprimat în dB valorile sunt între 5.92 și 24.9
dB. Pentru vout amplificarea la scară liniară este între 0.29x și 265.2x, iar valorile în dB sunt între -10.49 și
48.47 dB.
45