Įvadas
Kuriant PCB svarbu atskirti FPGA ir CPLD, nes jų funkcionalumas ir efektyvumas gali labai skirtis. PCBTok čia išsamiai aptars, kad padėtų klientui nustatyti, kuris iš jų labiau tinka jo PCB reikalavimams.
FPGA ir CPLD
Tai abu yra konfigūruojami integriniai grandynai, o tai reiškia, kad juos galima užprogramuoti atlikti tam tikras funkcijas. Šie IC turi Analoginis ir skaitmeninis blokai matricos pavidalu, kuriuos galima užprogramuoti naudojant programuojamą, vienkartinę programuojamą (OTP) nekintamąją atmintį. Tai yra kažkas, ką galima pasiekti naudojant FPGA ir CPLD, ir tai yra vienas iš šių dviejų privalumų. Jame taip pat siūlomi unikalūs kūriniai, skirti tam tikram tikslui, kuriam jų reikia; tai leidžia jums pasiūlyti lanksčius sprendimus jūsų vykdomam projektui. Tokie įrenginiai yra lanksčios konstrukcijos ir todėl gali įtraukti transformuojamas funkcijas į vieną grandinę. Tai ypač svarbu būsimoms elektroninėms sistemoms, nes taip jos gali būti pritaikytos įvairioms reikmėms ar įvairioms sąlygoms.

Kas yra CPLD?
CPLD yra trumpa „Sudėtingų programuojamų loginių įrenginių“ forma. Tai puslaidininkinis lustas, naudojamas diegiant skaitmenines sistemas. CPLD susideda iš programuojamų funkcinių blokų, kurių kiekviename bloke yra makroląstelių. Pagrindiniai CPLD elementai yra makro ląstelės. I / O funkcinių blokų yra tarpusavyje sujungti per vadinamąją Global Interconnection Matrix (GIM). Ši sujungimo matrica yra perkonfigūruojama dėl to, kad tarp funkcinių blokų nėra kontaktų, kuriuos būtų galima keisti. Tiesą sakant, šie funkciniai blokai yra analogiški loginių vartų rinkiniui, naudojamam kuriant grandines.

Kaip tai veikia?
Ši technologija taiko tokius atminties tipus kaip CMOS EPROM, EEPROM, Flash atmintis ir SRAM, kad sukurtų mažas, greitas ir energiją taupančias logines grandines. Šie įrenginiai yra klasifikuojami kaip didelio masto integravimo grandinės, nes jie yra dideli ir turi sudėtingą struktūrą. CPLD vartotojas gali sukurti savo logines grandines. Dizainas iš skaitmenines sistemas yra atlikta tokiu būdu, kuriant dizainą naudojama speciali programinės ir techninės įrangos aprašymo kalba. Po to kodas įrašomas į lustą atsisiuntimo kabeliu, kuris yra žinomas kaip sisteminis programavimas.
CPLD komponentai
Išsamiau panagrinėkime elementus, sudarančius CPLD, ir kaip kiekvienas iš jų atlieka savo vaidmenį bendrame įrenginio veikime.

Funkcinis blokas
CPLD, funkcinis blokas yra svarbiausias blokas kuriant CPLD. Jis turi IR plokštumą, kuri gauna įvestis iš kitų FB arba I/O FB. Tada jie sujungiami ir įvedami į ARBA masyvą, o tada įvedami į a multiplekseris (MUX). MUX išvestis gali išeiti tiesiai iš bloko arba per uždarytą šliaužiklį, kuris yra laiko apšvietimas. Šis funkcinis blokas taip pat gali turėti pagrindinio atstatymo įvestį, pasirenkamą išskirtinę ARBA funkciją ir reguliuojamo poliškumo programavimą.
Sujungti
CPLD sujungimas yra programuojamų ryšio taškų rinkinys, per kurį signalai gali būti nukreipti per CPLD. Ši didelė matrica leidžia nukreipti signalus tiksliai ten, kur norite ir kur norite, kad jie būtų, ir tai tikrai užtikrins, kad visi sistemos komponentai greitai ir efektyviai susijungs.
Įvesties/išvesties blokai
Taigi įvesties/išvesties blokų pagalba į CPLD kontaktus perduodami reikiamos įtampos ir srovės signalai. Tai leidžia sumažinti laukimo laiką, sumažinti įrenginio prastovos laiką ir pridėti papildomų išteklių.
CPLD privalumai

