uutiset

Kiinan tiede- ja teknologiayliopisto/Huawei Noah ryhtyy toimiin! Sirun suorituskyky ≠ layout pisteet, EDA-suunnittelukehys on täysin avoimen lähdekoodin

2024-08-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

ChipBench-tiimin lähetys
Qubits |. Julkinen tili QbitAI

Sirun fyysisessä asettelussa on uusi arviointistandardi, joka viittaa suoraan suoritusindikaattoreihin!

Kiinan tiede- ja teknologiayliopiston MIRA Lab ja Huawein Noah's Ark Laboratory julkaisivat yhdessä uuden arviointikehyksen ja tietojoukon, joka on täysin avoimen lähdekoodin.

Näiden standardien avulla epäjohdonmukaisten asetteluindikaattoreiden ja lopullisen päästä päähän -suorituskyvyn, korkeiden tulosten mutta alhaisen PPA-suorituskyvyn ongelman odotetaan ratkeavan.



Sirusuunnittelussaelektronisen suunnittelun automaatio(EDA) on tärkeä linkki, ja se tunnetaan "sirujen äitinä" alalla, ja sirun fyysinen asettelu (Placement) on keskeinen askel.

Sirun fyysinen layout-ongelma on NP-kova ongelma. Ihmiset ovat yrittäneet käyttää tekoälyä tähän työhön, mutta tehokas arviointistandardi puuttuu.

Perinteinen arviointiasteikko, välityspalvelimen metriikka, vaikka se on helppo laskea, eroaa usein merkittävästi sirun lopullisesta päästä päähän -suorituskyvystä.

Tämän kuilun kuromiseksi umpeen Kiinan tiede- ja teknologiayliopiston MIRA Lab ja Huawein Noah's Ark Laboratory julkaisivat yhdessä tämän projektin nimeltäChiPBencharviointikehys ja siihen liittyvät tietojoukot.

ChiPBenchin lanseerauksen myötä kirjoittaja havaitsi myös monia puutteita nykyisessä sirun asettelualgoritmissa ja muistutti tutkijoita, että on aika kehittää uusia algoritmeja.

Sirusuunnitteluprosessissa on haasteita

"Mooren lain" mukaan integroitujen piirien (ICs) skaala on kasvanut eksponentiaalisesti, mikä asettaa ennennäkemättömiä haasteita sirusuunnittelulle.

Tämän kasvavan monimutkaisuuden selvittämiseksi on kehitetty EDA-työkaluja, jotka tarjoavat suuren avun laitteistosuunnittelijoille.

EDA-työkalut voivat suorittaa automaattisesti erilaisia ​​vaiheita sirusuunnittelun työnkulussa, mukaan lukien korkean tason synteesi, logiikkasynteesi, fyysinen suunnittelu, testaus ja todentaminen.



Niiden joukossa sirujen asettelu on tärkeä askel, ja tämä vaihe voidaan jakaa kahteen alavaiheeseen - makroasettelu ja standardi soluasettelu.

Makroasettelu on avainkysymys erittäin suuren mittakaavan integroinnin (VLSI) fyysisessä suunnittelussa, ja se sisältää pääasiassa suurempien komponenttien, kuten SRAM-muistin ja kellogeneraattoreiden, järjestelyn, joita usein kutsutaan makroiksi.

Tällä vaiheella on merkittävä vaikutus sirun yleiseen ulkoasuun ja tärkeisiin suunnitteluparametreihin, kuten johdon pituuteen, virrankulutukseen ja pinta-alaan.

Seuraavassa vakioyksikköasetteluvaiheessa on käsiteltävä suurempien ja pienempien vakioyksiköiden järjestelyä. Nämä yksiköt ovat digitaalisen suunnittelun peruskomponentteja.

Yleensä tässä vaiheessa käytetään menetelmiä, kuten kombinatorista optimointia ja ratkaisua, optimoimaan sijoittelun sijoittelua, minimoimaan yksiköiden välistä etäisyyttä, luomaan hyvän pohjan myöhemmille johdotustöille ja optimoimaan yhteenliittämisen ajoituksen suorituskykyä jossain määrin.

Sirujen asettelu tehdään perinteisesti manuaalisesti ammattimaisten suunnittelijoiden toimesta, mikä ei ainoastaan ​​kuluta paljon työvoimaa, vaan vaatii myös paljon asiantuntevaa ennakkotietoa.

Siksi monia suunnittelun automaatiomenetelmiä, erityisesti tekoälyyn perustuvia algoritmeja, on kehitetty automatisoimaan tätä prosessia.

Sirusuunnittelun pitkän työnkulun vuoksi näiden algoritmien arvioinnissa keskitytään kuitenkin yleensä helposti laskettaviin välityspalvelinmittauksiin (kuten puolikehän johdon pituus HPWL, layout-solutiheys jne.), mutta nämä mittarit ovat usein korreloi päästä päähän -suorituskykyyn (eli lopullisessa suunniteltussa PPA:ssa on tietty poikkeama).

Toisaalta pitkästä sirusuunnittelutyönkulusta johtuen päästä-päähän suorituskyvyn saaminen tietylle siruasetteluratkaisulle vaatii paljon suunnittelutyötä. Samanaikaisesti kirjoittaja havaitsi, että käyttämällä olemassa olevia avoimen lähdekoodin EDA-työkaluja ja tietojoukot eivät useinkaan pysty saavuttamaan päästä päähän -suorituskykyä.

Yllä mainituista syistä johtuen olemassa olevat tekoälypohjaiset siruasettelu-algoritmit käyttävät yksinkertaisia ​​ja helposti saatavilla olevia välityspalvelinmittareita oppimien mallien kouluttamiseen ja arviointiin.

Toisaalta, koska PPA-indikaattori heijastaa monia näkökohtia, joita ei ole otettu täysin huomioon aikaisemmissa vaiheissa,Vakava kuilu viraston mittareiden ja lopullisten PPA-tavoitteiden välillä

Siksi tämä aukko rajoittaa suuresti olemassa olevien tekoälypohjaisten layout-algoritmien soveltamista todellisissa teollisissa skenaarioissa.

End-to-end arvioitu sirun suorituskyky

Kirjoittaja uskoo, että tämä aukko johtuu siitäVarhaisten tietokokonaisuuksien liiallinen yksinkertaistaminen

Esimerkiksi kirjahyllymuodon laaja käyttö on edustava esimerkki "liian yksinkertaistamisesta". Tämän muodon asettelutulokset eivät sovellu myöhempään suunnitteluvaiheeseen, eivätkä ne voi saavuttaa tehokasta lopullista suunnittelua.

Vaikka jotkin myöhemmät tietojoukot tarjoavat LEF/DEF-tiedostoja ja tarvittavia tiedostoja myöhempien vaiheiden suorittamiseen, ne sisältävät silti rajoitetun määrän piirejä ja niistä puuttuu joidenkin avoimen lähdekoodin työkalujen (kuten OpenROAD) vaatimat tiedot.

Esimerkiksi kellopuun synteesiä varten tarvittavat puskurielementtien määritykset puuttuivat kirjastotiedostoista ja LEF-tiedostojen tasomääritykset olivat puutteellisia, mikä vaikeutti työtä reititysvaiheen aikana.

Näiden ongelmien ratkaisemiseksi kirjoittajat rakensivat tietojoukon, joka sisältää kattavat fyysiset toteutustiedot koko prosessista.

Tietojoukko kattaa suunnittelut useilta eri alueilta, mukaan lukien komponentit, kuten CPU:t, GPU:t, verkkoliitännät, kuvankäsittelytekniikat, IoT-laitteet, kryptografiset yksiköt ja mikro-ohjaimet.

Kirjoittajat suorittivat kuusi uusinta tekoälyyn perustuvaa sirun fyysistä layout-algoritmia näille suunnitelmille ja yhdistivät kunkin yhden pisteen algoritmin tulokset fyysisen toteutuksen työnkulkuun standarditulo-/tulostusmuotojen avulla saadakseen lopulliset PPA-tulokset. .



Alkuperäinen tietojoukko luodaan käyttämällä Verilog-tiedostoja raakatietona. OpenROAD suorittaa logiikan synteesin ja muuntaa nämä korkean tason kuvaukset verkkolistoiksi, joissa kerrotaan yksityiskohtaisesti piirielementtien väliset sähköiset kytkennät.

