SoC’er eller ej

tors jun 25, 2015 (Anders Enggaard)

Processorer sidder i snart sagt alt.  Men hvordan skal kagen skæres?  Skal CPU’en ind i en FPGA, skal der være en DSP, alt på en chip eller uafhængige systemer.  Den seneste udvikling for SoC FPGA’er prøver at skubbe til balancen.

I sin grundsubstans er der ikke så meget nyt indenfor SoC devices fra FPGA leverandørerne. I årevis er der bygget systemer med CPU funktionalitet trukket ind i FPGAerne, og teknologien har været moden længe. Vi har utallige gange været igennem  systemovervejelser, hvor netop fordele og ulemper med diskret processorsystem er blevet sammenlignet med processorsystemer indlejret i FPGA. Vi har ofte været stillet opgaven med at evaluere de forskellige løsninger mht. omkostninger, ydelse og fleksibilitet. Der har ikke været et entydigt svar på tværs af de mange forskellige projekter, og sådan forholder det sig egentlig stadigvæk. Vi har dog observeret lidt ændringer i overvejelserne. For år tilbage var det primært FPGA orienterede kunder, som ønskede svar på om f.eks. en soft-core CPU som NiosII, MicroBlaze eller Leon3 vil kunne løse den opgave, som oprindeligt var tiltænkt en mikroprocessor og samtidigt spare lidt på produktionsomkostningerne. Efter udbredelsen af SoC devices med højtydende ARM processor kerner om bord lader det til, at overvejelsen starter anderledes. Lidt karikeret kan man sige, at nu går overvejelsen mere på, hvilken klasse processor der er nødvendig i designet. Er det en mikrokontroller eller en applikationsprocessor? Er det en single-, dual- eller quad-core processor der er brug for? Dernæst er det overvejelser om interface og acceleration, som er toneangivende. Skal ARM processoren kombineres med DSP eller FPGA logik? Single chip eller flere chips? Og så pris naturligvis.

Vi har vænnet os til at ARM processorerne kommer fra mange leverandører og i mange afstøbninger og FPGA producenternes udgaver  er blot få blandt mange. Med Xilinx Zynq eller Alteras SoC devices med f.eks. ARM A9 er det besnærende at tage lidt FPGA logik med i chip indkøbet – vel at mærke, hvis det er relevant i forhold til projektet.

Det lader til at Zynq hhv. SoC nemmere accepteres hos software udviklerne. Ikke mindst i kraft af, at der ikke længere skal FPGA udvikling til for at komme i gang med software udviklingen. For disse devices er der tale om en ”fast” processor med FPGA logik ved siden af. Processoren ligger som en fast del af chippen og har sine egne inputs og outputs. Den kan anvendes uden FPGA logikken og har rigeligt power til f.eks. Linux. Software teamet kan således fint arbejde med operativsystem, applikationer, driverudvikling mv. alt imens FPGA udviklerne gerne designer deres del. Hele processorsystemet med div. interfaces såsom Flash, DDR3, Ethernet, SPI, I2C kan således vækkes til live tidligt i projektet.

Hvis du står for at skulle implementere et processor system med eller uden en DSP/FPGA følgesvend, så viser vi gerne, hvordan vi tidligere har bygget lignende projekter. Alt fra et batteridrevet FPGA-frit microcontroller design som kan køre et år på en knapcelle, til ARM i en Zynq bundet sammen med 16 eksterne DSP kerner. Vi vil gerne slå fast, at vi fortsat sammensætter arkitektur og vælger teknologier afhængigt af det konkrete projekt. FPGA’er (SoC/Zynq eller ej) er ikke en universalløsning og en ganske stor del af vores designs har ikke FPGA om bord, da det ikke giver mening. For fuldstændighedens skyld bør vi også nævne, at samtidig med at integrationen er støt stigende og mere og mere bliver inkluderet i SoC devices, så stilles der også stadig højere krav til printopbygning og designet. Et område, vi oplever, at ikke alle virksomheder har  fokus på.

Det kan godt være, at FPGA producenterne har oprindelse fra 80′erne indenfor simpel programmerbar logik, men nu er de  på forkant med teknologierne; i sådan en grad  at Intel for kort tid siden købte Altera for 17 mia USD! Det bliver spændende at se, hvad det kaster af sig.

Hvad mener du?