Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit.cpp
r81 r88 37 37 log_printf(FUNC,Ifetch_unit,FUNCTION,"Begin"); 38 38 39 #if DEBUG_Ifetch_unit == true 40 log_printf(INFO,Ifetch_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 41 42 std::cout << *param << std::endl; 43 #endif 44 39 45 log_printf(INFO,Ifetch_unit,FUNCTION,"Allocation"); 40 46 … … 46 52 47 53 #ifdef STATISTICS 48 if ( _usage & USE_STATISTICS)54 if (usage_is_set(_usage,USE_STATISTICS)) 49 55 { 50 56 log_printf(INFO,Ifetch_unit,FUNCTION,"Allocation of statistics"); … … 55 61 56 62 #ifdef VHDL 57 if ( _usage & USE_VHDL)63 if (usage_is_set(_usage,USE_VHDL)) 58 64 { 59 65 // generate the vhdl … … 65 71 66 72 #ifdef SYSTEMC 67 if ( _usage & USE_SYSTEMC)73 if (usage_is_set(_usage,USE_SYSTEMC)) 68 74 { 69 75 log_printf(INFO,Ifetch_unit,FUNCTION,"Method - transition"); … … 89 95 90 96 #ifdef STATISTICS 91 if ( _usage & USE_STATISTICS)97 if (usage_is_set(_usage,USE_STATISTICS)) 92 98 { 93 99 statistics_deallocation(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_allocation.cpp
r85 r88 57 57 // ~~~~~[ Interface "icache_req" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 58 58 { 59 ALLOC_INTERFACE("icache_req",OUT, WEST, "Instruction cache request.");59 ALLOC_INTERFACE("icache_req",OUT, WEST, _("Instruction cache request.")); 60 60 61 61 ALLOC_VALACK_OUT(out_ICACHE_REQ_VAL ,VAL); 62 62 ALLOC_VALACK_IN ( in_ICACHE_REQ_ACK ,ACK); 63 63 //ALLOC_SIGNAL_OUT(out_ICACHE_REQ_THREAD_ID,"thread_id",Tcontext_t ,_param->_size_context_id ); 64 ALLOC_SIGNAL_OUT(out_ICACHE_REQ_PACKET_ID,"packet_id",Tpacket_t ,_param->_size_ queue_ptr );65 ALLOC_SIGNAL_OUT(out_ICACHE_REQ_ADDRESS ,"address" ,Ticache_instruction_t,_param->_size_ address );64 ALLOC_SIGNAL_OUT(out_ICACHE_REQ_PACKET_ID,"packet_id",Tpacket_t ,_param->_size_ifetch_queue_ptr ); 65 ALLOC_SIGNAL_OUT(out_ICACHE_REQ_ADDRESS ,"address" ,Ticache_instruction_t,_param->_size_instruction_address ); 66 66 ALLOC_SIGNAL_OUT(out_ICACHE_REQ_TYPE ,"type" ,Ticache_type_t ,_param->_size_icache_type); 67 67 } … … 69 69 // ~~~~~[ Interface "icache_rsp" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 70 { 71 ALLOC_INTERFACE("icache_rsp",IN , WEST, "Instruction cache respons.");71 ALLOC_INTERFACE("icache_rsp",IN , WEST, _("Instruction cache respons.")); 72 72 73 73 ALLOC_VALACK_IN ( in_ICACHE_RSP_VAL ,VAL); 74 74 ALLOC_VALACK_OUT (out_ICACHE_RSP_ACK ,ACK); 75 75 //ALLOC_SIGNAL_IN ( in_ICACHE_RSP_THREAD_ID ,"thread_id" ,Tcontext_t ,_param->_size_context_id ); 76 ALLOC_SIGNAL_IN ( in_ICACHE_RSP_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ queue_ptr );76 ALLOC_SIGNAL_IN ( in_ICACHE_RSP_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ifetch_queue_ptr ); 77 77 ALLOC_SIGNAL_IN ( in_ICACHE_RSP_ERROR ,"error" ,Ticache_error_t ,_param->_size_icache_error); 78 78 } 79 79 { 80 ALLOC1_INTERFACE("icache_rsp",IN , WEST, "Instruction cache respons.",_param->_nb_instruction);80 ALLOC1_INTERFACE("icache_rsp",IN , WEST, _("Instruction cache respons."),_param->_nb_instruction); 81 81 82 82 ALLOC1_SIGNAL_IN ( in_ICACHE_RSP_INSTRUCTION,"instruction",Ticache_instruction_t,_param->_size_instruction ); … … 85 85 // ~~~~~[ Interface : "predict" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 86 86 { 87 ALLOC_INTERFACE("predict",OUT, NORTH, "Acces Instruction cache respons.");87 ALLOC_INTERFACE("predict",OUT, NORTH, _("Predict the next pc.")); 88 88 89 89 ALLOC_VALACK_OUT (out_PREDICT_VAL ,VAL); 90 90 ALLOC_VALACK_IN ( in_PREDICT_ACK ,ACK); 91 ALLOC_SIGNAL_OUT (out_PREDICT_PC_PREVIOUS ,"pc_previous" ,Tgeneral_address_t,_param->_size_ address);92 ALLOC_SIGNAL_OUT (out_PREDICT_PC_CURRENT ,"pc_current" ,Tgeneral_address_t,_param->_size_ address);91 ALLOC_SIGNAL_OUT (out_PREDICT_PC_PREVIOUS ,"pc_previous" ,Tgeneral_address_t,_param->_size_instruction_address); 92 ALLOC_SIGNAL_OUT (out_PREDICT_PC_CURRENT ,"pc_current" ,Tgeneral_address_t,_param->_size_instruction_address); 93 93 ALLOC_SIGNAL_OUT (out_PREDICT_PC_CURRENT_IS_DS_TAKE ,"pc_current_is_ds_take" ,Tcontrol_t ,1); 94 ALLOC_SIGNAL_IN ( in_PREDICT_PC_NEXT ,"pc_next" ,Tgeneral_address_t,_param->_size_ address);94 ALLOC_SIGNAL_IN ( in_PREDICT_PC_NEXT ,"pc_next" ,Tgeneral_address_t,_param->_size_instruction_address); 95 95 ALLOC_SIGNAL_IN ( in_PREDICT_PC_NEXT_IS_DS_TAKE ,"pc_next_is_ds_take" ,Tcontrol_t ,1); 96 ALLOC_SIGNAL_IN ( in_PREDICT_INST_IFETCH_PTR ,"inst_ifetch_ptr" ,Tinst_ifetch_ptr_t,_param->_size_inst ruction_ptr);96 ALLOC_SIGNAL_IN ( in_PREDICT_INST_IFETCH_PTR ,"inst_ifetch_ptr" ,Tinst_ifetch_ptr_t,_param->_size_inst_ifetch_ptr); 97 97 ALLOC_SIGNAL_IN ( in_PREDICT_BRANCH_STATE ,"branch_state" ,Tbranch_state_t ,_param->_size_branch_state); 98 ALLOC_SIGNAL_IN ( in_PREDICT_BRANCH_UPDATE_PREDICTION_ID,"branch_update_prediction_id",Tprediction_ptr_t ,_param->_size_ branch_update_prediction);99 } 100 { 101 ALLOC1_INTERFACE("predict",IN , NORTH, "Acces Instruction cache respons.",_param->_nb_instruction);98 ALLOC_SIGNAL_IN ( in_PREDICT_BRANCH_UPDATE_PREDICTION_ID,"branch_update_prediction_id",Tprediction_ptr_t ,_param->_size_depth); 99 } 100 { 101 ALLOC1_INTERFACE("predict",IN , NORTH, _("Predict the next pc."),_param->_nb_instruction); 102 102 103 103 ALLOC1_SIGNAL_IN ( in_PREDICT_INSTRUCTION_ENABLE ,"instruction_enable" ,Tcontrol_t ,1); … … 106 106 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 107 { 108 ALLOC_INTERFACE("decod",OUT , EAST, "Send bundle to the decod unit.");108 ALLOC_INTERFACE("decod",OUT , EAST, _("Send bundle to the decod unit.")); 109 109 110 110 //ALLOC_SIGNAL_OUT (out_DECOD_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id); 111 ALLOC_SIGNAL_OUT (out_DECOD_ADDRESS ,"address" ,Tgeneral_address_t,_param->_size_ address);112 ALLOC_SIGNAL_OUT (out_DECOD_INST_IFETCH_PTR ,"inst_ifetch_ptr" ,Tinst_ifetch_ptr_t,_param->_size_inst ruction_ptr);111 ALLOC_SIGNAL_OUT (out_DECOD_ADDRESS ,"address" ,Tgeneral_address_t,_param->_size_instruction_address); 112 ALLOC_SIGNAL_OUT (out_DECOD_INST_IFETCH_PTR ,"inst_ifetch_ptr" ,Tinst_ifetch_ptr_t,_param->_size_inst_ifetch_ptr); 113 113 ALLOC_SIGNAL_OUT (out_DECOD_BRANCH_STATE ,"branch_state" ,Tbranch_state_t ,_param->_size_branch_state); 114 ALLOC_SIGNAL_OUT (out_DECOD_BRANCH_UPDATE_PREDICTION_ID,"branch_update_prediction_id",Tprediction_ptr_t ,_param->_size_ branch_update_prediction);114 ALLOC_SIGNAL_OUT (out_DECOD_BRANCH_UPDATE_PREDICTION_ID,"branch_update_prediction_id",Tprediction_ptr_t ,_param->_size_depth); 115 115 ALLOC_SIGNAL_OUT (out_DECOD_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception_ifetch); 116 116 } 117 117 { 118 ALLOC1_INTERFACE("decod",OUT , EAST, "Send bundle to the decod unit.",_param->_nb_instruction);118 ALLOC1_INTERFACE("decod",OUT , EAST, _("Send bundle to the decod unit."),_param->_nb_instruction); 119 119 120 120 ALLOC1_VALACK_OUT(out_DECOD_VAL ,VAL); … … 125 125 // ~~~~~[ Interface "event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 126 126 { 127 ALLOC_INTERFACE("event",IN , NORTH, "Event interface."); 128 129 ALLOC_VALACK_IN ( in_EVENT_VAL ,VAL); 130 ALLOC_VALACK_OUT(out_EVENT_ACK ,ACK); 131 ALLOC_SIGNAL_IN ( in_EVENT_ADDRESS,"address",Tgeneral_address_t,_param->_size_address); 127 ALLOC_INTERFACE("event",IN , NORTH, _("Event interface.")); 128 129 ALLOC_VALACK_IN ( in_EVENT_VAL ,VAL); 130 ALLOC_VALACK_OUT(out_EVENT_ACK ,ACK); 131 ALLOC_SIGNAL_IN ( in_EVENT_ADDRESS ,"address" ,Tgeneral_address_t,_param->_size_instruction_address); 132 ALLOC_SIGNAL_IN ( in_EVENT_ADDRESS_NEXT ,"address_next" ,Tgeneral_address_t,_param->_size_instruction_address); 133 ALLOC_SIGNAL_IN ( in_EVENT_ADDRESS_NEXT_VAL ,"address_next_val",Tcontrol_t,1); 134 ALLOC_SIGNAL_IN ( in_EVENT_IS_DS_TAKE ,"is_ds_take" ,Tcontrol_t,1); 132 135 } 133 136 … … 137 140 { 138 141 name = _name+"_address_management"; 139 std::cout << "Create : " << name << std::endl;142 log_printf(Ifetch_unit,Core,FUNCTION,_("Create : %s"),name.c_str()); 140 143 141 144 _component_address_management = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::address_management::Address_management … … 156 159 { 157 160 name = _name+"_ifetch_queue"; 158 std::cout << "Create : " << name << std::endl;161 log_printf(Ifetch_unit,Core,FUNCTION,_("Create : %s"),name.c_str()); 159 162 160 163 _component_ifetch_queue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_queue::Ifetch_queue … … 175 178 { 176 179 name = _name+"_ifetch_unit_glue"; 177 std::cout << "Create : " << name << std::endl;180 log_printf(Ifetch_unit,Core,FUNCTION,_("Create : %s"),name.c_str()); 178 181 179 182 _component_ifetch_unit_glue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_unit_glue::Ifetch_unit_Glue … … 200 203 { 201 204 src = _name+"_address_management"; 202 std::cout << "Instance : " << src << std::endl;205 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 203 206 204 207 { … … 225 228 } 226 229 227 if (_param->_have_port_inst ruction_ptr)230 if (_param->_have_port_inst_ifetch_ptr) 228 231 COMPONENT_MAP(_component,src ,"out_ADDRESS_INST_IFETCH_PTR" , 229 232 dest, "in_ADDRESS_INST_IFETCH_PTR" ); 230 233 COMPONENT_MAP(_component,src ,"out_ADDRESS_BRANCH_STATE" , 231 234 dest, "in_ADDRESS_BRANCH_STATE" ); 232 if (_param->_have_port_ branch_update_prediction_id)235 if (_param->_have_port_depth) 233 236 COMPONENT_MAP(_component,src ,"out_ADDRESS_BRANCH_UPDATE_PREDICTION_ID", 234 237 dest, "in_ADDRESS_BRANCH_UPDATE_PREDICTION_ID"); … … 281 284 PORT_MAP(_component,src , "in_PREDICT_PC_NEXT_IS_DS_TAKE" 282 285 ,dest, "in_PREDICT_PC_NEXT_IS_DS_TAKE" ); 283 if (_param->_have_port_inst ruction_ptr)286 if (_param->_have_port_inst_ifetch_ptr) 284 287 PORT_MAP(_component,src , "in_PREDICT_INST_IFETCH_PTR" 285 288 ,dest, "in_PREDICT_INST_IFETCH_PTR" ); 286 289 PORT_MAP(_component,src , "in_PREDICT_BRANCH_STATE" 287 290 ,dest, "in_PREDICT_BRANCH_STATE" ); 288 if (_param->_have_port_ branch_update_prediction_id)291 if (_param->_have_port_depth) 289 292 PORT_MAP(_component,src , "in_PREDICT_BRANCH_UPDATE_PREDICTION_ID" 290 293 ,dest, "in_PREDICT_BRANCH_UPDATE_PREDICTION_ID"); … … 306 309 307 310 dest = _name; 308 PORT_MAP(_component,src , "in_EVENT_ADDRESS",dest, "in_EVENT_ADDRESS"); 311 PORT_MAP(_component,src , "in_EVENT_ADDRESS" ,dest , "in_EVENT_ADDRESS" ); 312 PORT_MAP(_component,src , "in_EVENT_ADDRESS_NEXT" ,dest , "in_EVENT_ADDRESS_NEXT" ); 313 PORT_MAP(_component,src , "in_EVENT_ADDRESS_NEXT_VAL",dest , "in_EVENT_ADDRESS_NEXT_VAL" ); 314 PORT_MAP(_component,src , "in_EVENT_IS_DS_TAKE" ,dest , "in_EVENT_IS_DS_TAKE" ); 309 315 } 310 316 } … … 315 321 { 316 322 src = _name+"_ifetch_queue"; 317 std::cout << "Instance : " << src << std::endl;323 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 318 324 319 325 { … … 335 341 #endif 336 342 337 if (_param->_have_port_ queue_ptr)343 if (_param->_have_port_ifetch_queue_ptr) 338 344 PORT_MAP(_component,src ,"out_ADDRESS_IFETCH_QUEUE_ID" , 339 345 dest,"out_ICACHE_REQ_PACKET_ID" ); … … 386 392 387 393 PORT_MAP(_component,src ,"out_DECOD_ADDRESS" ,dest,"out_DECOD_ADDRESS" ); 388 if (_param->_have_port_inst ruction_ptr)394 if (_param->_have_port_inst_ifetch_ptr) 389 395 PORT_MAP(_component,src ,"out_DECOD_INST_IFETCH_PTR" ,dest,"out_DECOD_INST_IFETCH_PTR" ); 390 396 PORT_MAP(_component,src ,"out_DECOD_BRANCH_STATE" ,dest,"out_DECOD_BRANCH_STATE" ); 391 if (_param->_have_port_ branch_update_prediction_id)397 if (_param->_have_port_depth) 392 398 PORT_MAP(_component,src ,"out_DECOD_BRANCH_UPDATE_PREDICTION_ID",dest,"out_DECOD_BRANCH_UPDATE_PREDICTION_ID"); 393 399 PORT_MAP(_component,src ,"out_DECOD_EXCEPTION" ,dest,"out_DECOD_EXCEPTION" ); … … 404 410 PORT_MAP(_component,src , "in_ICACHE_RSP_VAL" ,dest, "in_ICACHE_RSP_VAL" ); 405 411 PORT_MAP(_component,src ,"out_ICACHE_RSP_ACK" ,dest,"out_ICACHE_RSP_ACK" ); 406 if (_param->_have_port_ queue_ptr)412 if (_param->_have_port_ifetch_queue_ptr) 407 413 PORT_MAP(_component,src , "in_ICACHE_RSP_PACKET_ID",dest, "in_ICACHE_RSP_PACKET_ID"); 408 414 PORT_MAP(_component,src , "in_ICACHE_RSP_ERROR" ,dest, "in_ICACHE_RSP_ERROR" ); … … 437 443 { 438 444 src = _name+"_ifetch_unit_glue"; 439 std::cout << "Instance : " << src << std::endl;445 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 440 446 441 447 { … … 490 496 491 497 // ~~~~~[ Others ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 492 if (DEBUG_Ifetch_unit == true) 493 _component->test_map(); 494 495 #ifdef POSITION 496 _component->generate_file(); 498 #if DEBUG_Ifetch_unit == true 499 _component->test_map(); 500 #endif 501 502 #ifdef POSITION 503 if (usage_is_set(_usage,USE_POSITION)) 504 _component->generate_file(); 497 505 #endif 498 506 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_deallocation.cpp
r81 r88 22 22 log_printf(FUNC,Ifetch_unit,FUNCTION,"Begin"); 23 23 24 if ( _usage & USE_SYSTEMC)24 if (usage_is_set(_usage,USE_SYSTEMC)) 25 25 { 26 26 delete in_CLOCK ; … … 30 30 delete in_ICACHE_REQ_ACK ; 31 31 //delete out_ICACHE_REQ_THREAD_ID ; 32 if (_param->_have_port_ queue_ptr)32 if (_param->_have_port_ifetch_queue_ptr) 33 33 delete out_ICACHE_REQ_PACKET_ID ; 34 34 delete out_ICACHE_REQ_ADDRESS ; … … 38 38 delete out_ICACHE_RSP_ACK ; 39 39 //delete in_ICACHE_RSP_THREAD_ID ; 40 if (_param->_have_port_ queue_ptr)40 if (_param->_have_port_ifetch_queue_ptr) 41 41 delete in_ICACHE_RSP_PACKET_ID ; 42 42 delete [] in_ICACHE_RSP_INSTRUCTION ; … … 51 51 delete in_PREDICT_PC_NEXT_IS_DS_TAKE ; 52 52 delete [] in_PREDICT_INSTRUCTION_ENABLE ; 53 if (_param->_have_port_inst ruction_ptr)53 if (_param->_have_port_inst_ifetch_ptr) 54 54 delete in_PREDICT_INST_IFETCH_PTR ; 55 55 delete in_PREDICT_BRANCH_STATE ; 56 if (_param->_have_port_ branch_update_prediction_id)56 if (_param->_have_port_depth) 57 57 delete in_PREDICT_BRANCH_UPDATE_PREDICTION_ID ; 58 58 … … 62 62 //delete out_DECOD_CONTEXT_ID ; 63 63 delete out_DECOD_ADDRESS ; 64 if (_param->_have_port_inst ruction_ptr)64 if (_param->_have_port_inst_ifetch_ptr) 65 65 delete out_DECOD_INST_IFETCH_PTR ; 66 66 delete out_DECOD_BRANCH_STATE ; 67 if (_param->_have_port_ branch_update_prediction_id)67 if (_param->_have_port_depth) 68 68 delete out_DECOD_BRANCH_UPDATE_PREDICTION_ID ; 69 69 delete out_DECOD_EXCEPTION ; … … 72 72 delete out_EVENT_ACK ; 73 73 delete in_EVENT_ADDRESS ; 74 delete in_EVENT_ADDRESS_NEXT ; 75 delete in_EVENT_ADDRESS_NEXT_VAL ; 76 delete in_EVENT_IS_DS_TAKE ; 74 77 } 75 78 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_end_cycle.cpp
r81 r88 24 24 25 25 #ifdef STATISTICS 26 _stat->end_cycle(); 26 if (usage_is_set(_usage,USE_STATISTICS)) 27 _stat->end_cycle(); 27 28 #endif 28 29 … … 30 31 // Evaluation before read the ouput signal 31 32 // sc_start(0); 32 _interfaces->testbench(); 33 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 34 _interfaces->testbench(); 33 35 #endif 34 36 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Parameters.cpp
r85 r88 21 21 uint32_t nb_instruction , 22 22 uint32_t size_branch_update_prediction, 23 uint32_t size_address ) 23 uint32_t size_address , 24 bool is_toplevel 25 ) 24 26 { 25 27 log_printf(FUNC,Ifetch_unit,FUNCTION,"Begin"); … … 27 29 _size_queue = size_queue ; 28 30 _nb_instruction = nb_instruction ; 29 _size_branch_update_prediction = size_branch_update_prediction; 30 _size_address = size_address ; 31 32 _size_queue_ptr = log2(size_queue); 33 _size_instruction_ptr = log2(nb_instruction); 34 35 _have_port_queue_ptr = _size_queue_ptr > 0; 36 _have_port_instruction_ptr = _size_instruction_ptr > 0; 37 _have_port_branch_update_prediction_id = size_branch_update_prediction > 0; 31 // _size_branch_update_prediction = size_branch_update_prediction; 32 // _size_address = size_address ; 38 33 39 34 test(); … … 50 45 _param_ifetch_unit_glue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_unit_glue:: Parameters 51 46 (size_address); 52 47 48 if (is_toplevel) 49 { 50 _size_instruction_address = size_address; 51 _size_ifetch_queue_ptr = log2(size_queue); 52 _size_inst_ifetch_ptr = log2(nb_instruction); 53 _size_depth = size_branch_update_prediction; 54 55 _have_port_ifetch_queue_ptr = _size_ifetch_queue_ptr > 0; 56 _have_port_inst_ifetch_ptr = _size_inst_ifetch_ptr > 0; 57 _have_port_depth = _size_depth > 0; 58 59 copy (); 60 } 61 53 62 log_printf(FUNC,Ifetch_unit,FUNCTION,"End"); 54 63 }; … … 74 83 }; 75 84 85 #undef FUNCTION 86 #define FUNCTION "Ifetch_unit::copy" 87 void Parameters::copy (void) 88 { 89 log_printf(FUNC,Ifetch_unit,FUNCTION,"Begin"); 90 91 COPY(_param_address_management); 92 COPY(_param_ifetch_queue ); 93 COPY(_param_ifetch_unit_glue ); 94 95 log_printf(FUNC,Ifetch_unit,FUNCTION,"End"); 96 }; 97 76 98 }; // end namespace ifetch_unit 77 99 }; // end namespace front_end -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Parameters_print.cpp
r81 r88 23 23 log_printf(FUNC,Ifetch_unit,FUNCTION,"Begin"); 24 24 25 XML xml ("ifetch_unit");25 // XML xml ("ifetch_unit"); 26 26 27 xml.balise_open("ifetch_unit"); 28 xml.singleton_begin("size_queue "); xml.attribut("value",toString(_size_queue )); xml.singleton_end(); 29 xml.singleton_begin("nb_instruction "); xml.attribut("value",toString(_nb_instruction )); xml.singleton_end(); 30 xml.singleton_begin("size_branch_update_prediction"); xml.attribut("value",toString(_size_branch_update_prediction)); xml.singleton_end(); 31 xml.singleton_begin("size_address "); xml.attribut("value",toString(_size_address )); xml.singleton_end(); 32 xml.balise_close(); 27 // xml.balise_open("ifetch_unit"); 28 // xml.singleton_begin("size_queue "); xml.attribut("value",toString(_size_queue )); xml.singleton_end(); 29 // xml.singleton_begin("nb_instruction "); xml.attribut("value",toString(_nb_instruction )); xml.singleton_end(); 30 // // xml.singleton_begin("size_branch_update_prediction"); xml.attribut("value",toString(_size_branch_update_prediction)); xml.singleton_end(); 31 // // xml.singleton_begin("size_address "); xml.attribut("value",toString(_size_address )); xml.singleton_end(); 32 // xml.balise_close(); 33 34 // return xml.get_body(depth); 35 36 std::string str = ""; 33 37 34 38 log_printf(FUNC,Ifetch_unit,FUNCTION,"End"); 39 40 return str; 35 41 36 return xml.get_body(depth);37 42 }; 38 43
Note: See TracChangeset
for help on using the changeset viewer.