Présentation

Article

1 - ÉVOLUTION TECHNOLOGIQUE ET INTÉRÊT DE LA CO-CONCEPTION

2 - SPÉCIFICATION ET MODÉLISATION

3 - PARTITIONNEMENT MATÉRIEL/LOGICIEL

4 - SYNTHÈSE ET VÉRIFICATION

  • 4.1 - Synthèse
  • 4.2 - Techniques de vérification

5 - MÉTHODOLOGIES DE CO-CONCEPTION

6 - TECHNOLOGIES ÉMERGENTES ET NOUVEAUX PARADIGMES DE CALCUL

7 - CONCLUSION

8 - GLOSSAIRE

Article de référence | Réf : H8450 v1

Synthèse et vérification
Introduction à la conception conjointe matériel/logiciel - Une vision générale

Auteur(s) : Abdoulaye GAMATIE, Lionel TORRES

Date de publication : 10 août 2017

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉSUMÉ

Cet article introduit la conception conjointe matériel/logiciel des systèmes intégrés sur puce, en exposant les principes et concepts généraux servant à décrire, évaluer/analyser et mettre en œuvre ces systèmes. Il s’appuie sur les étapes clés telles que : la spécification et la modélisation des caractéristiques d’un système (exigences, fonctionnalités), le partitionnement en parties matérielle et logicielle, la synthèse et vérification permettant d’inférer des mises-en-œuvre des deux parties et garantir les exigences des systèmes ; sans oublier la question méthodologique, cruciale pour le concepteur. Il se termine par une réflexion sur l’impact des technologies émergentes (mémoires non volatiles) et des nouveaux paradigmes de calcul (neuro-inspiré, quantique) sur la conception conjointe.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Abdoulaye GAMATIE : Directeur de Recherche au CNRS, - Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM)

  • Lionel TORRES : Professeur à l’Université de Montpellier, Polytech’Montpellier - Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM)

INTRODUCTION

Les circuits intégrés permettent l’intégration de fonctions logiques dans une puce de silicium, fonctions basées sur un élément unitaire qui est le transistor. La puissance de ces circuits augmente avec le nombre de transistors, mais une limitation apparaît. En effet, la dissipation thermique devient trop importante en présence d’un grand nombre de composants. Les architectures parallèles offrent une réponse intéressante à cette limitation, puisque la puissance dissipée ne varie plus exponentiellement avec la puissance de calcul comme dans une machine monoprocesseur, mais linéairement sur une machine multiprocesseur.

Par ailleurs, des évolutions importantes apparaissent également aux niveaux logiciel et applicatif. Au regard de tous ces changements, la méthodologie dite de conception-conjointe ou « co-conception » matériel/logiciel apporte une réponse intéressante pour une implantation efficace des systèmes intégrés sur puce.

Cet article offre un aperçu général des principes et concepts généraux relatifs à la conception conjointe matériel/logiciel. Cela est organisé autour des principales étapes d’un flot classique de conception : dans un premier temps, nous abordons la question de la spécification et de la modélisation ; ensuite, nous introduisons les enjeux du partitionnement matériel/logiciel, suivi d’une présentation générale concernant la synthèse et les techniques de vérification ; enfin, des aspects méthodologiques sont discutés au travers d’une illustration basée sur quelques environnements de conception conjointe basée sur des modèles. En guise de discussion ouverte sur une évolution possible des pratiques courantes en conception conjointe matériel/logiciel, nous proposons une brève réflexion concernant les technologies émergentes et les nouveaux paradigmes de calcul.

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h8450


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

4. Synthèse et vérification

4.1 Synthèse

La synthèse couvre trois aspects principaux :

  • génération de l’architecture matérielle, notamment l’inférence des différents composants identifiés à l’issue du partitionnement logiciel/matériel (par exemple, les microprocesseurs, les mémoires ou les FPGA) et leur assemblage ;

  • génération de la partie logicielle qui consiste en diverses fonctions à implanter ;

  • inférence des interfaces adéquates entre les parties matérielle et logicielle.

En pratique, les composants matériels sont obtenus au travers de définitions dans des langages de description appropriés tels que VHDL ou Verilog, supportant des outils de synthèse architecturale. L’assemblage de ces composants est réalisé avec des outils de saisie de schémas d’interconnexions. La partie logicielle est, quant à elle, abordée généralement sous la forme d’une organisation multi-tâches pouvant être orchestrée à l’aide d’un exécutif ou d’un noyau [H 8 200] [H 1 570]. Ainsi, la nature synchrone/asynchrone des fonctions logicielles est capturée via des mécanismes classiques de communication et de synchronisation prévus dans les exécutifs (sémaphores, événements, etc.). Enfin, les interfaces entre le logiciel et le matériel sont générées sur la base d’un couplage adapté utilisant typiquement un bus.

HAUT DE PAGE

4.2 Techniques de vérification

La vérification occupe une place très importante dans la conception d’un système dans la mesure où...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Synthèse et vérification
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - BENVENISTE (A.), CASPI (P.), EDWARDS (S.A.), HALBWACHS (N.), LE GUERNIC (P.), DE SIMONE (R.) -   « The synchronous languages twelve years later ».  -  Proceedings of the IEEE, 91 (1) : 64-83 (January 2003).

  • (2) - AUGUIN (M.), SENTIEYS (O.) -   Conception de systèmes sur puce : nécessité d'approches globales face à la concentration des difficultés.  -  In M. Jemni and D. Trystram, editors, État des lieux en Architecture, Parallélisme et Système. Hermes (2005).

  • (3) - HOARE (C.A.R.) -   « Communicating sequential processes », Communications of the ACM.  -  Vol. 21, n° 8, p. 666-677 (1978).

  • (4) - MILNER (R.) -   Communication and Concurrency.  -  Prentice Hall, International Series in Computer Science, ISBN 0-13-115007-3 (1989).

  • (5) - JANTSCH (A.), SANDER (I.) -   « Models of computation and languages for embedded system design ».  -  vol. 152, n° 2, pages 114-129, IEE...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS