Jak rozpocząć projektowanie układu PCB FPGA dla Twojego systemu wbudowanego

Zachariah Peterson
|  Utworzono: czerwiec 20, 2022  |  Zaktualizowano: wrzesień 2, 2024
Układ płytki PCB FPGA

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.

Stosy warstw i trasowanie w układzie PCB dla FPGA

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ń:

  • Przeplataj warstwy zasilania i sygnałowe z warstwami masy w układzie warstw PCB
  • Użyj standardowej metody w BGA do określenia wymaganej liczby warstw sygnałowych do trasowania (Warstwy sygnałowe = liczba rzędów z sygnałami/4)
  • Dla szybkich interfejsów I/O upewnij się, że zewnętrzna warstwa jest wystarczająco cienka, aby wyeliminować potrzebę zwężania
  • Używaj płaszczyzn masy i/lub wypełnienia masą, aby wspierać trasowanie wysokiej prędkości z kontrolą impedancji

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.

Przykładowy układ warstw

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.).

FPGA PCB stackup
Przykładowy układ 12-warstwowych PCB dla układu PCB FPGA.

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.

Rozprowadzenie złącza płyty SOM do płyty

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.

FPGA board to board connector
Zasięg złącza płytka-płytka można rozłożyć w wielu kierunkach, w zależności od tego, gdzie należy poprowadzić sygnały.

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.

Planowanie trasowania

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:

  • Upewnij się, że obrys BGA twojego FPGA jest poprawny i spełnia wymagania DFM
  • Wybierz odpowiedni układ wyprowadzeń dla twojego BGA, aby sygnały mogły dotrzeć do pinów
  • Wydrąż kanały na każdej warstwie, gdzie będą prowadzone określone interfejsy
  • Umieść peryferia wokół I/O, aby uniknąć prowadzenia ścieżek tam i z powrotem po płycie
  • Wykorzystaj swoje zasady projektowania, aby zapewnić kontrolę impedancji
  • Ustaw geometrię swojej pary różnicowej tak, aby impedancja była dominowana przez odstęp ścieżki do masy, a nie odstęp między ścieżkami

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.

FPGA PCB layout
Kondensatory na tylnych pinach układu BGA.

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ś.

About Author

About Author

Zachariah Peterson ma bogate doświadczenie techniczne w środowisku akademickim i przemysłowym. Obecnie prowadzi badania, projekty oraz usługi marketingowe dla firm z branży elektronicznej. Przed rozpoczęciem pracy w przemyśle PCB wykładał na Portland State University i prowadził badania nad teorią laserów losowych, materiałami i stabilnością. Jego doświadczenie w badaniach naukowych obejmuje tematy związane z laserami nanocząsteczkowymi, elektroniczne i optoelektroniczne urządzenia półprzewodnikowe, czujniki środowiskowe i stochastykę. Jego prace zostały opublikowane w kilkunastu recenzowanych czasopismach i materiałach konferencyjnych. Napisał ponad 2000 artykułów technicznych na temat projektowania PCB dla wielu firm. Jest członkiem IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society oraz Printed Circuit Engineering Association (PCEA). Wcześniej był członkiem z prawem głosu w Technicznym Komitecie Doradczym INCITS Quantum Computing pracującym nad technicznymi standardami elektroniki kwantowej, a obecnie jest członkiem grupy roboczej IEEE P3186 zajmującej się interfejsem reprezentującym sygnały fotoniczne przy użyciu symulatorów obwodów klasy SPICE.

Powiązane zasoby

Powiązana dokumentacja techniczna

Powrót do strony głównej
Thank you, you are now subscribed to updates.