5. Problemy projektowania dużych układów cyfrowych

5.2. Praktyczne problemy projektowania dużych układów

W dużych układach pojawiają się problemy, których dotąd nie omawialiśmy.

Gdy projektowany układ jest duży, niektóre połączenia mogą mieć długość rzędu milimetrów, a nawet centymetrów, a nie mikrometrów. Takie połączenia wprowadzają do układu znaczące pasożytnicze rezystancje, pojemności, a nawet indukcyjności. Czas propagacji sygnałów w długich połączeniach może być porównywalny, a nawet dłuższy od czasu propagacji w bramkach i może decydować o maksymalnej szybkości działania układu.

Rezystancję ścieżki o długości L i szerokości W można obliczyć ze wzoru 3-18 z części I, punkt 3.1.7, który tu dla wygody powtórzymy

 

R=R_S\frac{L}{W} (5.1)

 

gdzie R_S jest rezystancją warstwową (zwaną także „rezystancją na kwadrat”) ścieżki rezystora. O rezystancji warstwowej była mowa w części I, punkt 3.1.7, i tam podana jest jej definicja. Dla jednorodnego prostopadłościennego obszaru przewodzącego rezystancja warstwowa dana jest wzorem 

 

R_s=\frac{\rho}{d} (5.2)

 

gdzie \rho  jest rezystywnością materiału ścieżki, a d - jej grubością. Miarą rezystancji warstwowej jest om (\Omega), ale zwyczajowo używa się miana „om na kwadrat” ({\Omega}/{}). To określenie bierze się stąd, że iloraz L/W można interpretować jako „liczbę kwadratów”, jaką można wpisać w ścieżkę o długości L i szerokości W. Typowe wartości rezystancji warstwowych wynoszą: dla ścieżek metalu (Al) - 0,03 ... 0,08 \Omega  (mniej dla ścieżek wykonanych z miedzi), dla obszarów polikrzemowych 10 ... 30 \Omega, dla obszarów źródeł i drenów typu n 10 ... 50 \Omega, dla obszarów źródeł i drenów typu p 30 ... 100 \Omega. W nowszych technologiach rezystancje warstwowe polikrzemu oraz obszarów źródeł i drenów mają wartości o rząd wielkości mniejsze od podanych wyżej, ponieważ są one pokrywane dobrze przewodzącą warstwą metalo-krzemową (np. WSi2, TiSi2, PtSi2), jednak nadal ich rezystancje warstwowe są o około dwa rzędy wielkości wyższe, niż ścieżek z metalu. Jeśli obliczyć rezystancję ścieżki mającej szerokość 1 µm i długość 1 mm, czyli L/W („liczbę kwadratów”) równą 1000, to ścieżka z metalu będzie miała rezystancję rzędu kilkudziesięciu omów, zaś ścieżka wykonana z polikrzemu - kilka do kilkudziesięciu kiloomów, zależnie od technologii. Widać stąd, że tylko ścieżki metalowe nadają się do wykonywania długich połączeń. Obszary przewodzące polikrzemowe oraz źródeł i drenów tranzystorów mogą służyć jedynie do krótkich połączeń lokalnych.

Znaczącą rezystancję wnoszą także kontakty. Typowe rezystancje kontaktów metalu do obszarów polikrzemu oraz źródeł i drenów tranzystorów wynoszą kilkadziesiąt\ \Omega, kontakty między warstwami metalu mają rezystancję rzędu 1 ... 5 \Omega.

Ścieżki są również związane z pojemnością do sąsiadujących obszarów. Przykładowo, pojemność na jednostkę powierzchni ścieżki polikrzemowej do podłoża układu jest rzędu 0,05 ... 0,06 fF/µm2, dla metalu 1 pojemność ta jest rzędu 0,03 fF/µm2. Ścieżka o wymiarach 1 µm x 1 mm ma powierzchnię 1000 µm2, co daje pojemność ścieżki do podłoża na poziomie 60 fF dla polikrzemu i 30 fF dla metalu 1. W rzeczywistości pojemności te są większe, bowiem ścieżka o szerokości porównywalnej z grubością dielektryka, na którym leży, nie jest kondensatorem płaskim. Trzeba doliczyć pojemność obszarów krawędziowych, które mogą mieć pojemność porównywalną, a nawet większą od pojemności obliczonej wyżej.

