What are the differences FPGA and CPLD?

Koje su razlike između FPGA i CPLD uređaja?

Šta je CPLD?

CPLD uređaji, što je skraćenica za kompleksne programabilne logičke uređaje, u potpunosti ispunjavaju ono što obećavaju. U suštini, projektovani su tako da oponašaju više PAL uređaja (programabilna matrična logika) objedinjenih u jednom čipu i međusobno povezanih preko prekidača sa ukrštenim tačkama. Pošto su izrađeni na istoj tehnologiji, koriste iste metode programiranja i poznate razvojne alate, mogu efikasno da obrađuju obimnije i složenije logičke operacije.

Iako su FPGA i SPLD uređaji (jednostavni programabilni logički uređaji) napredniji u odnosu na CPLD uređaje, rade na sličan način kao CPLD uređaji. CPLD uređaji su složeniji od SPLD uređaja, ali manje složeni od FPGA uređaja. Često korišćeni SPLD uređaji, kao što su PAL (programabilna matrična logika), PLA (programabilna logička matrica) i GAL (generička matrična logika), imaju određene sličnosti sa CPLD uređajima.

Šta je CPLD?

Šta je FPGA?

Programabilna polja logičkih kola (FPGA) jesu poluprovodnički uređaji sa matricom prilagodljivih logičkih blokova (CLB), međusobno povezanih programabilnim vezama. Ono što FPGA uređaje čini posebnim jeste mogućnost ponovnog programiranja nakon proizvodnje, što im omogućava prilagođavanje zahtevima konkretne primene ili funkcionalnosti.

Šta je FPGA? FPGA čipovi se ključnim svojstvom razlikuju od integrisanih kola specifičnih za primenu (ASIC), koja su namenski projektovana za konkretne zahteve dizajna. To svojstvo je mogućnost ponovnog programiranja FPGA uređaja. Za razliku od ASIC-ova, koji imaju fiksni dizajn, FPGA uređaji mogu se rekonfigurisati ili ažurirati po potrebi, što ih čini fleksibilnijim za prilagođavanje promenljivim zahtevima dizajna.

Među FPGA uređajima, FPGA uređaji zasnovani na SRAM-u popularniji su od razvojnih ploča sa FPGA uređajima koji se mogu programirati samo jednom (OTP), zbog mogućnosti višestrukog ažuriranja.

FPGA uređaji su strukturirani slično ASIC kolima sa matričnom strukturom logičkih kola, a ne kao PAL uređaji ili drugi tradicionalni programabilni uređaji. Često se koriste u situacijama u kojima će ASIC na kraju biti primenjen, kao način za prototipiranje i testiranje funkcionalnosti ASIC-a pre konačne proizvodnje. To omogućava proveru i iteraciju dizajna pre prihvatanja većih troškova izrade ASIC-a.

Arhitektura CPLD-a

CPLD (kompleksni programabilni logički uređaj) izgrađen je korišćenjem više PAL (programabilna matrična logika) struktura koje se nazivaju makroćelije. To je evolucija PAL tehnologije. U CPLD-u je svaki ulazni pin unutar pakovanja dostupan svakoj makroćeliji, ali svaka makroćelija ima samo jedan izlazni pin. Blok dijagram CPLD-a prikazuje njegovu unutrašnju strukturu.

Blok dijagram naglašava da se CPLD sastoji od brojnih makroćelija ili funkcionalnih blokova. Ove makroćelije su međusobno povezane preko globalne matrice za povezivanje (GIM), koja je programabilna. Promenom konfiguracije GIM-a mogu se kreirati različita logička kola. CPLD-ovi koriste digitalne ulazne i izlazne pinove za povezivanje sa spoljnim hardverom. Ova arhitektura pruža fleksibilnost i mogućnost rekonfigurisanja pri implementaciji različitih logičkih funkcija, u skladu sa konkretnim zahtevima dizajna.

Struktura CPLD-a

Predstavljen je osnovni strukturni sklop CPLD-a, na primeru čipa iz serije Xilinx XC9500XL. Arhitektura CPLD-a zasniva se na konceptu produktnih termina (Product-Term). Sastoji se od tri ključne komponente: funkcionalnog bloka, FastCONNECT II komutacione matrice i kontrolnog modula za I/O.

Ilustracija prikazuje sastav svakog funkcionalnog bloka, koji obuhvata programabilni niz, alokator produktnih termina i 18 makroćelija. Ove makroćelije predstavljaju osnovne jedinice za izvršavanje osnovnih logičkih operacija.

