Wprowadzenie do programu Excess
Program ten jest ekstraktorem zintegrowanych układów elektronicznych. Jest
to jedno z CAD'owskich narzędzi ze zbioru IMiOCAD - narzędzi do projektowania,
weryfikacji i symulacji zintegrowanych obwodów elektrycznych, który powstał
na Uniwersytecie Warszawskim. Służy on do wizualizacji elementów składowych
układów wysokiej integracji, oraz do zapisu tych elementów składowych wraz
z opisem rozmieszczenia do pliku w formacie SPICE'a. Program jako
taki zapewnia pewien zbiór definicji technologii, w oparciu o które można
dokonywać ewentualnych ekstrakcji. Możliwa jest także do zdefiniowania
własna technologia, według której będziemy mogli pracować z Excessem. Podobnie
ma się sprawa ze zbiorem dostępnych do ekstrakcji urządzeń. Użytkownik
może sam sobie je zdefiniować, bądź używać standardowych, już zdefiniowanych.
Program przyjmuje dane w postaci CIF (Caltech Intermediate Format). Otrzymane
wyniki możemy zapisać w formacie SPICE'a.
Początek pracy - przedstawimy przykład inwertera logicznego w technologii
C07M_exc. Proponujemy Tobie, czytelniku prześledzenie wymienionych poniżej
etapów pracy z Excess'em, które pozwolą zrozumieć jego filozofię działania
na konkretnym przykładzie - inwerterze stanów logicznych.
- Uruchamiamy Excess'a.
-
Wybieramy opcję otwórz technologię z menu File. Następnie lokalizujemy
plik z tą technologią (w naszym wypadku C07M_excl.exc) dla określenia używanej
technologii.
-
Następnie zaglądamy do menu C07M_excl.exc.Mamy tam do wyboru trzy opcje
dotyczące części jakie mogą być ekstraktowane: full (pełna lista urządzeń),
nominal (tylko tranzystory MOS), oraz optimal (najważniejsze urządzenia
nominalne i pasożytnicze).
-
Wybierz polecenie nominalne ("Nominal") z listy. W oknie układu wyświetlane
będą tylko urządzenia nominalne.
-
Następnie wydaj polecenie Otwórz Układ (Open Layout) z menu "File" i podaj
lokalizację pliku z definicją twojego układu. Po zatwierdzeniu wyboru Excess
wyświetli Ci graficzną reprezentację układu w nowym okienku (patrz poniższy
rysunek).
Na pewno zauważyłeś kropeczki z napisami położonymi obok w nawiasach.
Są to etykiety przypisane przez projektanta do specyficznych punktów układu
takich jak: wejścia, wyjścia, źródła prądowe.
-
Następnie możesz regulować zasób wyświetlanych urządzeń przez odpowiednie
ustawienie w menu "Layout".
-
W kolejnym kroku wybierzmy przykładowo opcję "Hide All Masks" po czym żaden
z elementów twojego układu nie będzie więcej widoczny. Następnie można
oglądać badany układ przez jedną bądź kilka masek jednocześnie. Dzięki
temu możemy zaobserwować interesujące nas szczegóły nawet przy dużym stopniu
skomplikowania układu.
-
W tej chwili masz okazję do obejrzenia poszczególnych elementów układu.
Dla przykładu wybierzmy z menu "Layout" maskę "Metal_1". Widoczne będą
tylko urządzenia reprezentowane przez tą maskę.
-
Następnie wybierz opcję "Show All Masks" by przejść do możliwości etykietowania
układu. Każdy układ posiada swoje wejścia jak i wyjścia. Excess pozwala
na ich etykietowanie. W celu dodania etykietki wystarczy kliknąć w kropkę
reprezentującą owe wejścia czy wyjście by otrzymać okienko (jak poniżej)
w którym będziemy mogli wpisać numer i nazwę etykiety (pamiętaj o niepowtarzaniu
numerów).
-
Po wpisaniu etykiety oraz jej numeru zatwierdzamy przyciskiem "OK.", po
czym zostaje ona wyświetlona w oknie układu.
Jeśli masz problemy z otworzeniem okna jakiejś etykiety (zapewne ze
względu na duże zagęszczenie układu) wybierz polecenie powiększ ("zoom
in") z menu "View".
-
Po nadaniu etykiet oraz ustaleniu odpowiednich parametrów (masek) możemy
przystąpić do właściwej ekstrakcji. Wybierz polecenie "RUN" z menu "Circuit
Extraction" aby zapoczątkować ekstrakcję. Excess przystąpił do wyszukiwania
wybranego przez Ciebie zbioru urządzeń w układzie.
-
Ponownie wybierz menu "C07M_excl.exc" zauważysz zapewne zmianę w dostępnych
do wyboru urządzeniach. Excess będzie teraz pokazywał jedynie te z nich,
które zostały odnalezione w zadanym przez Ciebie układzie. W naszym przypadku
będą to będą to tranzystory MOS z kanałem typu p jaki i te z kanałem typu
n. Możesz następnie wybrać jedne z nich np. z kanałem n. Zostaną one podświetlone
na kolor szary dzięki czemu będziesz mógł je łatwiej zlokalizować w układzie.
-
Wybierz teraz komendę "Output" (wyjście) z menu "File". Zostaniesz zapytany
o nazwę pliku do jakiego ma zostać zapisany rezultat ekstrakcji.
-
Otrzymany plik możesz wyedytować dowolnym edytorem (jest to plik ASCII)
. Zawartość pliku pokazano poniżej.
Plik tekstowy z wyekstraktowanym układem
-
Jak możesz zauważyć:
-
Umieszczone są w nim etykiety nadane węzłom wraz z ich numerami.
-
Plik zawiera netlistę jako model urządzenia, ale bez żadnych opisów zasilań
układu czy też ewentualnych sygnałów wejściowych. By przygotować plik na
użytek symulacji w SPICE'ie musisz dodać te linie własnoręcznie. Nie rób
tego teraz. Zostawiamy otwarty plik "aoi.cir" i wracamy do Excess'a
-
Wybierz komendę "New Extraction" z menu "Run". Powie to Excess'owi, że
chcesz dokonać ponownej ekstrakcji tego samego układu.
Uwaga aby zacząć pracę z nowym układem musisz najpierw zamknąć
okno z układem bieżącym.
-
Wybierz polecenie "Select devices" z menu C07M_excl.exc. Wyświetlone okno
dialogowe, które pozwoli Ci utworzyć własną listę urządzeń wyświetlanych
do ekstrakcji. Jest to lista wszystkich urządzeń dostępnych w wybranej
przez Ciebie technologii. Wybrane urządzenie jest wyświetlane w okienku
jako podświetlone. Przez klikanie na odpowiednie nazwy urządzeń możesz
stworzyć listę urządzeń, które chcesz wyświetlać. Wybierzmy przykładowo
oba rodzaje tranzystorów: z kanałem typu p i n, wszystkie ścieżki rezystancyjne
(metalowe, dyfuzyjne i krzemowe), diody dyfuzyjne typu N i P. Taki zbiór
komponentów może być przydatny do określenia wpływu elementów pasożytniczych
na działanie twojego obwodu. Przy wyborze kilku urządzeń musisz klikać
trzymając jednocześnie klawisz "Shift". Po ustaleniu swojego zbioru naciśnij
przycisk "Add", podaj nazwę zbioru (np. "moj zbior") i naciśnij przycisk
"Select".
-
Wybierz ponownie komendę "Circuit extraction" z menu "Run". Kiedy już zostanie
ukończona ekstrakcja, wybierz menu "C07M_excl.exc". W liście dostępnych
urządzeń pojawią się urządzenia zapisane w liście "moj zbior". Możesz teraz
wybierać z niej pojedynczo nazwy urządzeń wyświetlając jednocześnie urządzenia
w okienku układu.
-
Wybierz komendę "Output" z menu "File". Wprowadź swoją nazwę pliku wyjściowego,
a następnie naciśnij klawisz "Save". Zostanie teraz utworzony nowy plik
w formaci Spice'a. Wyedytuj następnie plik wyjściowy. Powinieneś otrzymać
podobną zawartość:
Plik tekstowy z ponownie wyekstraktowanym układem
-
Zauważysz zapewne, że nelista zawiera znacznie większą liczbę urządzeń,
i składa się także z elementów dyfuzyjnych i rezystancyjnych.
Teraz jesteś już zaznajomiony z podstawami Excess'a. Następnym krokiem
w naszym projekcie będzie sprawdzenie poprawności przeprowadzonej ekstrakcji
przy pomocy programu "Smash".
Symulacja w Smash'u