Recherche…


Compiler et exécuter l'exemple

En supposant un fichier source de hello_world.v et un module de premier niveau de hello_world . Le code peut être exécuté en utilisant différents simulateurs. La plupart des simulateurs sont des simulateurs compilés. Ils nécessitent plusieurs étapes pour compiler et exécuter. Généralement le

  • La première étape consiste à compiler le design de Verilog.
  • La deuxième étape consiste à élaborer et à optimiser la conception.
  • La troisième étape consiste à exécuter la simulation.

Les détails des étapes peuvent varier en fonction du simulateur, mais l’idée générale reste la même.

Processus en trois étapes à l'aide de Cadence Simulator

 ncvlog hello_world.v
 ncelab hello_world
 ncsim hello_world
  • La première étape ncvlog consiste à compiler le fichier hello_world.v
  • La deuxième étape ncelab consiste à élaborer le code avec le module de niveau supérieur hello_world.
  • La troisième étape ncsim consiste à exécuter la simulation avec le module de niveau supérieur hello_world.
  • Le simulateur génère tout le code compilé et optimisé dans une librairie de travail. [INCA_libs - nom de la bibliothèque par défaut]

pas à pas en utilisant Cadence Simulator.

La ligne de commande appelle en interne les trois étapes requises. Cela imite l'ancien style d'exécution du simulateur interprété (ligne de commande unique).

irun hello_world.v   
or 
ncverilog hello_world.v

Bonjour le monde

Les sorties du programme Hello World! à la sortie standard.

module HELLO_WORLD(); // module doesn't have input or outputs
  initial begin
    $display("Hello World");
    $finish; // stop the simulator
  end
endmodule

Le module est un élément de base de Verilog. Il représente une collection d'éléments et est entouré par le mot-clé module et module de fin. Ici, hello_world est le module le plus (et le seul) le plus important.

Le bloc initial s'exécute au début de la simulation. Le début et la fin sont utilisés pour marquer la limite du bloc initial. $display le message sur la sortie standard. Il insère et fin de ligne "\ n" au message.

Ce code ne peut pas être synthétisé, c’est-à-dire qu’il ne peut pas être mis dans une puce.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow