Dom > Blog > Wiadomości branżowe > Jakie są najważniejsze zagadnienia, które należy wziąć pod uwagę przy projektowaniu układów FPGA?

Jakie są najważniejsze zagadnienia, które należy wziąć pod uwagę przy projektowaniu układów FPGA?

Jan 15
Źródło:

FPGA to złożona inżynieria systemów, która wymaga kompleksowego rozważenia wielu aspektów, takich jak wydajność, koszty, zużycie energii, efektywność rozwoju i łańcuch dostaw. Niewłaściwy wybór może prowadzić do opóźnień w projekcie, przekroczenia kosztów, a nawet całkowitej przebudowy. W tym artykule omówimy kluczowe kwestie:

Po pierwsze: Sterownik najwyższego poziomu – definiowanie głównych scenariuszy i celów

To jest punkt wyjścia wszystkich decyzji.

1. Jaki jest obszar zastosowania?

● Komunikacja i sieci: Nacisk położony na szybkie transceivery (25G+), zaawansowaną technologię Ethernet IP i interfejsy pamięci o dużej przepustowości.

● Sterowanie przemysłowe i motoryzacja: Nacisk na niezawodność, przemysłowe zakresy temperatur, certyfikację bezpieczeństwa funkcjonalnego i długie terminy realizacji.

● Elektronika użytkowa: Nacisk na koszty, zużycie energii i integrację.

● Testowanie i pomiary: Nacisk położony na wydajne interfejsy ADC/DAC, zasoby logiczne i szybkie wejścia/wyjścia.

● Przyspieszenie sztucznej inteligencji: Nacisk na procesory DSP/mnożniki o dużej gęstości, pamięć o dużej pojemności na chipie i dedykowane silniki AI.


Wybór FPGA w projektowaniu PCBA


2. Na jakim etapie jest obecnie projekt?

● Prototypowanie/badania naukowe: Nadaj priorytet modelom z bogatymi ekosystemami płyt programistycznych i projektami przyjaznymi dla narzędzi, takimi jak seria Xilinx Zynq-7000 lub Intel Cyclone V SoC.

● Produkty produkowane masowo: Koszt, zużycie energii i długoterminowe gwarancje dostaw muszą być rygorystycznie oceniane. Preferowane są serie dojrzałe lub ekonomiczne.


Drugie: Podstawowe zasoby sprzętowe – spełnienie podstawowych wymagań projektu

To jest fundament gwarantujący, że projekt będzie można wdrożyć i będzie działał sprawnie.


1. Zasoby logiczne: Oszacuj liczbę wymaganych tablic LUT i rejestrów. Narzędzia syntezy zazwyczaj dostarczają szacunki po zakończeniu wstępnego projektu. Pozostaw 30–50% marginesu na późniejsze debugowanie i dodawanie funkcji.


2. Zasoby pamięci masowej:

● Pamięć RAM blokowa: używana do dużych buforów danych, kolejek FIFO i tabel wyszukiwania. Głębokość i szerokość należy oszacować.

● Rozproszona pamięć RAM/UltraRAM: używana w przypadku potrzeb rozproszonego przechowywania danych na małą skalę.


3. Jednostki DSP/arytmetyczne: Używane do przetwarzania sygnałów i przyspieszania algorytmów (takich jak filtry FIR, FFT, operacje macierzowe). Oszacuj liczbę wymaganych mnożników i jednostek mnożenia-akumulacji. 4. Zasoby zegara:

- Globalna Sieć Zegarowa: Czy jej liczba jest wystarczająca do wysyłania sygnałów o znaczeniu krytycznym, takich jak globalne resetowanie i włączanie?

- Jednostka zarządzania zegarem: Czy liczba i wydajność (jitter, zakres syntezy częstotliwości) układów PLL/DLL spełniają wymagania projektu domeny wielotaktowej?


Po trzecie: Kluczowe funkcje i wydajność – określanie sukcesu lub porażki projektu

Ta warstwa określa górną granicę i wykonalność projektu.

1. Charakterystyka wejścia/wyjścia i interfejsy dużej prędkości:

● Ilość: Ile kanałów transceivera jest potrzebnych? Maksymalna przepustowość łącza: Czy obsługuje docelową przepustowość protokołu (np. PCIe Gen3 8 Gb/s, Gen4 16 Gb/s)?

● Protokół Hard Core: Czy integruje twarde rdzenie IP, takie jak PCIe, SATA i Ethernet 100G? Twarde rdzenie mogą znacząco oszczędzać zasoby logiczne i poprawiać wydajność.

● Liczba i napięcie banku I/O: Czy obsługuje on różne standardy napięcia wymagane przez projekt?

● Transceiver o dużej prędkości: Ma to pierwszorzędne znaczenie przy wyborze.


2. Interfejs pamięci zewnętrznej:

● Czy konieczne jest podłączenie do szybkiej pamięci, takiej jak DDR4, LPDDR4 lub DDR5? Konieczne jest potwierdzenie maksymalnej szybkości transmisji danych i maksymalnej szerokości bitowej rdzenia kontrolera pamięci (MC) obsługiwanego przez układ FPGA.