I/O kontrolni modul odgovoran je za konfigurisanje različitih električnih svojstava ulaznih i izlaznih pinova, kao što su izlazi sa otvorenim kolektorom i izlazi sa tri stanja. Pored toga, upravlja funkcijama povezanim sa ulazom i izlazom.

Pored toga, postoje globalni signali za takt (I/O/GCK), resetovanje (I/O/GSR) i omogućavanje izlaza (I/O/GTS), koji su namenskim linijama povezani sa svakim funkcionalnim modulom unutar CPLD-a. Ovi globalni signali obezbeđuju koordinaciju i sinhronizaciju rada CPLD-a.

Struktura CPLD-a Makroćelija, koja je ključna komponenta CPLD-a, zadužena je za izvršavanje osnovnih logičkih operacija. Osnovna struktura makroćelije prikazana je na slici ispod. Na levoj strani slike nalazi se niz produktnih termina, koji može, ali ne mora, biti prisutan u zavisnosti od konkretne konfiguracije.

Svaka unakrsna tačka unutar niza produktnih termina je programabilna i, kada se aktivira, izvršava logičke operacije „sa“, doprinoseći kombinacionoj logici zajedno sa alokatorom produktnih termina koji radi u pozadini. Ova fleksibilnost omogućava kreiranje različitih logičkih funkcija unutar makroćelije.

Programabilni flip-flop na desnoj strani slike može se konfigurisati kao D flip-flop ili T flip-flop, u zavisnosti od zahteva dizajna. Ako funkcija okidanja nije potrebna, može se zaobići, a signal se može usmeriti ka I/O pinu ili matrici za povezivanje, što pruža fleksibilnost pri projektovanju i implementaciji različitih logičkih funkcija unutar CPLD-a.

CPLD komponente

CPLD komponente se sastoje od različitih elemenata koji zajedno čine arhitekturu uređaja. Evo detaljnog opisa ovih komponenti:

  1. Programabilne komponente: CPLD-ovi koriste programabilne komponente kao što su fleš EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) i ROM (Read-Only Memory). Ove komponente čuvaju konfiguracione podatke i mogu se menjati radi definisanja logičkih funkcija uređaja.
  2. Funkcionalni blok: Funkcionalni blok unutar CPLD-a sastoji se od AND ravni koja prima ulaze iz ulazno/izlaznih blokova, drugih funkcionalnih blokova ili čak izlaza istog funkcionalnog bloka. Ulazi se podvrgavaju logičkim operacijama, a zatim se pomoću velikog multipleksera biraju pre dodavanja u OR matricu. Ovaj proces omogućava kreiranje složenih logičkih funkcija unutar CPLD-a.
  3. Međusobno povezivanje: Mreža međusobnog povezivanja unutar CPLD-a predstavlja matricu programabilnih prekidača koja kontroliše usmeravanje signala iz jednog dela uređaja u drugi. Omogućava uspostavljanje veza između različitih elemenata, uključujući funkcionalne blokove i ulazno/izlazne blokove, radi konfigurisanja željene logike.
  4. Ulazno/izlazni blokovi: Ulazno/izlazni (I/O) blokovi odgovorni su za povezivanje sa spoljnim hardverom. Oni obezbeđuju prenos signala do izvoda CPLD-a i sa njih pri odgovarajućim nivoima napona i struje. Ulazno/izlazni blokovi doprinose smanjenju kašnjenja, skraćuju vreme tokom kojeg uređaj mora da bude neaktivan i poboljšavaju ukupno iskorišćenje resursa CPLD-a.

Ove komponente zajedno obezbeđuju fleksibilnost i svestranost pri konfigurisanju složenih digitalnih logičkih funkcija unutar CPLD-a, istovremeno omogućavajući efikasnu komunikaciju sa spoljnim uređajima.

Prednosti CPLD-a

  • Jednostavan je za projektovanje.
  • Razvijen je uz umerene troškove.
  • CPLD omogućava izradu manje ploče.
  • Obezbeđuje visoku pouzdanost.

Nedostaci CPLD-a

  • CPLD je napredniji programabilni logički uređaj od SPLD-a.
  • To je složeniji programabilni logički sklop.

Kako CPLD funkcioniše?

CPLD-ovi (složeni programabilni logički uređaji) koriste različite tehnologije programiranja, uključujući CMOS EPROM, EEPROM, fleš memoriju i SRAM, kako bi se kreirali veoma kompaktni, brzi i energetski efikasni programabilni logički uređaji. Ovi uređaji pripadaju kategoriji integrisanih kola visoke gustine integracije, odlikuju se relativno složenom strukturom i znatnim fizičkim dimenzijama. CPLD je tip digitalnog integrisanog kola koji korisnicima omogućava projektovanje i implementaciju prilagođenih logičkih kola prema njihovim specifičnim zahtevima.

