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