3. Pobór mocy i rozpraszanie ciepła:

● Pobór mocy statycznej: Zależy przede wszystkim od procesu produkcyjnego.

● Dynamiczne zużycie energii: Bezpośrednio związane z wykorzystaniem zasobów, częstotliwością przełączania i częstotliwością zegara. Do wczesnej oceny należy użyć narzędzi producenta do szacowania zużycia energii.

● Projekt termiczny: Pobór mocy determinuje wybór obudowy i rozwiązań dotyczących rozpraszania ciepła (czy potrzebne są radiatory/wentylatory).


4. Cele wydajnościowe:

Jaka jest docelowa częstotliwość taktowania dla projektu? Czy zasoby routingu i architektura wybranych urządzeń obsługują zbieżność taktowania? Bardziej zaawansowane procesy i serie o wysokiej wydajności zazwyczaj łatwiej osiągają wyższe częstotliwości.


Po czwarte: Wsparcie rozwoju i długoterminowa rentowność – zapewnienie płynnego wdrażania i utrzymania projektu

1. Łańcuch narzędzi programistycznych:

● Narzędzia do syntezy i implementacji: łatwość obsługi, szybkość kompilacji i opłaty licencyjne dla Vivado (Xilinx/AMD) lub Quartus (Intel/Altera).

● Narzędzia debugowania: Jak dobrze działają analizatory logiczne typu ChipScope/SignalTap?

● Obsługa języków wysokiego poziomu: Czy wymagany jest HLS (synteza wysokiego poziomu) lub OpenCL?


2. Rdzenie IP i ekosystem:

● Oficjalne biblioteki IP: Czy zapewniają dojrzałe rdzenie IP z wymaganymi funkcjami (np. kodeki wideo, stosy protokołów sieciowych)? Jakie są koszty?

● Ekosystem oprogramowania stron trzecich i oprogramowania typu open source: Czy na platformach typu GitHub dostępnych jest wiele projektów referencyjnych?


3. Łańcuch dostaw i czynniki biznesowe:

● Cykl dostaw i cykl życia: W przypadku produktów przemysłowych, motoryzacyjnych i medycznych należy wybierać urządzenia z długoterminowymi zobowiązaniami dotyczącymi dostaw.

● Koszt jednostkowy: dążenie do uzyskania najlepszego stosunku ceny do wydajności przy jednoczesnym spełnieniu wymagań.

● Obudowa i projekt PCB: Rozmiar obudowy i odstępy między wyprowadzeniami (np. BGA 0,8 mm vs. 0,5 mm) bezpośrednio wpływają na liczbę warstw PCB, koszt i trudność produkcji.


Praktyczne zalecenia dotyczące procesu selekcji

1. Lista wymagań: Na podstawie projektu systemu wypisz wszystkie twarde specyfikacje (np. liczbę transceiverów, interfejsów DDR, limity poboru mocy, parametry temperaturowe) i specyfikacje elastyczności (np. marginesy zasobów logicznych).

2. Wstępna selekcja dostawców: Odwiedź strony internetowe największych dostawców, takich jak Xilinx/AMD, Intel/Altera, Lattice i Microchip, i skorzystaj z ich narzędzi wyboru (np. „Tabela produktów” firmy Xilinx, „Selektor urządzeń” firmy Intel), aby szybko przefiltrować produkty.

3. Utworzenie listy porównawczej: Wybierz 2–3 potencjalne modele i porównaj szczegółowo ich arkusze danych, funkcje DC/AC i dostępność IP.

4. Ocena zużycia energii i kosztów: Użyj narzędzia Power Estimator dostawcy, aby oszacować zużycie energii. Skontaktuj się z dystrybutorami lub skorzystaj z internetowych narzędzi cenowych, aby oszacować koszty.

5. Weryfikacja płytki programistycznej: W przypadku projektów o znaczeniu krytycznym lub nowych platform zdecydowanie zaleca się zakup lub wypożyczenie odpowiednich płytek programistycznych w celu weryfikacji wczesnych prototypów, zwłaszcza w celu sprawdzenia interfejsów o dużej szybkości i wydajności.

6. Decyzja ostateczna: Należy dążyć do uzyskania najlepszej równowagi pomiędzy wydajnością, zużyciem energii, kosztami, cyklem rozwoju i ryzykiem związanym z łańcuchem dostaw.


Firma Benlida zajmuje się produkcją płytek PCB i oferuje usługi montażu PCBA od 14 lat. Stale udoskonalając procesy produkcji PCB, firma stworzyła stabilny i doświadczony zespół inżynierów oraz łańcuch dostaw. Jeśli projektujesz układ FPGA i planujesz prototypowanie, skontaktuj się z Benlidą! Benlida produkuje wysokiej jakości płytki PCB i może wesprzeć Twoje projekty, oferując efektywny kosztowo łańcuch dostaw!


Etykieta :
Powrót

ODKRYJ WIĘCEJ