logo

Różnica między CPLD i FPGA

The FPGA I CPLD stworzono urządzenia umożliwiające uzyskanie gęstości i prędkości obwodu ASIC (układ scalony specyficzny dla aplikacji) urządzeń, ale z krótszym czasem realizacji w przypadku urządzeń programowalnych. Podstawowa różnica między FPGA i CPLD polega na tym, że FPGA ma więcej zasobów logicznych niż CPLD, który jest prostszy i ma mniej połączeń wzajemnych. Przy segregowaniu FPGA i CPLD brane są pod uwagę głównie dwa czynniki. Pierwszą z nich jest ich architektura i sposób implementacji różnych funkcji logicznych. Po drugie, specyficzna technologia półprzewodników zastosowana w sprzęcie.

W tym artykule dowiesz się o różnicy pomiędzy CPLD I FPGA . Zanim jednak omówisz różnice, musisz poznać CPLD i FPGA wraz z ich zaletami i wadami.

Co to jest CPLD?

CPLD jest skrótem od „Złożone programowalne urządzenia logiczne” . Jest to układ scalony, który pomaga w realizacji systemów cyfrowych. CPLD składa się z programowalnych bloków funkcjonalnych, a każdy blok ma makrokomórki . Podstawowymi elementami budulcowymi CPLD są makrokomórki. We/wy bloków funkcjonalnych są połączone poprzez Globalna macierz połączeń wzajemnych (GIM) . Ta matryca połączeń jest rekonfigurowalna, ponieważ zmiana styków pomiędzy blokami funkcjonalnymi jest niemożliwa. Te bloki funkcjonalne są odpowiednikiem zestawu bramek logicznych.

Java porównaj ciąg

Podczas projektowania CPLD ważne jest, aby wziąć pod uwagę technikę programowania, możliwości I/P i możliwości bloków funkcjonalnych. Ogólnie rzecz biorąc, CPLD są nieulotne i proste w użyciu, a także niedrogie.

CPLD są dostępne w różnych typach pakietów układów scalonych i rodzinach logicznych. Napięcie zasilania, prąd czuwania, prąd roboczy i straty mocy CPLD są również różne. Ponadto są one dostępne z różnymi pojemnościami pamięci i opcjami obsługi pamięci. Pamięć jest zazwyczaj mierzona w bitach lub megabitach, a obsługa pamięci zawiera ROM, RAM I dwuportowa pamięć RAM . Zawiera również FIFO (pierwsze weszło, pierwsze wyszło) I LIFO (ostatni na wejściu, ostatni na wyjściu) pamięć i CAM (pamięć adresowalna zawartości) .

Składniki CPLD

Istnieją różne składniki CPLD. Niektóre główne składniki CPLD są następujące:

    Blok funkcyjny
    W CPLD blok funkcyjny ma płaszczyznę AND, która może akceptować dane wejściowe z bloków we/wy, bloków funkcyjnych lub nawet odpowiedzi tego samego bloku funkcyjnego. Następnie terminy są dodawane do tablicy OR i wybierane przy użyciu dużego multipleksera. Wyjście MUX-a może zostać przeniesione bezpośrednio z bloku lub poprzez taktowany przerzutnik. Ten blok funkcjonalny może mieć również dodatkową logikę, taką jak wybierane wyłączne OR, sygnał resetowania głównego i możliwość programowania polaryzacji w kilku etapach.Bloki wejścia/wyjścia
    Bloki wejścia/wyjścia służą do wysyłania sygnałów do pinów CPLD przy odpowiednich poziomach napięcia i prądu. Pozwala na usunięcie opóźnień, zmniejszenie wymagań dotyczących czasu przetrzymania urządzenia oraz dodanie dodatkowych zasobów do urządzenia.Połączyć się
    Połączenie wzajemne CPLD to duża matryca programowalnych przełączników, która kieruje przesyłaniem sygnałów z jednej części urządzenia do drugiej.Programowalne komponenty
    Wykorzystuje również programowalne komponenty, takie jak PROM, EPROM, EEPROM i flash EPROM.

Zalety i wady CPLD

CPLD ma wiele zalet i wad. Niektóre główne zalety i wady CPLD są następujące:

