Onlangs moest ik voor een klant FPGA-code ontwikkelen op een onderdeel waar ik niet zo veel ervaring mee heb. Ik heb toen onderzocht of het inzetten van intellectual property (IP) een oplossing kon bieden. Eerst keek ik of de IP in essentie het probleem oplost en daarna of die toepasbaar is in het product – een core die te veel DSP-blokken van de FPGA gebruikt, heeft geen zin. De taal waarin de IP is geschreven, is ook van belang. Zelf ben ik beter thuis in C dan Java. Verilog is ook geschikt voor FPGA‘s, maar VHDL heeft mijn voorkeur. Als ik wijzigingen wil doorvoeren, is het wel handig als ik de taal begrijp.
Op IP-gebied is er veel te krijgen, zowel open- als closed-source. Een groot voordeel van open source is dat er geen kosten aan zijn verbonden. Verilog- en VHDL-code is gratis beschikbaar op bijvoorbeeld de site van Opencores. Status en kwaliteit van de code worden aangegeven door middel van lemma‘s zoals ’specification done‘, ’FPGA-proven‘ of ’Opencores-certified‘. Support wordt geleverd via de community.
Mooi systeem. Je downloadt de code, leest de documentatie en komt er dan globaal achter wat de core doet. De aanpassing die ik wilde doen, was klein, maar na het bestuderen van de IP-code bleek dat toch iets complexer te zijn. Aangezien het project onder druk stond, was afhankelijk zijn van communitysupport een te groot risico. Wachten op een antwoord op het forum paste niet in de planning.