Skillnad mellan CPLD och FPGA

CPLD vs FPGA

CPLD (Complex Programmable Logic Device) och FPGA (Field Programmable Gate Array) är två logiska enheter som börjar bli suddiga på grund av förbättringar i teknik och introduktion av en särdrag till den andra. Huvudskillnaden mellan FPGA och CPLD är den komplexitet eller antalet logiska grindar som finns i varje. Även om faktiska siffror kan skilja sig väldigt olika mellan olika modeller, innehåller CPLDs var som helst från några tusen portar till tiotusentals. I jämförelse har FPGAs tiotusentals till några miljoner. På grund av den stora skillnaden i antalet portar är det lätt att säga att du kan bygga mer komplicerad logik med FPGA än med CPLD.

En stor fördel med att ha ett extremt stort antal grindar är möjligheten att ha högnivåfunktioner inbäddade i chipet. I stället för att skapa dem själv, har vissa FPGA redan adderare, multiplikatorer och många andra operatörer för de vanligaste uppgifterna. Programmeraren kan sedan fokusera på det verkliga målet för designen och behöver inte oroa sig för genomförandet av sådana funktioner.

Det finns också en stor skillnad mellan de två när det gäller deras arkitektur. FPGA använder LUT (Look-Up Tables) medan en CPLD använder en enklare mängd produkter (kallas även ett hav av grindar). Att använda LUT är fördelaktigt eftersom det ger signifikanta besparingar i bearbetningstiden, eftersom chipet inte skulle behöva gå igenom processen att omberäkna summan av produkter som CPLD: er gör. LUT ger också en mer flexibel sammankoppling mellan interna FPGA-moduler än vad en CPLD kan.

Den sista stora skillnaden mellan de två är icke-flyktigt minne. LUT är en form av minne, men det kvarstår inte när strömmen är borttagen. CPLD har ett icke-flyktigt minne inbäddad i chipsen så att de kan fungera direkt utan att behöva extern ROM. CPLDs används till och med som en "boot loader" för FPGAs. Som redan nämnts i början av denna artikel börjar linjen mellan funktioner suddas ut. För att eliminera behovet av "startlastare" har tillverkare av FPGA: er börjat integrera icke-flyktigt minne i sina FPGA-chips; vilket gör att den här funktionen finns i både CPLD och vissa FPGA.

Sammanfattning:

1.FPGAs är mer komplexa än CPLDs.
2.FPGA har mer högnivå, inbäddade funktioner än CPLD.
3.FPGAs använder uppslagstabeller medan CPLD använder en summa produkter.
4.CPLD har icke-flyktigt minne medan FPGA inte gör det.