JavaScript is currently disabled.Please enable it for a better experience of Jumi. Elektroniktidningen
Guidelines for contributing Technical Papers: download PDF
IP-block i öppen källkod, för implementering i FPGA eller asicar, får allt fler användare och projekt. Svenska ÅAC Microtec hör till tillskyndarna - dess satellitdator byggd på kärnan Openrisc1200 ska skjutas upp i rymden i vår.
För ett år sedan fanns 670 projekt på öppenkällkodsforumet opencores.org, idag finns 806. Sajten har numera över 94 000 registrerade användare, och mellan 2500 och 3000 tillkommer varje månad. Det är några siffror som illustrerar hur användningen av IP-block i öppen källkod ökar.

– Attityden förändras också. Det var inte länge sedan som många användare på stora företag använde hotmail- eller gmailadresser vid registrering och på forumet. Men numera använder allt fler sina vanliga företagsadresser, berättar Johan Rilegård som är vd på Orsoc, det svenska konsultföretag som driver Opencores.

Antalet kunder som öppet berättar att deras projekt utnyttjar öppna IP-block ökar också, inom så skilda branscher som rymdteknik, fysikforskning, telekom och industrielektronik, berättar han.

– Ofta är det kundernas kunder som kräver öppen källkod. Av kostnadsskäl förstås, men också av kvalitetsskäl. Några av de öppna IP-blocken hör till de bäst verifierade i världen, säger Marcus Erlandsson, Orsocs teknikchef.

En sådan användare är ÅAC Microtec, som utvecklat en rymdkvalificerad version av 32-bitars processorkärnan Openrisc1200. Den har jämte Orsoc tagits fram i samarbete med FMV, NASA och amerikanska försvaret, och ska sitta i en kommunikationsdator som får premiärflygning i en satellit i april.

– Dagens rymdprocessorer som Leon är ofta väldigt dyra, de kan kosta miljoner att licensiera. Vårt uppdrag var glasklart – sänk kostnaderna. Så därför har vi valt att använda öppen källkod i så stor utsträckning som möjligt, säger Fredrik Bruhn på ÅAC Microtec.

Utvecklingsplattformen som Orsoc tagit fram kring Openrisc1200 innehåller förutom kärnan en rad periferienheter och verktyg för både mjukvaruutveckling och implementering i FPGA eller asic. Den kan kundanpassas med såväl opencores-IP som kundens egna IP, och kan förstås återanvändas i kommande projekt.

Hans företag har byggt vidare på den av Orsoc utvecklade och kundanpassade processorplattformen, och lagt in skydd för att göra den rymdtolerant, bland annat genom att använda bredare databussar och hårdvara som korrigerar fel i realtid. Tillsammans med Orsoc har man också gått igenom hela kärnan, lagt till förbättringar och hittat några buggar, och på gängse vis inom öppenkällkodsvärlden lagt tillbaks resultatet till opencores-forumet.

– Det vi gjort påverkar inte processorns prestanda, och vår kärna, Openrisc32-FT (fault tolerant) kan använda exakt samma kompilator och samma Linuxversioner, säger Fredrik Bruhn.

En skillnad är dock att den feltoleranta kärnan upptar nästan dubbelt så mycket resurser i en FPGA. Och då ytan blir dubbelt så stor drar den också runt dubbelt så mycket ström.

Med kommunikationsmodulen som ÅACs processor ska sitta i försöker företaget skapa en ny nivå för "plug&play" i rymdsammanhang. Utrustningar som ska kommunicera med modulen behöver bara skriva sina egna drivrutiner, i XML, så konfigurerar ÅACs dator resten automatiskt.

– Vi skapar operativsystemet "on the fly" och automatkonfigurerar hela satellitens funktion, säger Fredrik Bruhn.

I ett separat projekt har ÅAC också rymdanpassat en helt annan processor, en liten PIC16 där kärnan också är hämtad från Opencores. Denna sitter på ett litet kort med AD- och DA-omvandlare och används för att samla in data från sensorer för att säkerställa att satelliten fungerar som den ska. Kortet drar bara 200 mA.

– Vi har skrivit om kärnan så den blivit strålningshärdig och feltolerant. Och samtidigt gjort den snabbare - normalt kör PIC16 fyra klockcykler per instruktion, men vår kör en instruktion per klockcykel, berättar Fredrik Bruhn.

Att ÅAC och andra kunder valt Openrisc och andra öppna IP-block hänger i stor utsträckning samman med att det numera finns ordentliga utvecklingsverktyg, färdiga plattformar som kan kundanpassas, och att mycket jobb läggs ned på att kärnan ska kunna använda den senaste versionen av Linux, för närvarande 2.6.34.

– Vi har lagt ner mycket jobb på att säkerställa ekosystemet, med professionell support och designtjänster, och vi är övertygade om att det är en viktig orsak till att teknologin blir allt mer populär, säger Johan Rilegård.

En del i ekosystemet är att kvalitetsarbetet på Opencores lyfts till en ny nivå. Numera finns många IP-block med strukturerad  revisionshantering, där alla underversioner, all dokumentation och alla testbänkar för varje version finns ordentligt hanterat. De projekt som så önskar kan ansöka om märkning med OCCP, Open Cores Certified Project, vilket enligt Orsoc är en minst lika bra kvalitetsstämpel som kommersiella IP-block kan erbjuda. Hittills har något dussin IP-block ansökt om sådan certifiering, varav Openrisc1200 förstås är ett.

Kärnan Openrisc1200 blir dessutom allt snabbare.

– Rekordet hittills ligger på 293,8 MHz i existerande FPGA-kretsar, en Xilinx Virtex 5, säger Marcus Erlandsson.

Arbetet på nästa version, kallad Openrisc2000, har också påbörjats. Arkitekturspecifikationen håller på att finslipas, och Orsoc räknar med release framemot våren.

– Den är tänkt för multiprocessorimplementering, och blir ännu mer modulär än Openrisc1200. Användare ska kunna lägga till och ta bort enskilda instruktioner, säger Marcus Erlandsson.
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)