1.1.1./ L'origine de Verilog
A la création des PAL
(Programmable Array Logic : réseau logique
programmable), GAL (Generic Array Logic : réseaux
logique reprogrammable) et PLD (Programmable Logic
Device : composant logique programmable), les professionnels
du numérique (électroniciens, automaticiens,
...) se sont rapidement intéressés à
ce nouveau type de composant. Les CPLD (Complex PLD)
ont rapidement apporté des solutions que ne
permettait pas le microprocesseur avec son traitement
séquentiel (temps d'exécution limité
par la fréquence d'horloge du microprocesseur).
Rapidement, les concepteurs venus
du logiciel s'y sont aussi intéressés.
Les composants ont évolué rapidement
(capacités, fonctionnalités) au point
d'envisager de résoudre mieux et plus efficacement
certains problèmes. Confrontés à
la syntaxe du langage VHDL qui ne leur était
pas familière, ils ont développé
un langage plus proche du langage C avec des fonctionnalités
parfois différentes. C'est alors qu'est né
Verilog, un langage VHDL plutôt pensé
par les professionnels du logiciel. De nos jours,
la tendance est d'aller encore plus vers le logiciel
(SystemC, ...). Des évolutions de Verilog l'amènent
à intégrer dans les programmes non seulement
des structures matérielles, mais aussi logicielles
telles ques des systèmes d'exploitation (OS).
Ce langage est né de l'industrie
(Gateway Design Automation Inc, puis CAO Cadence qui
l'a publié, puis fait normaliser) dans le milieu
des années 1980.
Il a très vite évolué
tout comme VHDL pour donner des versions normalisées
telles que Verilog95 et Verilog2001.
Remarques : la syntaxe et les solutions
proposées sont compatibles Verilog95 et Verilog2001.
Le logiciel proposé permet par configuration
de choisir l'une ou l'autre des normes.
Le site de l'ENST (
)
présente ces différents langages. Il
est ainsi possible de se reporter aux informations
et cours mis en ligne sur ce site par Alexis POLTI
(http://www.comelec.enst.fr/hdl/index.html).
1.1.2 / Pourquoi avoir choisi ce
langage ?
Les raisons sont multiples. Il fallait
qu'il soit un VHDL (Very
high level Hardware Description
Language) : c'est le cas.
Son implantation dans le domaine professionnel
devait être indéniable. C'est aujourd'hui
le cas. Le langage VHDL est assurément le langage
de description pour lequel on a le plus publié
en France comme à l'étranger. Il est
difficile, voire impossible de trouver un ouvrage
en français sur Verilog. Depuis les années
2000, le pas a été franchi dans le domaine
de l'utilisation et Verilog concurence VHDL (dans
l'enseignements comme dans l'industrie). Chaque langage
se différencie par ses possibilités,
même si l'un comme l'autre présentent
des similitudes de description. Ils sont parfois utilisés
pour des créneaux d'applications spécifiques.
Il est aussi choisi en fonction des compétences
des utilisateurs.
J'ai l'impression d'un (quasi) monopole
de VHDL dans les publications. Il existe des alternatives,
je voulais que cette alternative existe aussi sur
IUT en Ligne. La monotonie ne fait pas progresser,
alors progressons aussi par la différence.
L'ouvrage (en anglais) qui m'a permis
de découvrir ce langage : Verilog HDL
: A Guide to Digital Design and Synthesis de Samir
PALNITKAR publié chez PRENTICE HALL,
ISBN 0-13-451675-3. Il n'existe pas à ma connaissance
d'ouvrage publié en français sur ce
langage au printemps 2006.
Automaticien de formation, ayant pratiqué
les 2 langages et enseignant l'informatique dans un
IUT, il ne me paraissait pas opportun de faire acquérir
une nouvelle syntaxe à des étudiants
qui devaient apprendre des concepts nouveaux, une
nouvelle philosophie de traitement en quelques heures.
Il me paraissait intéressant
de réinvestir les acquis du langage C dans
une autre matière. J'ai constaté au
fil du temps, une certaine réussite d'étudiants
en difficulté en langage C (souvent lié
à des soucis d'analyse) en utilisant Verilog
dans un domaine où ils réussissent parfois
mieux : la logique. La syntaxe de Verilog est très
proche de celle du langage C (néanmoins, il
existe un certain nombre de différences). Il
restera à rappeler et à se rappeler
la différence de traitement du code source
généré (on câble un circuit
en fonction d'une description de tâche).
C'est à ce jour, à mon
avis, le langage le plus approprié pour prendre
en main rapidement des composants logiques programmables
par ceux qui pratiquent le langage C, nos étudiants
d'IUT en particulier.
De la même
façon qu'un programmeur en C comprend un programme
écrit en Pascal, un utilisateur de Verilog
comprend aisément un programme écrit
en VHDL et inversement. L'écriture est toujours
plus délicate du fait de la syntaxe.