Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Parameters.cpp
r81 r88 29 29 uint32_t nb_reg_free , 30 30 uint32_t nb_bank , 31 uint32_t size_counter ) 31 uint32_t size_counter , 32 bool is_toplevel) 32 33 { 33 34 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); … … 43 44 _size_counter = size_counter ; 44 45 45 _size_general_register = log2(nb_general_register);46 _size_special_register = log2(nb_special_register);47 48 46 _max_reader = 1<<size_counter; 49 47 … … 68 66 69 67 test(); 68 69 if (is_toplevel) 70 { 71 _size_general_register = log2(nb_general_register); 72 _size_special_register = log2(nb_special_register); 73 74 copy (); 75 } 76 70 77 log_printf(FUNC,Stat_List_unit,FUNCTION,"End"); 71 78 }; … … 82 89 #undef FUNCTION 83 90 #define FUNCTION "Stat_List_unit::~Parameters" 84 Parameters::~Parameters ( )91 Parameters::~Parameters (void) 85 92 { 86 93 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 87 94 log_printf(FUNC,Stat_List_unit,FUNCTION,"End"); 88 95 }; 96 97 #undef FUNCTION 98 #define FUNCTION "Stat_List_unit::copy" 99 void Parameters::copy (void) 100 { 101 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 102 log_printf(FUNC,Stat_List_unit,FUNCTION,"End"); 103 }; 104 89 105 90 106 }; // end namespace stat_list_unit -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit.cpp
r81 r88 16 16 namespace register_translation_unit { 17 17 namespace stat_list_unit { 18 19 18 20 19 #undef FUNCTION … … 39 38 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 40 39 40 #if DEBUG_Stat_List_unit == true 41 log_printf(INFO,Stat_List_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 42 43 std::cout << *param << std::endl; 44 #endif 45 41 46 log_printf(INFO,Stat_List_unit,FUNCTION,"Allocation"); 42 47 … … 48 53 49 54 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)55 if (usage_is_set(_usage,USE_STATISTICS)) 51 56 { 52 57 log_printf(INFO,Stat_List_unit,FUNCTION,"Allocation of statistics"); … … 57 62 58 63 #ifdef VHDL 59 if ( _usage & USE_VHDL)64 if (usage_is_set(_usage,USE_VHDL)) 60 65 { 61 66 // generate the vhdl … … 67 72 68 73 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)74 if (usage_is_set(_usage,USE_SYSTEMC)) 70 75 { 71 76 // Constant … … 90 95 SC_METHOD (genMoore); 91 96 dont_initialize (); 92 sensitive << (*(in_CLOCK)).neg(); 97 sensitive << (*(in_CLOCK)).neg(); // need internal register 93 98 94 99 # ifdef SYSTEMCASS_SPECIFIC … … 100 105 SC_METHOD (genMealy); 101 106 dont_initialize (); 102 sensitive << (*(in_CLOCK)).neg(); 107 sensitive << (*(in_CLOCK)).neg(); // need internal register 103 108 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 104 109 sensitive << (*(in_INSERT_READ_RA [i])) … … 135 140 136 141 #ifdef STATISTICS 137 if ( _usage & USE_STATISTICS)142 if (usage_is_set(_usage,USE_STATISTICS)) 138 143 { 139 144 log_printf(INFO,Stat_List_unit,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_allocation.cpp
r81 r88 87 87 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register); 88 88 ALLOC1_SIGNAL_IN ( in_RETIRE_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 89 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t ,1 ); 89 90 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register); 90 91 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_NEW,"num_reg_rd_phy_new",Tgeneral_address_t,_param->_size_general_register); 91 92 ALLOC1_SIGNAL_IN ( in_RETIRE_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 93 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t ,1 ); 92 94 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register); 93 95 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register); … … 112 114 } 113 115 114 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 if (usage_is_set(_usage,USE_SYSTEMC)) 118 { 115 119 gpr_stat_list = new stat_list_entry_t * [_param->_nb_bank]; 116 120 spr_stat_list = new stat_list_entry_t * [_param->_nb_bank]; … … 128 132 internal_PUSH_SPR_VAL = new Tcontrol_t [_param->_nb_reg_free]; 129 133 internal_PUSH_SPR_NUM_BANK = new uint32_t [_param->_nb_reg_free]; 134 } 135 136 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 130 137 131 138 #ifdef POSITION 132 _component->generate_file(); 139 if (usage_is_set(_usage,USE_POSITION)) 140 _component->generate_file(); 133 141 #endif 134 142 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 25 26 if ( _usage & USE_SYSTEMC)26 if (usage_is_set(_usage,USE_SYSTEMC)) 27 27 { 28 28 delete in_CLOCK ; … … 51 51 delete [] in_RETIRE_NUM_REG_RC_PHY ; 52 52 delete [] in_RETIRE_WRITE_RD ; 53 delete [] in_RETIRE_RESTORE_RD_PHY_OLD; 53 54 delete [] in_RETIRE_NUM_REG_RD_PHY_OLD; 54 55 delete [] in_RETIRE_NUM_REG_RD_PHY_NEW; 55 56 delete [] in_RETIRE_WRITE_RE ; 57 delete [] in_RETIRE_RESTORE_RE_PHY_OLD; 56 58 delete [] in_RETIRE_NUM_REG_RE_PHY_OLD; 57 59 delete [] in_RETIRE_NUM_REG_RE_PHY_NEW; … … 64 66 delete [] in_PUSH_SPR_ACK ; 65 67 delete [] out_PUSH_SPR_NUM_REG ; 68 69 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 71 delete [] gpr_stat_list; 72 delete [] spr_stat_list; 73 74 delete [] internal_INSERT_ACK ; 75 delete [] internal_RETIRE_ACK ; 76 delete [] internal_PUSH_GPR_VAL ; 77 delete [] internal_PUSH_GPR_NUM_BANK; 78 delete [] internal_PUSH_SPR_VAL ; 79 delete [] internal_PUSH_SPR_NUM_BANK; 66 80 } 81 82 67 83 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 delete [] gpr_stat_list;69 delete [] spr_stat_list;70 71 delete [] internal_INSERT_ACK ;72 delete [] internal_RETIRE_ACK ;73 delete [] internal_PUSH_GPR_VAL ;74 delete [] internal_PUSH_GPR_NUM_BANK;75 delete [] internal_PUSH_SPR_VAL ;76 delete [] internal_PUSH_SPR_NUM_BANK;77 84 78 85 delete _component; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_genMealy.cpp
r81 r88 23 23 void Stat_List_unit::genMealy (void) 24 24 { 25 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 log_begin(Stat_List_unit,FUNCTION); 26 log_function(Stat_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) … … 57 58 } 58 59 59 log_ printf(FUNC,Stat_List_unit,FUNCTION,"End");60 log_end(Stat_List_unit,FUNCTION); 60 61 }; 61 62 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_genMoore.cpp
r81 r88 23 23 void Stat_List_unit::genMoore (void) 24 24 { 25 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 log_begin(Stat_List_unit,FUNCTION); 26 log_function(Stat_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 uint32_t gpr_ptr = internal_GPR_PTR_FREE; … … 69 70 } 70 71 71 log_ printf(FUNC,Stat_List_unit,FUNCTION,"End");72 log_end(Stat_List_unit,FUNCTION); 72 73 }; 73 74 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp
r81 r88 23 23 void Stat_List_unit::transition (void) 24 24 { 25 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 log_begin(Stat_List_unit,FUNCTION); 26 log_function(Stat_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 if (PORT_READ(in_NRESET) == 0) … … 121 122 if (PORT_READ(in_RETIRE_WRITE_RD [i])) 122 123 { 124 Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RD_PHY_OLD [i]); 123 125 { 124 126 Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RD_PHY_OLD [i]); 125 127 uint32_t bank = num_reg >> _param->_shift_gpr; 126 128 uint32_t reg = num_reg & _param->_mask_gpr ; 127 gpr_stat_list [bank][reg].retire_write_old( );129 gpr_stat_list [bank][reg].retire_write_old(restore_old); 128 130 } 129 131 { … … 131 133 uint32_t bank = num_reg >> _param->_shift_gpr; 132 134 uint32_t reg = num_reg & _param->_mask_gpr ; 133 gpr_stat_list [bank][reg].retire_write_new( );135 gpr_stat_list [bank][reg].retire_write_new(restore_old); 134 136 } 135 137 } … … 137 139 if (PORT_READ(in_RETIRE_WRITE_RE [i])) 138 140 { 141 Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RE_PHY_OLD [i]); 139 142 { 140 143 Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RE_PHY_OLD [i]); 141 144 uint32_t bank = num_reg >> _param->_shift_spr; 142 145 uint32_t reg = num_reg & _param->_mask_spr ; 143 spr_stat_list [bank][reg].retire_write_old( );146 spr_stat_list [bank][reg].retire_write_old(restore_old); 144 147 } 145 148 { … … 147 150 uint32_t bank = num_reg >> _param->_shift_spr; 148 151 uint32_t reg = num_reg & _param->_mask_spr ; 149 spr_stat_list [bank][reg].retire_write_new( );152 spr_stat_list [bank][reg].retire_write_new(restore_old); 150 153 } 151 154 } … … 171 174 internal_SPR_PTR_FREE = ((internal_SPR_PTR_FREE==0)?_param->_nb_special_register_by_bank:internal_SPR_PTR_FREE)-1; 172 175 } 173 174 // log_printf(TRACE,Stat_List_unit,FUNCTION,"Print gpr_stat_list :"); 175 // for (uint32_t i=0; i<_param->_nb_bank; i++) 176 // { 177 // log_printf(TRACE,Stat_List_unit,FUNCTION," * Bank : %d",i); 178 // for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 179 // { 180 // std::ostringstream str; 181 // str << gpr_stat_list [i][j]; 182 // log_printf(TRACE,Stat_List_unit,FUNCTION," [%d] %s",j,str.str().c_str()); 183 184 // } 185 // } 186 // log_printf(TRACE,Stat_List_unit,FUNCTION,"Print spr_stat_list :"); 187 // for (uint32_t i=0; i<_param->_nb_bank; i++) 188 // { 189 // log_printf(TRACE,Stat_List_unit,FUNCTION," * Bank : %d",i); 190 // for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 191 // { 192 // std::ostringstream str; 193 // str << spr_stat_list [i][j]; 194 // log_printf(TRACE,Stat_List_unit,FUNCTION," [%d] %s",j,str.str().c_str()); 195 // } 196 // } 176 177 178 #if (DEBUG >= DEBUG_TRACE) 179 log_printf(TRACE,Stat_List_unit,FUNCTION," * Dump Stat List"); 180 for (uint32_t i=0; i<_param->_nb_bank; i++) 181 for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 182 log_printf(TRACE,Stat_List_unit,FUNCTION," * GPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, valid %.1d, counter %.4d", 183 i, 184 j, 185 (i<<_param->_shift_gpr)|j, 186 gpr_stat_list[i][j]._is_free, 187 gpr_stat_list[i][j]._is_link, 188 gpr_stat_list[i][j]._is_valid, 189 gpr_stat_list[i][j]._counter); 190 for (uint32_t i=0; i<_param->_nb_bank; i++) 191 for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 192 log_printf(TRACE,Stat_List_unit,FUNCTION," * SPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, valid %.1d, counter %.4d", 193 i, 194 j, 195 (i<<_param->_shift_spr)|j, 196 spr_stat_list[i][j]._is_free, 197 spr_stat_list[i][j]._is_link, 198 spr_stat_list[i][j]._is_valid, 199 spr_stat_list[i][j]._counter); 200 #endif 197 201 198 202 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) … … 200 204 #endif 201 205 202 log_ printf(FUNC,Stat_List_unit,FUNCTION,"End");206 log_end(Stat_List_unit,FUNCTION); 203 207 }; 204 208
Note: See TracChangeset
for help on using the changeset viewer.