Tematyka: projekt zwierciadła prądowego. PUAV projekt Ćwiczenia 3-4 Cel ćwiczenia: wykonanie projektu zwierciadła prądowego, zapoznanie się z niektórymi problemami projektowania i symulacji takich układów. Przygotowanie do zajęć: oczekiwana jest ogólna znajomość układów zwierciadeł i źródeł prądowych oraz ich podstawowych parametrów. W szczególności zalecane jest przemyślenie zasady działania projektowanego układu i warunków, jakie muszą być spełnione dla jego poprawnego działania. Warto przeczytać materiał pomocniczy do wykładu 7 (Podstawowe bloki układów analogowych (1)) dostępny w postaci pliku PDF. Używane oprogramowanie: pakiet zintegrowany AppleWorks oraz programy pakietu IMiOCAD: IMiOSpice, Syprus, Excess, Uncle. Wszystkie te programy są już znane z poprzednich zajęć, ewentualne wątpliwości dotyczące ich używania będzie wyjaśniał prowadzący zajęcia. Zadanie do wykonania: Należy zaprojektować zwierciadło prądowe o schemacie podanym niżej: Rys. 1. Schemat projektowanego zwierciadła prądowego Dane do projektu: Prąd Iref = 100 µa Napięcie zasilania VDD = 5V Należy dążyć do uzyskania możliwie jak najwyższej wartości rezystancji wyjściowej oraz jak najniższej wartości napięcia wyjściowego, przy którym układ jeszcze pracuje poprawnie. Układ nie powinien zajmować powierzchni większej, niż 25 000 µm 2. Technologia ECPD10 - modele tranzystorów do obliczeń ręcznych i inne potrzebne pliki będą udostępnione przez prowadzącego zajęcia. 1
Przebieg zajęć: Część 1: Dobór wymiarów tranzystorów Określenie optymalnej wartości napięcia polaryzującego VB Wymiary tranzystorów i napięcie polaryzujące powinny być najpierw wstępnie oszacowane przy użyciu obliczeń ręcznych, a następnie należy wykonać odpowiednie symulacje. Dla zbadania, z jaką dokładnością prąd I wy powtarza prąd I ref, i jak zależy to od napięcia polaryzującego V B oraz napięcia na drenie tranzystora T3, należy wykonać symulację DC, w której zmieniane będą wartości tych napięć, a wielkością obserwowaną będzie prąd I wy. Warto pamiętać, że: im dłuższy kanał tranzystora, tym słabszy wpływ napięcia V DS na prąd drenu, a więc tym większa rezystancja różniczkowa r ds, im większy stosunek W/L tranzystora, tym mniejszą wartość ma przy danym prądzie drenu napięcie nasycenia V DSsat tranzystora. Część 2: Zaprojektowanie topografii układu Wykonanie ekstrakcji i symulacji dla nominalnych modeli tranzystorów Wykonanie symulacji statystycznej dla oceny rozrzutu wartości prądu Iwy Skomentowanie wyników i wyciągnięcie wniosków co do ewentualnego przeprojektowania układu. Zadanie będzie wykonywane przez dwa kolejne tygodnie, należy więc zadbać o to, by wszystkie wyniki otrzymane podczas pierwszych zajęć zostały zapamiętane, należy również zachować odręczne notatki, rysunki i rachunki. Wskazówki do wykonania zadania: (a) Wzory do ręcznych obliczeń szacunkowych: Rezystancję wyjściową układu można w przybliżeniu oszacować z zależności: rwy rds3rds2gm3 (1) Minimalne napięcie, przy którym układ jeszcze pracuje poprawnie (tj. napięcie, przy którym tranzystory T2 i T3 pracują w zakresie nasycenia) można oszacować w przybliżeniu jako Uwy min 2VDSsat (2) Napięcie VB musi mieć taką wartość, aby tranzystory pracowały w nasyceniu, jest to w przybliżeniu zakres następujący: VT + 2VDSsat < VB < 2VT + VDSsat (3) (b) Wskazówki do symulacji: Problemem może być otrzymanie przy użyciu programu IMiOSpice wartości rezystancji wyjściowej. Jest to oczywiście rezystancja małosygnałowa. Teoretycznie można ją otrzymać przez wykonanie analizy typu TF (transfer function), która powoduje obliczenie 2
parametrów małosygnałowych dla wybranych węzłów układu: transkonduktancji, rezystancji wejściowej i wyjściowej. W przypadku układu, który jest przedmiotem ćwiczenia, stosowanie analizy TF wiąże się z problemem zapewnienia odpowiednich warunków pracy tranzystorów T3 i T2. Połączenie drenu tranzystora T3 ze źródłem napięcia zasilania V DD uniemożliwi określenie rezystancji wyjściowej, bowiem z punktu widzenia analizy małosygnałowej źródło napięcia stałego stanowi zwarcie. A więc wartość rezystancji wyjściowej między drenem tranzystora T3 i masą w obecności źródła napięcia stałego będzie równa zeru patrz rys. 2. Rys. 2. Układ, w którym analiza TF nie daje możliwości określenia rezystancji wyjściowej Układ z rys. 2 można zmodyfikować wprowadzając w szereg ze źródłem napięcia zasilania bardzo dużą rezystancję. Ponieważ jednak spodziewana wartość rwy dla projektowanego układu jest rzędu 10 MΩ lub więcej, rezystancja ta powinna być co najmniej rzędu 100 MΩ. Przepływający przez nią prąd stały wynoszący 100 µa będzie powodował spadek napięcia rzędu 10 kv! Tego rzędu powinna być więc wartość napięcia VDD. Symulację układu z takimi wartościami rezystancji i napięcia VDD można wykonać, lecz problemem będzie dokładne dobranie wartości VDD, przy której napięcie na drenie T3 będzie miało sensowną wartość (kilka V). Dlatego można posłużyć się innym sposobem, przy wykorzystaniu analizy małosygnałowej AC. Należy w tym celu w obwodzie wyjściowym włączyć źródło sygnału zmiennego i przy pomocy analizy AC określić amplitudę składowej zmiennej prądu wyjściowego wywołanej przez obecność tego źródła patrz schemat na rys. 3. Następnie rezystancję wyjściową otrzymamy jako r wy = v AC i wy (4) gdzie vac jest amplitudą napięcia zmiennego, zaś iwy amplitudą składowej zmiennej prądu wyjściowego. Oba sposoby w przypadku prawidłowego wykonania symulacji, a w szczególności zapewnienia dokładnie takich samych warunków pracy tranzystorów (wartości składowych stałych napięć i prądów), dają ten sam wynik, ale sposób drugi jest w praktyce znacznie wygodniejszy, a dodatkowo daje możliwość zbadania zależności 3
rezystancji (a raczej impedancji) wyjściowej w funkcji częstotliwości, co może być istotne w wielu zastosowaniach. Dla ułatwienia wykonania zadania przygotowany będzie przykładowy plik do programu IMiOSpice umożliwiający określenie rezystancji wyjściowej drugą metodą. Rys. 3. Schemat układu do analizy AC (c) Wskazówki dotyczące modeli tranzystorów Przy obliczeniach ręcznych należy czerpać potrzebne wartości parametrów z modeli level1, które będą podane przez prowadzącego zajęcia. Wyniki oparte na tych modelach będą z reguły mało dokładne. Dla uzyskania wyników możliwie bliskich rzeczywistości należy użyć modelu BSIM3. Pliki z tymi modelami będą również przygotowane przez prowadzącego zajęcia. (d) Wykonanie symulacji po zaprojektowaniu topografii oraz symulacji statystycznej W tej części ćwiczenia wykorzystany będzie drugi tryb symulacji Monte Cralo programu Syprus. W drugim trybie symulacji statystycznej (Netlist driven Monte Carlo simulation) program Syprus współpracuje z ekstraktorem Excess i specjalną wersją symulatora IMiOSpice o nazwie SpiceStat. 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 jest wynikiem 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 4
symulacji służy program pomocniczy runspice, który czyta kolejne pliki i dla każdego z nich wywołuje program SpiceStat. Wszystkie wyniki kolejnych symulacji są zbierane w jednym pliku. Końcowym rezultatem jest graficzny obraz wyników symulacji wszystkich egzemplarzy układu, co pozwala ocenić rozrzuty produkcyjne. Na początku należy wykonać ekstrakcję schematu z zaprojektowanej topografii i dla tego schematu wykonać symulację z nominalnymi wartościami parametrów: 1. Zaprojektować topografię układu przy użyciu edytora topografii Uncle, dla technologii ECPD10. Niech plik z zaprojektowaną topografią ma dla przykładu nazwę zrodlo. 2. Zapisać tę topografię w formacie CIF otrzymany zostanie plik zrodlo.cif. 3. Uruchomić ekstraktor Excess, wczytać plik technologiczny ECPD10bip.exc 1 (menu File, poz. Open technology ), a następnie otworzyć plik zrodlo.cif (menu File poz. Open layout ) na ekranie powinna pokazać się topografia w postaci rysunku masek produkcyjnych. 4. W menu ECPD10 bip.exc wybrać poz. nominal jest to wybór elementów, które będą ekstrahowane, poz. nominal oznacza: tylko tranzystory MOS. 5. W menu Run wybrać poz. Circuit extraction wykonana zostanie ekstrakcja schematu. 6. W menu File wybrać poz. Output spowoduje to zapisanie wyników ekstrakcji w postaci pliku w formacie Spice. Powstanie plik o nazwie zrodlo.cir. 7. Otworzyć plik zrodlo.cir edytorem tekstu, wyciąć z niego modele elementów zapisane przez program Excess, zastąpić te modele modelami BSIM3 znajdującymi się w pomocniczym pliku modeleecpd10 2. Należy użyć modeli BSIM3 dla tranzystorów o wymiarach najbardziej zbliżonych do wymiarów użytych w projekcie. Nie jest to jednak sprawa o krytycznym znaczeniu, bowiem w modelu BSIM3 wbudowane są zależności najważniejszych parametrów wewnętrznych modelu od wymiarów tranzystora. 8. W pomocniczym pliku symulacjadc znajdują się wiersze sterujące dla Spice, które spowodują wykonanie symulacji. Należy je przenieść do pliku zrodlo.cir. UWAGA: NALEŻY SPRAWDZIĆ ZGODNOŚĆ NUMERÓW WĘZŁÓW zasilania, wejścia, wyjścia z numerami węzłów w pliku symulacjadc. 9. Uruchomić program IMiOSpice i wczytać plik zrodlo.cir. Uzyskaną charakterystykę należy umieścić w sprawozdaniu. Teraz będziemy wykonywać charakteryzację statystyczną. Kolejno należy wykonać następujące czynności: 1. Otworzyć ponownie plik zrodlo.cif programem Excess. Wybrać ekstrakcję nominal, a z menu Run poz. Statistical extraction. Następnie wybrać sposób ekstrakcji: liczbę układów (100 z jednej płytki) i ich położenia (przypadkowe Random ) patrz rys. 4 na następnej stronie. Po zakończeniu ekstracji (będzie trwać kilka minut) otrzymany będzie plik zrodlo.syp. 1 Plik technologiczny ECPD10bip.exc umożliwia oprócz ekstrakcji tranzystorów MOS i biernych elementów R i C także ekstrakcję podłożowych tranzystorów bipolarnych pnp. Będzie on wykorzystywany także w następnych ćwiczeniach. 2 Program Excess w wersji używanej w ćwiczeniu nie ma możliwości zapisywania do plików modelu BSIM3, zapisywany jest model level2. Jest on za mało dokładny do symulacji wzmacniaczy badanach w ćwiczeniu. 5
Rys. 4. Określenie warunków ekstrakcji statystycznej dla programu Excess 2. Uruchomić program Syprus i otworzyć plik ECPD10Proc. 3. Ustawić tryb symulacji w preferencjach dla programu Syprus, powinny być ustawione jak na rysunku 5. Rys. 5. Określenie opcji dla programu Syprus 6
4. Otworzyć 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 przykladowy plik zrodlo.scm, ale TRZEBA W NIM WCZEŚNIEJ SPRAWDZIĆ, CZY NUMERY WĘZŁÓW ZGADZAJĄ SIĘ Z NUMERAMI W PLIKU WYTWORZONYM PRZEZ EXCESS!!! 5. Otworzyć plik zawierający wyniki ekstrakcji statystycznej: menu File poz. Open EXCESS File. Należy wybrać plik zrodlo.syp. 6. Uruchomić symulację (menu Process poz. Simulate ); przed rozpoczęciem symulacji pojawi się pytanie, czy w modelu BSIM3 należy użyć LEVEL=8, należy potwierdzić. Teraz czekamy na zakończenie symulacji, trwa ona do kilku minut; pliki wyjściowe będą miały kolejne numery zrodlo001.cir, zrodlo002.cir itd. Po zakończeniu wykonamy ostatni etap symulacji przy użyciu programów runspice i SpiceStat. Należy postępować następująco: 1. Uruchomić program runspice i wybrać pliki do symulacji programem SpiceStat (menu File poz. Open ); należy spośród 100 plików wytworzonych przez program Syprus wybrać plik o najniższym numerze (tzn. zrodlo001.cir ) 2. Przed rozpoczęciem symulacji pojawi się okno dialogowe wyboru wartości minimalnych i maksymalnych na osiach wykresu, który będzie utworzony patrz rys. 6. UWAGA: wartości napięć (Min X, Max X) i prądów (Min Y, Max Y) na rys. 6 są tylko przykładowe. Rys. 6. Wybór wartości minimalnych i maksymalnych dla wykresu wyników symulacji statystycznej Otrzymany będzie plik o nazwie zrodlo.gif, znajdować się w nim będą wyniki symulacji statystycznej w postaci wykresu w formacie GIF. Plik ten można otworzyć dowolnym programem otwierającym pliki graficzne: Preview, AppleWorks i in. Należy zamieścić wszystkie otrzymane wyniki w sprawozdaniu i skomentować je: czy są zadowalające? Jeśli nie, jak można by ulepszyć projekt układu? 7
Dodatek Przykładowy plik opisujący projektowany układ, z modelami elementów BSIM3. * TEST zwierciadlo pradowe M1 0 2 3 0 MDEVN1 W=200U L=5U M2 0 2 1 0 MDEVN1 W=200U L=5U M3 1 4 5 0 MDEVN2 W=300U L=5U M4 3 4 2 0 MDEVN2 W=300U L=5U * Zrodla VB 4 0 DC 1.4V IREF 7 2 DC 100U VDD 7 0 DC 5V VI 7 5 DC 0V * VI sluzy do pomiaru pradu wyjsciowego * Zmiana VI umozliwia zbadanie zaleznosci tego pradu * od napiecia na drenie tranzystora T3 * koniec zrodel * Analizy * W funkcji napiecia VB.DC VB 1.0 2.5 0.0005 * Dla zbadania minimalnego napiecia na wyjsciu *.DC VI 0 5 0.0005 * Obserwowany prad w zrodle VI.CONTROL RUN PLOT vi#branch.endc * BSIM3v3 MODEL FOR NMOS DEVICE NO. 1, W=200um L=5um.MODEL MDEVN1 NMOS LEVEL=8 + MOBMOD=1 CAPMOD=2 + VTH0=0.6774 K1=0.2557 K2=-0.01056 K3=0 + K3B=0 DVT0=0 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.2336 ETAB=-22.42 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=1.2e+05 AGS=0.24 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.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=30.13 + AT=3.3e+04 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=5e+04 NOIC=-1.4e-12 8
+ 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 * BSIM3v3 MODEL FOR NMOS DEVICE NO. 2, W=300um L=5um.MODEL MDEVN2 NMOS LEVEL=8 + MOBMOD=1 CAPMOD=2 + VTH0=0.6774 K1=0.2557 K2=-0.01056 K3=0 + K3B=0 DVT0=0 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.2336 ETAB=-22.42 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=1.2e+05 AGS=0.24 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.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=30.13 + AT=3.3e+04 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=5e+04 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.END 9