Nauka

Czym są układy FPGA i do czego się je wykorzystuje?

FPGA to skrót od Field-Programmable Gate Array, czyli układu scalonego, który można zaprogramować do wykonywania różnych funkcji. Umożliwia to tworzenie niestandardowych akceleratorów sprzętowych do określonych zadań, co zmniejsza zapotrzebowanie na procesor ogólnego przeznaczenia.

Układy FPGA zostały początkowo opracowane przez firmę Xilinx w 1984 roku, ale obecnie są produkowane przez wiele firm, w tym Altera i Actel. Najpopularniejsze zastosowanie układów FPGA to aplikacje do przetwarzania wideo, gdzie są one wykorzystywane do przyspieszenia operacji kodowania i dekodowania wideo. Znajdują one jednak zastosowanie także w innych dziedzinach, takich jak aplikacje sieciowe, przetwarzanie dźwięku i akceleracja grafiki 3D.

Na czym polega funkcjonalność tych urządzeń?

Układ bramek programowalnych (FPGA) to szczególny rodzaj układu scalonego, który po wyprodukowaniu może być dostosowany do potrzeb klienta lub projektanta. Elementy logiczne i połączenia między nimi w układzie FPGA są zwykle zbudowane jako tablica tablic wynikowych (LUT) lub tablice wynikowe (LUT). Architektura FPGA implementuje pewną formę języka opisu sprzętu, w którym podstawowe funkcje logiczne są opisane jako elementy, a połączenia między nimi jako lista sieci. W rezultacie układy FPGA są często projektowane za pomocą narzędzi CAD, a nie programowane w języku niskiego poziomu, jak większość innych układów scalonych.

Wykorzystanie układów FPGA

Pierwotnie układy FPGA miały być konfigurowane przez klientów lub projektantów po wyprodukowaniu. Doprowadziło to do ich zastosowania w urządzeniach, w których konfiguracja była stała po wyprodukowaniu – takich jak kontrolery dysków twardych i konsole do gier wideo – ale nie mogła być łatwo zmieniona przez użytkownika po zakupie. Jednak od lat 2000-tych układy FPGA są coraz częściej wykorzystywane poza pierwotnymi rynkami ze względu na malejące koszty i rosnącą wydajność.