CPLD vs FPGA
CPLD'er (kompleks programmerbar logisk enhed) og FPGA'er (feltprogrammerbar gate array) er to logiske enheder, der begynder at sløre på grund af forbedringerne i teknologi og introduktionen af ens funktioner til den anden. Den største forskel mellem FPGA'er og CPLD'er er kompleksiteten eller antallet af logiske porte, der er indeholdt i hver. Selv om det faktiske antal i høj grad kan variere mellem forskellige modeller, indeholder CPLD'er overalt fra et par tusind porte til titusinder. Til sammenligning har FPGA'er titusinder til nogle få millioner. På grund af den enorme forskel i antallet af porte, er det let at sige, at du kan opbygge mere kompleks logik med FPGA'er end med CPLD'er.
En stor fordel ved at have et ekstremt stort antal porte er muligheden for at have funktioner på højt niveau indlejret i chippen. I stedet for at oprette dem selv, har nogle FPGA'er allerede adders, multiplikatorer og mange andre operatører til de mest almindelige opgaver. Programmereren kan derefter fokusere på det egentlige mål for designet og ikke behøver at bekymre sig om implementeringen af sådanne funktioner.
Der er også en enorm forskel mellem de to, når det kommer til deres arkitektur. FPGA'er bruger LUT'er (opslagstabeller), mens et CPLD bruger en enklere sum af produkter (også kaldet et hav af porte). Brug af LUT'er er fordelagtige, da det giver betydelige besparelser i behandlingstid, da chippen ikke behøver at gennemgå processen med at beregne summen af produkter, som CPLD'er gør. LUT'er giver også en mere fleksibel forbindelse mellem interne FPGA-moduler end hvad en CPLD er i stand til.
Den sidste store forskel mellem de to er ikke-flygtig hukommelse. LUT'er er en form for hukommelse, men den vedvarer ikke, når strømmen er fjernet. CPLD'er har ikke-flygtig hukommelse, der er integreret i chips, så de kan fungere med det samme uden behov for ekstern ROM. CPLD'er bruges endda til at fungere som en "boot loader" for FPGA'er. Som allerede nævnt i begyndelsen af denne artikel begynder linjen mellem funktioner at sløre. For at eliminere behovet for "boot loaders" er producenter af FPGA'er begyndt at integrere ikke-flygtig hukommelse i deres FPGA-chips; hvilket gør denne funktion til stede i både CPLD'er og nogle FPGA'er.
Resumé:
1.FPGA'er er mere komplekse end CPLD'er.
2.FPGA'er har flere integrerede funktioner på højt niveau end CPLD'er.
3.FPGA'er bruger opslagstabeller, mens CPLD'er bruger en sum af produkter.
4.CPLD'er har ikke-flygtig hukommelse, mens FPGA'er ikke gør det.