Introduction à la conception conjointe logiciel/matériel. Techniques de vérification fonctionnelle pour le matériel : génération aléatoire de tests sous contraintes, couverture de code, couverture fonctionnelle et assertions. Plan de vérification. Stimuli et réponse. Banc d'essai et concept de réutilisation pour différents niveaux d'abstraction. Langages System Verilog et SystemC pour la modélisation et la vérification de systèmes embarqués. Covérification, codébogage et cosimulation. Définition du codesign logiciel/matériel. Étapes de codesign : allocation, partitionnement logiciel/matériel, ordonnancement et raffinement. Estimation de performance. Synthèse du logiciel, du matériel et du protocole de communication. Implémentation. Études de cas d'outils industriels.