Door Willem de Moor

Redacteur

De inzet van AI voor chipdesign

Maakt kunstmatige intelligentie betere chips?

04-09-2021 • 06:00

30

Multipage-opmaak

Inleiding

Weinig producten zijn van fundamenteler belang voor onze techno-cultuur dan chips, of misschien beter gezegd: geïntegreerde circuits. Die IC's zijn sinds hun ontstaan, zo eind jaren vijftig, begin jaren zestig van de vorige eeuw, alsmaar complexer en krachtiger geworden. Waar chipontwerpen in de beginjaren nog transistoraantallen in de tientallen gebruikten, steeg dat in de jaren zeventig en tachtig al tot duizenden. Inmiddels zitten we dankzij steeds kleinere procedés en geavanceerde productiemethoden op miljarden transistors per IC.

Het zijn niet alleen de bekende machines van bedrijven als ASML die dergelijke complexe chips mogelijk maken. Een chip is immers een elektronisch circuit, en zo'n circuit moet uiteraard door iemand worden ontworpen. Met enkele tientallen of honderden transistors en andere elementen is dat nog relatief eenvoudig en kon dat 'met de hand'. Maar bij een chip met miljoenen of miljarden transistors kan geen mens nog overzicht houden. In de loop der jaren is software ontwikkeld om chips te ontwerpen en die software is met de complexiteit van ontwerpen meegegroeid. Ook dat heeft grenzen, dus lijkt het inmiddels stilaan tijd voor een volgende transitie: die naar toepassing van AI.

Juist omdat chipdesign dermate complex is geworden, moet ook de software om chips te ontwerpen complex zijn. En omdat er nog steeds mensen aan de knoppen draaien, wordt hdl- en eda-software, kort voor hardware description language en electronic design automation, beperkt door de mensen die ermee werken en de ontwerpregels die een pakket meekrijgt. Met electronic design automation kunnen weliswaar extreem complexe chips worden ontworpen, maar daarbij wordt vooral van beproefde bouwstenen en beperkte variatie gebruikgemaakt. Kunstmatige intelligentie zou een logische stap zijn om snellere, zuinigere chips te ontwerpen, in kortere tijd dan nu mogelijk is.

In dit artikel kijken we naar de inzet van AI bij de ontwikkeling van chips. Onder andere Google maakt er gebruik van, door zijn TPU-processors deels met AI te ontwerpen. Daarnaast kijken we hoe Synopsys, een bedrijf met Nederlandse roots, AI nog veel breder inzet voor het ontwerp van chips van onder meer Samsung.

Google TPU
Google TPU

Scaling in leven houden

We gaven op de eerste pagina al even aan dat de ontwerpen van chips sinds de uitvinding van het geïntegreerde circuit door Jack Kilby en Robert Noyce steeds ingewikkelder zijn geworden. Van discrete transistors in de relatief korte periode voor het IC werden ontwerpen complexer en complexer. Van small scale integration via medium en large scale integration worden ontwerpen nu aangeduid met very large scale integration, afgekort als vlsi. Die term ben je ongetwijfeld weleens tegengekomen en hij staat tegenwoordig voor chips met miljarden transistors. Tot voor kort waren die vooral mogelijk door een combinatie van de wet van Moore en Dennard scaling.

Die eerste term is zeer bekend en vaak creatief uitgelegd, maar hij komt er in alle incarnaties op neer dat steeds meer transistors op een chip kunnen worden gebouwd, terwijl de kosten per transistor dalen. De wet is gebaseerd op de observatie van Gordon Moore dat in de jaren voorafgaand aan de formulering van zijn 'wet' het aantal transistors in een IC elke twee jaar verdubbelde en dat dit de komende tien jaar waarschijnlijk zo door zou blijven gaan. De Wet van Moore werd een soort self-fulfilling prophecy voor de chipindustrie, waarbij fabrikanten er steeds naar streefden om complexere chips tegen steeds lagere kosten per transistor te maken. Dennard scaling houdt in dat de spanning en stroom in mosfet-transistors schaalt met hun afmetingen. Snellere circuits en een lager verbruik per transistor gaan hand in hand met kleinere transistors. De bekende voltage-frequency-curve waarbij kleinere chips bij gelijkblijvend vermogen sneller worden, of bij gelijke snelheid zuiniger, is ook aan dit principe te danken.

De Wet van MooreAlternatieve visualisatie van de Wet van Moore

Zowel Moore's Law als traditionele Dennard scaling hielden lange tijd vol, maar de mooie tweejaarlijkse verdubbeling van transistordichtheid en de gekoppelde Dennard scaling lukken niet meer. Dat is deels omdat transistors niet oneindig kleiner zijn te maken met de traditionele silicium-halfgeleidertechnieken, en deels omdat de kosten voor die verkleiningen de pan uitrijzen, zowel qua procedé met de benodigde dure apparatuur als in de ontwerpfase. Het ineenstorten van Intels Tick-Tock-model, waarbij het bedrijf ongepland vele jaren bleef hangen op de 14nm-node, is daar een goed voorbeeld van. Ook het steeds verder afwijken van daadwerkelijke kritieke afmetingen van transistors van hun node-naamgeving is een indicatie dat scaling niet meer zo lekker werkt.

