SENTRALT: FPGA-brikker ser ut som alle andre, men har revolusjonert utvikling av høyintegrert elektronikk i mindre serier. Bilde: Data Respons.

FIELD PROGRAMMABLE GATE ARRAY

Uten denne brikken stopper norsk elektronikk-industri

 

Norsk FPGA-forskning

  • Fordi FPGA er en så fleksibel plattform, er det mulig å utvikle nye måter å anvende teknologien på.
  • Forskere ved Institutt for Informatikk ved UiO har utviklet en teknikk som gjør at konfigurasjonen effektivt kan byttes under drift.
  • Det betyr et nytt nivå i fleksibilitet.
  • En analogi er det ville være mulig å bygge om en sportsbil til en SUV under kjøring.

Det norske FPGA-miljøet

  • Det norske FPGA-miljøet teller et stort antall aktører innen både industri og akademia.
  • FPGA-forum er et årlig Tekna-tilknyttet treff der erfaring utveksles.
  • Neste forum arrangeres 13.-14. februar 2013 i Trondheim,
  • Se www.fpga-forum.no

Mens mikroprosessoren kan gjøre utrolig masse basert på programvare som utnytter den, er den ikke alltid tilstrekkelig. Noen ganger trenger man spesialbygde brikker som er tilpasset et formål.

Når man skal lage produkter i store serier er det svært ofte lønnsomt å lage en såkalt ASIC (Application Specific Integrated Circuit) en brikke som er skreddersydd til formålet. Ulempen med ASIC er at det koster veldig mye å lage en slik krets.

Utviklingen gjøres i spesielle programmer hvor konstruktørene kan hente funksjonalitet fra store biblioteker og det meste av produksjonen er høyt automatisert. Men likevel er dette skreddersøm i silisium og det skal store serier til før det lønner seg.

Les også: Supermateriale kan revolusjonere elektronikken

Hurtig og billig

Heldigvis er det et alternativ: FPGA-en.

En Field Programmable Gate Array er en brikke full av «elektronisk Lego», som ved å laste inn «byggebeskrivelsen» blir til en borg eller en lastebil. Innmaten kan altså kobles om med programvare og raskt skreddersys til formålet.

FPGA-er er ikke noe nytt, og har siden introduksjonen gradvis spist seg inn i markedet for ASIC, for nå nærmest å ha overtatt det helt. For dette er logikk-kretser hvor den indre funksjonaliteten kan programmeres i stedet for å lages fast i silisium.

En FPGA gjør alt mye enklere for dem som vil lage logikk-kretser i mindre serier.

Det er ofte viktig når man lager spesialprodukter for et begrenset marked, og er i så måte veldig viktig for norsk elektronikkindustri.

- Ved bruk av ferdigutviklede IP blokker og evalueringskort er det mulig å redusere utviklingstiden betraktelig når man først har bestemt for å ta i bruk FPGA teknologi i et nytt produkt, sier Ivar Sehm, Manager R&D Services i Data Respons Norge.

Det er kort vei fra man begynner å programmere en FPGA til den er klar til anvendelse. Brikkene skal jo ikke produseres. Det eneste som trengs for at de skal virke er å utvikle maskinvarebeskrivelse som forvandler en brikke i form av et blankt ark til en med en definert funksjon.

Det betyr at elektronikk-konstruktørene kan endre designen hele tiden. Selv etter at de er montert, noe som er svært vanskelig og kostbart når vanlige brikker er kommet til et sent stadium i prosessen.

Les også: Dette er verdens minste ledning i silisium

Flyktig

Det som styrer en FPGA er en konfigurasjon lastet inn i SRAM – statisk RAM – den raskeste formen for datahukommelse som bare består av sammenkoblede transistorer.

Ulempen med det er at minnet forsvinner når strømmen forsvinner.

Akkurat som i en pc, hvor RAM må fylles opp fra en disk eller flash når pc-en booter. Derfor må en FPGA også «bootes» når det settes strøm på kretsen. Dette gjøres på under ett sekund ved at et internt eller eksternt flashminne overfører informasjon til SRAM i kretsen.

I praksis er det to minnelag i kretsen. Ett som holder rede på hvordan byggeblokkene er konfigurert, altså hvordan de er koblet sammen, og ett som holder data for den anvendelsen som kretsen skal brukes til.

Kan brukes til alt

Fleksibiliteten har gjort bruken av FPGA-brikker svært utbredt.

