2017-02-02 6 views
1

Je souhaite que les blocs de séquence affichent certaines informations pendant leur exécution.

.: par exemple

sequence A; 
a; 
$display ("Signal A asserted here"); 
endsequence 

J'ai essayé ce code, mais a rencontré l'erreur suivante:

Tâche affichage $ est invoquée lorsque la fonction est attendue. Veuillez corriger l'appel de tâche et recompiler.

Comment puis-je surmonter cela?

Répondre

2

Vous pouvez appeler un $display dans l'expression de séquence avec la syntaxe (sequence_expr, sequence_match_item) où sequence_match_item peut être un opérateur_assignment, inc_or_dec_expression ou subroutine_call.

sequence A; 
(a, $display("Signal A asserted here")); 
endsequence 

Se reporter à IEEE Std 1800-2012 § 16,11 Appel sur le match des sous-routines d'une séquence, qui a un exemple concret de $display être invoqué dans une séquence.

0

Vous pouvez utiliser un bloc "always" pour les instructions $ display.