Zalety

  1. Jest łatwy do zaprojektowania.
  2. Ma niski koszt rozwoju.
  3. Pomaga zmniejszyć powierzchnię planszy.
  4. Oferuje wysoką niezawodność.

Niedogodności

  1. Jest to bardziej skomplikowane programowalne urządzenie logiczne.

Co to jest FPGA?

FPGA jest skrótem od „Macierze bramek programowalnych przez użytkownika” . Jest to urządzenie półprzewodnikowe składające się z matrycy konfigurowalnych bloków logicznych połączonych ze sobą programowalnymi połączeniami. Po wyprodukowaniu układ FPGA można przeprogramować w celu spełnienia wymagań. Obecne układy FPGA mają około 330000 bloki logiczne z 1100 wejść/wyjść .

Użytkownicy mogą korzystać z Język opisu sprzętu (HDL) zaprojektować i skonfigurować obwód. Następnie może wykonać prostą bramkę, taką jak bramka AND, lub skomplikowany system, taki jak procesor wielordzeniowy. Zapisuje wszystkie konfiguracje w pamięci głównej. W rezultacie awaria zasilania może spowodować usunięcie wszystkich tych konfiguracji.

dołączanie ciągu w Javie

Komponenty FPGA

Istnieją różne komponenty FPGA. Niektóre główne elementy FPGA są następujące:

    Programowalne bloki logiczne
    Umożliwia realizację funkcji logicznych.Programowalne wyznaczanie tras
    Umożliwia implementację funkcji.Bloki we/wy
    Służy do wykonywania połączeń chipowych.

Zalety i wady FPGA

Istnieją różne zalety i wady FPGA. Niektóre główne zalety i wady FPGA są następujące:

Zalety

  1. Układy scalone FPGA są powszechnie dostępne i można je szybko zaprogramować przy użyciu kodu HDL. Dzięki temu rozwiązanie szybciej trafia na rynek.
  2. W przypadku projektowania FPGA oprogramowanie obsługuje routing, rozmieszczenie i synchronizację. Wymaga mniejszego zaangażowania ręcznego. Proces projektowania eliminuje czasochłonne i skomplikowane analizy lokalizacji i routerów, planowania pięter i czasu.
  3. Układy FPGA mają możliwość programowania na poziomie logicznym. W rezultacie może realizować szybsze i bardziej równoległe przetwarzanie sygnału. Wykonanie procesora jest wyzwaniem.
  4. W przeciwieństwie do rozwoju ASIC, który wiąże się ze znacznymi NRE (wydatki jednorazowe) i drogich narzędzi, rozwój FPGA jest tańszy ze względu na tańsze narzędzia i brak NRE.
  5. Układy FPGA można programować na poziomie oprogramowania w dowolnym momencie. W rezultacie układ FPGA IC można przeprogramowywać lub ponownie wykorzystywać nieograniczoną liczbę razy. Układy FPGA można również programować na odległość.

Niedogodności

  1. Zużycie energii jest wyższe, a programiści mają niewielką kontrolę nad optymalizacją mocy w FPGA.
  2. Układy FPGA idealnie nadają się do prototypowania i produkcji niskoseryjnej. Wraz ze wzrostem liczby tworzonych układów FPGA wzrasta również koszt jednostkowego produktu.
  3. Programowanie FPGA wymaga znajomości języków programowania VHDL/Verilog oraz podstaw systemów cyfrowych. Programowanie nie jest tak proste, jak to stosowane w sprzęcie opartym na procesorze. Inżynierowie muszą także nauczyć się korzystać z narzędzi symulacyjnych.
  4. Po wybraniu i zastosowaniu układu FPGA w projekcie programiści muszą wykorzystać zasoby znajdujące się w układzie scalonym FPGA, co ogranicza rozmiar i funkcje projektu. Aby uniknąć takiego problemu, należy od początku wybrać odpowiedni układ FPGA.

Kluczowe różnice między CPLD i FPGA

Różnica między CPLD i FPGA

