Spis treści rozdziału 5:
 
5. Projekt topografii układu.
5.1. Wprowadzenie.
      5.1.1. Charakterystyka ogólna.
      5.1.2. Oprogramowanie pomocne przy tworzeniu topografii.
      5.1.3. Kontrola reguł.
      5.1.4. Organizacja układu.
      5.1.5. Maski.
      5.1.6. Reprezentacja układu.
      5.1.7. Dalsze etapy tworzenia topografii.
5.2. Szacowanie parametrów
      5.2.1. Wprowadzenie.
      5.2.2. Proces szacowania.
5.3. Wybór technologii i reguły.
      5.3.1. Wybór technologii.
      5.3.2. Reguły projektowe.
5.4. Zdefiniowanie elementów bazowych i nanoszenie warstw.
      5.4.1. Wprowadzenie.
      5.4.2. Elementy bazowe.
      5.4.3. Tworzenie struktury.
      5.4.4. Realizacja całości układu.
5.5. Metody wspomaganie projektowanie topografii.
      5.5.1 Optymalizacja rozmieszczenia elementów.
      5.5.2. Znajdowanie najkorzystniejszych połączeń.
            5.5.2.1. Chodzenie labiryntem.
            5.5.2.2. Przeszukiwanie liniowe.
5.6 Reguły projektowania.


 
5. Projekt topografii układu.


5.1. Wprowadzenie.

5.1.1. Charakterystyka ogólna.

        Mając zakończony etap tworzenia schematu funkcjonalnego i jego weryfikacje możemy przejść do fazy projektowania topografii. Jest to etap mający największy wpływ na końcowe osiągi układu (szybkość, zużycie energii, powierzchnia, itp.). Jest to spowodowane bezpośrednim wpływem zaprojektowanego rozkładu elementów z uwzględnieniem własności fizycznych półprzewodników na transkonduktancję tranzystorów, pojemności pasożytnicze i rezystancje.

Do góry

5.1.2. Oprogramowanie pomocne przy tworzeniu topografii.

        Wraz ze wzrostem wielkości i złożoności tworzonych topografii konieczne jest zastosowanie programów ułatwiających rysowanie masek oraz sprawdzających poprawność reguł projektowych. Programem takim może być UNCLE. Szerszy opis możliwości programu można znaleźć tutaj.
Cechy programu pomocne przy tworzeniu topografii:

Do góry

5.1.3. Kontrola reguł.

        Program UNCLE zapewnia nam ciągłe sprawdzanie reguł projektowania, jednak dobrze jest ograniczyć obszar podlegający sprawdzaniu, gdyż zmniejsza to czas obliczeń. Ważnym czynnikiem wpływającym na szybkość sprawdzania jest wybór technologii układu (czyli ilość reguł jakie muszą być sprawdzone).

Do góry

5.1.4. Organizacja układu.

        Wiele problemów pojawiających się wraz z postępem prac przy tworzeniu topografii można ominąć dzięki stworzeniu wstępnej struktury układu przy użyciu notacji symbolicznej. Projektant będzie mógł skoncentrować się na odpowiednim ułożeniu elementów - pogrupować elementy w jednakowe zespoły z możliwością ich późniejszego wykorzystania (kopiowania). Nie bez znaczenia jest także liczba połączeń globalnych - ich ilość między grupami powinna być ograniczona do minimum, a ścieżki możliwie najkrótsze. Jest to spowodowane właściwościami fizycznymi warstw wchodzących w skład układu.

Do góry

5.1.5. Maski.

        Projektowanie masek należy rozpocząć od wyboru technologii wykonania układu scalonego. Wybór technologii określa między innymi minimalny rozmiar tranzystora. UNCLE umożliwia wykorzystanie tzw. pliku technologicznego do ułatwienia rysowania poszczególnych elementów. W pliku są zawarte kombinacje masek, które można wykorzystać do tworzenia pojedynczych obszarów projektowanego układu. Na przykład, rysując obszar N nie będziemy za każdym razem deklarować trzech masek - posiadamy obszar N określony w pliku technologicznym.

Do góry

5.1.6. Reprezentacja układu.

        W celu uzyskania optymalnego schematu układu możemy posłużyć się metodami służącymi do optymalizacji. Jedna z metod jest reprezentacja układu w postaci grafu i użycie metody Eulera. Po wykonaniu czynności związanych z określeniem wstępnego schematu topologii możemy przejść do rysowania topologii. Czynność ta może być wielokrotnie powtarzana (np. zbyt długie połączenia) tak, aby spełnić wszelkie oczekiwania związane z projektowanym układem. Oczywiście, wejściowy schemat topologii nie powinien zostać zbytnio zniekształcony.