Dat alles leidt ertoe dat chipontwerpers en -producenten al jaren naar andere manieren zoeken om extra performance uit chips te persen. De laatste jaren zien we bijvoorbeeld veel stappen richting packaging, waarbij de manier waarop individuele chips worden gecombineerd Moore's Law effectief in stand houdt. De chiplets die AMD in Zen-processors met elkaar verbindt, en Intels heterogene systeemarchitectuur met emib en de Big.little-cores, laten mooi zien hoe creatief ontwerpers zijn.

Chips ontwerpen

Op Tweakers hebben we al regelmatig geschreven over de fabricage van chips; van processors tot nand-chips en alles dat ertussen zit. Daarbij ligt de focus steevast op de gebruikte productietechniek, de node van de fabs waar de chips gemaakt worden. Termen als 7nm, euv, wafers, steppers en maskers zijn allemaal welbekend. Voordat een chip als ontwerp naar een fab kan worden gestuurd, gaan daar echter jaren aan ontwerpwerk aan vooraf. Het abstracte aspect daarvan, zoals architectuuroptimalisaties en grotere caches zodat een nieuwe generatie processors een hogere ipc kan realiseren, hebben we al vaak behandeld, maar wat zit er tussen? Hoe wordt een chip daadwerkelijk ontworpen, hoe wordt de fysieke lay-out bepaald?

Disclaimer

Het voert te ver om hier een complete stap-voor-stap-beschrijving van de ontwerpfase van een chip te geven; dat vergt jaren studie en ervaring en een baan in de halfgeleiderindustrie. Hoewel de high-level functionaliteit en bouwstenen van bijvoorbeeld een Zen 3-core bekend zijn, geldt dat om begrijpelijke redenen niet voor alle stappen om daartoe te komen en het fysieke ontwerp te maken. Daarom beperken we ons tot informatie die publiek gemaakt wordt en zal iemand die zelf miljarden transistors rangschikt waarschijnlijk teleurgesteld worden.

Elk circuit wordt opgebouwd uit elementaire bouwstenen, namelijk de logic gates en de flip flops. De zeven logic gates zorgen voor logische bewerkingen aan inputs die naar een output worden gestuurd. Flip flops slaan één bit aan data gedurende een kloktik op en zijn dus geheugencellen. Flip flops worden op hun beurt door logic gates gemaakt, en alle logic gates worden door transistors gevormd. Daarom zijn transistoraantallen zo cruciaal voor chips en wordt complexiteit vaak aangegeven door het transistoraantal van een chip te noemen.

Logic gates

Nu kan iedereen met een beetje elektronicagevoel een logic gate maken van een handjevol transistors. Met twee vier transistors is een nand- of nor-gate te maken en met enkele van die gates maak je een latch of flip flop. Eenvoudig genoeg, en ook met enkele tientallen transistors is een circuit nog wel te volgen. Maar als je een stuk of wat gates en latches hebt, wordt het al snel makkelijker om ze niet als individuele transistorparen te zien maar als symbolen; dat verlaagt de complexiteit immers. Ook daarmee kom je echter snel bij een grens, want met honderden of duizenden gates en latches wordt het al snel lastig om overzicht te houden.

Transistors in een nand-gate en een flip-flop opgebouwd uit twee nand-gatesTransistors in een nand-gate en een flip-flop opgebouwd uit twee nand-gates

Transistors in een nand-gate en een sr-latch opgebouwd uit twee nand-gates

Op dat moment komt software die de hardware abstraheert goed van pas. Daar zijn speciale programmeertalen voor ontwikkeld die hardware description languages worden genoemd. Er zijn een paar varianten van, maar de meest gebruikte is SystemVerilog. Die taal werd ontwikkeld als uitbreiding op Verilog door onder meer Synopsys (waarover later meer) en is sinds 2008 een IEEE-standaard. Verilog en Systemverilog danken hun naam aan een portmanteau van 'Verification' en 'Logic'. De hardware wordt dus niet alleen beschreven en ontworpen met de 'programmeer'-taal; het ontwerp kan ook worden geverifieerd of gecontroleerd worden op een juiste functionaliteit.

Front- en backend

Bij het ontwerpen van chips wordt de termen frontend en backend gebruikt. Diezelfde termen kennen we ook van de daadwerkelijke chipproductie-fase, maar ze zijn niet hetzelfde. Het front- en backend van een chipontwerp bespreken we hier. Bij de productie van chips in een fab verwijst het frontend van het IC naar de transistorlagen en metaallagen, terwijl de backend de interface met de buitenwereld en verpakking aanduidt. Om de verwarring nog wat groter te maken, bestaat de frontend van een chip ook nog eens uit een feol en beol, kort voor respectievelijk front en back end of the line. Daarmee wordt achtereenvolgens de transistorlaag en de metaallaag bedoeld.

Frontend

In grote lijnen wordt eerst de functionaliteit van een IC gespecificeerd en de geschikte microarchitectuur gekozen. De specificaties worden vervolgens vastgelegd in de hdl, een proces waarbij het omschreven systeem wordt vertaald in een rtl of register transfer level dat beschrijft hoe registers met elkaar interacteren. Vervolgens wordt het rtl met simulaties geverifieerd op functioneel niveau, waarbij eventuele bugs of ongewenst gedrag aan het licht moeten komen. Grote IC's worden hier al in verschillende levels opgedeeld, omdat het proces ofwel te complex is voor één persoon, of veel te lang zou duren. Als een lager niveau de functionele simulatie goed doorloopt, kan naar een hoger niveau worden gekeken. Zo wordt een chip op unit-, block- of clusterniveau en ten slotte op systeemniveau ontworpen en gesimuleerd.

