CPLD vs FPGA
CPLD (sudėtingas programuojamas loginis įrenginys) ir FPGA (programuojamas lauko vartų masyvas) yra du loginiai įrenginiai, kurie pradeda blėsti dėl patobulintų technologijų ir įdiegiant savo savybes kitoms. Pagrindinis skirtumas tarp FPGA ir CPLD yra kiekvienoje esančių loginių vartų sudėtingumas arba skaičius. Nors faktiniai skaičiai skirtinguose modeliuose gali labai skirtis, CPLD yra nuo kelių tūkstančių vartų iki dešimčių tūkstančių. Palyginimui, FPGA turi nuo dešimčių tūkstančių iki kelių milijonų. Dėl didžiulio skirtumo tarp vartų skaičiaus lengva pasakyti, kad su FPGA galite sukurti sudėtingesnę logiką nei su CPLD.
Vienas pagrindinių pranašumų, turint ypač didelį vartų skaičių, yra galimybė į lustą įterpti aukšto lygio funkcijas. Užuot sukūrę juos patys, kai kurios FPGA jau turi pridėtojus, daugiklius ir daugelį kitų operatorių, atliekančių įprastas užduotis. Tada programuotojas gali sutelkti dėmesį į tikrąjį projekto tikslą ir nereikia jaudintis dėl tokių funkcijų įgyvendinimo.
Tarp jų architektūros taip pat yra didžiulis skirtumas. FPGA naudoja LUT (peržvalgos lenteles), o CPLD naudoja paprastesnę produktų sumą (dar vadinamą vartų jūra). Naudoti LUT yra naudinga, nes tai leidžia žymiai sutaupyti apdorojimo laiką, nes lustui nereikia atlikti produktų sumos perskaičiavimo proceso, kaip tai daro CPLD. LUT taip pat suteikia lankstesnį vidinių FPGA modulių sujungimą, nei tai gali padaryti CPLD.
Paskutinis pagrindinis skirtumas tarp šių dviejų yra nestabili atmintis. LUT yra atminties forma, tačiau ji neišlieka, kai tik atimama energija. CPLD lustuose yra įterpta nestabili atmintis, leidžianti jiems iškart veikti, nereikalaujant išorinio ROM. CPLD naudojami net kaip FPGA įkrovos kaupiklis. Kaip jau buvo minėta šio straipsnio pradžioje, linija tarp funkcijų pradeda neryški. Norėdami pašalinti „įkrovos įkėlėjų“ poreikį, FPGA kūrėjai pradėjo įterpti nestabilią atmintį į savo FPGA lustus; todėl ši funkcija yra tiek CPLD, tiek kai kuriuose FPGA.
Santrauka:
1.FPGA yra sudėtingesnės nei CPLD.
2.FPGA turi daugiau aukšto lygio, įterptųjų funkcijų nei CPLD.
3.FPGA naudoja paieškų lenteles, o CPLD naudoja produktų sumą.
4.CPLD turi nestabilią atmintį, o FPGA neturi.