URL: https://linuxfr.org/users/martoni/journaux/le-vhdl-prend-il-l-eau Title: Le VHDL prend-il l'eau ? Authors: martoni Date: 2014年11月12日T13:48:50+01:00 License: CC By-SA Tags: fpga, verilog, vhdl, libre, open_source, python et simulation Score: 28 Le [VHDL](http://en.wikipedia.org/wiki/VHDL) est un langage de simulation numérique. C'est initialement une commande de l'armée américaine pour standardiser les spécifications de circuits numériques. Le VHDL a été standardisé à coup de pelle à neige par l'IEEE en se basant sur le langage ADA. Du langage de simulation, le VHDL est passé au langage de description hardware avec l'arrivée des FPGA/ASIC. Les constructeurs de FPGA fournissant des outils de conversion VHDL->netlist pour leurs propres composants. Chacun y allant de son interprétation du langage pour son propre compte. Parallèlement, Cadence qui avait développé son propre langage de simulation pour ses outils a elle aussi ouvert son propre langage en le standardisant : le [verilog](http://en.wikipedia.org/wiki/Verilog). Alors soyons clair, les deux langages sont relativement mauvais, verbeux, mal standardisés et sujet à interprétation en fonction de l'outil utilisé. La question n'est pas de savoir si Verilog est meilleur que le VHDL mais plutôt de discuter des projets libres tournant autour d'eux. En se qui concerne les outils privateurs (cadence, mentor, xilinx, altera, ...) le choix de l'un ou l'autre des langages n'a que peu de conséquences. Ces outils supportent très bien les deux langages, ils supportent même le mélange des deux dans un même projet. En ce qui concerne les outils libres c'est une toute autre histoire. Le seul projet sérieux se basant sur VHDL que je connaisse est [GHDL](http://ghdl.free.fr/). Un simulateur basé sur gcc et maintenu par [Tristan Gringold](http://linuxfr.org/news/entretien-avec-tristan-gingold-auteur-de-ghdl). Ce simulateur fonctionne bien malgrés qu'il soit relativement lent. C'est l'outil que j'utilise intensivement pour le développement de mes projets FPGA (avec [gtkwave](http://gtkwave.sourceforge.net/) pour la visualisation des signaux). Mais en ce qui concerne le Verilog. On trouve beaucoup plus de projets libres qui semblent relativement abouti: - [Icarus](http://iverilog.icarus.com/): Permet de simuler ses projets verilog à la manière de ghdl, d'après le site internet icarus est même capable de générer la netlist pour la synthèse. - [Verilator](http://www.veripool.org/wiki/verilator): La simulation direct du verilog étant relativement lente, verilator converti le code en C++ pour améliorer la vitesse de simulation. - [Migen](https://github.com/m-labs/migen): Un module python permettant de décrire son architecture hard en python puis de générer le verilog synthétisable et simulable. - [Chisel](https://chisel.eecs.berkeley.edu/): Ce projet permet de décrire son architecture matérielle en [scala](http://www.scala-lang.org/) et de générer soit du verilog pour la synthèse, soit du C++ pour la simulation. - ... Il y a certainement beaucoup d'autre projet libre que je n'ai pas exploré. Mais ce que je constate dans ma quête de logiciels libres pour les FPGA, c'est que la plupart des projets sur lesquels je tombe se basent sur du Verilog et non du VHDL. Faut-il en déduire que le VHDL prend l'eau ? Que si l'on veut travailler avec des logiciels libres il vaut mieux se mettre au verilog ?