Prisitaikymas
Taip yra todėl, kad CPLD galite perprogramuoti kelis kartus, todėl jie tampa labai lankstūs. Galite juos modifikuoti, kad atitiktų įvairius loginius reikalavimus, atsižvelgiant į jūsų projekte įvykusius pakeitimus. Naudodami šį lankstumą galite atlikti kai kuriuos pakeitimus neinvestuodami į naują aparatinę įrangą, kuri užima daug laiko ir yra brangi.
Konsolidacija
CPLD leidžia lengviau kurti plokštes, nes jie leidžia į vieną lustą įtraukti kelis loginius blokus. Tai naudinga, nes jums nereikės pirkti papildomų dalių, kurios tik apsunkins jūsų sąranką. Mažiau išorinių dalių – mažiau jungčių ir mažiau komplikacijų, todėl sutaupysite laiko ir sumažinsite klaidų.
Sparti plėtra
CPLD padeda jums plėtoti jūsų projektą, nes jį lengva sukurti ir prototipas su jais. Jie yra programuojami, todėl galite keisti dizainą ir eksperimentuoti su naujomis koncepcijomis, nelaukdami, kol bus sukurta nauja aparatinė įranga. Šis greitas kūrimo ciklas padės sugaišti mažiau laiko ir greičiau pateikti savo dizainą rinkai.
CPLD trūkumai

Ribotas pajėgumas
CPLD yra mažiau sudėtingi nei FPGA. Tačiau CPLD yra riboto tankio, palyginti su FPGA, atsižvelgiant į juose galimų vartų skaičių. Jie turi ribotą loginių elementų skaičių, todėl galite susidurti su apribojimais kuriant sudėtingus dizainus. Jei jūsų projektas apima daug sudėtingos logikos, CPLD galite kažkaip nepasinaudoti jūsų projektui.
Sumažintas našumas
Tačiau CPLD paprastai yra lėtesni nei FPGA, kai kalbama apie našumą. Šie įrenginiai paprastai turi lėtesnį laikrodžio dažnį ir lėtesnį sklidimo delsą, palyginti su kitais įrenginiais. Tai gali būti nepalanku projektuose, kuriems reikalingas dažnas duomenų apdorojimas per trumpą laiką. Bet jei jums reikia, kad jūsų dizainas veiktų greitai, CPLD gali nepasiekti geriausių rezultatų.
Mažiau išteklių
CPLD gali turėti mažiau išteklių ir funkcionalumo nei FPGA. Šis apribojimas gali tam tikru būdu apriboti tai, ką galite padaryti su savo dizainu. Tačiau jei norite sudėtingesnių funkcijų ar daugiau parinkčių, CPLD gali netikti. Sudėtingesniems projektams galite gauti geresnį FPGA pasirinkimą.
taikymas
Čia yra populiarios programos, kuriose galite pamatyti CPLD jų PCB:
SDRAM valdiklis
Šiame darbe pateiktas dizainas apima paprastą SDRAM valdiklį, kuris veikia su 64 MB SDRAM ir 16 bitų duomenų magistrale ir gali būti įdiegtas naudojant CPLD. Tai apima komandavimą SDRAM, atnaujinimo ciklo generavimą ir banko bei eilučių ir stulpelių pasirinkimą, be kita ko, ir juos valdo CPLD. Jis taip pat valdo duomenų magistralės buferį. Dėl lygiagrečios I/O galimybės ir patikimos laiko nustatymo sistemos CPLD puikiai tinka šioms pagrindinėms operacijoms. Tačiau labiau išvystytiems atminties valdikliams FPGA naudojimas yra tinkamesnis.

LED valdiklis
Naudojant paprastą CPLD, galima valdyti ir reguliuoti aštuonių RGB šviesos diodų sistemą apšvietimo tikslais. Tai tvarko atšauktus mygtukų įvestis, kur vartotojas gali pasirinkti iš įvairių režimų. Tai taip pat apima PWM signalus, kurie naudojami ryškumui valdyti Šviesos diodai. Prireikus įjungia arba išjungia šviesos diodus. Šiame valdiklyje naudojamas CPLD turi nuo aštuonių iki šešiolikos makroelementų, kurių pakanka visai šio valdiklio „klijų logikai“. Kadangi jame yra lygiagretus I/O, tai reiškia, kad vienu metu galite valdyti daug šviesos diodų. PWM bangų formų valdymas pasiekiamas naudojant laikmačius, kurie yra įtraukti į logiką, todėl jis yra efektyvus ir efektyvus.

