2017-10-11 7 views

Répondre

1

les contrôles d'événement commeet # dans le code de procédure ne sont pas une déclaration par eux-mêmes; ils sont préfixes aux déclarations qui suivent. Et une déclaration peut être une simple déclaration, comme une cession, ou un bloc comme début/fin ou de la fourche/join. Et un bloc est autorisé partout où une seule instruction est autorisée.

Lorsque vous écrivez @(posedge clk); il est vraiment @(posedge clk) null_statement;

Je vous ai donné suffisamment d'informations pour répondre à votre question, mais voici une autre variante:

forever 
     @posedge(clk) 
     if(vif.sof == 1) begin 
      //some code here 
     end 

Maintenant, il y a une grande différence si un point-virgule suit @(posedge clk) ou non.