Termin FPGA oznacza macierz bramek programowalnych przez użytkownika i jest to jeden typ półprzewodnikowy układ logiczny który można zaprogramować tak, aby stał się niemal dowolnym systemem lub obwodem cyfrowym, podobnie jak PLD. PLDS są ograniczone do setek bramek, ale FPGA obsługują tysiące bramek. Konfiguracja architektury FPGA jest ogólnie określana za pomocą języka, tj. HDL (język opisu sprzętu), który jest podobny do używanego w ASIC (układ scalony specyficzny dla aplikacji).
Tablice bramek programowalne przez użytkownika
Układy FPGA mogą zapewnić szereg zalet w porównaniu z technologią ASIC o stałej funkcji, taką jak standardowe komórki. Zwykle produkcja układów ASIC trwa miesiące, a ich zakup będzie kosztował tysiące dolarów. Ale FPGA są wytwarzane w mniej niż sekundę, koszt będzie wynosić od kilku do tysiąca dolarów Elastyczny charakter FPGA wiąże się ze znacznym kosztem, zużyciem energii i opóźnieniem. FPGA wymaga od 20 do 35 razy więcej obszaru, a prędkość będzie 3 do 4 razy wolniejsza niż ASIC. W tym artykule opisano podstawy procesora FPGA i moduł architektury FPGA, który zawiera pad we / wy, bloki logiczne i macierz przełączników. FPGA to tylko niektóre z nowych trendów w VLSI. Dlatego są one używane w Projekty oparte na VLSI dla studentów inżynierii elektronicznej .
Architektura FPGA
Ogólna architektura FPGA składa się z trzech typów modułów. Są to bloki we / wy lub podkładki, macierze przełączników / przewody połączeniowe i konfigurowalne bloki logiczne (CLB). Podstawowa architektura FPGA ma dwuwymiarowe tablice bloków logicznych ze środkami umożliwiającymi użytkownikowi zorganizowanie wzajemnych połączeń między blokami logicznymi. Funkcje modułu architektury FPGA omówiono poniżej:
- CLB (Configurable Logic Block) zawiera logikę cyfrową, wejścia, wyjścia. Realizuje logikę użytkownika.
- Połączenia zapewniają kierunek między blokami logicznymi w celu implementacji logiki użytkownika.
- W zależności od logiki macierz przełączników zapewnia przełączanie między połączeniami.
- Płytki I / O używane w świecie zewnętrznym do komunikacji z różnymi aplikacjami.
Architektura FPGA
Blok logiczny zawiera MUX (multiplekser) , D flip flop i LUT. LUT implementuje kombinacyjne funkcje logiczne, MUX jest używany do logiki wyboru, a przerzutnik D przechowuje dane wyjściowe LUT
Podstawowym blokiem konstrukcyjnym FPGA jest generator funkcji oparty na tabeli przeglądowej. Liczba wejść do LUT waha się od 3, 4, 6, a nawet 8 po eksperymentach. Teraz mamy adaptacyjne LUT, które zapewniają dwa wyjścia na pojedynczą LUT z implementacją dwóch generatorów funkcji.
Blok logiczny FPGA
Xilinx Virtex-5 to najpopularniejszy FPGA, który zawiera tablicę przeglądową (LUT) połączoną z MUX oraz przerzutnik, jak omówiono powyżej. Obecny układ FPGA składa się z około setek lub tysięcy konfigurowalnych bloków logicznych. Do konfiguracji FPGA, oprogramowanie Modelsim i Xilinx ISE jest używane do generowania pliku strumienia bitów i do programowania.
Typy układów FPGA w zależności od aplikacji
Macierze bramek programowalne przez użytkownika są podzielone na trzy typy w oparciu o zastosowania, takie jak niskobudżetowe układy FPGA, średniej klasy układy FPGA i wysokiej klasy układy FPGA.
Rodzaje układów FPGA
Niskie układy FPGA
Te typy układów FPGA są zaprojektowane z myślą o niskim zużyciu energii, małej gęstości logicznej i małej złożoności na jeden układ. Przykładami niskobudżetowych układów FPGA są rodzina Cyclone z Altera, rodzina Spartan z Xilinx, rodzina fusion z Microsemi i Mach XO / ICE40 z Lattice semiconductor.
FPGA średniej klasy
Te typy układów FPGA są optymalnym rozwiązaniem między układami FPGA niższej i wyższej klasy i opracowano je jako równowagę między wydajnością a kosztem. Przykłady układów FPGA średniego zasięgu to Arria firmy Altera, seria Artix-7 / Kintex-7 firmy Xlinix, IGL002 firmy Microsemi oraz seria ECP3 i ECP5 firmy Lattice semiconductor.
Wysokiej klasy układy FPGA
Te typy układów FPGA zostały opracowane z myślą o gęstości logicznej i wysokiej wydajności. Przykładami high-endowych układów FPGA są rodzina Stratix firmy Altera, rodzina Virtex firmy Xilinx, rodzina Speedster 22i firmy Achronix i rodzina ProASIC3 firmy Microsemi.
Zastosowania FPGA:
FPGA zyskały szybki wzrost w ciągu ostatniej dekady, ponieważ są przydatne w szerokim zakresie zastosowań. Specyficzne zastosowanie FPGA obejmuje cyfrowe przetwarzanie sygnału, bioinformatykę, kontrolery urządzeń, programowalne radio, logikę losową, prototypowanie ASIC, obrazowanie medyczne, emulację sprzętu komputerowego, integrację wielu SPLD, rozpoznawanie głosu , kryptografia, filtrowanie i kodowanie komunikacji i wiele innych.
Zwykle układy FPGA są przechowywane dla określonych zastosowań pionowych, w których wielkość produkcji jest niewielka. W przypadku tych zastosowań o małej objętości największe firmy płacą koszty sprzętu na jednostkę. Obecnie nowa dynamika wydajności i koszty poszerzyły zakres wykonalnych zastosowań.
Zastosowania FPGA
Niektóre bardziej powszechne zastosowania FPGA to: lotnictwo i obrona, elektronika medyczna, prototypowanie ASIC, audio, motoryzacja, transmisja, elektronika użytkowa, rozproszone systemy monetarne, centra danych, wysokowydajne komputery, przemysłowe, medyczne, przyrządy naukowe, Systemy ochrony , Przetwarzanie wideo i obrazu, Komunikacja przewodowa, Komunikacja bezprzewodowa .
Pomysły na projekty oparte na FPGA:
Oto lista pomysłów na projekty oparte na FPGA do eksperymentowania z Verilog HDL i VHDL dla studentów ostatniego roku inżynierii. Plik lista pomysłów na projekty elektroniczne na podstawie FPGA podano poniżej:
Pomysły na projekty oparte na FPGA
- System logowania bezpieczeństwa oparty na FPGA
- Układ cyfrowego aparatu słuchowego oparty na FPGA
- Architektura ekstrakcji funkcji obrazu w czasie rzeczywistym oparta na FPGA
- Projektowanie i wdrażanie dekoderów MP4 w oparciu o układ FPGA
- Oparte na FPGA System sterowania sygnalizacją ruchu Projektowanie i wdrażanie
- Generowanie nośnej o wysokiej częstotliwości w oparciu o układ FPGA do kompresji impulsów z wykorzystaniem algorytmu przewodowego
- Programowalny projekt i synteza bloków logicznych z bramką makro i mieszaną tablicą LUT
- Zestaw instrukcji dla aplikacji Projektowanie, wdrażanie i badanie procesora dla określonego zadania DSP
- Projekt i implementacja jednostki synchronizacji dla odbiornika łącza w górę WCDMA
- Implementacja algorytmu FPGA dla IEEE 802.16e (Mobile WiMAX)
- Projektowanie oparte na FPGA GPS (Global Possitioning System) -GSM (Global Systems for Mobile) Mobile Navigator
- Wektor przestrzeni PWM (modulacja szerokości impulsu) dla konwerterów trójpoziomowych: implementacja LabVIEW
- Zaprojektowanie i wdrożenie programowalnej platformy wieloprocesorowej do wysokowydajnego przetwarzania wbudowanego
- Rozszerzenie i ulepszenie optymalizacji procesora o wysokiej wydajności dla układów FPGA
- Opracowywanie i ocena sterowania zorientowanego na pole przy użyciu LabVIEW FPGA
- Bezpośrednia cyfrowa synteza częstotliwości w formacie FPGA
- Zaprojektuj i zaprogramuj platformę wieloprocesorową do wysokowydajnego przetwarzania wbudowanego
- Projektowanie i integracja eksploracji przestrzeni kosmicznej tablic liczników programowalnych w terenie przy użyciu FPGA
- Implementacja FPGA teleskopu Icecube do wykrywania śladów neutrin
- Interpolacja obrazu wyświetlania 3D w oprogramowaniu sprzętowym
- Architektura i implementacja systemu MIMO Sphere
- Superskalarna energooszczędna architektura FFT (szybka transformacja Fouriera)
- liniowy rejestr przesunięcia sprzężenia zwrotnego (LFSR) Optymalizacja mocy dla BIST małej mocy
Po spędzeniu cennego czasu nad tym artykułem uważamy, że masz dobre pojęcie o architekturze FPGA i O wyborze tematu projektu do wyboru spośród pomysłów projektowych opartych na FPGA i mamy nadzieję, że masz wystarczającą pewność siebie, aby podjąć każdy temat z listy. Aby uzyskać dalsze informacje i pomoc dotyczącą tych projektów, możesz napisać do nas w sekcji komentarzy podanej poniżej.
Kredyty fotograficzne:
- Tablice bramek programowalne przez użytkownika wg ruggedpcreview
- Pomysły na projekty oparte na FPGA wg rtcmagazine