Do góry

5.1.7. Dalsze etapy tworzenia topografii.

        Na tym etapie mamy przygotowaną topografię układu, którą możemy poddać ekstrakcji. Rezultatem procesu jest plik (tzw. netlista) służący do przeprowadzenia symulacji układu. Symulację można przeprowadzić np. programem PSPICE lub SMASH. Symulacja pozwala na sprawdzenie faktycznych parametrów naszego układu, np. czy nie powstały pasożytnicze tranzystory na wskutek zbyt blisko położonych diód. Jeśli parametry okażą się niezadawalające (np. czasy narastania sygnału) z wcześniejszymi założeniami dotyczącymi układu, to musimy powrócić do fazy szacowania parametrów lub tworzenia struktury. Modyfikacje zapewne będą się koncentrować wokół współczynnika długość/szerokość. Ten współczynnik wpływa na transkonduktancję oraz wartości pojemności pasożytniczych źródło/dren. Oczywiście projektant może zdecydować się na przebudowę schematu całej topologii lub jej części tak, aby uzyskać pożądane rezultaty.

Rysunek przedstawiający etapy tworzenia topologii.
Rysunek przedstawiający etapy tworzenia topologii.
Do góry

5.2. Szacowanie parametrów.

5.2.1. Wprowadzenie.

        Wymiary fizyczne elementów (np. tranzystory) oraz ich wzajemne położenie wykonanych w technice VLSI maja znaczący wpływ na ich parametry elektryczne. Są to przede wszystkim pojemności pasożytnicze oraz rezystancje i indukcyjności pasożytnicze. Ww. wielkości pasożytnicze stanowią duże źródło problemów, dlatego należy wykonać projekt układu z ich uwzględnieniem. W pierwszej kolejności należy dobrać parametry geometryczne tranzystorów tak, aby spełniały założenia odnośnie parametrów statycznych. Następnie projektujemy topografię i wykonujemy symulację komputerową, która zweryfikuje parametry dynamiczne elementów.

Do góry

5.2.2. Proces szacowania.

        W przypadku korzystania z elementów logicznych należy określić parametry statyczne i dynamiczne tych elementów (najczęściej bramek logicznych). Należy założyć wymiary fizyczne tranzystorów, które określą parametry charakterystyczne tranzystorów w wybranej technologii. Wykonując analizę dynamiczną należy obliczyć pojemności pasożytnicze. Zaliczamy do nich np. pojemność drenu względem podłoża tranzystora, pojemności wyjściowe czy też pojemności linii łączących. Dysponując pojemności pasożytniczymi możemy przystąpić do obliczania czasów narastania i opadania sygnału wyjściowego bramki.
        Przechodząc przez omówione powyżej kroki uzyskujemy charakterystyki przejściowe oraz maksymalną częstotliwość przełączania. Poddając analizie obliczone wartości możemy zdecydować się na powtórną zmianę wymiarów geometrycznych tranzystorów, aby wartości były poprawne.

Do góry

5.3. Wybór technologii i reguły.

5.3.1. Wybór technologii.

        Przed przystąpieniem do tworzenia topologii należy zdecydować się na sposób fabrykacji, który będzie użyty przy wytworzeniu produktu. Wybór technologii decyduje o końcowych parametrach układu oraz o kosztach jego wytworzenia. Istnieją typy układów, dla których najlepsza jest dana technologia. W programie UNCLE najczęściej wybieramy przygotowane technologie.

Do góry

5.3.2. Reguły projektowe.

        UNCLE zapewnia bieżąca kontrolę reguł projektowania. Należy określić obszar, który będzie podlegał weryfikacji. Ma to na celu ograniczenie czasu pochłanianego przez kontrolę. W naszym przypadku będziemy posługiwali się regułami typowymi dla podejścia skalowanego (lambda-rules), ponieważ pozwala w dogodny sposób zdefiniować technologie wraz z jej ograniczeniami.

Przykład reguł projektowych dla CMOS:

Przykład reguł projektowych dla CMOS.
Do góry

5.4. Zdefiniowanie elementów bazowych i nanoszenie warstw.

5.4.1. Wprowadzenie.

        Po zdefiniowaniu technologii możemy przystąpić do rysowania topologii przy pomocy programu UNCLE. W naszym przypadku będzie to projekt topologii prostego sumatora. Wykonanie symbolicznego schematu, jego optymalizacja oraz stworzenie topografii - taka kolejność pozwala zaoszczędzić czas projektowania oraz uchronić się przed błędami mogącymi wystąpić w późniejszych etapach.

Do góry

