Podręcznik
3. Komputerowo wspomagane projektowanie
Realizacja układów i systemów elektronicznych w zaawansowanych współczesnych technologiach mikroelektronicznych jest możliwa jedynie przy wykorzystaniu nowoczesnych metod projektowania układów scalonych i procesów ich wytwarzania. Są to metody komputerowe, umożliwiające syntezę i projektowanie graficzne układów oraz wszechstronną weryfikację projektów.
Na proces projektowania składają się kolejne przekształcenia reprezentacji projektu na różnych poziomach abstrakcji. Kolejne fazy tego procesu można schematycznie przedstawić następująco:
Rys. 3.1 Uproszczony schemat procesu projektowania systemu elektronicznego
Stosownie do zadanych wymagań użytkowych dokonuje się specyfikacji architektury systemu, komunikacji zewnętrznej (interfejsów), rynku i aspektów ekonomicznych, technologii produkcji, metodologii projektowania i dostępnych narzędzi projektowych.
Projektowanie funkcjonalne służy opracowaniu, zgodnie z wykonaną specyfikacją, reprezentacji behawioralnej, tzn. definiuje stany wyjść systemu jako funkcje stanów na wejściach, np. w postaci zestawu instrukcji lub diagramu czasowego.
Podczas projektowania logicznego przetwarza się projekt funkcjonalny w strukturę logiczną, wykorzystując w reprezentacji np. diagramy logiczne. Na tym etapie symulacje przeprowadza się na poziomie tranzystora, bramki logicznej lub rejestrów.
Etap projektowania układowego prowadzi do struktury elektrycznej (schematu elektrycznego), w której definiowane są parametry elementów układu (tranzystorów i elementów biernych) tak, aby spełnić wymagania dotyczące opóźnień sygnału. Do analizy stosowane są symulatory elektryczne pozwalające wyznaczać wartości napięć między węzłami i prądów w gałęziach układu oraz charakterystyki czasowe. Jednym z najpopularniejszych takich programów jest SPICE (Simulation Program. Integrated Circuit Emphasis).
Projektowanie fizyczne służy przekształceniu reprezentacji behawioralnej lub strukturalnej w topografię układu, czyli określeniu kształtów w maskach wykorzystywanych w produkcji systemu. Na tym etapie stopień automatyzacji może być bardzo zróżnicowany w zależności od przyjętego stylu projektowania:
Rys. 3.2 Style projektowania i ich podstawowe cechy
Metoda full custom charakteryzuje się brakiem ograniczeń w procesie projektowania poza regułami projektowania i daje największe możliwości realizacji inwencji twórczej projektanta, który optymalizuje projekt od poziomu pojedynczego tranzystora. Ten sposób projektowania oznacza częściowo „ręczne” korzystanie z edytorów graficznych i jest słabo zautomatyzowany, a zatem czasochłonny i kosztowny. Pozwala za to realizować wyrafinowane projekty w dużym stopniu zoptymalizowane przy użyciu odpowiednich narzędzi programowych (CAD) do analizy i weryfikacji, co ma także znaczenie ekonomiczne w produkcji masowej. Ten styl projektowania jest szczególnie istotny w projektowaniu układów analogowych.
Metoda komórek standardowych redukuje złożoność procesu projektowania dzięki standaryzacji fragmentów systemu (od kilku tranzystorowych bramek logicznych do dużych podsystemów – nawet mikroprocesorów) i wprowadza hierarchiczne przyporządkowanie komórek.
Pozwala to projektantowi operować na wyższym poziomie abstrakcji - symbolami komórek (zgodność z regułami projektowania wymuszana jest automatycznie przez program służący do syntezy) zachowując jednocześnie możliwości twórczego ingerowania w topografię systemu.
Dalej idąca automatyzacja jest tu możliwa przy wykorzystaniu języka opisu sprzętu HDL (Hardware Description Language). Rola projektanta jest wówczas ograniczona do etapu formułowania reprezentacji behawioralnej - opisu funkcji w języku opisu wysokiego poziomu. Przetworzenie projektu do poziomu topografii układu odbywa się automatycznie.
Metoda gate array (tablic bramkowych) polega na projektowaniu połączeń wewnątrzukładowych i przepalaniu ścieżek metalizacji w gotowych, standardowych matrycach. Jest to metoda zanikająca.
Metoda PLD (Programable Logic Design) polegająca na zaprogramowaniu (sposobami elektrycznymi) funkcji gotowego układu cyfrowego, jest szybka i tania, ale układ tak zaprojektowany może mieć gorsze parametry (zwłaszcza większy pobór mocy) i większą powierzchnię układu. Z tych powodów jest przydatna przede wszystkim do projektowania krótkich serii układów oraz do praktycznego testowania układów obarczonych dużym ryzykiem.
Udział układów zaprojektowanych metodą komórek standardowych wynosi obecnie ponad 60%, a metodą PLD 15% wartości produkcji światowej układów scalonych.
Procesy projektowania i wytwarzania układów scalonych są czasochłonne i kosztowne. Konieczne jest więc wyeliminowanie błędów przed wykonaniem prototypu, korzystając z narzędzi do analizy i weryfikacji, które pozwalają m. in. na:
- sprawdzenie reguł projektowania ,
- ekstrakcję schematu elektrycznego (i logicznego) na podstawie topografii układu,
- ekstrakcję parametrów fizycznych i elektrycznych elementów układu na podstawie danych o technologii wytwarzania i topografii,
- symulację elektryczną (i logiczną) układu.
Zaprojektowanie układu poprawnego funkcjonalnie i zajmującego jak najmniejszą powierzchnię (przy zachowaniu reguł projektowania) nie wystarcza do osiągnięcia sukcesu produkcyjnego. Wytworzone struktury różnią się między sobą właściwościami tak znacznie, że część z nich nie spełnia założonych wymagań i tym samym uzysk produkcyjny (stosunek liczby układów spełniających wymagania do liczby wszystkich układów wytworzonych w danej partii produkcyjnej) nie osiąga 100%. Rozrzuty produkcyjne parametrów fizycznych i geometrii poszczególnych elementów, a w konsekwencji wahania właściwości elektrycznych układów, spowodowane są losowymi zaburzeniami operacji technologicznych (temperatury, czasu, energii i dawki implantacji itd.).
Wrażliwość projektowanego układu na zaburzenia produkcyjne można przewidzieć wykorzystując technikę analizy statystycznej. Taki system wspomagania projektowania układów scalonych VLSI oparty na metodzie Monte-Carlo, opracowano w Instytucie Mikroelektroniki i Optoelektroniki Politechniki Warszawskiej:
Rys. 3.3 Uproszczony schemat blokowy systemu IMiOCAD
W skład tego systemu wchodzi:
- edytor graficzny (UNCLE) do projektowania topografii układu,
- statystyczny ekstraktor Eextr schematu elektrycznego (EXCESS) uwzględniający elementy pasożytnicze i współpracujący z programem symulującym obszary wrażliwe na defekty punktowe (SENSAT),
- symulator procesu technologicznego i elementów układu scalonego (SYPRUS) obliczający parametry fizyczne struktury i elektryczne elementów układu w pętli MonteCarlo dla zaburzonych parametrów procesu technologicznego,
- symulator obwodu elektrycznego (wykorzystano dostępny program SPICE), obliczający parametry elektryczne układu,
- program do opracowania statystycznego wyników symulacji (STATIC), dostarczający histogramy (wykorzystywane do obliczenia uzysku) i wykresy rozproszenia (przedstawiają korelacje wybranych par parametrów – wykorzystywane do optymalizacji projektu)
Upowszechnienie umiejętności projektowania układów scalonych, w tym posługiwania się narzędziami do ich symulacji ma istotne znaczenie ze względu na to, że o konkurencyjności funkcjonalnej i ekonomicznej nowych wyrobów elektronicznych decyduje ich realizacja w postaci układów scalonych (nie wystarcza już łączenie na płycie drukowanej samych standardowych układów katalogowych i elementów indywidualnych). Takie układy stanowiące realizację koncepcji funkcjonalnej konkretnego urządzenia nazywane są układami specjalizowanymi ASIC (Application Specific Integrated Circuit). Równocześnie lepiej chronione są prawa autorskie. Dzięki łatwemu dostępowi (przesyłanie projektów przez internet) do producentów stosujących system MPW (Multi Project Wafer) pozwalający wykonywać różne projekty w jednej serii produkcyjnej, koszty indywidualne takich układów odpowiadają produkcji masowej.