Kysymys:
Miksi FPGA: t eivät ole kaikkialla?
Utku
2015-09-13 17:26:57 UTC
view on stackexchange narkive permalink

Jos luen FPGA: ita, jos ymmärrän oikein, ne ovat periaatteessa täysin konfiguroitavia logiikkaporttipiirejä. Tällä tavoin voi suunnitella mitä tahansa heidän kanssaan. Voidaan suunnitella kaikki mahdollisimman mukautetulla tavalla ja siten saavuttaa samat tavoitteet huomattavasti tehokkaammalla tavalla, joka voidaan saada käyttämällä mikro-ohjainta. Tämän saaminen näyttää siltä, ​​että FPGA voittaa mikro-ohjaimen milloin tahansa ja milloin tahansa. Joten kysymykseni on, jos FPGA: t ovat todella mahtavia, mikä estää heitä olemasta paljon yleisempiä kuin mikrokontrollerit? Tästä näkökulmasta minusta tuntuu siltä, ​​että FPGA: n olisi pitänyt pyyhkiä mikro-ohjaimet pois kauan sitten. Joten miksi näin ei ole? Onko se FPGA: n ohjelmoinnin hinta, vaikeus vai kokonaan jotain muuta?

mahdollinen kopio [pehmeän ytimen prosessoreista VS-kova ytimen prosessoreista] (http://electronics.stackexchange.com/questions/55377/soft-core-processors-vs-hard-core-processors)
Haluat ehkä myös lukea tämän säikeen: http://electronics.stackexchange.com/questions/4382/fpgas-vs-microcontrollers?rq=1
Helikopterit ovat joustavampia kuin autot, joten miksi joku silti käyttää autoa työmatkalle?
Koska kaikki FPGA-yritykset tarjoavat sinulle aivan kamala omia työkaluja, joilla on valtava oppimiskäyrä ja jotka eivät ole useimpien kehittäjien käytettävissä.Korvaa se täysin avoimella työkaluketjulla, ja ne olisivat todennäköisesti kaikkialla.
@R .. ... tai ainakaan ehdottomasti viimeisenä vaihtoehtona.
Kahdeksan vastused:
Olin Lathrop
2015-09-13 17:41:47 UTC
view on stackexchange narkive permalink

Ohitat monia tekijöitä, jotka vaikuttavat suunnitteluvaihtoehtojen tekemiseen:

  1. Kustannukset . FPGA: t ovat kalliimpia kuin mikrot saman logiikan monimutkaisuuden vuoksi.

  2. Logiikan monimutkaisuus . Suoritettava koodi voi toteuttaa paljon monimutkaisemman logiikan kuin sama määrä portteja suoraan käytetyssä mikrossa.

  3. Kehityksen helppous . Suoritettavan koodin kirjoittaminen on helpompaa kuin logiikan määrittely kaikille paitsi pienille ongelmille. Jopa vaatimattomissa mikrokontrolleriprojekteissa on tuhansia koodirivejä. Vastaavien logiikkamääritysten kehittäminen vie paljon kauemmin ja sen testaaminen ja tarkistaminen on paljon vaikeampi.

  4. Virrankulutus . Koska FPGA: t on tarkoitettu nopeaan toimintaan, jota mikroskoopit eivät pysty käsittelemään (muuten käyttäisit mikroa), niitä ei ole optimoitu pienelle teholle. Tämä tekee niistä sopimattomia joihinkin pienitehoisiin sovelluksiin. Joissakin mikrossa lepotilavirrat ovat alle 1 µA, ja ne voivat toimia vain muutamalla µA hitaalla kellotaajuudella. Yritä löytää FPGA, joka pystyy tekemään tämän.

FPGA: n tärkeimmät edut verrattuna mikroihin ovat, että ne ovat nopeampia ja voivat tehdä enemmän asioita rinnakkain. Sen lisäksi haluat mieluummin käyttää mikroa. Siksi suunnitteluprosessissa aloitat yleensä mikrolla, ja sitten menet epäröimättä FPGA: han, kun todella tarvitset nopeutta ja / tai samanaikaista nopeaa toimintaa. Silloinkin FPGA: ssa käytetään vain nopeuden kannalta kriittisiä osia ja jätät pienempien nopeuksien ohjaustoiminnot ja vastaavat mikroon.

"Silloinkin FPGA: ssa käytetään vain nopeuskriittisiä osia ja jätät pienempien nopeuksien ohjaustoiminnot ja vastaavat mikroon."Ja se johtuu siitä, että FPGA: n kehittäminen on tuskaa, eikö?
@Utku: Kyllä, tämä on syy 3 yllä, vaikka syyt 1–2 ovat yleensä voimassa.FPGA: t eivät yksinkertaisesti ole yhtä kustannustehokkaita kuin saman tehtävän mikrosolut, * ellei * kyseisellä tehtävällä ole niin suuria nopeusvaatimuksia, että mikro ei vain pysty siihen.
On helppo sanoa, että tämä vastaus on kirjoitettu suorittimen käyttäjän näkökulmasta."mene epäselvästi FPGA: han, kun todella tarvitset nopeutta ja / tai samanaikaista nopeaa toimintaa".He eivät ole niin pahoja.On sovelluksia, joissa ei edes * ajatella * käyttää prosessoria FPGA: n yli.
Tapa, jolla selitän sen yleensä: On vaikea tehdä asioita rinnakkain suorittimessa, ja on vaikea tehdä asioita sarjaan FPGA: ssa.
Jos hakkeroit hauskanpidon vuoksi, asenna HDP-mikrokontrolleri FPGA-laitteeseesi ja saat parhaan hyödyn molemmista maailmoista.
Yksi iso asia muistaa FPGA: ista: logiikan uudelleen konfiguroitavuudella on hinta - vastaava logiikka, jonka FPGA toteuttaa, on paljon vähemmän monimutkainen kuin itse FPGA.Kaikki hakutaulukot, reititysmatriisikomponentit jne. Kuluttavat paljon enemmän piipinta-alaa ja tehoa kuin vastaavat logiikan vastaavat toteutukset.Tämä tarkoittaa, että FPGA: t ovat huonommat kaikilla suorituskykymittareilla - aktiivinen ja tyhjäkäynnillä oleva virrankulutus, tiheys, kellotaajuus jne. - kuin rakentamalla sama toiminnallisuus suoraan piiin kuin mikrokontrollerien, yleiskäyttöisten suorittimien ja itse FPGA: n kanssa.
stanri
2015-09-13 22:48:24 UTC
view on stackexchange narkive permalink

Yksi ero, jota en ole nähnyt tarkemmin käsittelevänä, on se, että FPGA: ita käytetään ja käyttäydytään täysin eri tavalla kuin prosessoreilla.

FPGA on todella hyvä tehdä täsmälleen samaa tehtävää uudestaan ​​ja uudestaan. Esimerkiksi video-, ääni- tai radiosignaalien käsittely. Tai reitittää Ethernet-paketteja. Tai simuloi nestevirtausta. Kaikki tilanteet, joissa sinulle heitetään paljon samanlaista tietoa todella nopeasti ja haluat käsitellä kaikkea samalla tavalla. Tai haluat suorittaa saman algoritmin toistuvasti. FPGA: lla ei oikeastaan ​​ole "tehtäviä", jotka alkavat ja pysähtyvät [1], sen koko tehtävä on tehdä sama asia mihin tahansa dataan, niin kauan kuin se on päällä. Se ei vaihda vaihdetta, se ei tee mitään muuta. Se on lopullinen tuotantolinjan työntekijä. Se tekee saman asian toistuvasti, niin nopeasti kuin pystyy, ikuisesti.

Toisaalta prosessorit ovat joustavuuden ruumiillistuma. Ne voidaan ohjelmoida tekemään mitä tahansa ollenkaan, ja ne voidaan ohjelmoida tekemään useita eri asioita samanaikaisesti. Heillä on tehtäviä, jotka alkavat ja pysähtyvät, he vaihtavat vaihdetta, moniajo, vaihtavat jatkuvasti toimintoja.

FPGA ja CPU ovat täydellisiä vastakohtia. CPU: n hyödyke on aika - sen on tehtävä asioita nopeammin. Mitä nopeammin sovelluksesi toimii, sitä parempi.

FPGA: n hyödyke on tilaa. FPGA-laitteesi on vain niin suuri, ja käytettävissä on vain niin paljon portteja haluamasi tehtävän suorittamiseen. Suurimman osan ajasta ongelma on enemmän kuin nopeus [2].

On mahdollista saada FPGA toimimaan kuin prosessori. Voit laittaa suorittimen IP-ytimen FPGA: han, mutta sitä on hyvin vaikea perustella muiden kuvailemien syiden vuoksi [3]. FPGA ja CPU ovat vastakohtia, molemmilla on omat vahvuutensa ja heikkoutensa, ja molemmilla on oma paikkansa seurauksena.


Huomautuksia:

1) FPGA voidaan suunniteltu suorittamaan erilaisia ​​tehtäviä, mutta silloinkin se olisi tietty numero, jolle se on ennalta suunniteltu.

