Starpība starp CPLD un FPGA

CPLD vs FPGA

CPLD (Complex Programmable Logic Device) un FPGA (Field Programmable Gate Array) ir divas loģikas ierīces, kuras sāk miglot, pateicoties tehnoloģiju uzlabojumiem un vienas funkcijas ieviešanai otrā. Galvenā atšķirība starp FPGA un CPLD ir loģisko vārtu sarežģītība vai skaits katrā. Lai gan faktiskais skaits dažādos modeļos var ievērojami atšķirties, CPLD satur jebkur no dažiem tūkstošiem vārtu līdz desmitiem tūkstošu. Salīdzinājumam - FPGA ir no desmitiem tūkstošu līdz dažiem miljoniem. Vārtu skaita milzīgo atšķirību dēļ ir viegli pateikt, ka ar FPGA var izveidot sarežģītāku loģiku nekā ar CPLD.

Viena no ārkārtīgi liela vārtu skaita priekšrocībām ir spēja mikroshēmā iestrādāt augsta līmeņa funkcijas. Tā vietā, lai tos izveidotu pats, dažiem FPGA jau ir papildinātāji, reizinātāji un daudzi citi operatori visbiežāk sastopamajiem uzdevumiem. Pēc tam programmētājs var koncentrēties uz faktisko dizaina mērķi un nav jāuztraucas par šādu funkciju ieviešanu.

Starp abiem ir arī milzīga atšķirība, runājot par viņu arhitektūru. FPGA izmanto LUT (uzmeklēšanas tabulas), bet CPLD izmanto vienkāršāku produktu summu (ko sauc arī par vārtu jūru). LUT izmantošana ir izdevīga, jo tā ievērojami ietaupot apstrādes laiku, jo mikroshēmai nevajadzēs iziet produktu summas pārrēķināšanas procesu, kā to dara CPLD. LUT arī nodrošina elastīgāku starpsavienojumu starp iekšējiem FPGA moduļiem nekā tas, ko spēj CPLD.

Pēdējā galvenā atšķirība starp abām ir nepastāvīga atmiņa. LUT ir atmiņas veids, taču pēc strāvas noņemšanas tas saglabājas. CPLD ir neatgriezeniska atmiņa, kas iegulta mikroshēmās, ļaujot tām darboties uzreiz, neizmantojot ārēju ROM. CPLD tiek pat izmantoti, lai darbotos kā “boot loader” FPGA. Kā jau minēts šī raksta sākumā, līnija starp funkcijām sāk miglot. Lai novērstu vajadzību pēc “sāknēšanas iekrāvējiem”, FPGA veidotāji ir sākuši iegult nestabilu atmiņu savās FPGA mikroshēmās; tādējādi padarot šo līdzekli pieejamu gan CPLD, gan dažos FPGA.

Kopsavilkums:

1.FPGA ir sarežģītāki nekā CPLD.
2.FPGA ir vairāk augsta līmeņa iegultās funkcijas nekā CPLD.
3.FPGA izmanto uzmeklēšanas tabulas, bet CPLD izmanto produktu summu.
4.CPLD ir neatgriezeniska atmiņa, kamēr FPGA nav.