[System C] Affectation à un signal
Bonjour,
je désire affecter le résultat d'une opération à un signal. voici le programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| sc_uint<37> fifo; // signal sur qui sera effectuée l'opération.
sc_uint<32> msb; // signal qui recevra le résultat de l'opération
// 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.