5.4.2. Elementy bazowe.

        Zwykle w układzie elektrycznym większość elementów jest powtarzanych. Tak też jest w sumatorze i powinno zostać wykorzystane przez projektanta do stworzenia topologii o hierarchicznej budowie. Używając UNCLE możemy to zrealizować przez wykorzystanie mechanizmu komórek (cell). Wyróżniamy więc podstawowe funkcje logiczne jak iloczyn czy suma, następnie projektujemy dla każdej z funkcji sieć tranzystorów i umieszczamy ją w jednej komórce. Każda komórka posiada swoją referencję - będziemy ją mogli wykorzystać wielokrotnie przy rysowaniu głównej sieci sumatora. Dla większego ułatwienia projektowania, UNCLE umożliwia zagnieżdżanie komórek, co prowadzi do powstania hierarchii. Wielokrotnie wykonywanymi operacjami przy tworzeniu topologii z wykorzystaniem UNCLE będą:

Kontrola reguł - podczas rysowania należy upewnić się, że kontrola reguł projektowania jest włączona.
        Komórki mogą być wykorzystywane wielokrotnie w dalszym projektowaniu. Dla ułatwienia tego zadania możliwe jest obracanie całych komórek lub tworzenie bibliotek komórek. Biblioteki mogą być częścią innych projektów.
Do góry

5.4.3. Tworzenie struktury.

        W pierwszej kolejności zgodnie z przedstawionymi operacjami i zasadami tworzymy tranzystory. Oczywiście, jeśli są zdefiniowane standardowo, to możemy używając ich przejść do tworzenia funkcji logicznych.

Rysunek przedstawiający tranzystor wykonany przy wykorzystaniu programu UNCLE.
Rysunek przedstawiający tranzystor wykonany przy wykorzystaniu programu UNCLE.

        Jeśli założymy, że chodzi nam o zachowanie jak najmniejszych rozmiarów to określając poszczególne obszary dojdziemy do właściwego kształtu tranzystora. Rozpoczynając od szerokości aktywnego obszaru - będzie on ograniczony przez minimalny obszar kontaktu (diffusion contact - jest konieczny do połączenia źródła i drenu) oraz minimalny obszar separacji miedzy obszarem kontaktu a aktywnymi obszarami. Podobnie będzie z bramką tranzystora, która przyjmie minimalną szerokość. Mając powyższe założenia będziemy mogli ograniczyć całkowitą długość aktywnego obszaru. Rozważając tranzystor typu p musimy umieścić w nim obszary n-well (n-well obszar umożliwiający stworzenie n+ w obszarze p), którego minimalna wielkość będzie ograniczona przez aktywny obszar tego tranzystora. Nie bez znaczenia jest także obszar między tranzystorami typu n i p., który ograniczony jest przez konieczność separacji obszarów aktywnego obszaru (n+ active area) i podstawy tranzystora (n-well).
    Jeśli nie korzystamy z bibliotecznych tranzystorów to niezbędną czynnością jest ekstrakcja układu tranzystora do formatu czytelnego dla programu PSPICE lub SMASH i jego symulacja.

        Projektowanie podstawowych funkcji logicznych będzie polegać na zaprojektowaniu sieci tranzystorów. Po narysowaniu odpowiednich elementów musi nastąpić ich ekstrakcja i weryfikacja.

Rysunek przedstawiający inwerter wykonany przy wykorystaniu programu UNCLE.
Rysunek przedstawiający inwerter wykonany przy wykorystaniu programu UNCLE.
Do góry

5.4.4. Realizacja całości układu.

        Proces projektowania całości układu jest bardzo podobny do tworzenia funkcji logicznych. Jednak zamiast sieci tranzystorów dysponujemy siecią logicznych bramek końcowego układu. W procesie projektowania będziemy korzystać ze sprawdzonych funkcji zrealizowanych wcześniej (suma, iloczyn). Poniższe rysunki przedstawiają kolejne etapy.

Rysunek całego układu wykonanego przy wykorzystaniu programu UNCLE.
Rysunek całego układu wykonanego przy wykorzystaniu programu UNCLE.

        Po zaprojektowaniu całej topologii należy zweryfikować jej poprawność. Będą to analogiczne czynności jak przy weryfikacji funkcji logicznych (ekstrakcja, symulacja).

Do góry

5.5. Metody wspomaganie projektowanie topografii.

5.5.1 Optymalizacja rozmieszczenia elementów.

        Poniżej przedstawiony jest układ dla którego należy stworzyć projekt topografii.

