Naast ‘definitieve’ chips (zoals processoren, asic’s, geheugenchips) bestaan er sinds jaar en dag chips die na het bakken nog kunnen worden aangepast. Zoals fpga’s.
De meeste ict’ers weten dat natuurlijk allang. Wie heeft immers nooit gespeeld met een ‘prom’ (‘programmable read-only memory’) of zijn afstammelingen (zoals eproms, eeproms, flash-geheugen et cetera)? Het principe van dergelijke chips is steeds hetzelfde: de producent levert een chip waarin de banen tussen de verschillende transistors nog niet vastliggen. Afhankelijk van de aangewende technologie kunnen de gebruikers dan die banen definitief of variabel bepalen. Prom’s horen tot de eerste categorie (definitief) en fpga’s tot de tweede (variabel), wat hun herprogrammeerbaarheid verklaart. Bij bijvoorbeeld een asic (‘application specific integrated circuit’) daarentegen, liggen alle banen na de productie vast.
Een voordeel van de fpga’s is hun uitvoering in cmos-technologie, zodat zij de voordelen genieten van de Wet van Moore, in casu de snelle groei van het aantal transistors voor een zelfde chipoppervlakte. Xilinx maakt bijvoorbeeld al uitgebreid gebruik van 90nm technologie op siliciumschijven met een diameter van 300mm. Daarmee vermindert ook een bekend nadeel van de fpga, namelijk het gebruik van een groter aantal transistors voor het implementeren van een bepaalde functie ten opzichte van eenzelfde functie op een ‘gewone’ chip. Aangezien het aantal transistors op een fpga snel groeit, kunnen er immers meer functies worden aangeboden, met een grotere complexiteit, zoals bijvoorbeeld krachtiger processoren. Zo wordt het makkelijker om zowel cpu’s, signaalprocessoren, I/O-elementen als ondersteunende functies (‘glue’) op een enkele fpga samen te brengen.
De nieuwste ontwikkeling betreft fpga’s met een mengeling van kant-en-klare functies in silicium (bijvoorbeeld een processor, I/O-elementen et cetera) en door de eindgebruiker zelf programmeerbare transistors. Op die wijze moet het mogelijk zijn om bepaalde aspecten van het ontwerp in te vullen met onderdelen die ‘gekend en getest’ zijn, zodat de ontwerper zich geheel kan toeleggen op het ‘nieuwe’. Of om een maximale verzameling van gespecialiseerde verwerkingseenheden (zoals bijvoorbeeld signaalprocessoren) op één chip te integreren, gekoppeld aan een minimum van standaard onderdelen.< BR>
Guy Kindermans