Nieuws

Kenniswerkersproject: Ace en TU Delft parallelliseren C-code voor FPGA’s

Pieter Edelman
Leestijd: 3 minuten

Embedded processoren zoals Arm of PowerPC zijn vaak niet al te krachtig, dus om het systeem een beetje op te peppen voor bijvoorbeeld encryptie of video-encodering zit er regelmatig een dedicated hardwareversneller bij. Steeds vaker is dat een FPGA. Door de gestaag voortmarcherende wet van Moore worden de prestatieverschillen tussen FPGA en Asic namelijk minder belangrijk en is een FPGA vaak kosteneffectiever.

Het nadeel van deze programmeerbare logica als rekenversnellers is dat ze het leven van een programmeur een stuk lastiger maken. Deze chips worden niet geprogrammeerd in een taal als C of C++, maar op een veel lager niveau geconfigureerd in een hardwarebeschrijvingstaal als VHDL. De programmeur moet er dus een taal bijleren.

Daarnaast is er op fundamenteel niveau het probleem dat een FPGA heel anders werkt dan een CPU. Om de kracht van een FPGA goed te kunnen benutten, moeten de berekeningen parallel worden uitgevoerd. Programmeurs moeten dus in de code de plekken vinden die parallel te draaien zijn en deze naar de FGPA porten. Dat is niet altijd eenduidig.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content