Informacja

Co to jest FPGA - podstawy programowalnej macierzy bramek

 Co to jest FPGA - podstawy programowalnej macierzy bramek


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Układ bramek programowalnych przez użytkownika, czyli FPGA, to programowalne urządzenie logiczne, którego wewnętrzną konfigurację można ustawić za pomocą oprogramowania lub, jak to jest określane, „oprogramowania układowego”. Umożliwia to aktualizację lub nawet całkowitą zmianę funkcjonalności FPGA w razie potrzeby, ponieważ oprogramowanie układowe FPGA jest aktualizowane, gdy jest w obwodzie.

Programowalne komponenty logiczne FPGA lub bloki logiczne, jak są znane, mogą składać się z wszystkiego, od bramek logicznych, po elementy pamięci lub bloki pamięci, lub prawie każdy element. Zapewnia to znaczny stopień elastyczności.

Aplikacje FPGA

Rekonfigurowalny charakter FPGA oznacza, że ​​może być używany w wielu różnych zastosowaniach.

  • Prototypowanie ASIC: ASIC lub układy scalone specyficzne dla aplikacji są często używane w produkcji wielkoseryjnej, ale ich opracowanie jest bardzo kosztowne, a zmiany są bardzo drogie i czasochłonne. Po wykonaniu układu ASIC jego funkcjonalność zostaje naprawiona. Również układy ASIC są zazwyczaj bardzo skomplikowane i aby zapewnić poprawną funkcjonalność, często zamiast układu ASIC używany jest układ FPGA podczas projektowania, a nawet wczesnej produkcji, aż do usunięcia wszystkich problemów.
  • Sprzęt zdefiniowany programowo: Ponieważ sprzęt jest obecnie coraz bardziej definiowany jako oprogramowanie, jak w przypadku radia definiowanego programowo, koncepcja ta jest szeroko stosowana w wielu obszarach technologii. Coraz powszechniej stosuje się również sprzęt testowy definiowany programowo - tutaj funkcjonalność przyrządu testowego może być modyfikowana w zależności od potrzeb.

Podstawy FPGA

Ogromną zaletą układu FPGA jest to, że układ jest w pełni programowalny i można go ponownie zaprogramować. W ten sposób staje się dużym obwodem logicznym, który można skonfigurować zgodnie z projektem, ale jeśli wymagane są zmiany, można go przeprogramować za pomocą aktualizacji.

Tak więc, jeśli wytwarzana jest karta lub płytka drukowana i zawiera FPGA jako część obwodu, jest to programowane podczas procesu produkcyjnego, ale może być później przeprogramowane, aby odzwierciedlić wszelkie zmiany. W ten sposób jest programowalny w terenie i faktycznie stąd pochodzi jego nazwa.

Chociaż układy FPGA oferują wiele zalet, istnieją oczywiście pewne wady. Są wolniejsze niż równoważne układy ASIC (układy scalone specyficzne dla aplikacji) lub inne równoważne układy scalone, a ponadto są droższe. (Jednak ASIC są bardzo drogie w porównaniu do porównania).

Oznacza to, że wybór, czy zastosować projekt oparty na FPGA, powinien być podjęty na wczesnym etapie cyklu projektowania i będzie zależał od takich elementów, jak to, czy chip będzie wymagał ponownego zaprogramowania, czy równoważną funkcjonalność można uzyskać gdzie indziej i oczywiście dopuszczalny koszt. Czasami producenci mogą zdecydować się na projekt FPGA dla wczesnego produktu, gdy nadal można znaleźć błędy, a następnie użyć ASIC, gdy projekt jest w pełni stabilny.

Układy FPGA są używane w wielu aplikacjach. Ze względu na koszty nie są one używane w tanich produktach o dużej objętości, ale zamiast tego FPGA znajdują zastosowanie w różnych obszarach, w których mogą być potrzebne złożone obwody logiczne i można spodziewać się zmian. Aplikacje FPGA obejmują szeroki zakres dziedzin, od sprzętu do wideo i obrazowania, po obwody do zastosowań lotniczych i wojskowych, a także elektronikę do specjalistycznego przetwarzania i wiele innych.

