Razlika med CPLD in FPGA

CPLD proti FPGA

CPLD (kompleksna programirljiva logična naprava) in FPGA (Field Programmable Gate Array) sta dve logični napravi, ki se začneta zamegljevati zaradi izboljšav tehnologije in uvedbe funkcij ene v drugo. Glavna razlika med FPGA in CPLD je kompleksnost ali število logičnih vrat, vsebovanih v vsaki. Čeprav se dejanske številke lahko med različnimi modeli zelo razlikujejo, CPLD-ji vsebujejo od nekaj tisoč vrat do več deset tisoč. Za primerjavo, FPGA imajo od deset tisoč do nekaj milijonov. Zaradi velike razlike v številu vrat je enostavno reči, da lahko s FPGA-ji sestavite bolj zapleteno logiko kot s CPLD-ji.

Glavna prednost izjemno velikega števila vrat je možnost, da so v čip vgrajene funkcije na visoki ravni. Namesto da bi jih sami ustvarili, imajo nekateri FPGA že seštevke, množitelje in številne druge operaterje za najpogostejša opravila. Programer se lahko nato osredotoči na dejanski cilj zasnove in se mu pri izvajanju takšnih funkcij ni treba bati.

Obstaja tudi velika razlika med obema, ko gre za njihovo arhitekturo. FPGA uporabljajo LUT-ove (Ogledne tabele), medtem ko CPLD uporablja enostavnejšo vsoto izdelkov (imenovano tudi morje vrat). Uporaba LUT-ov je ugodna, saj zagotavlja znatne prihranke pri času obdelave, saj čipu ne bi bilo treba skozi postopek preračunavanja vsote izdelkov, kot to počnejo CPLD-ji. LUT-ji zagotavljajo tudi bolj prožno povezavo med notranjimi moduli FPGA od tistega, za kar je sposoben CPLD.

Zadnja velika razlika med obema je nehlapni spomin. LUT-ji so oblika pomnilnika, vendar ne odstrani, ko odstranite napajanje. CPLD-ji so v čipe vgrajeni nehlapni pomnilnik, ki jim omogoča, da takoj delujejo brez potrebe po zunanjem ROM-u. CPLD-ji se celo uporabljajo kot "zagonski nalagalnik" za FPGA. Kot smo že omenili v začetku tega članka, se črta med funkcijami začne zabrisati. Da bi odpravili potrebo po "zagonskih nakladalcih", so izdelovalci FPGA začeli vgrajevati nehlapni pomnilnik v svoje čipe FPGA; s tem je ta funkcija prisotna v obeh CPLD-jih in nekaterih FPGA.

Povzetek:

1.FPGA so bolj zapleteni kot CPLD.
2.FPGA imajo več vgrajenih funkcij na visoki ravni kot CPLD.
3.FPGA uporabljajo pregledne tabele, medtem ko CPLD uporabljajo vsoto izdelkov.
4.CPLD imajo nehlapni pomnilnik, medtem ko FPGA ne.