Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/src/test.cpp
r111 r112 66 66 ALLOC1_SC_SIGNAL( in_DECOD_EVENT_ADDRESS_EPCR ," in_DECOD_EVENT_ADDRESS_EPCR ",Taddress_t ,_param->_nb_decod_unit); 67 67 68 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_VAL ," in_COMMIT_EVENT_VAL ",Tcontrol_t );69 ALLOC _SC_SIGNAL(out_COMMIT_EVENT_ACK ,"out_COMMIT_EVENT_ACK ",Tcontrol_t );70 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_CONTEXT_ID ," in_COMMIT_EVENT_CONTEXT_ID ",Tcontext_t );71 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_DEPTH ," in_COMMIT_EVENT_DEPTH ",Tdepth_t );72 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_TYPE ," in_COMMIT_EVENT_TYPE ",Tevent_type_t);73 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_IS_DELAY_SLOT ," in_COMMIT_EVENT_IS_DELAY_SLOT ",Tcontrol_t );74 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS ," in_COMMIT_EVENT_ADDRESS ",Taddress_t );75 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ," in_COMMIT_EVENT_ADDRESS_EPCR_VAL ",Tcontrol_t );76 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR ," in_COMMIT_EVENT_ADDRESS_EPCR ",Taddress_t );77 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ," in_COMMIT_EVENT_ADDRESS_EEAR_VAL ",Tcontrol_t );78 ALLOC _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR ," in_COMMIT_EVENT_ADDRESS_EEAR ",Tgeneral_data_t);68 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_VAL ," in_COMMIT_EVENT_VAL ",Tcontrol_t ); 69 ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_ACK ,"out_COMMIT_EVENT_ACK ",Tcontrol_t ); 70 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_CONTEXT_ID ," in_COMMIT_EVENT_CONTEXT_ID ",Tcontext_t ); 71 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_DEPTH ," in_COMMIT_EVENT_DEPTH ",Tdepth_t ); 72 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_TYPE ," in_COMMIT_EVENT_TYPE ",Tevent_type_t); 73 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_IS_DELAY_SLOT ," in_COMMIT_EVENT_IS_DELAY_SLOT ",Tcontrol_t ); 74 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS ," in_COMMIT_EVENT_ADDRESS ",Taddress_t ); 75 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ," in_COMMIT_EVENT_ADDRESS_EPCR_VAL ",Tcontrol_t ); 76 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR ," in_COMMIT_EVENT_ADDRESS_EPCR ",Taddress_t ); 77 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ," in_COMMIT_EVENT_ADDRESS_EEAR_VAL ",Tcontrol_t ); 78 ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR ," in_COMMIT_EVENT_ADDRESS_EEAR ",Tgeneral_data_t); 79 79 80 80 ALLOC1_SC_SIGNAL( in_BRANCH_COMPLETE_VAL ," in_BRANCH_COMPLETE_VAL ",Tcontrol_t ,_param->_nb_inst_branch_complete); … … 147 147 INSTANCE1_SC_SIGNAL(_Context_State, in_DECOD_EVENT_ADDRESS_EPCR ,_param->_nb_decod_unit); 148 148 149 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_VAL );150 INSTANCE _SC_SIGNAL(_Context_State,out_COMMIT_EVENT_ACK );149 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_VAL ); 150 INSTANCE0_SC_SIGNAL(_Context_State,out_COMMIT_EVENT_ACK ); 151 151 if (_param->_have_port_context_id) 152 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_CONTEXT_ID );152 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_CONTEXT_ID ); 153 153 if (_param->_have_port_depth) 154 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_DEPTH );155 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_TYPE );156 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_IS_DELAY_SLOT );157 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS );158 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EPCR_VAL );159 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EPCR );160 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EEAR_VAL );161 INSTANCE _SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EEAR );154 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_DEPTH ); 155 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_TYPE ); 156 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_IS_DELAY_SLOT ); 157 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS ); 158 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EPCR_VAL ); 159 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EPCR ); 160 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EEAR_VAL ); 161 INSTANCE0_SC_SIGNAL(_Context_State, in_COMMIT_EVENT_ADDRESS_EEAR ); 162 162 163 163 INSTANCE1_SC_SIGNAL(_Context_State, in_BRANCH_COMPLETE_VAL ,_param->_nb_inst_branch_complete); … … 196 196 INSTANCE1_SC_SIGNAL(_Context_State,out_CONTEXT_DECOD_ENABLE ,_param->_nb_context ); 197 197 198 for (uint32_t i=0; i<_param->_nb_context; i++) 199 if (_param->_have_port_depth) 200 INSTANCE_SC_SIGNAL(_Context_State, in_DEPTH_MIN [i]); 198 if (_param->_have_port_depth) 199 INSTANCE1_SC_SIGNAL(_Context_State, in_DEPTH_MIN ,_param->_nb_context ); 201 200 202 201 INSTANCE1_SC_SIGNAL(_Context_State, in_SPR_SR_IEE ,_param->_nb_context ); … … 1324 1323 DELETE1_SC_SIGNAL( in_DECOD_EVENT_ADDRESS ,_param->_nb_decod_unit); 1325 1324 DELETE1_SC_SIGNAL( in_DECOD_EVENT_ADDRESS_EPCR ,_param->_nb_decod_unit); 1326 DELETE _SC_SIGNAL( in_COMMIT_EVENT_VAL );1327 DELETE _SC_SIGNAL(out_COMMIT_EVENT_ACK );1328 DELETE _SC_SIGNAL( in_COMMIT_EVENT_CONTEXT_ID );1329 DELETE _SC_SIGNAL( in_COMMIT_EVENT_DEPTH );1330 DELETE _SC_SIGNAL( in_COMMIT_EVENT_TYPE );1331 DELETE _SC_SIGNAL( in_COMMIT_EVENT_IS_DELAY_SLOT );1332 DELETE _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS );1333 DELETE _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR_VAL );1334 DELETE _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR );1335 DELETE _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR_VAL );1336 DELETE _SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR );1325 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_VAL ); 1326 DELETE0_SC_SIGNAL(out_COMMIT_EVENT_ACK ); 1327 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_CONTEXT_ID ); 1328 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_DEPTH ); 1329 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_TYPE ); 1330 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_IS_DELAY_SLOT ); 1331 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS ); 1332 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ); 1333 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR ); 1334 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ); 1335 DELETE0_SC_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR ); 1337 1336 DELETE1_SC_SIGNAL( in_BRANCH_COMPLETE_VAL ,_param->_nb_inst_branch_complete); 1338 1337 DELETE1_SC_SIGNAL(out_BRANCH_COMPLETE_ACK ,_param->_nb_inst_branch_complete); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_allocation.cpp
r111 r112 58 58 // ~~~~~[ Interface : "branch_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59 59 { 60 ALLOC1_INTERFACE ("branch_event", IN,SOUTH, "branch_event", _param->_nb_context);60 ALLOC1_INTERFACE_BEGIN("branch_event", IN,SOUTH, _("branch_event"), _param->_nb_context); 61 61 62 62 ALLOC1_VALACK_IN ( in_BRANCH_EVENT_VAL ,VAL); … … 68 68 ALLOC1_SIGNAL_IN ( in_BRANCH_EVENT_ADDRESS_DEST_VAL ,"address_dest_val" ,Tcontrol_t ,1); 69 69 ALLOC1_SIGNAL_IN ( in_BRANCH_EVENT_ADDRESS_DEST ,"address_dest" ,Taddress_t ,_param->_size_instruction_address); 70 71 ALLOC1_INTERFACE_END(_param->_nb_context); 70 72 } 71 73 72 74 // ~~~~~[ Interface : "decod_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 75 { 74 ALLOC1_INTERFACE ("decod_event",IN ,SOUTH, _("Decod Interface"), _param->_nb_decod_unit);76 ALLOC1_INTERFACE_BEGIN("decod_event",IN ,SOUTH, _("Decod Interface"), _param->_nb_decod_unit); 75 77 76 78 ALLOC1_VALACK_IN ( in_DECOD_EVENT_VAL ,VAL); … … 82 84 ALLOC1_SIGNAL_IN ( in_DECOD_EVENT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 83 85 ALLOC1_SIGNAL_IN ( in_DECOD_EVENT_ADDRESS_EPCR ,"address_epcr" ,Taddress_t ,_param->_size_instruction_address); 86 87 ALLOC1_INTERFACE_END(_param->_nb_decod_unit); 84 88 } 85 89 86 90 // ~~~~~[ Interface : "commit_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 91 { 88 ALLOC_INTERFACE("commit_event",IN ,EAST, _("Interface with the Re Order Buffer")); 89 90 ALLOC_VALACK_IN ( in_COMMIT_EVENT_VAL ,VAL); 91 ALLOC_VALACK_OUT (out_COMMIT_EVENT_ACK ,ACK); 92 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id); 93 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth); 94 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_TYPE ,"type" ,Tevent_type_t ,_param->_size_event_type); 95 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_IS_DELAY_SLOT ,"is_delay_slot" ,Tcontrol_t ,1); 96 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 97 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ,"address_epcr_val",Tcontrol_t ,1); 98 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EPCR ,"address_epcr" ,Taddress_t ,_param->_size_instruction_address); 99 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ,"address_eear_val",Tcontrol_t ,1); 100 ALLOC_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EEAR ,"address_eear" ,Tgeneral_data_t ,_param->_size_general_data); 92 ALLOC0_INTERFACE_BEGIN("commit_event",IN ,EAST, _("Interface with the Re Order Buffer")); 93 94 ALLOC0_VALACK_IN ( in_COMMIT_EVENT_VAL ,VAL); 95 ALLOC0_VALACK_OUT(out_COMMIT_EVENT_ACK ,ACK); 96 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id); 97 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth); 98 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_TYPE ,"type" ,Tevent_type_t ,_param->_size_event_type); 99 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_IS_DELAY_SLOT ,"is_delay_slot" ,Tcontrol_t ,1); 100 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS ,"address" ,Taddress_t ,_param->_size_instruction_address); 101 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ,"address_epcr_val",Tcontrol_t ,1); 102 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EPCR ,"address_epcr" ,Taddress_t ,_param->_size_instruction_address); 103 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ,"address_eear_val",Tcontrol_t ,1); 104 ALLOC0_SIGNAL_IN ( in_COMMIT_EVENT_ADDRESS_EEAR ,"address_eear" ,Tgeneral_data_t ,_param->_size_general_data); 105 106 ALLOC0_INTERFACE_END(); 101 107 } 102 108 103 109 // ~~~~~[ Interface : "branch_complete" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 104 110 { 105 ALLOC1_INTERFACE ("branch_complete",IN ,NORTH, _("Interface with the prediction_unit."), _param->_nb_inst_branch_complete);111 ALLOC1_INTERFACE_BEGIN("branch_complete",IN ,NORTH, _("Interface with the prediction_unit."), _param->_nb_inst_branch_complete); 106 112 107 113 ALLOC1_VALACK_IN ( in_BRANCH_COMPLETE_VAL ,VAL); … … 113 119 // ALLOC1_SIGNAL_IN ( in_BRANCH_COMPLETE_ADDRESS_SRC ,"address_src" ,Taddress_t ,_param->_size_instruction_address); 114 120 // ALLOC1_SIGNAL_IN ( in_BRANCH_COMPLETE_ADDRESS_DEST ,"address_dest" ,Taddress_t ,_param->_size_instruction_address); 121 122 ALLOC1_INTERFACE_END(_param->_nb_inst_branch_complete); 115 123 } 116 124 117 125 // ~~~~~[ Interface : "nb_inst" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 126 { 119 ALLOC1_INTERFACE ("nb_inst",IN ,EAST, _("Interface to count in fligt present instruction."),_param->_nb_context);127 ALLOC1_INTERFACE_BEGIN("nb_inst",IN ,EAST, _("Interface to count in fligt present instruction."),_param->_nb_context); 120 128 121 129 ALLOC1_SIGNAL_IN ( in_NB_INST_DECOD_ALL ,"decod_all" ,Tcounter_t ,_param->_size_nb_inst_decod); 122 130 ALLOC1_SIGNAL_IN ( in_NB_INST_COMMIT_ALL ,"commit_all",Tcounter_t ,_param->_size_nb_inst_commit); 123 131 ALLOC1_SIGNAL_IN ( in_NB_INST_COMMIT_MEM ,"commit_mem",Tcounter_t ,_param->_size_nb_inst_commit); 132 133 ALLOC1_INTERFACE_END(_param->_nb_context); 124 134 } 125 135 126 136 // ~~~~~[ Interface "event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 127 137 { 128 ALLOC1_INTERFACE ("event",OUT,WEST, _("An event occure : change PC address."), _param->_nb_context);138 ALLOC1_INTERFACE_BEGIN("event",OUT,WEST, _("An event occure : change PC address."), _param->_nb_context); 129 139 130 140 ALLOC1_VALACK_OUT(out_EVENT_VAL ,VAL); … … 137 147 ALLOC1_SIGNAL_OUT(out_EVENT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth); 138 148 149 ALLOC1_INTERFACE_END(_param->_nb_context); 139 150 } 140 151 141 152 // ~~~~~[ Interface "spr_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 142 153 { 143 ALLOC1_INTERFACE ("spr_event",OUT,WEST, _("An exception occure : write \"exception PC\"."), _param->_nb_context);154 ALLOC1_INTERFACE_BEGIN("spr_event",OUT,WEST, _("An exception occure : write \"exception PC\"."), _param->_nb_context); 144 155 145 156 ALLOC1_VALACK_OUT(out_SPR_EVENT_VAL ,VAL); … … 150 161 ALLOC1_SIGNAL_OUT(out_SPR_EVENT_SR_DSX ,"sr_dsx" ,Tcontrol_t,1); 151 162 ALLOC1_SIGNAL_OUT(out_SPR_EVENT_SR_TO_ESR ,"sr_to_esr",Tcontrol_t,1); 163 164 ALLOC1_INTERFACE_END(_param->_nb_context); 152 165 } 153 166 154 167 // ~~~~~[ Interface : "context" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 155 168 { 156 ALLOC1_INTERFACE ("context",OUT,SOUTH, _("To decod."), _param->_nb_context);169 ALLOC1_INTERFACE_BEGIN("context",OUT,SOUTH, _("To decod."), _param->_nb_context); 157 170 158 171 ALLOC1_SIGNAL_OUT(out_CONTEXT_DECOD_ENABLE ,"decod_enable",Tcontrol_t,1); 172 173 ALLOC1_INTERFACE_END(_param->_nb_context); 159 174 } 160 175 161 176 // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 177 { 163 ALLOC1_INTERFACE ("depth",IN ,NORTH, _("From prediction_unit."), _param->_nb_context);178 ALLOC1_INTERFACE_BEGIN("depth",IN ,NORTH, _("From prediction_unit."), _param->_nb_context); 164 179 165 180 ALLOC1_SIGNAL_IN ( in_DEPTH_MIN ,"min" ,Tdepth_t,_param->_size_depth); 181 182 ALLOC1_INTERFACE_END(_param->_nb_context); 166 183 } 167 184 … … 169 186 // ~~~~~[ Interface : "spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 170 187 { 171 ALLOC1_INTERFACE ("spr",IN,EAST,_("Interface with the special registerFile"),_param->_nb_context);188 ALLOC1_INTERFACE_BEGIN("spr",IN,EAST,_("Interface with the special registerFile"),_param->_nb_context); 172 189 173 190 ALLOC1_SIGNAL_IN ( in_SPR_SR_IEE ,"SR_IEE",Tcontrol_t,1); 174 191 ALLOC1_SIGNAL_IN ( in_SPR_SR_EPH ,"SR_EPH",Tcontrol_t,1); 192 193 ALLOC1_INTERFACE_END(_param->_nb_context); 175 194 } 176 195 177 196 // ~~~~~[ Interface : "interrupt" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 178 197 { 179 ALLOC1_INTERFACE ("interrupt",IN,NORTH,_("Interrupt Exception"),_param->_nb_context);198 ALLOC1_INTERFACE_BEGIN("interrupt",IN,NORTH,_("Interrupt Exception"),_param->_nb_context); 180 199 181 200 ALLOC1_SIGNAL_IN ( in_INTERRUPT_ENABLE ,"ENABLE",Tcontrol_t,1); 201 202 ALLOC1_INTERFACE_END(_param->_nb_context); 182 203 } 183 204 … … 186 207 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 208 188 reg_STATE = new context_state_t [_param->_nb_context];189 reg_EVENT_ADDRESS = new Taddress_t [_param->_nb_context];190 reg_EVENT_ADDRESS_EPCR = new Taddress_t [_param->_nb_context];191 reg_EVENT_ADDRESS_EPCR_VAL = new Tcontrol_t [_param->_nb_context];192 reg_EVENT_ADDRESS_EEAR = new Taddress_t [_param->_nb_context];193 reg_EVENT_ADDRESS_EEAR_VAL = new Tcontrol_t [_param->_nb_context];194 reg_EVENT_IS_DELAY_SLOT = new Tcontrol_t [_param->_nb_context];195 reg_EVENT_IS_DS_TAKE = new Tcontrol_t [_param->_nb_context];196 reg_EVENT_DEPTH = new Tdepth_t [_param->_nb_context];197 reg_INTERRUPT_ENABLE = new Tcontrol_t [_param->_nb_context];209 ALLOC1(reg_STATE ,context_state_t,_param->_nb_context); 210 ALLOC1(reg_EVENT_ADDRESS ,Taddress_t ,_param->_nb_context); 211 ALLOC1(reg_EVENT_ADDRESS_EPCR ,Taddress_t ,_param->_nb_context); 212 ALLOC1(reg_EVENT_ADDRESS_EPCR_VAL,Tcontrol_t ,_param->_nb_context); 213 ALLOC1(reg_EVENT_ADDRESS_EEAR ,Taddress_t ,_param->_nb_context); 214 ALLOC1(reg_EVENT_ADDRESS_EEAR_VAL,Tcontrol_t ,_param->_nb_context); 215 ALLOC1(reg_EVENT_IS_DELAY_SLOT ,Tcontrol_t ,_param->_nb_context); 216 ALLOC1(reg_EVENT_IS_DS_TAKE ,Tcontrol_t ,_param->_nb_context); 217 ALLOC1(reg_EVENT_DEPTH ,Tdepth_t ,_param->_nb_context); 218 ALLOC1(reg_INTERRUPT_ENABLE ,Tcontrol_t ,_param->_nb_context); 198 219 199 220 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 internal_BRANCH_EVENT_ACK = new Tcontrol_t [_param->_nb_context]; 201 internal_DECOD_EVENT_ACK = new Tcontrol_t [_param->_nb_decod_unit]; 202 internal_BRANCH_COMPLETE_ACK = new Tcontrol_t [_param->_nb_inst_branch_complete]; 203 internal_EVENT_VAL = new Tcontrol_t [_param->_nb_context]; 204 internal_SPR_EVENT_VAL = new Tcontrol_t [_param->_nb_context]; 221 222 ALLOC1(internal_BRANCH_EVENT_ACK ,Tcontrol_t,_param->_nb_context); 223 ALLOC1(internal_DECOD_EVENT_ACK ,Tcontrol_t,_param->_nb_decod_unit); 224 ALLOC1(internal_BRANCH_COMPLETE_ACK,Tcontrol_t,_param->_nb_inst_branch_complete); 225 ALLOC1(internal_EVENT_VAL ,Tcontrol_t,_param->_nb_context); 226 ALLOC1(internal_SPR_EVENT_VAL ,Tcontrol_t,_param->_nb_context); 205 227 } 206 228 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_deallocation.cpp
r111 r112 46 46 DELETE1_SIGNAL( in_DECOD_EVENT_ADDRESS_EPCR ,_param->_nb_decod_unit,_param->_size_instruction_address); 47 47 48 DELETE _SIGNAL( in_COMMIT_EVENT_VAL ,1);49 DELETE _SIGNAL(out_COMMIT_EVENT_ACK ,1);50 DELETE _SIGNAL( in_COMMIT_EVENT_CONTEXT_ID ,_param->_size_context_id);51 DELETE _SIGNAL( in_COMMIT_EVENT_DEPTH ,_param->_size_depth);52 DELETE _SIGNAL( in_COMMIT_EVENT_TYPE ,_param->_size_event_type);53 DELETE _SIGNAL( in_COMMIT_EVENT_IS_DELAY_SLOT ,1);54 DELETE _SIGNAL( in_COMMIT_EVENT_ADDRESS ,_param->_size_instruction_address);55 DELETE _SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ,_param->_size_instruction_address);56 DELETE _SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR ,_param->_size_instruction_address);57 DELETE _SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ,_param->_size_instruction_address);58 DELETE _SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR ,1);48 DELETE0_SIGNAL( in_COMMIT_EVENT_VAL ,1); 49 DELETE0_SIGNAL(out_COMMIT_EVENT_ACK ,1); 50 DELETE0_SIGNAL( in_COMMIT_EVENT_CONTEXT_ID ,_param->_size_context_id); 51 DELETE0_SIGNAL( in_COMMIT_EVENT_DEPTH ,_param->_size_depth); 52 DELETE0_SIGNAL( in_COMMIT_EVENT_TYPE ,_param->_size_event_type); 53 DELETE0_SIGNAL( in_COMMIT_EVENT_IS_DELAY_SLOT ,1); 54 DELETE0_SIGNAL( in_COMMIT_EVENT_ADDRESS ,_param->_size_instruction_address); 55 DELETE0_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR_VAL ,_param->_size_instruction_address); 56 DELETE0_SIGNAL( in_COMMIT_EVENT_ADDRESS_EPCR ,_param->_size_instruction_address); 57 DELETE0_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR_VAL ,_param->_size_instruction_address); 58 DELETE0_SIGNAL( in_COMMIT_EVENT_ADDRESS_EEAR ,1); 59 59 60 60 DELETE1_SIGNAL( in_BRANCH_COMPLETE_VAL ,_param->_nb_inst_branch_complete,1); … … 98 98 99 99 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 delete [] reg_STATE;101 delete [] reg_EVENT_ADDRESS;102 delete [] reg_EVENT_ADDRESS_EPCR;103 delete [] reg_EVENT_ADDRESS_EPCR_VAL;104 delete [] reg_EVENT_ADDRESS_EEAR;105 delete [] reg_EVENT_ADDRESS_EEAR_VAL;106 delete [] reg_EVENT_IS_DELAY_SLOT;107 delete [] reg_EVENT_IS_DS_TAKE;108 delete [] reg_EVENT_DEPTH;109 delete [] reg_INTERRUPT_ENABLE;100 DELETE1(reg_STATE ,_param->_nb_context); 101 DELETE1(reg_EVENT_ADDRESS ,_param->_nb_context); 102 DELETE1(reg_EVENT_ADDRESS_EPCR ,_param->_nb_context); 103 DELETE1(reg_EVENT_ADDRESS_EPCR_VAL,_param->_nb_context); 104 DELETE1(reg_EVENT_ADDRESS_EEAR ,_param->_nb_context); 105 DELETE1(reg_EVENT_ADDRESS_EEAR_VAL,_param->_nb_context); 106 DELETE1(reg_EVENT_IS_DELAY_SLOT ,_param->_nb_context); 107 DELETE1(reg_EVENT_IS_DS_TAKE ,_param->_nb_context); 108 DELETE1(reg_EVENT_DEPTH ,_param->_nb_context); 109 DELETE1(reg_INTERRUPT_ENABLE ,_param->_nb_context); 110 110 111 111 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 112 delete [] internal_BRANCH_EVENT_ACK ; 113 delete [] internal_DECOD_EVENT_ACK ; 114 delete [] internal_EVENT_VAL ; 115 delete [] internal_SPR_EVENT_VAL ; 112 DELETE1(internal_BRANCH_EVENT_ACK ,_param->_nb_context); 113 DELETE1(internal_DECOD_EVENT_ACK ,_param->_nb_decod_unit); 114 DELETE1(internal_BRANCH_COMPLETE_ACK,_param->_nb_inst_branch_complete); 115 DELETE1(internal_EVENT_VAL ,_param->_nb_context); 116 DELETE1(internal_SPR_EVENT_VAL ,_param->_nb_context); 116 117 } 117 118
Note: See TracChangeset
for help on using the changeset viewer.