Wewnętrzne układy FPGA

Wewnętrzna architektura FPGA jest kluczem do jego elastyczności, a tym samym sukcesu. Zasadniczo FPGA składa się z dwóch podstawowych elementów:

  • Typowe bloki logiczne: Blok logiczny w układzie FPGA można zaimplementować na różne sposoby. Rzeczywista implementacja zależy od producenta, a także od używanej serii FPGA. Wahania obejmują liczbę wejść i wyjść, ogólną złożoność bloku logicznego pod względem obwodów i liczby użytych tranzystorów. Ma to oczywiście wpływ na ilość powierzchni zużywanej na chipie, a tym samym na rozmiar zastosowanego krzemu.
  • Wewnętrzny routing FPGA: Kanały routingu w układzie FPGA zawierają przewody, które można łączyć ze sobą za pomocą przełączników konfigurowalnych elektrycznie. W ten sposób można łączyć ze sobą różne punkty na chipie, a tym samym łączyć różne wspólne bloki logiczne w dowolny wymagany sposób.

Rozwój oprogramowania układowego FPGA

Ponieważ FPGA jest konfigurowalną macierzą logiczną, logikę należy ustawić tak, aby spełniała wymagania systemu. Konfigurację zapewnia oprogramowanie układowe - czyli zbiór danych

Ze względu na złożoność układów FPGA do projektowania funkcji układów FPGA stosuje się oprogramowanie. Proces projektowania FPGA jest uruchamiany przez użytkownika dostarczającego definicję języka opisu sprzętu (HDL) lub projekt schematyczny.

Typowe HDL to VHDL (gdzie VHDL oznacza VHSIC H.sprzęt reopis Language) i Verilog. Po zakończeniu, kolejnym zadaniem w procesie projektowania FPGA jest utworzenie listy sieci dla konkretnej używanej rodziny FPGA. Opisuje łączność wymaganą w FPGA i jest generowana za pomocą narzędzia do automatyzacji projektowania elektroniki.

Listę sieci można następnie dopasować do rzeczywistej architektury FPGA przy użyciu procesu zwanego miejscem i trasą, zwykle wykonywanego przez oprogramowanie miejsca i trasy należące do firmy FPGA.

Wreszcie projekt jest zaangażowany w FPGA i może być stosowany w płytce drukowanej, dla której jest przeznaczony.

Uwaga dotycząca programowania FPGA:

Układy FPGA wymagają dostępności oprogramowania firmowego, aby ustawić konfigurację logiki w układzie. To oprogramowanie może być rozwijane na wiele sposobów i istnieje kilka różnych platform oprogramowania, z których można korzystać.

Przeczytaj więcej o Programowanie FPGA

Testowanie FPGA

Ze względu na ich złożoność konieczne jest podjęcie rygorystycznych testów konstrukcji FPGA. Testy te będą zwykle wykonywane na każdym etapie procesu rozwoju FPGA.

Obejmuje symulację funkcjonalną i inne metodologie weryfikacji, ale jedną z kluczowych kwestii może być kwestia synchronizacji, ponieważ rozmiar i złożoność podstawowej logiki może oznaczać, że mogą pojawić się problemy z synchronizacją.

Po zakończeniu procesu projektowania i walidacji, wygenerowany plik binarny (również przy użyciu oprogramowania firmowego FPGA) jest używany do konfiguracji urządzenia FPGA.

Narzędzia FPGA

Narzędzia do tworzenia i testowania układów FPGA są dostępne z różnych źródeł. Oczywiście producent jest w stanie zaoferować wiele narzędzi programistycznych FPGA, ale istnieje wiele innych źródeł syntezy FPGA HDL innych firm, fizycznej syntezy FPGA i narzędzi do weryfikacji. Obejmują one faktyczny rozwój i różne etapy testowania układów FPGA.


Obejrzyj wideo: Example Interview Questions for a job in FPGA, VHDL, Verilog (Może 2022).