Variklio valdiklis
Norėdami valdyti variklio valdiklį, kuris reguliuoja šešis variklius, jums reikės vidutinio dydžio CPLD. CPLD reglamentuoja kiekvieno variklio greičio ir krypties valdymą, taip pat variklių įjungimo signalus. Jis taip pat gauna informaciją apie padėtį ir greitį bei tikrina analoginę įtampą. Dėl makroelementų CPLD generuoja įgalinimo signalus kiekvienam varikliui valdyti, taip pat signalus jiems valdyti. CPLD yra papildoma logika, skirta patikrinti įvestis ir apdoroti grįžtamąjį ryšį. Šis išdėstymas leidžia lengviau gerai valdyti variklius, kad nebūtų drastiškų jų greičio ar judėjimo pokyčių.

Kas yra FPGA?
Sistema, sudaryta iš dviejų dimensijų programuojamų loginių blokų, kurie yra tarpusavyje sujungti programuojamomis jungtimis. Sukūrus FPGA, jį galima perprogramuoti, kad atitiktų kitas funkcijas. Šiuolaikiniuose FPGA yra apie 330,000 1,100 loginių blokų ir XNUMX XNUMX I/O kontaktų. Tokiu atveju turite sukurti savo grandinę ir nustatyti ją naudodami aparatūros aprašo kalbą (HDL). Tai leidžia FPGA veikti kaip paprasti vartai, tokie kaip AND vartai, arba kaip kelių branduolių procesorius. Trūkumas yra tas, kad jo konfigūracijos yra pagrindinėje atmintyje, o tai reiškia, kad nutrūkus maitinimui konfigūracijos bus prarastos.

Kaip veikia FPGA?
Struktūra, sudaryta iš dviejų dimensijų programuojamų loginių blokų ir programuojamų jungčių. Tada FPGA yra programuojamas lustas, kurį vieną kartą galima modifikuoti kitais tikslais. Šiandieniniai FPGA yra su maždaug 330,000 1,100 loginių blokų ir XNUMX XNUMX įvesties / išvesties kaiščių. Tokiu atveju turite sukurti savo grandinę ir įdiegti ją naudodami HDL (aparatinės įrangos aprašo kalbą). Tai leidžia FPGA veikti kaip paprasti vartai, pavyzdžiui, AND vartai arba kaip kelių branduolių procesorius.
FPGA komponentai

Loginiai blokai
FPGA turi programuojamus loginius blokus, kurie atlieka svarbų vaidmenį FPGA. Taip pat galite apibrėžti ir modifikuoti savo naudojimui skirtas logines funkcijas. Tai taip pat suteikia lankstumo projektuojant grandines, kad būtų galima atlikti specifines funkcijas ir funkcijas, kurias sunku atlikti.
Maršrutai
FPGA funkcionalumas realizuojamas per programuojamą maršrutą. Tai leidžia nukreipti signalus tarp atskirų FPGA dalių tinkamiausiu būdu. Tai leidžia kurti ir modifikuoti nuorodas pagal norimus dizaino poreikius.
I/O blokai
Jie valdo duomenų srautą į FPGA ir iš jo, taip įgalindami ryšį su kitais įrenginiais. Tai padeda užtikrinti, kad jūsų FPGA turi patikimą sąveikos su kitais įrenginiais ir sistemomis priemones.
FPGA pranašumai

Prisitaikymas
Pagrindinis FPGA privalumas yra galimybė pagal poreikį apibrėžti ir iš naujo apibrėžti logines funkcijas. Tai reiškia, kad galite atlikti koregavimus pagal konkrečius poreikius ar net poreikių pokyčius. Nesvarbu, ar reikia sureguliuoti kai kurias funkcijas, ar pakeisti dizainą, FPGA padės tai padaryti be didelių pastangų.
Greitis į rinką
FPGA naudojami siekiant užtikrinti, kad kuo greičiau pateiktumėte savo idėjas į rinką. Jie leidžia greitai kurti ir išbandyti „mashup“ programas bei greitai modifikuoti kūrimo etape. Tai gali padėti eksperimentuoti ir dažniau kartoti savo idėjas, o tai savo ruožtu padės sutrumpinti projekto terminą ir pateikimo į rinką laiką.
Didelio našumo
FPGA labai efektyviai atlieka užduotis, nes gali tai padaryti per trumpą laiką. Jie gali apdoroti duomenų įvestį ir vienu metu atlikti daugybę operacijų. Labiausiai tinka programoms, kurioms reikia didesnio greičio ir galios, norint per trumpą laiką pasiekti geresnių rezultatų.
FPGA trūkumai