2) Nopeus on myös FPGA-suunnitteluspesifikaatio. Se on todella kompromissi nopeuden ja koon välillä.

3) Suorittimen asettaminen FPGA: han tapahtuu suhteellisen usein, mutta se tapahtuu tapauskohtaisesti, sovelluksista riippuen. Esimerkiksi, jos tarvitset todella pienen mikrokontrollerin ja sinulla on ylimääräistä FPGA-tilaa.

Ja lopuksi: Tämä vastaus on iso yksinkertaistus - FPGA: ita käytetään valtavasti vaihtelevilla ja monimutkaisilla tavoilla, ja tämä on hyvin lyhyt katsaus tapaa, jolla niitä käytetään yleensä.

"Tai reitittää Ethernet-paketit. Tai simuloi nestevirtausta." Vaikka tietojeni mukaan ASIC: ää käytetään yleensä ensimmäisiin (ainakin massatuotannossa) ja GPU: t ovat nopeammat, halvemmat, pienemmät ja helpommin ohjelmoitavat jälkimmäisille.
@reirab Nämä olivat esimerkkejä sellaisista toiminnoista, joita FPGA: t voivat tehdä hyvin, he tulivat mieleen, koska ne ovat molemmat sovelluksia, joille olen henkilökohtaisesti koodannut FPGA: t.Kissan iho on useita kuin yksi tapa.Laitteen valinta riippuu monista suunnittelutekijöistä.
@reirab mitä tahansa FPGA: n tekemää ASIC voi tehdä pienemmälle teholle ja pienemmille tuotantokustannuksille.FPGA: n etuna on prototyyppien tekeminen ja pienen volyymin tuotanto, koska ASIC: n alkukustannukset ovat paljon suuremmat;eli jälkimmäinen on järkevää vain, kun suunnittelu on viimeistelty ja teet niistä paljon.
On outoa väittää, että CPU on joustavampi kuin FPGA, kun otetaan huomioon, että voit toteuttaa CPU: n helposti FPGA: ssa (minkä tahansa vakavan CS-opiskelijan tulisi tehdä se ainakin kerran).FPGA on paljon matalampi käsite kuin CPU, joten ei ole järkevää verrata niitä suoraan imho.
Tämä vastaus todella häiritsee minua."CPU: n hyödyke on aika", "FPGA: n hyödyke on tilaa."Huh?ASIC: t ja suorittimet ovat polaarisia vastakohtia, ja FPGA: t istuvat keskellä saaden molempien maailmojen parhaat ja huonot puolet.
AiliayrzctCMT.Okei.
Spehro Pefhany
2015-09-13 18:13:27 UTC
view on stackexchange narkive permalink

Kuten Olin sanoo, jotain mikroa on tehokkaampi moniin tehtäviin, ja löydät melkein aina mikroa, jota käytetään kaikkialla, missä FPGA esiintyy. Käytetyn piin pinta-ala (mikä tarkoittaa kustannuksia epälineaarisella tavalla) ja virrankulutus ovat paljon pienemmät. Tästä syystä ei ole harvinaista toteuttaa 'pehmeä' MCU FPGA: lle - mutta tällaisen mikro: n hinta ja suorituskyky ovat alittavia.

Jotkut modernit FPGA: t sisältävät yhden tai useampia "kovia" ytimiä, kuten läsnä oleva ARM-sarja. Ne voivat myös sisältää omistettuja muistilohkoja, koska muistin tekeminen porteista on todella tehotonta. 32-bittinen mikrosydän vie pienen osan tyypillisen FPGA: n piialasta, mikä antaa sinulle käsityksen suhteellisista kustannuksista.

Kehitys on huomattavasti vaikeampaa, ja IP ei yleensä ole niin vapaasti saatavana kuten mikrossa ja erillisissä SOC-ratkaisuissa - esimerkiksi LCD-ohjaimet, PCI-liitännät, Ethernet MAC -laitteet. Syynä on osittain se, että paljastamalla HDL-logiikkakuvaukset ne siirtävät suunnittelua, ei pelkästään mallin ilmentymistä. Toinen syy on se, että suorituskyky riippuu FPGA: n logiikan ulkoasusta, mikä vaatii paljon työtä kehityksen aikana.

Lisäksi monimutkaisuus on, että useimmat monimutkaiset FPGA: t ovat RAM-pohjaisia ​​kokoonpanolle ja prosessikustannukset sellainen, että ulkoista haihtumatonta muistia tarvitaan kaikkien MCU: n kokoonpano- ja ohjelmamuistin tallentamiseen aluksella. Tämä muisti on ladattava RAM-muistiin käynnistettäessä.

FPGA: t ovat erittäin hyödyllisiä työkaluja työkalupakissa, mutta ne eivät korvaa MCU: ita tai ASIC: itä yleismaailmallisesti pian.

Neil_UK
2015-09-15 13:01:15 UTC
view on stackexchange narkive permalink

Piin paras käyttö työssä on ASIC, ei mitään hukkaan, mutta heillä on valtava oppimiskäyrä, NRE ja joustamattomuus.

Joustavuutta siruksi voidaan rakentaa kahdella tavalla. a) Käytä tilaa optimoivaa ALU: ta ja käytä sitä yhä uudelleen tallennettuihin tietoihin. Tätä kutsutaan MCU: ksi, ja se vaatii suuren alueen piitä, joka 'ei tee mitään', ohjelmamuistia, laajaa väylää, joka kulkee yksiköstä toiseen, ja väyläkytkimiä. b) Käytä hienorakeista logiikkaa, ja siinä on muutama valinnainen tilaa optimoiva osa, kuten kertojat, pienet RAM-muistit ja yksinkertaiset suorittimet. Tätä kutsutaan FPGA: ksi, ja se vaatii laajan piin, joka ei tee mitään, ohjelmoitavia kytkimiä ja yhteyslinjoja.

Ilmeisesti näiden rakenteiden kanssa MCU: t toimivat parhaiten tehtävissä, jotka voidaan hajottaa sarjapaloiksi, ja FPGA: t toimivat parhaiten tehtävissä, jotka tarvitsevat nopeaa rinnakkaiskäyttöä. Kun sovellus on raskas ja kustannuksia hallitsevat piikustannukset, näitä kahta tyyppiä käytetään luonnollisesti.

Kun sovellus on kevyt, mutta suuri, kustannuksia hallitsevat pikemminkin pakkaukset. kuin pii, ja kumpikin tyyppi on elinkelpoinen. Alteralla on erittäin pieniä erittäin pienitehoisia FPGA-laitteita kilpailemaan yhden käden kourallisen MCU: iden kanssa.

Pienikokoisissa sovelluksissa kehityskustannukset yleensä hallitsevat, ja siellä MCU: t voittavat olettaen, että niillä on nopeus

Kevin White
2015-09-13 21:59:10 UTC
view on stackexchange narkive permalink

Virrankulutuksen ja piikäytön suhteen FPGA on erittäin huono mikroprosessoriin verrattuna.

FPGA kuluttaa suuren osan piipinta-alastaan ​​logiikkakonfigurointipiirissä, mikä ei koske mikroa. Yhteyksiä on oltava käytettävissä paljon enemmän kuin mitä tarvittaisiin mikroprosessorin erilliselle toteutukselle.

