Présentation
EnglishAuteur(s)
-
Jean MERMET : Docteur ès sciences mathématiques - Directeur de recherche au CNRS
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
La seconde moitié du XXe siècle restera comme l’ère de l’invention puis de la prolifération des circuits intégrés et des systèmes électroniques fabriqués avec eux. Les calculateurs existaient avant, mais ils étaient mécaniques. Au XXIe siècle, ces calculateurs devenus microprocesseurs ne seront plus qu’un composant d’un « système sur une puce ». Sur cette puce, on verra s’opérer d’autres mutations : optiques, micromécaniques (déjà maîtrisées), moléculaires, voire biologiques.
En fait, tous ces aspects ne sont que l’habillage de machines mathématiques. Ceci est toujours resté perceptible dans le domaine du logiciel où langages de haut niveau ou langage machine sont des variations plus ou moins rigoureuses, mais immatérielles, des notions de fonctions d’automates, d’algorithmes ou de processus.
Mais une machine, même mathématique, a besoin d’un support physique, de même que l’information a besoin du support de la masse et de l’énergie. Ce support, c’est le matériel électronique, circuits intégrés et périphériques, toute la quincaillerie électronique, en anglais le « hardware ».
L’invention des langages de conception des circuits (« Hardware Description Language » : HDL) – qui n’étaient pas encore intégrés – date du début des années 1960 aussi bien aux États-Unis qu’en Europe. Elle a été motivée par le désir de rester, pendant le processus de conception, aussi longtemps que possible à un niveau abstrait, et de repousser le passage à la réalisation physique jusqu’au moment où plus aucune décision ne peut être prise indépendamment de la technologie. Elle a aussi été une réponse à la croissance continue et exponentielle de la complexité des systèmes électroniques à concevoir, un problème commun au matériel et au logiciel, ce qui peut expliquer que la syntaxe des langages HDL a suivi avec un décalage raisonnable d’une dizaine d’années l’évolution des langages de programmation. À la fin des années 1960, elle était de type « Algol », une décennie plus tard de type « Pascal », puis dans les années 1980 de type « C » ou « ADA ». Ces langages HDL ont aussi intégré les concepts les plus avancés des langages de spécification de programmes. Au niveau de la spécification d’un système complet (circuits numériques, circuits analogiques, capteurs, logiciels) intégré sur une seule puce, il ne restera plus de différence. Quoique les langages HDL puissent décrire certaines des contraintes imposées par une technologie (temporelles, topologiques, fonctions de résolution…), celles-ci peuvent être traitées comme des paramètres externes. Le domaine du langage est celui d’objets abstraits, susceptibles théoriquement d’être réalisés avec n’importe quelle technologie, pour peu que des logiciels d’aide à la conception convenables soient fournis.
Cela crée une nouvelle situation. D’un côté, à cause de leur complexité qui ne peut plus être maîtrisée, même par de très grosses équipes de conception, les systèmes à concevoir nécessitent tous les logiciels d’aide à la conception (CAD) disponibles. Certainement, des logiciels CAD encore plus efficaces seront développés, mais réciproquement, les circuits conçus seront de plus en plus limités à ceux que les logiciels CAD du moment permettront de concevoir. La réutilisation de parties déjà développées en résulte. C’est la conséquence inéluctable de la divergence entre une complexité des circuits intégrés qui croît de 60 % par an selon la loi de Moore et de l’efficacité des logiciels CAD qui, elle, ne croît que de 20 à 25 % par an. Réutiliser de plus en plus de modules matériels ou logiciels, déjà conçus et testés, est la seule issue.
D’un autre côté, les descriptions en langage HDL vont rester indépendantes de toute réalisation, quoique de plus en plus précises et complètes : elles permettront plusieurs réalisations des mêmes sous-systèmes tout au long de générations successives de technologie. Chacun sait que c’était (avec la maintenance de la documentation des circuits) l’objectif principal fixé par le département de la défense américain (DoD) lorsqu’il lança l’appel à définition du VHDL (Very High Speed Integrated Circuits HDL). Les systèmes militaires durent plusieurs décennies et cela implique la mise à niveau continuelle du même système en termes de nouvelles technologies.
Les langages de spécification et de conception de circuits étaient certainement très en avance sur les besoins dans les années 1960, lorsque même les schémas de circuits étaient dessinés à la main. Pourtant, c’est l’âge des premiers outils de simulation logique ou électrique ou de synthèse logique à partir de descriptions en langage HDL. Aujourd’hui, il est tout simplement impossible de concevoir un ASIC (Application Specific Integrated Component) ou une FPGA (Field Programmable Gate Array) sans ces langages et le système de CAO (conception assistée par ordinateur) qui les accompagne. Nous verrons brièvement comment sont apparus les concepts qui ont progressivement conduit, de langage en langage, à VERILOG et VHDL, les deux standards en usage aujourd’hui.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Électronique
(228 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
Présentation
1. Principes généraux
1.1 Terminologie
Dans le domaine des langages formels, des milliers d’heures ont été perdues à chercher le contenu sémantique donné par tout nouvel interlocuteur aux termes les plus couramment utilisés. Face à ce constat, plusieurs groupes, au sein de l’Institute of Electrical and Electronics Engineers (IEEE), dans le projet américain RASSP (Rapid-prototyping of Application Specific Signal Processors) et maintenant dans l’association Virtual Socket Interface Alliance, ont cherché à définir une terminologie standard, précise, non ambiguë, et acceptée par le plus grand nombre. Un tel travail n’est jamais terminé, mais pour y avoir participé, nous adopterons ici son état actuel. Nous ne donnons qu’un échantillon des définitions en renvoyant le lecteur intéressé au document de référence [1].
-
Système
Les systèmes électroniques, comme tout autre système, sont constitués d’un ensemble de sous-systèmes, de leurs interrelations d’un fonctionnement dynamique, ou comportement, et d’une interface avec le reste du monde. Comme nous ne considérons que des systèmes technologiques, il vaut mieux, selon la recommandation de VSI-Alliance, leur ajouter un qualificatif comme : système CPU-mémoire (Central Processing Unit) ou système de traitement numérique du signal. Souvent, le système considéré va être implanté sur une seule puce électronique (en anglais SoC : System-on-a-Chip), ce qui est de moins en moins une restriction à l’heure où un seul circuit peut intégrer plusieurs microprocesseurs, processeurs de traitement de signal, mémoires, batteries, antennes, capteurs chimiques ou autres, etc.
-
Architecture
Définir une architecture de système électronique, c’est : identifier les différents sous-systèmes et les fonctions qui leur sont associées, concevoir l’organisation et l’interrelation de ces sous-systèmes en un ensemble qui satisfasse les exigences d’un cahier des charges et qui puisse être construit sous contraintes de la technologie disponible à la date de réalisation physique.
L’architecture d’un système est donc un choix particulier parmi un ensemble de partitions possibles en sous-systèmes parmi les différentes possibilités d’allouer des tâches à chaque sous-système, de les relier entre eux et parmi les différents protocoles de communication...
Cet article fait partie de l’offre
Électronique
(228 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
Principes généraux
BIBLIOGRAPHIE
-
(1) - VHDL modeling terminology and taxonomy - . RASSP doc., sept. 1996.
-
(2) - MERMET (J.) (guest editor) - Three decades of hardware description languages in Europe - . Journal of Electrical Engineering and Information Science (special issue), 3, no 6, déc. 1998.
-
(3) - LEE (A.), SANGIOVANNI-VINCENTELLI (éd.) - A framework for comparing models of computation - . IEEE transactions on CAD, 1998.
-
(4) - CHU (Y.) - An algol-like Computer Design Language - . Comm. of ACM, oct. 1965, 607-615.
-
(5) - SCHORR (H.) - Computer aided digital system design and analysis using a register transfer language - . IEEE Trans. on Elec. Computers, EC13, déc. 1964, 730-737.
-
(6) - SCHLAEPPI (H.P.) - A formal language describing machine logic, timing and sequencing (LOTIS) - . IEEE Trans. on Elec. Computers, EC13, août 1964, 439-448.
- ...
ANNEXES
VHDL-AMS http://www.eda.org/vhdl-ams/
HAUT DE PAGE
Institute of Electrical and Electronics Engineers IEEE http://www.ieee.org
Virtual Socket Interface Alliance (VSI-Alliance)
HAUT DE PAGECet article fait partie de l’offre
Électronique
(228 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