Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Laboratorium Projektowania Systemów Scalonych Zadanie 1 Projekt bramki NAND lub NOR optymalizacja charakterystyk przejściowych KE AGH str. 1
1. Cel Laboratorium Projektowania Systemów Scalonych Zapoznanie się studenta z pracą podstawowych bramek CMOS. Poznanie wpływu sposobu sterownia i wymiarów tranzystorów na ch-ki przejściowe bramek. Nabycie umiejętności przeprowadzania symulacji parametrycznych. Półautomatyczne generowanie topografii. 2. Zadanie 3. Wynik Narysować schemat dwuwejściowej bramki NAND lub NOR. Wykonać symulację potwierdzającą poprawne działanie (np. analiza transient). Wykonać symulację w celu wykreślenia ch-k przejściowych bramki. Wykorzystując analizę parametryczną tak dobrać wymiary tranzystorów (szerokość), aby uzyskać największe możliwe marginesy zakłóceń bramki. Narysować topografię korzystając z metody półautomatycznej. Zachować jak najmniejsze wymiary warstw i odległości między nimi (ewentualnie poszerzyć te warstwy, które trzeba ale nie zwiększając wymiarów całości, np.: linie zasilające). Wyekstrahować netlistę z layout'u z parametrami pasożytniczymi: R i C. Przeprowadzić symulacje postlayoutowe w celu wyznaczenia ch-k przejściowych i parametrów czasowych (czas propagacji, czas narastania i opadania sygnału wyjściowego) oraz średniego poboru mocy przy obciążeniu bramki pojemnością równą 10 ff. Przedstawić topografię do sprawdzenia prowadzącemu zajęcia. Napisać krótkie sprawozdanie zawierające: cel projektu oraz wyniki symulacji przedlayoutowych i postlayoutowych, czyli wyznaczone parametry bramki: próg przełączania, marginesy zakłóceń, czasy, średni pobór mocy, wymiary i powierzchnię. Proszę pamiętać o podaniu warunków symulacji bramki (pojemność obciążenia, częstotliwość sygnału itp.). Nie jest wskazane umieszczanie topografii w sprawozdaniu, natomiast koniecznie należy podać ścieżkę i nazwę biblioteki z ostateczną wersją projektu. Sprawozdanie można wysłać mailem, po uzgodnieniu z prowadzącym zajęcia, wpisując w temacie listu: SUiSE_zad1_imię_nazwisko. KE AGH str. 2
4. Realizacja zadań informacje pomocnicze 4.1. Ustawienia wstępne i schemat bramki Laboratorium Projektowania Systemów Scalonych Zaleca się utworzenie nowego katalogu dla zadania pierwszego. Ewentualnie można utworzyć nową bibliotekę w już istniejącym katalogu z poprzednim projektem. Oczywiście w nowym katalogu trzeba przygotować środowisko umc_180_setup, czego nie wolno robić pracując w starym katalogu. W Library Manager należy kolejno utworzyć bibliotekę, celę i schemat, analogicznie jak w przypadku inwertera. Teraz przystępujemy do rysowania schematu wybranej bramki. Tranzystory wzięte z biblioteki mogą mieć minimalne wymiary dla tej technologii. Następnie należy wykonać symulację potwierdzającą poprawność schematu i właściwego działania bramki (np. analiza transient). Można to zrobić analogicznie jak w przypadku inwertera. 4.2. Schemat do symulacji ch-k przejściowych Drugim etapem jest przygotowanie schematu do symulacji ch-k przejściowych bramki czyli analizy stałoprądowej (.dc). Parametrem, jaki można wyznaczyć z tych ch-k jest napięcie przełączenia oraz marginesy zakłóceń. Ponieważ ch-ka przejściowa nie ma "pionowej" stromości napięcie przełączenia możemy zdefiniować jako takie napięcie wejściowe, dla którego napięcie wyjściowe przyjmie wartość połowy napięcia zasilania. Ponadto można wyznaczyć max. napięcie wejściowe dla 0 (V IL ) oraz minimalne dla 1 (V IH ). Na ich podstawie możemy wyznaczyć marginesy zakłóceń bramki. Definicja marginesów zakłóceń mówi, że: margines zakłóceń dla stanu wysokiego to: M H V V, margines zakłóceń dla stanu niskiego to: M L VIL VOL. Napięcia są zdefiniowane na rysunku poniżej (Rys.1). Punkty A i B wyznaczono dla nachylenia charakterystyki równego 1 (inaczej dv out /dv in = 1). OH IH V out V OH A V OL B V in V IL V IH Rys.1. Ch-ka przejściowa inwertera sposób wyznaczania marginesów zakłóceń. W odróżnieniu od inwertera dla bramek wielowejściowych należy zbadać wszystkie możliwe sposoby sterowania bramki, tj. np. dla bramki dwu wejściowej NOR o wejściach AB będziemy mieli przypadki: (1) A = 0, B =, (2) A =, B = 0, (3) A =, B = (strzałka oznacza zmianę sygnału zbocze). Ponieważ ch-ki przejściowe dla różnych sposobów sterowania bramki nie pokrywają się należy wybrać skrajne przypadki dla wyznaczenia napięć V IL i V IH potrzebnych do obliczenia marginesów zakłóceń. Jednakże trzeba trzykrotnie zmodyfikować schemat, tak aby uzyskać wszystkie ch-ki. Innym podejściem jest narysowanie trzech schematów pomiarowych na jednym arkuszu dla wszystkich sposobów przełączania bramki. Wystarczy użyć jednego źródła wejściowego, które należy stosownie podłączyć do wszystkich bramek. Wybierając sygnały wyjściowe uzyskamy trzy ch-ki przejściowe na jednym wykresie. Ze skrajnych ch-k wyznaczamy marginesy zakłóceń. KE AGH str. 3
4.3. Symulacja parametryczna i dobór szerokości tranzystorów. Celem jest dobranie szerokości tranzystorów w taki sposób, aby ch-ki przejściowe znalazły się w środku pola charakterystyk (0 do V dd ), w pobliżu połowy napięcia zasilania, a marginesy zakłóceń były maksymalne. Zadanie można uprościć do poszukiwania takiej szerokości tranzystorów PMOS aby średnia napięć przełączania bramki dla skrajnych przypadków ch-k była równa połowie napięcia zasilania (Rys.2). V out V dd ½ V dd ½ ½ V dd Rys.2. Charakterystyki przejściowe dla różnych sposobów sterowania bramki przesunięte do środka pola ch-k. W przypadku bramek NAND o większej liczbie wejść może dojść do sytuacji, gdy tranzystory NMOS trzeba będzie poszerzyć, za względu na ich szeregowe łączenie, przy minimalnych wymiarach PMOS ów. W celu poszukiwania optymalnych wymiarów tranzystorów można wykonać stałoprądową analizę parametryczną, zamiast wielokrotnych zmian szerokości tranzystorów i symulacji. Poniżej opisano przykładowe ustawienia pozwalające na symulację ch-k przejściowych bramki NAND: V dd V in Analiza parametryczna w ADE L: Zamiast wartości określonego parametru, który chcemy zmieniać w kolejnych analizach, należy wpisać nazwę parametru (np. szer): KE AGH str. 4
Następnie z menu Launch wybieramy polecenie ADE L uruchamiające okno sterujące symulacjami. Naciskając przycisk Choose Analyses wybieramy analizę dc, zaznaczamy Component Parameter i naciskamy Select Component: Na schemacie zaznaczamy element (np. źródło napięcia wejściowego), a w oknie Select Component Parameter zaznaczamy dc i zatwierdzamy (OK): KE AGH str. 5
Po powrocie do poprzedniego okna należy ustawić zakres i krok zmian wybranego parametru. Poniżej przedstawiono okno z ustawionymi wszystkimi parametrami: Następnie w oknie ADE, po wciśnięciu przycisku Setup Outputs wybieramy napięcie wyjściowe, które ma być wyświetlone. Należy jeszcze wybrać zmienne. W tym celu wciskamy przycisk Edit Variables. Otworzy się okno Edit Design Variables, w którym wciskamy Copy From, co spowoduje skopiowanie zmiennych ze schematu symulacji (tam w parametrach tranzystorów wpisaliśmy nazwę parametru). W polu Value wpisujemy wartość domyślną parametru (tu min. szerokość tranzystora 240 nm) i wciskamy przycisk Change. Efekt będzie taki, jak poniżej. KE AGH str. 6
W oknie ADE zostaną już uzupełnione wszystkie potrzebne parametry: Należy jeszcze wybrać parametr, który ma się zmieniać podczas analizy. W naszym przypadku mamy do wyboru jeden nasz parametr i oczywiście drugi domyślny tj. temperaturę. Z menu okna ADE wybieramy Tools Parametric Analysis W oknie Parametric Analysis z rozwijanego menu wybieramy zmienną (tu: szer) oraz w odpowiednich okienkach wpisujemy wartość początkową i końcową parametru i liczbę kroków zmian. KE AGH str. 7
Pozostaje już tylko uruchomienie symulacji: Obserwacja i analiza wyników symulacji Wynikiem analizy parametrycznej będzie zestaw kilku ch-k przejściowych bramki: Do wyznaczania napięć można użyć markera, który włącza się przyciskiem Create Marker. Otworzy się okno do edycji jego ustawień, w którym wpisujemy wartość pozycji markera dla osi X lub Y. W naszym przypadku wpisujemy wartość połowy napięcia zasilania dla osi Y. KE AGH str. 8
Na wykresie pojawi się marker w wybranym miejscu. Po najechaniu wskaźnikiem myszy na przerywaną linię markera pojawią się dymki z wartościami napięć dla poszczególnych przecięć charakterystyk z markerem. Jest jeszcze jedna użyteczna funkcja w Virtuoso Visualization, to możliwość ukrywania wykresów. Wystarczy nacisnąć oczko w lewym panelu z opisem przebiegów. KE AGH str. 9
4.4. Półautomatyczna generacja topografii Laboratorium Projektowania Systemów Scalonych W programie Cadence IC Design możliwe jest wygenerowanie elementów składowych topografii na podstawie schematu. Zastosowane będą topografie elementów bibliotecznych użytych w schemacie. Otwieramy uprzednio narysowany schemat lub rysujemy nowy za pomocą Schematics XL (w Menadżerze Bibliotek naciskamy prawym przyciskiem myszy na wybrany schemat i wybieramy Open With. Po czym otworzy się okno pozwalające na wybór aplikacji do otwarcia pliku. Okno ze schematem będzie teraz wyglądało nieco inaczej niż poprzednio: KE AGH str. 10
Z menu Lunch wybieramy Layout GXL. Pojawi się okno z wyborem opcji: Następne, to okno tworzenia nowej topografii: Po ustawieniu stosownych wartości w tym oknie otworzy się nowe do rysowania topografii, a układ okien na ekranie zostanie zorganizowany jak na poniższym rysunku: KE AGH str. 11
Teraz przystępujemy do generowania topografii ze schematu. Z menu programu Virtuoso Layout GXL wybieramy: Connectivity Generate All From Source. Otworzy się okno pozwalające na wybór parametrów generowanych elementów: W powyższym oknie definiujemy rodzaj warstw dla pinów oraz właściwości etykiet. W części Pin Label naciskamy Options, co spowoduje otwarcie poniższego okna: KE AGH str. 12
Po zatwierdzeniu poprzednich okien pojawi się wygenerowana topografia, a właściwie to tylko layouty zastosowanych w schemacie elementów bibliotecznych: Wystarczy je już tylko połączyć Edytor layout ów posiada pewne udogodnienia. Przykładowo wybierając z menu Connectivity Nets Show/Hide Selected Incomplete Nets możemy włączyć pokazywanie połączeń, które jeszcze należy wykonać. KE AGH str. 13
Jednakże aby linie obrazujące punkty do łączenia (net y) były widoczne trzeba włączyć ich wyświetlanie w Display Options. Efekt będzie podobny do poniższego rysunku: KE AGH str. 14
W trakcie rysowania topografii często trzeba wykonywać struktury kontaktów i przelotek. W edytorze Virtuoso Layout możliwa jest automatyczna generacja tych struktur. W tym celu z menu wybieramy Create Via (skrót o). Otworzy się okno pozwalające na definiowanie typu kontaktu/przelotki (Via Definition), ich liczby (Rows, Columns), wybór trybu: pojedynczy/stos/auto i inne. KE AGH str. 15