Pourquoi variables SystemC changer de façon inattendue?

S

suituse

Guest
les variables sont attribués dans les méthodes, les méthodes sensibles à la posedges de certains signaux.Parfois, les variables changé, mais je ne vois pas de changements dans les signaux.

qui connaît la raison?

 
Pouvez-vous post ur code ici?Si ce n'est pas un code complet un exemple de code
où le problème existe ferons.

 
Je vous remercie de votre attention:

<bool> i_rst_b sc_in;

[Flag int 4];

int BUF1;
int BUF2;

sc_signal w_start <bool>;
sc_signal w_update <bool>;
sc_signal w_drop <bool>;

SC_METHOD (gen_flags)
sensitive_pos <<w_start <<w_update <<w_drop;
sensitive_neg <<i_rst_b;

gen_flags ()
(
if (! i_rst_b.read ())
(
for (i = 0; i <4; i )
(
drapeau = 1;
)
)
d'autre
(
/ / Ne rien faire
)

if (w_update)
(
drapeau [BUF1] = 1;
)
d'autre
(
/ / Ne rien faire
)

if (w_start)
(
drapeau [BUF2] = 0;
)
else if (w_drop)
(
drapeau [BUF2] = 1;
)
d'autre
(
/ / Ne rien faire
)

)

w_start et w_update peut-être changer en même temps.
Le même à w_drop et w_update.

drapeau [3] passe de 1 à 0 alors que aucun des signaux changent.

 

Welcome to EDABoard.com

Sponsor

Back
Top