Mange av dem er også utstyrt med ferdige blokker som kan kobles sammen og utføre effektiv bilde- eller signalbehandling.

Det gjør at de kan brukes i alt fra forbrukerelektronikk i tv-er, tv-dekodere og digitalkameraer til medisinsk utstyr, indust-rielle anvendelser, lyd, sikkerhet og kommunikasjon.

Det gjør at de kan brukes i alt fra forbrukerelektronikk i tv-er, tv-dekodere og digitalkameraer til medisinsk utstyr, indust-rielle anvendelser, lyd, sikkerhet og kommunikasjon.NORSK GEOMETRIMASKIN: I hver slik boks, som er laget av projectiondesign og Data Respons, er det elektronikk bygget rundt en FPGA. Boksen henter simulatorbilder fra en PC og regner dem om slik at geometrien og overgangen til nabobildet blir sømløst, noe som kalles warping og edge blending. Deretter sendes dataene til 24 av de svære projektorene som projectiondesign har levert til Swire Marine Training Centre i Singapore.

Styrer kretsen

Kjernen i en FPGA er en matrise av logikkblokker som kan kobles til hverandre gjennom forbindelser.

Konfigurerbare logiske blokker, CLB, som hver har et sett med innganger og utganger er selve hemmeligheten. Inngangene kan konfigureres som et logisk uttrykk, slike som AND, OR og NOR.

I byggeblokkene er det også et visst minne som kan holde data som skal bearbeides, akkurat som registre i en prosessor. Samtidig er det også større minneblokker spredt rundt på kretsen.

Det at alle blokkene ligger rundt omkring på kretsen i en stor matrise betyr også at de kan gjøre beregninger samtidig i motsetning til prosessorer som stort sett må utføre instruksjoner etter hverandre. Mengden minneblokker som er tilgjengelig på FPGA-er øker i takt med at størrelse på transistorene krymper og gjør en moderne FPGA svært regnekraftig.

Les også: Verdens raskeste datamaskin

Veldig fleksibel

En moderne FPGA har så mange logikkblokker at det er fullt mulig å bygge en prosessor på den.

Og ikke bare det. Det er plass til mer funksjonalitet på den samme brikken slik at det er mulig å bygge det man kaller «system on a chip», det vil si all elektronikken inn i brikken. Det gir også utviklerne fleksibilitet til å velge om funksjoner skal realiseres i programvare eller i maskinvare. Det som ikke er tidskritisk kan kjøres i programvare på prosessoren, mens tidskritiske deler realiseres som maskinvare.

Mens mikroprosessorer og ASIC-er er konstruert på en spesiell måte, er FPGA-er helt fleksible og kan bli til det man ønsker gjennom konfigurering.

Det betyr at FPGA-er typisk gjør beregninger mer effektivt enn prosessorer og dermed bruker mindre strøm til oppgaven.

Et bevis på fleksibiliteten er at forskere ved UiO arbeider med en ny teknikk for å effektivt reprogrammere kun deler av en FPGA. Da kan for eksempel en hel prosessor byttes ut på under 1 ms.

Les også: Se Googles hemmelige datasentre

Effektiv

I motsetning til en mikroprosessor har en FPGA mye lavere klokkefrekvens.

De raskeste tikker avgårde med bare 300 MHz, eller rundt en tiendepart av prosessoren i en vanlig pc. FPGA-ene har imidlertid i tillegg til sin parallelle natur også svært stor I/O-kapasitet. Det vil si stor regnekapasitet internt og evne til å kommunisere med omverdenen.

Dermed har den ikke de tradisjonelle flaskehalsene som andre kretser har. Det kompenserer for at den har lavere klokkefrekvens.

I begynnelsen ble FPGA-ene stort sett brukt til å «lime sammen» andre kretser som prosessor, minnekretser osv., men har i stadig større grad tatt over også mange regneoppgaver.

Slik virker FPGA. Illustrasjon: Heidi Bredesen. Kilde: Mentor Graphic corp.
I begynnelsen ble FPGA-ene stort sett brukt til å «lime sammen» andre kretser som prosessor, minnekretser osv., men har i stadig større grad tatt over også mange regneoppgaver. Slik virker FPGA. Illustrasjon: Heidi Bredesen. Kilde: Mentor Graphic corp.

Hovedkilde: Professor ved Institutt for informatikk ved UiO, Jim Tørresen.

Les også:

Dette endrer hele IT-landskapet

Super-wifi rekker mange kilometer

Berøring, bevegelighet og alt-i-ett

Ny superdisk om to år