web-dev-qa-db-fra.com

Quelle est la différence entre $ stop et $ finish dans Verilog?

J'utilise un simulateur graphique, et ils semblent tous deux faire la même chose.

22
Steven

$finish quitte la simulation et redonne le contrôle au système d'exploitation.

$stop suspend la simulation et met un simulateur en mode interactif.

27
user285321

Selon la norme IEEE Standard for Verilog (1364-2005, Section 17.4, "Tâches du système de contrôle de simulation"), $stop doit suspendre la simulation et $finish doit obliger le simulateur à quitter et à redonner le contrôle au système d'exploitation hôte. Bien sûr, différents simulateurs peuvent implémenter les spécifications de manière légèrement différente, et tous les simulateurs ne sont pas entièrement compatibles avec les spécifications.

La documentation de votre simulateur peut fournir une description plus détaillée de son comportement, notamment en ce qui concerne les modes d'interface graphique et les modes de ligne de commande.

6
toolic

Ce lien explique cela dans une certaine mesure.

$stop - When Verilog encounters a $stop, it pauses as if you sent a Ctrl-C.

$finish - Verilog exits as if you sent Ctrl-D when it encounters $finish.

Tiré de la page 15 de cette introduction PDF.

à votre santé

2
Arnkrishn

A lien de référence rapide :

$finish;
    Finishes a simulation and exits the simulation process.
$stop;
    Halts a simulation and enters an interactive debug mode.
2
Donald Byrd

$ stop - Met la simulation en pause afin que vous puissiez la reprendre en utilisant la commande fg sous linux. Dans ce cas, lincense ne sera pas publié et le processus ne sera pas non plus tué, consommant de la mémoire.

$ finish - La simulation est terminée, la libération de la licence et la suppression du processus seront alors effectuées.

2
Karan Shah

J'utilise l'interface graphique de Modelsim. Lorsque j'ai une instruction $ stop en simulation, c'est comme si je cliquais sur le bouton stop en haut de l'interface graphique lors d'une simulation. Cependant, si j'ai une instruction $ finish, l'interface graphique affichera une invite de sortie me demandant si je veux quitter complètement Modelim.

1
Michael Grover

$stop: arrêt non souhaité de la simulation. Toutes les activités du système sont suspendues .$finish: Utilisé pour soulager le compilateur. 

Une bonne analogie serait que $finish équivaut à éteindre votre ordinateur et $stop équivaut à débrancher brusquement sa fiche.

1
user3547407