OpenROADin integroitu pohjasuunnittelutyökalu käyttää sitten tätä verkkolistaa piirin fyysisen asettelun määrittämiseen piillä.

OpenROAD muuntaa lattiasuunnitteluvaiheessa luodun suunnittelun LEF/DEF-tiedostoiksi helpottaakseen myöhempien asettelualgoritmien soveltamista.

Samaan aikaan kirjoittaja viimeisteli koko EDA-suunnitteluprosessin OpenROADin kautta ja loi tietoja, mukaan lukien asettelun, ajoituspuun synteesin ja johdotuksen myöhemmissä vaiheissa.

ChipBench-tietosarja sisältää kaikki suunnittelutyökalut, joita tarvitaan fyysisen suunnitteluprosessin jokaiseen vaiheeseen.

Asetteluvaiheen algoritmia arvioitaessa edellisen vaiheen tulostiedostot toimivat syötteenä arviointialgoritmille. Algoritmi käsittelee nämä syöttötiedostot, luo vastaavat tulostiedostot ja integroi sitten nämä tulostiedostot OpenROAD-suunnitteluvirtaan.

Viime kädessä tietojoukko raportoi suorituskykymittareita, mukaan lukien TNS-, WNS-, pinta-ala- ja virrankulutus, jotta saadaan kattava päästä päähän -suorituskykyarviointi.

Tämä lähestymistapa tarjoaa kattavan joukon arviointimittareita, joilla voidaan mitata tietyn vaiheen algoritmin vaikutusta lopulliseen sirun suunnittelun optimointivaikutukseen, mikä varmistaa arviointimittareiden johdonmukaisuuden ja välttää rajoitukset, jotka liittyvät vain yksinkertaistettuihin mittareihin luottaen yhden vaiheen osalta.

Tämä arviointimenetelmä helpottaa erilaisten algoritmien optimointia ja kehittämistä ja varmistaa, että algoritmien parannukset voidaan muuntaa todellisiksi suorituskyvyn parannuksiksi sirujen suunnittelussa. Samalla se edistää tehokkaan testaus- ja parannuskehyksen kautta tehokkaampien ja tehokkaampien avoimen lähdekoodin EDA-työkalujen kehittämistä.



Sirujen asettelu edellyttää uusien algoritmien kehittämistä

Yllä olevaa työnkulkua käyttämällä kirjoittaja arvioi useita tekoälyyn perustuvia sirujen asettelualgoritmeja, mukaan lukien SA, WireMask-EA, DREAMPlace, AutoDMP, MaskPlace, ChiPFormer ja OpenROADin oletusalgoritmi.

Kirjoittajat suorittavat näiden algoritmien kokonaisarvioinnin ja raportoivat lopulliset suorituskykymittarit.



Lisäksi korrelaatioanalyysin tulokset osoittavat, että MacroHPWL:n ja lopullisten suoritusindikaattoreiden välinen korrelaatio on erittäin heikko, mikä viittaa siihen, että MacroHPWL:n optimoinnilla on hyvin rajallinen vaikutus näihin suoritusindikaattoreihin.

Langanpituuden korrelaatio WNS:n ja TNS:n kanssa on myös heikko. Tämä tarkoittaa, että vaikka jotkin yhden pisteen algoritmit onnistuvatkin optimoimaan väliindikaattoreita, kuten langanpituutta, ne voivat parantaa vain tiettyä PPA-indikaattorin puolta lopullisessa fyysisessä toteutuksessa, mutta eivät voi optimoida sitä täysin.



Siksi on löydettävä sopivampia väliindikaattoreita, jotka voivat paremmin korreloida todellisten PPA-tavoitteiden kanssa.

Kirjoittajan arviointitulokset paljastavat epäjohdonmukaisuuden nykyisten valtavirran layout-algoritmien korostamien välimittausten ja lopullisten suoritustulosten välillä. Nämä havainnot korostavat tarvetta kehittää asettelualgoritmeja uudesta näkökulmasta.



△ Eri asettelualgoritmien huonoin ajoituskaavio

Paperiosoite:
https://arxiv.org/abs/2407.15026
GitHub: https://github.com/MIRALab-USTC/ChiPBench

Tietojoukko:
https://huggingface.co/datasets/ZhaojieTu/ChiPBench-D