Kaina
Pagrindinis FPGA trūkumas yra tas, kad jie dažnai yra brangesni nei CPLD, ypač kai naudojami didelio masto projektuose. Dirbdami su didelio masto dizainu galite suprasti, kad FPGA yra brangūs. Tai yra kažkas, į ką reikia atsižvelgti, jei išlaidos kelia susirūpinimą, nes tai yra papildomos išlaidos.
Elektros energijos naudojimas
Dažniausiai FPGA sunaudos daugiau energijos nei CPLD. Tačiau yra vienas trūkumas: jei jūsų projekte energijos suvartojimas kelia susirūpinimą, tai gali būti problema. Kai suvartojama daugiau energijos, pagaminama daugiau šilumos ir brangsta sąskaitos už energiją.
sudėtingumas
FPGA projektavimas yra šiek tiek sudėtingesnis, nes šie įrenginiai suteikia daug išteklių ir kanalų sujungimui. Tai reiškia, kad turėsite daugiau galimybių, o tai yra gerai, tačiau projektavimo procesas tampa sudėtingesnis ir sudėtingesnis.
taikymas
Čia yra populiarios programos, kuriose galite matyti FPGA jų PCB:
Šifravimo greitintuvas
Jie taip pat turi galimybę atlikti šifravimo algoritmus, tokius kaip AES ir SHA bei RSA. Įdiegti sistemą, galinčią greitai perduoti informaciją, lygiagrečius šifravimo / iššifravimo variklius, kad vienu metu atliktų kelias operacijas, ir mažos delsos užklausų valdymą. Tokias programas geriausiai sprendžia FPGA, nes jos yra greitesnės ir efektyvesnės nei kitos programinės įrangos. FPGA kaip perkonfigūruojamo audinio pobūdis reiškia, kad galima nustatyti kelis šifravimo kelius, kurie užtikrina didelį pralaidumą. Be to, FPGA suteikia lengvą prieigą prie šifravimo variklių, o tai sumažina delsą. Tai puikiai tinka šifravimo procesams paspartinti dėl toliau nurodytų priežasčių.

Vaizdo apdorojimas realiuoju laiku
FPGA yra labai tinkamas vaizdo apdorojimui realiuoju laiku. Juos galima pritaikyti vaizdo filtravimui, judesio įvertinimui vaizdo kodeke ir vaizdo piramidžių kūrimui. FPGA gali susidoroti su šiais darbais, nes tai yra lygiagrečios sistemos. Kai kurie skaičiavimai, tokie kaip judesio įvertinimas ir pikselių apdorojimas, atliekami naudojant specialius DSP blokus FPGA. Jie taip pat gamina vaizdo piramides efektyviausiu būdu, naudodami savo loginį audinį. Jei diegiate neuroninį tinklą objektų aptikimui, juos galima sukonfigūruoti pagal FPGA programuojamą logiką. Ši konfigūracija garantuoja aukštą ir greitą vaizdo apdorojimą, todėl FPGA yra tinkamiausios vaizdo užduočių tvarkymui realiuoju laiku.

Didelės spartos tinklo maršrutizatorius
Kai tenka susidurti su maršrutizatoriumi, kuris turi valdyti iki 400 Gb per sekundę, svarbus yra efektyvus paketų persiuntimas ir greita paieška maršruto parinkimo lentelėje. Tą patį pasiekia FPGA, naudodami DSP skilteles ir lanksčius loginius blokus. Jie taip pat palaiko srauto formavimą ir didelį atminties pralaidumą duomenims saugoti. Tai apima, pavyzdžiui, 100 Gbps Ethernet, naudojant kelias tinklo sąsajas, duomenų perdavimas palengvinamas naudojant I/O blokus. Dėl to jie idealiai tinka naudoti aukščiausios klasės tinklo sistemose, kur svarbiausios yra tokios problemos kaip našumas ir lankstumas. Jūs gaunate greitį ir patikimumą, kurio reikia sudėtingoms tinklo užduotims atlikti.

