Kysymys:
Kuinka ASIC-suunnittelu eroaa FPGA HDL-synteesistä?
TheFlash
2012-03-25 13:07:20 UTC
view on stackexchange narkive permalink

Minulla on ollut kokemusta FPGA / HDL-työkalupaketeista, kuten Xilinx ISE, Lattice Diamond jne. Yleinen työnkulku on Verilog / VHDL: n kirjoittaminen, simulointi, FPGA: n testaus ja ohjelmointi.

Olen kuullut muutaman ihmisen sanovan, että ASIC-muotoilu on hyvin erilainen. Mitä työkalupaketteja käytetään kahdelle päätuotetyypille, porttitason ASIC: ille ja transistorin tason ASIC: lle? Olen tutkinut korkean tason synteesityökaluja, kuten Catapult C ja Cadence C to Silicon, mutta en ole vielä kokeillut mitään. Voitteko selittää ASIC / FPGA-kentässä käytettävissä olevat erityyppiset työkalut, jotka voivat muuttaa / nopeuttaa tyypillistä HDL-työnkulkua?

Kaksi vastused:
W5VO
2012-03-25 14:33:39 UTC
view on stackexchange narkive permalink

Tyypillisesti ASIC-suunnittelu on tiimin pyrkimys työn monimutkaisuuden ja määrän vuoksi. Annan karkean vaihejärjestyksen, vaikka jotkut vaiheet voidaan suorittaa rinnakkain tai epäkunnossa. Luettelon työkalut, joita olen käyttänyt jokaisessa tehtävässä, mutta se ei ole tietosanakirja.

  1. Rakenna solukirjasto. (Vaihtoehtoisesti useimmissa prosesseissa on kaupallisesti saatavia porttikirjastoja. Suosittelisin tätä, ellet tiedä tarvitsemasi jotain, joka ei ole käytettävissä.) Tähän kuuluu useiden aseman vahvuusporttien suunnittelu niin monelle logiikkatoiminnolle kuin tarvitaan , suunnittelu ohjain / vastaanottimet, ja kaikki makrot, kuten matriisin kertoja tai muisti. Kun jokaisen solun kaavio on suunniteltu ja todennettu, fyysinen asettelu on suunniteltava. Olen käyttänyt tässä prosessissa Cadence Virtuoso -sovellusta sekä analogisia piirisimulaattoreita, kuten Spectre ja HSPICE .

  2. Kuvaa solukirjastoa. (Jos sinulla on kolmannen osapuolen porttikirjasto, tämä tehdään yleensä puolestasi.) Kirjastosi jokainen solu on simuloitava, jotta voidaan luoda ajoitustaulukot staattiselle ajoitusanalyysille (STA). Tähän kuuluu valmiin solun ottaminen, ulkoasun parasiittien poimiminen käyttämällä Assura , Diva tai Caliber ja piirin simulointi vaihtelevissa tulo-olosuhteissa ja lähdöissä kuormia. Tämä rakentaa jokaiselle portille ajoitusmallin, joka on yhteensopiva STA-pakettisi kanssa. Ajoitusmallit ovat yleensä Liberty -tiedostomuodossa. Simuloin kaikkia tarvittavia olosuhteita Silicon Smart ja Liberty-NCX . Muista, että tarvitset todennäköisesti ajoitusmalleja "pahimmassa tapauksessa", "nimellisessä" ja "parhaassa tapauksessa", jotta useimmat ohjelmistot toimivat oikein.

  3. Synteesi suunnittelu. Minulla ei ole kokemusta korkean tason kääntäjistä, mutta päivän lopussa kääntäjän tai kääntäjän ketjun on otettava korkean tason suunnittelusi ja luotava porttitason netlist. Synteesitulos on ensimmäinen kurkistus, jonka saat järjestelmän teoreettisesta suorituskyvystä ja jossa ensin käsitellään taajuusmuuttajan voimaa koskevia kysymyksiä. Olen käyttänyt Design Compiler ia RTL-koodissa.

  4. Sijoita ja reititä suunnittelu. Tämä ottaa porttitason netlistin syntetisaattorista ja tekee siitä fyysisen suunnittelun. Ihannetapauksessa tämä luo pad-to-pad-asettelun, joka on valmis valmistettavaksi. P&R-ohjelmiston asettaminen on todella helppoa tekemään tuhansia DRC-virheitä, joten kaikki hauskat ja pelit eivät myöskään tässä vaiheessa. Useimmat ohjelmistot hallitsevat aseman vahvuusongelmia ja tuottavat kellopuut ohjeiden mukaan. Jotkut ohjelmistopaketit sisältävät Astro, IC Compiler, Silicon Encounter ja Silicon Ensemble. Paikan ja reitin lopputulos on lopullinen netlist, lopullinen asettelu ja purettu asettelu loiset.

  5. Asettelun jälkeinen staattinen ajoitusanalyysi. Tavoitteena on varmistaa, että suunnittelusi täyttää ajoitusmäärittelyt ja ettei sillä ole mitään asennus-, pito- tai porttiongelmia. Jos suunnitteluvaatimuksesi ovat tiukat, saatat päätyä viettämään paljon aikaa täällä virheiden korjaamiseen ja päivityksiin P&R-työkalun korjauksissa. Viimeinen käyttämämme STA-työkalu oli PrimeTime

  6. .
  7. Asettelun fyysinen vahvistus. Kun P&R-työkalu on luonut asettelun, sinun on varmistettava, että suunnittelu vastaa prosessisuunnittelusääntöjä (Suunnittelusääntöjen tarkistus / DRC) ja että asettelu vastaa kaavamaisia ​​(Asettelu vs. kaavio / LVS). Näitä vaiheita on noudatettava sen varmistamiseksi, että asettelu on kytketty oikein ja että se on valmistettavissa. Jälleen joitain fyysisiä vahvistustyökaluja ovat Assura , Diva tai Calibre.

  8. Lopullisen suunnittelun simulointi. Monimutkaisuudesta riippuen saatat pystyä tekemään transistoritason simulaation käyttämällä Spectre tai HSPICE , "nopea mauste" -simulaatiota, jossa käytetään HSIM : ää, tai täysin digitaalinen simulointi käyttäen ModelSim tai VCS . Sinun pitäisi pystyä luomaan simulaatio realistisilla viiveillä STA- tai P&R-työkalun avulla.

