Układy FPGA dostępne są w obudowach typu quad lub BGA, które mogą być trudne do zaplanowania, szczególnie z uwagi na dużą liczbę wejść/wyjść, często implementowanych w tych komponentach. FPGA oferują wiele zalet pod względem ich rekonfigurowalności, ale mogą wymagać dużego wysiłku przy układaniu i trasowaniu, aby uniknąć problemów. Jeśli nigdy nie pracowałeś z FPGA w swoim układzie PCB, mamy kilka wytycznych, które mogą pomóc Ci zacząć.
Tworzenie układu PCB dla FPGA jest głównie trudne, ponieważ wymaga znacznego planowania przestrzennego, które musi pasować do ogólnego projektu systemu. Projekt systemu FPGA może dyktować, gdzie niektóre komponenty muszą być umieszczone i trasowane w układzie PCB, i odwrotnie. Jeśli już zaplanowałeś przestrzennie swój układ systemu, wtedy prawdopodobnie łatwiej będzie Ci zbudować swoją aplikację i zaimplementować ją na FPGA z sukcesem. Aby zacząć, przyjrzymy się, jak myśleć o stosie warstw i kanałach trasowania w twoim FPGA, ponieważ te punkty będą napędzać wiele wyborów w układzie PCB.
Aby rozpocząć pracę z FPGA, ważne jest, aby zauważyć, że dzisiejsze zaawansowane FPGA z umiarkowaną do wysokiej liczby I/O dostępne są w obudowach BGA. FPGA w obudowach QFP również są dostępne, ale najbardziej zaawansowane komponenty będą dostępne w obudowach BGA. Powód tego jest prosty: w obudowie BGA można zmieścić znacznie więcej I/O, a także zmniejszyć rozmiar komponentu, jeśli FPGA jest zapakowane w BGA.
Aby więc rozpocząć, upewnij się, że projekt warstw dla układu PCB FPGA spełnia kilka prostych wymagań:
Wskazówki tutaj przedstawione dotyczą każdego BGA, ale są szczególnie ważne w FPGA. FPGA jest często używane, ponieważ zapewnia dostęp do wielu szybkich interfejsów, które nie są dostępne w wolniejszych komponentach, takich jak MCU/MPU. Nawet w BGA o rozstawie poniżej milimetra, nie jesteś zobowiązany do stosowania praktyk projektowania HDI, ale powinieneś zaimplementować układ warstw, który umożliwia rodzaj trasowania, którego potrzebujesz, aby zapewnić integralność sygnału, integralność zasilania i EMC.
Układ warstw pokazany poniżej zapewnia wiele kanałów trasowania na wielu warstwach. Jeśli na FPGA jest więcej niż dwie rzędy/kolumny wejść/wyjść, wówczas będziesz musiał poświęcić wiele warstw sygnałowych dla tych grup I/O. Dodatkowe warstwy mogą zostać dodane, aby obsłużyć inne sygnały nieprzeznaczone dla FPGA, lub do innych interfejsów (analogowych, SPI itp.).
W tym układzie warstw podjęliśmy najlepsze dostępne kroki, aby zapewnić izolację w różnych kanałach, dostarczyć wystarczająco dużo miejsca i warstw do trasowania mocy oraz mnóstwo masy do kontroli ścieżek powrotnych. Przeplatanie warstw masy między sygnałem a PWR jest bardzo ważne, ponieważ zapewnia kontrolę ścieżki powrotnej potrzebną do spełnienia wymagań EMC. W tym układzie warstw wymieniona jest tylko 1 warstwa mocy, chociaż moc może być również trasowana na warstwach sygnałowych, w miarę potrzeb, aby dokonać połączeń z mniejszymi szynami. Systemy o wyższym prądzie mogą używać wielu warstw mocy równolegle, jeśli jest to potrzebne.
FPGA zazwyczaj umieszcza się z dala od krawędzi płytki, aby można było rozszerzyć kanały trasowania. Istnieje jednak alternatywna metoda umieszczania FPGA. Zamiast umieszczać FPGA jako komponent, może być ono dostępne na module system-on-module (SOM) od dostawcy części lub od firmy zewnętrznej. Umieszczenie jako SOM wymaga rozwijania złącz płytka-do-płytka, które mogą mieć bardzo wysoką liczbę pinów. Poniżej przedstawiono przykład.
W zależności od śladu złącza płytka-do-płytka, możesz potrzebować pewnej strategii rozwijania i zasad projektowania, które mogłyby być użyte na FPGA. Często można zobaczyć wiele złącz zgrupowanych w kwadratowym układzie wokół płytki SOM lub na jej krawędziach.
Jak możemy zauważyć z powyższej dyskusji, skuteczny układ i trasowanie PCB z FPGA to przede wszystkim praca z BGA, więc te same strategie trasowania używane w innych BGA będą stosować się w FPGA. Istnieje kilka prostych strategii, które są potrzebne do trasowania sygnałów z dużego FPGA:
Inne wyzwania związane z rozmieszczeniem mogą dotyczyć umieszczania kondensatorów na pinach zasilania wokół FPGA w celu zapewnienia odciążenia. W przypadku obudów BGA jest to znacznie wygodniejsze, ponieważ możesz umieścić te kondensatory między pinami na spodniej stronie FPGA. Upewnij się, że określiłeś via-in-pad w swojej dokumentacji produkcyjnej, jeśli używasz większych kondensatorów. Jeśli pracujesz z niektórymi z najszybszych standardów sygnalizacyjnych, powinieneś wybrać mniejsze rozmiary obudów (sub-0402), aby zapewnić jak najszybszą odpowiedź w twojej sieci odciążającej.
Dla bardzo szybkich sygnałów, gdzie potrzebne jest precyzyjne dopasowanie długości w dużym równoległym magistrali (jak DDR4 lub wyższe) oraz pomiędzy wieloma parami różnicowymi (jak w PCIe), będziesz musiał uwzględnić czasy przelotu przez FPGA. Fizycznie duże FPGA mogą wymagać, aby sygnały przemieszczały się przez komponent, aby sygnał mógł opuścić blok logiczny i dotrzeć do pinu I/O. Czasami są one po przeciwnych stronach FPGA, więc zostanie dodane duże opóźnienie propagacji do czasu podróży sygnału. Ten dodatkowy czas przelotu może być uwzględniony w informacjach o opóźnieniu pin-pakiet dla FPGA. Jeśli twój sygnał przechodzi przez via, nie zapomnij uwzględnić opóźnienia via (zobacz poprzedni link).
Kiedy potrzebujesz umieścić FPGA w swoim układzie PCB i prowadzić sygnały do innych komponentów, użyj najlepszego zestawu funkcji układu PCB w Altium Designer®. Gdy już zakończysz projektowanie swojego PCB i będziesz gotowy, aby podzielić się swoimi projektami z współpracownikami lub producentem, możesz udostępnić swoje gotowe projekty przez platformę Altium 365™. Wszystko, czego potrzebujesz do projektowania i produkcji zaawansowanych urządzeń elektronicznych, można znaleźć w jednym pakiecie oprogramowania.
Dotknęliśmy tylko wierzchołka góry lodowej możliwości, jakie daje Altium Designer na Altium 365. Zacznij swoją darmową próbę Altium Designer + Altium 365 już dziś.