Co to jest FPGA?
Programowalna tablica bramek (FPGA) to układ logiczny komputera, który nie jest podłączony przez producenta. Oznacza to, że można go zaprogramować po zakupie. Istnieją tysiące opcji dostosowywania dostępnych dla typowego układu FPGA. Te programowalne elementy to bramki, znane również jako bloki logiczne lub pliki tabeli przeglądowej (LUT).
Ponieważ liczba bloków logicznych w układzie FPGA jest zbyt duża, aby można je było utworzyć ręcznie, są one generowane za pomocą programu. Programiści mogą następnie wybierać spośród różnych kategorii, aby dostosować je do konkretnego systemu. Mogą używać własnych programów do interakcji z programem na układzie FPGA i wprowadzania zmian.
Podczas programowania FPGA można użyć kilku połączonych elementów do skonfigurowania bloków logicznych w razie potrzeby. Zawartość LUT różni się w zależności od sposobu ich zaprogramowania. Niektóre wykonują pojedyncze funkcje, podczas gdy inne są w stanie wykonać bardziej złożony zestaw zadań. Niektóre układy FPGA mogą również zawierać elementy analogowe i cyfrowe. Te czipy często mają również zdolność do wspólnego działania tych elementów.
LUT są połączone siecią przewodów. W zależności od wymaganej funkcji przewody mogą przebiegać przez pliki w linii prostej lub w bardziej złożonej sieci połączeń ukośnych. LUT można połączyć z kilkoma innymi plikami za pomocą wielu połączeń przewodowych. Pliki mogą być również połączone szeregiem przewodów zwanych carry lub dedykowanymi łańcuchami routingu, które pomagają przenosić tylko określone rodzaje informacji, dzięki czemu mogą być przetwarzane szybciej.
Aby zaprogramować funkcję logiczną za pomocą FPGA, należy ją najpierw opisać w plikach tekstowych lub wizualnych. Następnie informacje są pobierane do oprogramowania dostarczonego z FPGA. Po zakończeniu tego procesu funkcja zwykle działa.
Chociaż układ FPGA jest droższy niż wbudowany układ logiczny, może pomóc w oszczędzaniu zasobów, ponieważ użytkownicy mogą programować zgodnie z ich specyficznymi wymaganiami. Może to zmniejszyć potrzebę dodatkowej pracy i dodatkowy czas potrzebny na pomieszczenie układu, który nie jest wykonany na zamówienie. Programowalny układ scalony może być również łatwiejszy w użyciu, ponieważ jego funkcje użytkownika, takie jak menu, można dostosować.
Programowane w terenie obwody matrycowe bram stanowią alternatywę dla specyficznego dla aplikacji układu scalonego (ASIC). Obwody te są podłączone przed opuszczeniem fabryki. Są to elementy na poziomie płyty, w przeciwieństwie do programowalnych w polu elementów poziomu bramy.