FPGA:n ja CPLD:n välinen ero
FPGA:n ja CPLD:n välinen ero
Ohjelmoitavia logiikkapiirejä on kahdenlaisia: FPGA (Field Programmable Gate Array) ja CPLD (Complex Programmable Logic Device). Edellinen on "hienojakoinen" laite, kun taas jälkimmäinen perustuu suurempiin lohkoihin. Näillä kahdella tyypillä on erilaisia vahvuuksia ja heikkouksia. FPGA:t soveltuvat paremmin yksinkertaisiin sovelluksiin, kun taas CPLD:t ovat ihanteellisia monimutkaisille algoritmeille.
CPLD on ohjelmoitava ASIC-laite.
CPLD on ohjelmoitava IC-laite, joka koostuu makrosolusta. Makrosolu sisältää AND-matriisit ja flippiflopit, jotka täydentävät yhdistelmälogiikan toiminnon. AND-matriisi tuottaa tuotetermin, joka on CPLD:n ulostulo. Tuotostermin numero on myös osoitus CPLD:n kapasiteetista. Vastaavasti AND-OR-massalla on ohjelmoitava sulake jokaisessa risteyksessä.
CPLD:t voidaan ohjelmoida laitteiston kuvauskielellä. Näitä kieliä voidaan käyttää ohjelmistojen kirjoittamiseen ja testaamiseen. Insinööri voi esimerkiksi kirjoittaa CPLD:lle laitteiston kuvauskielen (HDL), jota CPLD voi lukea. Sen jälkeen koodi ladataan piiriin. Tämän jälkeen CPLD-siru testataan sen toimivuuden varmistamiseksi, ja mahdolliset virheet voidaan korjata tarkistamalla kaaviokuvaa tai laitteiston kuvauskieltä. Lopulta prototyyppi voidaan lähettää tuotantoon.
CPLD soveltuu paremmin algoritmeihin
CPLD:t ovat laajamittaisia integroituja piirejä, jotka voidaan suunnitella toteuttamaan suuri määrä monimutkaisia algoritmeja. Niissä käytetään CMOS EPROM- ja EEPROM-ohjelmointitekniikoiden yhdistelmää, ja niille on ominaista suuri tiheys ja alhainen virrankulutus. Niiden tiheä arkkitehtuuri mahdollistaa erittäin suuret nopeudet ja tiheän toiminnan. CPLD:t ovat myös erittäin monimutkaisia, ja niissä on suuri määrä sisäisiä komponentteja.
CPLD:t ovat myös nopeampia ja ennustettavampia kuin FPGA:t. Koska ne konfiguroidaan käyttäen sähköisesti pyyhittävää ohjelmoitavaa lukumuistia (EEPROM), ne voidaan konfiguroida piirin sisällä, kun järjestelmä käynnistyy, toisin kuin FPGA:t, jotka vaativat ulkoisen haihtumattoman muistin syöttämään bittivirtaa. Tämän vuoksi CPLD:t soveltuvat monissa sovelluksissa paremmin algoritmeihin kuin FPGA:t.
CPLD on turvallisempi
FPGA:iden ja CPLD:iden välillä on joitakin keskeisiä eroja. FPGA:t koostuvat ohjelmoitavasta logiikasta, kun taas CPLD:t käyttävät joustavampaa rakennetta. CPLD-piireissä on vähemmän ohjelmoitavia ominaisuuksia, mutta ne ovat silti helpompia ohjelmoida. CPLD:t on usein rakennettu yhdeksi siruksi, jossa on useita makrosoluja. Jokaisella makrosolulla on vastaava ulostulotappi.
Ensimmäinen merkittävä ero näiden kahden sirutyypin välillä on tapa, jolla kellot luodaan. CPLD-piireissä voidaan käyttää yhtä ulkoista kellolähdettä tai useita yksittäisiä kelloa tuottavia piirisarjoja. Näillä kelloilla on määritellyt vaihesuhteet, ja niiden avulla voidaan parantaa piirin ohjelmointitehoa. CPLD voidaan ohjelmoida usealla eri tavalla, ja suunnittelua voidaan tarvittaessa muuttaa useita kertoja.
CPLD:n kokonaiskustannukset ovat myös alhaisemmat. Tämä tekijä tekee niiden valmistuksesta edullisempaa. CPLD:tä voidaan käyttää monissa eri sovelluksissa. CPLD voi esimerkiksi sisältää paljon diskreettejä komponentteja, mutta se voi myös sisältää useita ohjelmoitavia logiikkaelementtejä. Tämä lisää joustavuutta.
CPLD on halvempi
CPLD on kustannustehokkaampi kuin FPGA, vaikka FPGA:lla onkin tiettyjä rajoituksia. CPLD:n pienemmän koon vuoksi piirit eivät ole yhtä deterministisiä, mikä voi vaikeuttaa ajoitusskenaarioita. FPGA-piireihin liittyy kuitenkin useita etuja, kuten suurempi joustavuus ja turvallisuus.
CPLD:t voidaan ohjelmoida sähköisesti pyyhittävällä ohjelmoitavalla lukumuistilla, toisin kuin FPGA:t, jotka perustuvat staattiseen satunnaiskäyttömuistiin. Tämän seurauksena CPLD:t voivat konfiguroida itsensä järjestelmän käynnistyksen aikana, kun taas FPGA:t on konfiguroitava uudelleen ulkoisesta haihtumattomasta muistista. CPLD:t ovat myös energiatehokkaampia ja lämpöystävällisempiä kuin FPGA:t.
CPLD koostuu monimutkaisista ohjelmoitavista logiikkamakrosoluista, jotka on yhdistetty toisiinsa liitäntämatriisilla. Tämä matriisi on uudelleenkonfiguroitavissa, ja se voi tukea laajamittaisia, nopeita logiikkasuunnitelmia. CPLD:n tyypillinen käyttötarkoitus on FPGA:iden konfigurointimuistina, kuten järjestelmän käynnistyslataajana. CPLD:ssä on haihtumaton muisti, kun taas FPGA:t käyttävät ulkoista muistia konfiguraation lataamiseen.
CPLD soveltuu paremmin ajoituslogiikkaan
CPLD on integroitu piiri, joka voi suorittaa useita tehtäviä. Sen joustavuutta ja ohjelmoitavuutta parantaa sen Logic Doubling -arkkitehtuuri, joka mahdollistaa kaksinkertaiset salpatoiminnot mikrosolua kohti. Tämä tekniikka mahdollistaa pienemmän laitteen, jossa on runsaasti tilaa tarkistuksille. CPLD:t voivat suorittaa enemmän toimintoja kuin perinteinen CMOS, mukaan lukien useita itsenäisiä takaisinkytkentöjä, useita reititysresursseja ja yksittäisten ulostulojen mahdollistaminen.
CPLD:t ovat perinteistä logiikkaa joustavampia, koska ne eivät tarvitse ulkoista konfigurointimuistia. Toisin kuin FPGA:t, CPLD:t käyttävät EEPROM-muistia, joka on haihtumaton muisti, joka säilyttää konfiguraation, vaikka järjestelmä sammutettaisiin.
Jätä vastaus
Haluatko osallistua keskusteluun?Voit vapaasti osallistua!