Rezystancje i pojemności połączeń i kontaktów stanowią problem techniczny w kilku przypadkach:

  • w przypadku długich ścieżek sygnałowych problemem jest czas propagacji sygnału związany z pojemnością i rezystancją,
  • w przypadku długich ścieżek zasilających problemem jest spadek napięcia zasilania związany z rezystancją (będzie omawiany nieco dalej).

Czas propagacji sygnału w długich połączeniach może być na tyle długi, że układ synchroniczny przestanie działać synchronicznie. Są tu dwa nieco różne zagadnienia: opóźnienia sygnałów logicznych i opóźnienia sygnału zegarowego. Zajmiemy się najpierw pierwszym zagadnieniem.

Długie połączenie jest elementem RC o stałych rozłożonych. Załóżmy, że na jednym końcu takiego połączenia napięcie skokowo rośnie od 0 do V_{DD}. Po jakim czasie ten skok zostanie zaobserwowany na drugim końcu? Można pokazać, że czas propagacji sygnału w połączeniu o całkowitej pojemności C i całkowitej rezystancji R, mierzony jako czas narastania od 0 do 0,5 V_{DD}, jest w przybliżeniu równy 0,38RC. Daje to dla ścieżki metalowej o wymiarach 1 µm x 1 mm czas propagacji rzędu 10-12 s, natomiast w przypadku ścieżki polikrzemowej tak samo obliczony czas propagacji jest rzędu 0,1 ... 1 ns. Jest to czas dłuższy od czasów propagacji bramek CMOS, w przypadku najbardziej zaawansowanych technologii nawet znacznie dłuższy. Trzeba przypomnieć, że w tych obliczeniach założono nieskończenie krótki czas narastania sygnału na początku ścieżki. W rzeczywistości długa ścieżka obciąża sterującą ją bramkę dość znaczną pojemnością, zatem czas narastania na początku ścieżki jest skończony i dość długi (zależy on od wymiarów tranzystorów w bramce sterującej). Wniosek, jaki z tego płynie, jest taki, że projekt bramki, do wyjścia której dołączone jest długie połączenie, musi uwzględniać pojemność tego połączenia. Widać także całkowitą nieprzydatność ścieżek polikrzemowych jako długich połączeń.

Czas propagacji sygnału w ścieżce jest proporcjonalny do stałej czasowej t=RC tej ścieżki. Rezystancja R jest proporcjonalna do ilorazu L/W ścieżki, zaś pojemność do powierzchni, czyli do iloczynu WL (nie uwzględniamy tu pojemności obszarów krawędziowych). Z tego wynika, że stała czasowa t rośnie proporcjonalnie do L2. Ten wynik pokazuje, że jednym z warunków uzyskania dużej szybkości działania układów cyfrowych jest minimalizowanie długości długich połączeń. W obecnym stanie mikroelektroniki są one jednym z istotnych czynników ograniczających tę szybkość. Warto dodać, że szacunkowe obliczenia robione były dla ścieżki o długości 1 mm, która we współczesnych dużych układach nie należałaby wcale do najdłuższych. Nie są rzadkością ścieżki o długości rzędu kilkunastu milimetrów. Wówczas nawet czas propagacji w ścieżkach metalowych staje się porównywalny z czasami propagacji sygnałów w bramkach CMOS. Prowadzi to do wniosku, że dalszy wzrost wielkości układów będzie musiał prowadzić do odejścia od koncepcji układu ściśle synchronicznego. Wrócimy jeszcze do tego zagadnienia.

Zajmiemy się teraz zagadnieniem opóźnień sygnału zegara. Rozprowadzenie globalnego sygnału zegara w dużym układzie stwarza problemy z dwóch powodów. 

Po pierwsze w dużym układzie całkowita pojemność wszystkich wejść zegarowych jest bardzo duża, może sięgać setek pikofaradów. Oznacza to, że układy generujące sygnał zegara muszą zapewnić krótkie czasy narastania i opadania sygnału przy dużych pojemnościach obciążających. Nie nadają się tu zwykłe bramki z tranzystorami o małych wymiarach. Konieczne są bufory. Zagadnienie to omawialiśmy już wcześniej (punkt 3.2.6).

Po drugie dla poprawnego działania układu synchronicznego trzeba, aby zbocza sygnału zegara docierały do wszystkich wejść zegarowych w tym samym momencie. Oznacza to, że na drodze od pierwotnego źródła sygnału zegara do każdego wejścia zegarowego powinna znaleźć się taka sama liczba takich samych buforów obciążonych takimi samymi pojemnościami. Również długość połączeń powinna być taka sama. O tym również była mowa w punkcie 3.2.6. Spełnienie tych warunków w dużym układzie jest bardzo trudne. Jest to drugi powód odchodzenia od koncepcji układu ściśle synchronicznego.

