FPGA vs CPLD
FPGA in CPLD sta dve izmed dobro znanih vrst digitalnih logičnih čipov. Ko gre za notranjo arhitekturo, sta dva čipa očitno različna.
FPGA je kratek za Field Programmable Gate Array, je vrsta programabilnega logičnega čipa. Je odličen čip, saj ga je mogoče programirati tako, da opravlja skoraj vse digitalne funkcije. Arhitektura FPGA omogoča čipu zelo veliko logično zmogljivost. Uporablja se pri modelih, ki zahtevajo veliko število vrat, njihove zamude pa so zaradi svoje arhitekture precej nepredvidljive. FPGA velja za "finozrnato", saj vsebuje veliko drobnih logičnih blokov, ki bi lahko dosegli do 100.000. To je s floskulami, kombinacijsko logiko in pomnilnikom. Zasnovan je za bolj zapletene aplikacije.
Po drugi strani je CPLD (kompleksna programirljiva logična naprava) zasnovan z uporabo EEPROM (električno izbrisljiv programirljiv pomnilnik samo za branje). Primernejša je pri majhnih izvedbah štetja vrat. Ker gre za manj kompleksno arhitekturo, so zamude veliko predvidljive in so nestanovitne.
CPLD se pogosto uporablja za preproste logične aplikacije. Vsebuje le nekaj blokov logike in doseže do 100. Po tem pa se CPLD-ji štejejo za "grobozrnate" naprave. CPLD-ji so poceni, poleg tega pa nudijo veliko hitrejši vhod za trajanje izhoda zaradi svoje enostavnejše arhitekture z grobim zrnom.
FPGA so cenejši na vrata, vendar dragi, ko gre za paket.
Delo s FPGA zahteva posebne postopke, saj temelji na RAM-u. Če želite programirati napravo, morate najprej opisati "logično funkcijo" z uporabo računalnika, bodisi z risbo sheme ali preprosto opisovanjem funkcije v besedilni datoteki. Za sestavljanje 'logične funkcije' je običajno potrebna programska oprema. Ustvari dvojiško datoteko, ki jo je treba naložiti v FPGA, nato pa se bo čip obnašal tako, kot ste navodila v "logični funkciji".
Odločitev o tem, kaj uporabiti, ali FPGA ali CPLD, bi bila res odvisna od ciljev načrtovanja.
Povzetek:
1. FPGA vsebuje do 100.000 drobnih logičnih blokov, medtem ko CPLD vsebuje le nekaj blokov logike, ki doseže do nekaj tisoč.
2. Z vidika arhitekture se FPGA obravnavajo kot naprave z drobnim zrnom, medtem ko so CPLD-ji "grobozrnati".
3. FPGA so odlični za bolj zapletene aplikacije, medtem ko so CPLD boljši za preprostejše.
4. FPGA so sestavljeni iz drobnih logičnih blokov, medtem ko so CPLD sestavljeni iz večjih blokov.
5. FPGA je digitalni logični čip, ki temelji na RAM-u, medtem ko CPLD temelji na EEPROM-u.
6. Običajno so FPGA dražji, medtem ko so CPLD veliko cenejši.
7. Zamude so v CPLD-jih veliko bolj predvidljive kot v FPGA.