FPGA versus CPLD
FPGA's en CPLD's zijn twee van de bekende typen digitale logica-chips. Als het gaat om de interne architectuur, zijn de twee chips duidelijk anders.
FPGA is een afkorting voor Field-Programmable Gate Array, is een type van een programmeerbare logica-chip. Het is een geweldige chip omdat het kan worden geprogrammeerd om bijna elke vorm van digitale functie te doen. De architectuur van FPGA zorgt ervoor dat de chip een zeer hoge logische capaciteit heeft. Het wordt gebruikt in ontwerpen die een hoge gate-telling vereisen en hun vertragingen zijn vrij onvoorspelbaar vanwege de architectuur. De FPGA wordt beschouwd als 'fijnkorrelig' omdat het veel kleine logica-blokken bevat die kunnen oplopen tot 100.000. Het is met flip-flops, combinatie logica en geheugen. Het is ontworpen voor meer complexe toepassingen.
Aan de andere kant is CPLD (Complex Programmable Logic Device) ontworpen met behulp van EEPROM (elektrisch wisbaar programmeerbaar alleen-lezen geheugen). Het is meer geschikt in ontwerpen met kleine poorttellingen. Omdat het een minder complexe architectuur is, zijn de vertragingen veel voorspelbaar en is het niet-vluchtig.
CPLD wordt vaak gebruikt voor eenvoudige logische toepassingen. Het bevat slechts een paar logica blokken en reikt tot 100. Desondanks worden CPLD's beschouwd als 'grofkorrelige' apparaten. CPLD's zijn goedkoop en bieden ook een veel snellere input voor de uitvoertijd vanwege de eenvoudigere, 'grofkorrelige' architectuur.
FPGA's zijn per poort goedkoper, maar duur als het op pakket aankomt.
Het werken met FPGA's vereist speciale procedures omdat het op RAM is gebaseerd. Om het apparaat te programmeren, moet u eerst de 'logische functie' beschrijven met behulp van de computer, ofwel door een schema te tekenen of door eenvoudigweg de functie in een tekstbestand te beschrijven. Voor het compileren van de 'logische functie' is meestal een software vereist. Het creëert een binair bestand dat gedownload moet worden naar de FPGA en dan gedraagt de chip zich precies zoals je hebt aangegeven in de 'logische functie'.
Beslissen over wat te gebruiken, FPGA of CPLD, zou echt afhangen van de ontwerpdoelen.
Samenvatting:
1. FPGA bevat maximaal 100.000 kleine logische blokken terwijl CPLD slechts een paar logica blokken bevat die oplopen tot enkele duizenden.
2. Op het gebied van architectuur worden FPGA's beschouwd als 'fijnkorrelige' apparaten, terwijl CPLD's 'grofkorrelig' zijn.
3. FPGA's zijn ideaal voor complexere toepassingen, terwijl CPLD's beter zijn voor eenvoudiger toepassingen.
4. FPGA's zijn opgebouwd uit kleine logische blokken, terwijl CPLD's zijn gemaakt van grotere blokken.
5. FPGA is een RAM-gebaseerde digitale logica-chip terwijl CPLD op EEPROM-gebaseerd is.
6. Normaal gesproken zijn FPGA's duurder, terwijl CPLD's veel goedkoper zijn.
7. Vertragingen zijn veel voorspelbaarder in CPLD's dan in FPGA's.