Backend

Als het frontend-gedeelte klaar is, kan aan het backend worden gewerkt. Het rtl-ontwerp wordt vertaald in een verzameling logic gates en flip flops, de echte bouwstenen van een chip dus. Ook deze netlist moet weer worden geverifieerd op een correcte werking, waarbij de chip opnieuw in delen wordt gesimuleerd. Pas als deze gate level-simulatie goed wordt doorlopen, kan het daadwerkelijke fysieke ontwerp van de chip worden gegenereerd, waarbij de maskers worden gemaakt. Die worden bij de daadwerkelijke fysieke productie gebruikt om patronen op het substraat te produceren, die met chemische processen de daadwerkelijke transistors en metaallagen gaan vormen.

Floor planning met analytische software
Floor planning met analytische software (bron: Analytical Methods in VLSI Placement, J. Vygen)

In dit stadium is de chip bijna een echte chip, zij het natuurlijk alleen nog maar virtueel. Alle verbindingen en logic gates worden gegenereerd en komen op hun juiste plaats binnen hun blokken. De functionele blokken kunnen op hun beurt weer op de chip worden verschoven. Zo worden caches dicht bij cores geplaatst, en i/o richting de rand van een chip. Dat proces van floor planning bepaalt de opbouw van de chip, die samen de volgende stap, placement, belangrijk is voor de prestaties. Daarbij wordt onder meer de optimale plaats om gates te positioneren gezocht.

Een ander onderdeel van het backend-ontwerp is het ontwerp van het clock-domein. Daarbij moet een optimale distributie van het kloksignaal worden gerealiseerd. Ook clock gating is onderdeel van dat proces; het zorgt ervoor dat delen van de chip indien mogelijk kunnen worden uitgeschakeld om energie te sparen. Uiteraard moet het kloksignaal daarbij uniform over de chip worden verdeeld. De volgende stap is het routeren van de metaallagen, zodat de diverse gates en overige onderdelen met elkaar worden verbonden zoals het schema voorschrijft.

Vervolgens kunnen nog aanpassingen worden gedaan zodat de daadwerkelijke productie makkelijker wordt, waarbij onder meer de voorschriften van de foundry in acht moeten worden genomen. De laatste stap is de tape-out, waarbij de daadwerkelijke fotomaskers voor de lithografische machines worden gegenereerd en het ontwerp naar de fab kan. Uiteraard wordt volop geïtereerd tijdens alle bovenstaande stappen, tot een zo goed mogelijk en zo goed mogelijk te produceren ontwerp is gerealiseerd. Elke stap moet worden gecontroleerd middels simulatie (de 'Verification' van VeriLog) en op basis daarvan moeten ontwerpaspecten in front- of backend worden aangepast. Dat kost maanden, zo niet jaren en - afhankelijk van de complexiteit van de chip - een klein leger aan specialisten.

AI als ontwerptool

We komen eindelijk op het punt waar de beloofde kunstmatige intelligentie wordt ingezet in het ontwerpproces. Zoals zo vaak bij veranderingen in de manier waarop chips worden gemaakt, werken diverse bedrijven parallel aan dergelijke ontwikkelingen. Zo zien we dat packaging steeds belangrijker wordt voor bijvoorbeeld AMD en Intel, met het eerder aangehaalde chiplet- en heterogeen chipontwerp-verhaal. Maar ook de transitie van 'planar' nand-chips naar 3d-nand werd door alle toenmalige fabrikanten in hetzelfde tijdframe ingezet.

Dat gaat ook op voor de inzet van AI voor chipontwerp. Net als bij andere ontwikkelingen kiezen verschillende bedrijven voor verschillende implementaties van AI en zetten ze die meer of minder in. Een van de bedrijven die AI inzet voor een belangrijke stap in het designproces is Google. Voor zijn tpu's, of tensor processing units, maakt Google gebruik van een een neuraal netwerk om het floor plan te optimaliseren. Volgens het techbedrijf verkort dat de tijd om de lay-out van een produceerbare chip te ontwerpen van maanden naar slechts zes uur.

Google's neurale net voor TPU-floor planning
Googles neurale net voor tpu-floor planning

Het gebruik van een neuraal net, in dit geval een cnn met reinforcement learning, maakt de automatisering van floor planning mogelijk. In het verleden is dat al eens geprobeerd met diverse softwaremethoden, maar die schalen niet goed naar de huidige chipcomplexiteit, voor zover ze al werken. Het aantal variabelen in een IC-ontwerp groeit namelijk exponentieel en wordt al snel dermate complex dat traditionele rekenmethoden niet toereikend zijn om met alle variabelen rekening te houden. Met een neuraal netwerk is het veel beter mogelijk om snel te optimaliseren voor veel variabelen.

Het cnn wordt gevoed met bestaande ontwerpen en hun eigenschappen, waarna de 'computer' leert hoe hij kan optimaliseren voor verschillende factoren. Zo geeft Google data over de latencies binnen ontwerpblokken, de chipoppervlakte die ze in beslag nemen, hoeveel meter interne bedrading (metaallagen) voor de ontwerpen nodig is, of er voldoende ruimte voor die bedrading is en ten slotte over het opgenomen vermogen.

Google TPU-floorplanning-metrics
Verschillende metrics van Googles methode voor tpu-floorplanning vergeleken (bron: Google)

Op die vlakken scoort het neurale netwerk van Google met vrijwel alle testblokken beter dan alternatieve automatiseringstools. Alleen vergeleken met de plattegronden die door handwerk zijn opgeleverd, scoort het neurale netwerk af en toe minder, maar nog altijd binnen de ontwerpspecificaties. Gezien de tijdwinst die de geautomatiseerde methode oplevert - zes uur tegen maanden - en de enorme reductie in mensuren, wil Google de ontwerpmethode breder inzetten. Het paper dat Google publiceerde met de AI floor planning-methode stamt van juni 2021 en Google gaf aan al een tape-out van een door AI ondersteund ontwerp te hebben gerealiseerd.

AI bij Synopsys

We noemden Synopsys eerder al even, als grote leverancier van SystemVerilog. Het bedrijf is sinds 1986 actief als ontwerp- en verificatiedienstverlener voor chips. Het is uitgegroeid tot een miljardenbedrijf en samen met Cadence en Mentor Graphics (inmiddels een divisie van Siemens) verantwoordelijk voor het gros van de eda-markt.

Synopsys werkt al langere tijd aan de toepassing van AI voor chipdesign. In 2020 produceerde Samsung de eerste chip die met behulp van Synopsys' DSO.ai-platform werd ontworpen. De AI-component in dat ontwerp leek in grote lijnen op wat Google inmiddels ook doet. De Samsung-chip werd ontworpen met behulp van een een neuraal netwerk met reinforcement learning dat de floor planning voor rekening nam. Tweakers sprak rond het Hot Chips-symposium kort met de Nederlandse CEO van Synopsys, Aart de Geus.

Synopsys' DSO.ai in 2020

Als volgende stap wil Synopsys ook andere aspecten van het ontwerpproces optimaliseren met AI, of machinelearning. Daarbij zouden veel grotere performance- en vermogenswinsten mogelijk zijn. Momenteel wordt alleen de geometrie van chips, het floor plan en de organisatie van blokken en clusters geoptimaliseerd door AI's. Door ook aan de structuur, zoals architectuur, interfaces, bussen en registers te tweaken, en te optimaliseren voor beoogde software en workloads die op de chips moeten draaien, zijn volgens De Geus veel grotere winsten te behalen.

Tijdens Hot Chips liet Synopsys zien hoe de huidige DSO.ai-implementatie een reductie van 5 procent in energiegebruik realiseert ten opzichte van een door mensen ontworpen IC. Door architecturele aspecten van het ontwerp te laten optimaliseren door een neuraal net, werd nog eens 13 procent extra energie bespaard. Als laatste stap werd de workload waarvoor de chip werd ontworpen, gesimuleerd en in het ontwerp meegenomen, waardoor ook daarvoor kon worden geoptimaliseerd. Dat leidde tot nog eens 10 procent minder vermogen. Door die drie pijlers - Geometry, Structure en Behavior (of functie) - te optimaliseren, realiseerde Synopsys met zijn nieuwe techniek een energiebesparing van ruim 25 procent ten opzichte van een 'menselijk' ontwerp.

Hot Chips 2021-presentatie AI-ontwerp Synopsys

Het neurale net werd gevoed met een grote hoeveelheid data uit alle stappen van het ontwerpproces, waarna het netwerk met die data wordt getraind. Vervolgens kunnen de netwerken worden gebruikt om nieuwe problemen op te lossen en te optimaliseren voor parameters als snelheid, vermogen, kosten en andere door de ontwerpers gekozen variabelen. Daarmee heeft Synopsys volgens De Geus de afzonderlijke machinelearning-tools die het al jaren voor allerlei aspecten van het proces gebruikt, uitgebreid en een overkoepelend 'brein' gemaakt dat het complete ontwerpproces optimaliseert.

Zo bouwt Synopsys dus voort op bestaande technieken die het al lang gebruikt. De nieuwe techniek toonde zo'n anderhalf jaar geleden de eerste veelbelovende resultaten. Het neurale net begon vergelijkbare resultaten als dat van ontwerpers op te leveren, maar dan in weken in plaats van maanden. Zes maanden later was het neurale net voldoende gevoed en getraind om betere resultaten dan menselijk werk op te leveren. De belangrijkste graadmeters daarbij zijn prestaties en vermogen; chipoppervlak is wat minder cruciaal.

Door AI in steeds meer aspecten van het ontwerpproces te betrekken, werden de resultaten gaandeweg beter en beter. Inmiddels is Synopsys op het punt beland dat de AI-gestuurde ontwerpen een stuk beter zijn dan de resultaten van mensenwerk - en dat in een fractie van de benodigde tijd.

Ontwerpen voor software

Door alle aspecten van het ontwerpproces te optimaliseren in een 'holistische' workflow, kunnen optimalisaties veel dieper worden doorgevoerd. Traditioneel wordt de architectuur vastgelegd en wordt hij niet meer aangepast in bijvoorbeeld de logic design-fase zoals floor planning. De feedback-loops zijn dus vrij beperkt en grijpen niet ver terug in het ontwerpproces. Met Synopsys' methode gebeurt dat juist wel, zodat niet alleen, zoals in bovenstaand voorbeeld, voor opgenomen vermogen, maar ook voor hogere kloksnelheden of kleine die sizes of andere metrics kan worden geoptimaliseerd.

Net als traditionele ontwerpmethodes is ook de 'holistische' aanpak van Synopsys iteratief en opgedeeld in behapbare secties. De neurale netten worden gebruikt om verschillende targets voor structurele, architecturele opties en verschillende software-scenario's door te rekenen en de ontwerper bij te staan bij het maken van geïnformeerde keuzes. Er is immers niet één 'beste' chip te ontwerpen; elke chip wordt met specifieke doelen gemaakt, zoals met het oog op energiezuinigheid of high-performance.

Synopsys: van layout naar compleet design met AISynopsys: van layout naar compleet design met AI

Volgens Synopsys moeten de technieken om chips met software of AI te ontwerpen niet alleen tot veel kortere designcycli leiden. Chips, of processors, zouden in de toekomst veel beter voor specifieke workloads kunnen worden geoptimaliseerd. De Geus vergelijkt het met de opkomst van de gpu, jaren geleden. Een cpu is weliswaar breed inzetbaar, maar kan alles aardig, zonder ergens echt voor te zijn geoptimaliseerd. Voor videokaarten is een gpu veel handiger: hij kan bijna niks, maar wát een gpu kan, kan hij erg goed en snel.

Dat is nu, afgezien van asics en fpga's, nog erg moeilijk en het maken van een ontwerp kan jaren duren voor het bruikbaar is. Bovendien, zo stelt De Geus, zijn fpga's altijd 'te langzaam en te duur'. Met AI-driven chipontwerp kan dat echter drastisch worden versneld, en zo kan het ineens veel aantrekkelijker worden om chips voor specifieke software te maken. Volgens De Geus zullen 'gepersonaliseerde' chips de volgende revolutie in halfgeleiderland worden en de prestaties tot het duizendvoudige opschroeven.

Software-defined hardware

Als voorbeeld liet Synopsys de optimalisatie van een chip voor een 'hyperscaler' zien. De Geus wilde niet zeggen welk bedrijf dat was, maar het ging om een van de grote spelers. Daarmee laat Synpopsys zien dat de AI-ontwerptools niet slechts academisch zijn of in de testfase zitten, maar daadwerkelijk resultaten leveren voor klanten.

Tot slot

In de zoektocht om meer rekenkracht uit kleinere en zuinigere chips te halen, is 'eenvoudige' scaling allang niet meer toereikend, zo is de afgelopen jaren wel gebleken. De nodes zoals we die kennen hebben weinig meer te maken met transistorafmetingen, en de stappen tussen nodes leveren ook lang niet altijd meer de grote vooruitgang die ooit mogelijk was.

Bovendien gaan nieuwe nodes gepaard met extreem hoge kosten. Het is niet voor niets zo dat nog maar een handjevol foundries zich op de leading edge van chipfabricage kunnen toeleggen. Een moderne fab kost immers miljarden euro's aan investeringen, en jaren aan constructie. Dat levert hoge prijzen voor de klanten, die ze weer moeten doorberekenen. Bovendien zijn de winsten van nieuwe nodes, in termen van energiereducties, hogere kloksnelheden en die-afmetingen steeds kleiner.

Geen wonder dus dat chipontwerpers naar nieuwe manieren zoeken om het onderste uit de kan te halen bij bestaande of zelfs oudere nodes. AMD doet dat door i/o-dies op een ouder en goedkoper procedé te maken en voor de cores kleine, minder foutgevoelige chiplets te bouwen. Ook Intel maakt met zijn heterogene ontwerpfilosofie optimaal gebruik van beschikbare technieken om designtargets te halen. Vrijwel alle chipontwerpers zijn bezig met designoptimalisaties met behulp van slimme packaging en toepassingsgerichte ontwerpen.

Een volgende logische stap, die zich al ten dele bewezen heeft, is om nog slimmere ontwerpen voor chips te maken. Omdat het ontwerpproces een zeer complexe en vooral langdurige exercitie is, valt daar veel winst mee te behalen. Menselijke ontwerpers kunnen fantastische chips ontwerpen, zo is de afgelopen decennia gebleken, maar ze kunnen nooit met alle variabelen rekening houden. AI-gedreven ontwerpen kunnen veel sneller itereren en halen resultaten die zich met handwerk kunnen meten, maar in een fractie van de tijd zijn gerealiseerd.

Het zou dus zomaar kunnen dat we aan de vooravond van flinke stappen in chipontwerp staan, die nog snellere, nog zuinigere en nog slimmere chips mogelijk maken. Dat de grootste chipontwerpers daar allemaal op inzetten, onderstreept het belang van de techniek. Google heeft al laten zien dat het AI inzet voor floor planning-optimalisatie en ook Cadence gebruikt AI-software, genaamd Cerebrus, voor AI-floor planning. Toch lijkt met name Synopsys klaar voor de volgende stap, waarbij niet alleen de floor planning, maar ook de architectuur wordt getweaked en de chips kunnen worden geoptimaliseerd voor de software die erop moet draaien. Volgens Synopsys moet dat in de komende tien jaar misschien wel duizend keer zo hoge prestaties mogelijk maken. Daarmee blijft Moore's Law wellicht toch weer in stand.

Reacties (30)

Sorteer op:

Weergave:

Leuk artikel maar mss niet echt volledig als het over chipdesign gaat. Dit wordt hier nogal eenzijdig belicht.

Chipdesign bestaat uit vele elementen, waarvan analoog en digitaal design/verificatie de voornaamste 2 zijn. Het analoge stuk is de interface met sensoren, analoog-digitaal conversie, voedingen, klokken, PLL, enz. Het digitale stuk is alle processing on chip (sequencers, geheugen, DSP, ..), dit kan hardwired zijn maar evengoed een processing core die programma's kan uitvoeren.

De verdeling tussen analoog en digitaal hangt af van de toepassing. Waar processors en de NAND chips uit het artikel vooral digitaal zijn, zitten er bvb in een gsm ook veel chips waarbij het analoge gedeelte het grootst is.
Beide kanten hebben eigen tools voor design en verificatie en het artikel hier gaat over het digitale stuk. Daar zijn de bouwblokken idd de logic gates. Deze zijn dan weer opgebouwd uit transistors. Een digitaal design wordt geprogrammeerd en deze code wordt naar 'synthetiseerbare' code geconverteerd, die het mogelijk maakt voor place-and-route programma's om de gates op chip te zetten en te connecteren (dit is grotendeels een automatisch proces wat manuele instelling vereist).
De basis componenten voor analoog design zijn transistors, weerstanden, capaciteiten en diodes. De schema's voor analoog design worden veelal met de hand getekend en ook het plaatsen op chip (de layout) is vooral manueel. De reden hiervoor is dat analoog design veel gevoeliger en signaal integriteit snel verloren wordt bij ongewenste koppelingen.
Het simuleren van digitale logica gaat snel omdat de nauwkeurigheid van de signalen niet van belang is (timing wel), 0 of 1 kent maar 2 states (4 als je Z en X erbij neemt). Hierdoor is het dankbaar om met behulp van AI de processen te optimaliseren, je kan itereren.
Bij analoog design valt de simulatie tijd van bouwblokken nog mee maar als je de hele chip simuleert kan dit makkelijk weken duren voor 1 seconde simulatie. Een AI laten itereren is dus meestal onmogelijk met een deadline in zicht. Ik geloof wel dat in de toekomst er ook aan analoge kant AI mogelijkheden zullen zijn.

Er staan ook enkele foutjes in het artikel: er zijn niet veel gates die met 2 transistoren gemaakt kunnen worden (inverter, tie-high en tie-low), de rest heeft er meer nodig. Idem voor flipflops die bestaan uit meer dan 2 gates.
Goede comment, en wat je beschrijft is voor mij ook reden dat ik zeker geen ai-gestuurd ontwerp van volledige analoge blokken verwacht. Vooral omdat je imo nog wel heel optimistisch bent, er zijn zat analoge blokken die weken simulatie nodig hebben voor een milliseconde aan resultaat. Complete chips analoog simuleren is voor alles behalve de kleinste chips gewoon niet haalbaar. En dan lijkt mij dat inderdaad bij iets als ai wat heel veel trial en error gebruikt niet realistisch is voorlopig.

Ik had laatst wel weer een presentatie gezien over analoog layouten meer automatisch te laten doen met machine learning. Waarbij het hielp dat bij finfets je simpelweg vrijheidsgraden verliest, waardoor het makkelijker wordt te automatiseren. Tegelijk hun ondertitel was: "why this time it is different". Oftewel die realiseerde zich ook dat de beloftes op dit gebied al heel lang komen en gaan, maar de echte vooruitgang beperkt is.
zo, even grafdelven :-)
het duurde even, maar ik weet weer waar ik het had gelezen.
https://www.physics.smu.edu/pseudo/GeneticAlgo/Koza/
Het is een artikel uit 2003, maar gaat precies over het door een computer laten ontwerpen van analoge componenten. Niet door AI, maar door evolutie.
Er wordt gesuggereerd dat het in de toekomst eenvoudig wordt om custom ICs (eigenlijk ASICs) te laten maken.

Zelf denk ik dat dit maar voor een relatief klein aantal bedrijven is weggelegd.
Het duurt uiteindelijk toch behoorlijk lang voordat je een nieuw ontworpen ASIC op je eigen PCBs (printplaat) hebt liggen. Daarna begint pas de feedback, d.w.z. de realiteitscontrole om erachter te komen of de chip het goed doet qua functionaliteit. Het nadeel van de custom chips is dan weer dat ze niet flexibel zijn.

Het artikel meldt óók dat FPGA's vaak als te langzaam bevonden worden, terwijl deze juist in specifieke taken heel krachtig en snel zijn, en flexibel. Daarom zie ik veel voordelen in Adaptive Computing Accelerated Platform, zoals voorgesteld door Xilinx: https://www.xilinx.com/video/acap/compute-revolution.html

Het idee is dat je dan een hybride chip hebt, met allerlei verschillende onderdelen er op:
  • CPU cores
  • real-time cores (zoals in microcontrollers)
  • vector processing cores (zoals in GPU's)
  • FPGA-achtige delen voor specifieke algorithmen
Op een highlevel manier wordt dan (idealiter) tijdens gebruik een bepaalde software taak, of een deel daarvan op de meest geschikte core uitgevoerd.
Doordat dit flexibelere mogelijkheden biedt zie ik daar meer in.
Als iemand die in de wereld van data en AI zit (eerder in de praktijk, nu meer aan de kant van beleid), vraag ik me nog steeds af en toe af bij willekeurige dingen zoals chipdesign “kan dit niet veel slimmer middels AI?”. Om daar antwoord op te kunnen geven is kennis van de materie essentieel, maar mijn ervaring is dat we nog steeds aan de vooravond staan van heel veel “AI-powered” doorbraken. Leuk om te horen dat dit ook geldt voor chipdesign!
(PS dit klinkt misschien alsof ik de hype rondom AI alleen maar aan wil wakkeren. Op dit moment zijn er ook veel beperkingen dus het is zeker geen wondermiddel, maar de hype is niet alleen maar gebakken lucht)
AI word te pas en te onpas gebruikt en is nog steeds een modewoord. Als ik dit artikel lees dan gebruikt men logica om zaken te optimaliseren te verbeteren. Het uitgangspunt blijft steeds nog een menselijk ontwerp. Ik zie dus eigenlijk totaal geen kunstmatige intelligentie maar gewoon optimalisatie en doorrekenen van wat het snelste/zuinigste is.
Heb je het over AI dat zou een chip dus volledig door een systeem zelfstandig ontwikkeld moeten worden. Zo ver zijn we nog lang niet.

Als ik naar chips en hun snelheid kijk is er op risc-v gebied aardig wat ontwikkeling maar ook daar blijft basis menselijk ontwerp dat je met software misschien kan optimaliseren.

Maar het wachten is op een geheel door kunstmatig systeem ontwikkelde cpu, dan pas kun je wat mij betreft over ai spreken.
Bij AI denk ik ook aan de droids uit StarWars. Roger, roger! :P
Bij AI denk ik ook aan de droids uit StarWars. Roger, roger! :P
Precies ik ook, Star Wars, en Star Trek, en I Robot (2004), en vooral Terminator (1984), en Terminator 2: Judgment Day (1991), en veel andere series/films.

Met Roger, roger! moet ik altijd denken aan de film Airplane! (1980)
We need Moore Roger....
Machines designing machines... skynet... is born
Ik heb al een tijdje het gevoel in een film te zitten... :P
Het gebruik van de term `machine learning' in plaats van `AI' was misschien beter geweest om (je) 'verwarring' te voorkomen. Echter, kun je jezelf afvragen hoe 'eerlijk' het is om de lat voor het gebruik van de term `AI' zo hoog te leggen. Van een daadwerkelijk intelligent wezen verwacht je toch ook niet, dat deze bij het ontwerpen van een nieuwe chip het wiel zelf opnieuw uitvindt? Deze zal ook voortborduren op kennis, inzichten, ontwerpregels en dergelijke bij het maken van een nieuw chipontwerp.
Intelligentie is er natuurlijk is vele soorten als je dat in IQ wil uitdrukken. Met laag IQ zul je geen chips kunnen ontwerpen.

Maar als ik https://nl.wikipedia.org/wiki/Intelligentie bekijk en wat daar onder intelligentie verstaan wordt dan is machine learning nog steeds de betere term dan AI.

De turing test is een voorbeeld https://en.wikipedia.org/wiki/Turing_test waarbij een ai systeem op 1 gebied niet meer van een mens te onderscheiden is. Daar is het schijnbaar bijna: https://dataconomy.com/20...sest-passing-turing-test/
Maar goed op die test is ook commentaar en verschillende visies.

Uiteindelijk zie ik kunstmatige intelligentie als iets dat vergelijkbaar is met de mens. Dus een systeem dat zelf creatieve oplossingen bedenkt en met eigen oplossingen komt. Een andere vraag is of emotie dan weer een onderdeel moet of kan zijn van kunstmatige intelligentie. Je kan het heel nauw of heel breed zien.
Blijft erbij dat we daar nog ver vandaan zijn en machine learning de juist term is.
Het kan vooral... maar of het slimmer is - valt niet meer te zeggen, want:

(Ik vermoed dat) deze processen zijn aangekomen bij het punt van "niemand weet nog hoe het werkt, maar kan zien dat het werkt".
Aansluitend: Liep AMD niet al voort op de rest van de industrie met tamelijk geavanceerde software voor de autolay-out van hun chips? Ik geloof niet dat die al “AI”-powered was maar competitief met menselijke lay-out van chipcomponenten (op de die).
Klopt, maar die libraries hadden ook nadelen. De ontwerpen waren zeer dense, wat toendertijd(!) beperkingen meebracht inzake de werkingsfrequenties (en mogelijk ook verbruik) van de uiteindelijke chips. Nadien zijn ze terug meer stukken "met de hand" gaan optimaliseren.
Heerlijke uitdrukking: ’Aan de vooravond van...’ Zijn we ooit als mensheid ergens anders geweest? :)