FPGA ir CPLD funkcijų palyginimas
Šioje lentelėje bus pateiktos svarbiausios FPGA ir CPLD programuojamų loginių įrenginių charakteristikos, įskaitant jų galimybes, struktūrą ir panaudojimą.
| CPLD | FPGA | |
| Santrumpa | Sudėtingi programuojami loginiai įrenginiai. | Lauko programuojamų vartų masyvai. |
| architektūra | Priskiriama prie stambių grūdų. Jis turi didesnius ir bendresnius loginius blokus, palyginti su smulkesnio grūdėtumo blokais. | Klasifikuojamas kaip smulkiagrūdis. Turi daug mažų ir labai universalių loginių blokų, leidžiančių sukurti sudėtingas ir sudėtingas grandines. |
| Programos | Tai geriausia tik pagrindiniam naudojimui. Jie gali atlikti pagrindines funkcijas, tokias kaip logines funkcijas, taip pat paprastas valdymo sistemas. | Puikiai tinka sudėtingoms programoms. Jis taip pat naudojamas programose, kurioms reikia daugiau skaičiavimo galios arba kurioms atlikti sudėtingos operacijos, įskaitant aukšto lygio signalų apdorojimą arba didelės spartos duomenų valdymą ir pritaikytą aparatinės įrangos kalibravimą. |
| Remiantis | CPLD yra pagrįsti EEPROM technologija, kiekviena CPLD ląstelė yra programuojama. Jame naudojama atmintis, kurią galima įrašyti ir ištrinti elektra. | Šie FPGA yra pagrįsti RAM technologija. RAM yra nepastovi jūsų kompiuterio atmintis, kuri naudojama duomenims ir instrukcijoms, kuriuos šiuo metu naudoja jūsų sistema, laikyti. |
| Laikrodžių valdymas | Naudodami CPLD pastebėsite, kad, kalbant apie laikrodžio valdymą, CPLD nėra labai galingas. Jame pateikiami riboti laikrodžio signalų valdymo ir paskirstymo būdai nei kitose sudėtingose sistemose, kurios naudojamos kuriant skaitmenines grandines.
| Tai reiškia, kad naudodami FPGA galite daug geriau valdyti laikrodį. Jame taip pat yra sudėtingų laikrodžių valdymo plytelių, ji gali dirbti su keliomis laikrodžio zonomis ir valdyti iškrypimą bei palaikyti dažnių sintezę. |
| Kaina | Pigiau. | Brangus. |
| Apibrėžimas | Lustas, padedantis valdyti skaitmeninius įrenginius. Skaitmeninėse sistemose naudojami du būsenų simboliai, pavyzdžiui, dvejetainiai skaitmenys (0 ir 1), priešingai nei analoginėje sistemoje, kuri naudoja reikšmių kontinuumą. | Galima programuoti po pagaminimo. Galite nustatyti ją konkrečiai užduočiai ir ji atliks tą užduotį geriausiu įmanomu būdu, kaip norite. |
| Dizaino įvedimo metodai | Įgyvendinta loginėmis lygtimis makroląstelių funkcijos aprašymui su paprastesniu valdikliu. | Naudoja VHDL arba Verilog, kad galėtumėte visiškai kontroliuoti elgseną ir fizinį dizaino išdėstymą. |
| Tankis | Nuo mažo iki vidutinio tankio. | Nuo vidutinio tankio iki didelio tankio. |
| Plėtros įrankiai
| Kai dirbate su CPLD, naudojate ne tokius sudėtingus loginius kompiliatorius, kurie suteikia mažiau tikrinimo galimybių. Tai lengviau įgyvendinti kūrimo procese, tačiau šiam tikslui naudojami įrankiai nėra tokie galingi kaip kitiems įrenginiams. | Naudojant FPGA, galima turėti daugybę kūrimo įrankių, kurie gali padėti modeliuoti dizainą, analizuoti laiką ir planas. Šie įrankiai padeda tiksliai sureguliuoti dizainą, kad jis būtų efektyvesnis, ir patenkinti jūsų projekto poreikius. |
| Sujungimo struktūra | CPLD sujungimo struktūra yra standi. Sujungimai tarp elementų atliekami gaminio gamybos metu ir negali būti reguliuojami. | FPGA sujungimo struktūra yra lanksti. Tokiu būdu galite valdyti, kaip ir kur komponentai yra prijungti ir kaip jie gali keistis informacija. |
| Loginiai blokai | Turi nuo 100 iki 1000 loginių vartų, todėl yra naudingi mažesnėms funkcijoms, tokioms kaip logika. Tokie loginiai blokai gali būti naudojami įvairiems grandinės komponentams sujungti ir labai gerai atlikti ne tokias sudėtingas užduotis. | Turi apie 100,000 XNUMX loginių vartų. Tai galite naudoti norėdami sukurti sudėtingas grandines. Šis didelis pajėgumas leidžia atlikti sudėtingesnes operacijas ir sukurti sudėtingus dizainus labai lengvai ir per trumpiausią įmanomą laiką. |
| spektaklis | CPLD pasižymi mažu našumu dėl savo pagrindinės struktūros, palyginti su kitų dviejų tipų PLD. Nors jie yra gana veiksmingi atliekant paprastas operacijas, jie gali būti ne patys geriausi naudoti sudėtingose operacijose, palyginti su kitais pasirinkimais. Jis pagrįstas Maršrutas ir todėl jo našumas yra tiesiogiai proporcingas maršruto parinkimui. | Tai, kartu su dideliu įvesties / išvesties sąsajų skaičiumi, skirtais atminties blokais ir DSP blokais signalams apdoroti, sukuria FPGA didelio našumo įrenginius. Jis siūlo stabilų pralaidumą, kuris neturi nieko bendra su vidiniu maršruto parinkimu. |
| Energijos suvartojimas | Dažnai jie sunaudoja daugiau energijos nei kiti galimi variantai. Paprastai jie yra galingesni ir gali sunaudoti daugiau energijos, todėl į juos gali reikėti atsižvelgti kuriant. | Mažesnis energijos suvartojimas, palyginti su CPLD. Toliau pateikiami keli efektyvesnio energijos vartojimo pranašumai, kurie gali būti svarbūs jūsų dizainui. |
| Šlepečių santykis | Lyginant CPLD su FPGA, galima pastebėti, kad CPLD turi mažesnį flip-flop santykį. | Flip-flops yra daugiau FPGA, palyginti su CPLD. Šis didesnis flip-flop santykis FPGA reiškia galimybę saugoti ir valdyti daugiau duomenų, palyginti su kitais įrenginiais. |
| Perkonfigūravimas | CPLD suteikia mažiau perkonfigūravimo galimybių, palyginti su kitais įrenginiais. Kai jie įsitvirtina, jūs turite ribotą pasirinkimą, kaip pakeisti jų elgesį. | FPGA yra labiau perkonfigūruojami nei kiti rinkoje esantys įrenginiai. Gali lengvai pakeisti jų veikimo būdą net ir įdiegus, kad veiktų tam tikru būdu. |
| saugumas | Turi savybių, dėl kurių juos sunku paveikti tam tikromis išpuolių formomis. | Jiems gali kilti didesnė rizika patirti tam tikrų formų išpuolius. |
| Struktūra primena | CPLD struktūra yra beveik tokia pati kaip PAL arba programuojamo masyvo logika. Taip pat, kaip ir PAL, CPLD naudojami skaitmeniniams signalams konfigūruoti ir įgyvendinti ir jie negali saugoti informacijos. | FPGA struktūra primena vartų masyvą, kuris taip pat vadinamas neįpareigotuoju loginiu masyvu (ULA). Kaip ir vartų matricos, FPGA suteikia tinkinamas logines funkcijas ir gali būti naudojamos įvairiems tikslams. |
| Nepastovumas | Nepastovūs. Išjungus maitinimą duomenys neištrinami, todėl jūsų duomenys išsaugomi. Kai įrenginys yra išjungtas, neprarandate jokios informacijos ar jame esančių konfigūracijos nustatymų. | Nestabilūs ir gali prarasti duomenis, jei išjungiamas maitinimas. Jei jums reikia įkelti konfigūraciją arba duomenis kiekvieną kartą, kai įjungiate FPGA, turėsite tai padaryti. |

