MMAlpha Un outil pour la compilation sur silicium
MMAlpha2 zLes systèmes matériels sont de plus en plus gros - Les outils doivent permettre plus d ’abstraction zProduire rapidement et sûrement du hardware zNouveaux marchés : demandeurs d’IP Motivations
MMAlpha3 Qu’est ce que MMAlpha? zUn “compilateur/parallélisateur de silicium“ pour nids de boucles FPGA ASIC VHDL for i = 1 to n do for k = 1 to m do y[i,k] = y[i,k-1] + w[i,k]*x[i-k]
MMAlpha4 Vhdl1 Alpha Uniformization Scheduling/Mapping HDL derivation MMAlpha Qu’est ce que MMAlpha? zFlot de conception contrôlé par l’utilisateur Vhdl2 Vhdl3 zscripts réutilisables Uniformisation Scheduling/Mapping 2 HDL derivation MMAlpha
5 Applications visées zApplications de calculs intensifs zFiltre yFIR yLMS yKalman zTraitement du signal zEstimation de mouvement zfiltres 2D zMultimédia zSéquençage ADN zBio-Informatique
MMAlpha6 Résumé du flot de conception MatlabAlpha FPGA ASIC VHDL Uniformization RTL derivation Scheduling
MMAlpha7 MMAlpha: codesign Matlab For i=1:1:N For j=1:1:N Alpha FPGA host bus Uniformization RTL derivation Scheduling VHDL Matlab VHDL Matlab
MMAlpha8 MMAlpha implémentation zLogiciel libre (licence GNU) zMathematica + langage C zExtensible facilement
MMAlpha9 MMAlpha développement zInterface hôte /co-processeur zPrototypage d’applications réelles (filtres adaptatifs, séquençage ADN) zpartitionnement d’applications zVérification de propriétés de systèmes Alpha
MMAlpha10 Les transformations MMAlpha préservent la sémantique initiale du système, mais… z propriétés non exprimables en Alpha ex : validité d ’un ordonnancement non linéaire z propriétés non vérifiables dans MMAlpha z propriétés partielles ex : prouver que sur un ensemble de signaux il y en a toujours au moins un a la valeur « vrai » Vérification de propriétés de systèmes Alpha
MMAlpha11 Vérification de propriétés de systèmes Alpha zUtilisation directe du modèle polyédrique pour prouver certaines propriétés zUtilisation d ’un prouveur de théorèmes dans les cas « difficiles »
MMAlpha12 En développement zPartitionnement et utilisation de mémoire yEn cours de développement zPrécision du chemin de donnée yméthode en développement pour les programmes à nid de boucle. zVérification sémantique ylien avec PVS (prouveur de théorème) zConception hiérarchique
MMAlpha13 Les bureaux zAlpha version Bêta yPatrice Quinton, professeur, à l'université de Rennes 1 yTanguy Risset, CR INRIA yFabien Quilleré, ATER yAnne-Claire Guillou, Doctorante INRIA xBureau D173 et D174 zJonglage de polyèdres ySanjay Rajopadhye, Chef de projet, CR CNRS yGautam Gupta, Doctorant INRIA xBureau D169 zVérification de la publicité yDavid Cachera, Maître de conférence ENS-Cachan yKatell Morin-Allory, Doctorante MENRT xBureau D173