Jaka jest różnica między CPLD a FPGA? [Zamknięte]

10

Jaka jest różnica między CPLD a FPGA?

Sanjeev Kumar
źródło
1
CPLD używa tylko terminów dotyczących produktu (i jednego DFF na pin wyjściowy); FPGA ma wewnętrzne konfigurowalne bloki LUT, carry / shift, DFF, a także bardziej elastyczny routing, blok RAM i inne wyspecjalizowane bloki, takie jak PLL lub MAC.
MarkU
1
... i zwykle CPLD używają nieulotnej pamięci do przechowywania swojej konfiguracji, podczas gdy FPGA używają pamięci nieulotnej (RAM), tj. FPGA muszą być inicjalizowane za każdym razem po włączeniu zasilania.
Curd
6
Odpowiedź łatwo dostępna za pomocą Google - pytanie powinno zostać zamknięte.
Leon Heller,
4
@Leon Heller Nie wiem, dlaczego chcesz wezwać inną osobę do zamknięcia tego pytania. Jeśli uważasz, że to pytanie powinno być zamknięte, możesz głosować za jego zamknięciem, ale naprawdę okropnie jest komentować „pytanie powinno być zamknięte” i spróbować wezwać inną osobę, aby poszła za tobą. Jeśli to pytanie może zostać zamknięte, najpierw powinieneś zamknąć poniższe pytanie electronics.stackexchange.com/questions/1092/...
Sanjeev Kumar
1
@LeonHeller (i in.), To samo pytanie pojawia się również jako odpowiedź na to wyszukiwanie w Google. (Mam go jako drugi link wraz z innymi, które były naprawdę przydatne.)
ilkkachu

Odpowiedzi:

5

CPLD są zwykle używane tylko do zastąpienia stosunkowo niewielkiej ilości dyskretnej logiki. Mianowicie rzeczy takie jak kilka dekoderów adresów i obwodów interfejsu magistrali. CPLD zawierają bardzo mało pamięci; ogólnie liczba przerzutników jest tego samego rzędu co piny we / wy (tzn. 32 makrokomórki CPLD ma ~ 30 wyprowadzeń i ~ 30 przerzutników). Kombinatoryczna logika w CPLD jest zaimplementowana w programowalnej tablicy logicznej, co zasadniczo nie jest przydatne przy bardzo dużych prędkościach. CPLD są zwykle oparte na pamięci flash lub mają wewnętrzną pamięć flash, co upraszcza wymagania dotyczące projektowania płyt i poprawia ochronę przed inżynierią wsteczną. CPLD nie są również budowane z wykorzystaniem procesów logicznych „najnowocześniejszych”.

Układy FPGA są przeznaczone do obliczeń o bardzo wysokiej wydajności i interfejsów o dużej przepustowości. Wewnętrznie używają zupełnie innej architektury niż CPLD. Układy FPGA mają o wiele więcej stanu wewnętrznego (rejestry i blokową pamięć RAM) niż piny we / wy. Logika kombinatoryczna jest implementowana na szybkich tablicach przeglądowych, które mogą pracować z częstotliwością kilkuset MHz. LUT i inne komponenty są połączone z siecią routingu o wysokiej wydajności. Układy FPGA zawierają również wyspecjalizowane twarde rdzenie, które zapewniają wydajną implementację różnych komponentów. Blokowanie pamięci RAM i mnożników / segmentów DSP jest bardzo powszechne. Układy FPGA mogą także zawierać MAC-y Ethernet, rdzenie procesorów twardych, interfejsy PCI Express i inne specjalistyczne bloki. Przekaźniki wielogigabitowe są również wspólną cechą wysokiej klasy układów FPGA, które umożliwiają przesyłanie danych z prędkością do 50 Gbit / s na parę pinów. Układy FPGA zasadniczo nie zawierają żadnej nieulotnej pamięci, dlatego do załadowania konfiguracji wymagana jest zewnętrzna pamięć flash. Szyfrowanie można wdrożyć w celu zwiększenia bezpieczeństwa projektu za pomocą klucza zabezpieczonego baterią przechowywanego w układzie FPGA.

alex.forencich
źródło
10

Różnice:

  1. Pojemność - CPLD zwykle ma mniejszą pojemność logiczną. Największy CPLD może znajdować się na podobnym poziomie co najmniejszy FPGA na głównym nurcie rynku.

  2. Przechowywanie obrazu - CPLD może uruchomić się sam, podczas gdy większość FPGA musi pobrać strumień bitów konfiguracji z nieulotnej pamięci, ponieważ są one oparte na SRAM. Wpływa to na bezpieczeństwo systemu.

  3. Cecha - CPLD zapewnia tylko bramki lub wspomniane komórki logiczne, które mogą wykonywać wszelkiego rodzaju algorytmy logiczne. Ponadto w FPGA osadzono także wiele twardych bloków, takich jak BlockRAM, DSP, TEMAC, PCIe, MGT, mikroprocesor itp., Aby pojedynczy układ FPGA był w stanie zbudować zintegrowany, w pełni funkcjonalny system.

Yash
źródło
3
Jeśli chodzi o # 3, warto wspomnieć, że z biegiem lat, gdy CPLD stawały się coraz bardziej wyrafinowane, granica między CPLD a FPGA zaciera się. Na przykład nowoczesne CPLD są wystarczająco duże, aby zaimplementować mikrokontroler. Do tego stopnia, że ​​niektóre rodziny układów, które wcześniej były sprzedawane jako CPLD, są obecnie oznaczane jako FPGA (na przykład rodzina Altera Max)
David Gardner