Synthèse et vérification
Introduction à la conception conjointe matériel/logiciel - Une vision générale
H8450 v1 Article de référence

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 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

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

Sommaire

Présentation

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.

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

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

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

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ù elle...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Synthèse et vérification

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

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...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Protection des architectures hétérogènes sur FPGA - Approche par pare-feux matériels

Les systèmes embarqués font désormais partie intégrante de la vie quotidienne. Ces systèmes peuvent ...

Conception des cartes pour ordinateurs. Partie 1

Les cartes informatiques, utilisées dans les produits de bureautique, portables ou destinés à des ...

Microprocesseurs - Approche générale

Les microprocesseurs sont au cœur des systèmes numériques. Ils permettent le développement de logiciels ...

Introduction aux systèmes embarqués, enfouis et mobiles

Cet article fait le point sur les systèmes enfouis, embarqués et mobiles, c'est-à-dire les ordinateurs ...