Tek.no

Guide

Slik designes mikroprosessorer

De er veldig små, men kan være veldig avanserte.

Shutterstock
Øyvind Nydal Dahl
12 Aug 2014 18:00

Design av brikken

Tidligere så vi på hvordan en transistor fungerer, og hvor viktig denne oppdagelsen som ble gjort i 1947 har vært i utviklingen av ny teknologi. Blant annet så vi at det kan finnes over en milliard transistorer inne i en prosessor eller mikrobrikke. For de fleste så høres dette helt utrolig ut, og det er vanskelig å forestille seg hvordan dette er mulig å få til. I denne guiden skal vi se på hvordan en mikrobrikke blir designet – fra idé til ferdig brikke.

Prosessen for å lage en mikrobrikke kan deles grovt inn i disse delene:

  • Tegning av brikkedesign
  • Overføring av brikkedesign til silisiumbrikke
  • Innpakning av silisiumbrikke

Hva er en mikrobrikke?

En mikrobrikke er en elektronisk krets som er integrert på én enkelt brikke. De første brikkene, som ble laget på 50-tallet, inneholdt bare noen få komponenter. Ikke mer enn at det var nok til å lage én enkel logisk funksjon. Videre førte utviklingen til at flere transistorer ble integrert på brikkene, og dermed flere individuelle funksjoner, og etter hvert, hele systemer.

Utviklingen har nå kommet så langt at vi har millioner av logiske porter, og over en milliard individuelle transistorer – integrert på én liten brikke. Prosessorer er et typisk eksempel på en avansert mikrobrikke, men man kan også finne alt fra forsterkere til WiFi-funksjonalitet integrert på mikrobrikker.

3000 ganger mindre enn et hårstrå på tvers

Mikrobrikker kan virke litt magiske med tanke på hvor mange transistorer og hvor mye avansert funksjonalitet man klarer å få inn på bare noen få kvadratmillimeter.

Intels nyeste prosessorer bruker noe som kalles en 22 nm prosess. Dette betyr at hver transistor kan være så kort som 22 nanometer. Det er bare 0,000000022 meter – noe som betyr at man kan få plass til ca. 3000 transistorlengder på bredden av et hårstrå.

Intel har anslått på deres «roadmap» fra 2009 at de vil komme med et produkt som bruker 5 nm teknologi i 2020. Ifølge Bob Colwell, tidligere ansatt ved Intel, vil dette være slutten på «Moore's lov». Moore's lov har vært en gjeldende tommelfingerregel som sier at antall transistorer i en prosessor dobles hvert andre år. Den har fortsatt å være gyldig frem til idag.

Det kan virke ganske mystisk og uforklarlig det hele. Hvordan i alle dager klarer man å jobbe med noe som er så utrolig lite som 22nm?

For å forstå dette trenger vi å forstå at transistorer er komponenter som er bygd opp av noen få forskjellige materialer. Man trenger bare en bitteliten mengde av disse materialene for å få en fungerende prosessor. Ved å plassere ekstremt små mengder av disse materialene i riktig posisjon, med ekstremt høy nøyaktighet, kan man lage transistorene veldig små. Og det hele begynner på en helt vanlig datamaskin.

Hvordan designes en mikrobrikke?

En mikrobrikke designes først på en datamaskin. Faktisk kan du designe din egen mikrobrikke hjemme på din egen PC ved å installere programvare for dette. Kommersielle programvareløsninger for å designe en brikke kan gjerne koste hundretusenvis av kroner – men det finnes også gratisløsninger basert på åpen kildekode som gjør det mulig for hvem som helst å designe en brikke. Å lære å designe mikrobrikker kan man for eksempel gjøre ved å studere "Nanoelektronikk" på Universitetet i Oslo.

Men prosessen for å gå fra et design på en PC til å få laget en ferdig brikke man kan bruke, er i utgangspunktet en veldig dyr affære. Mye dyrere enn små firmaer og universiteter kan ta seg råd til.

