Pieter Edelman
26 October 2015

Fpga’s zijn uitermate geschikt om datasignalen realtime te verwerken, maar het is niet triviaal om er een systeem mee te bouwen. 4DSP uit Alphen aan de Rijn ontwikkelt off-the-shelf platforms in industriële vormfactoren waarmee eindklanten een keur aan signalen direct in de fpga kunnen krijgen en zich volledig kunnen richten op de algoritmes. Directeur Erik Barhorst over de geschiedenis van het bedrijf, vormfactoren en de toekomst van fpga’s.

Wie een radarsysteem wil bouwen, of een phased array-antennesysteem, of welke toepassing dan ook met hoge eisen aan signaalverwerking, heeft een grote kans uit te komen bij de nieuwste generaties high-end fpga’s. Marktleiders Xilinx en Altera lopen mee in de voorhoede van de wet van Moore, zodat ze met hun programmeerbare chips enorme hoeveelheden rekenkracht aan de dag kunnen leggen en een concurrentievoordeel kunnen bieden boven asics.

Maar een fpga is alleen nog maar een fpga. Voordat er iets mee kan worden gedaan, moet de chip op een bordje komen met geheugen en alle elektronische aansluitingen – getest en gehard voor gebruik in realistische omstandigheden – en worden verbonden met een frontend die de signalen met hoge bandbreedte aanlevert. Doorgaans moet hij ook nog contact kunnen leggen met een cpu-systeem dat de boel aanstuurt en de resultaten van de signaalverwerking afhandelt.

Wie naar oplossingen dáárvoor gaat zoeken, heeft een grote kans uit te komen in Alphen aan de Rijn, bij 4DSP BV. Samen met 4DSP LCC, de Amerikaanse ‘moeder’, ontwikkelt het bedrijf fpga-borden om in standaard industriële computers te prikken, en een brede reeks dochterbordjes om snel data de fpga in of uit te krijgen. ‘Het gaat om een platform, dus een fpga met geheugen, een industriestandaard connectie voor high-speed communicatie naar een hostcomputer of naar andere fpga-borden, en een flexibele i/o-connector waar je een dochtkaartje in kunt prikken om je meetgegevens direct in de fpga te krijgen’, legt Erik Barhorst uit, directeur van de Nederlandse tak. ‘Dan kun je de processing snel in de fpga doen, en het resultaat doorsturen naar een processorbord dat de data verder oppakt.’

Barhorsts bedrijf richt zich hiermee exclusief op de high-end, waar de volumes klein zijn maar de prijskaartjes fors. De fpga’s op de 4DSP-borden komen meestal uit de Virtex-lijn, de rekenmonsters in het aanbod van Xilinx. ‘We gebruiken doorgaans niet de allergrootste; die zijn echt voor chipprototyping en overkill voor de meeste applicaties, maar de daaropvolgende reeks is op onze bordjes te vinden’, verklaart Barhorst. Iets vergelijkbaars geldt voor de front-ends: ‘Als je naar onze catalogus kijkt, is het echt allemaal een gigasample bij zestien bit, of vijf gigasamples op tien bit. We proberen echt de nieuwste en snelste ad- en da-converters toe te passen.’

De vraag naar dergelijke signaalverwerkingskracht komt uit allerhande hoeken. Het mag niet veel verwondering wekken dat academici regelmatig een bestelling voor een bordje plaatsen in Austin – 4DSP heeft zijn productie ondergebracht in Amerika om het makkelijker te maken met een kwaliteitssysteem te werken. Ook de telecommarkt weet de weg naar het bedrijf steeds beter te vinden. ‘Dat was een beetje een onverwacht succes’, aldus Barhorst. ‘Een klant had er op een gegeven moment een 4g-testunit mee gebouwd die veel beter verkocht dan verwacht; toen zagen wij ineens een sterke toename uit die hoek.’

‘En dan hebben we natuurlijk ook nog de militaire markt, waar de vraag zich toespitst rond het opvangen en verwerken van radarsignalen’, zegt Barhorst. ‘Je hebt bijvoorbeeld radarsignaal-jamming, waarbij je een signaal binnenkrijgt, je er zo snel mogelijk iets mee moet doen en een signaal moet uitsturen.’

Ook in het meetdomein is er behoefte aan krachtige signaalverwerking. Recentelijk heeft 4DSP een applicatie in een eigen spin-off ondergebracht, Sensuron, voor fiber bragg grating-sensoren: glasvezels die de frequentie van laserlicht doen veranderen onder invloed van mechanische belasting of temperatuur. ‘Een Nasa-vestiging in Californië nam daarvoor in 2008 contact met ons op: zij hadden er een algoritme voor bedacht en wilden daarmee de structuur van drones realtime kunnen monitoren. Wij hebben dat toen in een fpga gezet. Daarna heeft Nasa dat gepatenteerd en kregen wij een licentie om er een product van te ontwikkelen. Vorig jaar hebben we dat op eigen benen gezet, want het past eigenlijk niet zo goed bij onze activiteiten’, stelt Barhorst.

Fietsafstand

Toch liggen de roots van het bedrijf eigenlijk niet bij de bordjes. 4DSP is opgericht door de Fransman Pierrick Vulliez, die bij TNO-spin-off Doublebw werkte (later Eonic). In 2003 trok hij naar de VS om een eigen bedrijf op te starten rond een ip-core die hij had ontwikkeld: een blok voor fft-transformaties dat op hoge snelheid met IEEE-conforme floating point-notatie overweg kon.

Destijds was dat baanbrekend, maar om er wat mee te kunnen, moest Vulliez zijn eigen hardwareplatform ontwikkelen. ‘Het moest voor die klant op een megapoint-lengte; dat kon je niet in het interne geheugen van een fpga doen, dus er moesten externe geheugens aan te pas komen. En vanwege de adressering bij fft-transformaties werd dat qdr-geheugen. En uiteindelijk heeft hij ook een generieke connector gedefinieerd op dat bordje om verschillende types i/o aan te kunnen sluiten’, vertelt Barhorst, die Vulliez had leren kennen via een stage bij Doublebw en sindsdien contact hield.

Toen Vulliez hem in 2006 polste om de firmware te verzorgen voor een opvolger gebaseerd op de nieuwste generatie Xilinx-fpga’s had Barhorst daar wel oren naar. Hij had er net een opdracht van anderhalf jaar op zitten als consultant in Breda, en zou nu naar Eindhoven moeten voor de volgende klus. Maar eigenlijk zag hij daartegen op; hij voelde zich meer thuis in de Randstad dan in het Noord-Brabantse. Vulliez stelde Barhorst voor om bij hem in dienst te komen en vanuit Nederland te werken. Zo werd Barhorst werknemer nummer twee, en zag 4DSP Nederland het levenslicht op fietsafstand van zijn huis.

Heden ten dage is 4DSP uitgegroeid tot een bedrijf van rond de dertig werknemers, gelijk verdeeld over de vestigingen in Austin en Alphen aan de Rijn. De Nederlandse vestiging heeft net een belangrijke stap achter de rug: in navolging van de Amerikaanse tak heeft ze vorige maand de certificering voor EN 9100C toegekend gekregen, de op Iso 9001 gebaseerde standaard voor kwaliteitsmanagementsystemen in de lucht- en ruimtevaart.

Kant-en-klaar doosje

De ip-core wordt nog steeds verkocht, evenals ontwerpdiensten, maar de focus ligt op de off-the-shelf fpga-borden en dochterkaarten. ‘Onze kracht zit vooral in dat front-panel, dus een dochterkaartje dat je direct op de fpga kunt prikken om LVDS-signalen in de fpga te krijgen, of analoge i/o, of cameradata’, somt Barhorst op.

Die i/o-connector is gebaseerd op de FPGA Mezzannine Card-standaard (FMC). Dat is een aanvulling op de PCI Mezzanine Card- en nieuwere PCI Express Mezzanine Card-standaarden (PMC en XMC), die definiëren hoe een coprocessorbord voor industriële computersystemen eruit kan zien. ‘Voorheen had iedereen zijn eigen connector en eigen vormfactor. Maar in 2008 kwam de FMC-specificatie met een standaard connector. Die is heel flexibel; het is eigenlijk alleen een vormfactor met een pin-out waar je van alles over kunt sturen: i/o, LVDS, vul zelf maar in. Daar zijn wij toen als een van de eersten op gestapt en momenteel zijn wij wereldwijd wel degenen met de meeste FMC-producten.’

