Johan Rilegård: Bra verktyg kan lyfta systemprestanda 70 procent
Det startar just nu en rad spännande FPGA-projekt baserade på öppen källkodsprocessorn OpenRISC 12000 och den tillhörande utvecklingsplattformen. En viktig drivkraft är verktygskedjorna och de unika verifieringsmiljöerna som ligger i yttersta framkant, ofta benämnt ”bleeding edge”.Johan Rilegård är vd på Orsoc AB som är experter inom design av komplexa systemkretsar liksom FPGA- och asicutveckling. Företaget tar fram systemen baserade på öppen källkodsteknologi från sajten OpenCores som Orsoc äger och driver. |
Med GNU:s verktygakedja (toolchain) menas ofta följande:
•GCC kompilatorn
•Binutilsvertygen (länkaren, assemblatorn, mm)
•GDB debugger
Linuxkärnan utvecklas kontinuerlig och den blir allt mer anpassad för embeddedapplikationer. På senare tid har den dessutom blivit effektivare och fått mer realtidsegenskaper vilket passar perfekt för system baserade på OpenRISC. Processorn är idag porterad för den absolut senaste Linuxversionen 2.6.38. Arbete pågår med 2.6.39.
När man utvärderar en processor är det viktigt att titta på den systemprestanda som kan erhållas. Att enbart titta på processorns prestanda är ganska ointressant. Genom att vi för OpenRISC-processorn har verktygskedjor som ligger i yttersta framkant och kör den senaste Linuxversionen har vi ökat systemprestanda med mellan 40 och 70 procent. Det går inte att få med alternativa processorer som kör äldre versioner av Linux.
Även OpenRISC-processorns verifieringssystem har förbättrats avsevärt under det senaste året och erbjuder idag ett kraftfullt och flexibelt system.
Systemet inkluderar fyra olika verifieringsmetoder som alla använder samma testfall skrivna i C-kod. Verifieringsmetoderna är
1.Target simulering (FPGA/ASIC)
2.RTL simulator
3.Verilator simulator (RTL till klockcykel-korrekt C-modell)
4.Arkitektursimulator
Fördelarna är följande:
Att exekvera exakt samma testfall på olika testplattformar ger mycket bra bekräftelse på att hårdvara, RTL-koden och arkitekturbeskrivningen överensstämmer.
Ger väldigt värdefull information vid debugging om vart man skall börja leta, vilket kan spara oerhört med tid.
Möjlighet att koppla in externa interface direkt in i testsystemet till exempel att skicka in stimuli ifrån ett "riktigt" Ethernetnätverk direkt in i testsystemet.
Få full access till alla enheter som är kopplade till Wishbonebussen vilket ger möjlighet att också skriva testfall direkt emot dessa enheter, man behöver därför inte gå genom processorn.
Även mjukvaruutvecklare drar stora fördelar dessa metoder för utveckling och verifiering. Man får ett enhetligt gränssnitt gentemot olika testplattformar genom GCC och GDB. Utvecklarna behöver bara använda en verktygskedja för flera olika konfigureringar av OpenRISC-processorn (liten, medelstor, fullskalig).
Övriga egenskaper som driver det stora intresset kring OpenRISC-plattformen är:
Kan garantera smidig/effektiv rekonstruktion även efter lång tid (5-30 år) utan att ändra mjukvaran.
Licensfrihet både när det gäller licenskostnader samt inlåsningseffekter.
Bättre kopieringsskydd, särskilt när det gäller att använda en embeddedprocessor i kombination med intern hårdvaruaccelerator.
Full tillgång till källkoden ger både snabbare utveckling, debugging och verifiering.
De flesta produktutvecklare har länge sett och förstått de stora fördelarna med öppen källkod. Sedan ett drygt år tillbaka finns alla delarna på plats i form av färdiga grundplattformar,verktygskedjor i bleeding edge och unik verifieringsmiljö. Detta öppnar upp för alla som vill basera sina produkter på tekniken i OpenCores för att effektivt driva sina utvecklingsprojekten.