Changeset 108 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_pop.cpp
- Timestamp:
- Feb 12, 2009, 12:55:06 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_pop.cpp
r88 r108 28 28 for (uint32_t i=0; i<_param->_nb_pop; i++) 29 29 { 30 uint32_t offset = i*_param->_nb_bank_by_pop; 30 log_printf(TRACE,Free_List_unit,FUNCTION," * POP [%d]",i); 31 32 uint32_t offset = i*_param->_nb_bank_by_pop; 31 33 32 34 // GPR 33 35 bool gpr_ack = not PORT_READ(in_POP_GPR_VAL[i]); 34 36 37 log_printf(TRACE,Free_List_unit,FUNCTION," * GPR_VAL : %d",PORT_READ(in_POP_GPR_VAL[i])); 38 35 39 if (not gpr_ack) 36 40 for (uint32_t j=0; j<_param->_nb_bank_by_pop; j++) 37 41 { 38 uint32_t bank = offset+((j+internal_BANK_PRIORITY)%_param->_nb_bank_by_pop); 42 uint32_t bank = offset+((j+reg_BANK_PRIORITY)%_param->_nb_bank_by_pop 43 ); 44 45 log_printf(TRACE,Free_List_unit,FUNCTION," * bank : %d",bank); 39 46 40 47 if (not _gpr_list[bank].empty()) 41 48 { 42 49 // find 50 log_printf(TRACE,Free_List_unit,FUNCTION," * find : %d",_gpr_list[bank].front()); 51 43 52 gpr_ack = true; 44 53 internal_POP_GPR_BANK [i] = bank; 45 54 PORT_WRITE(out_POP_GPR_NUM_REG [i], 46 //(bank << _param->_shift) | 55 //(bank << _param->_shift) | // only in VHDL 47 56 _gpr_list[bank].front()); 48 57 … … 54 63 bool spr_ack = not PORT_READ(in_POP_SPR_VAL[i]); 55 64 65 log_printf(TRACE,Free_List_unit,FUNCTION," * SPR_VAL : %d",PORT_READ(in_POP_SPR_VAL[i])); 66 56 67 if (not spr_ack) 57 68 for (uint32_t j=0; j<_param->_nb_bank_by_pop; j++) 58 69 { 59 uint32_t bank = offset+((j+internal_BANK_PRIORITY)%_param->_nb_bank_by_pop); 70 uint32_t bank = offset+((j+reg_BANK_PRIORITY)%_param->_nb_bank_by_pop 71 ); 72 73 log_printf(TRACE,Free_List_unit,FUNCTION," * bank : %d",bank); 60 74 61 75 if (not _spr_list[bank].empty()) 62 76 { 63 77 // find 78 log_printf(TRACE,Free_List_unit,FUNCTION," * find : %d",_spr_list[bank].front()); 79 64 80 spr_ack = true; 65 81 internal_POP_SPR_BANK [i] = bank; 66 82 PORT_WRITE(out_POP_SPR_NUM_REG [i], 67 //(bank << _param->_shift) | 83 //(bank << _param->_shift) | // only in VHDL 68 84 _spr_list[bank].front()); 69 85
Note: See TracChangeset
for help on using the changeset viewer.