Osnovni pristup projektovanju sa CPLD-ovima obuhvata sledeće korake:

  1. Razviti željeni digitalni sistem pomoću softverske platforme za integrisani razvoj.
  2. Opisati projekat pomoću jezika za opis hardvera.
  3. Preneti projektni kôd na ciljni CPLD čip putem kabla za preuzimanje, što je proces poznat kao programiranje „u sistemu“.
  4. Generisati odgovarajuću ciljnu datoteku koja definiše logičke funkcije koje treba realizovati pomoću CPLD-a.

Arhitektura FPGA kola

U osnovnoj strukturi FPGA kola (programabilnog logičkog polja), koriste se tri osnovna tipa modula. To su ulazno/izlazni blokovi ili izvodi, spojne linije, komutacione matrice i programabilni logički blokovi (CLB). Korisnici mogu međusobno povezivati ove komponente u različitim konfiguracijama kako bi formirali osnovnu arhitekturu FPGA kola.

Funkcije ovih arhitektonskih modula FPGA:

  1. CLB (konfigurabilni logički blok): CLB je osnovna jedinica zadužena za obavljanje logičkih operacija. Sastoji se od logičkih elemenata i digitalnih ulaznih i izlaznih veza. Korisnici mogu da konfigurišu CLB-ove za implementaciju prilagođenih logičkih funkcija prema potrebama svojih konkretnih primena.
  2. Veze: Veze služe kao putevi kojima se prenose instrukcije i podaci između različitih logičkih blokova unutar FPGA uređaja. Ovi putevi omogućavaju CLB-ovima da sarađuju u izvršavanju logike koju je definisao korisnik.
  3. Komutaciona matrica: Komutaciona matrica obezbeđuje neophodne logičke veze i usmeravanje između komponenti unutar FPGA uređaja. Ona omogućava dinamičko konfigurisanje veza, pružajući fleksibilnost za prilagođavanje FPGA uređaja različitim logičkim projektima.
  4. I/O priključci: I/O priključci služe kao interfejsi između FPGA uređaja i spoljašnjih uređaja ili spoljnog sveta. Oni omogućavaju povezivanje sa spoljnim hardverom, čime se podaci mogu slati u FPGA uređaj i primati iz njega.

Mogućnost povezivanja ovih modula u dvodimenzionalne nizove i njihovog konfigurisanja prema konkretnim zahtevima predstavlja osnovnu karakteristiku FPGA uređaja. Ova fleksibilnost i programabilnost čine FPGA uređaje pogodnim za širok raspon primena, od digitalne obrade signala do prilagodljivih hardverskih implementacija.

Osnove FPGA

Jedan CLB (konfigurabilni logički blok) unutar FPGA uređaja sastoji se od više logičkih blokova, od kojih svaki doprinosi funkcionalnosti CLB-a. Važna karakteristika FPGA uređaja jeste njegova memorijska tabela (LUT), karakteristična za ovu tehnologiju. LUT-ovi mogu da sadrže unapred definisan spisak logičkih izlaza za svaku moguću kombinaciju ulaza. LUT-ovi obično imaju verzije sa četiri do šest ulaznih bitova. Uobičajene logičke operacije koje mogu da se implementiraju pomoću LUT-ova obuhvataju flip-flopove, pune sabirače i multipleksere.

Broj i konfiguracija komponenti unutar CLB-a mogu da se razlikuju u zavisnosti od konkretnog FPGA uređaja. U pojednostavljenoj verziji, CLB može da se sastoji od dva LUT-a sa tri ulaza (1), punog sabirača (3), D flip-flopa (5), običnog multipleksera (2) i dva programabilna multipleksera unutar FPGA uređaja.

Kondenzovani CLB može da radi na dva različita načina. U aritmetičkom režimu, puni sabirač prima ulaze sa izlaza LUT-ova i ulaz prenosa iz drugog CLB-a. U normalnom režimu, LUT-ovi i multiplekser 2 zajedno formiraju LUT sa četiri ulaza. Multiplekser 4 određuje da li će se koristiti izlaz punog sabirača ili izlaz LUT-a. D flip-flop preko multipleksera 6 određuje da li će operacija biti asinhrona ili sinhronizovana sa taktom FPGA uređaja.

U FPGA uređajima aktuelne generacije, napredniji CLB-ovi mogu da obavljaju više operacija unutar jednog bloka. Ovi napredni CLB-ovi mogu da se kombinuju za izvršavanje složenijih zadataka, kao što su množači, registri, brojači, pa čak i aktivnosti digitalne obrade signala (DSP), što FPGA uređaje čini veoma prilagodljivim za širok raspon primena.

