Exploratie van de ontwerpruimte 3. Prototypes, emulatie en simulatie Prof. dr. ir. Dirk Stroobandt Academiejaar
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platform- gebaseerd ontwerp Systeemspecificatietechnieken Exploratie van de ontwerpruimte –Prestatiematen –De hardware/software-grens Raamwerk voor architectuurexploratie Hoogniveautransformaties Hardware/software-partitionering Exploratietools –Prototypes, emulatie en simulatie
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Systeemverificatie Vier methodes om « first-time-right silicon » te bereiken: –Specificatie op hoog abstractieniveau gevolgd door automatische synthese –Simulatie op verschillende niveaus –Formele verificatie –Prototypering en emulatie
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Simulatie Standaardtechniek voor de validatie van ontwerpen op verschillende niveaus Enkele nadelen –Extreem tijdsverslindend (1M x trager dan RT voor grote ontwerpen) –Heeft een expliciet model nodig van de testbank (kan even lang duren om die op te zetten dan om het systeem te ontwerpen) –Moeilijk om interfaces mee te simuleren –Zelfs cyclusgebaseerde simulaties zijn veel trager dan echte hardware
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Formele verificatie Wordt belangrijker door problemen met simulatie Twee types: –Specificatiedebugging (specificeerde ik wat ik wou?) –Verificatie van de implementatie Nog vele restricties: –Hoge complexiteit –Moeilijk om tijdsbeperkingen mee te nemen –Moeilijk om de omgeving mee te nemen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Prototypering en emulatie Emulatie is slechts 100 keer trager dan RT Integratie van de omgeving is veel gemakkelijker Reeds standaardtechniek in CPU-ontwerp en meer en meer gebruikt in ASIC-ontwerp Co-emulatie i.p.v. co-simulatie voor co-ontwerp Nadeel: tijdsfouten zijn moeilijker te detecteren Daarom: meestal testen van functionele correctheid
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Prototypering en emulatie Andere nadelen van emulatie: –Trage compilatie als het ontwerp wijzigt –Verschillende ontwerpstrajecten voor de implementatie en de emulatie –Hoge kost Te vermijden door niet te emuleren op poortniveau (standaard) maar op hogere abstractieniveaus
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Verschillende emulatie-aanpakken Nog steeds meest gangbare aanpak Van simulatie, via emulatie, naar simulatie zolang er fouten optreden Migratie verschillend van uiteindelijke implementatie in ASIC Synthese voor implementatie VHDL Simulatie Migratie Silicium Emulatie
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Verschillende emulatie-aanpakken Betere methode Fouten in de VHDL broncode kunnen gedetecteerd worden Kan uitgebreid worden tot meer abstracte niveaus (RT) VHDL Silicium Emulatie Synthese voor emulatie Synthese voor implementatie
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Emulatiesystemen FPGA-gebaseerde systemen –Off-the-shelf (Xilinx, Altera) –Speciaal ontwikkeld voor emulatie Eigengereide implementaties
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Nieuwe trends in emulatie « Source-level emulation » (SLE) –Behouden van verband tussen een HW- implementatie en de broncode (vb. Gedrags-VHDL) –Analogie met SW-debugger Zetten van breekpunten Selecteren actieve variabelen Voortzetten programma