Changeset 139 for trunk/IPs/systemC/processor
- Timestamp:
- Jul 30, 2010, 4:47:27 PM (14 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo
- Files:
-
- 4 added
- 1 deleted
- 265 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/include/Parameters.h
r138 r139 53 53 public : uint32_t * _nb_general_register ;//[nb_rename_bloc] 54 54 public : uint32_t * _nb_special_register ;//[nb_rename_bloc] 55 public : Trat_scheme_t * _rat_scheme ;//[nb_rename_bloc] 55 56 public : uint32_t * _nb_reg_free ;//[nb_rename_bloc] 56 57 public : uint32_t * _nb_rename_unit_bank ;//[nb_rename_bloc] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp
r138 r139 161 161 DELETE1(_param->_nb_rename_unit_bank ,_param->_nb_rename_bloc); 162 162 DELETE1(_param->_nb_reg_free ,_param->_nb_rename_bloc); 163 DELETE1(_param->_rat_scheme ,_param->_nb_rename_bloc); 163 164 DELETE1(_param->_nb_special_register ,_param->_nb_rename_bloc); 164 165 DELETE1(_param->_nb_general_register ,_param->_nb_rename_bloc); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp
r138 r139 115 115 ALLOC1(_param->_nb_general_register ,uint32_t ,_param->_nb_rename_bloc); 116 116 ALLOC1(_param->_nb_special_register ,uint32_t ,_param->_nb_rename_bloc); 117 ALLOC1(_param->_rat_scheme ,Trat_scheme_t ,_param->_nb_rename_bloc); 117 118 ALLOC1(_param->_nb_reg_free ,uint32_t ,_param->_nb_rename_bloc); 118 119 ALLOC1(_param->_nb_rename_unit_bank ,uint32_t ,_param->_nb_rename_bloc); … … 130 131 _param->_nb_general_register [i] = fromString<uint32_t > (getParam("nb_general_register" , "rename_bloc",toString(i).c_str(),"")); 131 132 _param->_nb_special_register [i] = fromString<uint32_t > (getParam("nb_special_register" , "rename_bloc",toString(i).c_str(),"")); 133 _param->_rat_scheme [i] = fromString<Trat_scheme_t > (getParam("rat_scheme" , "rename_bloc",toString(i).c_str(),"")); 132 134 _param->_nb_reg_free [i] = fromString<uint32_t > (getParam("nb_reg_free" , "rename_bloc",toString(i).c_str(),"")); 133 135 _param->_nb_rename_unit_bank [i] = fromString<uint32_t > (getParam("nb_rename_unit_bank" , "rename_bloc",toString(i).c_str(),"")); 134 // 135 } 136 // _param->_size_read_counter [i] = fromString<uint32_t > (getParam("size_read_counter" , "rename_bloc",toString(i).c_str(),"")); 137 } 136 138 137 139 //----------------------------------------------------- -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/include/Decod.h
r137 r139 91 91 public : SC_OUT(Tcontrol_t ) ** out_DECOD_NO_EXECUTE ;//[nb_inst_decod] 92 92 public : SC_OUT(Tcontrol_t ) ** out_DECOD_IS_DELAY_SLOT ;//[nb_inst_decod] 93 public : SC_OUT(Tcontrol_t ) ** out_DECOD_SAVE_RAT ;//[nb_inst_decod] 93 94 #ifdef DEBUG 94 95 public : SC_OUT(Tgeneral_data_t ) ** out_DECOD_ADDRESS ;//[nb_inst_decod] … … 145 146 private : Tgeneral_data_t * reg_CONTEXT_ADDRESS_PREVIOUS ; //[nb_context] 146 147 private : Tcontrol_t * reg_CONTEXT_IS_DELAY_SLOT ; //[nb_context] 148 //private : Tcontrol_t * reg_CONTEXT_SAVE_RAT ; //[nb_context] 147 149 private : Tcontrol_t * internal_CONTEXT_HAVE_TRANSACTION; //[nb_context] 148 150 private : Tgeneral_data_t * internal_CONTEXT_ADDRESS_PREVIOUS; //[nb_context] 149 151 private : Tcontrol_t * internal_CONTEXT_IS_DELAY_SLOT ; //[nb_context] 152 //private : Tcontrol_t * internal_CONTEXT_SAVE_RAT ; //[nb_context] 150 153 151 154 private : Tcontrol_t * internal_DECOD_VAL ; //[nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_allocation.cpp
r137 r139 90 90 ALLOC1_SIGNAL_OUT(out_DECOD_NO_EXECUTE ,"no_execute" ,Tcontrol_t ,1 ); 91 91 ALLOC1_SIGNAL_OUT(out_DECOD_IS_DELAY_SLOT,"is_delay_slot",Tcontrol_t ,1 ); 92 ALLOC1_SIGNAL_OUT(out_DECOD_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 ); 92 93 #ifdef DEBUG 93 94 ALLOC1_SIGNAL_OUT(out_DECOD_ADDRESS ,"address" ,Tgeneral_data_t ,_param->_size_instruction_address ); … … 165 166 ALLOC1(reg_CONTEXT_ADDRESS_PREVIOUS ,Tgeneral_data_t,_param->_nb_context); 166 167 ALLOC1(reg_CONTEXT_IS_DELAY_SLOT ,Tcontrol_t ,_param->_nb_context); 168 // ALLOC1(reg_CONTEXT_SAVE_RAT ,Tcontrol_t ,_param->_nb_context); 167 169 168 170 ALLOC1(internal_CONTEXT_HAVE_TRANSACTION ,Tcontrol_t ,_param->_nb_context); 169 171 ALLOC1(internal_CONTEXT_ADDRESS_PREVIOUS ,Tgeneral_data_t,_param->_nb_context); 170 172 ALLOC1(internal_CONTEXT_IS_DELAY_SLOT ,Tcontrol_t ,_param->_nb_context); 173 // ALLOC1(internal_CONTEXT_SAVE_RAT ,Tcontrol_t ,_param->_nb_context); 171 174 172 175 #ifdef STATISTICS -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_deallocation.cpp
r137 r139 51 51 DELETE1_SIGNAL(out_DECOD_NO_EXECUTE ,_param->_nb_inst_decod,1 ); 52 52 DELETE1_SIGNAL(out_DECOD_IS_DELAY_SLOT,_param->_nb_inst_decod,1 ); 53 DELETE1_SIGNAL(out_DECOD_SAVE_RAT ,_param->_nb_inst_decod,1 ); 53 54 #ifdef DEBUG 54 55 DELETE1_SIGNAL(out_DECOD_ADDRESS ,_param->_nb_inst_decod,_param->_size_instruction_address ); … … 99 100 DELETE1(reg_CONTEXT_ADDRESS_PREVIOUS ,_param->_nb_context); 100 101 DELETE1(reg_CONTEXT_IS_DELAY_SLOT ,_param->_nb_context); 102 // DELETE1(reg_CONTEXT_SAVE_RAT ,_param->_nb_context); 103 101 104 DELETE1(internal_CONTEXT_HAVE_TRANSACTION ,_param->_nb_context); 102 105 DELETE1(internal_CONTEXT_ADDRESS_PREVIOUS ,_param->_nb_context); 103 106 DELETE1(internal_CONTEXT_IS_DELAY_SLOT ,_param->_nb_context); 107 // DELETE1(internal_CONTEXT_SAVE_RAT ,_param->_nb_context); 104 108 105 109 #ifdef STATISTICS -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp
r137 r139 59 59 internal_CONTEXT_ADDRESS_PREVIOUS [i] = reg_CONTEXT_ADDRESS_PREVIOUS [i]; 60 60 internal_CONTEXT_IS_DELAY_SLOT [i] = reg_CONTEXT_IS_DELAY_SLOT [i]; 61 // internal_CONTEXT_SAVE_RAT [i] = reg_CONTEXT_SAVE_RAT [i]; 61 62 62 63 can_continue [i] = PORT_READ(in_CONTEXT_DECOD_ENABLE [i]); … … 169 170 // Depth current. If have decod a branch and i can continue : depth = depth_next 170 171 Tdepth_t depth = (_param->_have_port_depth)?PORT_READ(in_CONTEXT_DEPTH [x]):0; 172 // Tcontrol_t save_rat = internal_CONTEXT_SAVE_RAT [x]; 173 Tcontrol_t no_execute = _decod_instruction->_no_execute; 171 174 172 175 if ((_param->_nb_branch_speculated[x] > 0) and have_decod_branch [x]) … … 182 185 PORT_WRITE(out_DECOD_TYPE [i], type); 183 186 PORT_WRITE(out_DECOD_OPERATION [i], _decod_instruction->_operation ); 184 PORT_WRITE(out_DECOD_NO_EXECUTE [i], _decod_instruction->_no_execute);187 PORT_WRITE(out_DECOD_NO_EXECUTE [i], no_execute); 185 188 PORT_WRITE(out_DECOD_IS_DELAY_SLOT [i], _decod_instruction->_is_delay_slot ); 189 // PORT_WRITE(out_DECOD_SAVE_RAT [i], save_rat); 190 PORT_WRITE(out_DECOD_SAVE_RAT [i], ((type == TYPE_BRANCH) and not no_execute)); 186 191 #ifdef DEBUG 187 192 PORT_WRITE(out_DECOD_ADDRESS [i], addr); … … 288 293 internal_CONTEXT_ADDRESS_PREVIOUS [x] = addr; 289 294 internal_CONTEXT_IS_DELAY_SLOT [x] = (type == TYPE_BRANCH); // next is a delay slot if current have branch type 295 // internal_CONTEXT_SAVE_RAT [x] = ((type == TYPE_BRANCH) and not no_execute); 290 296 } 291 297 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_transition.cpp
r88 r139 32 32 reg_CONTEXT_ADDRESS_PREVIOUS [i] = 0xfc; // 0x100-4. (0x100 : reset address) 33 33 reg_CONTEXT_IS_DELAY_SLOT [i] = 0; 34 // reg_CONTEXT_SAVE_RAT [i] = 0; 34 35 } 35 36 } … … 44 45 reg_CONTEXT_ADDRESS_PREVIOUS [i] = internal_CONTEXT_ADDRESS_PREVIOUS [i]; 45 46 reg_CONTEXT_IS_DELAY_SLOT [i] = internal_CONTEXT_IS_DELAY_SLOT [i]; 47 // reg_CONTEXT_SAVE_RAT [i] = internal_CONTEXT_SAVE_RAT [i]; 46 48 } 47 49 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Decod_queue.h
r137 r139 82 82 public : SC_IN (Tcontrol_t ) ** in_DECOD_IN_NO_EXECUTE ;//[nb_inst_decod] 83 83 public : SC_IN (Tcontrol_t ) ** in_DECOD_IN_IS_DELAY_SLOT ;//[nb_inst_decod] 84 public : SC_IN (Tcontrol_t ) ** in_DECOD_IN_SAVE_RAT ;//[nb_inst_decod] 84 85 #ifdef DEBUG 85 86 public : SC_IN (Tgeneral_data_t ) ** in_DECOD_IN_ADDRESS ;//[nb_inst_decod] … … 115 116 public : SC_OUT(Tcontrol_t ) ** out_DECOD_OUT_LAST_EVENT ;//[nb_inst_decod] 116 117 public : SC_OUT(Tcontrol_t ) ** out_DECOD_OUT_IS_DELAY_SLOT ;//[nb_inst_decod] 118 public : SC_OUT(Tcontrol_t ) ** out_DECOD_OUT_SAVE_RAT ;//[nb_inst_decod] 117 119 #ifdef DEBUG 118 120 public : SC_OUT(Tgeneral_data_t ) ** out_DECOD_OUT_ADDRESS ;//[nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Types.h
r137 r139 40 40 public : Tcontrol_t * _no_execute ; 41 41 public : Tcontrol_t * _is_delay_slot ; 42 public : Tcontrol_t * _save_rat ; 42 43 #ifdef DEBUG 43 44 public : Tgeneral_data_t * _address ; … … 72 73 ALLOC1(_no_execute ,Tcontrol_t ,_nb_inst); 73 74 ALLOC1(_is_delay_slot ,Tcontrol_t ,_nb_inst); 75 ALLOC1(_save_rat ,Tcontrol_t ,_nb_inst); 74 76 #ifdef DEBUG 75 77 ALLOC1(_address ,Tgeneral_data_t ,_nb_inst); … … 107 109 DELETE1(_no_execute ,_nb_inst); 108 110 DELETE1(_is_delay_slot ,_nb_inst); 111 DELETE1(_save_rat ,_nb_inst); 109 112 #ifdef DEBUG 110 113 DELETE1(_address ,_nb_inst); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_allocation.cpp
r137 r139 70 70 ALLOC1_SIGNAL_IN ( in_DECOD_IN_NO_EXECUTE ,"no_execute" ,Tcontrol_t ,1 ); 71 71 ALLOC1_SIGNAL_IN ( in_DECOD_IN_IS_DELAY_SLOT ,"is_delay_slot",Tcontrol_t ,1 ); 72 ALLOC1_SIGNAL_IN ( in_DECOD_IN_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 ); 72 73 #ifdef DEBUG 73 74 ALLOC1_SIGNAL_IN ( in_DECOD_IN_ADDRESS ,"address" ,Tgeneral_data_t ,_param->_size_instruction_address ); … … 109 110 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_LAST_EVENT ,"last_event" ,Tcontrol_t ,1 ); 110 111 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_IS_DELAY_SLOT ,"is_delay_slot",Tcontrol_t ,1 ); 112 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 ); 111 113 #ifdef DEBUG 112 114 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_ADDRESS ,"address" ,Tgeneral_data_t ,_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_deallocation.cpp
r137 r139 40 40 DELETE1_SIGNAL( in_DECOD_IN_NO_EXECUTE ,_param->_nb_inst_decod,1 ); 41 41 DELETE1_SIGNAL( in_DECOD_IN_IS_DELAY_SLOT ,_param->_nb_inst_decod,1 ); 42 DELETE1_SIGNAL( in_DECOD_IN_SAVE_RAT ,_param->_nb_inst_decod,1 ); 42 43 #ifdef DEBUG 43 44 DELETE1_SIGNAL( in_DECOD_IN_ADDRESS ,_param->_nb_inst_decod,_param->_size_instruction_address ); … … 72 73 DELETE1_SIGNAL(out_DECOD_OUT_LAST_EVENT ,_param->_nb_inst_decod,1 ); 73 74 DELETE1_SIGNAL(out_DECOD_OUT_IS_DELAY_SLOT ,_param->_nb_inst_decod,1 ); 75 DELETE1_SIGNAL(out_DECOD_OUT_SAVE_RAT ,_param->_nb_inst_decod,1 ); 74 76 #ifdef DEBUG 75 77 DELETE1_SIGNAL(out_DECOD_OUT_ADDRESS ,_param->_nb_inst_decod,_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_multi_fifo_genMoore.cpp
r137 r139 64 64 PORT_WRITE(out_DECOD_OUT_LAST_EVENT [i],0); 65 65 PORT_WRITE(out_DECOD_OUT_IS_DELAY_SLOT [i],reg_QUEUE[num_bank].front()->_is_delay_slot [0]); 66 PORT_WRITE(out_DECOD_OUT_SAVE_RAT [i],reg_QUEUE[num_bank].front()->_save_rat [0]); 66 67 #ifdef DEBUG 67 68 PORT_WRITE(out_DECOD_OUT_ADDRESS [i],reg_QUEUE[num_bank].front()->_address [0]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_multi_fifo_transition.cpp
r137 r139 81 81 entry->_no_execute [0] = PORT_READ(in_DECOD_IN_NO_EXECUTE [i]); 82 82 entry->_is_delay_slot [0] = PORT_READ(in_DECOD_IN_IS_DELAY_SLOT [i]); 83 entry->_save_rat [0] = PORT_READ(in_DECOD_IN_SAVE_RAT [i]); 83 84 #ifdef DEBUG 84 85 entry->_address [0] = PORT_READ(in_DECOD_IN_ADDRESS [i]); … … 186 187 it++) 187 188 { 188 log_printf(TRACE,Decod_queue,FUNCTION," * [%.4d][%.4d] %.3d %.2d, %.2d %.3d %.1d %.1d , 0x%.8x (0x%.8x), %.1d 0x%.8x, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d"189 log_printf(TRACE,Decod_queue,FUNCTION," * [%.4d][%.4d] %.3d %.2d, %.2d %.3d %.1d %.1d %.1d, 0x%.8x (0x%.8x), %.1d 0x%.8x, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d" 189 190 ,i 190 191 ,x … … 195 196 ,(*it)->_no_execute [0] 196 197 ,(*it)->_is_delay_slot [0] 198 ,(*it)->_save_rat [0] 197 199 ,(*it)->_address [0] 198 200 ,(*it)->_address [0]<<2 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_one_fifo_genMoore.cpp
r137 r139 64 64 PORT_WRITE(out_DECOD_OUT_LAST_EVENT [i],0); 65 65 PORT_WRITE(out_DECOD_OUT_IS_DELAY_SLOT [i],reg_QUEUE->front()->_is_delay_slot [index]); 66 PORT_WRITE(out_DECOD_OUT_SAVE_RAT [i],reg_QUEUE->front()->_save_rat [index]); 66 67 #ifdef DEBUG 67 68 PORT_WRITE(out_DECOD_OUT_ADDRESS [i],reg_QUEUE->front()->_address [index]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_one_fifo_transition.cpp
r137 r139 84 84 entry->_no_execute [i] = PORT_READ(in_DECOD_IN_NO_EXECUTE [i]); 85 85 entry->_is_delay_slot [i] = PORT_READ(in_DECOD_IN_IS_DELAY_SLOT [i]); 86 entry->_save_rat [i] = PORT_READ(in_DECOD_IN_SAVE_RAT [i]); 86 87 #ifdef DEBUG 87 88 entry->_address [i] = PORT_READ(in_DECOD_IN_ADDRESS [i]); … … 196 197 { 197 198 if ((*it)->_val [i]) 198 log_printf(TRACE,Decod_queue,FUNCTION," * [%.4d][%.4d] %.1d, %.3d %.2d, %.2d %.3d %.1d %.1d , 0x%.8x (0x%.8x), %.1d 0x%.8x, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d"199 log_printf(TRACE,Decod_queue,FUNCTION," * [%.4d][%.4d] %.1d, %.3d %.2d, %.2d %.3d %.1d %.1d %.1d, 0x%.8x (0x%.8x), %.1d 0x%.8x, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d, %.1d %.2d" 199 200 ,x 200 201 ,i … … 206 207 ,(*it)->_no_execute [i] 207 208 ,(*it)->_is_delay_slot [i] 209 ,(*it)->_save_rat [i] 208 210 ,(*it)->_address [i] 209 211 ,(*it)->_address [i]<<2 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/include/Decod_unit.h
r137 r139 92 92 public : SC_OUT(Tcontrol_t ) ** out_DECOD_LAST_EVENT ;//[nb_inst_decod] 93 93 public : SC_OUT(Tcontrol_t ) ** out_DECOD_IS_DELAY_SLOT ;//[nb_inst_decod] 94 public : SC_OUT(Tcontrol_t ) ** out_DECOD_SAVE_RAT ;//[nb_inst_decod] 94 95 #ifdef DEBUG 95 96 public : SC_OUT(Tgeneral_data_t ) ** out_DECOD_ADDRESS ;//[nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/src/Decod_unit_allocation.cpp
r137 r139 89 89 ALLOC1_SIGNAL_OUT(out_DECOD_LAST_EVENT ,"last_event" ,Tcontrol_t ,1 ); 90 90 ALLOC1_SIGNAL_OUT(out_DECOD_IS_DELAY_SLOT,"is_delay_slot",Tcontrol_t ,1 ); 91 ALLOC1_SIGNAL_OUT(out_DECOD_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 ); 91 92 #ifdef DEBUG 92 93 ALLOC1_SIGNAL_OUT(out_DECOD_ADDRESS ,"address" ,Tgeneral_data_t ,_param->_size_instruction_address ); … … 308 309 COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(i)+"_IS_DELAY_SLOT", 309 310 dest, "in_DECOD_IN_"+toString(i)+"_IS_DELAY_SLOT"); 311 COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(i)+"_SAVE_RAT" , 312 dest, "in_DECOD_IN_"+toString(i)+"_SAVE_RAT" ); 310 313 #ifdef DEBUG 311 314 COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(i)+"_ADDRESS" , … … 454 457 // in_DECOD_IN_NO_EXECUTE - component decod 455 458 // in_DECOD_IN_IS_DELAY_SLOT - component decod 459 // in_DECOD_IN_SAVE_RAT - component decod 456 460 // in_DECOD_IN_ADDRESS - component decod 457 461 // in_DECOD_IN_ADDRESS_NEXT - component decod … … 506 510 PORT_MAP(_component,src ,"out_DECOD_OUT_"+toString(i)+"_IS_DELAY_SLOT", 507 511 dest,"out_DECOD_" +toString(i)+"_IS_DELAY_SLOT"); 512 PORT_MAP(_component,src ,"out_DECOD_OUT_"+toString(i)+"_SAVE_RAT" , 513 dest,"out_DECOD_" +toString(i)+"_SAVE_RAT" ); 508 514 #ifdef DEBUG 509 515 PORT_MAP(_component,src ,"out_DECOD_OUT_"+toString(i)+"_ADDRESS" , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/src/Decod_unit_deallocation.cpp
r137 r139 52 52 DELETE1_SIGNAL(out_DECOD_LAST_EVENT ,_param->_nb_inst_decod,1 ); 53 53 DELETE1_SIGNAL(out_DECOD_IS_DELAY_SLOT ,_param->_nb_inst_decod,1 ); 54 DELETE1_SIGNAL(out_DECOD_SAVE_RAT ,_param->_nb_inst_decod,1 ); 54 55 #ifdef DEBUG 55 56 DELETE1_SIGNAL(out_DECOD_ADDRESS ,_param->_nb_inst_decod,_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/include/Front_end.h
r137 r139 99 99 public : SC_OUT(Tcontrol_t ) ** out_DECOD_LAST_EVENT ;//[sum_inst_decod] 100 100 public : SC_OUT(Tcontrol_t ) ** out_DECOD_IS_DELAY_SLOT ;//[sum_inst_decod] 101 public : SC_OUT(Tcontrol_t ) ** out_DECOD_SAVE_RAT ;//[sum_inst_decod] 101 102 #ifdef DEBUG 102 103 public : SC_OUT(Tgeneral_data_t ) ** out_DECOD_ADDRESS ;//[sum_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Front_end_allocation.cpp
r137 r139 107 107 ALLOC1_SIGNAL_OUT (out_DECOD_LAST_EVENT ,"LAST_EVENT" ,Tcontrol_t ,1 ); 108 108 ALLOC1_SIGNAL_OUT (out_DECOD_IS_DELAY_SLOT ,"IS_DELAY_SLOT" ,Tcontrol_t ,1 ); 109 ALLOC1_SIGNAL_OUT (out_DECOD_SAVE_RAT ,"SAVE_RAT" ,Tcontrol_t ,1 ); 109 110 #ifdef DEBUG 110 111 ALLOC1_SIGNAL_OUT (out_DECOD_ADDRESS ,"ADDRESS" ,Tgeneral_data_t ,_param->_size_instruction_address ); … … 749 750 PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_IS_DELAY_SLOT", 750 751 dest,"out_DECOD_"+toString(x)+"_IS_DELAY_SLOT"); 752 PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_SAVE_RAT" , 753 dest,"out_DECOD_"+toString(x)+"_SAVE_RAT" ); 751 754 #ifdef DEBUG 752 755 PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_ADDRESS" , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Front_end_deallocation.cpp
r137 r139 54 54 DELETE1_SIGNAL(out_DECOD_LAST_EVENT ,_param->_sum_inst_decod,1 ); 55 55 DELETE1_SIGNAL(out_DECOD_IS_DELAY_SLOT ,_param->_sum_inst_decod,1 ); 56 DELETE1_SIGNAL(out_DECOD_SAVE_RAT ,_param->_sum_inst_decod,1 ); 56 57 #ifdef DEBUG 57 58 DELETE1_SIGNAL(out_DECOD_ADDRESS ,_param->_sum_inst_decod,_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h
r138 r139 150 150 public : SC_OUT(Tspecial_address_t ) *** out_RETIRE_NUM_REG_RE_PHY_OLD ;//[nb_rename_unit][nb_inst_retire] 151 151 public : SC_OUT(Tspecial_address_t ) *** out_RETIRE_NUM_REG_RE_PHY_NEW ;//[nb_rename_unit][nb_inst_retire] 152 public : SC_OUT(Tcontrol_t ) *** out_RETIRE_RESTORE ;//[nb_rename_unit][nb_inst_retire] 153 public : SC_OUT(Tcontrol_t ) *** out_RETIRE_RESTORE_RD_PHY_OLD ;//[nb_rename_unit][nb_inst_retire] 154 public : SC_OUT(Tcontrol_t ) *** out_RETIRE_RESTORE_RE_PHY_OLD ;//[nb_rename_unit][nb_inst_retire] 152 155 153 156 // ~~~~~[ Interface : "commit" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 157 160 //public : SC_OUT(Tcontrol_t ) *** out_RETIRE_EVENT_FLUSH ;//[nb_front_end][nb_context] 158 161 public : SC_OUT(Tcontrol_t ) *** out_RETIRE_EVENT_STOP ;//[nb_front_end][nb_context] 159 162 public : SC_OUT(Tevent_type_t ) *** out_RETIRE_EVENT_TYPE ;//[nb_front_end][nb_context] 163 public : SC_OUT(Tdepth_t ) *** out_RETIRE_EVENT_DEPTH ;//[nb_front_end][nb_context] 164 160 165 // ~~~~~[ Interface : "commit" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 161 166 public : SC_IN (Tcontrol_t ) ** in_COMMIT_VAL ;//[nb_inst_commit] … … 260 265 261 266 private : Tcommit_event_state_t ** reg_EVENT_STATE ;//[nb_front_end][nb_context] 267 private : Tevent_type_t ** reg_EVENT_TYPE ;//[nb_front_end][nb_context] 262 268 //private : bool ** reg_EVENT_FLUSH ;//[nb_front_end][nb_context] 263 269 //private : bool ** reg_EVENT_STOP ;//[nb_front_end][nb_context] 264 265 270 //private : uint32_t ** reg_EVENT_NUM_BANK ;//[nb_front_end][nb_context] 271 //private : uint32_t ** reg_EVENT_NUM_PTR ;//[nb_front_end][nb_context] 266 272 //private : bool ** reg_EVENT_CAN_RESTART ;//[nb_front_end][nb_context] 267 273 private : uint32_t ** reg_EVENT_PACKET ;//[nb_front_end][nb_context] 274 private : Tdepth_t ** reg_EVENT_DEPTH ;//[nb_front_end][nb_context] 268 275 private : uint32_t ** reg_EVENT_NB_INST ;//[nb_front_end][nb_context] 269 276 private : bool ** reg_EVENT_LAST ;//[nb_front_end][nb_context] … … 279 286 private : Taddress_t ** reg_PC_CURRENT_IS_DS_TAKE ;//[nb_front_end][nb_context] 280 287 private : Taddress_t ** reg_PC_NEXT ;//[nb_front_end][nb_context] 288 289 private : bool *** rat_gpr_update_table ;//[nb_front_end][nb_context][nb_general_register_logic] 290 private : bool *** rat_spr_update_table ;//[nb_front_end][nb_context][nb_special_register_logic] 281 291 282 292 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 292 302 private : entry_t * ** internal_BANK_COMMIT_ENTRY ;//[nb_bank][nb_bank_access_commit] 293 303 294 private : uint32_t internal_BANK_RETIRE_HEAD ; 295 private : Tcontrol_t * internal_BANK_RETIRE_VAL ;//[nb_bank] 296 private : uint32_t * internal_BANK_RETIRE_NUM_RENAME_UNIT ;//[nb_bank] 297 private : uint32_t * internal_BANK_RETIRE_NUM_INST ;//[nb_bank] 304 private : uint32_t internal_BANK_RETIRE_HEAD ; 305 private : Tcontrol_t * internal_BANK_RETIRE_VAL ;//[nb_bank] 306 private : uint32_t * internal_BANK_RETIRE_NUM_RENAME_UNIT ;//[nb_bank] 307 private : uint32_t * internal_BANK_RETIRE_NUM_INST ;//[nb_bank] 308 //private : Tcontrol_t * internal_BANK_RETIRE_RESTORE ;//[nb_bank] 309 private : Tcontrol_t * internal_BANK_RETIRE_RESTORE_RD_PHY_OLD;//[nb_bank] 310 private : Tcontrol_t * internal_BANK_RETIRE_RESTORE_RE_PHY_OLD;//[nb_bank] 298 311 299 312 private : Tcontrol_t * internal_REEXECUTE_VAL ;//[nb_inst_reexecute] … … 309 322 310 323 private : Tcontrol_t ** internal_RETIRE_EVENT_VAL ;//[nb_front_end][nb_context] 324 325 private : bool *** internal_rat_gpr_update_table;//[nb_front_end][nb_context][nb_general_register_logic] 326 private : bool *** internal_rat_spr_update_table;//[nb_front_end][nb_context][nb_special_register_logic] 311 327 #endif 312 328 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Parameters.h
r138 r139 41 41 //public : uint32_t _size_general_register ; 42 42 //public : uint32_t _size_special_register ; 43 public : Trat_scheme_t * _rat_scheme ;//[nb_front_end] 43 44 public : Tpriority_t _priority ; 44 45 public : Tload_balancing_t _load_balancing ; 45 46 public : uint32_t _nb_rename_unit_select ; 46 47 public : uint32_t _nb_thread ; 47 public : uint32_t ** _translate_num_context_to_num_thread; 48 public : uint32_t ** _translate_num_context_to_num_thread;//[nb_front_end][nb_context] 48 49 public : const uint32_t _nb_bank_access_commit ; 49 50 50 51 public : uint32_t _max_nb_context ; 51 52 public : uint32_t _max_nb_inst_insert ; … … 96 97 uint32_t size_general_register , 97 98 uint32_t size_special_register , 99 Trat_scheme_t * rat_scheme ,//[nb_front_end] 98 100 Tpriority_t priority , 99 101 Tload_balancing_t load_balancing , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Types.h
r138 r139 71 71 72 72 #define commit_event_state_to_event_state(x) ((x==COMMIT_EVENT_STATE_EVENT)?EVENT_STATE_EVENT:((x==COMMIT_EVENT_STATE_WAIT_END)?EVENT_STATE_WAITEND:EVENT_STATE_NO_EVENT)) 73 #define rob_state_to_event_type(x) ((x==ROB_END_BRANCH_MISS)?EVENT_TYPE_BRANCH_MISS_SPECULATION:((x==ROB_END_LOAD_MISS)?EVENT_TYPE_LOAD_MISS_SPECULATION:((x==ROB_END_EXCEPTION)?EVENT_TYPE_EXCEPTION:EVENT_TYPE_NONE))) 73 74 74 75 // #define commit_event_state_to_event_state(x) ((x==COMMIT_EVENT_STATE_EVENT)?EVENT_STATE_EVENT:((x==COMMIT_EVENT_STATE_WAIT_END)?EVENT_STATE_WAITEND:((x==COMMIT_EVENT_STATE_END)?EVENT_STATE_END:EVENT_STATE_NO_EVENT))) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp
r137 r139 120 120 _ALLOC2_SIGNAL_OUT(out_RETIRE_STORE_QUEUE_PTR_WRITE ,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 121 121 _ALLOC2_SIGNAL_OUT(out_RETIRE_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 122 // 123 // 124 // 125 // 126 // 127 // 122 // _ALLOC2_SIGNAL_OUT(out_RETIRE_READ_RA ,"read_ra" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 123 // _ALLOC2_SIGNAL_OUT(out_RETIRE_NUM_REG_RA_PHY ,"num_reg_ra_phy" ,Tgeneral_address_t,_param->_size_general_register ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 124 // _ALLOC2_SIGNAL_OUT(out_RETIRE_READ_RB ,"read_rb" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 125 // _ALLOC2_SIGNAL_OUT(out_RETIRE_NUM_REG_RB_PHY ,"num_reg_rb_phy" ,Tgeneral_address_t,_param->_size_general_register ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 126 // _ALLOC2_SIGNAL_OUT(out_RETIRE_READ_RC ,"read_rc" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 127 // _ALLOC2_SIGNAL_OUT(out_RETIRE_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 128 128 _ALLOC2_SIGNAL_OUT(out_RETIRE_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 129 129 _ALLOC2_SIGNAL_OUT(out_RETIRE_NUM_REG_RD_LOG ,"num_reg_rd_log" ,Tgeneral_address_t,_param->_size_general_register_logic,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); … … 134 134 _ALLOC2_SIGNAL_OUT(out_RETIRE_NUM_REG_RE_PHY_OLD ,"num_reg_re_phy_old" ,Tspecial_address_t,_param->_size_special_register ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 135 135 _ALLOC2_SIGNAL_OUT(out_RETIRE_NUM_REG_RE_PHY_NEW ,"num_reg_re_phy_new" ,Tspecial_address_t,_param->_size_special_register ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 136 _ALLOC2_SIGNAL_OUT(out_RETIRE_RESTORE ,"RESTORE" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 137 _ALLOC2_SIGNAL_OUT(out_RETIRE_RESTORE_RD_PHY_OLD ,"RESTORE_RD_PHY_OLD" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 138 _ALLOC2_SIGNAL_OUT(out_RETIRE_RESTORE_RE_PHY_OLD ,"RESTORE_RE_PHY_OLD" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 136 139 137 140 ALLOC2_INTERFACE_END(_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); … … 142 145 ALLOC2_INTERFACE_BEGIN("retire_event",OUT,SOUTH, _("Interface to update rename_unit."),_param->_nb_front_end,_param->_nb_context[it1]); 143 146 144 _ALLOC2_VALACK_OUT(out_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end,_param->_nb_context[it1]); 145 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end,_param->_nb_context[it1]); 146 _ALLOC2_SIGNAL_OUT(out_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state ,_param->_nb_front_end,_param->_nb_context[it1]); 147 // _ALLOC2_SIGNAL_OUT(out_RETIRE_EVENT_FLUSH ,"flush" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 148 _ALLOC2_SIGNAL_OUT(out_RETIRE_EVENT_STOP ,"stop" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 147 _ALLOC2_VALACK_OUT (out_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end,_param->_nb_context[it1]); 148 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end,_param->_nb_context[it1]); 149 _ALLOC2_SIGNAL_OUT (out_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state,_param->_nb_front_end,_param->_nb_context[it1]); 150 // _ALLOC2_SIGNAL_OUT (out_RETIRE_EVENT_FLUSH ,"flush" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 151 _ALLOC2_SIGNAL_OUT (out_RETIRE_EVENT_STOP ,"stop" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 152 _ALLOC2_SIGNAL_OUT_COND(out_RETIRE_EVENT_TYPE ,"type" ,Tevent_type_t ,_param->_size_event_type ,_param->_nb_front_end,_param->_nb_context[it1],_param->_rat_scheme[it1] == RAT_DEPTH_SAVE); 153 _ALLOC2_SIGNAL_OUT_COND(out_RETIRE_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ,_param->_nb_front_end,_param->_nb_context[it1],_param->_rat_scheme[it1] == RAT_DEPTH_SAVE); 149 154 150 155 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_context[it1]); … … 306 311 ALLOC2(internal_BANK_COMMIT_ENTRY ,entry_t * ,_param->_nb_bank,_param->_nb_bank_access_commit); 307 312 308 ALLOC1(internal_BANK_RETIRE_VAL ,Tcontrol_t,_param->_nb_bank); 309 ALLOC1(internal_BANK_RETIRE_NUM_RENAME_UNIT ,uint32_t ,_param->_nb_bank); 310 ALLOC1(internal_BANK_RETIRE_NUM_INST ,uint32_t ,_param->_nb_bank); 313 ALLOC1(internal_BANK_RETIRE_VAL ,Tcontrol_t,_param->_nb_bank); 314 ALLOC1(internal_BANK_RETIRE_NUM_RENAME_UNIT ,uint32_t ,_param->_nb_bank); 315 ALLOC1(internal_BANK_RETIRE_NUM_INST ,uint32_t ,_param->_nb_bank); 316 // ALLOC1(internal_BANK_RETIRE_RESTORE ,Tcontrol_t,_param->_nb_bank); 317 ALLOC1(internal_BANK_RETIRE_RESTORE_RD_PHY_OLD,Tcontrol_t,_param->_nb_bank); 318 ALLOC1(internal_BANK_RETIRE_RESTORE_RE_PHY_OLD,Tcontrol_t,_param->_nb_bank); 311 319 312 320 ALLOC1(internal_REEXECUTE_VAL ,Tcontrol_t,_param->_nb_inst_reexecute); … … 318 326 ALLOC2(internal_EVENT_ACK ,Tcontrol_t,_param->_nb_front_end,_param->_nb_context[it1]); 319 327 ALLOC2(internal_RETIRE_EVENT_VAL ,Tcontrol_t,_param->_nb_front_end,_param->_nb_context[it1]); 328 329 ALLOC3(internal_rat_gpr_update_table ,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 330 ALLOC3(internal_rat_spr_update_table ,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 331 320 332 321 333 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 329 341 330 342 ALLOC2(reg_EVENT_STATE ,Tcommit_event_state_t,_param->_nb_front_end,_param->_nb_context [it1]); 343 ALLOC2(reg_EVENT_TYPE ,Tevent_type_t ,_param->_nb_front_end,_param->_nb_context [it1]); 331 344 // ALLOC2(reg_EVENT_FLUSH ,bool ,_param->_nb_front_end,_param->_nb_context [it1]); 332 345 // ALLOC2(reg_EVENT_STOP ,bool ,_param->_nb_front_end,_param->_nb_context [it1]); 333 334 346 // ALLOC2(reg_EVENT_NUM_BANK ,uint32_t ,_param->_nb_front_end,_param->_nb_context [it1]); 347 // ALLOC2(reg_EVENT_NUM_PTR ,uint32_t ,_param->_nb_front_end,_param->_nb_context [it1]); 335 348 // ALLOC2(reg_EVENT_CAN_RESTART ,bool ,_param->_nb_front_end,_param->_nb_context [it1]); 336 349 ALLOC2(reg_EVENT_PACKET ,uint32_t ,_param->_nb_front_end,_param->_nb_context [it1]); 350 ALLOC2(reg_EVENT_DEPTH ,Tdepth_t ,_param->_nb_front_end,_param->_nb_context [it1]); 337 351 ALLOC2(reg_EVENT_NB_INST ,uint32_t ,_param->_nb_front_end,_param->_nb_context [it1]); 338 352 ALLOC2(reg_EVENT_LAST ,bool ,_param->_nb_front_end,_param->_nb_context [it1]); … … 348 362 ALLOC2(reg_PC_CURRENT_IS_DS_TAKE,Taddress_t ,_param->_nb_front_end,_param->_nb_context [it1]); 349 363 ALLOC2(reg_PC_NEXT ,Taddress_t ,_param->_nb_front_end,_param->_nb_context [it1]); 364 365 ALLOC3(rat_gpr_update_table ,bool ,_param->_nb_front_end,_param->_nb_context [it1],_param->_nb_general_register_logic); 366 ALLOC3(rat_spr_update_table ,bool ,_param->_nb_front_end,_param->_nb_context [it1],_param->_nb_special_register_logic); 350 367 } 351 368 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp
r137 r139 96 96 DELETE2_SIGNAL(out_RETIRE_NUM_REG_RE_PHY_OLD ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],_param->_size_special_register ); 97 97 DELETE2_SIGNAL(out_RETIRE_NUM_REG_RE_PHY_NEW ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],_param->_size_special_register ); 98 99 DELETE2_SIGNAL(out_RETIRE_EVENT_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 100 DELETE2_SIGNAL( in_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 101 DELETE2_SIGNAL(out_RETIRE_EVENT_STATE ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_event_state); 102 // DELETE2_SIGNAL(out_RETIRE_EVENT_FLUSH ,_param->_nb_front_end,_param->_nb_context[it1],1); 103 DELETE2_SIGNAL(out_RETIRE_EVENT_STOP ,_param->_nb_front_end,_param->_nb_context[it1],1); 98 DELETE2_SIGNAL(out_RETIRE_RESTORE ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],1); 99 DELETE2_SIGNAL(out_RETIRE_RESTORE_RD_PHY_OLD ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],1); 100 DELETE2_SIGNAL(out_RETIRE_RESTORE_RE_PHY_OLD ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],1); 101 102 DELETE2_SIGNAL (out_RETIRE_EVENT_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 103 DELETE2_SIGNAL ( in_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 104 DELETE2_SIGNAL (out_RETIRE_EVENT_STATE ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_event_state); 105 // DELETE2_SIGNAL (out_RETIRE_EVENT_FLUSH ,_param->_nb_front_end,_param->_nb_context[it1],1); 106 DELETE2_SIGNAL (out_RETIRE_EVENT_STOP ,_param->_nb_front_end,_param->_nb_context[it1],1); 107 DELETE2_SIGNAL_COND(out_RETIRE_EVENT_TYPE ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_event_type,_param->_rat_scheme[it1] == RAT_DEPTH_SAVE); 108 DELETE2_SIGNAL_COND(out_RETIRE_EVENT_DEPTH ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_depth ,_param->_rat_scheme[it1] == RAT_DEPTH_SAVE); 104 109 105 110 DELETE1_SIGNAL( in_COMMIT_VAL ,_param->_nb_inst_commit,1 ); … … 187 192 DELETE2(internal_BANK_COMMIT_ENTRY ,_param->_nb_bank,_param->_nb_bank_access_commit); 188 193 189 DELETE1(internal_BANK_RETIRE_VAL ,_param->_nb_bank); 190 DELETE1(internal_BANK_RETIRE_NUM_RENAME_UNIT ,_param->_nb_bank); 191 DELETE1(internal_BANK_RETIRE_NUM_INST ,_param->_nb_bank); 194 DELETE1(internal_BANK_RETIRE_VAL ,_param->_nb_bank); 195 DELETE1(internal_BANK_RETIRE_NUM_RENAME_UNIT ,_param->_nb_bank); 196 DELETE1(internal_BANK_RETIRE_NUM_INST ,_param->_nb_bank); 197 // DELETE1(internal_BANK_RETIRE_RESTORE ,_param->_nb_bank); 198 DELETE1(internal_BANK_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_bank); 199 DELETE1(internal_BANK_RETIRE_RESTORE_RE_PHY_OLD,_param->_nb_bank); 192 200 193 201 DELETE1(internal_REEXECUTE_VAL ,_param->_nb_inst_reexecute); … … 200 208 201 209 DELETE2(internal_RETIRE_EVENT_VAL ,_param->_nb_front_end,_param->_nb_context[it1]); 210 211 DELETE3(internal_rat_gpr_update_table ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 212 DELETE3(internal_rat_spr_update_table ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 202 213 203 214 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 217 228 218 229 DELETE2(reg_EVENT_STATE ,_param->_nb_front_end,_param->_nb_context [it1]); 230 DELETE2(reg_EVENT_TYPE ,_param->_nb_front_end,_param->_nb_context [it1]); 219 231 // DELETE2(reg_EVENT_FLUSH ,_param->_nb_front_end,_param->_nb_context [it1]); 220 232 // DELETE2(reg_EVENT_STOP ,_param->_nb_front_end,_param->_nb_context [it1]); 221 222 233 // DELETE2(reg_EVENT_NUM_BANK ,_param->_nb_front_end,_param->_nb_context [it1]); 234 // DELETE2(reg_EVENT_NUM_PTR ,_param->_nb_front_end,_param->_nb_context [it1]); 223 235 // DELETE2(reg_EVENT_CAN_RESTART ,_param->_nb_front_end,_param->_nb_context [it1]); 224 236 DELETE2(reg_EVENT_PACKET ,_param->_nb_front_end,_param->_nb_context [it1]); 237 DELETE2(reg_EVENT_DEPTH ,_param->_nb_front_end,_param->_nb_context [it1]); 225 238 DELETE2(reg_EVENT_NB_INST ,_param->_nb_front_end,_param->_nb_context [it1]); 226 239 DELETE2(reg_EVENT_LAST ,_param->_nb_front_end,_param->_nb_context [it1]); … … 236 249 DELETE2(reg_PC_CURRENT_IS_DS_TAKE,_param->_nb_front_end,_param->_nb_context [it1]); 237 250 DELETE2(reg_PC_NEXT ,_param->_nb_front_end,_param->_nb_context [it1]); 251 252 DELETE3(rat_gpr_update_table ,_param->_nb_front_end,_param->_nb_context [it1],_param->_nb_general_register_logic); 253 DELETE3(rat_spr_update_table ,_param->_nb_front_end,_param->_nb_context [it1],_param->_nb_special_register_logic); 238 254 } 239 255 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMealy_retire.cpp
r133 r139 60 60 spr_write_sr_cy [i][j] = 0; // not necessary 61 61 spr_write_sr_ov [i][j] = 0; // not necessary 62 63 // Init internal update table 64 65 // Test if an event occure 66 // bool event = (PORT_READ(in_RETIRE_EVENT_STATE [i][j]) != EVENT_STATE_NO_EVENT); 67 bool reset_update_table = (commit_event_state_to_event_state(reg_EVENT_STATE[i][j]) == EVENT_STATE_EVENT); 68 69 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * reset_update_table : %d",reset_update_table); 70 71 // not event -> update_table == 1 -> always update 72 // event -> update_table and not reset 73 for (uint32_t k=0; k<_param->_nb_general_register_logic; ++k) 74 internal_rat_gpr_update_table [i][j][k] = // not event or 75 (not reset_update_table and rat_gpr_update_table [i][j][k]); 76 for (uint32_t k=0; k<_param->_nb_special_register_logic; ++k) 77 internal_rat_spr_update_table [i][j][k] = // not event or 78 (not reset_update_table and rat_spr_update_table [i][j][k]); 62 79 } 63 80 … … 116 133 ) 117 134 { 135 Tcontrol_t write_rd = entry->write_rd; 118 136 Tcontrol_t write_re = entry->write_re; 137 Tgeneral_address_t num_reg_rd_log = entry->num_reg_rd_log; 119 138 Tspecial_address_t num_reg_re_log = entry->num_reg_re_log; 120 139 … … 172 191 } 173 192 174 internal_BANK_RETIRE_NUM_RENAME_UNIT [num_bank] = x; 175 internal_BANK_RETIRE_NUM_INST [num_bank] = y; 193 // Restore Old Register 194 Tcontrol_t retire_restore = (commit_event_state_to_event_state(reg_EVENT_STATE[front_end_id][context_id]) != EVENT_STATE_NO_EVENT); 195 196 // Test if event -> need restore ? 197 if (retire_restore) 198 { 199 log_printf(TRACE,Commit_unit,FUNCTION," * Restore"); 200 201 // Test and update update table 202 if (write_rd) 203 { 204 internal_BANK_RETIRE_RESTORE_RD_PHY_OLD [num_bank] = (internal_rat_gpr_update_table[front_end_id][context_id][num_reg_rd_log] == 0); 205 206 internal_rat_gpr_update_table[front_end_id][context_id][num_reg_rd_log] = 1; 207 } 208 if (write_re) 209 { 210 internal_BANK_RETIRE_RESTORE_RE_PHY_OLD [num_bank] = (internal_rat_spr_update_table[front_end_id][context_id][num_reg_re_log] == 0); 211 212 internal_rat_spr_update_table[front_end_id][context_id][num_reg_re_log] = 1; 213 } 214 215 log_printf(TRACE,Commit_unit,FUNCTION," * restore_rd_phy_old : %d",internal_BANK_RETIRE_RESTORE_RD_PHY_OLD [num_bank]); 216 log_printf(TRACE,Commit_unit,FUNCTION," * restore_re_phy_old : %d",internal_BANK_RETIRE_RESTORE_RE_PHY_OLD [num_bank]); 217 } 218 219 internal_BANK_RETIRE_NUM_RENAME_UNIT [num_bank] = x; 220 internal_BANK_RETIRE_NUM_INST [num_bank] = y; 176 221 177 222 if (_param->_have_port_front_end_id) … … 199 244 PORT_WRITE(out_RETIRE_NUM_REG_RE_PHY_OLD [x][y], entry->num_reg_re_phy_old ); 200 245 PORT_WRITE(out_RETIRE_NUM_REG_RE_PHY_NEW [x][y], entry->num_reg_re_phy_new ); 246 PORT_WRITE(out_RETIRE_RESTORE [x][y],retire_restore); 247 PORT_WRITE(out_RETIRE_RESTORE_RD_PHY_OLD [x][y],internal_BANK_RETIRE_RESTORE_RD_PHY_OLD [num_bank]); 248 PORT_WRITE(out_RETIRE_RESTORE_RE_PHY_OLD [x][y],internal_BANK_RETIRE_RESTORE_RE_PHY_OLD [num_bank]); 201 249 202 250 // Event -> rob must be manage this event -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMoore.cpp
r129 r139 331 331 PORT_WRITE(out_RETIRE_EVENT_STOP [i][j], ((reg_EVENT_STATE [i][j] == COMMIT_EVENT_STATE_NOT_YET_EVENT) or 332 332 reg_EVENT_NEXT_STOP [i][j])); 333 if (_param->_rat_scheme[i] == RAT_DEPTH_SAVE) 334 { 335 PORT_WRITE(out_RETIRE_EVENT_TYPE [i][j], reg_EVENT_TYPE [i][j]); 336 if (_param->_have_port_depth) 337 PORT_WRITE(out_RETIRE_EVENT_DEPTH [i][j], reg_EVENT_DEPTH [i][j]); 338 } 333 339 } 334 340 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp
r137 r139 54 54 // reg_EVENT_FLUSH [i][j] = false; 55 55 // reg_EVENT_STOP [i][j] = false; 56 57 58 //reg_EVENT_CAN_RESTART [i][j] = 0; // not necessary56 // reg_EVENT_NUM_BANK [i][j] = 0; // not necessary 57 // reg_EVENT_NUM_PTR [i][j] = 0; // not necessary 58 // reg_EVENT_CAN_RESTART [i][j] = 0; // not necessary 59 59 reg_EVENT_PACKET [i][j] = 0; // not necessary 60 reg_EVENT_DEPTH [i][j] = 0; // not necessary 60 61 reg_EVENT_NB_INST [i][j] = 0; 61 62 reg_EVENT_LAST [i][j] = false; … … 72 73 reg_PC_NEXT [i][j] = (0x100+4)>>2; 73 74 } 75 76 // Resert RAT_UPDATE_TABLE 77 for (uint32_t i=0; i<_param->_nb_front_end; i++) 78 for (uint32_t j=0; j<_param->_nb_context[i]; j++) 79 { 80 for (uint32_t k=0; k<_param->_nb_general_register_logic; k++) 81 rat_gpr_update_table [i][j][k] = false; // not necessary 82 for (uint32_t k=0; k<_param->_nb_special_register_logic; k++) 83 rat_spr_update_table [i][j][k] = false; // not necessary 84 } 74 85 75 86 // Reset priority algorithm … … 114 125 // else 115 126 reg_EVENT_STATE [i][j] = COMMIT_EVENT_STATE_WAIT_END; 127 128 // Reset update_table 129 for (uint32_t k=0; k<_param->_nb_general_register_logic; k++) 130 rat_gpr_update_table [i][j][k] = false; 131 for (uint32_t k=0; k<_param->_nb_special_register_logic; k++) 132 rat_spr_update_table [i][j][k] = false; 116 133 } 117 134 … … 180 197 else 181 198 { 199 uint32_t next_packet = reg_EVENT_NEXT_PACKET [i][j]; 200 182 201 reg_EVENT_STATE [i][j] = COMMIT_EVENT_STATE_NOT_YET_EVENT; 183 202 184 203 reg_EVENT_NEXT_STOP [i][j] = false; 185 reg_EVENT_PACKET [i][j] = reg_EVENT_NEXT_PACKET [i][j]; 204 reg_EVENT_PACKET [i][j] = next_packet; 205 // reg_EVENT_DEPTH [i][j] = _rob[next_packet].depth; 186 206 reg_EVENT_NB_INST [i][j] = reg_NB_INST_COMMIT_ALL [i][j]; 187 207 //reg_EVENT_STOP [i][j] = true; … … 596 616 reg_EVENT_STATE [front_end_id][context_id] = COMMIT_EVENT_STATE_NOT_YET_EVENT; 597 617 618 // reg_EVENT_DEPTH [front_end_id][context_id] = _rob[packet].depth; 598 619 reg_EVENT_NB_INST [front_end_id][context_id] = reg_NB_INST_COMMIT_ALL [front_end_id][context_id]; 599 620 … … 697 718 #endif 698 719 699 700 720 #ifdef STATISTICS 701 if (usage_is_set(_usage,USE_STATISTICS)) 702 (*_stat_nb_inst_retire [x]) ++; 703 721 if (usage_is_set(_usage,USE_STATISTICS)) 722 (*_stat_nb_inst_retire [x]) ++; 704 723 #endif 705 724 … … 709 728 entry->state_old = entry->state; 710 729 entry->state = ROB_END; 730 731 732 // Update RAT_UPDATE_TABLE 733 Tcontext_t front_end_id = entry->front_end_id; 734 Tcontext_t context_id = entry->context_id ; 735 736 if (entry->write_rd and internal_BANK_RETIRE_RESTORE_RD_PHY_OLD [num_bank]) 737 rat_gpr_update_table [front_end_id][context_id][entry->num_reg_rd_log] = true; 738 if (entry->write_re and internal_BANK_RETIRE_RESTORE_RE_PHY_OLD [num_bank]) 739 rat_spr_update_table [front_end_id][context_id][entry->num_reg_re_log] = true; 711 740 } 712 741 } … … 771 800 { 772 801 reg_EVENT_STATE [front_end_id][context_id] = COMMIT_EVENT_STATE_EVENT; 802 reg_EVENT_TYPE [front_end_id][context_id] = rob_state_to_event_type(state); 773 803 // reg_EVENT_STOP [front_end_id][context_id] = false; // instruction flow can continue 774 804 reg_EVENT_LAST [front_end_id][context_id] = false; 775 805 // it the head ! 776 806 reg_EVENT_PACKET [front_end_id][context_id] = packet_id; 777 807 reg_EVENT_DEPTH [front_end_id][context_id] = entry->depth; 808 778 809 // // If event is an load_miss, many instruction can be inserted. 779 810 // // -> new last instruction … … 947 978 // In all case, stop instruction flow 948 979 reg_EVENT_STATE [entry->front_end_id][entry->context_id] = COMMIT_EVENT_STATE_NOT_YET_EVENT; 980 // reg_EVENT_DEPTH [entry->front_end_id][entry->context_id] = _rob[packet]._depth; 949 981 reg_EVENT_NB_INST [entry->front_end_id][entry->context_id] = reg_NB_INST_COMMIT_ALL [entry->front_end_id][entry->context_id]; 950 951 982 // reg_EVENT_STOP [entry->front_end_id][entry->context_id] = true; 952 983 … … 1283 1314 // log_printf(TRACE,Commit_unit,FUNCTION," * EVENT : %d (bank %d, ptr %d)",((reg_EVENT_NUM_PTR [i][j] << _param->_shift_num_slot) | reg_EVENT_NUM_BANK [i][j]), reg_EVENT_NUM_BANK [i][j],reg_EVENT_NUM_PTR [i][j]); 1284 1315 // log_printf(TRACE,Commit_unit,FUNCTION," * EVENT_CAN_RESTART : %d",reg_EVENT_CAN_RESTART [i][j]); 1316 log_printf(TRACE,Commit_unit,FUNCTION," * EVENT_DEPTH : %d - type %s",reg_EVENT_DEPTH [i][j],toString(reg_EVENT_TYPE [i][j]).c_str()); 1285 1317 log_printf(TRACE,Commit_unit,FUNCTION," * EVENT_LAST : %d - packet %d - ptr %d (bank %d, ptr %d)",reg_EVENT_LAST [i][j],reg_EVENT_PACKET[i][j],((reg_EVENT_LAST_NUM_PTR [i][j] << _param->_shift_num_slot) | reg_EVENT_LAST_NUM_BANK [i][j]), reg_EVENT_LAST_NUM_BANK [i][j],reg_EVENT_LAST_NUM_PTR [i][j]); 1286 1318 log_printf(TRACE,Commit_unit,FUNCTION," * EVENT_NEXT : stop : %d - packet : %d",reg_EVENT_NEXT_STOP [i][j],reg_EVENT_NEXT_PACKET[i][j]); … … 1370 1402 } 1371 1403 1404 log_printf(TRACE,Commit_unit,FUNCTION," * Dump RAT Update Table"); 1405 for (uint32_t i=0; i<_param->_nb_front_end; ++i) 1406 for (uint32_t j=0; j<_param->_nb_context[i]; ++j) 1407 { 1408 { 1409 std::string str = ""; 1410 for (uint32_t k=0; k<_param->_nb_general_register_logic; k++) 1411 str+=toString("%.1d ",rat_gpr_update_table[i][j][k]); 1412 1413 log_printf(TRACE,Commit_unit,FUNCTION," * GPR [%d][%d] %s",i,j,str.c_str()); 1414 } 1415 1416 { 1417 std::string str = ""; 1418 for (uint32_t k=0; k<_param->_nb_special_register_logic; k++) 1419 str+=toString("%.1d ",rat_spr_update_table[i][j][k]); 1420 1421 log_printf(TRACE,Commit_unit,FUNCTION," * GPR [%d][%d] %s",i,j,str.c_str()); 1422 } 1423 } 1424 1372 1425 log_printf(TRACE,Commit_unit,FUNCTION," * nb_write_rd : %d",nb_write_rd); 1373 1426 log_printf(TRACE,Commit_unit,FUNCTION," * nb_write_re : %d",nb_write_re); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Parameters.cpp
r138 r139 22 22 #define FUNCTION "Commit_unit::Parameters" 23 23 Parameters::Parameters (uint32_t nb_front_end , 24 uint32_t * nb_context , 25 uint32_t nb_rename_unit , 26 uint32_t size_queue , 27 uint32_t nb_bank , 28 Tretire_ooo_scheme_t retire_ooo_scheme , 29 uint32_t * nb_inst_insert , 30 uint32_t * nb_inst_retire , 31 uint32_t nb_inst_commit , 32 uint32_t nb_inst_reexecute , 33 uint32_t nb_inst_branch_complete , 34 uint32_t ** nb_branch_speculated , 24 uint32_t * nb_context ,//[nb_front_end] 25 uint32_t nb_rename_unit , 26 uint32_t size_queue , 27 uint32_t nb_bank , 28 Tretire_ooo_scheme_t retire_ooo_scheme , 29 uint32_t * nb_inst_insert ,//[nb_rename_unit] 30 uint32_t * nb_inst_retire ,//[nb_rename_unit] 31 uint32_t nb_inst_commit , 32 uint32_t nb_inst_reexecute , 33 uint32_t nb_inst_branch_complete , 34 uint32_t ** nb_branch_speculated ,//[nb_front_end][nb_context] 35 35 uint32_t size_nb_inst_decod , 36 36 uint32_t size_general_data , … … 39 39 uint32_t size_general_register , 40 40 uint32_t size_special_register , 41 Trat_scheme_t * rat_scheme ,//[nb_front_end] 41 42 Tpriority_t priority , 42 43 Tload_balancing_t load_balancing , 43 44 uint32_t nb_rename_unit_select , 44 45 uint32_t nb_thread , 45 uint32_t ** translate_num_context_to_num_thread, 46 uint32_t ** translate_num_context_to_num_thread,//[nb_front_end][nb_context] 46 47 bool is_toplevel): 47 48 _nb_bank_access_commit (1 ) … … 61 62 _nb_inst_branch_complete = nb_inst_branch_complete ; 62 63 _nb_branch_speculated = nb_branch_speculated ; 64 _rat_scheme = rat_scheme ; 63 65 _priority = priority ; 64 66 _load_balancing = load_balancing ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Parameters.h
r88 r139 11 11 #include "Common/include/Debug.h" 12 12 #include "Behavioural/include/Parameters.h" 13 #include "Behavioural/include/Types.h" 13 14 14 15 namespace morpheo { … … 25 26 { 26 27 //-----[ fields ]------------------------------------------------------------ 27 public : uint32_t _nb_front_end ; 28 public : uint32_t * _nb_context ;//[nb_front_end] 29 public : uint32_t _nb_general_register ; 30 public : uint32_t _nb_special_register ; 31 public : uint32_t _nb_inst_insert ; 32 public : uint32_t _nb_inst_retire ; 33 34 //public : uint32_t _size_front_end_id ; 35 //public : uint32_t _size_context_id ; 36 //public : uint32_t _size_general_register ; 37 //public : uint32_t _size_special_register ; 38 // 39 //public : uint32_t _have_port_context_id ; 40 //public : uint32_t _have_port_front_end_id; 28 public : uint32_t _nb_front_end ; 29 public : uint32_t * _nb_context ;//[nb_front_end] 30 public : uint32_t _nb_general_register ; 31 public : uint32_t _nb_special_register ; 32 public : Trat_scheme_t _rat_scheme ; 33 public : uint32_t _nb_inst_insert ; 34 public : uint32_t _nb_inst_retire ; 35 public : uint32_t ** _nb_branch_speculated ;//[nb_front_end][nb_context] 36 37 public : uint32_t _max_nb_context ; 38 //public : uint32_t _size_front_end_id ; 39 //public : uint32_t _size_context_id ; 40 //public : uint32_t _size_general_register ; 41 //public : uint32_t _size_special_register ; 42 // 43 //public : uint32_t _have_port_context_id ; 44 //public : uint32_t _have_port_front_end_id; 41 45 42 46 //-----[ methods ]----------------------------------------------------------- 43 public : Parameters (uint32_t nb_front_end , 44 uint32_t * nb_context , 45 uint32_t nb_general_register, 46 uint32_t nb_special_register, 47 uint32_t nb_inst_insert , 48 uint32_t nb_inst_retire , 49 bool is_toplevel=false 47 public : Parameters (uint32_t nb_front_end , 48 uint32_t * nb_context ,//[nb_front_end] 49 uint32_t nb_general_register , 50 uint32_t nb_special_register , 51 Trat_scheme_t rat_scheme , 52 uint32_t nb_inst_insert , 53 uint32_t nb_inst_retire , 54 uint32_t ** nb_branch_speculated,//[nb_front_end][nb_context] 55 bool is_toplevel=false 50 56 ); 51 57 // public : Parameters (Parameters & param) ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Register_Address_Translation_unit.h
r131 r139 68 68 public : SC_IN (Tcontext_t ) ** in_RENAME_FRONT_END_ID ;//[nb_inst_insert] 69 69 public : SC_IN (Tcontext_t ) ** in_RENAME_CONTEXT_ID ;//[nb_inst_insert] 70 public : SC_IN (Tdepth_t ) ** in_RENAME_DEPTH ;//[nb_inst_insert] 71 public : SC_IN (Tcontrol_t ) ** in_RENAME_SAVE_RAT ;//[nb_inst_insert] 70 72 public : SC_IN (Tgeneral_address_t) ** in_RENAME_NUM_REG_RA_LOG ;//[nb_inst_insert] 71 73 public : SC_IN (Tgeneral_address_t) ** in_RENAME_NUM_REG_RB_LOG ;//[nb_inst_insert] … … 102 104 public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RD_PHY_NEW;//[nb_inst_retire] 103 105 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_NEW;//[nb_inst_retire] 104 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire] 105 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire] 106 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_RESTORE ;//[nb_inst_retire] 106 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE ;//[nb_inst_retire] 107 107 108 108 // ~~~~~[ Interface "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 110 110 public : SC_OUT(Tcontrol_t ) *** out_RETIRE_EVENT_ACK ;//[nb_front_end][nb_context] 111 111 public : SC_IN (Tevent_state_t ) *** in_RETIRE_EVENT_STATE ;//[nb_front_end][nb_context] 112 public : SC_IN (Tevent_type_t ) *** in_RETIRE_EVENT_TYPE ;//[nb_front_end][nb_context] 113 public : SC_IN (Tdepth_t ) *** in_RETIRE_EVENT_DEPTH ;//[nb_front_end][nb_context] 112 114 113 115 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 114 116 115 117 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 private : Tgeneral_address_t *** rat_gpr_not_speculative; //[nb_front_end][nb_context][nb_general_register_logic] 117 private : Tgeneral_address_t *** rat_gpr_speculative; //[nb_front_end][nb_context][nb_general_register_logic] 118 private : bool *** rat_gpr_speculative_valid; //[nb_front_end][nb_context][nb_general_register_logic] 119 private : bool *** rat_gpr_update_table; //[nb_front_end][nb_context][nb_general_register_logic] 120 121 private : Tspecial_address_t *** rat_spr_not_speculative; //[nb_front_end][nb_context][nb_special_register_logic] 122 private : Tspecial_address_t *** rat_spr_speculative; //[nb_front_end][nb_context][nb_special_register_logic] 123 private : bool *** rat_spr_speculative_valid; //[nb_front_end][nb_context][nb_special_register_logic] 124 private : bool *** rat_spr_update_table; //[nb_front_end][nb_context][nb_special_register_logic] 118 private : Tgeneral_address_t *** rat_gpr_not_speculative; //[nb_front_end][nb_context] [nb_general_register_logic] 119 private : Tgeneral_address_t *** rat_gpr_speculative; //[nb_front_end][nb_context] [nb_general_register_logic] 120 private : bool *** rat_gpr_speculative_valid; //[nb_front_end][nb_context] [nb_general_register_logic] 121 private : Tgeneral_address_t **** rat_gpr_save; //[nb_front_end][nb_context][nb_branch_speculated][nb_general_register_logic] 122 123 private : Tspecial_address_t *** rat_spr_not_speculative; //[nb_front_end][nb_context] [nb_special_register_logic] 124 private : Tspecial_address_t *** rat_spr_speculative; //[nb_front_end][nb_context] [nb_special_register_logic] 125 private : bool *** rat_spr_speculative_valid; //[nb_front_end][nb_context] [nb_special_register_logic] 126 private : Tspecial_address_t **** rat_spr_save; //[nb_front_end][nb_context][nb_branch_speculated][nb_special_register_logic] 127 128 private : Tdepth_t ** rat_depth; //[nb_front_end][nb_context] 125 129 126 130 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 127 131 private : Tcontrol_t * internal_RENAME_ACK; //[nb_inst_insert] 132 private : Tcontrol_t * internal_RENAME_SAVE; //[nb_inst_insert] 128 133 private : Tcontrol_t * internal_INSERT_ACK; //[nb_inst_insert] 129 134 private : Tcontrol_t * internal_RETIRE_ACK; //[nb_inst_retire] 130 135 private : Tcontrol_t ** internal_RETIRE_EVENT_ACK ;//[nb_front_end][nb_context] 131 136 132 private : bool *** internal_rat_gpr_update_table;//[nb_front_end][nb_context][nb_general_register_logic] 133 private : bool *** internal_rat_spr_update_table;//[nb_front_end][nb_context][nb_special_register_logic] 134 135 private : Tcontrol_t * internal_RETIRE_RESTORE ;//[nb_inst_retire] 136 private : Tcontrol_t * internal_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire] 137 private : Tcontrol_t * internal_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire] 138 137 // function pointer 138 public : void (morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::*function_constant ) (void); 139 public : void (morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::*function_transition ) (void); 140 public : void (morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::*function_genMealy_rename) (void); 139 141 #endif 140 142 … … 169 171 170 172 #ifdef SYSTEMC 171 public : void constant (void); 172 public : void transition (void); 173 public : void genMealy_rename (void); 174 public : void genMealy_retire (void); 173 public : void constant (void); 174 public : void transition (void); 175 public : void genMealy_rename (void); 176 177 // public : void function_no_save_constant (void); 178 // public : void function_no_save_transition (void); 179 // public : void function_no_save_genMealy_rename (void); 180 181 public : void function_one_save_constant (void); 182 public : void function_one_save_transition (void); 183 public : void function_one_save_genMealy_rename (void); 184 185 public : void function_depth_save_constant (void); 186 public : void function_depth_save_transition (void); 187 public : void function_depth_save_genMealy_rename (void); 175 188 #endif 176 189 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters.cpp
r88 r139 20 20 #undef FUNCTION 21 21 #define FUNCTION "Register_Address_Translation_unit::Parameters" 22 Parameters::Parameters (uint32_t nb_front_end , 23 uint32_t * nb_context , 24 uint32_t nb_general_register, 25 uint32_t nb_special_register, 26 uint32_t nb_inst_insert , 27 uint32_t nb_inst_retire , 28 bool is_toplevel) 22 Parameters::Parameters (uint32_t nb_front_end , 23 uint32_t * nb_context ,//[nb_front_end] 24 uint32_t nb_general_register , 25 uint32_t nb_special_register , 26 Trat_scheme_t rat_scheme , 27 uint32_t nb_inst_insert , 28 uint32_t nb_inst_retire , 29 uint32_t ** nb_branch_speculated,//[nb_front_end][nb_context] 30 bool is_toplevel) 29 31 { 30 32 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); 31 33 32 _nb_front_end = nb_front_end ; 33 _nb_context = nb_context ; 34 _nb_general_register = nb_general_register; 35 _nb_special_register = nb_special_register; 36 _nb_inst_insert = nb_inst_insert ; 37 _nb_inst_retire = nb_inst_retire ; 34 _nb_front_end = nb_front_end ; 35 _nb_context = nb_context ; 36 _nb_general_register = nb_general_register ; 37 _nb_special_register = nb_special_register ; 38 _rat_scheme = rat_scheme ; 39 _nb_inst_insert = nb_inst_insert ; 40 _nb_inst_retire = nb_inst_retire ; 41 _nb_branch_speculated = nb_branch_speculated; 42 43 _max_nb_context = max<uint32_t>(_nb_context, _nb_front_end); 38 44 39 45 test(); … … 41 47 if (is_toplevel) 42 48 { 43 _size_front_end_id = log2(nb_front_end ); 44 _size_context_id = log2(max<uint32_t>(nb_context, nb_front_end)); 45 _size_general_register = log2(nb_general_register); 46 _size_special_register = log2(nb_special_register); 49 _size_front_end_id = log2(_nb_front_end ); 50 _size_context_id = log2(_max_nb_context ); 51 _size_general_register = log2(_nb_general_register); 52 _size_special_register = log2(_nb_special_register); 53 _size_depth = log2(max<uint32_t>(_nb_branch_speculated,_nb_front_end,_nb_context)); 47 54 48 55 _have_port_front_end_id = _size_front_end_id>0; 49 56 _have_port_context_id = _size_context_id >0; 50 57 _have_port_depth = _size_depth >0; 58 51 59 copy(); 52 60 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters_msg_error.cpp
r82 r139 10 10 #include <sstream> 11 11 12 namespace morpheo 12 namespace morpheo { 13 13 namespace behavioural { 14 14 namespace core { … … 27 27 Parameters_test test ("Register_Address_Translation_unit"); 28 28 29 switch(_rat_scheme) 30 { 31 case RAT_NO_SAVE : 32 { 33 test.error(toString(_("The Register Address Translation scheme \"%s\" is not yet implemented.\n"),toString(_rat_scheme).c_str())); 34 } 35 default : 36 // case RAT_ONE_SAVE : 37 // case RAT_DEPTH_SAVE : 38 { 39 break; 40 } 41 } 42 29 43 return test; 30 44 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters_print.cpp
r81 r139 28 28 29 29 xml.balise_open("register_address_translation_unit"); 30 xml.singleton_begin("nb_front_end "); xml.attribut("value",toString(_nb_front_end )); xml.singleton_end(); 31 xml.singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end(); 32 xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end(); 33 xml.singleton_begin("nb_inst_insert "); xml.attribut("value",toString(_nb_inst_insert )); xml.singleton_end(); 34 xml.singleton_begin("nb_inst_retire "); xml.attribut("value",toString(_nb_inst_retire )); xml.singleton_end(); 30 xml.singleton_begin("nb_front_end "); xml.attribut("value",toString(_nb_front_end )); xml.singleton_end(); 31 xml.singleton_begin("rat_scheme "); xml.attribut("value",toString(_rat_scheme )); xml.singleton_end(); 32 xml.singleton_begin("nb_general_register "); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end(); 33 xml.singleton_begin("nb_special_register "); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end(); 34 xml.singleton_begin("nb_inst_insert "); xml.attribut("value",toString(_nb_inst_insert )); xml.singleton_end(); 35 xml.singleton_begin("nb_inst_retire "); xml.attribut("value",toString(_nb_inst_retire )); xml.singleton_end(); 35 36 36 37 for (uint32_t i=0;i<_nb_front_end; i++) … … 40 41 xml. attribut("id" ,toString(i)); 41 42 xml. balise_open_end(); 42 xml. singleton_begin("nb_context "); xml.attribut("value",toString(_nb_context [i] )); xml.singleton_end(); 43 xml. singleton_begin("nb_context "); xml.attribut("value",toString(_nb_context [i] )); xml.singleton_end(); 44 45 for (uint32_t j=0;j<_nb_context[i]; j++) 46 { 47 xml. balise_open_begin("component"); 48 xml. attribut("type","context"); 49 xml. attribut("id" ,toString(j)); 50 xml. balise_open_end(); 51 xml. singleton_begin("nb_branch_speculated"); xml.attribut("value",toString(_nb_branch_speculated[i][j])); xml.singleton_end(); 52 xml. balise_close(); 53 } 54 43 55 xml. balise_close(); 44 56 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit.cpp
r132 r139 75 75 if (usage_is_set(_usage,USE_SYSTEMC)) 76 76 { 77 // Function pointer 78 switch (_param->_rat_scheme) 79 { 80 case RAT_NO_SAVE : 81 { 82 // function_constant = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_no_save_constant ; 83 // function_transition = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_no_save_transition ; 84 // function_genMealy_rename = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_no_save_genMealy_rename; 85 86 break; 87 } 88 89 case RAT_ONE_SAVE : 90 { 91 function_constant = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_one_save_constant ; 92 function_transition = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_one_save_transition ; 93 function_genMealy_rename = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_one_save_genMealy_rename; 94 95 break; 96 } 97 98 case RAT_DEPTH_SAVE : 99 { 100 function_constant = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_depth_save_constant ; 101 function_transition = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_depth_save_transition ; 102 function_genMealy_rename = &morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit::function_depth_save_genMealy_rename; 103 104 break; 105 } 106 107 default : 108 { 109 break; 110 } 111 } 112 77 113 #ifdef SYSTEMCASS_SPECIFIC 78 114 constant(); … … 118 154 << (*(in_RENAME_NUM_REG_RD_LOG [i])) 119 155 << (*(in_RENAME_NUM_REG_RE_LOG [i])); 156 157 if (_param->_rat_scheme == RAT_DEPTH_SAVE) 158 sensitive << (*(in_RENAME_SAVE_RAT [i])); 120 159 } 121 160 for (uint32_t i=0; i<_param->_nb_front_end; ++i) … … 124 163 << (*(in_RETIRE_EVENT_STATE [i][j])); 125 164 126 # ifdef SYSTEMCASS_SPECIFIC127 // List dependency information128 # endif129 130 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Method - genMealy_retire");131 132 SC_METHOD (genMealy_retire);133 dont_initialize ();134 sensitive << (*(in_CLOCK)).neg() // need internal register135 << (*(in_NRESET));136 137 for (uint32_t i=0; i<_param->_nb_inst_retire; ++i)138 {139 if (param->_have_port_front_end_id)140 sensitive << (*(in_RETIRE_FRONT_END_ID [i]));141 if (param->_have_port_context_id)142 sensitive << (*(in_RETIRE_CONTEXT_ID [i]));143 144 sensitive << (*(in_RETIRE_WRITE_RD [i]))145 << (*(in_RETIRE_WRITE_RE [i]))146 << (*(in_RETIRE_NUM_REG_RD_LOG [i]))147 << (*(in_RETIRE_NUM_REG_RE_LOG [i]));148 }149 150 for (uint32_t i=0; i<_param->_nb_front_end; ++i)151 for (uint32_t j=0; j<_param->_nb_context[i]; ++j)152 sensitive << (*(in_RETIRE_EVENT_VAL [i][j]))153 << (*(in_RETIRE_EVENT_STATE [i][j]));154 155 165 # ifdef SYSTEMCASS_SPECIFIC 156 166 // List dependency information -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_allocation.cpp
r122 r139 61 61 ALLOC1_INTERFACE_BEGIN("rename",IN,EAST,_("Input to rename source logical register"), _param->_nb_inst_insert); 62 62 63 ALLOC1_VALACK_IN ( in_RENAME_VAL , VAL); 64 ALLOC1_VALACK_OUT(out_RENAME_ACK , ACK); 65 ALLOC1_SIGNAL_IN ( in_RENAME_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id); 66 ALLOC1_SIGNAL_IN ( in_RENAME_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 67 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RA_LOG ,"num_reg_ra_log" ,Tgeneral_address_t,_param->_size_general_register_logic); 68 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RB_LOG ,"num_reg_rb_log" ,Tgeneral_address_t,_param->_size_general_register_logic); 69 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RC_LOG ,"num_reg_rc_log" ,Tspecial_address_t,_param->_size_special_register_logic); 70 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RD_LOG ,"num_reg_rd_log" ,Tgeneral_address_t,_param->_size_general_register_logic); 71 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RE_LOG ,"num_reg_re_log" ,Tspecial_address_t,_param->_size_special_register_logic); 72 ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RA_PHY ,"num_reg_ra_phy" ,Tgeneral_address_t,_param->_size_general_register); 73 ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RB_PHY ,"num_reg_rb_phy" ,Tgeneral_address_t,_param->_size_general_register); 74 ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register); 75 ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register); 76 ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register); 63 ALLOC1_VALACK_IN ( in_RENAME_VAL , VAL); 64 ALLOC1_VALACK_OUT (out_RENAME_ACK , ACK); 65 ALLOC1_SIGNAL_IN ( in_RENAME_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id); 66 ALLOC1_SIGNAL_IN ( in_RENAME_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 67 ALLOC1_SIGNAL_IN_COND ( in_RENAME_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 68 ALLOC1_SIGNAL_IN ( in_RENAME_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1); 69 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RA_LOG ,"num_reg_ra_log" ,Tgeneral_address_t,_param->_size_general_register_logic); 70 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RB_LOG ,"num_reg_rb_log" ,Tgeneral_address_t,_param->_size_general_register_logic); 71 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RC_LOG ,"num_reg_rc_log" ,Tspecial_address_t,_param->_size_special_register_logic); 72 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RD_LOG ,"num_reg_rd_log" ,Tgeneral_address_t,_param->_size_general_register_logic); 73 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RE_LOG ,"num_reg_re_log" ,Tspecial_address_t,_param->_size_special_register_logic); 74 ALLOC1_SIGNAL_OUT (out_RENAME_NUM_REG_RA_PHY ,"num_reg_ra_phy" ,Tgeneral_address_t,_param->_size_general_register); 75 ALLOC1_SIGNAL_OUT (out_RENAME_NUM_REG_RB_PHY ,"num_reg_rb_phy" ,Tgeneral_address_t,_param->_size_general_register); 76 ALLOC1_SIGNAL_OUT (out_RENAME_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register); 77 ALLOC1_SIGNAL_OUT (out_RENAME_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register); 78 ALLOC1_SIGNAL_OUT (out_RENAME_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register); 77 79 78 80 ALLOC1_INTERFACE_END(_param->_nb_inst_insert); … … 111 113 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_NEW,"num_reg_rd_phy_new",Tgeneral_address_t,_param->_size_general_register); 112 114 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register); 113 ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t ,1); 114 ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t ,1); 115 ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE ,"restore" ,Tcontrol_t ,1); 115 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE ,"restore" ,Tcontrol_t ,1); 116 116 117 117 ALLOC1_INTERFACE_END(_param->_nb_inst_retire); … … 122 122 ALLOC2_INTERFACE_BEGIN("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]); 123 123 124 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end, _param->_nb_context[it1]); 125 _ALLOC2_VALACK_OUT(out_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end, _param->_nb_context[it1]); 126 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]); 124 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end, _param->_nb_context[it1]); 125 _ALLOC2_VALACK_OUT (out_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end, _param->_nb_context[it1]); 126 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]); 127 _ALLOC2_SIGNAL_IN_COND ( in_RETIRE_EVENT_TYPE ,"type" ,Tevent_type_t ,_param->_size_event_type , _param->_nb_front_end, _param->_nb_context[it1],_param->_rat_scheme == RAT_DEPTH_SAVE); 128 _ALLOC2_SIGNAL_IN_COND ( in_RETIRE_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth , _param->_nb_front_end, _param->_nb_context[it1],_param->_rat_scheme == RAT_DEPTH_SAVE); 127 129 128 130 ALLOC2_INTERFACE_END(_param->_nb_front_end, _param->_nb_context[it1]); … … 132 134 { 133 135 ALLOC1(internal_RENAME_ACK ,Tcontrol_t,_param->_nb_inst_insert); 136 ALLOC1(internal_RENAME_SAVE ,Tcontrol_t,_param->_nb_inst_insert); 134 137 ALLOC1(internal_INSERT_ACK ,Tcontrol_t,_param->_nb_inst_insert); 135 138 ALLOC1(internal_RETIRE_ACK ,Tcontrol_t,_param->_nb_inst_retire); 136 139 ALLOC2(internal_RETIRE_EVENT_ACK ,Tcontrol_t,_param->_nb_front_end,_param->_nb_context[it1]); 137 140 138 ALLOC3(rat_gpr_not_speculative ,Tgeneral_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);139 141 ALLOC3(rat_gpr_speculative ,Tgeneral_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 140 ALLOC3(rat_gpr_speculative_valid,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 141 ALLOC3(rat_gpr_update_table ,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 142 ALLOC3(rat_spr_speculative ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 143 144 switch(_param->_rat_scheme) 145 { 146 case RAT_NO_SAVE : 147 { 148 break; 149 } 150 case RAT_ONE_SAVE : 151 { 152 ALLOC3(rat_gpr_not_speculative ,Tgeneral_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 153 ALLOC3(rat_gpr_speculative_valid,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 154 155 ALLOC3(rat_spr_not_speculative ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 156 ALLOC3(rat_spr_speculative_valid,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 157 158 break; 159 } 160 case RAT_DEPTH_SAVE : 161 { 162 ALLOC4(rat_gpr_save ,Tgeneral_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_branch_speculated[it1][it2],_param->_nb_general_register_logic); 163 ALLOC4(rat_spr_save ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_branch_speculated[it1][it2],_param->_nb_special_register_logic); 164 ALLOC2(rat_depth ,Tdepth_t ,_param->_nb_front_end,_param->_nb_context[it1]); 142 165 143 ALLOC3(rat_spr_not_speculative ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 144 ALLOC3(rat_spr_speculative ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 145 ALLOC3(rat_spr_speculative_valid,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 146 ALLOC3(rat_spr_update_table ,bool ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 147 148 ALLOC3(internal_rat_gpr_update_table,bool, _param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 149 ALLOC3(internal_rat_spr_update_table,bool, _param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 150 151 ALLOC1(internal_RETIRE_RESTORE ,Tcontrol_t,_param->_nb_inst_retire); 152 ALLOC1(internal_RETIRE_RESTORE_RD_PHY_OLD,Tcontrol_t,_param->_nb_inst_retire); 153 ALLOC1(internal_RETIRE_RESTORE_RE_PHY_OLD,Tcontrol_t,_param->_nb_inst_retire); 166 break; 167 } 168 } 154 169 } 155 170 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_constant.cpp
r131 r139 26 26 log_function(Register_Address_Translation_unit,FUNCTION,_name.c_str()); 27 27 28 // Constant : accepted already transaction 29 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 30 { 31 internal_RENAME_ACK [i] = 1; 32 internal_INSERT_ACK [i] = 1; 33 34 PORT_WRITE(out_RENAME_ACK[i],internal_RENAME_ACK [i]); 35 PORT_WRITE(out_INSERT_ACK[i],internal_INSERT_ACK [i]); 36 } 37 38 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 39 { 40 internal_RETIRE_ACK [i] = 1; 41 42 PORT_WRITE(out_RETIRE_ACK[i],internal_RETIRE_ACK [i]); 43 } 44 45 for (uint32_t i=0; i<_param->_nb_front_end; ++i) 46 for (uint32_t j=0; j<_param->_nb_context[i]; ++j) 47 { 48 internal_RETIRE_EVENT_ACK [i][j] = 1; 49 50 PORT_WRITE(out_RETIRE_EVENT_ACK[i][j],internal_RETIRE_EVENT_ACK [i][j]); 51 } 28 (this->*function_constant) (); 52 29 53 30 log_end(Register_Address_Translation_unit,FUNCTION); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_deallocation.cpp
r122 r139 30 30 delete in_NRESET; 31 31 32 DELETE1_SIGNAL( in_RENAME_VAL ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL(out_RENAME_ACK ,_param->_nb_inst_insert,1); 34 DELETE1_SIGNAL( in_RENAME_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 35 DELETE1_SIGNAL( in_RENAME_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 36 DELETE1_SIGNAL( in_RENAME_NUM_REG_RA_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 37 DELETE1_SIGNAL( in_RENAME_NUM_REG_RB_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 38 DELETE1_SIGNAL( in_RENAME_NUM_REG_RC_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 39 DELETE1_SIGNAL( in_RENAME_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 40 DELETE1_SIGNAL( in_RENAME_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 41 DELETE1_SIGNAL(out_RENAME_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register); 42 DELETE1_SIGNAL(out_RENAME_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register); 43 DELETE1_SIGNAL(out_RENAME_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register); 44 DELETE1_SIGNAL(out_RENAME_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register); 45 DELETE1_SIGNAL(out_RENAME_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register); 46 47 DELETE1_SIGNAL( in_INSERT_VAL ,_param->_nb_inst_insert,1); 48 DELETE1_SIGNAL(out_INSERT_ACK ,_param->_nb_inst_insert,1); 49 // DELETE1_SIGNAL( in_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 50 // DELETE1_SIGNAL( in_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 51 DELETE1_SIGNAL( in_INSERT_WRITE_RD ,_param->_nb_inst_insert,1); 52 DELETE1_SIGNAL( in_INSERT_WRITE_RE ,_param->_nb_inst_insert,1); 53 DELETE1_SIGNAL( in_INSERT_NUM_REG_RD_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 54 DELETE1_SIGNAL( in_INSERT_NUM_REG_RE_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic); 55 DELETE1_SIGNAL( in_INSERT_NUM_REG_RD_PHY,_param->_nb_inst_insert,_param->_size_general_register); 56 DELETE1_SIGNAL( in_INSERT_NUM_REG_RE_PHY,_param->_nb_inst_insert,_param->_size_special_register); 57 58 DELETE1_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 59 DELETE1_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire,1); 60 DELETE1_SIGNAL( in_RETIRE_FRONT_END_ID ,_param->_nb_inst_retire,_param->_size_front_end_id); 61 DELETE1_SIGNAL( in_RETIRE_CONTEXT_ID ,_param->_nb_inst_retire,_param->_size_context_id ); 62 DELETE1_SIGNAL( in_RETIRE_WRITE_RD ,_param->_nb_inst_retire,1); 63 DELETE1_SIGNAL( in_RETIRE_WRITE_RE ,_param->_nb_inst_retire,1); 64 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_LOG ,_param->_nb_inst_retire,_param->_size_general_register_logic); 65 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_LOG ,_param->_nb_inst_retire,_param->_size_special_register_logic); 66 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire,_param->_size_general_register); 67 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire,_param->_size_special_register); 68 DELETE1_SIGNAL(out_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_inst_retire,1); 69 DELETE1_SIGNAL(out_RETIRE_RESTORE_RE_PHY_OLD,_param->_nb_inst_retire,1); 70 DELETE1_SIGNAL(out_RETIRE_RESTORE ,_param->_nb_inst_retire,1); 71 72 DELETE2_SIGNAL( in_RETIRE_EVENT_VAL ,_param->_nb_front_end, _param->_nb_context[it1],1); 73 DELETE2_SIGNAL(out_RETIRE_EVENT_ACK ,_param->_nb_front_end, _param->_nb_context[it1],1); 74 DELETE2_SIGNAL( in_RETIRE_EVENT_STATE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state); 32 DELETE1_SIGNAL ( in_RENAME_VAL ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL (out_RENAME_ACK ,_param->_nb_inst_insert,1); 34 DELETE1_SIGNAL ( in_RENAME_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 35 DELETE1_SIGNAL ( in_RENAME_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 36 DELETE1_SIGNAL_COND( in_RENAME_DEPTH ,_param->_nb_inst_insert,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 37 DELETE1_SIGNAL ( in_RENAME_SAVE_RAT ,_param->_nb_inst_insert,1); 38 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RA_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 39 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RB_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 40 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RC_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 41 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 42 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 43 DELETE1_SIGNAL (out_RENAME_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register); 44 DELETE1_SIGNAL (out_RENAME_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register); 45 DELETE1_SIGNAL (out_RENAME_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register); 46 DELETE1_SIGNAL (out_RENAME_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register); 47 DELETE1_SIGNAL (out_RENAME_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register); 48 49 DELETE1_SIGNAL ( in_INSERT_VAL ,_param->_nb_inst_insert,1); 50 DELETE1_SIGNAL (out_INSERT_ACK ,_param->_nb_inst_insert,1); 51 // DELETE1_SIGNAL ( in_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 52 // DELETE1_SIGNAL ( in_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 53 DELETE1_SIGNAL ( in_INSERT_WRITE_RD ,_param->_nb_inst_insert,1); 54 DELETE1_SIGNAL ( in_INSERT_WRITE_RE ,_param->_nb_inst_insert,1); 55 DELETE1_SIGNAL ( in_INSERT_NUM_REG_RD_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 56 DELETE1_SIGNAL ( in_INSERT_NUM_REG_RE_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic); 57 DELETE1_SIGNAL ( in_INSERT_NUM_REG_RD_PHY,_param->_nb_inst_insert,_param->_size_general_register); 58 DELETE1_SIGNAL ( in_INSERT_NUM_REG_RE_PHY,_param->_nb_inst_insert,_param->_size_special_register); 59 60 DELETE1_SIGNAL ( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 61 DELETE1_SIGNAL (out_RETIRE_ACK ,_param->_nb_inst_retire,1); 62 DELETE1_SIGNAL ( in_RETIRE_FRONT_END_ID ,_param->_nb_inst_retire,_param->_size_front_end_id); 63 DELETE1_SIGNAL ( in_RETIRE_CONTEXT_ID ,_param->_nb_inst_retire,_param->_size_context_id ); 64 DELETE1_SIGNAL ( in_RETIRE_WRITE_RD ,_param->_nb_inst_retire,1); 65 DELETE1_SIGNAL ( in_RETIRE_WRITE_RE ,_param->_nb_inst_retire,1); 66 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_LOG ,_param->_nb_inst_retire,_param->_size_general_register_logic); 67 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_LOG ,_param->_nb_inst_retire,_param->_size_special_register_logic); 68 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire,_param->_size_general_register); 69 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire,_param->_size_special_register); 70 DELETE1_SIGNAL ( in_RETIRE_RESTORE ,_param->_nb_inst_retire,1); 71 72 DELETE2_SIGNAL ( in_RETIRE_EVENT_VAL ,_param->_nb_front_end, _param->_nb_context[it1],1); 73 DELETE2_SIGNAL (out_RETIRE_EVENT_ACK ,_param->_nb_front_end, _param->_nb_context[it1],1); 74 DELETE2_SIGNAL ( in_RETIRE_EVENT_STATE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state); 75 DELETE2_SIGNAL_COND( in_RETIRE_EVENT_TYPE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_type,_param->_rat_scheme == RAT_DEPTH_SAVE); 76 DELETE2_SIGNAL_COND( in_RETIRE_EVENT_DEPTH ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth ,_param->_rat_scheme == RAT_DEPTH_SAVE); 75 77 76 78 DELETE1(internal_RENAME_ACK ,_param->_nb_inst_insert); 79 DELETE1(internal_RENAME_SAVE ,_param->_nb_inst_insert); 77 80 DELETE1(internal_INSERT_ACK ,_param->_nb_inst_insert); 78 81 DELETE1(internal_RETIRE_ACK ,_param->_nb_inst_retire); 79 82 DELETE2(internal_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1]); 80 83 81 DELETE3(rat_gpr_not_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);82 84 DELETE3(rat_gpr_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 83 DELETE3(rat_gpr_speculative_valid ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 84 DELETE3(rat_gpr_update_table ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 85 DELETE3(rat_spr_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 85 86 86 DELETE3(rat_spr_not_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 87 DELETE3(rat_spr_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 88 DELETE3(rat_spr_speculative_valid ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 89 DELETE3(rat_spr_update_table ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 87 switch(_param->_rat_scheme) 88 { 89 case RAT_NO_SAVE : 90 { 91 break; 92 } 93 case RAT_ONE_SAVE : 94 { 95 DELETE3(rat_gpr_not_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 96 DELETE3(rat_gpr_speculative_valid ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 97 98 DELETE3(rat_spr_not_speculative ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 99 DELETE3(rat_spr_speculative_valid ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 100 101 break; 102 } 103 case RAT_DEPTH_SAVE : 104 { 105 DELETE4(rat_gpr_save ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_branch_speculated[it1][it2],_param->_nb_general_register_logic); 106 DELETE4(rat_spr_save ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_branch_speculated[it1][it2],_param->_nb_special_register_logic); 107 DELETE2(rat_depth ,_param->_nb_front_end,_param->_nb_context[it1]); 90 108 91 DELETE3(internal_rat_gpr_update_table,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic); 92 DELETE3(internal_rat_spr_update_table,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic); 93 94 DELETE1(internal_RETIRE_RESTORE ,_param->_nb_inst_retire); 95 DELETE1(internal_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_inst_retire); 96 DELETE1(internal_RETIRE_RESTORE_RE_PHY_OLD,_param->_nb_inst_retire); 109 break; 110 } 111 } 97 112 } 98 113 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_function_one_save_genMealy_rename.cpp
r137 r139 20 20 21 21 #undef FUNCTION 22 #define FUNCTION "Register_Address_Translation_unit:: genMealy_rename"23 void Register_Address_Translation_unit:: genMealy_rename (void)22 #define FUNCTION "Register_Address_Translation_unit::function_one_save_genMealy_rename" 23 void Register_Address_Translation_unit::function_one_save_genMealy_rename (void) 24 24 { 25 25 log_begin(Register_Address_Translation_unit,FUNCTION); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_function_one_save_transition.cpp
r137 r139 20 20 21 21 #undef FUNCTION 22 #define FUNCTION "Register_Address_Translation_unit:: transition"23 void Register_Address_Translation_unit:: transition (void)22 #define FUNCTION "Register_Address_Translation_unit::function_one_save_transition" 23 void Register_Address_Translation_unit::function_one_save_transition (void) 24 24 { 25 25 log_begin(Register_Address_Translation_unit,FUNCTION); … … 37 37 rat_gpr_speculative_valid [i][j][0] = false; 38 38 rat_gpr_speculative [i][j][0] = 0 ; // not necessary 39 rat_gpr_update_table [i][j][0] = false; // not necessary40 39 41 40 for (uint32_t k=1; k<_param->_nb_general_register_logic; k++) … … 44 43 rat_gpr_speculative_valid [i][j][k] = false; 45 44 rat_gpr_speculative [i][j][k] = 0 ; // not necessary 46 rat_gpr_update_table [i][j][k] = false; // not necessary47 45 } 48 46 for (uint32_t k=0; k<_param->_nb_special_register_logic; k++) … … 51 49 rat_spr_speculative_valid [i][j][k] = false; 52 50 rat_spr_speculative [i][j][k] = 0 ; // not necessary 53 rat_spr_update_table [i][j][k] = false; // not necessary54 51 } 55 52 } … … 70 67 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * Reset Update Table"); 71 68 72 // Reset update_table andvalidity table69 // Reset validity table 73 70 for (uint32_t k=0; k<_param->_nb_general_register_logic; k++) 74 { 75 rat_gpr_update_table [i][j][k] = false; 76 rat_gpr_speculative_valid [i][j][k] = false; 77 } 71 rat_gpr_speculative_valid [i][j][k] = false; 78 72 for (uint32_t k=0; k<_param->_nb_special_register_logic; k++) 79 { 80 rat_spr_update_table [i][j][k] = false; 81 rat_spr_speculative_valid [i][j][k] = false; 82 } 73 rat_spr_speculative_valid [i][j][k] = false; 83 74 } 84 75 … … 149 140 Tcontrol_t write_rd = PORT_READ(in_RETIRE_WRITE_RD [i]); 150 141 Tcontrol_t write_re = PORT_READ(in_RETIRE_WRITE_RE [i]); 151 Tcontrol_t restore = internal_RETIRE_RESTORE [i];142 Tcontrol_t restore = PORT_READ(in_RETIRE_RESTORE [i]); 152 143 153 144 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * front_end_id : %d",front_end_id); … … 157 148 // Test if write and have not a previous update 158 149 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * write_rd : %d",write_rd); 159 if ( PORT_READ(in_RETIRE_WRITE_RD [i])== 1)150 if (write_rd == 1) 160 151 { 161 152 Tgeneral_address_t num_reg_rd_log = PORT_READ(in_RETIRE_NUM_REG_RD_LOG [i]); … … 171 162 rat_gpr_not_speculative [front_end_id][context_id][num_reg_rd_log] = num_reg_rd_phy_new; 172 163 } 173 174 Tcontrol_t restore_rd = internal_RETIRE_RESTORE_RD_PHY_OLD [i];175 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * restore_rd : %d",restore_rd );176 177 if (restore_rd)178 rat_gpr_update_table [front_end_id][context_id][num_reg_rd_log] = true;179 164 } 180 165 181 166 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * write_re : %d",write_re); 182 if ( PORT_READ(in_RETIRE_WRITE_RE [i])== 1)167 if (write_re == 1) 183 168 { 184 169 Tspecial_address_t num_reg_re_log = PORT_READ(in_RETIRE_NUM_REG_RE_LOG [i]); … … 194 179 rat_spr_not_speculative [front_end_id][context_id][num_reg_re_log] = num_reg_re_phy_new; 195 180 } 196 197 Tcontrol_t restore_re = internal_RETIRE_RESTORE_RE_PHY_OLD [i];198 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * restore_re : %d",restore_re );199 200 if (restore_re)201 rat_spr_update_table [front_end_id][context_id][num_reg_re_log] = true;202 181 } 203 182 … … 224 203 break; 225 204 else 226 str+=toString("GPR[%.4d] - %.1d %.5d (%.5d) %.1d | ",index,rat_gpr_speculative_valid [i][j][index],rat_gpr_speculative [i][j][index],rat_gpr_not_speculative [i][j][index],rat_gpr_update_table[i][j][index]);205 str+=toString("GPR[%.4d] - %.1d %.5d (%.5d) | ",index,rat_gpr_speculative_valid [i][j][index],rat_gpr_speculative [i][j][index],rat_gpr_not_speculative [i][j][index]); 227 206 } 228 207 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * %s",str.c_str()); … … 239 218 break; 240 219 else 241 str+=toString("SPR[%.4d] - %.1d %.5d (%.5d) %.1d | ",index,rat_spr_speculative_valid [i][j][index],rat_spr_speculative [i][j][index],rat_spr_not_speculative [i][j][index],rat_spr_update_table[i][j][index]);220 str+=toString("SPR[%.4d] - %.1d %.5d (%.5d) | ",index,rat_spr_speculative_valid [i][j][index],rat_spr_speculative [i][j][index],rat_spr_not_speculative [i][j][index]); 242 221 } 243 222 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * %s",str.c_str()); … … 281 260 #endif 282 261 283 #if defined(STATISTICS) or defined(VHDL_TESTBENCH)284 end_cycle ();285 #endif286 287 262 log_end(Register_Address_Translation_unit,FUNCTION); 288 263 }; -
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
r123 r139 94 94 log_printf(TRACE,Stat_List_unit,FUNCTION," * nb_spr_free : stat_list %d - free_list %d - free %d, link %d (%d), use %d (%d)",stat_list_nb_spr_free,free_list_nb_spr_free,nb_spr_free,nb_spr_link,stat_list_nb_spr_link,nb_spr_use,stat_list_nb_spr_use); 95 95 96 if (free_list_nb_gpr_free != stat_list_nb_gpr_free) 97 throw ERRORMORPHEO(FUNCTION,toString(_("Number of free general register is not valid. %d in Stat_List and %d in Free_list.\n"),stat_list_nb_gpr_free,free_list_nb_gpr_free)); 98 if (free_list_nb_spr_free != stat_list_nb_spr_free) 99 throw ERRORMORPHEO(FUNCTION,toString(_("Number of free general register is not valid. %d in Stat_List and %d in Free_list.\n"),stat_list_nb_spr_free,free_list_nb_spr_free)); 100 101 if (PORT_READ(in_INFO_ROB_EMPTY) and (nb_gpr_free != _nb_gpr_free)) 102 throw ERRORMORPHEO(FUNCTION,toString(_("Rob is empty but they have %d general registers free or can_free and must be %d registers."),nb_gpr_free,_nb_gpr_free)); 103 104 if (PORT_READ(in_INFO_ROB_EMPTY) and (nb_spr_free != _nb_spr_free)) 105 throw ERRORMORPHEO(FUNCTION,toString(_("Rob is empty but they have %d special registers free or can_free and must be %d registers."),nb_spr_free,_nb_spr_free)); 96 bool error_nb_gpr_free = (free_list_nb_gpr_free != stat_list_nb_gpr_free); 97 bool error_nb_spr_free = (free_list_nb_spr_free != stat_list_nb_spr_free); 98 bool error_rob_nb_gpr_free = (PORT_READ(in_INFO_ROB_EMPTY) and (nb_gpr_free != _nb_gpr_free)); 99 bool error_rob_nb_spr_free = (PORT_READ(in_INFO_ROB_EMPTY) and (nb_spr_free != _nb_spr_free)); 100 101 std::string list_gpr_not_free; 102 std::string list_spr_not_free; 103 104 105 if (error_nb_gpr_free or 106 error_rob_nb_gpr_free) 107 for (uint32_t i=0; i<_param->_nb_bank; i++) 108 for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 109 if (not gpr_stat_list [i][j]._is_free) 110 list_gpr_not_free+=toString((i<<_param->_shift_gpr)|j)+" "; 111 112 if (error_nb_spr_free or 113 error_rob_nb_spr_free) 114 for (uint32_t i=0; i<_param->_nb_bank; i++) 115 for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 116 if (not spr_stat_list [i][j]._is_free) 117 list_spr_not_free+=toString((i<<_param->_shift_spr)|j)+" "; 118 119 if (error_nb_gpr_free) 120 throw ERRORMORPHEO(FUNCTION,toString(_("Number of free general register is not valid. %d in Stat_List and %d in Free_list. (GPR not free : %s)\n"),stat_list_nb_gpr_free,free_list_nb_gpr_free,list_gpr_not_free.c_str())); 121 if (error_nb_spr_free) 122 throw ERRORMORPHEO(FUNCTION,toString(_("Number of free general register is not valid. %d in Stat_List and %d in Free_list. (SPR not free : %s)\n"),stat_list_nb_spr_free,free_list_nb_spr_free,list_spr_not_free.c_str())); 123 if (error_rob_nb_gpr_free) 124 throw ERRORMORPHEO(FUNCTION,toString(_("Rob is empty but they have %d general registers free or can_free and must be %d registers. (GPR not free : %s)"),nb_gpr_free,_nb_gpr_free,list_gpr_not_free.c_str())); 125 126 if (error_rob_nb_spr_free) 127 throw ERRORMORPHEO(FUNCTION,toString(_("Rob is empty but they have %d special registers free or can_free and must be %d registers. (SPR not free : %s)"),nb_spr_free,_nb_spr_free,list_gpr_not_free.c_str())); 106 128 } 107 129 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/include/Parameters.h
r112 r139 30 30 { 31 31 //-----[ fields ]------------------------------------------------------------ 32 public : uint32_t _nb_front_end ; 33 public : uint32_t * _nb_context ;//[nb_front_end] 34 public : uint32_t _nb_general_register ; 35 public : uint32_t _nb_special_register ; 36 public : uint32_t _nb_inst_insert ; 37 public : uint32_t _nb_inst_retire ; 38 public : uint32_t _nb_reg_free ; 39 public : uint32_t _nb_bank ; 40 //public : uint32_t _size_read_counter ; 41 42 //public : uint32_t _size_front_end_id ; 43 //public : uint32_t _size_context_id ; 44 //public : uint32_t _size_general_register ; 45 //public : uint32_t _size_special_register ; 46 47 //public : uint32_t _have_port_context_id ; 48 //public : uint32_t _have_port_front_end_id; 32 public : uint32_t _nb_front_end ; 33 public : uint32_t * _nb_context ;//[nb_front_end] 34 public : uint32_t _nb_general_register ; 35 public : uint32_t _nb_special_register ; 36 public : Trat_scheme_t _rat_scheme ; 37 public : uint32_t _nb_inst_insert ; 38 public : uint32_t _nb_inst_retire ; 39 public : uint32_t _nb_reg_free ; 40 public : uint32_t _nb_bank ; 41 //public : uint32_t _size_read_counter ; 42 public : uint32_t ** _nb_branch_speculated ;//[nb_front_end][nb_context] 43 44 //public : uint32_t _size_front_end_id ; 45 //public : uint32_t _size_context_id ; 46 //public : uint32_t _size_general_register ; 47 //public : uint32_t _size_special_register ; 48 49 //public : uint32_t _have_port_context_id ; 50 //public : uint32_t _have_port_front_end_id; 49 51 50 52 public : morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::dependency_checking_unit:: Parameters * _param_dependency_checking_unit; … … 54 56 public : morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_translation_unit_glue:: Parameters * _param_register_translation_unit_glue; 55 57 //-----[ methods ]----------------------------------------------------------- 56 public : Parameters (uint32_t nb_front_end , 57 uint32_t * nb_context , 58 uint32_t nb_general_register , 59 uint32_t nb_special_register , 60 uint32_t nb_inst_insert , 61 uint32_t nb_inst_retire , 62 uint32_t nb_reg_free , 63 uint32_t nb_bank , 64 // uint32_t size_read_counter , 65 bool is_toplevel=false); 58 public : Parameters (uint32_t nb_front_end , 59 uint32_t * nb_context , 60 uint32_t nb_general_register , 61 uint32_t nb_special_register , 62 Trat_scheme_t rat_scheme ,//[nb_front_end] 63 uint32_t nb_inst_insert , 64 uint32_t nb_inst_retire , 65 uint32_t nb_reg_free , 66 uint32_t nb_bank , 67 // uint32_t size_read_counter , 68 uint32_t ** nb_branch_speculated,//[nb_front_end][nb_context] 69 bool is_toplevel=false); 66 70 // public : Parameters (Parameters & param) ; 67 71 public : ~Parameters () ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/include/Register_translation_unit.h
r137 r139 72 72 public : SC_IN (Tcontext_t ) ** in_RENAME_FRONT_END_ID ;//[nb_inst_insert] 73 73 public : SC_IN (Tcontext_t ) ** in_RENAME_CONTEXT_ID ;//[nb_inst_insert] 74 public : SC_IN (Tdepth_t ) ** in_RENAME_DEPTH ;//[nb_inst_insert] 75 public : SC_IN (Tcontrol_t ) ** in_RENAME_SAVE_RAT ;//[nb_inst_insert] 74 76 public : SC_IN (Tcontrol_t ) ** in_RENAME_READ_RA ;//[nb_inst_insert] 75 77 public : SC_IN (Tgeneral_address_t) ** in_RENAME_NUM_REG_RA_LOG ;//[nb_inst_insert] … … 117 119 public : SC_IN (Tcontext_t ) ** in_RETIRE_FRONT_END_ID ;//[nb_inst_retire] 118 120 public : SC_IN (Tcontext_t ) ** in_RETIRE_CONTEXT_ID ;//[nb_inst_retire] 119 // 120 // 121 // 122 // 123 // 124 // 121 //public : SC_IN (Tcontrol_t ) ** in_RETIRE_READ_RA ;//[nb_inst_retire] 122 //public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RA_PHY ;//[nb_inst_retire] 123 //public : SC_IN (Tcontrol_t ) ** in_RETIRE_READ_RB ;//[nb_inst_retire] 124 //public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RB_PHY ;//[nb_inst_retire] 125 //public : SC_IN (Tcontrol_t ) ** in_RETIRE_READ_RC ;//[nb_inst_retire] 126 //public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RC_PHY ;//[nb_inst_retire] 125 127 public : SC_IN (Tcontrol_t ) ** in_RETIRE_WRITE_RD ;//[nb_inst_retire] 126 128 public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RD_LOG ;//[nb_inst_retire] … … 131 133 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_OLD;//[nb_inst_retire] 132 134 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_NEW;//[nb_inst_retire] 135 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE ;//[nb_inst_retire] 136 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire] 137 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire] 133 138 134 139 // ~~~~~[ Interface "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 136 141 public : SC_OUT(Tcontrol_t ) *** out_RETIRE_EVENT_ACK ;//[nb_front_end][nb_context] 137 142 public : SC_IN (Tevent_state_t ) *** in_RETIRE_EVENT_STATE ;//[nb_front_end][nb_context] 143 public : SC_IN (Tevent_type_t ) *** in_RETIRE_EVENT_TYPE ;//[nb_front_end][nb_context] 144 public : SC_IN (Tdepth_t ) *** in_RETIRE_EVENT_DEPTH ;//[nb_front_end][nb_context] 138 145 139 146 // ~~~~~[ interface : "info" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Parameters.cpp
r128 r139 20 20 #undef FUNCTION 21 21 #define FUNCTION "Register_translation_unit::Parameters" 22 Parameters::Parameters (uint32_t nb_front_end , 23 uint32_t * nb_context , 24 uint32_t nb_general_register , 25 uint32_t nb_special_register , 26 uint32_t nb_inst_insert , 27 uint32_t nb_inst_retire , 28 uint32_t nb_reg_free , 29 uint32_t nb_bank , 30 // uint32_t size_read_counter , 31 bool is_toplevel) 22 Parameters::Parameters (uint32_t nb_front_end , 23 uint32_t * nb_context ,//[nb_front_end] 24 uint32_t nb_general_register , 25 uint32_t nb_special_register , 26 Trat_scheme_t rat_scheme , 27 uint32_t nb_inst_insert , 28 uint32_t nb_inst_retire , 29 uint32_t nb_reg_free , 30 uint32_t nb_bank , 31 // uint32_t size_read_counter , 32 uint32_t ** nb_branch_speculated,//[nb_front_end][nb_context] 33 bool is_toplevel) 32 34 { 33 35 log_printf(FUNC,Register_translation_unit,FUNCTION,"Begin"); 34 36 35 _nb_front_end = nb_front_end ; 36 _nb_context = nb_context ; 37 _nb_general_register = nb_general_register; 38 _nb_special_register = nb_special_register; 39 _nb_inst_insert = nb_inst_insert ; 40 _nb_inst_retire = nb_inst_retire ; 41 _nb_reg_free = nb_reg_free ; 42 _nb_bank = nb_bank ; 43 // _size_read_counter = size_read_counter ; 37 _nb_front_end = nb_front_end ; 38 _nb_context = nb_context ; 39 _nb_general_register = nb_general_register ; 40 _nb_special_register = nb_special_register ; 41 _rat_scheme = rat_scheme ; 42 _nb_inst_insert = nb_inst_insert ; 43 _nb_inst_retire = nb_inst_retire ; 44 _nb_reg_free = nb_reg_free ; 45 _nb_bank = nb_bank ; 46 // _size_read_counter = size_read_counter ; 47 _nb_branch_speculated = nb_branch_speculated; 44 48 45 49 uint32_t size_general_register = log2(nb_general_register); … … 68 72 69 73 _param_register_address_translation_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Parameters 70 (_nb_front_end , 71 _nb_context , 72 _nb_general_register, 73 _nb_special_register, 74 _nb_inst_insert , 75 _nb_inst_retire ); 74 (_nb_front_end , 75 _nb_context , 76 _nb_general_register , 77 _nb_special_register , 78 _rat_scheme , 79 _nb_inst_insert , 80 _nb_inst_retire , 81 _nb_branch_speculated); 76 82 77 83 _param_stat_list_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::stat_list_unit::Parameters … … 99 105 _size_front_end_id = log2(nb_front_end ); 100 106 _size_context_id = log2(max_nb_context ); 101 107 _size_depth = log2(max<uint32_t>(_nb_branch_speculated,_nb_front_end,_nb_context)); 102 108 _size_general_register = size_general_register; 103 109 _size_special_register = size_special_register; … … 105 111 _have_port_front_end_id = _size_front_end_id>0; 106 112 _have_port_context_id = _size_context_id >0; 113 _have_port_depth = _size_depth >0; 107 114 108 115 copy(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Parameters_print.cpp
r112 r139 27 27 28 28 xml.balise_open("register_translation_unit"); 29 xml.singleton_begin("nb_front_end "); xml.attribut("value",toString(_nb_front_end )); xml.singleton_end(); 30 xml.singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end(); 31 xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end(); 32 xml.singleton_begin("nb_inst_insert "); xml.attribut("value",toString(_nb_inst_insert )); xml.singleton_end(); 33 xml.singleton_begin("nb_inst_retire "); xml.attribut("value",toString(_nb_inst_retire )); xml.singleton_end(); 34 xml.singleton_begin("nb_reg_free "); xml.attribut("value",toString(_nb_reg_free )); xml.singleton_end(); 35 xml.singleton_begin("nb_bank "); xml.attribut("value",toString(_nb_bank )); xml.singleton_end(); 36 // xml.singleton_begin("size_read_counter "); xml.attribut("value",toString(_size_read_counter )); xml.singleton_end(); 29 xml.singleton_begin("nb_front_end "); xml.attribut("value",toString(_nb_front_end )); xml.singleton_end(); 30 xml.singleton_begin("nb_general_register "); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end(); 31 xml.singleton_begin("nb_special_register "); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end(); 32 xml.singleton_begin("rat_scheme "); xml.attribut("value",toString(_rat_scheme )); xml.singleton_end(); 33 xml.singleton_begin("nb_inst_insert "); xml.attribut("value",toString(_nb_inst_insert )); xml.singleton_end(); 34 xml.singleton_begin("nb_inst_retire "); xml.attribut("value",toString(_nb_inst_retire )); xml.singleton_end(); 35 xml.singleton_begin("nb_reg_free "); xml.attribut("value",toString(_nb_reg_free )); xml.singleton_end(); 36 xml.singleton_begin("nb_bank "); xml.attribut("value",toString(_nb_bank )); xml.singleton_end(); 37 // xml.singleton_begin("size_read_counter "); xml.attribut("value",toString(_size_read_counter )); xml.singleton_end(); 37 38 for (uint32_t i=0;i<_nb_front_end; i++) 38 39 { … … 41 42 xml. attribut("id" ,toString(i)); 42 43 xml. balise_open_end(); 43 xml. singleton_begin("nb_context "); xml.attribut("value",toString(_nb_context [i] )); xml.singleton_end(); 44 xml. singleton_begin("nb_context "); xml.attribut("value",toString(_nb_context [i] )); xml.singleton_end(); 45 46 for (uint32_t j=0;j<_nb_context[i]; j++) 47 { 48 xml. balise_open_begin("component"); 49 xml. attribut("type","context"); 50 xml. attribut("id" ,toString(j)); 51 xml. balise_open_end(); 52 xml. singleton_begin("nb_branch_speculated"); xml.attribut("value",toString(_nb_branch_speculated[i][j])); xml.singleton_end(); 53 xml. balise_close(); 54 } 55 44 56 xml. balise_close(); 45 57 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp
r137 r139 60 60 ALLOC1_INTERFACE_BEGIN("rename", IN, EAST, _("Instruction with logical register"), _param->_nb_inst_insert); 61 61 62 ALLOC1_VALACK_IN ( in_RENAME_VAL ,VAL); 63 ALLOC1_VALACK_OUT(out_RENAME_ACK ,ACK); 64 ALLOC1_SIGNAL_IN ( in_RENAME_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 65 ALLOC1_SIGNAL_IN ( in_RENAME_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 66 ALLOC1_SIGNAL_IN ( in_RENAME_READ_RA ,"read_ra" ,Tcontrol_t ,1 ); 67 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RA_LOG,"num_reg_ra_log",Tgeneral_address_t,_param->_size_general_register_logic); 68 ALLOC1_SIGNAL_IN ( in_RENAME_READ_RB ,"read_rb" ,Tcontrol_t ,1 ); 69 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RB_LOG,"num_reg_rb_log",Tgeneral_address_t,_param->_size_general_register_logic); 70 ALLOC1_SIGNAL_IN ( in_RENAME_READ_RC ,"read_rc" ,Tcontrol_t ,1 ); 71 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RC_LOG,"num_reg_rc_log",Tspecial_address_t,_param->_size_special_register_logic); 72 ALLOC1_SIGNAL_IN ( in_RENAME_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 73 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RD_LOG,"num_reg_rd_log",Tgeneral_address_t,_param->_size_general_register_logic); 74 ALLOC1_SIGNAL_IN ( in_RENAME_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 75 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RE_LOG,"num_reg_re_log",Tspecial_address_t,_param->_size_special_register_logic); 62 ALLOC1_VALACK_IN ( in_RENAME_VAL ,VAL); 63 ALLOC1_VALACK_OUT (out_RENAME_ACK ,ACK); 64 ALLOC1_SIGNAL_IN ( in_RENAME_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 65 ALLOC1_SIGNAL_IN ( in_RENAME_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 66 ALLOC1_SIGNAL_IN_COND ( in_RENAME_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ,_param->_rat_scheme == RAT_DEPTH_SAVE); 67 ALLOC1_SIGNAL_IN ( in_RENAME_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 ); 68 ALLOC1_SIGNAL_IN ( in_RENAME_READ_RA ,"read_ra" ,Tcontrol_t ,1 ); 69 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RA_LOG,"num_reg_ra_log",Tgeneral_address_t,_param->_size_general_register_logic); 70 ALLOC1_SIGNAL_IN ( in_RENAME_READ_RB ,"read_rb" ,Tcontrol_t ,1 ); 71 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RB_LOG,"num_reg_rb_log",Tgeneral_address_t,_param->_size_general_register_logic); 72 ALLOC1_SIGNAL_IN ( in_RENAME_READ_RC ,"read_rc" ,Tcontrol_t ,1 ); 73 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RC_LOG,"num_reg_rc_log",Tspecial_address_t,_param->_size_special_register_logic); 74 ALLOC1_SIGNAL_IN ( in_RENAME_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 75 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RD_LOG,"num_reg_rd_log",Tgeneral_address_t,_param->_size_general_register_logic); 76 ALLOC1_SIGNAL_IN ( in_RENAME_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 77 ALLOC1_SIGNAL_IN ( in_RENAME_NUM_REG_RE_LOG,"num_reg_re_log",Tspecial_address_t,_param->_size_special_register_logic); 76 78 77 79 ALLOC1_INTERFACE_END(_param->_nb_inst_insert); … … 135 137 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register ); 136 138 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register ); 139 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE ,"restore" ,Tcontrol_t ,1 ); 140 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t ,1 ); 141 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t ,1 ); 137 142 138 143 ALLOC1_INTERFACE_END(_param->_nb_inst_retire); … … 143 148 ALLOC2_INTERFACE_BEGIN("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]); 144 149 145 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end, _param->_nb_context[it1]); 146 _ALLOC2_VALACK_OUT(out_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end, _param->_nb_context[it1]); 147 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]); 150 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end, _param->_nb_context[it1]); 151 _ALLOC2_VALACK_OUT (out_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end, _param->_nb_context[it1]); 152 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]); 153 _ALLOC2_SIGNAL_IN_COND ( in_RETIRE_EVENT_TYPE ,"type" ,Tevent_type_t ,_param->_size_event_type , _param->_nb_front_end, _param->_nb_context[it1],_param->_rat_scheme == RAT_DEPTH_SAVE); 154 _ALLOC2_SIGNAL_IN_COND ( in_RETIRE_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth , _param->_nb_front_end, _param->_nb_context[it1],_param->_rat_scheme == RAT_DEPTH_SAVE); 148 155 149 156 ALLOC2_INTERFACE_END(_param->_nb_front_end, _param->_nb_context[it1]); … … 295 302 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_CONTEXT_ID" , 296 303 dest, "in_RENAME_"+toString(i)+"_CONTEXT_ID" ); 304 if (_param->_have_port_depth and (_param->_rat_scheme == RAT_DEPTH_SAVE)) 305 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_DEPTH" , 306 dest, "in_RENAME_"+toString(i)+"_DEPTH" ); 307 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_SAVE_RAT" , 308 dest, "in_RENAME_"+toString(i)+"_SAVE_RAT" ); 297 309 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG" , 298 310 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG" ); … … 376 388 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 377 389 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 390 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE" , 391 dest, "in_RETIRE_"+toString(i)+"_RESTORE" ); 378 392 379 393 dest = _name+"_register_translation_unit_glue"; … … 383 397 dest, "in_RETIRE_"+toString(i)+"_RAT_ACK" ); 384 398 385 dest = _name+"_stat_list_unit";386 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD",387 388 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD",389 390 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE" ,391 399 // dest = _name+"_stat_list_unit"; 400 // COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD", 401 // dest, "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD"); 402 // COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD", 403 // dest, "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD"); 404 // COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE" , 405 // dest, "in_RETIRE_"+toString(i)+"_RESTORE" ); 392 406 } 393 407 … … 407 421 PORT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_STATE", 408 422 dest, "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_STATE"); 423 if (_param->_rat_scheme == RAT_DEPTH_SAVE) 424 { 425 PORT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_TYPE" , 426 dest, "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_TYPE" ); 427 if (_param->_have_port_depth) 428 PORT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_DEPTH", 429 dest, "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_DEPTH"); 430 } 409 431 } 410 432 } … … 717 739 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 718 740 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 719 720 // in_RETIRE_RESTORE_RD_PHY_OLD - register_address_translation_unit.out_RETIRE_RESTORE_RD_PHY_OLD 721 // in_RETIRE_RESTORE_RE_PHY_OLD - register_address_translation_unit.out_RETIRE_RESTORE_RE_PHY_OLD 722 // in_RETIRE_RESTORE - register_address_translation_unit.out_RETIRE_RESTORE 741 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE", 742 dest, "in_RETIRE_"+toString(i)+"_RESTORE"); 743 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD", 744 dest, "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD"); 745 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD", 746 dest, "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD"); 723 747 724 748 dest = _name+"_register_translation_unit_glue"; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_deallocation.cpp
r137 r139 29 29 delete in_NRESET; 30 30 31 DELETE1_SIGNAL( in_RENAME_VAL ,_param->_nb_inst_insert,1); 32 DELETE1_SIGNAL(out_RENAME_ACK ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL( in_RENAME_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 34 DELETE1_SIGNAL( in_RENAME_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 35 DELETE1_SIGNAL( in_RENAME_READ_RA ,_param->_nb_inst_insert,1 ); 36 DELETE1_SIGNAL( in_RENAME_NUM_REG_RA_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 37 DELETE1_SIGNAL( in_RENAME_READ_RB ,_param->_nb_inst_insert,1 ); 38 DELETE1_SIGNAL( in_RENAME_NUM_REG_RB_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 39 DELETE1_SIGNAL( in_RENAME_READ_RC ,_param->_nb_inst_insert,1 ); 40 DELETE1_SIGNAL( in_RENAME_NUM_REG_RC_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic); 41 DELETE1_SIGNAL( in_RENAME_WRITE_RD ,_param->_nb_inst_insert,1 ); 42 DELETE1_SIGNAL( in_RENAME_NUM_REG_RD_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 43 DELETE1_SIGNAL( in_RENAME_WRITE_RE ,_param->_nb_inst_insert,1 ); 44 DELETE1_SIGNAL( in_RENAME_NUM_REG_RE_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic); 31 DELETE1_SIGNAL ( in_RENAME_VAL ,_param->_nb_inst_insert,1); 32 DELETE1_SIGNAL (out_RENAME_ACK ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL ( in_RENAME_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 34 DELETE1_SIGNAL ( in_RENAME_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 35 DELETE1_SIGNAL_COND( in_RENAME_DEPTH ,_param->_nb_inst_insert,_param->_size_depth ,_param->_rat_scheme == RAT_DEPTH_SAVE); 36 DELETE1_SIGNAL ( in_RENAME_SAVE_RAT ,_param->_nb_inst_insert,1 ); 37 DELETE1_SIGNAL ( in_RENAME_READ_RA ,_param->_nb_inst_insert,1 ); 38 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RA_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 39 DELETE1_SIGNAL ( in_RENAME_READ_RB ,_param->_nb_inst_insert,1 ); 40 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RB_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 41 DELETE1_SIGNAL ( in_RENAME_READ_RC ,_param->_nb_inst_insert,1 ); 42 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RC_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic); 43 DELETE1_SIGNAL ( in_RENAME_WRITE_RD ,_param->_nb_inst_insert,1 ); 44 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RD_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic); 45 DELETE1_SIGNAL ( in_RENAME_WRITE_RE ,_param->_nb_inst_insert,1 ); 46 DELETE1_SIGNAL ( in_RENAME_NUM_REG_RE_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic); 47 48 DELETE1_SIGNAL (out_INSERT_VAL ,_param->_nb_inst_insert,1); 49 DELETE1_SIGNAL ( in_INSERT_ACK ,_param->_nb_inst_insert,1); 50 // DELETE1_SIGNAL (out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 51 // DELETE1_SIGNAL (out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 52 DELETE1_SIGNAL (out_INSERT_READ_RA ,_param->_nb_inst_insert,1 ); 53 #ifdef DEBUG 54 DELETE1_SIGNAL (out_INSERT_NUM_REG_RA_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 55 #endif 56 DELETE1_SIGNAL (out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 57 DELETE1_SIGNAL (out_INSERT_READ_RB ,_param->_nb_inst_insert,1 ); 58 #ifdef DEBUG 59 DELETE1_SIGNAL (out_INSERT_NUM_REG_RB_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 60 #endif 61 DELETE1_SIGNAL (out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 62 DELETE1_SIGNAL (out_INSERT_READ_RC ,_param->_nb_inst_insert,1 ); 63 #ifdef DEBUG 64 DELETE1_SIGNAL (out_INSERT_NUM_REG_RC_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 65 #endif 66 DELETE1_SIGNAL (out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 67 DELETE1_SIGNAL (out_INSERT_WRITE_RD ,_param->_nb_inst_insert,1 ); 68 DELETE1_SIGNAL (out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 69 DELETE1_SIGNAL (out_INSERT_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register ); 70 DELETE1_SIGNAL (out_INSERT_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert,_param->_size_general_register ); 71 DELETE1_SIGNAL (out_INSERT_WRITE_RE ,_param->_nb_inst_insert,1 ); 72 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 73 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register ); 74 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register ); 75 76 DELETE1_SIGNAL ( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 77 DELETE1_SIGNAL (out_RETIRE_ACK ,_param->_nb_inst_retire,1); 78 DELETE1_SIGNAL ( in_RETIRE_FRONT_END_ID ,_param->_nb_inst_retire,_param->_size_front_end_id ); 79 DELETE1_SIGNAL ( in_RETIRE_CONTEXT_ID ,_param->_nb_inst_retire,_param->_size_context_id ); 80 // DELETE1_SIGNAL ( in_RETIRE_READ_RA ,_param->_nb_inst_retire,1 ); 81 // DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RA_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 82 // DELETE1_SIGNAL ( in_RETIRE_READ_RB ,_param->_nb_inst_retire,1 ); 83 // DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RB_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 84 // DELETE1_SIGNAL ( in_RETIRE_READ_RC ,_param->_nb_inst_retire,1 ); 85 // DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RC_PHY ,_param->_nb_inst_retire,_param->_size_special_register ); 86 DELETE1_SIGNAL ( in_RETIRE_WRITE_RD ,_param->_nb_inst_retire,1 ); 87 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_LOG ,_param->_nb_inst_retire,_param->_size_general_register_logic); 88 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_PHY_OLD,_param->_nb_inst_retire,_param->_size_general_register ); 89 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire,_param->_size_general_register ); 90 DELETE1_SIGNAL ( in_RETIRE_WRITE_RE ,_param->_nb_inst_retire,1 ); 91 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_LOG ,_param->_nb_inst_retire,_param->_size_special_register_logic); 92 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_PHY_OLD,_param->_nb_inst_retire,_param->_size_special_register ); 93 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire,_param->_size_special_register ); 94 DELETE1_SIGNAL ( in_RETIRE_RESTORE ,_param->_nb_inst_retire,1); 95 DELETE1_SIGNAL ( in_RETIRE_RESTORE_RD_PHY_OLD ,_param->_nb_inst_retire,1); 96 DELETE1_SIGNAL ( in_RETIRE_RESTORE_RE_PHY_OLD ,_param->_nb_inst_retire,1); 45 97 46 DELETE1_SIGNAL(out_INSERT_VAL ,_param->_nb_inst_insert,1); 47 DELETE1_SIGNAL( in_INSERT_ACK ,_param->_nb_inst_insert,1); 48 // DELETE1_SIGNAL(out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 49 // DELETE1_SIGNAL(out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 50 DELETE1_SIGNAL(out_INSERT_READ_RA ,_param->_nb_inst_insert,1 ); 51 #ifdef DEBUG 52 DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 53 #endif 54 DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 55 DELETE1_SIGNAL(out_INSERT_READ_RB ,_param->_nb_inst_insert,1 ); 56 #ifdef DEBUG 57 DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 58 #endif 59 DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 60 DELETE1_SIGNAL(out_INSERT_READ_RC ,_param->_nb_inst_insert,1 ); 61 #ifdef DEBUG 62 DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 63 #endif 64 DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 65 DELETE1_SIGNAL(out_INSERT_WRITE_RD ,_param->_nb_inst_insert,1 ); 66 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 67 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register ); 68 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert,_param->_size_general_register ); 69 DELETE1_SIGNAL(out_INSERT_WRITE_RE ,_param->_nb_inst_insert,1 ); 70 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 71 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register ); 72 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register ); 73 74 DELETE1_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 75 DELETE1_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire,1); 76 DELETE1_SIGNAL( in_RETIRE_FRONT_END_ID ,_param->_nb_inst_retire,_param->_size_front_end_id ); 77 DELETE1_SIGNAL( in_RETIRE_CONTEXT_ID ,_param->_nb_inst_retire,_param->_size_context_id ); 78 // DELETE1_SIGNAL( in_RETIRE_READ_RA ,_param->_nb_inst_retire,1 ); 79 // DELETE1_SIGNAL( in_RETIRE_NUM_REG_RA_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 80 // DELETE1_SIGNAL( in_RETIRE_READ_RB ,_param->_nb_inst_retire,1 ); 81 // DELETE1_SIGNAL( in_RETIRE_NUM_REG_RB_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 82 // DELETE1_SIGNAL( in_RETIRE_READ_RC ,_param->_nb_inst_retire,1 ); 83 // DELETE1_SIGNAL( in_RETIRE_NUM_REG_RC_PHY ,_param->_nb_inst_retire,_param->_size_special_register ); 84 DELETE1_SIGNAL( in_RETIRE_WRITE_RD ,_param->_nb_inst_retire,1 ); 85 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_LOG ,_param->_nb_inst_retire,_param->_size_general_register_logic); 86 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD,_param->_nb_inst_retire,_param->_size_general_register ); 87 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire,_param->_size_general_register ); 88 DELETE1_SIGNAL( in_RETIRE_WRITE_RE ,_param->_nb_inst_retire,1 ); 89 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_LOG ,_param->_nb_inst_retire,_param->_size_special_register_logic); 90 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD,_param->_nb_inst_retire,_param->_size_special_register ); 91 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire,_param->_size_special_register ); 92 93 DELETE2_SIGNAL( in_RETIRE_EVENT_VAL ,_param->_nb_front_end, _param->_nb_context[it1],1); 94 DELETE2_SIGNAL(out_RETIRE_EVENT_ACK ,_param->_nb_front_end, _param->_nb_context[it1],1); 95 DELETE2_SIGNAL( in_RETIRE_EVENT_STATE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state); 98 DELETE2_SIGNAL ( in_RETIRE_EVENT_VAL ,_param->_nb_front_end, _param->_nb_context[it1],1); 99 DELETE2_SIGNAL (out_RETIRE_EVENT_ACK ,_param->_nb_front_end, _param->_nb_context[it1],1); 100 DELETE2_SIGNAL ( in_RETIRE_EVENT_STATE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state); 101 DELETE2_SIGNAL_COND( in_RETIRE_EVENT_TYPE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_type,_param->_rat_scheme == RAT_DEPTH_SAVE); 102 DELETE2_SIGNAL_COND( in_RETIRE_EVENT_DEPTH ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth ,_param->_rat_scheme == RAT_DEPTH_SAVE); 96 103 97 104 #ifdef DEBUG_TEST 98 DELETE0_SIGNAL ( in_INFO_ROB_EMPTY ,1);105 DELETE0_SIGNAL ( in_INFO_ROB_EMPTY ,1); 99 106 #endif 100 107 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/include/Rename_select.h
r137 r139 81 81 public : SC_IN (Tcontrol_t ) *** in_RENAME_IN_LAST_EVENT ;//[nb_front_end][nb_inst_decod] 82 82 public : SC_IN (Tcontrol_t ) *** in_RENAME_IN_IS_DELAY_SLOT ;//[nb_front_end][nb_inst_decod] 83 public : SC_IN (Tcontrol_t ) *** in_RENAME_IN_SAVE_RAT ;//[nb_front_end][nb_inst_decod] 83 84 #ifdef DEBUG 84 85 public : SC_IN (Taddress_t ) *** in_RENAME_IN_ADDRESS ;//[nb_front_end][nb_inst_decod] … … 114 115 public : SC_OUT(Tcontrol_t ) ** out_RENAME_OUT_LAST_EVENT ;//[nb_inst_rename] 115 116 public : SC_OUT(Tcontrol_t ) ** out_RENAME_OUT_IS_DELAY_SLOT;//[nb_inst_rename] 117 public : SC_OUT(Tcontrol_t ) ** out_RENAME_OUT_SAVE_RAT ;//[nb_inst_rename] 116 118 #ifdef DEBUG 117 119 public : SC_OUT(Taddress_t ) ** out_RENAME_OUT_ADDRESS ;//[nb_inst_rename] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select.cpp
r132 r139 101 101 << (*(in_RENAME_IN_LAST_EVENT [i][j])) 102 102 << (*(in_RENAME_IN_IS_DELAY_SLOT [i][j])) 103 << (*(in_RENAME_IN_SAVE_RAT [i][j])) 103 104 #ifdef DEBUG 104 105 << (*(in_RENAME_IN_ADDRESS [i][j])) … … 176 177 (*(out_RENAME_OUT_IS_DELAY_SLOT [x])) (*(in_RENAME_IN_VAL [i][j])); 177 178 (*(out_RENAME_OUT_IS_DELAY_SLOT [x])) (*(in_RENAME_IN_IS_DELAY_SLOT [i][j])); 179 (*(out_RENAME_OUT_SAVE_RAT [x])) (*(in_RENAME_IN_VAL [i][j])); 180 (*(out_RENAME_OUT_SAVE_RAT [x])) (*(in_RENAME_IN_SAVE_RAT [i][j])); 178 181 #ifdef DEBUG 179 182 (*(out_RENAME_OUT_ADDRESS [x])) (*(in_RENAME_IN_VAL [i][j])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_allocation.cpp
r137 r139 74 74 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_LAST_EVENT ,"last_event" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 75 75 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_IS_DELAY_SLOT ,"is_delay_slot",Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 76 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 76 77 #ifdef DEBUG 77 78 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address , _param->_nb_front_end, _param->_nb_inst_decod[it1]); … … 113 114 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_LAST_EVENT ,"last_event" ,Tcontrol_t ,1 ); 114 115 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_IS_DELAY_SLOT ,"is_delay_slot",Tcontrol_t ,1 ); 116 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 ); 115 117 #ifdef DEBUG 116 118 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_genMealy.cpp
r137 r139 111 111 PORT_WRITE(out_RENAME_OUT_LAST_EVENT [i],PORT_READ(in_RENAME_IN_LAST_EVENT [x][y])); 112 112 PORT_WRITE(out_RENAME_OUT_IS_DELAY_SLOT[i],PORT_READ(in_RENAME_IN_IS_DELAY_SLOT [x][y])); 113 PORT_WRITE(out_RENAME_OUT_SAVE_RAT [i],PORT_READ(in_RENAME_IN_SAVE_RAT [x][y])); 113 114 #ifdef DEBUG 114 115 PORT_WRITE(out_RENAME_OUT_ADDRESS [i],PORT_READ(in_RENAME_IN_ADDRESS [x][y])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/include/Parameters.h
r88 r139 11 11 #include "Behavioural/include/Parameters.h" 12 12 #include "Common/include/Debug.h" 13 #include "Behavioural/include/Types.h" 13 14 14 15 namespace morpheo { … … 24 25 { 25 26 //-----[ fields ]------------------------------------------------------------ 26 public : uint32_t _nb_front_end ; 27 public : uint32_t * _nb_context ;//[nb_front_end] 28 public : uint32_t _nb_inst_insert ; 29 public : uint32_t _nb_inst_retire ; 30 //public : uint32_t _size_general_data ; 31 //public : uint32_t _size_special_register ; 27 public : uint32_t _nb_front_end ; 28 public : uint32_t * _nb_context ;//[nb_front_end] 29 public : uint32_t _nb_inst_insert ; 30 public : uint32_t _nb_inst_retire ; 31 //public : uint32_t _size_general_data ; 32 //public : uint32_t _size_special_register ; 33 public : Trat_scheme_t _rat_scheme ; 32 34 33 35 //public : uint32_t _size_front_end_id ; … … 38 40 39 41 //-----[ methods ]----------------------------------------------------------- 40 public : Parameters (uint32_t nb_front_end , 41 uint32_t * nb_context , 42 // uint32_t size_front_end_id , 43 // uint32_t size_context_id , 44 uint32_t nb_inst_insert , 45 uint32_t nb_inst_retire , 46 uint32_t size_general_data , 47 uint32_t size_special_register, 48 bool is_toplevel=false 42 public : Parameters (uint32_t nb_front_end , 43 uint32_t * nb_context , 44 // uint32_t size_front_end_id , 45 // uint32_t size_context_id , 46 uint32_t nb_inst_insert , 47 uint32_t nb_inst_retire , 48 uint32_t size_general_data , 49 uint32_t size_special_register, 50 Trat_scheme_t rat_scheme , 51 bool is_toplevel=false 49 52 ); 50 53 // public : Parameters (Parameters & param) ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/include/Rename_unit_Glue.h
r122 r139 12 12 #include "systemc.h" 13 13 #endif 14 15 14 16 15 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/include/Parameters.h" … … 69 68 public : SC_OUT(Tcontext_t ) ** out_INSERT_FRONT_END_ID ;//[nb_inst_insert] 70 69 public : SC_OUT(Tcontext_t ) ** out_INSERT_CONTEXT_ID ;//[nb_inst_insert] 70 public : SC_OUT(Tdepth_t ) ** out_INSERT_DEPTH ;//[nb_inst_insert] 71 71 public : SC_OUT(Ttype_t ) ** out_INSERT_TYPE ;//[nb_inst_insert] 72 72 public : SC_OUT(Toperation_t ) ** out_INSERT_OPERATION ;//[nb_inst_insert] … … 81 81 public : SC_IN (Tcontext_t ) ** in_INSERT_RENAME_SELECT_FRONT_END_ID ;//[nb_inst_insert] 82 82 public : SC_IN (Tcontext_t ) ** in_INSERT_RENAME_SELECT_CONTEXT_ID ;//[nb_inst_insert] 83 public : SC_IN (Tdepth_t ) ** in_INSERT_RENAME_SELECT_DEPTH ;//[nb_inst_insert] 83 84 public : SC_IN (Ttype_t ) ** in_INSERT_RENAME_SELECT_TYPE ;//[nb_inst_insert] 84 85 public : SC_IN (Toperation_t ) ** in_INSERT_RENAME_SELECT_OPERATION ;//[nb_inst_insert] … … 92 93 public : SC_OUT(Tcontext_t ) ** out_INSERT_REGISTER_TRANSLATION_FRONT_END_ID ;//[nb_inst_insert] 93 94 public : SC_OUT(Tcontext_t ) ** out_INSERT_REGISTER_TRANSLATION_CONTEXT_ID ;//[nb_inst_insert] 95 public : SC_OUT(Tdepth_t ) ** out_INSERT_REGISTER_TRANSLATION_DEPTH ;//[nb_inst_insert] 94 96 public : SC_IN (Tspecial_address_t) ** in_INSERT_REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW;//[nb_inst_insert] 95 97 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Parameters.cpp
r88 r139 19 19 #undef FUNCTION 20 20 #define FUNCTION "Rename_unit_Glue::Parameters" 21 Parameters::Parameters (uint32_t nb_front_end , 22 uint32_t * nb_context , 23 // uint32_t size_front_end_id , 24 // uint32_t size_context_id , 25 uint32_t nb_inst_insert , 26 uint32_t nb_inst_retire , 27 uint32_t size_general_data , 28 uint32_t size_special_register , 29 bool is_toplevel 21 Parameters::Parameters (uint32_t nb_front_end , 22 uint32_t * nb_context , 23 // uint32_t size_front_end_id , 24 // uint32_t size_context_id , 25 uint32_t nb_inst_insert , 26 uint32_t nb_inst_retire , 27 uint32_t size_general_data , 28 uint32_t size_special_register , 29 Trat_scheme_t rat_scheme , 30 bool is_toplevel 30 31 ) 31 32 { … … 36 37 _nb_inst_insert = nb_inst_insert; 37 38 _nb_inst_retire = nb_inst_retire; 39 _rat_scheme = rat_scheme ; 38 40 39 41 test(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue.cpp
r132 r139 163 163 if (_param->_have_port_context_id) 164 164 sensitive << (*(in_INSERT_RENAME_SELECT_CONTEXT_ID [i])); 165 if (_param->_have_port_depth and (_param->_rat_scheme == RAT_DEPTH_SAVE)) 166 sensitive << (*(in_INSERT_RENAME_SELECT_DEPTH [i])); 165 167 sensitive << (*(in_INSERT_RENAME_SELECT_TYPE [i])) 166 168 << (*(in_INSERT_RENAME_SELECT_OPERATION [i])) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue_allocation.cpp
r122 r139 61 61 ALLOC1_INTERFACE_BEGIN("insert",OUT,NORTH,_("Insert interface"),_param->_nb_inst_insert); 62 62 63 // ALLOC1_SIGNAL_OUT(out_INSERT_VAL ,"VAL" ,Tcontrol_t ,1); 64 // ALLOC1_SIGNAL_IN ( in_INSERT_ACK ,"ACK" ,Tcontrol_t ,1); 65 ALLOC1_SIGNAL_OUT(out_INSERT_FRONT_END_ID ,"FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 66 ALLOC1_SIGNAL_OUT(out_INSERT_CONTEXT_ID ,"CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 67 ALLOC1_SIGNAL_OUT(out_INSERT_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type); 68 ALLOC1_SIGNAL_OUT(out_INSERT_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation); 69 ALLOC1_SIGNAL_OUT(out_INSERT_IMMEDIAT ,"IMMEDIAT" ,Tgeneral_data_t ,_param->_size_general_data); 70 // ALLOC1_SIGNAL_OUT(out_INSERT_EXCEPTION_USE ,"EXCEPTION_USE" ,Texception_t ,_param->_size_exception_use); 71 ALLOC1_SIGNAL_OUT(out_INSERT_EXCEPTION ,"EXCEPTION" ,Texception_t ,_param->_size_exception); 72 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RE_PHY_NEW ,"NUM_REG_RE_PHY_NEW" ,Tspecial_address_t,_param->_size_special_register); 73 ALLOC1_SIGNAL_OUT(out_INSERT_NO_EXECUTE ,"NO_EXECUTE" ,Tcontrol_t ,1); 74 75 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_VAL ,"RENAME_SELECT_VAL" ,Tcontrol_t ,1); 76 ALLOC1_SIGNAL_OUT(out_INSERT_RENAME_SELECT_ACK ,"RENAME_SELECT_ACK" ,Tcontrol_t ,1); 77 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_FRONT_END_ID ,"RENAME_SELECT_FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 78 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_CONTEXT_ID ,"RENAME_SELECT_CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 79 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_TYPE ,"RENAME_SELECT_TYPE" ,Ttype_t ,_param->_size_type); 80 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_OPERATION ,"RENAME_SELECT_OPERATION" ,Toperation_t ,_param->_size_operation); 81 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_IMMEDIAT ,"RENAME_SELECT_IMMEDIAT" ,Tgeneral_data_t ,_param->_size_general_data); 82 // ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_EXCEPTION_USE ,"RENAME_SELECT_EXCEPTION_USE" ,Texception_t ,_param->_size_exception_use); 83 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_EXCEPTION ,"RENAME_SELECT_EXCEPTION" ,Texception_t ,_param->_size_exception); 84 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_NO_EXECUTE ,"RENAME_SELECT_NO_EXECUTE" ,Tcontrol_t ,1); 85 86 ALLOC1_SIGNAL_OUT(out_INSERT_REGISTER_TRANSLATION_VAL ,"REGISTER_TRANSLATION_VAL" ,Tcontrol_t ,1); 87 ALLOC1_SIGNAL_IN ( in_INSERT_REGISTER_TRANSLATION_ACK ,"REGISTER_TRANSLATION_ACK" ,Tcontrol_t ,1); 88 ALLOC1_SIGNAL_OUT(out_INSERT_REGISTER_TRANSLATION_FRONT_END_ID ,"REGISTER_TRANSLATION_FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 89 ALLOC1_SIGNAL_OUT(out_INSERT_REGISTER_TRANSLATION_CONTEXT_ID ,"REGISTER_TRANSLATION_CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 90 ALLOC1_SIGNAL_IN ( in_INSERT_REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW,"REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW",Tspecial_address_t,_param->_size_special_register); 91 ALLOC1_SIGNAL_OUT(out_INSERT_LOAD_STORE_QUEUE_POINTER_VAL ,"LOAD_STORE_QUEUE_POINTER_VAL" ,Tcontrol_t ,1); 92 ALLOC1_SIGNAL_IN ( in_INSERT_LOAD_STORE_QUEUE_POINTER_ACK ,"LOAD_STORE_QUEUE_POINTER_ACK" ,Tcontrol_t ,1); 93 ALLOC1_SIGNAL_OUT(out_INSERT_LOAD_STORE_QUEUE_POINTER_FRONT_END_ID ,"LOAD_STORE_QUEUE_POINTER_FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 94 ALLOC1_SIGNAL_OUT(out_INSERT_LOAD_STORE_QUEUE_POINTER_CONTEXT_ID ,"LOAD_STORE_QUEUE_POINTER_CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 95 ALLOC1_SIGNAL_OUT(out_INSERT_LOAD_STORE_QUEUE_POINTER_TYPE ,"LOAD_STORE_QUEUE_POINTER_TYPE" ,Ttype_t ,_param->_size_type); 96 ALLOC1_SIGNAL_OUT(out_INSERT_LOAD_STORE_QUEUE_POINTER_OPERATION ,"LOAD_STORE_QUEUE_POINTER_OPERATION" ,Toperation_t ,_param->_size_operation); 63 // ALLOC1_SIGNAL_OUT (out_INSERT_VAL ,"VAL" ,Tcontrol_t ,1); 64 // ALLOC1_SIGNAL_IN ( in_INSERT_ACK ,"ACK" ,Tcontrol_t ,1); 65 ALLOC1_SIGNAL_OUT (out_INSERT_FRONT_END_ID ,"FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 66 ALLOC1_SIGNAL_OUT (out_INSERT_CONTEXT_ID ,"CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 67 ALLOC1_SIGNAL_OUT_COND(out_INSERT_DEPTH ,"DEPTH" ,Tdepth_t ,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 68 ALLOC1_SIGNAL_OUT (out_INSERT_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type); 69 ALLOC1_SIGNAL_OUT (out_INSERT_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation); 70 ALLOC1_SIGNAL_OUT (out_INSERT_IMMEDIAT ,"IMMEDIAT" ,Tgeneral_data_t ,_param->_size_general_data); 71 // ALLOC1_SIGNAL_OUT (out_INSERT_EXCEPTION_USE ,"EXCEPTION_USE" ,Texception_t ,_param->_size_exception_use); 72 ALLOC1_SIGNAL_OUT (out_INSERT_EXCEPTION ,"EXCEPTION" ,Texception_t ,_param->_size_exception); 73 ALLOC1_SIGNAL_OUT (out_INSERT_NUM_REG_RE_PHY_NEW ,"NUM_REG_RE_PHY_NEW" ,Tspecial_address_t,_param->_size_special_register); 74 ALLOC1_SIGNAL_OUT (out_INSERT_NO_EXECUTE ,"NO_EXECUTE" ,Tcontrol_t ,1); 75 76 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_VAL ,"RENAME_SELECT_VAL" ,Tcontrol_t ,1); 77 ALLOC1_SIGNAL_OUT (out_INSERT_RENAME_SELECT_ACK ,"RENAME_SELECT_ACK" ,Tcontrol_t ,1); 78 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_FRONT_END_ID ,"RENAME_SELECT_FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 79 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_CONTEXT_ID ,"RENAME_SELECT_CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 80 ALLOC1_SIGNAL_IN_COND ( in_INSERT_RENAME_SELECT_DEPTH ,"RENAME_SELECT_DEPTH" ,Tdepth_t ,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 81 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_TYPE ,"RENAME_SELECT_TYPE" ,Ttype_t ,_param->_size_type); 82 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_OPERATION ,"RENAME_SELECT_OPERATION" ,Toperation_t ,_param->_size_operation); 83 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_IMMEDIAT ,"RENAME_SELECT_IMMEDIAT" ,Tgeneral_data_t ,_param->_size_general_data); 84 // ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_EXCEPTION_USE ,"RENAME_SELECT_EXCEPTION_USE" ,Texception_t ,_param->_size_exception_use); 85 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_EXCEPTION ,"RENAME_SELECT_EXCEPTION" ,Texception_t ,_param->_size_exception); 86 ALLOC1_SIGNAL_IN ( in_INSERT_RENAME_SELECT_NO_EXECUTE ,"RENAME_SELECT_NO_EXECUTE" ,Tcontrol_t ,1); 87 88 ALLOC1_SIGNAL_OUT (out_INSERT_REGISTER_TRANSLATION_VAL ,"REGISTER_TRANSLATION_VAL" ,Tcontrol_t ,1); 89 ALLOC1_SIGNAL_IN ( in_INSERT_REGISTER_TRANSLATION_ACK ,"REGISTER_TRANSLATION_ACK" ,Tcontrol_t ,1); 90 ALLOC1_SIGNAL_OUT (out_INSERT_REGISTER_TRANSLATION_FRONT_END_ID ,"REGISTER_TRANSLATION_FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 91 ALLOC1_SIGNAL_OUT (out_INSERT_REGISTER_TRANSLATION_CONTEXT_ID ,"REGISTER_TRANSLATION_CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 92 ALLOC1_SIGNAL_OUT_COND(out_INSERT_REGISTER_TRANSLATION_DEPTH ,"REGISTER_TRANSLATION_DEPTH" ,Tdepth_t ,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 93 ALLOC1_SIGNAL_IN ( in_INSERT_REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW,"REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW",Tspecial_address_t,_param->_size_special_register); 94 ALLOC1_SIGNAL_OUT (out_INSERT_LOAD_STORE_QUEUE_POINTER_VAL ,"LOAD_STORE_QUEUE_POINTER_VAL" ,Tcontrol_t ,1); 95 ALLOC1_SIGNAL_IN ( in_INSERT_LOAD_STORE_QUEUE_POINTER_ACK ,"LOAD_STORE_QUEUE_POINTER_ACK" ,Tcontrol_t ,1); 96 ALLOC1_SIGNAL_OUT (out_INSERT_LOAD_STORE_QUEUE_POINTER_FRONT_END_ID ,"LOAD_STORE_QUEUE_POINTER_FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id); 97 ALLOC1_SIGNAL_OUT (out_INSERT_LOAD_STORE_QUEUE_POINTER_CONTEXT_ID ,"LOAD_STORE_QUEUE_POINTER_CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id); 98 ALLOC1_SIGNAL_OUT (out_INSERT_LOAD_STORE_QUEUE_POINTER_TYPE ,"LOAD_STORE_QUEUE_POINTER_TYPE" ,Ttype_t ,_param->_size_type); 99 ALLOC1_SIGNAL_OUT (out_INSERT_LOAD_STORE_QUEUE_POINTER_OPERATION ,"LOAD_STORE_QUEUE_POINTER_OPERATION" ,Toperation_t ,_param->_size_operation); 97 100 98 101 ALLOC1_INTERFACE_END(_param->_nb_inst_insert); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue_deallocation.cpp
r122 r139 29 29 delete in_NRESET; 30 30 31 // DELETE1_SIGNAL(out_INSERT_VAL ,_param->_nb_inst_insert,1); 32 // DELETE1_SIGNAL( in_INSERT_ACK ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL(out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 34 DELETE1_SIGNAL(out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 35 DELETE1_SIGNAL(out_INSERT_TYPE ,_param->_nb_inst_insert,_param->_size_type); 36 DELETE1_SIGNAL(out_INSERT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation); 37 DELETE1_SIGNAL(out_INSERT_IMMEDIAT ,_param->_nb_inst_insert,_param->_size_general_data); 38 // DELETE1_SIGNAL(out_INSERT_EXCEPTION_USE ,_param->_nb_inst_insert,_param->_size_exception_use); 39 DELETE1_SIGNAL(out_INSERT_EXCEPTION ,_param->_nb_inst_insert,_param->_size_exception); 40 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register); 41 DELETE1_SIGNAL(out_INSERT_NO_EXECUTE ,_param->_nb_inst_insert,1); 42 43 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_VAL ,_param->_nb_inst_insert,1); 44 DELETE1_SIGNAL(out_INSERT_RENAME_SELECT_ACK ,_param->_nb_inst_insert,1); 45 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 46 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 47 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_TYPE ,_param->_nb_inst_insert,_param->_size_type); 48 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation); 49 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_IMMEDIAT ,_param->_nb_inst_insert,_param->_size_general_data); 50 // DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_EXCEPTION_USE ,_param->_nb_inst_insert,_param->_size_exception_use); 51 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_EXCEPTION ,_param->_nb_inst_insert,_param->_size_exception); 52 DELETE1_SIGNAL( in_INSERT_RENAME_SELECT_NO_EXECUTE ,_param->_nb_inst_insert,1); 53 54 DELETE1_SIGNAL(out_INSERT_REGISTER_TRANSLATION_VAL ,_param->_nb_inst_insert,1); 55 DELETE1_SIGNAL( in_INSERT_REGISTER_TRANSLATION_ACK ,_param->_nb_inst_insert,1); 56 DELETE1_SIGNAL(out_INSERT_REGISTER_TRANSLATION_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 57 DELETE1_SIGNAL(out_INSERT_REGISTER_TRANSLATION_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 58 DELETE1_SIGNAL( in_INSERT_REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register); 59 DELETE1_SIGNAL(out_INSERT_LOAD_STORE_QUEUE_POINTER_VAL ,_param->_nb_inst_insert,1); 60 DELETE1_SIGNAL( in_INSERT_LOAD_STORE_QUEUE_POINTER_ACK ,_param->_nb_inst_insert,1); 61 DELETE1_SIGNAL(out_INSERT_LOAD_STORE_QUEUE_POINTER_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 62 DELETE1_SIGNAL(out_INSERT_LOAD_STORE_QUEUE_POINTER_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 63 DELETE1_SIGNAL(out_INSERT_LOAD_STORE_QUEUE_POINTER_TYPE ,_param->_nb_inst_insert,_param->_size_type); 64 DELETE1_SIGNAL(out_INSERT_LOAD_STORE_QUEUE_POINTER_OPERATION ,_param->_nb_inst_insert,_param->_size_operation); 65 66 DELETE1_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 67 DELETE1_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire,1); 68 DELETE1_SIGNAL(out_RETIRE_LOAD_STORE_QUEUE_POINTER_VAL ,_param->_nb_inst_retire,1); 69 DELETE1_SIGNAL( in_RETIRE_LOAD_STORE_QUEUE_POINTER_ACK ,_param->_nb_inst_retire,1); 70 // DELETE1_SIGNAL(out_RETIRE_LOAD_STORE_QUEUE_POINTER_TYPE ,_param->_nb_inst_retire,_param->_size_type); 71 // DELETE1_SIGNAL(out_RETIRE_LOAD_STORE_QUEUE_POINTER_OPERATION ,_param->_nb_inst_retire,_param->_size_operation); 72 DELETE1_SIGNAL(out_RETIRE_REGISTER_TRANSLATION_VAL ,_param->_nb_inst_retire,1); 73 DELETE1_SIGNAL( in_RETIRE_REGISTER_TRANSLATION_ACK ,_param->_nb_inst_retire,1); 74 75 DELETE2_SIGNAL( in_RETIRE_EVENT_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 76 DELETE2_SIGNAL(out_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 77 DELETE2_SIGNAL(out_RETIRE_EVENT_LOAD_STORE_QUEUE_POINTER_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 78 DELETE2_SIGNAL( in_RETIRE_EVENT_LOAD_STORE_QUEUE_POINTER_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 79 DELETE2_SIGNAL(out_RETIRE_EVENT_REGISTER_TRANSLATION_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 80 DELETE2_SIGNAL( in_RETIRE_EVENT_REGISTER_TRANSLATION_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 81 82 DELETE2_SIGNAL( in_SPR_READ_SR ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_spr); 31 // DELETE1_SIGNAL (out_INSERT_VAL ,_param->_nb_inst_insert,1); 32 // DELETE1_SIGNAL ( in_INSERT_ACK ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL (out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 34 DELETE1_SIGNAL (out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 35 DELETE1_SIGNAL_COND(out_INSERT_DEPTH ,_param->_nb_inst_insert,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 36 DELETE1_SIGNAL (out_INSERT_TYPE ,_param->_nb_inst_insert,_param->_size_type); 37 DELETE1_SIGNAL (out_INSERT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation); 38 DELETE1_SIGNAL (out_INSERT_IMMEDIAT ,_param->_nb_inst_insert,_param->_size_general_data); 39 // DELETE1_SIGNAL (out_INSERT_EXCEPTION_USE ,_param->_nb_inst_insert,_param->_size_exception_use); 40 DELETE1_SIGNAL (out_INSERT_EXCEPTION ,_param->_nb_inst_insert,_param->_size_exception); 41 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register); 42 DELETE1_SIGNAL (out_INSERT_NO_EXECUTE ,_param->_nb_inst_insert,1); 43 44 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_VAL ,_param->_nb_inst_insert,1); 45 DELETE1_SIGNAL (out_INSERT_RENAME_SELECT_ACK ,_param->_nb_inst_insert,1); 46 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 47 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 48 DELETE1_SIGNAL_COND( in_INSERT_RENAME_SELECT_DEPTH ,_param->_nb_inst_insert,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 49 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_TYPE ,_param->_nb_inst_insert,_param->_size_type); 50 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation); 51 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_IMMEDIAT ,_param->_nb_inst_insert,_param->_size_general_data); 52 // DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_EXCEPTION_USE ,_param->_nb_inst_insert,_param->_size_exception_use); 53 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_EXCEPTION ,_param->_nb_inst_insert,_param->_size_exception); 54 DELETE1_SIGNAL ( in_INSERT_RENAME_SELECT_NO_EXECUTE ,_param->_nb_inst_insert,1); 55 56 DELETE1_SIGNAL (out_INSERT_REGISTER_TRANSLATION_VAL ,_param->_nb_inst_insert,1); 57 DELETE1_SIGNAL ( in_INSERT_REGISTER_TRANSLATION_ACK ,_param->_nb_inst_insert,1); 58 DELETE1_SIGNAL (out_INSERT_REGISTER_TRANSLATION_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 59 DELETE1_SIGNAL (out_INSERT_REGISTER_TRANSLATION_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 60 DELETE1_SIGNAL_COND(out_INSERT_REGISTER_TRANSLATION_DEPTH ,_param->_nb_inst_insert,_param->_size_depth,_param->_rat_scheme == RAT_DEPTH_SAVE); 61 DELETE1_SIGNAL ( in_INSERT_REGISTER_TRANSLATION_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register); 62 DELETE1_SIGNAL (out_INSERT_LOAD_STORE_QUEUE_POINTER_VAL ,_param->_nb_inst_insert,1); 63 DELETE1_SIGNAL ( in_INSERT_LOAD_STORE_QUEUE_POINTER_ACK ,_param->_nb_inst_insert,1); 64 DELETE1_SIGNAL (out_INSERT_LOAD_STORE_QUEUE_POINTER_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id); 65 DELETE1_SIGNAL (out_INSERT_LOAD_STORE_QUEUE_POINTER_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id); 66 DELETE1_SIGNAL (out_INSERT_LOAD_STORE_QUEUE_POINTER_TYPE ,_param->_nb_inst_insert,_param->_size_type); 67 DELETE1_SIGNAL (out_INSERT_LOAD_STORE_QUEUE_POINTER_OPERATION ,_param->_nb_inst_insert,_param->_size_operation); 68 69 DELETE1_SIGNAL ( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 70 DELETE1_SIGNAL (out_RETIRE_ACK ,_param->_nb_inst_retire,1); 71 DELETE1_SIGNAL (out_RETIRE_LOAD_STORE_QUEUE_POINTER_VAL ,_param->_nb_inst_retire,1); 72 DELETE1_SIGNAL ( in_RETIRE_LOAD_STORE_QUEUE_POINTER_ACK ,_param->_nb_inst_retire,1); 73 // DELETE1_SIGNAL (out_RETIRE_LOAD_STORE_QUEUE_POINTER_TYPE ,_param->_nb_inst_retire,_param->_size_type); 74 // DELETE1_SIGNAL (out_RETIRE_LOAD_STORE_QUEUE_POINTER_OPERATION ,_param->_nb_inst_retire,_param->_size_operation); 75 DELETE1_SIGNAL (out_RETIRE_REGISTER_TRANSLATION_VAL ,_param->_nb_inst_retire,1); 76 DELETE1_SIGNAL ( in_RETIRE_REGISTER_TRANSLATION_ACK ,_param->_nb_inst_retire,1); 77 78 DELETE2_SIGNAL ( in_RETIRE_EVENT_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 79 DELETE2_SIGNAL (out_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 80 DELETE2_SIGNAL (out_RETIRE_EVENT_LOAD_STORE_QUEUE_POINTER_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 81 DELETE2_SIGNAL ( in_RETIRE_EVENT_LOAD_STORE_QUEUE_POINTER_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 82 DELETE2_SIGNAL (out_RETIRE_EVENT_REGISTER_TRANSLATION_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1); 83 DELETE2_SIGNAL ( in_RETIRE_EVENT_REGISTER_TRANSLATION_ACK ,_param->_nb_front_end,_param->_nb_context[it1],1); 84 85 DELETE2_SIGNAL ( in_SPR_READ_SR ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_spr); 83 86 } 84 87 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue_genMealy_insert.cpp
r123 r139 32 32 Tcontext_t FRONT_END_ID = (_param->_have_port_front_end_id)?PORT_READ(in_INSERT_RENAME_SELECT_FRONT_END_ID [i]):0; 33 33 Tcontext_t CONTEXT_ID = (_param->_have_port_context_id )?PORT_READ(in_INSERT_RENAME_SELECT_CONTEXT_ID [i]):0; 34 Tdepth_t DEPTH = ((_param->_rat_scheme == RAT_DEPTH_SAVE) and _param->_have_port_depth)?PORT_READ(in_INSERT_RENAME_SELECT_DEPTH [i]):0; 34 35 Ttype_t TYPE = PORT_READ(in_INSERT_RENAME_SELECT_TYPE [i]); 35 36 Toperation_t OPERATION = PORT_READ(in_INSERT_RENAME_SELECT_OPERATION [i]); … … 97 98 PORT_WRITE(out_INSERT_LOAD_STORE_QUEUE_POINTER_CONTEXT_ID [i],CONTEXT_ID ); 98 99 } 100 if (_param->_have_port_depth and (_param->_rat_scheme == RAT_DEPTH_SAVE)) 101 { 102 PORT_WRITE(out_INSERT_DEPTH [i],DEPTH ); 103 PORT_WRITE(out_INSERT_REGISTER_TRANSLATION_DEPTH [i],DEPTH ); 104 } 99 105 PORT_WRITE(out_INSERT_TYPE [i],TYPE ); 100 106 PORT_WRITE(out_INSERT_OPERATION [i],OPERATION ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/include/Parameters.h
r112 r139 45 45 public : uint32_t _nb_general_register ; 46 46 public : uint32_t _nb_special_register ; 47 public : Trat_scheme_t _rat_scheme ; 47 48 public : uint32_t _nb_reg_free ; 48 49 public : uint32_t _nb_bank ; 49 // public : uint32_t _size_read_counter ; 50 50 //public : uint32_t _size_read_counter ; 51 public : uint32_t ** _nb_branch_speculated ;//[nb_front_end][nb_context] 52 51 53 //public : uint32_t _size_front_end_id ; 52 54 //public : uint32_t _size_context_id ; … … 85 87 uint32_t nb_general_register , 86 88 uint32_t nb_special_register , 89 Trat_scheme_t rat_scheme , 87 90 uint32_t nb_reg_free , 88 91 uint32_t nb_bank , 89 92 // uint32_t size_read_counter , 93 uint32_t ** nb_branch_speculated ,//[nb_front_end][nb_context] 90 94 bool is_toplevel=false 91 95 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/include/Rename_unit.h
r137 r139 83 83 public : SC_IN (Tcontrol_t ) *** in_RENAME_IN_LAST_EVENT ;//[nb_front_end][nb_inst_decod] 84 84 public : SC_IN (Tcontrol_t ) *** in_RENAME_IN_IS_DELAY_SLOT ;//[nb_front_end][nb_inst_decod] 85 public : SC_IN (Tcontrol_t ) *** in_RENAME_IN_SAVE_RAT ;//[nb_front_end][nb_inst_decod] 85 86 #ifdef DEBUG 86 87 public : SC_IN (Taddress_t ) *** in_RENAME_IN_ADDRESS ;//[nb_front_end][nb_inst_decod] … … 163 164 public : SC_IN (Tlsq_ptr_t ) ** in_RETIRE_STORE_QUEUE_PTR_WRITE;//[nb_inst_retire] 164 165 public : SC_IN (Tlsq_ptr_t ) ** in_RETIRE_LOAD_QUEUE_PTR_WRITE ;//[nb_inst_retire] 165 // 166 // 167 // 168 // 169 // 170 // 166 //public : SC_IN (Tcontrol_t ) ** in_RETIRE_READ_RA ;//[nb_inst_retire] 167 //public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RA_PHY ;//[nb_inst_retire] 168 //public : SC_IN (Tcontrol_t ) ** in_RETIRE_READ_RB ;//[nb_inst_retire] 169 //public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RB_PHY ;//[nb_inst_retire] 170 //public : SC_IN (Tcontrol_t ) ** in_RETIRE_READ_RC ;//[nb_inst_retire] 171 //public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RC_PHY ;//[nb_inst_retire] 171 172 public : SC_IN (Tcontrol_t ) ** in_RETIRE_WRITE_RD ;//[nb_inst_retire] 172 173 public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RD_LOG ;//[nb_inst_retire] … … 177 178 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_OLD ;//[nb_inst_retire] 178 179 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_NEW ;//[nb_inst_retire] 180 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE ;//[nb_inst_retire] 181 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE_RD_PHY_OLD ;//[nb_inst_retire] 182 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE_RE_PHY_OLD ;//[nb_inst_retire] 179 183 180 184 // ~~~~~[ Interface "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 184 188 //public : SC_IN (Tcontrol_t ) *** in_RETIRE_EVENT_FLUSH ;//[nb_front_end][nb_context] 185 189 public : SC_IN (Tcontrol_t ) *** in_RETIRE_EVENT_STOP ;//[nb_front_end][nb_context] 190 public : SC_IN (Tevent_type_t ) *** in_RETIRE_EVENT_TYPE ;//[nb_front_end][nb_context] 191 public : SC_IN (Tdepth_t ) *** in_RETIRE_EVENT_DEPTH ;//[nb_front_end][nb_context] 186 192 187 193 // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Parameters.cpp
r112 r139 36 36 uint32_t nb_general_register , 37 37 uint32_t nb_special_register , 38 Trat_scheme_t rat_scheme , 38 39 uint32_t nb_reg_free , 39 40 uint32_t nb_bank , 40 41 // uint32_t size_read_counter , 42 uint32_t ** nb_branch_speculated ,//[nb_front_end][nb_context] 41 43 bool is_toplevel) 42 44 { … … 59 61 _nb_general_register = nb_general_register ; 60 62 _nb_special_register = nb_special_register ; 63 _rat_scheme = rat_scheme ; 61 64 _nb_reg_free = nb_reg_free ; 62 65 _nb_bank = nb_bank ; 63 // _size_read_counter = size_read_counter ; 64 66 // _size_read_counter = size_read_counter ; 67 _nb_branch_speculated = nb_branch_speculated ; 68 65 69 uint32_t size_special_register = log2(_nb_special_register); 66 70 … … 88 92 _nb_general_register , 89 93 _nb_special_register , 94 _rat_scheme , 90 95 _nb_inst_insert , 91 96 _nb_inst_retire , 92 97 _nb_reg_free , 93 _nb_bank // , 94 // _size_read_counter 98 _nb_bank , 99 // _size_read_counter , 100 _nb_branch_speculated 95 101 ); 96 102 … … 117 123 _nb_inst_retire , 118 124 _size_general_data , 119 _size_special_register 125 _size_special_register, 126 _rat_scheme 120 127 ); 121 128 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Parameters_print.cpp
r112 r139 58 58 59 59 xml.singleton_begin("link_load_store_unit_with_thread "); xml.attribut("value",toString(_link_load_store_unit_with_thread [i][j])); xml.singleton_end(); 60 xml.singleton_begin("nb_branch_speculated "); xml.attribut("value",toString(_nb_branch_speculated [i][j])); xml.singleton_end(); 60 61 61 62 xml. balise_close(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Rename_unit_allocation.cpp
r137 r139 74 74 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_LAST_EVENT ,"last_event" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 75 75 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_IS_DELAY_SLOT ,"is_delay_slot",Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 76 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_SAVE_RAT ,"save_rat" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 76 77 #ifdef DEBUG 77 78 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address , _param->_nb_front_end, _param->_nb_inst_decod[it1]); … … 166 167 ALLOC1_SIGNAL_IN ( in_RETIRE_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ); 167 168 ALLOC1_SIGNAL_IN ( in_RETIRE_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr ); 168 // 169 // 170 // 171 // 172 // 173 // 169 // ALLOC1_SIGNAL_IN ( in_RETIRE_READ_RA ,"read_ra" ,Tcontrol_t ,1 ); 170 // ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RA_PHY ,"num_reg_ra_phy" ,Tgeneral_address_t,_param->_size_general_register ); 171 // ALLOC1_SIGNAL_IN ( in_RETIRE_READ_RB ,"read_rb" ,Tcontrol_t ,1 ); 172 // ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RB_PHY ,"num_reg_rb_phy" ,Tgeneral_address_t,_param->_size_general_register ); 173 // ALLOC1_SIGNAL_IN ( in_RETIRE_READ_RC ,"read_rc" ,Tcontrol_t ,1 ); 174 // ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register ); 174 175 ALLOC1_SIGNAL_IN ( in_RETIRE_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 175 176 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_LOG ,"num_reg_rd_log" ,Tgeneral_address_t,_param->_size_general_register_logic); … … 180 181 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD ,"num_reg_re_phy_old" ,Tspecial_address_t,_param->_size_special_register ); 181 182 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_NEW ,"num_reg_re_phy_new" ,Tspecial_address_t,_param->_size_special_register ); 183 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE ,"restore" ,Tcontrol_t ,1 ); 184 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RD_PHY_OLD ,"restore_rd_phy_old" ,Tcontrol_t ,1 ); 185 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RE_PHY_OLD ,"restore_re_phy_old" ,Tcontrol_t ,1 ); 182 186 183 187 ALLOC1_INTERFACE_END(_param->_nb_inst_retire); … … 188 192 ALLOC2_INTERFACE_BEGIN("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]); 189 193 190 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end, _param->_nb_context[it1]); 191 _ALLOC2_VALACK_OUT(out_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end, _param->_nb_context[it1]); 192 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]); 193 // _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_FLUSH ,"flush" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_context[it1]); 194 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STOP ,"stop" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_context[it1]); 194 _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL ,VAL,_param->_nb_front_end, _param->_nb_context[it1]); 195 _ALLOC2_VALACK_OUT (out_RETIRE_EVENT_ACK ,ACK,_param->_nb_front_end, _param->_nb_context[it1]); 196 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE ,"state" ,Tevent_state_t ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]); 197 // _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_FLUSH ,"flush" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_context[it1]); 198 _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STOP ,"stop" ,Tcontrol_t ,1 , _param->_nb_front_end, _param->_nb_context[it1]); 199 _ALLOC2_SIGNAL_IN_COND ( in_RETIRE_EVENT_TYPE ,"type" ,Tevent_type_t ,_param->_size_event_type , _param->_nb_front_end, _param->_nb_context[it1],_param->_rat_scheme == RAT_DEPTH_SAVE); 200 _ALLOC2_SIGNAL_IN_COND ( in_RETIRE_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth , _param->_nb_front_end, _param->_nb_context[it1],_param->_rat_scheme == RAT_DEPTH_SAVE); 195 201 196 202 ALLOC2_INTERFACE_END(_param->_nb_front_end, _param->_nb_context[it1]); … … 337 343 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_CONTEXT_ID" ); 338 344 if (_param->_have_port_depth) 345 { 339 346 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_DEPTH" , 340 347 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_DEPTH" ); 348 } 341 349 #ifdef STATISTICS 342 350 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_INSTRUCTION" , … … 355 363 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_IS_DELAY_SLOT", 356 364 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_IS_DELAY_SLOT"); 365 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_SAVE_RAT" , 366 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_SAVE_RAT" ); 357 367 #ifdef DEBUG 358 368 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_ADDRESS" , … … 400 410 #endif 401 411 412 if (_param->_have_port_depth and (_param->_rat_scheme != RAT_DEPTH_SAVE)) 413 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_DEPTH", 414 dest,"out_INSERT_" +toString(i)+"_DEPTH"); 402 415 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_IS_DELAY_SLOT", 403 416 dest,"out_INSERT_" +toString(i)+"_IS_DELAY_SLOT"); 404 if (_param->_have_port_depth) 405 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_DEPTH" , 406 dest,"out_INSERT_" +toString(i)+"_DEPTH" ); 417 407 418 #ifdef STATISTICS 408 419 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_INSTRUCTION" , … … 429 440 #endif 430 441 442 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_SAVE_RAT" , 443 dest, "in_RENAME_" +toString(i)+"_SAVE_RAT" ); 431 444 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RA" , 432 445 dest, "in_RENAME_" +toString(i)+"_READ_RA" ); … … 467 480 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+ "_CONTEXT_ID" , 468 481 dest, "in_INSERT_" +toString(i)+"_RENAME_SELECT_CONTEXT_ID" ); 482 if (_param->_have_port_depth and (_param->_rat_scheme == RAT_DEPTH_SAVE)) 483 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+ "_DEPTH" , 484 dest, "in_INSERT_" +toString(i)+"_RENAME_SELECT_DEPTH" ); 469 485 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+ "_TYPE" , 470 486 dest, "in_INSERT_" +toString(i)+"_RENAME_SELECT_TYPE" ); … … 540 556 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(i)+ "_CONTEXT_ID" , 541 557 dest,"out_INSERT_"+toString(i)+"_REGISTER_TRANSLATION_CONTEXT_ID" ); 542 558 if (_param->_have_port_depth and (_param->_rat_scheme == RAT_DEPTH_SAVE)) 559 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(i)+ "_DEPTH" , 560 dest,"out_INSERT_"+toString(i)+"_REGISTER_TRANSLATION_DEPTH" ); 561 562 // in_RENAME_SAVE_RAS - rename_select 543 563 // in_RENAME_READ_RA - rename_select 544 564 // in_RENAME_NUM_REG_RA_LOG - rename_select … … 662 682 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 663 683 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 684 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE" , 685 dest, "in_RETIRE_"+toString(i)+"_RESTORE" ); 686 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD", 687 dest, "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD"); 688 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD", 689 dest, "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD"); 664 690 665 691 dest = _name+"_glue"; … … 696 722 PORT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_STATE", 697 723 dest, "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_STATE"); 724 if (_param->_rat_scheme == RAT_DEPTH_SAVE) 725 { 726 PORT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_TYPE" , 727 dest, "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_TYPE" ); 728 if (_param->_have_port_depth) 729 PORT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_DEPTH", 730 dest, "in_RETIRE_EVENT_"+toString(i)+"_"+toString(j)+"_DEPTH"); 731 } 732 698 733 } 699 734 … … 871 906 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_CONTEXT_ID" , 872 907 dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID" ); 908 if (_param->_have_port_depth and (_param->_rat_scheme == RAT_DEPTH_SAVE)) 909 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_DEPTH" , 910 dest,"out_INSERT_"+toString(i)+"_DEPTH" ); 873 911 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_TYPE" , 874 912 dest,"out_INSERT_"+toString(i)+"_TYPE" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Rename_unit_deallocation.cpp
r137 r139 28 28 delete in_NRESET; 29 29 30 DELETE2_SIGNAL( in_RENAME_IN_VAL ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 31 DELETE2_SIGNAL(out_RENAME_IN_ACK ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 32 DELETE2_SIGNAL( in_RENAME_IN_FRONT_END_ID ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_front_end_id ); 33 DELETE2_SIGNAL( in_RENAME_IN_CONTEXT_ID ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_context_id ); 34 DELETE2_SIGNAL( in_RENAME_IN_DEPTH ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_depth ); 35 #ifdef STATISTICS 36 DELETE2_SIGNAL( in_RENAME_IN_INSTRUCTION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],32); 37 #endif 38 DELETE2_SIGNAL( in_RENAME_IN_TYPE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_type ); 39 DELETE2_SIGNAL( in_RENAME_IN_OPERATION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_operation ); 40 DELETE2_SIGNAL( in_RENAME_IN_NO_EXECUTE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 41 // DELETE2_SIGNAL( in_RENAME_IN_HAVE_EVENT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 42 DELETE2_SIGNAL( in_RENAME_IN_LAST_EVENT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 43 DELETE2_SIGNAL( in_RENAME_IN_IS_DELAY_SLOT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 44 #ifdef DEBUG 45 DELETE2_SIGNAL( in_RENAME_IN_ADDRESS ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_instruction_address ); 46 #endif 47 DELETE2_SIGNAL( in_RENAME_IN_ADDRESS_NEXT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_instruction_address ); 48 DELETE2_SIGNAL( in_RENAME_IN_HAS_IMMEDIAT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 49 DELETE2_SIGNAL( in_RENAME_IN_IMMEDIAT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_data ); 50 DELETE2_SIGNAL( in_RENAME_IN_READ_RA ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 51 DELETE2_SIGNAL( in_RENAME_IN_NUM_REG_RA ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_register_logic); 52 DELETE2_SIGNAL( in_RENAME_IN_READ_RB ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 53 DELETE2_SIGNAL( in_RENAME_IN_NUM_REG_RB ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_register_logic); 54 DELETE2_SIGNAL( in_RENAME_IN_READ_RC ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 55 DELETE2_SIGNAL( in_RENAME_IN_NUM_REG_RC ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_special_register_logic); 56 DELETE2_SIGNAL( in_RENAME_IN_WRITE_RD ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 57 DELETE2_SIGNAL( in_RENAME_IN_NUM_REG_RD ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_register_logic); 58 DELETE2_SIGNAL( in_RENAME_IN_WRITE_RE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 59 DELETE2_SIGNAL( in_RENAME_IN_NUM_REG_RE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_special_register_logic); 60 DELETE2_SIGNAL( in_RENAME_IN_EXCEPTION_USE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_exception_use ); 61 DELETE2_SIGNAL( in_RENAME_IN_EXCEPTION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_exception ); 30 DELETE2_SIGNAL ( in_RENAME_IN_VAL ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 31 DELETE2_SIGNAL (out_RENAME_IN_ACK ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 32 DELETE2_SIGNAL ( in_RENAME_IN_FRONT_END_ID ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_front_end_id ); 33 DELETE2_SIGNAL ( in_RENAME_IN_CONTEXT_ID ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_context_id ); 34 DELETE2_SIGNAL ( in_RENAME_IN_DEPTH ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_depth ); 35 #ifdef STATISTICS 36 DELETE2_SIGNAL ( in_RENAME_IN_INSTRUCTION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],32); 37 #endif 38 DELETE2_SIGNAL ( in_RENAME_IN_TYPE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_type ); 39 DELETE2_SIGNAL ( in_RENAME_IN_OPERATION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_operation ); 40 DELETE2_SIGNAL ( in_RENAME_IN_NO_EXECUTE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 41 // DELETE2_SIGNAL ( in_RENAME_IN_HAVE_EVENT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 42 DELETE2_SIGNAL ( in_RENAME_IN_LAST_EVENT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 43 DELETE2_SIGNAL ( in_RENAME_IN_IS_DELAY_SLOT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 44 DELETE2_SIGNAL ( in_RENAME_IN_SAVE_RAT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 45 #ifdef DEBUG 46 DELETE2_SIGNAL ( in_RENAME_IN_ADDRESS ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_instruction_address ); 47 #endif 48 DELETE2_SIGNAL ( in_RENAME_IN_ADDRESS_NEXT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_instruction_address ); 49 DELETE2_SIGNAL ( in_RENAME_IN_HAS_IMMEDIAT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 50 DELETE2_SIGNAL ( in_RENAME_IN_IMMEDIAT ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_data ); 51 DELETE2_SIGNAL ( in_RENAME_IN_READ_RA ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 52 DELETE2_SIGNAL ( in_RENAME_IN_NUM_REG_RA ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_register_logic); 53 DELETE2_SIGNAL ( in_RENAME_IN_READ_RB ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 54 DELETE2_SIGNAL ( in_RENAME_IN_NUM_REG_RB ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_register_logic); 55 DELETE2_SIGNAL ( in_RENAME_IN_READ_RC ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 56 DELETE2_SIGNAL ( in_RENAME_IN_NUM_REG_RC ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_special_register_logic); 57 DELETE2_SIGNAL ( in_RENAME_IN_WRITE_RD ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 58 DELETE2_SIGNAL ( in_RENAME_IN_NUM_REG_RD ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_general_register_logic); 59 DELETE2_SIGNAL ( in_RENAME_IN_WRITE_RE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],1 ); 60 DELETE2_SIGNAL ( in_RENAME_IN_NUM_REG_RE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_special_register_logic); 61 DELETE2_SIGNAL ( in_RENAME_IN_EXCEPTION_USE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_exception_use ); 62 DELETE2_SIGNAL ( in_RENAME_IN_EXCEPTION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_exception ); 63 64 DELETE1_SIGNAL (out_INSERT_VAL ,_param->_nb_inst_insert,1 ); 65 DELETE1_SIGNAL ( in_INSERT_ACK ,_param->_nb_inst_insert,1 ); 66 DELETE1_SIGNAL (out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 67 DELETE1_SIGNAL (out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 68 DELETE1_SIGNAL (out_INSERT_DEPTH ,_param->_nb_inst_insert,_param->_size_depth ); 69 #ifdef STATISTICS 70 DELETE1_SIGNAL (out_INSERT_INSTRUCTION ,_param->_nb_inst_insert,32); 71 #endif 72 DELETE1_SIGNAL (out_INSERT_TYPE ,_param->_nb_inst_insert,_param->_size_type ); 73 DELETE1_SIGNAL (out_INSERT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation ); 74 DELETE1_SIGNAL (out_INSERT_NO_EXECUTE ,_param->_nb_inst_insert,1 ); 75 DELETE1_SIGNAL (out_INSERT_LAST_EVENT ,_param->_nb_inst_insert,1 ); 76 DELETE1_SIGNAL (out_INSERT_IS_DELAY_SLOT ,_param->_nb_inst_insert,1 ); 77 #ifdef DEBUG 78 DELETE1_SIGNAL (out_INSERT_ADDRESS ,_param->_nb_inst_insert,_param->_size_instruction_address ); 79 #endif 80 DELETE1_SIGNAL (out_INSERT_ADDRESS_NEXT ,_param->_nb_inst_insert,_param->_size_instruction_address ); 81 DELETE1_SIGNAL (out_INSERT_HAS_IMMEDIAT ,_param->_nb_inst_insert,1 ); 82 DELETE1_SIGNAL (out_INSERT_IMMEDIAT ,_param->_nb_inst_insert,_param->_size_general_data ); 83 DELETE1_SIGNAL (out_INSERT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_insert,_param->_size_store_queue_ptr ); 84 DELETE1_SIGNAL (out_INSERT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_insert,_param->_size_store_queue_ptr ); 85 DELETE1_SIGNAL (out_INSERT_STORE_QUEUE_EMPTY ,_param->_nb_inst_insert,1 ); 86 DELETE1_SIGNAL (out_INSERT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_insert,_param->_size_load_queue_ptr ); 87 DELETE1_SIGNAL (out_INSERT_EXCEPTION_USE ,_param->_nb_inst_insert,_param->_size_exception_use ); 88 DELETE1_SIGNAL (out_INSERT_EXCEPTION ,_param->_nb_inst_insert,_param->_size_exception ); 89 DELETE1_SIGNAL (out_INSERT_READ_RA ,_param->_nb_inst_insert,1 ); 90 #ifdef DEBUG 91 DELETE1_SIGNAL (out_INSERT_NUM_REG_RA_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 92 #endif 93 DELETE1_SIGNAL (out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 94 DELETE1_SIGNAL (out_INSERT_READ_RB ,_param->_nb_inst_insert,1 ); 95 #ifdef DEBUG 96 DELETE1_SIGNAL (out_INSERT_NUM_REG_RB_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 97 #endif 98 DELETE1_SIGNAL (out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 99 DELETE1_SIGNAL (out_INSERT_READ_RC ,_param->_nb_inst_insert,1 ); 100 #ifdef DEBUG 101 DELETE1_SIGNAL (out_INSERT_NUM_REG_RC_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 102 #endif 103 DELETE1_SIGNAL (out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 104 DELETE1_SIGNAL (out_INSERT_WRITE_RD ,_param->_nb_inst_insert,1 ); 105 DELETE1_SIGNAL (out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 106 DELETE1_SIGNAL (out_INSERT_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert,_param->_size_general_register ); 107 DELETE1_SIGNAL (out_INSERT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert,_param->_size_general_register ); 108 DELETE1_SIGNAL (out_INSERT_WRITE_RE ,_param->_nb_inst_insert,1 ); 109 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 110 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert,_param->_size_special_register ); 111 DELETE1_SIGNAL (out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register ); 112 113 DELETE1_SIGNAL ( in_RETIRE_VAL ,_param->_nb_inst_retire,1 ); 114 DELETE1_SIGNAL (out_RETIRE_ACK ,_param->_nb_inst_retire,1 ); 115 DELETE1_SIGNAL ( in_RETIRE_FRONT_END_ID ,_param->_nb_inst_retire,_param->_size_front_end_id ); 116 DELETE1_SIGNAL ( in_RETIRE_CONTEXT_ID ,_param->_nb_inst_retire,_param->_size_context_id ); 117 // DELETE1_SIGNAL ( in_RETIRE_TYPE ,_param->_nb_inst_retire,_param->_size_type ); 118 // DELETE1_SIGNAL ( in_RETIRE_OPERATION ,_param->_nb_inst_retire,_param->_size_operation ); 119 DELETE1_SIGNAL ( in_RETIRE_USE_STORE_QUEUE ,_param->_nb_inst_retire,1 ); 120 DELETE1_SIGNAL ( in_RETIRE_USE_LOAD_QUEUE ,_param->_nb_inst_retire,1 ); 121 DELETE1_SIGNAL ( in_RETIRE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire,_param->_size_store_queue_ptr ); 122 DELETE1_SIGNAL ( in_RETIRE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire,_param->_size_load_queue_ptr ); 123 // DELETE1_SIGNAL ( in_RETIRE_READ_RA ,_param->_nb_inst_retire,1 ); 124 // DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RA_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 125 // DELETE1_SIGNAL ( in_RETIRE_READ_RB ,_param->_nb_inst_retire,1 ); 126 // DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RB_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 127 // DELETE1_SIGNAL ( in_RETIRE_READ_RC ,_param->_nb_inst_retire,1 ); 128 // DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RC_PHY ,_param->_nb_inst_retire,_param->_size_special_register ); 129 DELETE1_SIGNAL ( in_RETIRE_WRITE_RD ,_param->_nb_inst_retire,1 ); 130 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_LOG ,_param->_nb_inst_retire,_param->_size_general_register_logic); 131 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_retire,_param->_size_general_register ); 132 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_retire,_param->_size_general_register ); 133 DELETE1_SIGNAL ( in_RETIRE_WRITE_RE ,_param->_nb_inst_retire,1 ); 134 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_LOG ,_param->_nb_inst_retire,_param->_size_special_register_logic); 135 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_retire,_param->_size_special_register ); 136 DELETE1_SIGNAL ( in_RETIRE_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_retire,_param->_size_special_register ); 137 DELETE1_SIGNAL ( in_RETIRE_RESTORE ,_param->_nb_inst_retire,1); 138 DELETE1_SIGNAL ( in_RETIRE_RESTORE_RD_PHY_OLD ,_param->_nb_inst_retire,1); 139 DELETE1_SIGNAL ( in_RETIRE_RESTORE_RE_PHY_OLD ,_param->_nb_inst_retire,1); 140 141 DELETE2_SIGNAL ( in_RETIRE_EVENT_VAL ,_param->_nb_front_end, _param->_nb_context[it1],1); 142 DELETE2_SIGNAL (out_RETIRE_EVENT_ACK ,_param->_nb_front_end, _param->_nb_context[it1],1); 143 DELETE2_SIGNAL ( in_RETIRE_EVENT_STATE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state); 144 // DELETE2_SIGNAL ( in_RETIRE_EVENT_FLUSH ,_param->_nb_front_end, _param->_nb_context[it1],1); 145 DELETE2_SIGNAL ( in_RETIRE_EVENT_STOP ,_param->_nb_front_end, _param->_nb_context[it1],1); 146 DELETE2_SIGNAL_COND( in_RETIRE_EVENT_TYPE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_type,_param->_rat_scheme == RAT_DEPTH_SAVE); 147 DELETE2_SIGNAL_COND( in_RETIRE_EVENT_DEPTH ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth ,_param->_rat_scheme == RAT_DEPTH_SAVE); 62 148 63 DELETE1_SIGNAL(out_INSERT_VAL ,_param->_nb_inst_insert,1 ); 64 DELETE1_SIGNAL( in_INSERT_ACK ,_param->_nb_inst_insert,1 ); 65 DELETE1_SIGNAL(out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 66 DELETE1_SIGNAL(out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 67 DELETE1_SIGNAL(out_INSERT_DEPTH ,_param->_nb_inst_insert,_param->_size_depth ); 68 #ifdef STATISTICS 69 DELETE1_SIGNAL(out_INSERT_INSTRUCTION ,_param->_nb_inst_insert,32); 70 #endif 71 DELETE1_SIGNAL(out_INSERT_TYPE ,_param->_nb_inst_insert,_param->_size_type ); 72 DELETE1_SIGNAL(out_INSERT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation ); 73 DELETE1_SIGNAL(out_INSERT_NO_EXECUTE ,_param->_nb_inst_insert,1 ); 74 DELETE1_SIGNAL(out_INSERT_LAST_EVENT ,_param->_nb_inst_insert,1 ); 75 DELETE1_SIGNAL(out_INSERT_IS_DELAY_SLOT ,_param->_nb_inst_insert,1 ); 76 #ifdef DEBUG 77 DELETE1_SIGNAL(out_INSERT_ADDRESS ,_param->_nb_inst_insert,_param->_size_instruction_address ); 78 #endif 79 DELETE1_SIGNAL(out_INSERT_ADDRESS_NEXT ,_param->_nb_inst_insert,_param->_size_instruction_address ); 80 DELETE1_SIGNAL(out_INSERT_HAS_IMMEDIAT ,_param->_nb_inst_insert,1 ); 81 DELETE1_SIGNAL(out_INSERT_IMMEDIAT ,_param->_nb_inst_insert,_param->_size_general_data ); 82 DELETE1_SIGNAL(out_INSERT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_insert,_param->_size_store_queue_ptr ); 83 DELETE1_SIGNAL(out_INSERT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_insert,_param->_size_store_queue_ptr ); 84 DELETE1_SIGNAL(out_INSERT_STORE_QUEUE_EMPTY ,_param->_nb_inst_insert,1 ); 85 DELETE1_SIGNAL(out_INSERT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_insert,_param->_size_load_queue_ptr ); 86 DELETE1_SIGNAL(out_INSERT_EXCEPTION_USE ,_param->_nb_inst_insert,_param->_size_exception_use ); 87 DELETE1_SIGNAL(out_INSERT_EXCEPTION ,_param->_nb_inst_insert,_param->_size_exception ); 88 DELETE1_SIGNAL(out_INSERT_READ_RA ,_param->_nb_inst_insert,1 ); 89 #ifdef DEBUG 90 DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 91 #endif 92 DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 93 DELETE1_SIGNAL(out_INSERT_READ_RB ,_param->_nb_inst_insert,1 ); 94 #ifdef DEBUG 95 DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 96 #endif 97 DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 98 DELETE1_SIGNAL(out_INSERT_READ_RC ,_param->_nb_inst_insert,1 ); 99 #ifdef DEBUG 100 DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 101 #endif 102 DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 103 DELETE1_SIGNAL(out_INSERT_WRITE_RD ,_param->_nb_inst_insert,1 ); 104 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 105 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert,_param->_size_general_register ); 106 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert,_param->_size_general_register ); 107 DELETE1_SIGNAL(out_INSERT_WRITE_RE ,_param->_nb_inst_insert,1 ); 108 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 109 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert,_param->_size_special_register ); 110 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register ); 111 112 DELETE1_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire,1 ); 113 DELETE1_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire,1 ); 114 DELETE1_SIGNAL( in_RETIRE_FRONT_END_ID ,_param->_nb_inst_retire,_param->_size_front_end_id ); 115 DELETE1_SIGNAL( in_RETIRE_CONTEXT_ID ,_param->_nb_inst_retire,_param->_size_context_id ); 116 // DELETE1_SIGNAL( in_RETIRE_TYPE ,_param->_nb_inst_retire,_param->_size_type ); 117 // DELETE1_SIGNAL( in_RETIRE_OPERATION ,_param->_nb_inst_retire,_param->_size_operation ); 118 DELETE1_SIGNAL( in_RETIRE_USE_STORE_QUEUE ,_param->_nb_inst_retire,1 ); 119 DELETE1_SIGNAL( in_RETIRE_USE_LOAD_QUEUE ,_param->_nb_inst_retire,1 ); 120 DELETE1_SIGNAL( in_RETIRE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire,_param->_size_store_queue_ptr ); 121 DELETE1_SIGNAL( in_RETIRE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire,_param->_size_load_queue_ptr ); 122 // DELETE1_SIGNAL( in_RETIRE_READ_RA ,_param->_nb_inst_retire,1 ); 123 // DELETE1_SIGNAL( in_RETIRE_NUM_REG_RA_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 124 // DELETE1_SIGNAL( in_RETIRE_READ_RB ,_param->_nb_inst_retire,1 ); 125 // DELETE1_SIGNAL( in_RETIRE_NUM_REG_RB_PHY ,_param->_nb_inst_retire,_param->_size_general_register ); 126 // DELETE1_SIGNAL( in_RETIRE_READ_RC ,_param->_nb_inst_retire,1 ); 127 // DELETE1_SIGNAL( in_RETIRE_NUM_REG_RC_PHY ,_param->_nb_inst_retire,_param->_size_special_register ); 128 DELETE1_SIGNAL( in_RETIRE_WRITE_RD ,_param->_nb_inst_retire,1 ); 129 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_LOG ,_param->_nb_inst_retire,_param->_size_general_register_logic); 130 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_retire,_param->_size_general_register ); 131 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_retire,_param->_size_general_register ); 132 DELETE1_SIGNAL( in_RETIRE_WRITE_RE ,_param->_nb_inst_retire,1 ); 133 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_LOG ,_param->_nb_inst_retire,_param->_size_special_register_logic); 134 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_retire,_param->_size_special_register ); 135 DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_retire,_param->_size_special_register ); 136 137 DELETE2_SIGNAL( in_RETIRE_EVENT_VAL ,_param->_nb_front_end, _param->_nb_context[it1],1); 138 DELETE2_SIGNAL(out_RETIRE_EVENT_ACK ,_param->_nb_front_end, _param->_nb_context[it1],1); 139 DELETE2_SIGNAL( in_RETIRE_EVENT_STATE ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state); 140 // DELETE2_SIGNAL( in_RETIRE_EVENT_FLUSH ,_param->_nb_front_end, _param->_nb_context[it1],1); 141 DELETE2_SIGNAL( in_RETIRE_EVENT_STOP ,_param->_nb_front_end, _param->_nb_context[it1],1); 142 143 DELETE2_SIGNAL(in_SPR_READ_SR ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_spr); 149 DELETE2_SIGNAL (in_SPR_READ_SR ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_spr); 144 150 145 151 #ifdef DEBUG_TEST 146 DELETE0_SIGNAL ( in_INFO_ROB_EMPTY ,1);152 DELETE0_SIGNAL ( in_INFO_ROB_EMPTY ,1); 147 153 #endif 148 154 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h
r137 r139 82 82 public : SC_IN (Tcontrol_t ) *** in_RENAME_LAST_EVENT ;//[nb_front_end][nb_inst_decod] 83 83 public : SC_IN (Tcontrol_t ) *** in_RENAME_IS_DELAY_SLOT ;//[nb_front_end][nb_inst_decod] 84 public : SC_IN (Tcontrol_t ) *** in_RENAME_SAVE_RAT ;//[nb_front_end][nb_inst_decod] 84 85 #ifdef DEBUG 85 86 public : SC_IN (Taddress_t ) *** in_RENAME_ADDRESS ;//[nb_front_end][nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/Parameters.h
r138 r139 64 64 public : Tpriority_t _issue_priority ; 65 65 public : Tload_balancing_t _issue_load_balancing ; 66 // 67 // 66 //public : bool ** _table_routing ;//[nb_rename_unit][nb_inst_issue] 67 //public : bool ** _table_issue_type ;//[nb_inst_issue][nb_type] 68 68 // Reexecute 69 69 public : uint32_t _size_reexecute_queue ; … … 74 74 public : uint32_t * _nb_general_register ;//[nb_rename_unit] 75 75 public : uint32_t * _nb_special_register ;//[nb_rename_unit] 76 public : Trat_scheme_t * _rat_scheme ;//[nb_rename_unit] 76 77 public : uint32_t * _nb_reg_free ;//[nb_rename_unit] 77 78 public : uint32_t * _nb_rename_unit_bank ;//[nb_rename_unit] 78 // 79 //public : uint32_t * _size_read_counter ;//[nb_rename_unit] 79 80 public : uint32_t * _nb_load_store_queue ;//[nb_rename_unit] 80 81 public : uint32_t ** _size_store_queue ;//[nb_rename_unit][nb_load_store_queue] … … 94 95 public : uint32_t ** _rename_unit_nb_inst_decod ;//[nb_rename_unit][nb_front_end] 95 96 public : uint32_t *** _rename_unit_link_load_store_unit_with_thread ;//[nb_rename_unit][nb_front_end][nb_context] 97 public : uint32_t *** _rename_unit_nb_branch_speculated ;//[nb_rename_unit][nb_front_end][nb_context] 96 98 public : uint32_t * _rename_unit_size_front_end_id ;//[nb_rename_unit] 97 99 public : uint32_t * _rename_unit_size_context_id ;//[nb_rename_unit] 100 public : Trat_scheme_t * _commit_unit_rat_scheme ;//[nb_front_end] 98 101 public : uint32_t _max_nb_context ; 99 102 public : uint32_t _max_branch_speculated ; … … 171 174 uint32_t * nb_general_register ,//[nb_rename_unit] 172 175 uint32_t * nb_special_register ,//[nb_rename_unit] 176 Trat_scheme_t * rat_scheme ,//[nb_rename_unit] 173 177 uint32_t * nb_reg_free ,//[nb_rename_unit] 174 178 uint32_t * nb_rename_unit_bank ,//[nb_rename_unit] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp
r137 r139 1 1 2 /* 2 3 * $Id$ … … 71 72 _ALLOC2_SIGNAL_IN ( in_RENAME_LAST_EVENT ,"LAST_EVENT" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 72 73 _ALLOC2_SIGNAL_IN ( in_RENAME_IS_DELAY_SLOT ,"IS_DELAY_SLOT" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 74 _ALLOC2_SIGNAL_IN ( in_RENAME_SAVE_RAT ,"SAVE_RAT" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 73 75 #ifdef DEBUG 74 76 _ALLOC2_SIGNAL_IN ( in_RENAME_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); … … 458 460 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_IS_DELAY_SLOT", 459 461 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_IS_DELAY_SLOT"); 462 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_SAVE_RAT" , 463 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_SAVE_RAT" ); 460 464 #ifdef DEBUG 461 465 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_ADDRESS" , … … 530 534 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_IS_DELAY_SLOT" , 531 535 dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_IS_DELAY_SLOT" ); 532 // 533 // 536 // COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_HAVE_EVENT" , 537 // dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_HAVE_EVENT" ); 534 538 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_LAST_EVENT" , 535 539 dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_LAST_EVENT" ); … … 682 686 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_NUM_REG_RE_LOG" , 683 687 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RE_LOG" ); 688 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_RESTORE" , 689 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RESTORE" ); 690 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_RESTORE_RD_PHY_OLD" , 691 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RESTORE_RD_PHY_OLD" ); 692 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+ "_RESTORE_RE_PHY_OLD" , 693 dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RESTORE_RE_PHY_OLD" ); 684 694 } 685 695 … … 705 715 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_STATE", 706 716 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_STATE"); 707 // 708 // 717 // COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_FLUSH", 718 // dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_FLUSH"); 709 719 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_STOP", 710 720 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_STOP"); 721 if (_param->_rat_scheme[i] == RAT_DEPTH_SAVE) 722 { 723 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_TYPE", 724 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_TYPE"); 725 COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_DEPTH", 726 dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_DEPTH"); 727 } 711 728 } 712 729 x++; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp
r137 r139 41 41 DELETE2_SIGNAL( in_RENAME_LAST_EVENT ,_param->_nb_front_end,_param->_nb_inst_decod[it1],1 ); 42 42 DELETE2_SIGNAL( in_RENAME_IS_DELAY_SLOT ,_param->_nb_front_end,_param->_nb_inst_decod[it1],1 ); 43 DELETE2_SIGNAL( in_RENAME_SAVE_RAT ,_param->_nb_front_end,_param->_nb_inst_decod[it1],1 ); 43 44 #ifdef DEBUG 44 45 DELETE2_SIGNAL( in_RENAME_ADDRESS ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_instruction_address ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp
r138 r139 8 8 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/Parameters.h" 9 9 #include "Common/include/Max.h" 10 #include "Behavioural/include/Allocation.h" 10 11 11 12 namespace morpheo { … … 61 62 uint32_t * nb_general_register ,//[nb_rename_unit] 62 63 uint32_t * nb_special_register ,//[nb_rename_unit] 64 Trat_scheme_t * rat_scheme ,//[nb_rename_unit] 63 65 uint32_t * nb_reg_free ,//[nb_rename_unit] 64 66 uint32_t * nb_rename_unit_bank ,//[nb_rename_unit] … … 108 110 _issue_priority = issue_priority ; 109 111 _issue_load_balancing = issue_load_balancing ; 110 // 111 // 112 // _table_routing = table_routing ; 113 // _table_issue_type = table_issue_type ; 112 114 _size_reexecute_queue = size_reexecute_queue ; 113 115 _rename_select_priority = rename_select_priority ; … … 116 118 _nb_general_register = nb_general_register ; 117 119 _nb_special_register = nb_special_register ; 120 _rat_scheme = rat_scheme ; 118 121 _nb_reg_free = nb_reg_free ; 119 122 _nb_rename_unit_bank = nb_rename_unit_bank ; 120 // 123 // _size_read_counter = size_read_counter ; 121 124 _nb_load_store_queue = nb_load_store_queue ; 122 125 _size_store_queue = size_store_queue ; … … 147 150 _rename_unit_nb_inst_decod = new uint32_t * [_nb_rename_unit]; 148 151 _rename_unit_link_load_store_unit_with_thread = new uint32_t ** [_nb_rename_unit]; 152 _rename_unit_nb_branch_speculated = new uint32_t ** [_nb_rename_unit]; 149 153 150 154 for (uint32_t i=0; i<_nb_rename_unit; i++) … … 156 160 _rename_unit_nb_inst_decod [i] = new uint32_t [x]; 157 161 _rename_unit_link_load_store_unit_with_thread [i] = new uint32_t * [x]; 162 _rename_unit_nb_branch_speculated [i] = new uint32_t * [x]; 158 163 159 164 // Scan front_end list … … 164 169 _rename_unit_nb_inst_decod [i][j] = _nb_inst_decod [*it]; 165 170 _rename_unit_link_load_store_unit_with_thread [i][j] = new uint32_t [_nb_context [*it]]; 166 171 _rename_unit_nb_branch_speculated [i][j] = new uint32_t [_nb_context [*it]]; 172 167 173 for (uint32_t k=0; k<_nb_context [*it]; k++) 168 _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k]; 174 { 175 _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k]; 176 _rename_unit_nb_branch_speculated [i][j][k] = _nb_branch_speculated [*it][k]; 177 } 169 178 170 179 ++it; … … 188 197 } 189 198 } 199 200 ALLOC1(_commit_unit_rat_scheme,Trat_scheme_t,_nb_front_end); 201 202 for (uint32_t num_front_end=0; num_front_end<_nb_front_end; ++num_front_end) 203 _commit_unit_rat_scheme [num_front_end] = rat_scheme [_link_rename_unit_with_front_end [num_front_end]]; 190 204 191 205 _max_nb_context = max<uint32_t>(_nb_context,_nb_front_end); … … 242 256 _nb_general_register [i], 243 257 _nb_special_register [i], 258 _rat_scheme [i], 244 259 _nb_reg_free [i], 245 _nb_rename_unit_bank [i] //,246 // 247 260 _nb_rename_unit_bank [i], 261 // _size_read_counter [i] 262 _rename_unit_nb_branch_speculated [i] 248 263 ); 249 264 … … 268 283 size_general_register , 269 284 size_special_register , 285 _commit_unit_rat_scheme , 270 286 _issue_priority , 271 287 _issue_load_balancing , … … 396 412 { 397 413 for (uint32_t j=0; j<_nb_front_end; j++) 414 delete [] _rename_unit_nb_branch_speculated [i][j]; 415 delete [] _rename_unit_nb_branch_speculated [i]; 416 for (uint32_t j=0; j<_nb_front_end; j++) 398 417 delete [] _rename_unit_link_load_store_unit_with_thread [i][j]; 399 400 418 delete [] _rename_unit_link_load_store_unit_with_thread [i]; 401 419 delete [] _rename_unit_nb_inst_decod [i]; … … 403 421 } 404 422 423 delete [] _rename_unit_nb_branch_speculated ; 405 424 delete [] _rename_unit_link_load_store_unit_with_thread; 406 425 delete [] _rename_unit_nb_inst_decod ; … … 410 429 delete [] _rename_unit_size_context_id ; 411 430 delete [] _link_front_end_with_rename_unit ; 431 432 DELETE1(_commit_unit_rat_scheme,_nb_front_end); 412 433 413 434 for (uint32_t i=0; i<_nb_rename_unit; i++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters_print.cpp
r138 r139 76 76 str+= toString(MSG_INFORMATION)+" * nb_special_register ["+toString(i)+"] : "+toString<uint32_t >(_nb_special_register [i])+"\n";//[nb_rename_unit] 77 77 for (uint32_t i=0; i<_nb_rename_unit; ++i) 78 str+= toString(MSG_INFORMATION)+" * rat_scheme ["+toString(i)+"] : "+toString<uint32_t >(_rat_scheme [i])+"\n";//[nb_rename_unit] 79 for (uint32_t i=0; i<_nb_rename_unit; ++i) 78 80 str+= toString(MSG_INFORMATION)+" * nb_reg_free ["+toString(i)+"] : "+toString<uint32_t >(_nb_reg_free [i])+"\n";//[nb_rename_unit] 79 81 for (uint32_t i=0; i<_nb_rename_unit; ++i) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/include/Parameters.h
r138 r139 68 68 public : uint32_t * _nb_general_register ;//[nb_rename_bloc] 69 69 public : uint32_t * _nb_special_register ;//[nb_rename_bloc] 70 public : Trat_scheme_t * _rat_scheme ;//[nb_rename_bloc] 70 71 public : uint32_t * _nb_reg_free ;//[nb_rename_bloc] 71 72 public : uint32_t * _nb_rename_unit_bank ;//[nb_rename_bloc] … … 261 262 public : uint32_t ** _ooo_engine_nb_general_register ;//[nb_ooo_engine][nb_rename_unit] 262 263 public : uint32_t ** _ooo_engine_nb_special_register ;//[nb_ooo_engine][nb_rename_unit] 264 public : Trat_scheme_t ** _ooo_engine_rat_scheme ;//[nb_ooo_engine][nb_rename_unit] 263 265 public : uint32_t ** _ooo_engine_nb_reg_free ;//[nb_ooo_engine][nb_rename_unit] 264 266 public : uint32_t ** _ooo_engine_nb_rename_unit_bank ;//[nb_ooo_engine][nb_rename_unit] … … 405 407 uint32_t * nb_general_register ,//[nb_rename_bloc] 406 408 uint32_t * nb_special_register ,//[nb_rename_bloc] 409 Trat_scheme_t * rat_scheme ,//[nb_rename_bloc] 407 410 uint32_t * nb_reg_free ,//[nb_rename_bloc] 408 411 uint32_t * nb_rename_unit_bank ,//[nb_rename_bloc] 409 // 412 //uint32_t * size_read_counter ,//[nb_rename_bloc] 410 413 411 414 // Read bloc -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Core_allocation.cpp
r137 r139 298 298 // out_DECOD_NO_EXECUTE - ooo_engine. in_RENAME_NO_EXECUTE 299 299 // out_DECOD_IS_DELAY_SLOT - ooo_engine. in_RENAME_IS_DELAY_SLOT 300 // out_DECOD_SAVE_RAT - ooo_engine. in_RENAME_SAVE_RAT 300 301 // out_DECOD_ADDRESS - ooo_engine. in_RENAME_ADDRESS 301 302 // out_DECOD_ADDRESS_NEXT - ooo_engine. in_RENAME_ADDRESS_NEXT … … 478 479 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(j)+"_"+toString(k)+"_IS_DELAY_SLOT", 479 480 dest,"out_DECOD_" +toString(k)+"_IS_DELAY_SLOT"); 481 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(j)+"_"+toString(k)+"_SAVE_RAT" , 482 dest,"out_DECOD_" +toString(k)+"_SAVE_RAT" ); 480 483 #ifdef DEBUG 481 484 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(j)+"_"+toString(k)+"_ADDRESS" , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Parameters.cpp
r138 r139 117 117 uint32_t * nb_general_register ,//[nb_rename_bloc] 118 118 uint32_t * nb_special_register ,//[nb_rename_bloc] 119 Trat_scheme_t * rat_scheme ,//[nb_rename_bloc] 119 120 uint32_t * nb_reg_free ,//[nb_rename_bloc] 120 121 uint32_t * nb_rename_unit_bank ,//[nb_rename_bloc] … … 281 282 _nb_general_register = nb_general_register ; 282 283 _nb_special_register = nb_special_register ; 284 _rat_scheme = rat_scheme ; 283 285 _nb_reg_free = nb_reg_free ; 284 286 _nb_rename_unit_bank = nb_rename_unit_bank ; 285 // 287 // _size_read_counter = size_read_counter ; 286 288 287 289 _nb_read_bloc = nb_read_bloc ; … … 1059 1061 ALLOC2(_ooo_engine_nb_general_register ,uint32_t ,_nb_ooo_engine,_nb_rename_unit[it1]); 1060 1062 ALLOC2(_ooo_engine_nb_special_register ,uint32_t ,_nb_ooo_engine,_nb_rename_unit[it1]); 1063 ALLOC2(_ooo_engine_rat_scheme ,Trat_scheme_t ,_nb_ooo_engine,_nb_rename_unit[it1]); 1061 1064 ALLOC2(_ooo_engine_nb_reg_free ,uint32_t ,_nb_ooo_engine,_nb_rename_unit[it1]); 1062 1065 ALLOC2(_ooo_engine_nb_rename_unit_bank ,uint32_t ,_nb_ooo_engine,_nb_rename_unit[it1]); … … 1082 1085 _ooo_engine_nb_general_register [i][j] = _nb_general_register [num_rename_bloc]; 1083 1086 _ooo_engine_nb_special_register [i][j] = _nb_special_register [num_rename_bloc]; 1087 _ooo_engine_rat_scheme [i][j] = _rat_scheme [num_rename_bloc]; 1084 1088 _ooo_engine_nb_reg_free [i][j] = _nb_reg_free [num_rename_bloc]; 1085 1089 _ooo_engine_nb_rename_unit_bank [i][j] = _nb_rename_unit_bank [num_rename_bloc]; … … 2155 2159 _issue_priority [i], 2156 2160 _issue_load_balancing [i], 2157 // 2158 // 2161 // _ooo_engine_table_routing [i], 2162 // _ooo_engine_table_issue_type [i], 2159 2163 _size_reexecute_queue [i], 2160 2164 _ooo_engine_rename_select_priority [i], … … 2163 2167 _ooo_engine_nb_general_register [i], 2164 2168 _ooo_engine_nb_special_register [i], 2169 _ooo_engine_rat_scheme [i], 2165 2170 _ooo_engine_nb_reg_free [i], 2166 2171 _ooo_engine_nb_rename_unit_bank [i], … … 2430 2435 DELETE2(_ooo_engine_nb_rename_unit_bank ,_nb_ooo_engine,_nb_rename_unit[it1]); 2431 2436 DELETE2(_ooo_engine_nb_reg_free ,_nb_ooo_engine,_nb_rename_unit[it1]); 2437 DELETE2(_ooo_engine_rat_scheme ,_nb_ooo_engine,_nb_rename_unit[it1]); 2432 2438 DELETE2(_ooo_engine_nb_special_register ,_nb_ooo_engine,_nb_rename_unit[it1]); 2433 2439 DELETE2(_ooo_engine_nb_general_register ,_nb_ooo_engine,_nb_rename_unit[it1]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Parameters_print.cpp
r138 r139 81 81 str+= toString(MSG_INFORMATION)+" * nb_general_register : "+toString<uint32_t >(_nb_general_register [i])+"\n"; 82 82 str+= toString(MSG_INFORMATION)+" * nb_special_register : "+toString<uint32_t >(_nb_special_register [i])+"\n"; 83 str+= toString(MSG_INFORMATION)+" * rat_scheme : "+toString<Trat_scheme_t >(_rat_scheme [i])+"\n"; 83 84 str+= toString(MSG_INFORMATION)+" * nb_reg_free : "+toString<uint32_t >(_nb_reg_free [i])+"\n"; 84 85 str+= toString(MSG_INFORMATION)+" * nb_rename_unit_bank : "+toString<uint32_t >(_nb_rename_unit_bank [i])+"\n"; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/mkf.info
r137 r139 5 5 target_dep RegisterFile_Monolithic_0.prj RegisterFile_Monolithic_0_Pack.vhdl RegisterFile_Monolithic_0.vhdl 6 6 7 # RegisterFile_Monolithic_18 target_dep all RegisterFile_Monolithic_1.ngc9 target_dep RegisterFile_Monolithic_1.ngc RegisterFile_Monolithic_1.prj10 target_dep RegisterFile_Monolithic_1.prj RegisterFile_Monolithic_1_Pack.vhdl RegisterFile_Monolithic_1.vhdl11 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/mkf.info
r138 r139 1 1 2 # RegisterFile_Multi_Banked_0 03 target_dep all RegisterFile_Multi_Banked_0 0.ngc4 target_dep RegisterFile_Multi_Banked_0 0.ngc RegisterFile_Multi_Banked_00.prj5 target_dep RegisterFile_Multi_Banked_0 0.prj RegisterFile_Multi_Banked_00_bank_Pack.vhdl RegisterFile_Multi_Banked_00_bank.vhdl RegisterFile_Multi_Banked_00_Pack.vhdl RegisterFile_Multi_Banked_00_select_3_ports_Pack.vhdl RegisterFile_Multi_Banked_00_select_3_ports.vhdl RegisterFile_Multi_Banked_00.vhdl2 # RegisterFile_Multi_Banked_0 3 target_dep all RegisterFile_Multi_Banked_0.ngc 4 target_dep RegisterFile_Multi_Banked_0.ngc RegisterFile_Multi_Banked_0.prj 5 target_dep RegisterFile_Multi_Banked_0.prj RegisterFile_Multi_Banked_0_bank_Pack.vhdl RegisterFile_Multi_Banked_0_bank.vhdl RegisterFile_Multi_Banked_0_Pack.vhdl RegisterFile_Multi_Banked_0_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_0_select_1_ports.vhdl RegisterFile_Multi_Banked_0_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_0_select_2_ports.vhdl RegisterFile_Multi_Banked_0.vhdl 6 6 7 # RegisterFile_Multi_Banked_ 018 target_dep all RegisterFile_Multi_Banked_ 01.ngc9 target_dep RegisterFile_Multi_Banked_ 01.ngc RegisterFile_Multi_Banked_01.prj10 target_dep RegisterFile_Multi_Banked_ 01.prj RegisterFile_Multi_Banked_01_bank_Pack.vhdl RegisterFile_Multi_Banked_01_bank.vhdl RegisterFile_Multi_Banked_01_Pack.vhdl RegisterFile_Multi_Banked_01_select_3_ports_Pack.vhdl RegisterFile_Multi_Banked_01_select_3_ports.vhdl RegisterFile_Multi_Banked_01.vhdl7 # RegisterFile_Multi_Banked_1 8 target_dep all RegisterFile_Multi_Banked_1.ngc 9 target_dep RegisterFile_Multi_Banked_1.ngc RegisterFile_Multi_Banked_1.prj 10 target_dep RegisterFile_Multi_Banked_1.prj RegisterFile_Multi_Banked_1_bank_Pack.vhdl RegisterFile_Multi_Banked_1_bank.vhdl RegisterFile_Multi_Banked_1_Pack.vhdl RegisterFile_Multi_Banked_1_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_1_select_1_ports.vhdl RegisterFile_Multi_Banked_1_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_1_select_2_ports.vhdl RegisterFile_Multi_Banked_1.vhdl 11 11 12 # RegisterFile_Multi_Banked_0213 target_dep all RegisterFile_Multi_Banked_02.ngc14 target_dep RegisterFile_Multi_Banked_02.ngc RegisterFile_Multi_Banked_02.prj15 target_dep RegisterFile_Multi_Banked_02.prj RegisterFile_Multi_Banked_02_bank_Pack.vhdl RegisterFile_Multi_Banked_02_bank.vhdl RegisterFile_Multi_Banked_02_Pack.vhdl RegisterFile_Multi_Banked_02_select_4_ports_Pack.vhdl RegisterFile_Multi_Banked_02_select_4_ports.vhdl RegisterFile_Multi_Banked_02.vhdl16 17 # RegisterFile_Multi_Banked_0318 target_dep all RegisterFile_Multi_Banked_03.ngc19 target_dep RegisterFile_Multi_Banked_03.ngc RegisterFile_Multi_Banked_03.prj20 target_dep RegisterFile_Multi_Banked_03.prj RegisterFile_Multi_Banked_03_bank_Pack.vhdl RegisterFile_Multi_Banked_03_bank.vhdl RegisterFile_Multi_Banked_03_Pack.vhdl RegisterFile_Multi_Banked_03_select_4_ports_Pack.vhdl RegisterFile_Multi_Banked_03_select_4_ports.vhdl RegisterFile_Multi_Banked_03.vhdl21 22 # RegisterFile_Multi_Banked_0423 target_dep all RegisterFile_Multi_Banked_04.ngc24 target_dep RegisterFile_Multi_Banked_04.ngc RegisterFile_Multi_Banked_04.prj25 target_dep RegisterFile_Multi_Banked_04.prj RegisterFile_Multi_Banked_04_bank_Pack.vhdl RegisterFile_Multi_Banked_04_bank.vhdl RegisterFile_Multi_Banked_04_Pack.vhdl RegisterFile_Multi_Banked_04_select_6_ports_Pack.vhdl RegisterFile_Multi_Banked_04_select_6_ports.vhdl RegisterFile_Multi_Banked_04.vhdl26 27 # RegisterFile_Multi_Banked_0528 target_dep all RegisterFile_Multi_Banked_05.ngc29 target_dep RegisterFile_Multi_Banked_05.ngc RegisterFile_Multi_Banked_05.prj30 target_dep RegisterFile_Multi_Banked_05.prj RegisterFile_Multi_Banked_05_bank_Pack.vhdl RegisterFile_Multi_Banked_05_bank.vhdl RegisterFile_Multi_Banked_05_Pack.vhdl RegisterFile_Multi_Banked_05_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_05_select_2_ports.vhdl RegisterFile_Multi_Banked_05.vhdl31 32 # RegisterFile_Multi_Banked_0633 target_dep all RegisterFile_Multi_Banked_06.ngc34 target_dep RegisterFile_Multi_Banked_06.ngc RegisterFile_Multi_Banked_06.prj35 target_dep RegisterFile_Multi_Banked_06.prj RegisterFile_Multi_Banked_06_bank_Pack.vhdl RegisterFile_Multi_Banked_06_bank.vhdl RegisterFile_Multi_Banked_06_Pack.vhdl RegisterFile_Multi_Banked_06_select_6_ports_Pack.vhdl RegisterFile_Multi_Banked_06_select_6_ports.vhdl RegisterFile_Multi_Banked_06.vhdl36 37 # RegisterFile_Multi_Banked_0738 target_dep all RegisterFile_Multi_Banked_07.ngc39 target_dep RegisterFile_Multi_Banked_07.ngc RegisterFile_Multi_Banked_07.prj40 target_dep RegisterFile_Multi_Banked_07.prj RegisterFile_Multi_Banked_07_bank_Pack.vhdl RegisterFile_Multi_Banked_07_bank.vhdl RegisterFile_Multi_Banked_07_Pack.vhdl RegisterFile_Multi_Banked_07_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_07_select_1_ports.vhdl RegisterFile_Multi_Banked_07_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_07_select_2_ports.vhdl RegisterFile_Multi_Banked_07.vhdl41 42 # RegisterFile_Multi_Banked_0843 target_dep all RegisterFile_Multi_Banked_08.ngc44 target_dep RegisterFile_Multi_Banked_08.ngc RegisterFile_Multi_Banked_08.prj45 target_dep RegisterFile_Multi_Banked_08.prj RegisterFile_Multi_Banked_08_bank_Pack.vhdl RegisterFile_Multi_Banked_08_bank.vhdl RegisterFile_Multi_Banked_08_Pack.vhdl RegisterFile_Multi_Banked_08_select_11_ports_Pack.vhdl RegisterFile_Multi_Banked_08_select_11_ports.vhdl RegisterFile_Multi_Banked_08_select_22_ports_Pack.vhdl RegisterFile_Multi_Banked_08_select_22_ports.vhdl RegisterFile_Multi_Banked_08.vhdl46 47 # RegisterFile_Multi_Banked_0948 target_dep all RegisterFile_Multi_Banked_09.ngc49 target_dep RegisterFile_Multi_Banked_09.ngc RegisterFile_Multi_Banked_09.prj50 target_dep RegisterFile_Multi_Banked_09.prj RegisterFile_Multi_Banked_09_bank_Pack.vhdl RegisterFile_Multi_Banked_09_bank.vhdl RegisterFile_Multi_Banked_09_Pack.vhdl RegisterFile_Multi_Banked_09_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_09_select_2_ports.vhdl RegisterFile_Multi_Banked_09_select_3_ports_Pack.vhdl RegisterFile_Multi_Banked_09_select_3_ports.vhdl RegisterFile_Multi_Banked_09_select_4_ports_Pack.vhdl RegisterFile_Multi_Banked_09_select_4_ports.vhdl RegisterFile_Multi_Banked_09.vhdl51 52 # RegisterFile_Multi_Banked_1053 target_dep all RegisterFile_Multi_Banked_10.ngc54 target_dep RegisterFile_Multi_Banked_10.ngc RegisterFile_Multi_Banked_10.prj55 target_dep RegisterFile_Multi_Banked_10.prj RegisterFile_Multi_Banked_10_bank_Pack.vhdl RegisterFile_Multi_Banked_10_bank.vhdl RegisterFile_Multi_Banked_10_Pack.vhdl RegisterFile_Multi_Banked_10_select_11_ports_Pack.vhdl RegisterFile_Multi_Banked_10_select_11_ports.vhdl RegisterFile_Multi_Banked_10.vhdl56 57 # RegisterFile_Multi_Banked_1158 target_dep all RegisterFile_Multi_Banked_11.ngc59 target_dep RegisterFile_Multi_Banked_11.ngc RegisterFile_Multi_Banked_11.prj60 target_dep RegisterFile_Multi_Banked_11.prj RegisterFile_Multi_Banked_11_bank_Pack.vhdl RegisterFile_Multi_Banked_11_bank.vhdl RegisterFile_Multi_Banked_11_Pack.vhdl RegisterFile_Multi_Banked_11_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_11_select_1_ports.vhdl RegisterFile_Multi_Banked_11_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_11_select_2_ports.vhdl RegisterFile_Multi_Banked_11.vhdl61 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h
r137 r139 413 413 } while (0) 414 414 415 #define ALLOC1_SIGNAL_IN ( sig, name, type, size)\415 #define ALLOC1_SIGNAL_IN_COND( sig, name, type, size, cond) \ 416 416 do \ 417 417 { \ … … 419 419 for (uint32_t it1=0; it1<iterator_1; it1++) \ 420 420 { \ 421 if (size > 0) \ 422 { \ 423 sig [it1] = interface[it1]->set_signal_in <type> (name, size); \ 424 } \ 425 else \ 426 { \ 427 PRINT_SIZE_NUL(_component,interface[it1],name); \ 428 } \ 429 } \ 430 } while (0) 431 432 #define ALLOC1_SIGNAL_OUT(sig, name, type, size) \ 421 if (cond) \ 422 { \ 423 if (size > 0) \ 424 { \ 425 sig [it1] = interface[it1]->set_signal_in <type> (name, size); \ 426 } \ 427 else \ 428 { \ 429 PRINT_SIZE_NUL(_component,interface[it1],name); \ 430 } \ 431 } \ 432 } \ 433 } while (0) 434 435 #define ALLOC1_SIGNAL_OUT_COND(sig, name, type, size, cond) \ 433 436 do \ 434 437 { \ … … 436 439 for (uint32_t it1=0; it1<iterator_1; it1++) \ 437 440 { \ 438 if (size > 0) \ 439 { \ 440 sig [it1] = interface[it1]->set_signal_out<type> (name, size); \ 441 } \ 442 else \ 443 { \ 444 PRINT_SIZE_NUL(_component,interface[it1],name); \ 445 } \ 446 } \ 447 } while (0) 448 449 #define DELETE1_SIGNAL(sig, x1, size) \ 450 do \ 451 { \ 452 for (uint32_t it1=0; it1<x1; it1++) \ 453 { \ 454 if (size > 0) \ 455 { \ 456 delete sig[it1]; \ 441 if (cond) \ 442 { \ 443 if (size > 0) \ 444 { \ 445 sig [it1] = interface[it1]->set_signal_out<type> (name, size); \ 446 } \ 447 else \ 448 { \ 449 PRINT_SIZE_NUL(_component,interface[it1],name); \ 450 } \ 451 } \ 452 } \ 453 } while (0) 454 455 #define ALLOC1_SIGNAL_IN( sig, name, type, size) ALLOC1_SIGNAL_IN_COND( sig, name, type, size,true) 456 #define ALLOC1_SIGNAL_OUT(sig, name, type, size) ALLOC1_SIGNAL_OUT_COND(sig, name, type, size,true) 457 458 #define DELETE1_SIGNAL_COND(sig, x1, size, cond) \ 459 do \ 460 { \ 461 for (uint32_t it1=0; it1<x1; it1++) \ 462 { \ 463 if (cond) \ 464 { \ 465 if (size > 0) \ 466 { \ 467 delete sig[it1]; \ 468 } \ 457 469 } \ 458 470 } \ 459 471 delete [] sig; \ 460 472 } while (0) 473 474 #define DELETE1_SIGNAL(sig, x1, size) DELETE1_SIGNAL_COND(sig, x1, size, true) 461 475 462 476 #define ALLOC1_FOREIGN_SIGNAL_IN(sig, interface, name, type, size,x1) \ … … 661 675 } while (0) 662 676 663 #define _ALLOC2_SIGNAL_IN ( sig, name, type, size, x1, x2)\677 #define _ALLOC2_SIGNAL_IN_COND( sig, name, type, size, x1, x2, cond) \ 664 678 do \ 665 679 { \ … … 670 684 for (uint32_t it2=0; it2<x2; it2++) \ 671 685 { \ 672 if (size > 0) \ 673 { \ 674 sig [it1][it2] = interface[it1][it2]->set_signal_in <type> (name, size); \ 675 } \ 676 else \ 677 { \ 678 PRINT_SIZE_NUL(_component,interface[it1][it2],name); \ 679 } \ 680 } \ 681 } \ 682 } while (0) 683 684 #define _ALLOC2_SIGNAL_OUT( sig, name, type, size, x1, x2) \ 686 if (cond) \ 687 { \ 688 if (size > 0) \ 689 { \ 690 sig [it1][it2] = interface[it1][it2]->set_signal_in <type> (name, size); \ 691 } \ 692 else \ 693 { \ 694 PRINT_SIZE_NUL(_component,interface[it1][it2],name); \ 695 } \ 696 } \ 697 } \ 698 } \ 699 } while (0) 700 701 #define _ALLOC2_SIGNAL_OUT_COND( sig, name, type, size, x1, x2, cond) \ 685 702 do \ 686 703 { \ … … 691 708 for (uint32_t it2=0; it2<x2; it2++) \ 692 709 { \ 693 if (size > 0) \ 694 { \ 695 sig [it1][it2] = interface[it1][it2]->set_signal_out <type> (name, size); \ 696 } \ 697 else \ 698 { \ 699 PRINT_SIZE_NUL(_component,interface[it1][it2],name); \ 700 } \ 701 } \ 702 } \ 703 } while (0) 704 705 #define ALLOC2_VAL_ACK_IN( sig, name, type ) _ALLOC2_VAL_ACK_IN( sig, name, type , iterator_1, iterator_2) 706 #define ALLOC2_VAL_ACK_OUT(sig, name, type ) _ALLOC2_VAL_ACK_OUT(sig, name, type , iterator_1, iterator_2) 707 #define ALLOC2_VALACK_IN( sig, type ) _ALLOC2_VALACK_IN( sig, type , iterator_1, iterator_2) 708 #define ALLOC2_VALACK_OUT( sig, type ) _ALLOC2_VALACK_OUT( sig, type , iterator_1, iterator_2) 709 #define ALLOC2_SIGNAL_IN( sig, name, type, size) _ALLOC2_SIGNAL_IN( sig, name, type, size, iterator_1, iterator_2) 710 #define ALLOC2_SIGNAL_OUT( sig, name, type, size) _ALLOC2_SIGNAL_OUT( sig, name, type, size, iterator_1, iterator_2) 711 712 #define DELETE2_SIGNAL(sig, x1,x2, size) \ 713 do \ 714 { \ 715 for (uint32_t it1=0; it1<x1; it1++) \ 716 { \ 717 for (uint32_t it2=0; it2<x2; it2++) \ 718 { \ 719 if (size > 0) \ 720 { \ 721 delete sig[it1][it2]; \ 710 if (cond) \ 711 { \ 712 if (size > 0) \ 713 { \ 714 sig [it1][it2] = interface[it1][it2]->set_signal_out <type> (name, size); \ 715 } \ 716 else \ 717 { \ 718 PRINT_SIZE_NUL(_component,interface[it1][it2],name); \ 719 } \ 720 } \ 721 } \ 722 } \ 723 } while (0) 724 725 #define _ALLOC2_SIGNAL_IN( sig, name, type, size, x1, x2) _ALLOC2_SIGNAL_IN_COND( sig, name, type, size, x1, x2,true) 726 #define _ALLOC2_SIGNAL_OUT(sig, name, type, size, x1, x2) _ALLOC2_SIGNAL_OUT_COND(sig, name, type, size, x1, x2,true) 727 728 #define ALLOC2_VAL_ACK_IN( sig, name, type ) _ALLOC2_VAL_ACK_IN( sig, name, type , iterator_1, iterator_2) 729 #define ALLOC2_VAL_ACK_OUT(sig, name, type ) _ALLOC2_VAL_ACK_OUT(sig, name, type , iterator_1, iterator_2) 730 #define ALLOC2_VALACK_IN( sig, type ) _ALLOC2_VALACK_IN( sig, type , iterator_1, iterator_2) 731 #define ALLOC2_VALACK_OUT( sig, type ) _ALLOC2_VALACK_OUT( sig, type , iterator_1, iterator_2) 732 #define ALLOC2_SIGNAL_IN( sig, name, type, size) _ALLOC2_SIGNAL_IN( sig, name, type, size, iterator_1, iterator_2) 733 #define ALLOC2_SIGNAL_OUT( sig, name, type, size) _ALLOC2_SIGNAL_OUT( sig, name, type, size, iterator_1, iterator_2) 734 735 #define DELETE2_SIGNAL_COND(sig, x1,x2, size, cond) \ 736 do \ 737 { \ 738 for (uint32_t it1=0; it1<x1; it1++) \ 739 { \ 740 for (uint32_t it2=0; it2<x2; it2++) \ 741 { \ 742 if (cond) \ 743 { \ 744 if (size > 0) \ 745 { \ 746 delete sig[it1][it2]; \ 747 } \ 722 748 } \ 723 749 } \ … … 726 752 delete [] sig; \ 727 753 } while (0) 754 755 #define DELETE2_SIGNAL(sig, x1,x2, size) DELETE2_SIGNAL_COND(sig, x1,x2, size,true) 728 756 729 757 #define ALLOC2_FOREIGN_SIGNAL_IN( sig, interface, name, type, size, x1, x2) \ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Component.h
r131 r139 131 131 132 132 public : bool test_map (bool recursive=true); 133 private : bool test_map (uint32_t depth,bool recursive);133 //private : bool test_map (bool recursive); 134 134 135 135 public : void * get_sc_signal (std::string component, -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Entity.h
r113 r139 79 79 #endif 80 80 81 public : bool test_map ( uint32_t depth,bool top_level, bool is_behavioural);82 // 81 public : bool test_map (bool top_level, bool is_behavioural); 82 //public : bool test_equi (uint32_t depth); 83 83 84 84 #ifdef POSITION -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h
r135 r139 248 248 #endif 249 249 250 public : bool test_map (uint32_t depth, bool top_level, bool is_behavioural); 250 public : bool test_map (std::string name_interfaces, 251 bool top_level, 252 bool is_behavioural); 251 253 //public : bool test_equi (uint32_t depth); 252 254 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h
r88 r139 80 80 #endif 81 81 82 public : bool test_map ( uint32_t depth,bool top_level, bool is_behavioural);83 // 82 public : bool test_map (bool top_level, bool is_behavioural); 83 //public : bool test_equi (uint32_t depth); 84 84 85 85 public : friend std::ostream& operator<< (std::ostream& output_stream, -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h
r138 r139 96 96 public : bool presence_testbench (void); 97 97 98 public : bool test_map (uint32_t depth, bool top_level, bool is_behavioural); 98 public : bool test_map (std::string name_interface, 99 bool top_level, 100 bool is_behavioural); 99 101 //public : bool test_equi (uint32_t depth); 100 102 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat.h
r138 r139 37 37 typedef struct 38 38 { 39 39 // bool each_cycle; 40 40 counter_t * variable; 41 41 Stat_binary_tree * expression; … … 54 54 private: std::map<std::string, var_t> * _list_operand; 55 55 // Liste chaîné des expressions 56 private: std::list<expr_t> * _list_expr; 56 private: std::list<expr_t> * _list_expr_per_cycle; 57 private: std::list<expr_t> * _list_expr_per_period; 57 58 // List chaîné des "counters" (seulement pour la désallocation) 58 59 private: std::list<counters_t*> * _list_counters; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Types.h
r138 r139 120 120 } Tmanage_event_t; 121 121 122 typedef enum 123 { 124 RAT_NO_SAVE , // Rat without save 125 RAT_ONE_SAVE , // Rat with one save 126 RAT_DEPTH_SAVE // RAT with multiple save (depth) 127 } Trat_scheme_t; 128 122 129 //--------------------------------------------------[ instruction ]----- 123 130 class instruction_t … … 307 314 }; 308 315 316 template<> inline std::string toString<morpheo::behavioural::Trat_scheme_t>(const morpheo::behavioural::Trat_scheme_t& x) 317 { 318 switch (x) 319 { 320 case morpheo::behavioural::RAT_NO_SAVE : return "rat_no_save" ; break; 321 case morpheo::behavioural::RAT_ONE_SAVE : return "rat_one_save" ; break; 322 case morpheo::behavioural::RAT_DEPTH_SAVE : return "rat_depth_save"; break; 323 default : return "" ; break; 324 } 325 }; 326 327 template<> inline morpheo::behavioural::Trat_scheme_t fromString<morpheo::behavioural::Trat_scheme_t>(const std::string& x) 328 { 329 if ((x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::RAT_NO_SAVE ))) == 0) or 330 (x.compare(toString( morpheo::behavioural::RAT_NO_SAVE )) == 0)) 331 return morpheo::behavioural::RAT_NO_SAVE; 332 333 if ((x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::RAT_ONE_SAVE ))) == 0) or 334 (x.compare(toString( morpheo::behavioural::RAT_ONE_SAVE )) == 0)) 335 return morpheo::behavioural::RAT_ONE_SAVE; 336 337 if ((x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::RAT_DEPTH_SAVE))) == 0) or 338 (x.compare(toString( morpheo::behavioural::RAT_DEPTH_SAVE )) == 0)) 339 return morpheo::behavioural::RAT_DEPTH_SAVE; 340 341 throw (ERRORMORPHEO ("fromString","Unknow string : \""+x+"\"")); 342 }; 343 309 344 }; // end namespace morpheo 310 345 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp
r97 r139 14 14 #undef FUNCTION 15 15 #define FUNCTION "Component::test_map" 16 // bool Component::test_map (bool recursive) 17 // { 18 // log_printf(INFO,Behavioural,FUNCTION, "Test port map and interface."); 19 // return test_map (0, recursive); 20 // } 21 16 22 bool Component::test_map (bool recursive) 17 {18 log_printf(INFO,Behavioural,FUNCTION, "Test port map and interface.");19 return test_map (0, recursive);20 }21 22 bool Component::test_map (uint32_t depth, bool recursive)23 23 { 24 24 log_printf(FUNC,Behavioural,FUNCTION,"Begin"); 25 25 26 std::string tab = morpheo::tab(depth);26 // std::string tab = morpheo::tab(depth); 27 27 std::string name = _entity->get_name(); 28 28 bool test_ok = true; 29 29 30 30 bool is_behavioural = _list_component->empty (); 31 if (is_behavioural)32 {33 34 }35 else36 {37 38 }31 // if (is_behavioural) 32 // { 33 // log_printf(INFO,Interface,FUNCTION, "%s* Component \"%s\" is a behavioural description",tab.c_str(),name.c_str()); 34 // } 35 // else 36 // { 37 // log_printf(INFO,Interface,FUNCTION, "%s* Component \"%s\" is a structural description",tab.c_str(),name.c_str()); 38 // } 39 39 40 40 41 41 // log_printf(INFO,Behavioural,FUNCTION, "%s* Test port I/O",tab.c_str()); 42 42 43 test_ok &= _entity->test_map( depth+1,true,is_behavioural);43 test_ok &= _entity->test_map(true,is_behavioural); 44 44 45 45 // log_printf(INFO,Behavioural,FUNCTION, "%s* Test all internal component",tab.c_str()); … … 50 50 if (((*i)->_instance & INSTANCE_COMPONENT) != 0) 51 51 { 52 test_ok &= (*i)->_entity->test_map( depth+1,false,is_behavioural);52 test_ok &= (*i)->_entity->test_map(false,is_behavioural); 53 53 if (recursive) 54 54 try 55 55 { 56 test_ok &= (*i)->_component->test_map( depth+1,recursive);56 test_ok &= (*i)->_component->test_map(recursive); 57 57 } 58 58 catch (morpheo::ErrorMorpheo & error) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp
r94 r139 15 15 #undef FUNCTION 16 16 #define FUNCTION "Entity::test_map" 17 bool Entity::test_map ( uint32_t depth,bool top_level, bool is_behavioural)17 bool Entity::test_map (bool top_level, bool is_behavioural) 18 18 { 19 19 log_printf(FUNC,Behavioural,FUNCTION,"Begin"); 20 20 21 std::string tab=morpheo::tab(depth);21 // std::string tab=morpheo::tab(depth); 22 22 23 log_printf(INFO,Interface,FUNCTION,"%s* Entity \"%s\"",tab.c_str(),_name.c_str());23 // log_printf(INFO,Interface,FUNCTION,"%s* Entity \"%s\"",tab.c_str(),_name.c_str()); 24 24 25 bool _return = _interfaces->test_map(depth+1,top_level, is_behavioural); 26 27 #ifndef DEBUG 28 if (_return == false) 29 { 30 std::cerr << "In entity \"" << _name << "\" (type : \"" << _type << "\"), a lot of port is not connected !" << std::endl; 31 } 32 #endif 25 bool _return = _interfaces->test_map(top_level, is_behavioural); 33 26 34 27 log_printf(FUNC,Behavioural,FUNCTION,"End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp
r94 r139 14 14 #undef FUNCTION 15 15 #define FUNCTION "Interface::test_map" 16 bool Interface::test_map ( uint32_t depth, bool top_level, bool is_behavioural)16 bool Interface::test_map (std::string name_interfaces, bool top_level, bool is_behavioural) 17 17 { 18 18 log_printf(FUNC,Behavioural,FUNCTION,"Begin"); 19 19 20 std::string tab = morpheo::tab(depth);20 // std::string tab = morpheo::tab(depth); 21 21 bool _return = true; 22 22 23 log_printf(INFO,Interface,FUNCTION, "%s* Interface \"%s\"",tab.c_str(),_name.c_str());23 // log_printf(INFO,Interface,FUNCTION, "%s* Interface \"%s\"",tab.c_str(),_name.c_str()); 24 24 25 25 for (std::list<Signal*>::iterator i = _list_signal->begin(); 26 26 i != _list_signal->end(); 27 27 ++i) 28 _return &= (*i)->test_map( depth+1,top_level, is_behavioural);28 _return &= (*i)->test_map(name_interfaces+"."+_name,top_level, is_behavioural); 29 29 30 30 log_printf(FUNC,Behavioural,FUNCTION,"End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp
r94 r139 14 14 #undef FUNCTION 15 15 #define FUNCTION "Interfaces::test_map" 16 bool Interfaces::test_map ( uint32_t depth,bool top_level, bool is_behavioural)16 bool Interfaces::test_map (bool top_level, bool is_behavioural) 17 17 { 18 18 log_printf(FUNC,Behavioural,FUNCTION,"Begin"); 19 19 20 std::string tab = morpheo::tab(depth);20 // std::string tab = morpheo::tab(depth); 21 21 22 22 bool _return = true; 23 23 24 log_printf(INFO,Interface,FUNCTION, "%s* Interfaces \"%s\"",tab.c_str(),_name.c_str());24 // log_printf(INFO,Interface,FUNCTION, "%s* Interfaces \"%s\"",tab.c_str(),_name.c_str()); 25 25 26 26 for (std::list<Interface_fifo*>::iterator i = _list_interface->begin(); 27 27 i != _list_interface->end(); 28 28 ++i) 29 _return &= (*i)->test_map( depth+1, top_level, is_behavioural);29 _return &= (*i)->test_map(_name, top_level, is_behavioural); 30 30 31 31 log_printf(FUNC,Behavioural,FUNCTION,"End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp
r94 r139 14 14 #undef FUNCTION 15 15 #define FUNCTION "Signal::test_map" 16 bool Signal::test_map ( uint32_t depth,bool top_level, bool is_behavioural)16 bool Signal::test_map (std::string name_interface,bool top_level, bool is_behavioural) 17 17 { 18 18 log_printf(FUNC,Behavioural,FUNCTION,"Begin"); 19 19 20 std::string signame = name_interface+"."+_name; 20 21 std::string str = ""; 21 22 // std::string tab = morpheo::tab(depth); 22 23 bool _return = true; 23 24 … … 49 50 _return = false; 50 51 51 str = "Signal \""+ _name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";52 str = "Signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface."; 52 53 } 53 54 break; … … 58 59 { 59 60 _return = false; 60 str = "Signal \""+ _name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";61 str = "Signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface."; 61 62 } 62 63 break; … … 68 69 _return = false; 69 70 70 str = "Internal signal \""+ _name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";71 str = "Internal signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface."; 71 72 } 72 73 … … 78 79 _return = false; 79 80 80 str += "Internal signal \""+ _name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";81 str += "Internal signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface."; 81 82 } 82 83 … … 101 102 _return = false; 102 103 103 str = "Signal \""+ _name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";104 str = "Signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface."; 104 105 } 105 106 break; … … 111 112 _return = false; 112 113 113 str = "Signal \""+ _name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";114 str = "Signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface."; 114 115 } 115 116 break; … … 121 122 _return = false; 122 123 123 str = "Internal signal \""+ _name+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";124 str = "Internal signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface."; 124 125 } 125 126 … … 131 132 _return = false; 132 133 133 str += "Internal signal \""+ _name+"\" is not mapped with an input port top-level's interface or a output port component's interface.";134 str += "Internal signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface."; 134 135 } 135 136 … … 143 144 if (_return == false) 144 145 { 145 #ifndef DEBUG 146 std::cerr << str << std::endl; 147 #else 148 log_printf(INFO,Interface,FUNCTION, "%s* %s",tab.c_str(),str.c_str()); 149 #endif 146 msgError("%s\n",str.c_str()); 150 147 } 151 148 else 152 149 { 153 // log_printf(INFO,Interface,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(), _name.c_str());150 // log_printf(INFO,Interface,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(),signame.c_str()); 154 151 } 155 152 … … 181 178 // else 182 179 // { 183 // // log_printf(INFO,Behavioural,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(), _name.c_str());180 // // log_printf(INFO,Behavioural,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(),signame.c_str()); 184 181 // } 185 182 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat.cpp
r138 r139 5 5 namespace behavioural { 6 6 7 Stat::Stat (std::string name_instance,8 std::string name_component,7 Stat::Stat (std::string name_instance, 8 std::string name_component, 9 9 Parameters_Statistics * param): 10 10 _name_instance (name_instance), … … 16 16 _generate_file = true; 17 17 18 _list_operand = new std::map<std::string, var_t>; 19 _list_expr = new std::list<expr_t>; 20 _list_stat = new std::list<Stat *>; 21 _list_counters = new std::list<counters_t *>; 18 _list_operand = new std::map<std::string, var_t>; 19 _list_expr_per_cycle = new std::list<expr_t>; 20 _list_expr_per_period = new std::list<expr_t>; 21 _list_stat = new std::list<Stat *>; 22 _list_counters = new std::list<counters_t *>; 22 23 23 _cycle = create_variable("cycle");24 // _cycle = create_counter("cycle","","");25 *_cycle = 0; // for the first period24 _cycle = create_variable("cycle"); 25 // _cycle = create_counter("cycle","",""); 26 *_cycle = 0; // for the first period 26 27 } 27 28 28 29 Stat::Stat (std::string name_instance, 29 30 std::string name_component, 30 cycle_t nb_cycle_before_begin,31 cycle_t period):31 cycle_t nb_cycle_before_begin, 32 cycle_t period): 32 33 _name_instance (name_instance), 33 34 _name_component (name_component), … … 38 39 _generate_file = true; 39 40 40 _list_operand = new std::map<std::string, var_t>; 41 _list_expr = new std::list<expr_t>; 42 _list_stat = new std::list<Stat *>; 43 _list_counters = new std::list<counters_t *>; 41 _list_operand = new std::map<std::string, var_t>; 42 _list_expr_per_cycle = new std::list<expr_t>; 43 _list_expr_per_period = new std::list<expr_t>; 44 _list_stat = new std::list<Stat *>; 45 _list_counters = new std::list<counters_t *>; 44 46 45 _cycle = create_variable("cycle");46 // _cycle = create_counter("cycle","","");47 *_cycle = 0; // for the first period47 _cycle = create_variable("cycle"); 48 // _cycle = create_counter("cycle","",""); 49 *_cycle = 0; // for the first period 48 50 } 49 51 … … 63 65 64 66 // parcourir la liste et desallouer les arbres 65 for (std::list<expr_t>::iterator i=_list_expr ->begin();66 i!= _list_expr ->end();67 for (std::list<expr_t>::iterator i=_list_expr_per_cycle->begin(); 68 i!= _list_expr_per_cycle->end(); 67 69 ++i) 68 70 { 69 71 delete i->expression; 70 72 } 71 delete _list_expr; 73 delete _list_expr_per_cycle; 74 75 for (std::list<expr_t>::iterator i=_list_expr_per_period->begin(); 76 i!= _list_expr_per_period->end(); 77 ++i) 78 { 79 delete i->expression; 80 } 81 delete _list_expr_per_period; 72 82 73 83 // parcourir la liste et desallouer les arbres -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_create_expr.cpp
r110 r139 18 18 expression.variable = (*_list_operand) [varname].counter; 19 19 expression.expression = string2tree(expr); 20 20 // expression.each_cycle = each_cycle; 21 21 22 _list_expr->push_back(expression); 22 if (each_cycle) 23 _list_expr_per_cycle ->push_back(expression); 24 else 25 _list_expr_per_period->push_back(expression); 23 26 } 24 27 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_eval_exprs.cpp
r81 r139 7 7 { 8 8 // parcourir la liste et desallouer les counters 9 for (std::list<expr_t>::iterator i=_list_expr ->begin();10 i!= _list_expr ->end();9 for (std::list<expr_t>::iterator i=_list_expr_per_cycle->begin(); 10 i!= _list_expr_per_cycle->end(); 11 11 ++i) 12 { 13 if (i->each_cycle == only_each_cycle) 14 eval_expr (*i); 15 } 12 eval_expr (*i); 13 14 if (not only_each_cycle) 15 for (std::list<expr_t>::iterator i=_list_expr_per_period->begin(); 16 i!= _list_expr_per_period->end(); 17 ++i) 18 eval_expr (*i); 16 19 } 17 20 }; -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_00.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="4" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_03.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_04.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_05.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_06.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w01_07.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="32" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_03.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="32"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="4" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_04.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="64" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="4" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_05.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="16"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_06.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="32" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_07.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="64"/> 34 34 <parameter name="nb_special_register" value="32"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w02_08.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="64" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="2" /> 36 37 <parameter name="nb_rename_unit_bank" value="2" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x2.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x3.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x5.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x6.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x7.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_2x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x3.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x5.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x6.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x7.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_3x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x5.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x6.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x7.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_4x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x5.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x6.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x7.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_5x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x6.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x7.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_6x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x7.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_7x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x10.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x11.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x12.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x13.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x14.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x15.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-depth_8x9.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_16x_1r_1w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_16x_2r_1w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_1x_12r_6w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_2x_10r_5w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_2x_6r_3w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_2x_8r_4w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_32x_1r_1w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_4x_4r_2w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_4x_6r_3w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_4x_8r_4w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_8x_2r_1w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-regfile_8x_4r_2w.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_128x128.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_128x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_128x32.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_128x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_128x64.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_128x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_16x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_16x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_16x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x128.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x256.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x32.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x64.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_256x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_32x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_32x32.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_32x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_32x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_4x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_64x16.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_64x32.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_64x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_64x64.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_64x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_8x4.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02-rob_8x8.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_03.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_04.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w04_05.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w08_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="512"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="16" /> 36 37 <parameter name="nb_rename_unit_bank" value="16" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w08_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="512"/> 34 34 <parameter name="nb_special_register" value="256"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="16" /> 36 37 <parameter name="nb_rename_unit_bank" value="16" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w08_03.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x01_w08_04.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_00.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128" /> 34 34 <parameter name="nb_special_register" value="8" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="8" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_03.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="16" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_04.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="32" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_05.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="32" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w01_06.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="128"/> 34 34 <parameter name="nb_special_register" value="32" /> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="1" /> 36 37 <parameter name="nb_rename_unit_bank" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w04_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x02_w04_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x04_w04_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x04_w08_01.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="512"/> 34 34 <parameter name="nb_special_register" value="256"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="16" /> 36 37 <parameter name="nb_rename_unit_bank" value="16" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x04_w08_02.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="512"/> 34 34 <parameter name="nb_special_register" value="256"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="16" /> 36 37 <parameter name="nb_rename_unit_bank" value="16" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x04_w08_03.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x04_w08_04.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="256"/> 34 34 <parameter name="nb_special_register" value="128"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="8" /> 36 37 <parameter name="nb_rename_unit_bank" value="8" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x04_w08_05.cfg
r138 r139 33 33 <parameter name="nb_general_register" value="512"/> 34 34 <parameter name="nb_special_register" value="256"/> 35 <parameter name="rat_scheme" value="1" /> 35 36 <parameter name="nb_reg_free" value="16" /> 36 37 <parameter name="nb_rename_unit_bank" value="16" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Morpheo-Dhrystone.sim
r137 r139 22 22 <parameter name="simulation_nb_cycle" value="1000000" /> 23 23 <parameter name="simulation_nb_instruction" value="0" /> 24 <parameter name="simulation_stop_type" value="0" /> 24 25 <parameter name="simulation_file_with_pid" value="0" /> 25 26 <parameter name="simulation_file_with_date" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.gen
r138 r139 39 39 <parameter name="nb_general_register" min="64" max="1024" step="* 2" default="64" level="..." description="..." /> 40 40 <parameter name="nb_special_register" min="4" max="512" step="* 2" default="4" level="..." description="..." /> 41 <parameter name="rat_scheme" min="0" max="2" step="+ 1" default="1" level="..." description="..." /> 41 42 <parameter name="nb_reg_free" min="1" max="16" step="+ 1" default="1" level="..." description="..." /> 42 43 <parameter name="nb_rename_unit_bank" min="1" max="16" step="+ 1" default="1" level="..." description="..." /> -
trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.sim
r138 r139 20 20 <parameter name="statistics_period" value="0" /> 21 21 22 <parameter name="simulation_nb_cycle" value=" 50000"/>22 <parameter name="simulation_nb_cycle" value="0" /> 23 23 <parameter name="simulation_nb_instruction" value="0" /> 24 24 <parameter name="simulation_stop_type" value="0" /> -
trunk/IPs/systemC/processor/Morpheo/Files/debug.cfg
r138 r139 1 1 <?xml version="1.0" encoding="ISO-8859-1" ?> 2 2 3 <core name="Instance_x01_w02_04"> 4 5 <parameter name="size_data" value="32" /> 6 7 <parameter name="dispatch_priority" value="1" /> 8 <parameter name="dispatch_load_balancing" value="1" /> 9 10 <parameter name="nb_icache_port" value="1" /> 11 <parameter name="icache_port_priority" value="1" /> 12 <parameter name="icache_port_load_balancing" value="1" /> 13 14 <parameter name="nb_dcache_port" value="1" /> 15 <parameter name="dcache_port_priority" value="1" /> 16 <parameter name="dcache_port_load_balancing" value="1" /> 3 <core name="debug"> 17 4 18 5 <thread id="0"> … … 21 8 <parameter name="nb_inst_fetch" value="2" /> 22 9 <parameter name="ras_size_queue" value="8" /> 23 <parameter name="upt_size_queue" value=" 8" />10 <parameter name="upt_size_queue" value="4" /> 24 11 <parameter name="ufpt_size_queue" value="4" /> 25 12 … … 46 33 <parameter name="nb_general_register" value="128"/> 47 34 <parameter name="nb_special_register" value="64" /> 35 <parameter name="rat_scheme" value="2" /> 48 36 <parameter name="nb_reg_free" value="2" /> 49 37 <parameter name="nb_rename_unit_bank" value="4" /> … … 152 140 <parameter name="nb_execute_loop_select" value="1" /> 153 141 <parameter name="size_re_order_buffer" value="64"/> 154 <parameter name="nb_re_order_buffer_bank" value="8" 142 <parameter name="nb_re_order_buffer_bank" value="8"/> 155 143 <parameter name="retire_ooo_scheme" value="0" /> 156 144 <parameter name="commit_priority" value="1" /> … … 192 180 193 181 </execute_loop> 182 183 <parameter name="size_data" value="32" /> 184 185 <parameter name="dispatch_priority" value="1" /> 186 <parameter name="dispatch_load_balancing" value="1" /> 187 188 <parameter name="nb_icache_port" value="1" /> 189 <parameter name="icache_port_priority" value="1" /> 190 <parameter name="icache_port_load_balancing" value="1" /> 191 192 <parameter name="nb_dcache_port" value="1" /> 193 <parameter name="dcache_port_priority" value="1" /> 194 <parameter name="dcache_port_load_balancing" value="1" /> 194 195 195 196 <link name="link_context_with_thread" src="0" dest="0.0" /> … … 231 232 232 233 <link name="link_write_bloc_with_load_store_unit" src="0" dest="0" /> 234 233 235 <link name="link_write_bloc_and_functionnal_unit" src="0.0" dest="0" /> 234 236 <link name="link_write_bloc_and_functionnal_unit" src="0.1" dest="0" /> … … 244 246 <link name="link_write_bloc_and_functionnal_unit" src="3.2" dest="1" /> 245 247 246 247 248 <link name="link_thread_and_functionnal_unit" src="0.0" dest="1" /> 248 249 <link name="link_thread_and_functionnal_unit" src="0.1" dest="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/debug.sim
r138 r139 20 20 <parameter name="statistics_period" value="0" /> 21 21 22 <parameter name="simulation_nb_cycle" value=" 5000"/>22 <parameter name="simulation_nb_cycle" value="200000" /> 23 23 <parameter name="simulation_nb_instruction" value="0" /> 24 24 <parameter name="simulation_stop_type" value="0" /> … … 28 28 <parameter name="debug_level" value="2" /> 29 29 <parameter name="debug_cycle_start" value="0" /> 30 <parameter name="debug_cycle_stop" value=" 1000"/>30 <parameter name="debug_cycle_stop" value="0" /> 31 31 <parameter name="debug_nb_cycle" value="10000000"/> 32 32 … … 69 69 <component name="OOO_Engine_Glue" model="systemc" debug="0" /> 70 70 <component name="Reexecute_unit" model="systemc" debug="0" /> 71 <component name="Load_Store_pointer_unit" model="systemc" debug=" 1" />71 <component name="Load_Store_pointer_unit" model="systemc" debug="0" /> 72 72 <component name="Dependency_checking_unit" model="systemc" debug="0" /> 73 73 <component name="Free_List_unit" model="systemc" debug="0" /> 74 <component name="Register_Address_Translation_unit" model="systemc" debug=" 0" />74 <component name="Register_Address_Translation_unit" model="systemc" debug="1" /> 75 75 <component name="Register_translation_unit_Glue" model="systemc" debug="0" /> 76 76 <component name="Stat_List_unit" model="systemc" debug="0" /> … … 81 81 <component name="Special_Register_unit" model="systemc" debug="0" /> 82 82 <component name="OOO_Engine" model="systemc" debug="0" /> 83 <component name="Context_State" model="systemc" debug=" 0" />83 <component name="Context_State" model="systemc" debug="1" /> 84 84 <component name="Decod" model="systemc" debug="0" /> 85 <component name="Decod_queue" model="systemc" debug=" 0" />85 <component name="Decod_queue" model="systemc" debug="1" /> 86 86 <component name="Decod_unit" model="systemc" debug="0" /> 87 87 <component name="Front_end_Glue" model="systemc" debug="0" /> -
trunk/IPs/systemC/processor/Morpheo/Script/add_param.sh
r138 r139 23 23 # sed s/\<parameter\ name=\"nb_bypass_memory\"/\<predictor\ id=\"0\"\>\\\n\ \ \ \ \<parameter\ name=\"nb_bypass_memory\"/ ${1}; 24 24 # sed s/\<parameter\ name=\"nb_bypass_memory\"/\ \ \<parameter\ name=\"lsu_pht_nb_counter\"\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ value=\"64\"\\/\>\\\n\ \ \ \ \<parameter\ name=\"nb_bypass_memory\"/ ${1}; 25 sed s/\<parameter\ name=\"nb_bypass_memory\"/\<\\/predictor\>\\\n\ \ \ \ \<parameter\ name=\"nb_bypass_memory\"/ ${1};25 # sed s/\<parameter\ name=\"nb_bypass_memory\"/\<\\/predictor\>\\\n\ \ \ \ \<parameter\ name=\"nb_bypass_memory\"/ ${1}; 26 26 27 27 28 29 # <predictor id="0"> 30 # <parameter name="dir_pht_size_counter" value="2" /> 31 # <parameter name="dir_pht_nb_counter" value="512"/> 32 # </predictor> 33 34 28 sed s/\<parameter\ name=\"nb_reg_free\"/\<parameter\ name=\"rat_scheme\"\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ value=\"1\"\ \\/\>\\\n\ \ \ \ \<parameter\ name=\"nb_reg_free\"/ ${1}; 35 29 } 36 30 -
trunk/IPs/systemC/processor/Morpheo/Script/distcc_env.sh
r138 r139 40 40 export DISTCC_HOSTS="${DISTCC_HOSTS} roll/4,lzo" ; # serveur recherche 41 41 #export DISTCC_HOSTS="${DISTCC_HOSTS} rock/2,lzo" ; # serveur recherche - g++ 3.4.6 42 export DISTCC_HOSTS="${DISTCC_HOSTS} waller/2,lzo" ; # desktop 42 43 export DISTCC_HOSTS="${DISTCC_HOSTS} lin/2,lzo" ; # desktop 43 44 export DISTCC_HOSTS="${DISTCC_HOSTS} eric/2,lzo" ; # desktop … … 46 47 export DISTCC_HOSTS="${DISTCC_HOSTS} gamoudi/2,lzo" ; # desktop 47 48 #export DISTCC_HOSTS="${DISTCC_HOSTS} grunge/2,lzo" ; # desktop 48 49 #export DISTCC_HOSTS="${DISTCC_HOSTS} mitra/2,lzo" ; # desktop 49 50 #export DISTCC_HOSTS="${DISTCC_HOSTS} pronky/2,lzo" ; # desktop 50 51 #export DISTCC_HOSTS="${DISTCC_HOSTS} babylone/2,lzo" ; # desktop -
trunk/IPs/systemC/processor/Morpheo/Script/distexe_env.sh
r138 r139 40 40 export DISTEXE_HOSTS="${DISTEXE_HOSTS} roll/1" ; # serveur recherche 41 41 #export DISTEXE_HOSTS="${DISTEXE_HOSTS} rock/1" ; # serveur recherche - g++ 3.4.6 42 export DISTEXE_HOSTS="${DISTEXE_HOSTS} waller/1" ; # desktop 42 43 export DISTEXE_HOSTS="${DISTEXE_HOSTS} lin/1" ; # desktop 43 44 export DISTEXE_HOSTS="${DISTEXE_HOSTS} eric/1" ; # desktop … … 46 47 export DISTEXE_HOSTS="${DISTEXE_HOSTS} gamoudi/1" ; # desktop 47 48 #export DISTEXE_HOSTS="${DISTEXE_HOSTS} grunge/1" ; # desktop 48 49 #export DISTEXE_HOSTS="${DISTEXE_HOSTS} mitra/1" ; # desktop 49 50 #export DISTEXE_HOSTS="${DISTEXE_HOSTS} pronky/1" ; # desktop 50 51 #export DISTEXE_HOSTS="${DISTEXE_HOSTS} babylone/1" ; # desktop -
trunk/IPs/systemC/processor/Morpheo/TopLevel/src/Morpheo_configuration.cpp
r138 r139 71 71 param->_nb_general_register , 72 72 param->_nb_special_register , 73 param->_rat_scheme , 73 74 param->_nb_reg_free , 74 75 param->_nb_rename_unit_bank , 75 // 76 // param->_size_read_counter , 76 77 77 78 param->_nb_read_bloc ,
Note: See TracChangeset
for help on using the changeset viewer.