De meeste moderne FPGAs kunnen tijdens de werking geherconfigureerd worden. Dit maakt van hen een ideaal platform voor het toepassen van Dynamische Circuit Specialisatie (DCS). DCS is een optimalisatietechniek die kan toegepast worden als sommige signalen in een ontwerp slechts af en toe veranderen. Zolang deze signalen constant zijn kan het ontwerp door een kleiner en/of sneller circuit geïmplementeerd worden. Wanneer de signalen van waarde veranderen, dan wordt het ontwerp opnieuw gespecialiseerd en het configuratiegeheugen van de FPGA aangepast. Beide processen vragen extra tijd en FPGA-oppervlakte. Dit heeft een grote impact op de toepasbaarheid van DCS en maakt voor een ontwerper complex om de voordelen en nadelen van DCS af te wegen. Daar komt bij dat er veel verschillende manieren zijn om DCS in een ontwerp toe te passen, die zeker niet allen een voordeel voordeel. Om ontwerpers te helpen bij het bepalen wanneer DCS voordelig is, ontwierp ik tijdens mijn doctoraat twee profileringsmethodes. De eerste analyseert een RTL-beschrijving van het ontwerp en bepaalt welke DCS-implementatie de beste resultaten oplevert. De tweede methode doet dit vroeger in het ontwerpproces, op een hoger abstractieniveau, waardoor de ontwerper sneller inzicht heeft in de opportuniteiten voor DCS. | |