Pasirinkimas tarp CPLD ir FPGA
Yra keletas veiksnių, į kuriuos reikia atsižvelgti renkantis tarp CPLD ir FPGA. Dabar suprasime, kaip kiekviena technologija veikia atsižvelgiant į įvairius reikalavimus, ir padėsime pasirinkti tinkamiausią šiam darbui.
Dizaino dydis ir sudėtingumas
Yra keletas veiksnių, galinčių padėti apsispręsti tarp CPLD ir FPGA; jie yra PCB dizaino dydis ir sudėtingumas. Jei turite nedidelį dizainą su ne tiek daug loginių elementų ir paprastų funkcijų, tada CPLD puikiai atitiks jūsų poreikius. Tai tinka tokiems tikslams. Bet jei jūsų projektas yra gana didelis ir apima sudėtingesnes operacijas, gali būti efektyviau naudoti FPGA.
Našumo poreikiai
Lyginant CPLD ir FPGA, yra vienas veiksnys, į kurį turėtumėte atsižvelgti į našumą. CPLD paprastai turi mažesnį maksimalų laikrodžio dažnį ir ilgesnį sklidimo delsą nei pagrindiniai PLD. Tai reiškia, kad jie negali būti patys tinkamiausi didelės spartos konstrukcijos. Kita vertus, FPGA paprastai kuriami turint omenyje didelį greitį ir gali lengvai išspręsti laiko apribojimų problemas. Jei reikia, kad jūsų projektas būtų apdorotas realiuoju laiku FPGA yra tinkamesni nei mikrovaldikliai.
Galios apribojimai
Yra žinoma, kad CPLD sunaudoja mažiau energijos, tiek statinės, tiek dinaminės, nei FPGA. Kalbant apie energijos naudojimą, jei jūsų projektas reikalauja efektyvumo, būtų protingiau naudoti CPLD. Jie tinka tais atvejais, kai energijos suvartojimas yra pagrindinis veiksnys. Kita vertus, FPGA yra galingesni ir todėl sunaudoja daugiau energijos.
Biudžeto veiksniai
Paprastai jie yra pigesni nei Programuojami ASIC todėl idealiai tinka mažiems projektams, kuriems reikia nedidelio biudžeto. Jie idealiai tinka naudoti lengvesniam dizainui už pigesnę kainą. Kita vertus, FPGA yra brangūs, tačiau turi daug daugiau išteklių ir vartotojui prieinamų galimybių. Neabejotina, kad jie labiau tinka platesniems ir sudėtingesniems projektams, kai papildomas išlaidas kompensuoja patobulintos funkcijos. Jei dirbate su ribotomis lėšomis ir mažesniu dizainu, CPLD gali būti tinkamesni jūsų poreikiams. Dėl sudėtingesnių reikalavimų ir jei kaina nėra problema, FPGA suteikia daug privalumų.

