Instrukcja do ćwiczeń 8 i 9

Transkrypt

Instrukcja do ćwiczeń 8 i 9
Politechnika Warszawska
Wydział Elektroniki i Technik Informacyjnych
Instrukcja do przedmiotu
PODSTAWY MIKROELEKTRONIKI
(LABORATORIUM)
Ćwiczenia 8 – 9: zagadnienia projektowania
analogowych układów CMOS
Prof. dr hab. Wiesław Kuźmicz
Prof. dr hab. Andrzej Pfitzner
Instytut Mikroelektroniki i Optoelektroniki
Warszawa, lipiec 2016 r.
Spis treści
1 Wprowadzenie. Cel ćwiczeń
3
2 Rozrzuty produkcyjne w analogowych układach CMOS
4
2.1 Pochodzenie i wielkość rozrzutów
4
2.2 Symulacja statystyczna
4
3 Badany układ
5
4 Przebieg ćwiczeń
10
5 Uwagi końcowe
18
2
1 Wprowadzenie. Cel ćwiczeń
Projektowanie analogowych układów scalonych dość znacznie różni się od projektowania układów
cyfrowych. Projektowanie układów cyfrtowych często polega na składaniu układów z gotowych,
zawczasu zaprojektowanych “klocków” – komórek standardowych. Pomagają w tym systemy
automatyzujące projektowanie układów cyfrowych. Przy ich pomocy można w sposób automatyczny
lub prawie automatyczny uzyskać projekt układu wychodząc z jego opisu fukcjonalnego w językach
takich, jak Verilog lub VHDL. W przeciwieństwie do tego projektowanie układów analogowych nie
poddaje się, jak dotąd, automatyzacji. Gdy potrzebny jest nowy układ analogowy, okazuje się
zazwyczaj, że trzeba go zaprojektować od początku, czyli zaprojektować schemat układu, wykonać
jego symulacje (i ewentualnie zrobić poprawki w projekcie), zaprojektować topografię układu
(“layout”) – najczęsciej w stylu “full custom” oraz wykonać wszystkie końcowe weryfikacje i
symulacje. Występują tu liczne problemy, na które nie napotyka projektant układów cyfrowych.
Problemy te biorą się w dużej mierze stąd, że – w przeciwieństwie do typowych bramek
cyfrowych CMOS – działanie i parametry układów analogowych silnie zależą od parametrów
elementów. W szczególności, przy projektowaniu układów analogowych
-
bardzo duże znaczenie mają modele elementów używane w symulacji,
-
projekt topografii musi być bardzo przemyślany,
-
istotne są rozrzuty produkcyjne,
-
istotne mogą być efekty temperaturowe,
-
istotne mogą być parametry małosygnałowe, takie jak wzmocnienie, szerokość pasma, szumy
itp.
W ćwiczeniach 8 i 9 niektóre z tych zagadnień będą zilustrowane na przykładzie bardzo prostego
wzmacniacza operacyjnego CMOS. Najpierw zbadany zostanie wzmacniacz o danym schemacie i
topografii – jego charakterystyka przejściowa DC, wzmocnienie i pasmo przenoszenia oraz rozrzut
produkcyjny charakterystyk. Następnie zadaniem będzie takie przeprojektowanie wzmacniacza, aby
ten rozrzut został zmniejszony i zmieścił się w zadanym przedziale. Aby to było możliwe, zostanie
przeprowadzona charakteryzacja statystyczna procesu produkcyjnego układu. Po przeprojektowaniu
układ będzie ponownie przebadany, aby stwierdzić, czy cel został osiągnięty. W ćwiczeniach użyte
będą następujące programy: edytor topografii UNCLE, ekstraktor EXCESS, symulator układów
elektronicznych IMiOSpice, symulator procesów technologicznych SYPRUS wraz z programem
pomocniczym StatIC oraz program RunSpice, który posłuży do symulacji charakterystyk badanego
układu w obecności rozrzutów produkcyjnych.
3
2 Rozrzuty produkcyjne w analogowych układach CMOS
2.1 Pochodzenie i wielkość rozrzutów
W naszych ćwiczeniach uprościmy nieco zagadnienie i będziemy brać pod uwagę tylko
tranzystory MOS. Takie uproszczenie jest zresztą całkowicie dopuszczalne dla większości układów, w
których nie występują inne elementy oprócz tranzystorów. Rozrzut produkcyjny parametrów
tranzystorów omówimy na przykładzie napięcia progowego VT, które jest jednym z najważniejszych
parametrów. Rozrzut napięcia progowego wywołany jest przede wszystkim losowym rozrzutem
koncentracji domieszek w obszarze kanału tranzystora, a także rozrzutem grubości tlenku
bramkowego, rozrzutem koncentracji stałego ładunku dodatniego w tlenku bramkowym i kilkoma
innymi mniej istotnymi czynnikami. Układy scalone konstruuje się tak, aby były mało wrażliwe na
rozrzut globalny, toteż interesować nas będzie przede wszystkim rozrzut lokalny, który ujawnia się w
postaci różnicy parametrów pary identycznie zaprojektowanych i wykonanych w tym samym układzie
tranzystorów. Ten rozrzut jest tym mniejszy, im większa jest powierzchnia kanału tranzystora
(zależność zwana prawem Pelgorma). Rozrzut lokalny napięcia progowego można w przybliżeniu
zapisać wzorem:
ΔVT = AVT
gdzie
1
WL
(1)
ΔVT jest wartością średnią rozrzutu lokalnego, AVT stałą charakteryzującą dany proces
produkcyjny, a W i L są wymiarami kanału tranzystora. W przypadku często spotykanej w układach
analogowych pary tranzystorów stanowiącej wzmacniacz różnicowy wartość
ΔVT jest zbliżona do
wartości średniej wejściowego napięcia niezrównoważenia (w rzeczywistości jest ono nieco większe,
bo wpływają nań także inne rozrzuty).
Jeżeli mamy zaprojektować wzmacniacz różnicowy o wejściowym napięciu niezrównoważenia nie
przekraczającym pewnej zadanej wartości, to wzór (1) wyznacza w przybliżeniu minimalną
powierzchnię kanałów WL pary tranzystorów w tym wzmacniaczu.
Stałą
AVT wyznaczyć można doświadczalnie. Odpowiednie dane dla tranzystorów n-kanałowych
i p-kanałowych podają producenci układów. W ćwiczeniu posłużymy się jednak metodą symulacji
statystycznej procesu produkcyjnego, dającą bardzo realistyczne, bliskie rzeczywistości wyniki.
2.2 Symulacja statystyczna
Uwzględnienie rozrzutów produkcyjnych w projektowaniu układów scalonych umożliwia
symulacja statystyczna metodą Monte Carlo. Polega ona na wielokrotnym powtarzaniu symulacji
układu ze zmieniającymi się parametrami elementów. Zmiany te w najprostszym przypadku
wprowadzane są przez generatory liczb losowych, dla których parametry (wartość średnia i odchylenie
standardowe) określane są na podstawie obserwowanych doświadczalnie rozrzutów. Taka symulacja
statystyczna jest możliwa w wielu profesjonalnych symulatorach układów elektronicznych. Jej dużą
wadą jest to, że rozrzuty parametrów każdego elementu są symulowane niezależnie, a więc bardzo
trudno uwzględnić fakt, że parametry elementów w układzie są ze sobą silnie skorelowane.
4
W ćwiczeniach używany będzie zestaw programów umożliwiający statystyczną symulację procesu
produkcji układów. W skład tego zestawu wchodzi symulator SYPRUS, który umożliwia symulację
procesów produkcyjnych układów CMOS. Ma on możliwość symulacji statystycznej Monte Carlo, w
której symulowane są zarówno lokalne, jak i globalne zaburzenia parametrów operacji
technologicznych (takie jak temperatury, czasy, dawki i energie implantowanych jonów itp.). Po
wykonaniu symulacji procesu produkcyjnego, czyli określeniu rozkładów koncentracji domieszek,
grubości warstw itp., następuje określanie parametrów elektrycznych elementów, których produkcja
jest symulowana. Symulator SYPRUS może działać jako niezależny program, i w tym trybie
umożliwia zdefiniowanie pewnej liczby tranzystorów MOS, a następnie wykonanie symulacji ich
wytwarzania. Może on także działać w zestawie z ekstraktorem EXCESS i specjalną wersją symulatora
IMiOSpice (o nazwie RunSpice). W tym trybie można wykonać symulację statystyczną produkcji
całego układu. Przebiega ona w następujący sposób. Punktem wyjścia jest topografia układu. Można ją
zaprojektować w dowolny sposób, na przykład edytorem UNCLE. Topografia poddawana jest
ekstrakcji programem EXCESS w trybie statystycznym. W tym trybie EXCESS powtarza proces
ekstrakcji schematu wielokrotnie, symulując globalne i lokalne rozrzuty kształtów i wymiarów w
maskach. Wynikiem tego procesu ekstrakcji jest plik (o nazwie z rozszerzeniem “.syp”), w którym
znajduje się nie jeden, lecz wiele wyekstrahowanych opisów układu (w formacie zbliżonym do formatu
programu SPICE). Każdy opis odpowiada symulacji produkcji jednego egzemplarza układu, a wymiary
tranzystorów w tym opisie są losowo zaburzone zaburzeniami globalnymi i lokalnymi. Ten plik jest
plikiem wejściowym dla programu SYPRUS. Symulator SYPRUS czyta ten plik i powtarza dla
każdego tranzystora w każdym kolejnym symulowanym układzie symulację procesu produkcji, a
następnie oblicza parametry modelu tego tranzystora i dopisuje je. Dla każdego symulowanego układu
tworzony jest odrębny plik wejściowy w formacie programu SPICE. Plików tych jest tyle, ile
egzemplarzy układu było poddanych ekstrakcji programem EXCESS. Do końcowej symulacji służy
program RunSpice, który czyta kolejne pliki i dla każdego z nich wykonuje symulację specjalną wersją
programu Spice. Wszystkie wyniki kolejnych symulacji są zbierane w jednym pliku. Końcowym
rezultatem jest graficzny lub liczbowy obraz wyników symulacji wszystkich egzemplarzy układu, co
pozwala ocenić rozrzuty produkcyjne.
3 Badany układ
Przedmiotem badań będzie prosty wzmacniacz operacyjny o schemacie pokazanym na rys. 1.
Składa się on z wejściowego wzmacniacza różnicowego z tranzystorami M1N i M2N, dla którego
dynamicznym obciążeniem są tranzystory M1P i M2P. Stopień wejściowy jest zasilany prądem ze
źródła prądowego, jakie tworzą tranzystory M4N i M5N. Tranzystor M3N służy jako nieliniowa
rezystancja określająca wartość prądu płynącego przez tranzystor M5N. Stopień wyjściowy tworzy
tranzystor M3P, dla którego dynamicznym obciążeniem o dużej rezystancji różniczkowej jest
tranzystor M6N. Tranzystor M6N wraz z M5N tworzą źródło prądowe określające prąd płynący w
stopniu wyjściowym. Wymiary tranzystorów zostały dobrane w taki sposób, że przy napięciu zasilania
5 V, gdy na oba wejścia podane jest jednakowe napięcie równe 2,5 V, to na wyjściu panuje także
napięcie 2,5 V. Oznacza to, że w przypadku zasilania wzmacniacza z dwóch źródeł +2,5 V i –2,5V
5
względem umownej “masy” i podaniu na oba wejścia identycznych napięć względem umownej “masy”
na wyjściu panuje napięcie równe zeru (patrz rys. 2).
Rys. 1. Wzmacniacz operacyjny CMOS
Rys. 2. Typowy sposób użycia układu z dwoma źródłami zasilania. Jeśli oba napięcia wejściowe są
dokładnie jednakowe, napięcie wyjściowe powinno być równe zeru.
6
Wzmacniacz zaprojektowano w technologii ECPD1.0 (plik technologiczny ECPD10_0.25)
Topografia układu, która stanowi punkt wyjścia do dalszych prac, jest pokazana na rys. 3.
Rozmieszczenie tranzystorów jest podobne, jak na rysunku schematu ideowego (rys. 1). Warto zwrócić
uwagę na kilka szczegółów topografii typowych dla projektów układów analogowych:
•
wejściowa para tranzystorów tworzących wzmacniacz różnicowy jest zaprojektowana
dokładnie symetrycznie włącznie z najbliższym otoczeniem,
•
prąd płynie przez oba tranzystory pary różnicowej w tym samym kierunku,
•
nad tranzystorami pary różnicowej nie są poprowadzone żadne połączenia,
•
zarówno polaryzacja wyspy, jak i uziemienie podłoża są wykonane przez liczne gęsto
rozmieszczone kontakty.
Pierwsze trzy punkty mają na celu zapewnienie jak najlepszej identyczności charakterystyk
tranzystorów pary różnicowej. Ostatni służy ochronie przed przenikaniem zakłóceń i przed
sprzężeniami pasożytniczymi przez obszary podłoża i wyspy.
VDD
OUT
GND
INmin
INplu
Rys. 3. Topografia wzmacniacza operacyjnego badanego w ćwiczeniu
Rys. 4 przedstawia nominalną stałoprądową charakterystykę przejściową wzmacniacza (napięcie
wyjściowe w funkcji napięcia na wejściu IN+ nie odwracającym fazy, przy stałej wartości napięcia 2,5
7
V na wejściu IN-). Charakterystyka ta została otrzymana przy użyciu symulatora IMiOSpice.
V
v(5)
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
2.450
2.460
2.470
2.480
2.490
2.500
voltage sweep
2.510
V
2.520
2.530
2.540
2.550
Rys. 4. Nominalna stałoprądowa charakterystyka przejściowa wzmacniacza operacyjnego
W symulacji użyty został model tranzystorów BSIM3v3, ponieważ proste modele (“level 1”,
“level 2”) nie mają wystarczająco dobrej dokładności do symulacji układów analogowych. Pełny tekst
pliku wejściowego do programu IMiOSpice jest następujący:
*** WYNIK EKSTRAKCJI OTRZYMANY PRZY UZYCIU PROGRAMU EXCESS: ***
.SUBCKT amplifier.pmk 2 3 4 5 6
*Node numbers:
- Labels:
*
2
- GND
(assigned to Met1)
*
3
- INplu
(assigned to Met1)
*
4
- INmin
(assigned to Met1)
*
5
- OUT
(assigned to Met1)
*
6
- VDD
(assigned to Met1)
*Circuit netlist:
MN1_Nchan
7 6 6 2
MN2_Nchan
9 4 10 2
MN3_Nchan
9 3 8 2
MN4_Nchan
2 7 9 2
MN5_Nchan
2 7 7 2
MN6_Nchan
2 7 5 2
MP1_Pchan
10 10 6 6
MP2_Pchan
8 10 6 6
MP3_Pchan
5 8 6 6
Nchan W=1.25E-06 L=5E-06
Nchan W=2.5E-06 L=1E-06
Nchan W=2.5E-06 L=1E-06
Nchan W=2.5E-06 L=3.5E-06
Nchan W=2E-06 L=1E-06
Nchan W=4.5E-06 L=1E-06
Pchan W=1.25E-06 L=1.25E-06
Pchan W=1.25E-06 L=1.25E-06
Pchan W=7.5E-06 L=1E-06
.ENDS
.MODEL Nchan NMOS
+ LEVEL=8 MOBMOD=1 CAPMOD=2 VTH0=0.7023 K1=0.2909
+ K2=0.01884 K3=0 K3B=0 DVT0=13.5 DVT1=1
+ DVT2=0 DVT0W=0 DVT1W=0 DVT2W=0 NCH=5.955E+16
+ VOFF=-0.08 KETA=-0.025 VBM=5 PSCBE1=2.7E+08 PSCBE2=9E-06
+ DSUB=0.5 NFACTOR=0.2 ETA0=0.3694 ETAB=-0.2115 U0=705.5
+ UA=3E-09 UB=6.5E-19 UC=5E-11 EM=4.1E+07 PCLM=1.3
+ B0=0 B1=0 PDIBLC1=0.1 PDIBLC2=0.001 PDIBLCB=0
+ A0=1 A1=0 A2=1 DROUT=0.5 PVAG=0
+ VSAT=120000 AGS=0.24 DELTA=0.01 DLC=0 DWC=0
8
+
+
+
+
+
+
+
+
+
+
+
+
+
DWB=0 DWG=0 W0=0 LL=0 LW=0
LWL=0 LLN=1 LWN=1 WL=0 WW=0
WWL=0 WLN=1 WWN=1 CGDO=2.871E-10 CGSO=2.871E-10
CGBO=0 CKAPPA=0.6 CGDL=0 CGSL=0 ELM=5
XPART=1 CF=0 CDSC=0.00024 CDSCB=0 CDSCD=0
CIT=0 RDSW=0 WR=1 PRWB=0 PRWG=0
RSH=0 AT=33000 UTE=-1.8 KT1=-0.3 KT2=0.022
KT1L=0 UA1=0 UB1=0 UC1=0 PRT=0
CLC=1E-15 CLE=0.6 NOIA=1E+20 NOIB=50000 NOIC=-1.4E-12
AF=1.4 KF=2E-27 EF=1 ALPHA0=0 BETA0=30
JS=5.595E-06 TOX=1.988E-08 NLX=0 XJ=2.97E-07 CJ=0.0002157
CJSW=1.007E-10 MJ=0.5 MJSW=0.33 PB=0.7132 PBSW=0.5
LINT=0 WINT=4E-07 TNOM=26.85
.MODEL Pchan PMOS
+ LEVEL=8 MOBMOD=1 CAPMOD=2 VTH0=-1.476 K1=0.5703
+ K2=0.02758 K3=0 K3B=0 DVT0=0.5238 DVT1=1
+ DVT2=0 DVT0W=0 DVT1W=0 DVT2W=0 NCH=7.578E+15
+ VOFF=-0.08 KETA=0.0058 VBM=5 PSCBE1=4E+08 PSCBE2=1E-06
+ DSUB=0.5 NFACTOR=0.2 ETA0=0.02013 ETAB=-0.01237 U0=284.7
+ UA=1.5E-09 UB=2E-18 UC=5E-11 EM=4.1E+07 PCLM=1.3
+ B0=0 B1=0 PDIBLC1=0.015 PDIBLC2=0.0013 PDIBLCB=0.4
+ A0=1.3 A1=0 A2=1 DROUT=0.5 PVAG=0
+ VSAT=98000 AGS=0.095 DELTA=0.01 DLC=0 DWC=0
+ DWB=0 DWG=0 W0=0 LL=0 LW=0
+ LWL=0 LLN=1 LWN=1 WL=0 WW=0
+ WWL=0 WLN=1 WWN=1 CGDO=2.118E-10 CGSO=2.118E-10
+ CGBO=0 CKAPPA=0.6 CGDL=0 CGSL=0 ELM=5
+ XPART=1 CF=0 CDSC=0.00024 CDSCB=0 CDSCD=0
+ CIT=0.0008 RDSW=0 WR=1 PRWB=0 PRWG=0
+ RSH=0 AT=33000 UTE=-1.75 KT1=-0.44 KT2=0.022
+ KT1L=0 UA1=0 UB1=0 UC1=0 PRT=0
+ CLC=1E-15 CLE=0.6 NOIA=1E+20 NOIB=50000 NOIC=-1.4E-12
+ AF=1.4 KF=3E-27 EF=1 ALPHA0=0 BETA0=30
+ JS=2.268E-07 TOX=1.988E-08 NLX=0 XJ=1.449E-07 CJ=0.0007283
+ CJSW=1.658E-10 MJ=0.5 MJSW=0.33 PB=0.8095 PBSW=0.5
+ LINT=0 WINT=4E-07 TNOM=26.85
*** WIERSZE DOPISANE EDYTOREM TEKSTU: ***
* WLACZENIE WZMACNIACZA JAKO PODUKLADU DO UKLADU
X1 0 3 4 5 6 amplifier.pmk
* ZASILANIE VDD I NAPIECIA WEJSCIOWE
VDD 6 0 5V
VINPLU 3 0 DC 2.5V
VINMIN 4 0 DC 2.5V
* ANALIZA DO WYKONANIA
.DC VINPLU 2.45 2.55 0.0002
* WIERSZE STERUJACE
.CONTROL
RUN
PLOT V(5)
.ENDC
.END
WAŻNE: program EXCESS opisuje schemat układu jako podukład (ang. „subcircuit”, początek
opisu w wierszu .SUBCKT - nagłówek z formalnymi numerami węzłów, koniec w wierszu .ENDS),
podukład jest włączony do opisu układu wierszem zaczynającym się od X1 (z aktualnymi numerami
węzłów). Składnia tych wierszy opisana jest w instrukcjach do ćw. 1 – 3. Węzeł „masy” (minus
zasilania podłączony do podłoża układu, z etykietą GND w opisie podukładu) musi mieć aktualny
numer węzła 0.
9
4 Przebieg ćwiczeń
Prace przewidziane w ćwiczeniach wykonujemy w następującej kolejności:
(a) Pełna charakteryzacja wzmacniacza z rys. 3.
Należy wykonać analizę DC i AC układu nominalnego w celu określenia wybranych
parametrów wzmacniacza. W tym celu wykonujemy kopię pliku “amplifier.cir” i dodajemy bądź
zmieniamy w nim kilka linii określających warunki polaryzacji i wiersze sterujące.
W przypadku analizy DC należy wykorzystać odpowiedni fragment pliku wejściowego do
SPICE, zamieszczonego powyżej (na końcu rozdz. 3 tej instrukcji). Na podstawie charakterystyki
przejściowej
wyznaczyć
maksymalną
wartość
niskoczęstotliwościowego
wzmocnienia
wzmacniacza oraz oszacować zakres praktycznie stałej jego wartości (liniowego odcinka
charakterystyki).
Następnie należy wykonać analizę AC w celu określenia górnej częstotliwości granicznej i
wartości
wzmocnienia
niskoczęstotliwościowego
(porównać
wynik
ze
wzmocnieniem
wyznaczonym na podstawie analizy DC). W tym przypadku w kopii pliku “amplifier.cir” należy
zmienić kilka linii tak, aby dodać na wejściu INplus źródło sygnału zmiennego o małej
amplitudzie, i wykonać analizę AC w zakresie częstotliwości od 1 kHz do 100 MHz.
Oto przykładowy fragment pliku wejściowego do SPICE:
* WLACZENIE WZMACNIACZA JAKO PODUKLADU DO UKLADU
X1 0 3 4 5 6 amplifier.pmk
•
ZASILANIE VDD I NAPIECIA WEJSCIOWE
VDD 6 0 5V
VINMIN 4 0 DC 2.5V
VINPLU 20 0 DC 2.5V
* NAPIECIE ZMIENNE WLACZONE W SZEREG ZE ZRODLEM VINPLU
* AMPLITUDA 0.001 V
VINAC 3 20 AC 0.001 0
* ANALIZA DO WYKONANIA
* ANALIZA AC, DEKADOWA (10 PUNKTOW NA DEKADE) OD 1000 Hz do 100 MHz
.AC DEC 10 1000 100MEG
* WIERSZE STERUJACE
.CONTROL
RUN
PLOT V(5)
.ENDC
Otrzymane wykresy należy umieścić w sprawozdaniu opatrując je jednoznacznymi opisami.
Następnie należy wykonać charakteryzację statystyczną. W tym celu wykonujemy następujące
czynności:
-
otwieramy plik “amplifier.pmk” edytorem UNCLE
-
zapisujemy topografię w formacie CIF, otrzymujemy plik “amplifier.pmk.cif”
10
-
otwieramy plik “amplifier.pmk.cif” edytorem EXCESS (przedtem należy wczytać plik
technologiczny “ECPD10L8.exc”)
-
w menu “ECPD10L8.exc” wybieramy pozycję “nominal” (WAŻNE!) - ekstrahowane będą
tylko tranzystory, bez elementów pasożytniczych)
-
w menu “Run” wybieramy “Statistical extraction”
-
w oknie dialogowym, które się otworzy, wybieramy opcję “Random”, 1 płytkę, 100 układów
na płytce (patrz rys. 5).
-
Rys. 5. Ustawienie warunków ekstrakcji statystycznej
a następnie czekamy na zakończenie ekstrakcji statystycznej, która będzie trwać kilkadziesiąt
sekund, po zakończeniu ekstrakcji pojawi się komunikat „Statistical extraction completed”.
Otrzymany plik będzie nosić nazwę z rozszerzeniem „.syp”, np. „amplifier.pmk.syp”.
-
po zakończeniu ekstrakcji statystycznej uruchamiamy program SYPRUS i otwieramy nim plik
“ECPD10Proc” (zawiera on opis procesu ECPD10; wraz z plikiem tym otwiera się kilka
innych plików pomocniczych).
-
WAŻNE! – WYNIKI SYMULACJI ZAPISYWANE SĄ DO KATALOGU, Z KTÓREGO
OTWARTO PLIK OPISU PROCESU I ZAPIS TEN JEST MOŻLIWY TYLKO DO
WŁASNEGO
KATALOGU
UŻYTKOWNIKA.
Z
TEGO
POWODU
NALEŻY
SKOPIOWAĆ DO WŁASNEGO KATALOGU WSZYSTKIE PLIKI KATALOGU SYPRUS
Z
WYJĄTKIEM
PROGRAMU
WYKONAWCZEGO
11
(Syprus).
NICZEGO
NIE
EDYTUJEMY W TYCH PLIKACH!
-
sprawdzamy ustawienie trybu symulacji w preferencjach dla programu SYPRUS, powinny
być ustawione jak na rys. 6.
Rys. 6. Ustawienie warunków symulacji statystycznej w programie SYPRUS
-
otwieramy plik pomocniczy zawierający linie komend dla programu SPICE (będą one
dopisywane automatycznie do każdego pliku wejściowego dla SPICE tworzonego przez
program SYPRUS) – menu “File” poz. “Open SPICE Command File”; przygotowany jest do
tego plik “amplifier.scm”, ale TRZEBA W NIM WCZEŚNIEJ SPRAWDZIĆ, CZY
NUMERY WĘZŁÓW ZGADZAJĄ SIĘ Z NUMERAMI W PLIKU WYTWORZONYM
PRZEZ EXCESS!!!
-
otwieramy plik zawierający wyniki ekstrakcji statystycznej: menu “File” poz. “Open EXCESS
12
File”
-
uruchamiamy symulację (menu “Process” poz. “Run Simulation”); przed rozpoczęciem
symulacji pojawi się pytanie, czy w modelu BSIM3 należy użyć LEVEL=8, należy
potwierdzić
-
następnie czekamy na zakończenie symulacji, trwa ona zwykle kilkadziesiąt sekund; pliki
wyjściowe będą miały kolejne numery “amplifier001.cir”, “amplifier002.cir” itd.
-
uruchamiamy program RunSpice i wybieramy pliki do symulacji (menu “File” poz. “Open”);
należy spośród 100 plików wytworzonych przez program SYPRUS wybrać plik o najniższym
numerze (tzn. “amplifier001.cir”).
-
przed rozpoczęciem symulacji pojawi się okno dialogowe wyboru wartości minimalnych i
maksymalnych na osiach wykresu, który będzie utworzony; należy wybrać wartości jak niżej:
Rys. 7. Wybór wartości na osiach dla wykresu zawierającego wyniki wymulacji statystycznej
-
następnie czekamy na zakończenie symulacji – program RunSpice wczytuje i symuluje
kolejno po 10 plików aż do ich wyczerpania. Symulacja zwykle trwa około minuty.
-
po zakończeniu symulacji otrzymamy wyniki w postaci pliku graficznego w formacie GIF, w
tym samym katalogu, w którym znajdowały się pliki do SPICE (np. “amplifier.pmk.gif”). Plik
ten pokazuje zbiór charakterystyk przejściowych wzmacniacza. Plik ten należy obejrzeć
dowolnym programem (np. Preview, NeoOffice), i zamieścić w sprawozdaniu. Na podstawie
tego rysunku należy określić maksymalny rozrzut charakterystyk dla przyjętej próbki losowej
w sposób pokazany na rys. 8, gdzie pokazany jest przykład wyników.
UWAGA: nie należy oczekiwać, że otrzymany wynik będzie identyczny, bowiem symulacja ma
charakter losowy, jednak dla próbki 100 wzmacniaczy maksymalny rozrzut charakterystyk
powinien być zbliżony.
13
Rys. 8. Przykładowy wynik symulacji statystycznej charakterystyk przejściowych wzmacniacza
operacyjnego i sposób oszacowania maksymalnego rozrzutu charakterystyk. Pojedynczych
charakterystyk daleko odbiegających od całego zbioru nie bierzemy pod uwagę.
(b) Charakteryzacja statystyczna technologii
Aby móc przeprojektować wzmacniacz w celu zmniejszenia rozrzutu, należy najpierw ustalić
jak zależy rozrzut lokalny parametrów tranzystorów od ich wymiarów. Użyjemy do tego ponownie
programu SYPRUS. Postępujemy następująco:
-
uruchamiamy ponownie symulator SYPRUS, otwieramy plik “ECPD10Proc”
-
definiujemy 4 pary identycznych tranzystorów n-kanałowych, ale o znacznie różniących się
powierzchniach bramek pomiędzy poszczególnymi parami, natomiast mających te same
proporcje W/L, co para tranzystorów M1N – M2N wstępnie zdefiniowana w pliku
“ECPD10Proc” (menu “Devices”, poz. “NMOS devices”)
-
określamy tryb symulacji w preferencjach: “Simple Monte Carlo simulation”, próbka równa
100, pliki wyjściowe: “Results of statistical simulation”, parametry wyjściowe: “Selection” patrz rys. 9
-
wybieramy zestaw parametrów do zapisu w pliku wyjściowym (menu „Process”, poz. „Select
Output Params…”): tylko napięcia progowe - patrz rys. 10
-
uruchamiamy symulację i czekamy na jej zakończenie (trwa zwykle kilkadziesiąt sekund)1
-
aby obejrzeć wyniki, uruchamiamy pomocniczy program StatIC i otwieramy plik wynikowy
“ECPD10Proc.st”
1
Uwaga: jeśli w czasie symulacji pojawią się komunikaty o błędach, to oznacza, że wygenerowane
zostało bardzo duże zaburzenie procesu, dla którego symulacja nie może być prawidłowo kontynuowana.
Zaburzenia są generowane losowo, więc takiej sytuacji nie można wykluczyć. W takim przypadku należy
symulację przerwać i rozpocząć jeszcze raz (nie zamykając programu). Istnieje bardzo duża szansa, że w
powtórnej symulacji tak duże zaburzenie nie powtórzy się.
14
-
oglądamy histogramy rozrzutu napięcia progowego (menu “Results” poz. “Mismatch”) – patrz
rys. 11.
-
notujemy wyniki (odchylenie standardowe w funkcji powierzchni bramki tranzystora) i
wykonujemy wykres rozrzutu w funkcji
1
(np. korzystając z arkusza kalkulacyjnego
WL
pakietu NeoOffice)
-
wyniki zamieszczamy w sprawozdaniu.
€
Rys. 9. Tryb symulacji przy charakteryzacji statystycznej procesu
15
Rys. 10. Wybór parametrów wyjściowych
Rys. 11. Wyniki symulacji – obraz w programie StatIC dla jednej pary tranzystorów
16
Rys. 12. Przykład wyników symulacji rozrzutu po opracowaniu
(c) Przeprojektowanie wzmacniacza i ponowna charakteryzacja
Po obejrzeniu wyników symulacji rozrzutu w funkcji powierzchni bramki należy poprosić
prowadzącego zajęcia, aby określił cel przeprojektowania w postaci maksymalnego rozrzutu
charakterystyk wzmacniacza. Na tej podstawie wybieramy nowe wymiary W i L tranzystorów pary
różnicowej we wzmacniaczu i wykonujemy ostatnią część ćwiczeń:
-
wykonujemy
duplikat
pliku
“amplifier.pmk”
i
nadajemy
mu
nową
nazwę
(np.
“moj_wzmacniacz”) – nie edytujemy pierwotnej wersji wzmacniacza, aby w razie potrzeby
móc do niej wrócić!
-
otwieramy ten nowy plik edytorem UNCLE i przeprojektowujemy topografię tak, aby
tranzystory pary wejściowej miały nowe, większe wymiary kanału (uwaga: należy zachować
proporcje W/L!). Można również powiększyć inne tranzystory, zachowując proporcję W/L.
-
nową topografię poddajemy charakteryzacji jak w w punkcie (a): powinniśmy uzyskać
wykresy: nominalnej charakterystyki przejściowej, wyników symulacji AC i wyników
symulacji statystycznej (EXCESS->SYPRUS->RunSpice) oraz wyznaczyć odpowiednie
parametry wzmacniacza. UWAGA-WAŻNE: po przeprojektowaniu topografii mogą ulec
zmianie numery, jakie nadaje EXCESS węzłom elektrycznym, dlatego przed wszelkimi
symulacjami należy sprawdzić, czy w wierszach zawierających opisy źródeł napięć oraz
komendy dla SPICE nie trzeba zmienić numerów węzłów!
-
wszystkie wyniki zamieszczamy w sprawozdaniu.
Na koniec należy przedyskutować z prowadzącym zajęcia uzyskane wyniki:
-
czy cel (zmniejszenie rozrzutu) został osiągnięty?
-
jak zmieniły się charakterystyki wzmacniacza w wyniku przeprojektowania i dlaczego?
-
jak zmieniła się jego powierzchnia?
17
5 Uwagi końcowe
Zadania do wykonania są pracochłonne i wymagają użycia wielu programów, których obsługa nie
jest oczywista. Aby nie tracić czasu, należy prosić prowadzącego zajęcia o pomoc w każdym
przypadku problemu z programem – gdy nie wiadomo co zrobić, gdy program działa w sposób inny od
oczekiwanego lub nie daje spodziewanych wyników.
Prowadzący zajęcia poda wymagania dotyczące treści i formy sprawozdania. Może również
zdecydować o modyfikacji niektórych fragmentów ćwiczeń.
18