W przypadku dużych układów poważnym problemem jest też zaprojektowanie sieci ścieżek zasilania. Rezystancje tych ścieżek i ewentualnie kontaktów mogą powodować znaczne, zmienne w czasie i zakłócające działanie układu spadki napięcia.

Pobór prądu przez bramki CMOS ma charakter krótkich impulsów o dużej amplitudzie. Jeśli dla pojedynczego inwertera szczytowa wartość prądu w impulsie osiąga kilkaset mikroamperów, to dla tysięcy równocześnie przełączających bramek otrzymamy prądy sięgające amperów. Wówczas nawet rezystancje rzędu pojedynczych omów powodują znaczne spadki napięcia. Powoduje to zaburzenia w działaniu układów, w tym między innymi przenikanie zakłóceń między blokami układu (patrz punkt 2.1.2). Przy bardzo krótkich czasach narastania impulsów prądu i długich ścieżkach zasilających wpływ na spadki napięć na tych ścieżkach może mieć nie tylko ich rezystancja, ale i indukcyjność.

Aby zminimalizować skutki spadków napięcia na ścieżkach zasilających, trzeba przestrzegać kilku zasad:

  • szerokość ścieżek zasilających powinna być jak największa, a długość jak najmniejsza,
  • ścieżki zasilające powinny być, jeśli to możliwe, prowadzone w tej warstwie metalu, która ma najmniejszą rezystancję warstwową,
  • należy unikać przechodzenia ścieżek zasilania z warstwy na warstwę, bo kontakty wprowadzają dodatkową rezystancję; w razie potrzeby stosować wielokrotne kontakty (rysunek 5-1),
  • aby zminimalizować przenikanie zakłóceń, ścieżki zasilania dla różnych bloków powinny biec osobno i spotykać się dopiero przy polach montażowych (rysunek 5-2),
  • w razie potrzeby stosować więcej niż jedno pole montażowe masy i zasilania, rozdzielając zasilania różnych bloków.
     

Rysunek 5 1. Przykład wielokontaktowego połączenia ścieżki metalu 1 ze ścieżką metalu 2

 

Rysunek 5 2. Rozprowadzenie ścieżek masy (VSS) i zasilania (VDD): (a) niekorzystne - długie odcinki wspólne wprowadzają wspólną rezystancję, (b) korzystniejsze - ścieżki łączą się blisko pól montażowych

 

Największe układy liczące miliony elementów pobierają tak duże prądy, że zasilanie i masę trzeba rozdzielać pomiędzy wiele pól montażowych. Poszczególne bloki układu mają odrębne połączenia zasilające, które łączą się dopiero poza obudową układu, na pakiecie drukowanym.

Stosowane bywają również pojemności odsprzęgające. Ich rola polega na łagodzeniu spadków napięcia – w chwili wzrostu poboru prądu jest on lokalnie dostarczany z naładowanego kondensatora, co zmniejsza prąd płynący przez rezystancję ścieżki ze źródła zasilania. Potem, w okresie małego poboru prądu między momentami przełączania, kondensator doładowuje się ze źródła zasilania ponownie do pełnego napięcia zasilania. Ta bardzo dawno znana i stosowana w elektronice zasada może być zrealizowana w układzie scalonym przez zastosowanie kondensatorów (rysunek 5-3). Takie kondensatory powinny znajdować się jak najbliżej bloku, którego napięcie zasilania mają stabilizować. Jednak pojemności, jakie można w ten sposób zrealizować w układzie scalonym, nie są na tyle duże (patrz punkt 3.1.7 w części I), aby całkowicie wyeliminować niebezpieczeństwo zaburzeń w pracy układu spowodowanych spadkami napięcia zasilania na rezystancji ścieżek. 
 

Rysunek 5 3. Kondensatory odsprzęgające. Rezystory symbolizują rezystancje ścieżek

 

Przy projektowaniu połączeń, przez które płyną duże prądy, trzeba także przestrzegać maksymalnej obciążalności prądowej ścieżek podawanej przez producenta układów. Przekroczenie dopuszczalnej obciążalności prowadzi do uszkodzeń układów w czasie ich eksploatacji.