Mooi artikel! Ik heb ooit in school een aantal lessen gehad over een programma (Orcad dacht ik) om printplaten te maken maar dat ging dan gewoon over weerstanden, condensatoren, transistoren,...
Ik weet nog dat de we dan de automatische functie om printbanen te tekenen eens mochten testen maar het resultaat was niet geweldig. We moesten het manueel doen van de leraar.
ja ik vind het ook een leuk artikel, ik wist niet dat er zoveel symbolen voor zijn om een ontwerp te maken omdat vervolgens in de praktijk te brengen.Ik heb echt nog nooit electronica gehad op school en vooral ook niet de techniek achter chips.

[Reactie gewijzigd door rjmno1 op 23 juli 2024 06:30]

Dat moet lang geleden zijn.
Interessant, mooi artikel. Juist het ontwerpen van dedicated hardware/software combi met 1000x versnelling voorzie ik als heel snel te worden gerealiseerd ten behoeve vn mining en verhandelen cryptocurrencies, dat zou wel eens heel grote opschudding kunnen betekenen ook als er tzt op eisen gesteld gaan worden aan maximaal energieverbruik per crypto transactie (door regeringen/ sustainability eisen). Als minen dan ook nog veel sneller gaat dan gaat dat veel zaken veranderen, alleen nog weinig idee in welke richting :-)
Crypto minen is traag en energieverslindend by design. De moeilijkheid wordt zo aangepast dat het altijd 10 minuten (voor Bitcoin, ander getal maar zelfde concept voor andere coins) duurt voor een Blick gevonden wordt. Snellere hardware zal er enkel voor zorgen dat alle miners nieuwe hardware moeten kopen.
Goed artikel! Heel interessant. Een vraag die wel bij me op kwam was in hoeverre AI dan al niet toegepast kan worden op andere processen - zoals bijvoorbeeld moederborden ontwerpen. Ik neem aan (zonder al teveel kennis van het onderwerp dus zeg: schatten) een moederbord ontwerp ook goed geoptimaliseerd zou kunnen worden met AI voor een betere en efficiëntere indeling gebaseerd op voorkeuren (optimale performance, density, noem maar op).
Zoals gezegd; interessante materie!
Dit artikel doet me denken aan een vak wat ik lang geleden bij de TU Delft heb gevolgd toen ik daar elektrotechniek studeerde. Bij dat vak schreven we software voor het layouten van elementen op een chip waarbij we gebruik maakten van simulated annealing, een algoritme waarmee je niet perse de optimale oplossing vindt, maar met heuristics wel binnen afzienbare tijd een goede oplossing kan vinden. Dat was een leuk vak, ik had er ook een goed cijfer voor.

Dat was meer dan 25 jaar geleden, in de jaren '90 van de vorige eeuw; toen was AI zoals we dat nu de afgelopen vijf jaar hebben nog niet aan de orde, en hadden de chips nog geen vele miljarden transistoren zoals de chips van tegenwoordig.
Voordeel nu is dat computers sneller geworden zijn dus de algoritmes voor optimalisatie ook sneller uitgevoerd kunnen worden. Maar kun je een algoritme AI noemen ?
Dat computers sneller zijn geworden is één van de redenen waarom AI de laatste jaren zo in opkomst is. De principes van machine learning zijn namelijk al decennia geleden bedacht, alleen kon het toen niet goed toegepast worden omdat er geen computers waren die krachtig genoeg waren om een neuraal netwerk te bouwen d.m.v. training.

AI is een algoritme, maar niet ieder algoritme is AI. En de grens tussen welke algoritmen je nu wel of niet "AI" zou kunnen noemen is denk ik ook vaag.
Zie het anders AI begint met een algoritme. Als het goed is gaat het vanuit dat algoritme zichzelf verder ontwikkelen tot een punt waarop je over intelligentie kan spreken. Het moet dan zelfstandig algoritmes gaan wijzigen.
Met toenemende cpu kracht zal de ontwikkeling van een algoritme steeds sneller gaan en zal er een punt komen waar je kan zeggen dat intelligentie bereikt is.
Dan is nog steeds de vraag intelligentie of 1 gebied ?of meerdere gebieden en kun je van intelligentie spreken als dat maar op 1 gebied is ?
Ik heb altijd gezegd, AI wordt onze ondergang. Misschien niet nu of morgen, maar in de toekomst. En met ondergang bedoel ik niet meteen het Ternimator scenario, maar meer een totale afhankelijkheid van AI technieken

Hoe mooi ik de techniek ook vindt, er komt een moment dat AI betere dingen verzint dan wij mensen. Wat doe je dan als ontwerper? Ga je stug door met zelf ontwerpen, of laat je een beter product maken door een AI algoritme?

Op welk moment kunnen we niet meer zonder? (en zakt mogelijk ook de kennis)

Ik denk dan bv aan energiebehoefte en opwekking. Dat komt nu nog uit live metingen en historische gegevens. Een AI routine zou dat op den duur beter kunnen voorspellen, echter na een tijdje heb je zelf niet meer de kennis om het zelf te kunnen. En ben je dus totaal afhankelijk van "code" .

Ik vindt het ook een beetje een modewoord aan het worden, als je AI gebruikt dan is het goed. ;-)
AI lijkt mij in de huidige staat toch beter in staat om te testen dan om te ontwerpen.
Als je AI laat ontwerpen en ook testen dan heb een blinde plek waarvan niemand weet hoe groot die is.

Op dit item kan niet meer gereageerd worden.