Osnove FPGA

Komponente FPGA

  • I/O blok se koristi za povezivanje čipova.
  • Korišćenjem programabilnog usmeravanja moguće je koristiti funkcije.
  • Logičke funkcije mogu se implementirati pomoću programabilnih logičkih blokova.

Prednosti FPGA

  • Razvoj FPGA je jeftiniji od razvoja ASIC-a jer nema NRE troškova (neponavljajućih troškova), a koriste se i jeftiniji alati.
  • FPGA su uvek programabilni na softverskom nivou. FPGA integrisano kolo se stoga može neograničeno rekonfigurisati ili ponovo koristiti. FPGA se takođe mogu programirati na daljinu.
  • FPGA integrisana kola mogu se lako programirati HDL kodom i široko su dostupna. Posledica je brže plasiranje rešenja na tržište.
  • Usmeravanje, postavljanje i vremenska analiza u dizajnu FPGA obavljaju se softverom. To zahteva manje ručnog rada. Projektni tok eliminiše dugotrajno i zahtevno postavljanje i usmeravanje, planiranje rasporeda i razmatranje vremenskih parametara.
  • FPGA imaju mogućnost programiranja na nivou logike. Kao rezultat toga, mogu da koriste više paralelne i brže obrade signala. Izvršavanje pomoću CPU-a je otežano.

Nedostaci FPGA

  • Osnovno poznavanje digitalnih sistema i programskih jezika VHDL/Verilog preduslov je za programiranje FPGA. Programiranje je složenije nego kod opreme sa procesorima. Pored toga, inženjeri moraju razumeti kako se koristi softver za simulaciju.
  • Veličina i karakteristike dizajna ograničene su resursima dostupnim na FPGA integrisanom kolu nakon što je ono izabrano i upotrebljeno u dizajnu. Da bi se ovaj problem sprečio, odgovarajući FPGA mora se izabrati na samom početku.
  • FPGA ima povećanu potrošnju energije, a programeri imaju malu kontrolu nad optimizacijom potrošnje.
  • FPGA uređaji su postali popularni zahvaljujući svojoj svestranosti u različitim primenama.
  • Specifične primene FPGA uređaja obuhvataju prepoznavanje govora, kriptografiju, filtriranje signala, kodiranje komunikacije, kontrolere uređaja, softverski definisan radio, nasumičnu logiku, prototipiranje ASIC-a, medicinsko snimanje, emulaciju računarskog hardvera i kontrolere uređaja.
  • FPGA se često koriste u specijalizovanim aplikacijama malog obima, gde ih odnos performansi i troškova čini povoljnim izborom. Prototipiranje i proizvodnja malog obima dobro se realizuju pomoću FPGA. Cena po jedinici takođe raste sa povećanjem broja FPGA uređaja koje treba proizvesti.
  • FPGA (Field-Programmable Gate Arrays — poljski programabilni nizovi gejtova) deo su porodice programabilnih logičkih uređaja, koji se često nazivaju programabilnim hardverom. Sami po sebi nemaju ugrađenu funkcionalnost, ali se mogu programirati da se ponašaju kao praktično bilo koje željeno digitalno kolo. Ova karakteristika je izuzetna jer omogućava brzu konfiguraciju bez lemljenja ili složenog ožičavanja.

Evo kako FPGA funkcionišu:

  1. Konfiguracija: FPGA se konfigurišu učitavanjem određene datoteke konfiguracije bit-toka u uređaj. Ova konfiguracija definiše međusobne veze i ponašanje logičkih elemenata unutar FPGA.
  2. Svestranost: Kada se konfiguriše, FPGA će raditi kao željeno digitalno kolo. Može se lako ponovo programirati za obavljanje različitih zadataka učitavanjem nove konfiguracije, što ga čini veoma svestranim za širok spektar primena.
  3. Zasnovano na RAM-u: FPGA uređaji koriste konfiguraciju zasnovanu na RAM-u, što omogućava dinamičku rekonfiguraciju. To znači da se uređaj može ažurirati i menjati po potrebi, bez fizičkih izmena.
  4. Projektovanje zasnovano na opisu: Projektovanje za FPGA uređaje obično podrazumeva opis željenog ponašanja, umesto izrade tradicionalnih šema kola. Jezici za opis hardvera (HDL) obično se koriste za specifikovanje funkcionalnosti, a zatim se alati koriste za generisanje odgovarajuće konfiguracije hardvera.