Kada naudoti CPLD?
CPLD naudojami tam tikrose programose, kur CPLD savybės yra naudingiausios. Turėtumėte naudoti CPLD:
- Užduotims, kurioms reikia daug skaičiavimo galios, pavyzdžiui, vaizdo apdorojimui ar šifravimui.
- Kai dirbate su keliais duomenų rinkiniais ir jums reikia analizuoti duomenis ir vienu metu atlikti kelias užduotis.
- Tai ypač tinka naudojant pažangius ryšio protokolus, tokius kaip PCIe, Ethernet arba SATA.
- Tam, kad išbandytume ir sukurtume naujus lustus ar sistemas prieš jas įkaldami į akmenį.

Kada naudoti FPGA?
FPGA yra geras pasirinkimas programoms, kurioms reikia lankstumo ir įperkamumo. Jie tinka:
- Pagrindinės klijų loginės valdymo funkcijos ir jungčių komponentai.
- Nebrangūs projektai, kuriems nereikia naudoti daugybės funkcijų.
- Mažo dydžio dizainai, kuriuose CPLD turi kompaktiškesnes galimybes, palyginti su kitomis technologijomis.

Išvada
Toliau pateikiamas CPLD ir FPGA palyginimas pagal jų stipriąsias ir silpnąsias puses. CPLD yra lankstūs integriniai grandynai su greitais kūrimo ciklais, nors jų pajėgumai yra riboti, nėra tokie greiti kaip kiti ir turi ribotus išteklius. FPGA yra lankstesni ir pasižymi didesniu našumu, palyginti su jų kolegomis, tačiau jie yra brangūs ir sunaudoja daugiau energijos, be to, juos nelengva suprojektuoti.


Keisti kalbą