Witamy w trzeciej części projektu modułu komputerowego open-source Pi.MX8! W tej serii artykułów zagłębiamy się w projektowanie i testowanie modułu system-on-module opartego na procesorze i.MX8M plus od NXP.
W ostatniej aktualizacji przyjrzeliśmy się strukturze schematu modułu i rozpoczęliśmy przygotowywanie wstępnego rozmieszczenia komponentów. Teraz, gdy komponenty zostały rozmieszczone, mamy dobry pogląd na gęstość projektu i wymagania, jakie stawia to przed warstwami. Dzisiaj wybierzemy odpowiedni układ warstw i rozpoczniemy trasowanie pierwszych ścieżek.
Na podstawie rozmieszczenia komponentów i kilku strategicznych czynników możemy zdecydować, jakiej technologii PCB i jakiego układu warstw chcielibyśmy użyć w dalszym projektowaniu. Spójrzmy najpierw na gęstość komponentów:
Rozmieszczenie komponentów strona górna
Wstępne rozmieszczenie komponentów ujawnia umiarkowaną ogólną gęstość projektu. Wszystkie aktywne komponenty znajdują się na górnej stronie płytki, podczas gdy dolna strona zawiera głównie kondensatory odsprzęgające i inne pasywne obwody. Dolna strona płytki jest zatem stosunkowo pusta i pozostawia nam dużo miejsca na trasowanie. Celem jednak byłoby przeznaczenie tej przestrzeni na dodatkowe funkcje, które będą implementowane, ponieważ moduł Pi.MX8 ma służyć jako platforma, która może być aktualizowana i rozbudowywana na specyficzne żądania.
Rozmieszczenie komponentów strona dolna
Patrząc na rozmieszczenie komponentów blisko złączy płyta-do-płyty zauważamy, że wiele komponentów jest umieszczonych bezpośrednio nad złączami po przeciwnej stronie płyty. Jeśli zdecydujemy się używać tylko standardowych VIA, które łączą cały stos warstw od górnej do dolnej warstwy, nie możemy umieścić żadnych VIA w tych obszarach. Aby wydobyć wszystkie piny z złączy płyta-do-płyty i efektywnie trasować aktywne obwody znajdujące się po przeciwnej stronie złączy, musimy opracować metodę, która wykracza poza poleganie wyłącznie na przelotowych VIA. W tym celu będziemy musieli użyć układu HDI.
Użycie układu HDI ułatwia rozszerzenie funkcjonalności modułu na późniejszym etapie, ponieważ nie musimy koniecznie używać przelotowych VIA do łączenia dodatkowych komponentów, i dlatego nie musimy tak bardzo ingerować w ustalone trasowanie i rozmieszczenie komponentów.
Dla modułu Pi.MX8 będziemy używać stosu warstw 2+N+2. Jest to stos typu III, jak zdefiniowano w standardach IPC-2226 i jest to jeden z najczęściej używanych stosów HDI.
Ten typ układu wykorzystuje dwa sekwencyjne etapy laminowania w procesie produkcyjnym, aby umożliwić mikro-VIA łączenie trzech najbardziej zewnętrznych warstw. Ukryte VIA są używane do łączenia rdzenia stosu, który nie jest częścią sekwencyjnego procesu produkcyjnego. Prepregi i grubość prepregów używanych w tym typie stosu zależą od możliwości produkcyjnych dostawcy PCB. Wybrana grubość sekwencyjnie laminowanych prepregów jest ograniczona przez stosunek wymiarów mikro VIA. W przeciwieństwie do VIA wierconych mechanicznie, mikro VIA są tworzone przez wypalanie otworów w prepregach za pomocą krótkich impulsów laserowych. Zazwyczaj używane są średnice VIA między 0,08mm a 0,15mm. Stosunek wymiarów odpowiedni dla produkcji masowej zwykle mieści się w zakresie 0,6:1 – 0,8:1.
Cienki prepreg zapewni, że wymaganie dotyczące stosunku wymiarów nie zostanie naruszone, jednocześnie redukując szerokość ścieżki dla danej impedancji kontrolowanej ścieżki. Dla prostej mikropaski na górnej lub dolnej warstwie z tylko jedną płaszczyzną odniesienia to nie jest problem. Musimy jednak uważać na wbudowane linie paskowe pod pierwszą płaszczyzną uziemienia, ponieważ krótkie odległości do płaszczyzny odniesienia powyżej i poniżej linii paskowych mogą skutkować bardzo wąskimi ścieżkami dla pewnych interfejsów o kontrolowanej impedancji.
Ostateczny układ warstw dla płyty Pi.MX8 został stworzony we współpracy z producentem PCB i wygląda następująco:
Układ warstw Pi.MX8
Ogólnie rzecz biorąc, moduł zostanie zbudowany na stosie 10-warstwowym. Warstwy górna, L2, L7 i dolna będą używane jako warstwy sygnałowe. Warstwy L1, L3, L6 i L8 będą używane jako płaszczyzny masy. Dwie pozostałe warstwy, L4 i L5, będą działać jako płaszczyzny zasilania. Płaszczyzny zasilania są zbudowane z użyciem cienkiej folii o grubości tylko 18μm. Musimy zwrócić uwagę na spadek IR dla tych warstw. Płaszczyzny zasilania są ściśle sprzężone z sąsiednimi płaszczyznami masy, z tylko 75μm prepregiem oddzielającym te warstwy. Skutkuje to dodatkową pojemnością płaszczyzn, co może być korzystne dla zapewnienia niskiej impedancji PDN na wysokich częstotliwościach. Zweryfikujemy zachowanie PDN za pomocą symulacji, gdy układ zostanie ukończony.
Kolejnym ważnym aspektem tego układu warstw jest to, że będziemy używać tylko mikroprzewiązań przesuniętych zamiast ułożonych jeden na drugim. Oznacza to, że mikroprzewiązania nie mogą być umieszczone bezpośrednio na sobie, a zamiast tego muszą być przesunięte o co najmniej 0,35mm od środka do środka. Użycie przesuniętych przewiązań ułatwia rejestrację kolejnych warstw, co obniża koszty produkcji u niektórych dostawców PCB. To podejście jest również zalecane dla układów HDI używających więcej niż dwóch programów mikroprzewiązań, aby zwiększyć niezawodność mikroprzewiązań. Wadą użycia przesuniętych mikroprzewiązań jest dodatkowa przestrzeń potrzebna do spełnienia minimalnego wymogu przesunięcia. Puste przestrzenie powstałe w płaszczyźnie masy również muszą być uwzględnione przy zarządzaniu ścieżką powrotną dla sąsiednich ścieżek.
Teraz, gdy układ warstw został zdefiniowany, kolejnym krokiem jest wyprowadzenie sygnałów poszczególnych komponentów. W tym kroku umieścimy wszystkie niezbędne przewiązania dla trasowania sygnałów i zasilania na każdym komponencie. Robimy to teraz, ponieważ idealnie chcielibyśmy mieć wszystkie przewiązania na miejscu, zanim zaczniemy łączyć komponenty. Nawet w układzie HDI przewiązania zajmują dużo miejsca. Jest to szczególnie prawdziwe dla przewiązań, które są częścią sieci dystrybucji mocy, ponieważ zwykle łączą przez cały układ warstw. Umieszczenie przewiązań podczas etapu trasowania może wymagać usunięcia wcześniej trasowanych ścieżek, aby zrobić miejsce na przewiązania.
Trasowanie wyprowadzeń na górnej warstwie modułu
Na powyższym obrazie widać, że prawie wszystkie piny komponentów są wyprowadzone za pomocą przewiązań lub pozostawione niepodłączone. Niepodłączone pady będą trasowane na górnej warstwie lub zostanie im zapewniona dodatkowa przestrzeń, aby dodać trasowanie wyprowadzeń później. W tym drugim przypadku ważne jest, aby pamiętać, aby nie umieszczać żadnych ścieżek w tych obszarach.
Dla niektórych komponentów konieczne będzie lokalne nadpisanie predefiniowanych zasad projektowania dotyczących szerokości i odstępów ścieżek, aby umożliwić wyjście z układu. Przykładem jest i.MX8 SoC. Mała odległość między pinami wynosząca tylko 0,5 mm wymaga szerokości ścieżki 0,08 mm i odstępu ścieżki od pada 0,085 mm. Poza tymi obszarami wyjścia chcielibyśmy kontynuować pracę z zasadami szerokości i odstępów ścieżek wynoszącymi 100um. Istnieje kilka sposobów implementacji tego zachowania w zasadach projektowania. Jednym ze sposobów jest użycie dodatkowych pomieszczeń projektowych, którym przypisuje się dedykowany zestaw zasad. Umożliwia to płynny proces trasowania, ponieważ szerokość ścieżki jest automatycznie dostosowywana, gdy kursor przekroczy granicę pomieszczenia projektowego.
Wymagania dotyczące szerokości i odstępów ścieżek dla trasowania wyjścia i.MX8
Korzystając z pomieszczeń projektowych, szerokość ścieżki jest automatycznie dostosowywana podczas interaktywnego trasowania:
W naszej kolejnej aktualizacji zbadamy, jak ogólne zasady projektowania są ustalane zgodnie z profilem impedancji warstw, a także jak podejść do trasowania na warstwach wewnętrznych. Zostańcie z nami, aby dowiedzieć się, jak adresujemy układ pamięci i radzimy sobie z trudnościami wprowadzonymi przez wybrany stos HDI!