Primene CPLD uređaja:

  • Složena programabilna logička kola veoma su pogodna za visokoperformansne i zahtevne upravljačke primene.
  • CPLD uređaji mogu da se koriste u digitalnim projektima za obavljanje funkcija pokretačkog programa.
  • Oni imaju ulogu u učitavanju konfiguracionih podataka iz nepromenljive memorije u programabilne gejt nizove u polju.
  • CPLD uređaji se obično koriste za jednostavne projektne zadatke, kao što je dekodiranje adresa.
  • Njihova kompaktna veličina i mala potrošnja energije čine CPLD uređaje pogodnim za prenosive uređaje osetljive na cenu koji rade na baterije.

Primene FPGA uređaja:

  • FPGA uređaji su postali popularni zahvaljujući svojoj svestranosti u različitim primenama.
  • Specifične primene FPGA uređaja obuhvataju prepoznavanje govora, kriptografiju, filtriranje signala, kodiranje komunikacije, kontrolere uređaja, softverski definisan radio, nasumičnu logiku, prototipiranje ASIC-a, medicinsko snimanje, emulaciju računarskog hardvera i kontrolere uređaja.
  • FPGA uređaji se često koriste u specijalizovanim primenama malog obima, gde ih performanse i troškovna efikasnost čine povoljnim izborom.

FPGA u odnosu na CPLD

FPGA CPLD
FPGA je, s druge strane, skraćenica za programabilne gejt nizove u polju. CPLD je skraćenica za složene programabilne logičke uređaje.
FPGA je čip digitalne logike zasnovan na RAM-u. Nasuprot tome, CPLD-ovi su zasnovani na EEPROM-u.
Kašnjenja CPLD-a mnogo su predvidljivija od kašnjenja FPGA uređaja. Pošto CPLD ima nepromenljivu memoriju, bezbedniji je od FPGA uređaja.
FPGA pripada finozrnatoj kategoriji. Nasuprot tome, CPLD pripada grubozrnoj vrsti.
Gejt niz i FPGA su uporedivi. Međutim, CPLD je pandan PAL-u.
Interno usmeravanje je pouzdano jer malo utiče na performanse FPGA uređaja. S druge strane, performanse CPLD-a variraju i zavise od usmeravanja.
FPGA troši više energije. U poređenju s njim, CPLD troši manje energije.
FPGA je pogodan za složene aplikacije. Međutim, CPLD radi bolje u jednostavnijim primenama.
FPGA ima do 100.000 malih logičkih blokova. Nasuprot tome, CPLD može da sadrži samo nekoliko hiljada logičkih blokova.
Za razliku od toga, FPGA je vrsta integrisanog kola koja je prvenstveno namenjena tome da je klijent ili projektant izmeni nakon proizvodnje. Rad digitalnog sistema podržava integrisano kolo CPLD.

Većina vertikalnih primena FPGA uređaja su specijalizovane primene malog obima. Najbolje kompanije ulažu u troškove hardvera po jedinici za ove primene malog obima. Broj praktičnih primena sada je porastao zahvaljujući boljim performansama i troškovnoj efikasnosti.

Prethodno Sledeće

Ostavite komentar

Imajte na umu da komentari moraju biti odobreni pre nego što budu objavljeni.

Česta pitanja (FAQ)

Najčešća pitanja o ponudama, isporuci, garanciji i povraćaju robe

Na stranici proizvoda kliknite na Zatražite ponudu i pošaljite nam broj dela, potrebnu količinu i zemlju odredišta. Naš prodajni tim će odgovoriti informacijama o trenutnoj dostupnosti, ceni i procenjenom roku isporuke.

Artikli koji su na stanju obično se pripremaju nakon uplate i potvrde porudžbine. Većina porudžbina šalje se iz našeg skladišta u Kini, iako mesto slanja može da varira u zavisnosti od trenutnog stanja zaliha.

Da. Šaljemo delove za industrijsku automatizaciju kupcima širom sveta. Troškovi i vreme isporuke zavise od odredišta, težine paketa, veličine proizvoda i lokalnih uvoznih zahteva.

Najčešće koristimo DHL, FedEx, UPS i druge međunarodne kurirske službe. Prevoznik se može izabrati u skladu sa odredištem, brzinom isporuke, veličinom pošiljke i zahtevima kupca.

Naši proizvodi uglavnom imaju garanciju od 12 meseci. Proizvodi koji ispunjavaju uslove mogu se takođe vratiti u okviru naše politike povraćaja novca u roku od 30 dana. Obratite se našem timu pre vraćanja bilo kog artikla da biste potvrdili važeće uslove i uputstva za povraćaj.

Products FAQs