Rysunek całego układu.
Rysunek całego układu.

        W pierwszym etapie, bez stosowania reguł grafowych można wybrać arbitralny schemat topologii (kolejność bramek polikrzemowych). Jednak jak widać na rysunku A, w takim przypadku odstęp musi być na tyle duży aby można było zrealizować połączenie dla dwóch kontaktów metalowych (metal-diffusion contact) i jednego odstępu dyfuzja-dyfuzja. Oczywiście wiąże się to ze zwiększeniem obszaru, na którym może być zrealizowany układ.

Rysunek A.
Rysunek A.

        Tak nieoszczędną sytuację można rozwiązać poprzez zastosowania metody Eulera do znalezienia optymalnej ścieżki. Tworzymy dwa grafy dla sieci nMOS i pMOS o takiej samej kolejności wejść. Następnie szukamy w nich takiej samej ścieżki, która przechodzi przez wszystkie wierzchołki grafu tylko jeden raz. Obrazowo przedstawione jest to na rysunku B.

Rysunek B.
Rysunek B.

        W opisywanym przypadku szczęśliwie otrzymaliśmy ścieżkę (E-D-A-B-C) zawarta w każdym z grafów. Rysunek C obrazuje korzyści otrzymane po zastosowaniu metody wyszukiwania ścieżki Eulera.

Rysunek C.
Rysunek C.

        Jednak najczęściej nie jest możliwe utworzenie ścieżki Eulera obejmujące cały układ. Dlatego też należy poszukiwać ścieżek, które powinny być możliwie najdłuższe.

Do góry

5.5.2. Znajdowanie najkorzystniejszych połączeń.

        Typowymi metodami do wytyczania połączeń przy projektowaniu topografii są: metoda chodzenia labiryntem i metoda przeszukiwania liniowego.

Do góry

5.5.2.1. Chodzenie labiryntem.

        W metodzie tej powierzchnie całkowitą dzielimy na jednakowe kwadraty (prostokąty) i wpisujemy w każdy z nich drogę (ilość kwadratów) jakie musimy przebyć pokonując przeszkody przemieszczając się np. z punktu A do B. Ponieważ jednak rozmiar całkowitej powierzchni zazwyczaj jest duży, to metoda ta jest mało skuteczna. Najczęściej jest ona składową innej metody.

Do góry

5.5.2.2. Przeszukiwanie liniowe.

        Metoda ta jest szybsza i nie zabiera tak dużo pamięci przy obliczeniach jak metoda chodzenia labiryntem. Polega ona na prowadzeniu linii poziomych i pionowych przy omijaniu przeszkód tak aby osiągnąć punkt końcowy przebywając drogę o jak najkrótszej długości. Zwykle niewielka procentowo ilość dróg jest wadliwa.

Do góry

5.6 Reguły projektowania.

       Maski wykorzystane w procesie fabrykacji musza spełniać reguły projektowe. Zasady te dotyczą geometrycznych wymiarów decydujących o właściwościach elementów. Na przykład, jeśli linia metalu jest zbyt cienka to może zostać zniszczona w procesie fabrykacji lub zostać przepalona podczas użytkowania układu. Podobnie jest z liniami zbyt blisko siebie - mogą połączyć się w procesie fabrykacji. Zatem celem reguł jest uzyskanie jak najmniejszych wymiarów przy zachowaniu poprawności działania układu.

Reguły projektowe opisane są zazwyczaj za pomocą dwóch podejść :

        Zasady lambda zostały wprowadzone w celu uproszczenia standardów przemysłowych ustanowionych dla podejścia micron. Należy jednak zauważyć że większość z technologii niższych jak mikron (technologie submikronowe) nie pozwala się linearyzować. Poniżej przedstawione są przykładowe reguły charakterystyczne dla podejścia lambda.

  Przykładowe zasady dla tech. MOSIS.
Numer zasady Opis L-zasada (L-Rule)
R1 Minimum active area width 3 L
R2 Minimum active area spacing 3 L
R3 Minimum poly width 2 L
R4 Minimum poly spacing 2 L
R5 Minimum gate extension of poly over active 2 L
R6 Minimum poly-active edge spacing (poly outside active area) 1 L
R7 Minimum poly-active edge spacing (poly inside active area) 3 L
R8 Minimum metal width 3 L
R9 Minimum metal spacing 3 L
R10 Poly contact size 2 L
R11 Minimum poly contact spacing 2 L
R12 Minimum poly contact to poly edge spacing 1 L
R13 Minimum poly contact to metal edge spacing 1 L
R14 Minimum poly contact to active edge spacing 3 L
R15 Active contact size 2 L
R16 Minimum active contact spacing (on the same active region) 2 L
R17 Minimum active contact to active edge spacing 1 L
R18 Minimum active contact to metal edge spacing 1 L
R19 Minimum active contact to poly edge spacing 3 L
R20 Minimum active contact spacing (on different active regions) 6 L
 

Do góry