Derfor har det oppstått forskjellige «pools» hvor universiteter og mindre bedrifter kan gå sammen om å lage sine brikker. Da kan man få produsert seg noen eksemplarer av sin egen brikke for «bare» noen titusener av kroner. Det er kanskje derfor mikrobrikkedesign ikke er en vanlig hobby å ha.

La oss se på et eksempel på hvordan en mikrobrikke blir til.

Overordnet systemdesign

Som i de fleste prosjekter, så begynner man med å lage et overordnet blokkskjema av det man skal designe for å få oversikt over de forskjellige delene man trenger for å lage brikken.

Blokkskjema av systemet som skal designes.Foto: Øyvind N. Dahl

Hver av blokkene deles inn i mer og mer detaljerte deler inntil man har blokker som enkelt kan designes på egenhånd. Så begynner arbeidet med å designe hver enkelt del, og sette disse sammen til å fungere som det store systemet.

Blokkskjema av en av blokkene fra hovedskjema.Foto: Øyvind N. Dahl

Skjematikk

For hver enkelt del av systemet trenger man å designe det som kalles for skjematikk. Skjematikk er en måte å beskrive hvordan en elektronisk krets skal kobles sammen. Man bruker symboler for å symbolisere forskjellige komponenter, og man bruker streker for å vise hvordan disse komponentene skal kobles sammen.

Design av ett element i en mikrobrikke.Foto: Øyvind N. Dahl

Skjematikken tegnes inn i et dataprogram hvor man kan simulere hvordan den vil fungere når man kobler til strøm. På denne måten kan man kontrollere at det kommer til å fungere slik man ønsker.

Når skjematikken er klargjort, brukes denne som plan for å designe hvordan selve utlegget av brikken skal se ut – det vil si å tegne hvilke materialer som skal plasseres hvor.

Tegning av brikkedesign

For å lage en transistor må man sette sammen materialer på en bestemt måte. Når man tegner utlegg av brikken bestemmer man hvor man vil plassere de forskjellige materialene. For å gjøre dette, tegner man rett og slett firkanter av forskjellige farger som representerer forskjellige materialer. Ved å plassere disse på bestemte måter, kan man lage forskjellige komponenter. Deretter kobler man komponentene sammen ved å tegne baner av metall mellom dem.

Det er disse tegningene som forteller maskinen, som til slutt skal lage den fysiske brikken, hvilke materialer som skal hvor.

Simuleringer og tester

Etter at alle firkantene er tegnet opp i henhold til skjematikken, utfører man diverse tester og simuleringer. Dette skal sørge for at firkantene faktisk stemmer overens med de komponentene og sammenkoblingene man tegnet i skjematikken – og at kretsen oppfører seg på den måten man vil den skal oppføre seg.

Man gjør dette på alle delene, og deretter setter man disse sammen til større deler – og simulerer igjen på den større delen for å se at alt fortsatt fungerer som ønsket. Dersom alt fungerer etter planen, sender man inn designet av brikken til en produsent, som til slutt mater designet inn i en maskin som produserer den ferdige brikken.

Bilde av ferdig designet mikrobrikke.Foto: Øyvind N. Dahl

Automatisering

Når Intel skal designe en ny prosessor med en milliard transistorer så tegner de ikke opp hver enkelt transistor for hånd. Dette ville vært utrolig tidkrevende. I stedet er det vanlig å gjenbruke det man har designet tidligere, i tillegg til at mye av designet kan gjøres automatisk.

Ved hjelp av et programmeringsspråk som kalles «hardware design language» kan man skrive kode for å beskrive hvordan man vil at elektronikken skal oppføre seg. Komponentene vil tegnes automatisk ut ifra denne koden slik at man kan lage mye mer komplekse kretser enn ved å tegne alt for hånd. Men i deler som krever ekstra høy ytelse, for eksempel SRAM-celler, tegnes fortsatt mye for hånd for å forsikre at man får et optimalt design.

Les også