CPLD vs FPGA
A CPLD (komplex programozható logikai eszköz) és az FPGA (Field Programmable Gate Array) két logikai eszköz, amelyek elmosódni kezdenek a technológiai fejlesztések és az egyik tulajdonságainak a másikra történő bevezetése miatt. Az FPGA és a CPLD közötti fő különbség az egyes logikai kapuk komplexitása vagy száma. Noha a tényleges számok nagyon változatosak lehetnek a modellek között, a CPLD-k tartalmaznak néhány ezer kaputól több tízezerig. Összehasonlítva: az FPGA-k tízezrektől pár millióig terjednek. A kapuk számának hatalmas különbsége miatt könnyű azt mondani, hogy összetettebb logikát építhet az FPGA-kkal, mint a CPLD-kkel.
A rendkívül nagy számú kapu egyik fő előnye az, hogy magas szintű funkciókat ágyazzanak be a chipbe. Ahelyett, hogy maguk készítenék őket, néhány FPGA-nak már vannak összeadói, szorzói és sok más operátor a leggyakoribb feladatok elvégzéséhez. A programozó ezután összpontosíthat a terv tényleges céljára, és nem kell aggódnia az ilyen funkciók végrehajtása miatt.
Ugyancsak hatalmas különbség van a kettő között építészetük szempontjából. Az FPGA-k LUT-okat (keresési táblákat) használnak, míg a CPLD termékek egyszerűbb összegét (kapuk tengerének is nevezik). A LUT-ok használata előnyös, mivel jelentős megtakarítást eredményez a feldolgozási időben, mivel a chipnek nem kell mennie a termékek összegének újraszámításán, mint a CPLD-k. A LUT-ok rugalmasabb összekapcsolást biztosítanak a belső FPGA-modulok között, mint amit a CPLD képes.
Az utolsó jelentős különbség a kettő között a nem felejtő memória. A LUT-ok a memória egyik formája, ám a tápellátás kikapcsolása után nem marad fenn. A CPLD-knek a chipekbe beágyazott nem felejtő memória van, amely lehetővé teszi számukra, hogy külső ROM nélkül azonnal működjenek. A CPLD-k még az FPGA-k „indítóbetöltőjeként” is szolgálnak. Mint a cikk elején már említettük, a funkciók közötti vonal elmosódni kezd. A „rendszerbetöltők” szükségességének kiküszöbölése érdekében az FPGA-k készítői megkezdték a nem felejtő memória beágyazását az FPGA-chipekbe; ezáltal ez a szolgáltatás jelen van mind a CPLD-kben, mind pedig néhány FPGA-ban.
Összefoglaló:
Az 1.FPGA-k összetettebbek, mint a CPLD-k.
A 2.FPGA-k több magas szintű, beágyazott funkcióval rendelkeznek, mint a CPLD-k.
3.FPGA-k keresési táblázatokat használnak, míg a CPLD-k termékösszeget használnak.
4.CPLD-k nem felejtõ memóriával rendelkeznek, míg az FPGA-k nem.