Changeset 139 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit
- Timestamp:
- Jul 30, 2010, 4:47:27 PM (14 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit
- Files:
-
- 4 added
- 1 deleted
- 33 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
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 }
Note: See TracChangeset
for help on using the changeset viewer.