FPGA kuluttaa enemmän virtaa kuin oma ASIC, kuten mikroprosessori, koska logiikkaa ei toteuteta yhtä tehokkaasti.

Kaikki toiminnot, jotka voidaan toteuttaa FPGA: ssa, voidaan suorittaa tehokkaammin, halvemmin, pienemmällä virrankulutuksella, pienemmällä levytilalla jne. omistetussa ASIC: ssä. Oletetaan, että määrät ovat riittävän suuria korvaamaan NRE: n.

Jos tavoitteena on toteuttaa mikroprosessorin koko ominaisuusjoukko, varmista.Kun olet siirtynyt tiettyyn tehtävään, voit tunnistaa paljon hukkaan menevää piitä myös mikro-ohjaimessa - ehkä se salausmoottori on hukkaan menevä tila projektissasi.Tai CAN-oheislaite?Tai liukulukuyksikkö?FPGA: n paras käyttöaste on pienempi, mutta et myöskään kärsi 0%: n käytöstä suurilla alueilla, kuten mikro-ohjain.(Toisaalta kelloportin kanssa 0%: n käyttö suurissa piireissä on erittäin toivottavaa tehon kannalta
supercat
2015-09-16 00:21:26 UTC
view on stackexchange narkive permalink

Mikroprosessoripohjaiset ds-järjestelmät ja myöhemmät mikrokontrollerit ovat pystyneet saavuttamaan valtavan toiminnallisuuden kyvyllä käyttää monia siinä olevia yksittäisiä piirejä suorittamaan monia erilaisia ​​tehtäviä eri aikoina. Mielestäni on opettavaista verrata pelihallikone Tankia, joka on suunniteltu vuonna 1976, Combat-peliin, joka toimii maailman toisella mikroprosessoriohjatulla pelikoneella, Atari 2600: lla. Vaikka pelattavuudessa on joitain eroja, Atari 2600 -laitteisto suunniteltiin lähinnä Tankin kaltaisten pelien toteuttaminen vähäisin kustannuksin; se, että se saatettiin pelaamaan erilaisia ​​pelejä asettamalla erilaisia ​​ROM-patruunoita, oli hieno bonus.

Pelisäiliö antaa kahden pelaajan ajaa tankkeja ruudun ympäri ja ampua toisiaan. Siinä on "liukastumislaskurit" jokaisen säiliön X- ja Y-sijainnille, jokaisen pelaajan laukauksen X- ja Y-sijainti, ylös / alas laskuri jokaisen pelaajan kulmalle ja kunkin pelaajan laukauskulmalle, laskuri jokaisen pelaajan pisteille, X- ja Y-rasterisäde -asento laskurit, ja paljon ohjauspiirejä näiden asioiden päälle. Siinä on laitteistoa, jolla se voi hakea pelikentän tiedot ROM-levyltä ja näyttää ne, sekä laitteiston hakemaan kahden pelaajan säiliöiden muodot ja tulokset ROM-levyltä ja näyttää ne.

Atari 2600 -laitteessa on liukulaskuri kahden pelaajaobjektin, kummankin ohjusobjektin, vaakasuorille sijainneille ja yksi lisäobjekti nimeltä "pallo", jota ei käytetä Combatissa, mutta jota käytetään joissakin muissa peleissä . Jokaisella soitinobjektilla on laitteisto 8-bittiseen salpaan tallennetun kuvion tuottamiseksi sekä "viivästetty" kahdeksan-bittinen salpa jokaiselle soittimelle, joka kopioidaan ensisijaiseen 8-bittiseen salpaan aina, kun toisen pelaajan muoto päivitetään. Siinä on myös vaakasuora säteen sijaintilaskuri ja 20-bittinen leikkikentän muotoinen salpa, joka lähetetään näytölle kahdesti skannauslinjaa kohden, ja oikeanpuoleinen kopio näkyy joko toistona tai heijastuksena vasemmalle. Siinä on laitteisto törmäysten havaitsemiseksi, mutta ei tehdä mitään niiden seurauksena. Siinä ei ole laitteistoa esineiden pystysuoraan sijaintiin, rasterisäteen pystysuoraan asentoon (!) Eikä laitteistoon, joka liittyy pisteiden pitämiseen, pisteiden näyttämiseen, pelin kestoon jne.

Kaikkia toimintoja, joille 2600 ei sisällä laitteistoa, käsittelevät kasetin ohjelmistot. Kunkin kohteen pystysuora sijainti on tarkistettava vain rasterisäteen sijaintia kohti kerran skannauslinjaa kohden, on vain päivitettävä pelaajan pisteet ja jäljellä oleva peliaika enintään yksi kehystä kohti, pelaajien tulokset tallennetaan skannauslinjoille pelikentän yläpuolelle ja voi siten jakaa saman laitteiston, jota käytetään pelikentällä jne.

Normaali tapa toteuttaa "Tank" -peli FPGA: ssa olisi käyttää erillisiä piirejä eri toimintoihin samalla tavalla kuin vuoden 1976 arcade-kone. Tällainen lähestymistapa toimisi, mutta käyttää huomattavaa määrää laitteistoa. Mikroprosessoripohjainen lähestymistapa voisi poistaa yli puolet laitteistosta vastineeksi mikroprosessorin lisäämisestä, mikä todennäköisesti sisältäisi vähemmän piirejä kuin korvattu laitteisto (2600 voisi toteuttaa pelejä, jotka ovat paljon kehittyneempiä kuin Tank, mikä vaatisi paljon enemmän laitteita jos he eivät käyttäneet mikroprosessoria).

FPGA: t ovat erinomaisia ​​tapauksissa, joissa tarvitaan laitetta, joka pystyy suorittamaan monia yksinkertaisia ​​tehtäviä samanaikaisesti . Mikroprosessoripohjaiset (tai mikrokontrolleripohjaiset) järjestelmät ovat yleensä parempia, kuitenkin tapauksissa, joissa on paljon suoritettavia tehtäviä, mutta niitä ei tarvitse käsitellä samanaikaisesti, koska niiden avulla on helppo käyttää pientä määrää piirien avulla, jotta saavutetaan suuri määrä erillisiä tarkoituksia.

Voisitko sinäkin laittaa miinoja?;-)
@ScottSeidman: Pelihallin koneessa oli muutama miini johdotetuissa paikoissa, jotka piirrettiin X: nä.2600: n olisi ollut hyvin vaikeaa näyttää miinat X: nä samalla kun näytetään molemmat pelaajat ja molemmat ohjukset.Jos ei välitä kaivosten välkkymisestä 60 Hz: ssä, olisi ollut mahdollista käyttää joitain myöhemmin löydettyjä temppuja, mutta se olisi vaatinut lisää koodia (COMBAT on 2K-kasetti, joka on melkein täynnä - jopa kaksi tavua käyttämättömissäBRK / IRQ-vektoria $ FFFE / FFFF: ssä käytetään kaksitavuisen taulukon pitämiseen!).
Combatilla olisi todennäköisesti ollut mahdollista toteuttaa kaivokset vilkkuvina neliöinä, jos se olisi halunnut luopua joistakin muista vaihtoehdoistaan, kuten pomppivista laukauksista jne., Mutta mielestäni Joe Decuir (ohjelmoija) teki hyvää työtä valitessaan pelattavia vaihtoehtoja.Minun yksi asiani on, että kaksitaso-vs-pommikone olisi voinut olla hauskempaa, jos pommikone olisi 2x eikä 4x sprite.
vini_i
2015-09-13 17:39:44 UTC
view on stackexchange narkive permalink

Se on kokonaan kustannuksia. Kun mikro voi olla niinkin alhainen kuin 30 senttiä, halpa FPGA on 5 dollarin alueella. Kustannukset eivät ehkä näytä kovin korkealta, mutta kun teet miljoonan pierevän uutuuslelun myyntiin 10 dollaria, FPGA: n hinta tappaa lopputuloksesi.

Kustannukset ovat varmasti yksi asia, mutta sanoa, että ero on * kokonaan *, hinta on yhtä naiivi kuin kaikkien mikrojen ajattelu voidaan korvata FPGA: lla.
@OlinLathrop, jos kustannukset eivät olleet ongelma, mikään mikro voi tehdä, FPGA voi tehdä.Tämä on osoitettu FPGA: n kyvyllä pitää pehmeää mikro-ohjaimen ydintä.Ongelmana on, että FPGA, joka pystyy pitämään tällaista ydintä, on vähintään ja suuruusluokkaa kalliimpaa kuin mikro, jonka ydin on jäljitelty.
Kustannukset voivat tarkoittaa paljon enemmän kuin yksikköhinta, mutta se on kaikki mitä haluat heittää tähän analyysiin.
En voi sanoa, teeskenteletkö tarkoituksella, että kaipaat asiaa vai oletko vain tiheä.Joko niin, vastaat johonkin, jota kukaan ei sanonut.Kaikki ovat yhtä mieltä siitä, että FPGA: t maksavat enemmän ja että kustannukset ovat ongelma.Mutta jälleen kerran, väittää, että se on * ainoa * asia, on aivan väärä.Jos annoin sinulle joukon ilmaisia mikroja ja FPGA: ita, on silti merkittäviä syitä, miksi käytät mikroja FPGA: n yli monissa malleissa.
Kustannukset ovat punainen silli.Mikrot maksavat vähemmän, koska niitä käytetään enemmän.Jos FPGA: ita käytetään enemmän, ne maksaisivat myös vähemmän.Otetaan esimerkiksi ARM: t, jotka maksoivat aiemmin yli x86, mutta olivat erittäin houkuttelevia pienitehoisille sovelluksille.Kun esillä olevat puhelimet alkoivat näkyä markkinoilla, ARM-laitteiden kustannukset alkoivat laskea.Kun älypuhelimet alkoivat ilmestyä, ei ollut järkevää käyttää prosessorin arkkitehtuuria, koska ARM: ien kustannukset olivat huomattavasti pienemmät kuin mikään muu.Mutta kustannukset olivat alhaiset, koska niitä käytettiin paljon.Ei päinvastoin.
@sleb: Ei, kustannusero ei johdu vain volyymista.Toimitettua porttia kohti vaadittava pii-alue on FPGA: ssa huomattavasti suurempi kuin mukautetussa sirussa, kuten mikrokontrolleri.Kaikki tämä konfiguroitavuus portin yhteenliitäntätasolla vie pii-alueen toteuttamiseen.Suurissa määrissä sirun hinta on kyse sen pinta-alasta.
gaborous
2015-09-13 21:59:51 UTC
view on stackexchange narkive permalink