Aloittaminen olemassa olevalla porttikirjastolla on myös valtava ajansäästö. kuten mitä tahansa makroasi, jotka hyödyttävät suunnittelua, kuten muisti, mikro-ohjain tai vaihtoehtoiset käsittelylohkot. Suunnittelun monimutkaisuuden hallinta on myös iso osa - yhden kellosuunnittelun varmistaminen on helpompaa kuin piiri, jolla on useita kellotunnuksia.

Koska mainitsit Virtuoson, Cadence tarjoaa suunnittelulle täydellisen työkaluketjun (mielestäni sitä kutsutaan Opusiksi), jossa on mahdollista aloittaa kaaviosta, sijoittaa yksittäinen solu, arvioida loisvaikutukset, luonnehtia sitä ja rakentaa se sitten ylemmälle tasolle .
Mielestäni jokainen suuri myyjä tarjoaa täydellisen työkaluketjun. Päätimme käyttää useita toimittajia työkaluketjussamme, ja näin voimme käyttää työkaluja, jotka tunsimme parhaiten tai joilla oli paras maine alalla.
Itse asiassa en tiedä ... Käytin Opusta yliopistossani, ja se johtui siitä, että meillä oli joitain kirjastoja ... se oli Unix-pohjainen ohjelmisto, ja minun on sanottava, että en edes pitänyt siitä niin paljon. ..
Työkalujen valitseminen kirjasto- tai suunnittelupakettituelle on käytännössä vaatimus. Jos et käytä tietyn ohjelmiston tuettua versiota, jotkin yhteensopimattomuudet voivat tappaa suunnittelusi tai antaa sinulle vääriä lukemia. Tästä huolimatta suurin osa EDA-työkaluista, joita olen nähnyt, toimivat Unix / Linux-järjestelmissä. Useimmilla on jyrkät oppimiskäyrät.
Huomaa, että 3,4,5 ja 7 ovat myös osa tyypillistä suurta FPGA-virtausta.
@MartinThompson Ehdottomasti. Mitä enemmän työnnät tekniikan rajoja (ASIC / FPGA), sitä kriittisemmät nuo vaiheet ovat. Tästä huolimatta näiden työkalujen ASIC-versiot antavat sinulle paljon enemmän köyttä, jotta voit joutua vaikeuksiin.
Huomaa, että 1 ja 2 eivät ole yleinen osa suunnittelua.Nämä vaiheet ovat osa ns. "Prosessin pätevöintiä", ja tulokset (täysin karakterisoidut kirjastot) tarjoaa FAB Vendor.Mutta jotkut yritykset tekevät "täydellistä räätälöityä suunnittelua", ja niiden on täytettävä 1 ja 2 yksin.
@AliChen Minulla on ollut muutamia prosesseja, joissa ei ollut määrityksiini sopivaa porttikirjastoa.Luulin pätevän porttikirjastokehityslausunnon riittävän hyvin vastauksessani.
Ei, ei, vastauksesi on erinomainen.Se ei vain koske paljoakaan OP: n FPGA-osaa.
Paddy3118
2013-05-26 10:13:42 UTC
view on stackexchange narkive permalink

W5VO: n vastauksessa keskitytään yleensä taustatietoihin, ja tämä on merkittävä ero ASIC- ja FPGA-virtojen välillä; mutta se menettää digitaalisen suunnittelun todentamisen osan.

Kun piipiin muotoilu voi maksaa miljoona dollaria ja enemmän, ja voit pakata ASIC: lle paljon enemmän käyttökelpoisia portteja kuin FPGA, vietät paljon enemmän aikaa poissa laboratoriosta ja piirilevyistä simulaattoritiloja ja emulaattoreita käyttävien työasemien edessä ja kirjoittamalla testejä ASIC-suunnittelun täydellisemmäksi tarkistamiseksi ennen kuin luovutat sen tuotantoon. FPGA-suunnittelijat tekevät yleensä suuren osan testauksistaan ​​käyttämällä FPGA: ta järjestelmässä, johon se tulee.

Lisään, että digitaalisen suunnittelijan perustyönkulku ei ole juurikaan erilainen ASIC: n ja FPGA: n välillä, mutta ASIC: llä on paljon enemmän joustavuutta käytettävissä olevien makro- / mikroelementtien, sijoittelun ja reitityksen suhteen, kun taas FPGA on rajoitettu niiden ennalta valmistettuihin logiikkalohkoihinja rajallinen toisiinsa liittyvässä topologiassa.Siksi FPGA ei pysty saavuttamaan ASIC: n suorituskykytasoa, ja se voi sanella hieman erilaisia suunnitteluratkaisuja.
Hei Ali Chen.Jos digitaalisen suunnittelun ja digitaalisen todentamisen ajatellaan olevan erillisiä, puhtaasti digitaalisen * suunnittelun * virtaus on lähempänä FPGA: ta kuin ASIC: ää, mutta todentamisessa on suuri ero, kuten mainitsin.:-)


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...