Project

Het verbeteren van ASIC verificatie met behulp van Geparametriseerd FPGA configuraties

Code
178TW0714
Looptijd
01-01-2014 → 31-12-2017
Financiering
Gewestelijke en gemeenschapsmiddelen: IWT/VLAIO
Mandaathouder
Onderzoeksdisciplines
  • Engineering and technology
    • Electronics
Trefwoorden
ASIC verificatie nieuwe hardwareverificatiemethodes IC betrouwbaarheid
 
Projectomschrijving

Omdat de Wet van Moore het aantal transistoren in ge¨ıntegreerde circuits (IC) blijft opdrijven door het naar beneden schalen van de transistordimensies, worden steeds complexere digitale circuits gerealiseerd. De voortdurende technologische evolutie leidt tot steeds complexere architecturen. Het verifi¨eren en valideren van deze ontwerpen is een steeds moeilijkere taak geworden. Bovendien bevatten meerdere ontwerpen veiligheids-kritische eigenschappen en moeten ze voldoen aan specifieke veiligheidsstandaarden. Dit maakt van IC-betrouwbaarheid een fundamenteel aandachtspunt in het ontwerpproces. Er bestaan verschillende hardware-verificatietechnieken, zoals formele verificatie, simulatie, foutinjectie, debugging, fouten vermijden, online test, enz. Ze worden gebruikt naargelang de vereisten van elk ontwerp en in verschillende stadia van de ontwerpcyclus. Er is een afweging tussen snelheid, ontwerpscomplexiteit en vereiste foutdekkingsgraad. Deze afweging bepaalt de verificatiemethodologie en het te volgen verificatieplan voor elk ontwerp. Verificatie, en zeker debugging, zijn essentieel om de functionele correctheid van het volledige systeem te garanderen. Pre-Silicium-Verificatie slaat op de activiteiten vooraleer de silicium-chip beschikbaar is. Deze processen bevatten o.a. het testen van circuits in een virtuele omgeving met simulatie en formele verificatie. Historisch gezien is de meest gebruikte verificatietechniek simulatie- gebaseerd, door zijn flexibiliteit en gebruiksgemak. Simulatie-gebaseerde technieken kunnen echter de toegenomen complexiteit van ontwerpen niet aan, zeker nu de processorfrequentie niet langer schaalt. Bovendien ontsnappen vele fouten aan pre-silicium-verificatie en kunnen ze pas na de creatie van de eerste silicium-chip gevonden worden. In post-silicium debuggen hebben ontwerpers snel toegang tot fouten omdat de testen direct op de hardware uitgevoerd worden. Tests lopen op ´echte schakelingen op ware snelheid op ´echte systeemborden. De industrie is dus overgeschakeld naar post-silicium-validatie, door gebruik van prototypering en FPGA-emulatie. Een Field Programmable Gate Array (FPGA) is een programmeerbare digitale elektronische chip. In FPGA-ontwerp moet de ontwerper de functie bepalen door het implementeren van een digitaal circuit op de beschikbare FPGA-blokken. De FPGA kan geherprogrammeerd (geherconfigureerd) worden door het wijzigen van de configuratiedata die de FPGA-functionaliteit bepaalt. Deze data kunnen aangepast worden naargelang de noden van de gebruiker. Door parti¨ele herconfiguratie (PR) kunnen we een deel van het configuratiegeheugen configureren tijdens de looptijd via de interne configuratietoegangspoort (ICAP).  Onderzoekers van de HES-groep hebben een techniek ontwikkeld, genaamd geparameteriseerde herconfiguratie, om een geparameteriseerd ontwerp te cre¨eren en te implementeren. Een ontwerp wordt geparameteriseerd genoemd als sommige ingangspoorten minder frequent van waarde veranderen dan andere ingangspoorten. In plaats van het implementeren van deze ingangen (parameters) als reguliere ingangen, worden ze ge¨ımplementeerd als constante ingangen en het ontwerp wordt geoptimaliseerd naar deze constanten. Voor elke verandering in de parameterwaarden wordt het ontwerp geheroptimaliseerd (gespecialiseerd) tijdens de looptijd en ge¨ımplementeerd door het geoptimaliseerde ontwerp te herconfigureren voor een nieuwe set van paramaters. De bitstromen van het geparameteriseerde ontwerp worden voorgesteld als Boolese functies van de parameters. Voor elke verandering in de parameters die af en toe optreedt, wordt een gespecialiseerde FPGA-configuratie gegenereerd door het evalueren van de overeenkomstige Boolese functies en de FPGA wordt geherconfigureerd met de gespecialiseerde configuratie. In dit doctoraatswerk stel ik innovatieve technieken en tools voor om ge¨ıntegreerde betrouwbaarheid en verificatie aan te bieden in FPGA’ met aangepaste ge¨ınte-greerde componenten. Verder onderzoek ik methoden die de betrouwbaarheid en de interne observeerbaarheid van zowel commerci¨ele als academische FPGA’ verhogen tijdens het debuggen. De doel-FPGA’ kunnen ´e´en of twee FPGA-lagen aan.Eerst introduceer ik een methode om effici¨ente debugging te introduceren in elk ontwerp. Door gebruik te maken van de PConf-techniek, voeg ik virtuele lagen toe die de debug-functionaliteit integreren in het ontwerp. Doordat de lagen virtueel zijn, is de impact op het oppervlaktegebruik minimaal. Er is ook de garantie van virtuele verbindingen tussen signalen en traceergeheugens. Vervolgens rangschik ik de interne signalen gebaseerd op klassificatiecriteria om de optimale set van signalen te vinden die toelaat sneller fouten op te sporen. Daarna onderzoek ik hoe een on-silicium debug-infrastructuur ge¨ıntroduceerd kan worden in een FPGA met minimale invloed op de oppervlakte. Ik start met het bestuderen van de rol van FPGA-debug-structuren op Virtual-Coarse- Grained Reconfigurable Arrays (VCGRAs). Ik gebruik twee verschillende technieken gebaseerd op de doel-FPGA-architectuur en ik cre¨eer de Superimposed Debugging Architecture (SDA) die ge¨ıntegreerd is in de VCGRA. Na deze twee hoofdstukken ga ik over tot het tweede deel van de thesis, dat focusseert op ontwerpmethoden om de betrouwbaarheid van Commercial-Off- The-Shelf (COTS) FPGA’ te verhogen. Eerst stel ik twee methoden voor die toelaten het configuratiegeheugen te herschrijven gebaseerd op microherconfiguratie. Nadien stel ik een eigen FPGA-structuur voor (herconfiguratiecontroller) om de betrouwbaarheid te verhogen en de belangrijkste overhead (herconfiguratietijd) te verkleinen voor het vermijden van zachte fouten (of soft errors). Deze structuur reduceert niet alleen de herschrijftijd maar heeft ook een versie die fouttolerant is en de algemene tolerantie verhoogt van COTS FPGA’ tegenover stralingseffecten. Daarnaast stel ik ook een fouttolerantieschema voor toekomstige zeer betrouwbare toepassingen in stralingsomgevingen voor met meerdere niveaus van foutmitigatie. Ik gebruik de meerlagige VCGRA-architectuur en zijn natuurlijke weerstand tegen stralingseffecten. Ik pas een spatiale redundantiemethode (TMR) toe en integreer de twee eigen herschrijfmechanismen. Daarna breid ik de PConfmethode uit, alsook de VCGRA tool-flow om een meer complete CAD flow te verkrijgen. Dit werk levert snelle herschrijfmethodes op met minder FPGA-middelen en heeft als doel een ge¨ıntegreerd foutmitigatiesysteem te bouwen dat de betrouwbaarheid van COTS- FPGA’ verhoogt. Ik verifieer ten slotte de haalbaarheid van deze methoden in een foutinjectieprogramma. Als laatste focusseer ik op foutinjectie. Ik heb twee varianten van foutinjectiemethoden ontworpen die gebruikt kunnen worden op de gekozen FPGAarchitectuur. Ik deel ze in in twee types: de partieel geparameteriseerde foutinjectie (enkel LUT’) en de volledig geparameteriseerde foutinjectie (TLUT’ en TCON’), afhankeijk van de gebruikte graad van parameterisatie. Het foutinjectieschema is ge¨ıntroduceerd in schakelingen op poortniveau. Dit geeft ons het voordeel dat we de technieken kunnen toepassen op een cluster van toepassingen die op een gelijkaardige manier gemodelleerd kunnen worden. In deze doctoraatsstudie kunnen de voorgestelde methoden gebruikt worden om ofwel permanente fouten te injecteren (voor testen post-silicium) of voor het injecteren van zachte fouten (soft errors) voor veiligheidskritische systemen. Deze techniek vermindert de oppervlakte-overhead van het met fouten ge¨ınjecteerd ontwerp drastisch.