Pelkästään muiden erittäin hyvien vastausten lisäksi mielestäni FPGA: n käyttöönotto on myös toimialan asia: esimerkiksi neuromorfisten laitteiden osalta FPGA-levyt ovat tulossa melko läsnäoleviksi, koska rinnakkaisuuden tarve on valtava, mikä on FPGA: n vahvuus.

Jos ekstrapoloimme neuromorfisten laitteiden suuntauksen, voimme kuvitella, että muut rinnakkaisuuteen perustuvat tai kriittisesti vaativat kentät omaksuvat FPGA: t todennäköisesti paljon enemmän. Joten ehkä FPGA: sta ei tule kaikkialla kuluttajalaatuisia tuotteita, mutta se voi olla tietyille verkkotunnuksille, koska näyttää siltä, ​​että se tapahtuu tällä hetkellä neuromorfisille laitteille.

Vaikka tämä saattaa olla totta, tämä ei näytä tarpeeksi täydelliseen vastaukseen.Ehkä se olisi parempi kommenttina tai voisit laajentaa sitä.
Tämä ei anna vastausta kysymykseen.Jätä kommentti kirjoittajan alle kritisoidaksesi tai pyytääksesi selvennystä kirjoittajalta.
@Funkyguy, tämä vastaa kysymykseen.He sanovat lähinnä, että FPGA: t eivät ole kaikkialla, koska yleiset kuluttajasovellukset eivät vaadi FPGA: iden vahvana rinnakkaisuutta.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...