Verilog vs VHDL : les différences entre les deux HDL
Verilog et VHDL sont les deux principaux langages de description matérielle (HDL) utilisés pour décrire des circuits numériques en vue de la simulation et de la synthèse. Verilog a une syntaxe concise, proche du C, et est plus facile à aborder. VHDL est verbeux et fortement typé, ce qui permet de détecter davantage d'erreurs tôt. Tous deux peuvent décrire les mêmes circuits, et le choix dépend généralement du secteur, de l'entreprise et du code existant.
| Critère | Verilog (et SystemVerilog) | VHDL |
|---|---|---|
| Origine | Créé dans les années 1980 chez Gateway Design Automation et normalisé sous IEEE 1364 | Développé pour le département de la Défense des États-Unis et normalisé sous IEEE 1076 en 1987 |
| Style de syntaxe | Concis et proche du C | Verbeux et proche de l'Ada |
| Typage | Faiblement typé : les conversions implicites sont faciles mais peuvent masquer des erreurs | Fortement typé : des conversions explicites sont nécessaires, les erreurs sont donc détectées à la compilation |
| Sensibilité à la casse | Sensible à la casse | Insensible à la casse |
| Courbe d'apprentissage | Plus facile pour débuter | Plus raide, mais plus sûr une fois maîtrisé |
| Fonctions de vérification | Verilog seul est limité ; SystemVerilog ajoute les classes, les tests aléatoires contraints, les assertions et l'UVM | VHDL-2008 plus des bibliothèques comme OSVVM et UVVM |
| Abstractions du langage | Moins nombreuses : modules et paramètres | Plus riches : packages, generics, records et types énumérés |
| Support des outils | Pris en charge par tous les grands simulateurs et outils de synthèse | Pris en charge par tous les grands simulateurs et outils de synthèse, et la simulation multilangage est possible |
| Utilisateurs typiques | Conception d'ASIC et de SoC, en particulier aux États-Unis et en Asie | Europe, aéronautique et défense, et de nombreux projets FPGA |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.