Menu
Coddy logo textTech

Compilateur Verilog en ligne

Écrivez, exécutez et partagez des extraits de code — sans installation.

main.v
Cliquez sur Exécuter pour voir la sortie ici.
PlusargsParamètres d'exécution transmis au simulateur — lisez-les dans votre testbench avec $value$plusargs ou $test$plusargs.
CléValeur

Écrivez, compilez et simulez du Verilog HDL en ligne

Un compilateur et simulateur Verilog en ligne, gratuit. Écris tes modules Verilog ou SystemVerilog, branche un testbench, clique sur Run et tu vois la sortie stdout ainsi que la forme d'onde VCD rendue. Pas d'installation, pas de Vivado, pas de Quartus, aucune toolchain à configurer. L'éditeur s'ouvre sur un testbench de compteur cadencé : tu modifies et tu lances en quelques secondes.

Le code compile avec Icarus Verilog (iverilog) et tourne sous vvp dans un conteneur isolé, donc tu obtiens la vraie sémantique Verilog HDL — blocs always cadencés, affectations non bloquantes, instanciation hiérarchique de modules, $display, $finish. Ajoute $dumpfile et $dumpvars dans ton testbench et l'onglet Waveform affiche les signaux mono-bit et les bus multi-bits avec un curseur déplaçable, les transitions et des pastilles de valeur par signal. Les plusargs (+KEY=VALUE / +FLAG) arrivent dans ton testbench via $value$plusargs et $test$plusargs, ce qui te permet de faire varier la période d'horloge, la durée de simulation et les feature flags sans toucher au code source.

Pourquoi ce compilateur Verilog est utile

  • Compilation et simulation instantanées — écrivez du Verilog HDL, cliquez sur Exécuter et observez la sortie standard et les formes d'onde VCD en quelques secondes.
  • Coloration syntaxique pour Verilog et SystemVerilog avec le moteur d'éditeur de VS Code, portée module/endmodule et autocomplétion des mots-clés.
  • Visualiseur de formes d'onde intégré : émets $dumpfile + $dumpvars depuis ton testbench et l'onglet Waveform affiche les signaux, les bus, les transitions et un curseur déplaçable avec les valeurs par signal.
  • Panneau Plusargs pour les paramètres de testbench : passe +CYCLES, +PERIOD, +VERBOSE via $value$plusargs / $test$plusargs et relance sans toucher au code.

Ce que vous pouvez construire dans le playground Verilog

  • Logique combinatoire — additionneurs, multiplexeurs, ALU — câblés dans un testbench avec des vérifications $display et un retour immédiat.
  • Designs séquentiels cadencés — compteurs, registres à décalage, machines à états finis pilotés par always @(posedge clk), avec des formes d'onde VCD pour inspecter les transitions des signaux.
  • Balayages de paramètres : passe les plusargs +CYCLES, +PERIOD ou +VERBOSE pour changer le comportement d'une exécution à l'autre, comme tu le ferais en ligne de commande avec iverilog/vvp.

FAQ du compilateur Verilog en ligne

Qu'est-ce que Verilog ?
Verilog est un langage de description matérielle (HDL) utilisé pour modéliser et simuler des circuits numériques, des portes combinatoires simples jusqu'aux processeurs complets. Tu décris modules, fils et registres dans du code, tu les compiles avec un compilateur Verilog et tu lances un testbench pour vérifier le comportement. SystemVerilog est un sur-ensemble de Verilog qui ajoute des fonctionnalités de vérification. Le playground accepte les deux.
Le compilateur Verilog en ligne est-il gratuit ?
Oui, le compilateur et le simulateur Verilog sont gratuits. Pas d'inscription, pas de licence Vivado ou Quartus, aucune chaîne d'outils à installer — écris un module et clique sur Run.
Dois-je installer Icarus Verilog ou un outil EDA ?
Non. Ton code est compilé avec iverilog et exécuté sous vvp dans un conteneur isolé sur le serveur. Tu écris le code Verilog, tu cliques sur Run ; le compilateur et le simulateur font le reste.
Comment afficher les formes d'onde de mon code Verilog ?
Dans un bloc initial de ton testbench, appelle $dumpfile("dump.vcd") et $dumpvars(0, ton_module). Après Run, l'onglet Waveform affiche les signaux — clique sur n'importe quel point d'une trace pour poser un curseur et lire les valeurs de chaque signal à cet instant.
Comment écrire un testbench Verilog avec des plusargs ?
Ajoute des lignes dans le panneau Plusargs (par exemple CYCLES=10, VERBOSE) et elles sont transmises au simulateur sous la forme +CYCLES=10 +VERBOSE en ligne de commande. Dans ton testbench, lis-les avec $value$plusargs("CYCLES=%d", n) pour les valeurs entières, ou $test$plusargs("VERBOSE") pour les drapeaux booléens. Le code de démarrage par défaut illustre les deux schémas.