Universiteit Twente ontwikkelt programmeertaal voor chipontwerp

ICT-onderzoekers van de Universiteit Twente hebben een programmeertaal ontwikkeld waardoor het mogelijk is de enorme kosten van het ontwerpen van hardware beheersbaar te houden.

Trefwoorden: #CλaSH compiler, #chipontwerp, #Haskell, #Incas³, #programmeertaal, #TNO, #Universiteit Twente

Lees verder

research

( Foto: UTwente )

ENGINEERINGNET.NL - Tijdens het ontwerpproces van nieuwe chips gebruiken fabrikanten al twintig jaar dezelfde technieken.

Daarbij moet na elke stap in het ontwerpproces uitvoerig getest worden. Dat kost veel geld. De moderne, zogenaamde functionele programmeertaal maakt het mogelijk vooraf te bewijzen dat ontwerptransformaties honderd procent foutloos zijn.

“Waar je als softwareontwikkelaar een codefout nog kan herstellen door een patch op te sturen, moet je bij een fout in een chip alle producten waar deze chip in verwerkt is, terugroepen”, legt promovendus Christiaan Baaij uit. Een dergelijke ontwerpfout kostte Intel in 2011 maar liefst één miljard dollar.

“Tijdens het ontwerpproces van chips in hardware moet er dus uitvoerig en herhaaldelijk getest worden. Dit testen is duur, maar nu nog nodig. Ontwerpkosten voor een bedrijf als NVidia zijn tegenwoordig al meer dan één miljard dollar per jaar.”

De nieuwe programmeertaal is gericht op transformaties die de chip sneller maken. De onderzoekers kunnen daarbij bewijzen dat het gedrag van de chip door deze transformatie niet verandert.

In tegenstelling tot traditionele methoden is het daarom niet nodig bij elke stap in het ontwerpproces opnieuw alles te verifiëren. De technieken uit moderne programmeertalen maken het dus mogelijk om de complexiteit en de kosten van chipontwerp beheersbaar te houden.

Onderdeel van dit onderzoek is de CλaSH compiler, die beschrijvingen van hardware in de functionele taal Haskell omzet naar een laag niveau beschrijving. Standaard software kan daar een chip van maken.

Het werk van Baaij betreft de ontwikkeling van deze compiler waardoor het nu dus mogelijk is automatisch vanuit een abstracte beschrijving daadwerkelijk de hardware te genereren.

Inmiddels heeft de vakgroep hun werk kenbaar gemaakt bij het bedrijfsleven, dat grote interesse toont. Zo zijn er op dit moment al samenwerkingsverbanden met Incas³ en TNO en toont het High performance computing center Stuttgart (HLRS) grote belangstelling.

De functionele programmeertaal is ontwikkeld binnen de vakgroep Computer Architecture for Embedded Systems (CAES, prof. Gerard Smit) van onderzoeksinstituut CTIT van de Universiteit Twente.

Universitair docent Jan Kuper, tevens docent binnen de bachelor Technische Informatica en de master Embedded Systems aan de UT, geeft leiding aan het onderzoek.

Binnen de vakgroep promoveert Christiaan Baaij op het onderzoek met de compiler die de beschrijving in Haskell omzet naar een laagniveau beschrijving.