Affecter une opération à un signal - C++ - Programmation
Marsh Posté le 11-08-2008 à 14:16:11
Réponse :
Problème réglé !!!
Normal que msb n'affiche pas le résultat correct d'une variable.
msb étant un signal, il n'est, par conséquent, mis à jour qu'au prochain front d'horloge alors que pour la variable, la mise à jour est instantanée.
Marsh Posté le 07-08-2008 à 21:18:31
systemC problème
Bonjour,
je désire affecter le résultat d'une opération à un signal. voici le programme :
sc_uint<37> fifo; // variable
sc_signal<sc_uint<32> > msb; // signal qui recevra le résultat de l'opération sur la variable fifo
// affichage résultat sans affectation, cet affichage donne le résultat attendu
std::cout << std::hex
<< (sc_uint<32> ) ((fifo >> 4) & 0xFF000000);
// affectation puis affichage
msb = (sc_uint<32> ) ((fifo >> 4) & 0x00FF000000);
std::cout << std::hex
<< msb;
// l'affichage de msb après affectation du résultat de l'opération, n'est pas correct, car msb contient 0.
Comment se fait-il que la même opération donne un résultat différent, selon qu'on l'affiche directement ou qu'on l'affecte ? Ce qui m'intéresse, c'est comment récupérer le résultat correct et l'affecter à un signal tel que msb ?
Merci à tous ceux qui peuvent m'aider.
Configuration: Linux Red Hat
Firefox 3.0.1
Message édité par asimut le 09-08-2008 à 15:45:54