Die status leverde 4DSP een plekje op bij standaardisatieorgaan Vita, waar nu aan FMC+ wordt gewerkt, de opvolger van FMC. ‘Het grootste minpunt van FMC is de bandbreedte van de signaaloverdracht tussen de dochterkaart en de fpga. Al in het begin zag je dat er niet genoeg signalen waren omdat we die snelle ad-converters toepassen. Fpga’s gaan ondertussen steeds meer naar high-speed seriële communicatie; er zijn heel veel transceivers beschikbaar. FMC+ gaat daar gebruik van maken. Tegelijkertijd moet achterwaartse compatibiliteit gewaarborgd blijven, zodat we al die oude FMC-bordjes kunnen blijven gebruiken.’

‘We zijn nu ook bezig met een interne ontwikkeling gebaseerd op die FMC-vormfactor. We hebben een aantal klanten in de uav-hoek, die zitten met ruimte- en gewichtsbeperkingen en zo’n coprocessorbord is daar gewoon te groot. Dus we hebben een fpga-bord ontwikkeld op een FMC-vormfactor, waarmee je een stack kunt maken samen met een powermodule en een van onze standaard FMC-bordjes. Daarmee heb je een high-end systeem in een relatief klein, kant-en-klaar doosje. Het is ook weer een nichemarkt, maar we zien daar wel toekomst in en denken dat dit ook voor micro air vehicles heel interessant kan zijn.’

Kinderschoenen

Met een beetje geluk wordt het aantal toepassingen de komende jaren nog eens sterk uitgebreid. Althans, als de pogingen van de fpga-makers aanslaan om softwareontwikkelaars voor zich te winnen. De laatste jaren hebben zij zich gestort op tools waarmee fpga’s vanuit een softwaremodel zijn te programmeren. De programmeerbare logica zou daardoor niet langer voorbehouden zijn aan specialisten, is het idee. Maar er leven nog een hoop vragen, en deze aanpak zal ook ten koste gaan van de performance.

Toch ziet Barhorst er wel wat in. ‘Ik heb altijd een beetje het idee gehad dat het veld min of meer in de assembly-fase verkeert die je in de beginjaren van software zag. Maar fpga’s worden steeds groter en sneller, dus je krijgt op een gegeven moment het keerpunt waarbij ze op een andere manier kunnen worden gebruikt en het niet meer zo noodzakelijk is om ze echt op dat lage niveau te optimaliseren.’

Recentelijk hebben Altera en Xilinx zich beide geschaard achter dezelfde aanpak: Opencl, een programmeermodel oorspronkelijk ontwikkeld voor gpu’s. Voor 4DSP was dat aanleiding om contact te zoeken met Xilinx en aan te bieden om te helpen in de ontwikkeling van de technologie. ‘Xilinx heeft toen vier bedrijven in zijn partnerprogramma geselecteerd om hieraan te werken. Wij zijn nu een platform aan het definiëren voor de lucht- en ruimtevaart, waarbij adc-input direct wordt gebruikt in een fpga geprogrammeerd met Sdaccel, Xilinx’ Opencl-variant. Dat is in feite een abstractielaag voor de fpga. In het Opencl-model draait de software op de hostcomputer; iemand die op hoog niveau software schrijft, moet zich geen zorgen hoeven te maken over hoe ddr-geheugen wordt aangestuurd.’

Eigenlijk staat het nog in de kinderschoenen, moet Barhorst toegeven. ‘Het hele systeem is gedefinieerd vanuit de gpu-gedachte: er is een host, die stuurt gegevens naar een gpu, die worden verwerkt en het resultaat komt weer terug. Dát pad is heel erg gedefinieerd. Maar de kracht van een fpga is dat je direct adc-data kunt verwerken zonder dat de host eraan te pas komt. Daarin lopen we tegen allerlei praktische problemen aan. Hoe laat je bijvoorbeeld de host weten dat er data beschikbaar is?’

Toch gelooft Barhorst dat het uiteindelijk zal aanslaan. Het is in ieder geval hard nodig dat er meer engineers komen die met fpga’s overweg kunnen. ‘Iedereen wil gewoon graag software doen. Tachtig procent van de mensen uit mijn opleiding hts technische computerkunde is embedded software gaan doen. Of ze zijn printplaten gaan ontwerpen. Maar dat stuk ertussen spreekt blijkbaar niet aan. Ik zocht zelf laatst nog naar consultants om projecten te draaien. Toen kreeg ik van de grotere consultancybedrijven cv’s van mensen uit India en China die ze volgens mij nog zouden moeten binnenhalen. Dus als software-engineers ineens ook fpga-technologie kunnen toepassen, dan heb je dus wel echt de heilige graal te pakken.’