Istnieje wiele kluczowych różnic między nimi CPLD I FPGA . Niektóre z kluczowych różnic między CPLD i FPGA są następujące:

  1. CPLD to skrót od Complex Programmable Logic Devices. Natomiast FPGA to skrót od Field Programmable Gate Arrays.
  2. CPLD to układ scalony, który pomaga w realizacji systemów cyfrowych. Natomiast FPGA to układ scalony, który jest tworzony głównie w celu dostosowania po wyprodukowaniu przez klienta lub programistę.
  3. Układy FPGA mogą obejmować do 100 000 małe bloki logiczne. Natomiast CPLD mogą przechowywać tylko kilka tysięcy bloków logicznych.
  4. FPGA jest odpowiednie dla skomplikowanych aplikacji. Natomiast CPLD lepiej nadaje się do prostszych aplikacji.
  5. FPGA ma większe zużycie energii. Natomiast CPLD ma mniejsze zużycie energii.
  6. Pod względem wydajności układ FPGA zapewnia stabilną wydajność niezależną od wewnętrznego routingu. Natomiast CPLD ma nieprzewidywalną wydajność opartą na routingu.
  7. CPLD jest odpowiednikiem KUMPEL . Z drugiej strony FPGA jest podobne do Układ bramkowy .
  8. FPGA to cyfrowy układ logiczny oparty na Baran . W przeciwieństwie do CPLD Oparty na EEPROM .
  9. FPGA zalicza się do drobnoziarnistych. Natomiast CPLD jest gruboziarnisty.
  10. CPLD zapewnia lepszą ochronę niż FPGA, ponieważ ma pamięć nieulotną.
  11. Opóźnienia w układach CPLD są znacznie bardziej przewidywalne niż w układach FPGA.

Bezpośrednie porównanie CPLD i FPGA

Tutaj dowiesz się o bezpośrednich porównaniach między CPLD i FPGA. Główne różnice między CPLD i FPGA są następujące:

Cechy CPLD FPGA
Pełne formy CPLD to skrót od Complex Programmable Logic Devices. FPGA to skrót od Field Programmable Gate Arrays.
Definicja Jest to układ scalony, który pomaga w realizacji systemów cyfrowych. Jest to układ scalony, który jest tworzony głównie w celu dostosowania po wyprodukowaniu przez klienta lub programistę.
Stosunek klapek Ma niski współczynnik przerzutników niż FPGA. Ma wysoki współczynnik przerzutników niż CPLD.
Gęstość Ma niską lub średnią gęstość. Ma średnią do dużej gęstość.
Struktura przypomina Jest odpowiednikiem systemu PAL. Jest podobny do tablicy Gate.
Bloki logiczne Może przechowywać tylko kilka tysięcy bloków logicznych. Może zawierać do 100 000 małych bloków logicznych.
Pobór energii Ma większe zużycie energii. Ma mniejsze zużycie energii.
Oparte na Opiera się na pamięci EEPROM. Opiera się na pamięci RAM.
Koszt Jest tańszy niż FPGA. Jest droższy niż CPLD.
Architektura Zaliczany jest do ziaren gruboziarnistych. Zaliczany jest do drobnoziarnistych.
Aplikacje Lepiej nadaje się do prostszych aplikacji. Jest odpowiedni dla skomplikowanych aplikacji.
Bezpieczeństwo Zapewnia większe bezpieczeństwo niż FPGA. Zapewnia mniejsze bezpieczeństwo niż CPLD.
Wydajność Jego wydajność zależy od routingu. Zapewnia stabilną wydajność niezależną od wewnętrznego routingu.
Zmienność Dane nie zostaną utracone, jeśli zasilanie zostanie wyłączone. Jeśli zasilanie zostanie wyłączone, dane mogą zostać utracone.

Wniosek

Układy FPGA oferują większą złożoność i elastyczność oraz funkcje, takie jak wbudowana pamięć RAM, zarządzanie zegarem, operacje DSP, mnożniki itp. Z drugiej strony CPLD zużywa mniej energii niż FPGA, a urządzenia FPGA są częściej używane w projektach, w których stosowane są zmiany. Natomiast urządzenia CPLD są używane, gdy wymagana jest prosta logika klejenia i gdy w aplikacji potrzebne są obwody o natychmiastowym włączeniu, ponieważ FPGA początkowo działa z mniejszą szybkością ze względu na ładowanie konfiguracji z zewnętrznej pamięci ROM.