Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp
r81 r88 31 31 uint32_t size_load_queue , 32 32 execute_timing_t** timing , 33 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)) : 34 _nb_context (nb_context ), 35 _nb_front_end (nb_front_end ), 36 _nb_ooo_engine (nb_ooo_engine ), 37 _nb_packet (nb_packet ), 38 _size_general_data (size_general_data ), 39 _nb_general_register (nb_general_register ), 40 _size_special_data (size_special_data ), 41 _nb_special_register (nb_special_register ), 42 _size_store_queue (size_store_queue ), 43 _size_load_queue (size_load_queue ), 44 45 _size_context_id (log2(nb_context )), 46 _size_front_end_id (log2(nb_front_end )), 47 _size_ooo_engine_id (log2(nb_ooo_engine )), 48 _size_packet_id (log2(nb_packet )), 49 _size_general_register (log2(nb_general_register)), 50 _size_special_register (log2(nb_special_register)), 51 52 _have_port_context_id (_size_context_id > 0), 53 _have_port_front_end_id (_size_front_end_id > 0), 54 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 55 _have_port_packet_id (_size_packet_id > 0), 56 _have_port_load_queue_ptr(_size_load_queue > 1), 57 58 _have_groupe_MAC ( (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC ]._latence > 0) or 59 (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC]._latence > 0) or 60 (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB ]._latence > 0)) 33 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void), 34 bool is_toplevel) 61 35 { 62 36 log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin"); 63 37 64 _timing = timing; 38 _nb_context = nb_context ; 39 _nb_front_end = nb_front_end ; 40 _nb_ooo_engine = nb_ooo_engine ; 41 _nb_packet = nb_packet ; 42 // _size_general_data = size_general_data ; 43 // _size_special_data = size_special_data ; 44 // _nb_general_register = nb_general_register ; 45 // _nb_special_register = nb_special_register ; 46 // _size_store_queue = size_store_queue ; 47 // _size_load_queue = size_load_queue ; 48 49 // _size_context_id = log2(nb_context ); 50 // _size_front_end_id = log2(nb_front_end ); 51 // _size_ooo_engine_id = log2(nb_ooo_engine ); 52 // _size_packet_id = log2(nb_packet ); 53 // _size_general_register = log2(nb_general_register); 54 // _size_special_register = log2(nb_special_register); 55 56 // _have_port_context_id = _size_context_id > 0; 57 // _have_port_front_end_id = _size_front_end_id > 0; 58 // _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 59 // _have_port_packet_id = _size_packet_id > 0; 60 // _have_port_load_queue_ptr= _size_load_queue > 1; 61 62 _have_groupe_MAC = ( (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC ]._latence > 0) or 63 (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC]._latence > 0) or 64 (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB ]._latence > 0)); 65 66 _timing = timing; 65 67 66 68 if (get_custom_information == NULL) … … 71 73 test(); 72 74 75 if (is_toplevel) 76 { 77 _size_context_id = log2(nb_context ); 78 _size_front_end_id = log2(nb_front_end ); 79 _size_ooo_engine_id = log2(nb_ooo_engine ); 80 _size_rob_ptr = log2(nb_packet ); 81 _size_general_register = log2(nb_general_register); 82 _size_special_register = log2(nb_special_register); 83 84 _size_general_data = size_general_data ; 85 _size_special_data = size_special_data ; 86 _size_general_register = log2(nb_general_register); 87 _size_special_register = log2(nb_special_register); 88 89 _size_load_queue_ptr = log2(size_load_queue ); 90 _size_store_queue_ptr = log2(size_store_queue); 91 92 _have_port_context_id = _size_context_id > 0; 93 _have_port_front_end_id = _size_front_end_id > 0; 94 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 95 _have_port_rob_ptr = _size_rob_ptr > 0; 96 _have_port_load_queue_ptr= _size_load_queue_ptr> 0; 97 98 copy(); 99 } 100 73 101 log_printf(FUNC,Functionnal_unit,FUNCTION,"End"); 74 102 }; 75 103 104 // #undef FUNCTION 105 // #define FUNCTION "Functionnal_unit::Parameters (copy)" 106 // Parameters::Parameters (Parameters & param): 107 // _nb_context (param._nb_context ), 108 // _nb_front_end (param._nb_front_end ), 109 // _nb_ooo_engine (param._nb_ooo_engine ), 110 // _nb_packet (param._nb_packet ), 111 // _size_general_data (param._size_general_data ), 112 // _nb_general_register (param._nb_general_register ), 113 // _size_special_data (param._size_special_data ), 114 // _nb_special_register (param._nb_special_register ), 115 // _size_store_queue (param._size_store_queue ), 116 // _size_load_queue (param._size_load_queue ), 117 118 // _size_context_id (param._size_context_id ), 119 // _size_front_end_id (param._size_front_end_id ), 120 // _size_ooo_engine_id (param._size_ooo_engine_id ), 121 // _size_packet_id (param._size_packet_id ), 122 // _size_general_register (param._size_general_register ), 123 // _size_special_register (param._size_special_register ), 124 125 // _have_port_context_id (param._have_port_context_id ), 126 // _have_port_front_end_id (param._have_port_front_end_id ), 127 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 128 // _have_port_packet_id (param._have_port_packet_id ), 129 // _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 130 131 // _have_groupe_MAC (param._have_groupe_MAC ) 132 // { 133 // log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin"); 134 135 // _timing = param._timing; 136 // _get_custom_information = param._get_custom_information; 137 138 // test(); 139 // log_printf(FUNC,Functionnal_unit,FUNCTION,"End"); 140 // }; 141 76 142 #undef FUNCTION 77 #define FUNCTION "Functionnal_unit::Parameters (copy)" 78 Parameters::Parameters (Parameters & param): 79 _nb_context (param._nb_context ), 80 _nb_front_end (param._nb_front_end ), 81 _nb_ooo_engine (param._nb_ooo_engine ), 82 _nb_packet (param._nb_packet ), 83 _size_general_data (param._size_general_data ), 84 _nb_general_register (param._nb_general_register ), 85 _size_special_data (param._size_special_data ), 86 _nb_special_register (param._nb_special_register ), 87 _size_store_queue (param._size_store_queue ), 88 _size_load_queue (param._size_load_queue ), 89 90 _size_context_id (param._size_context_id ), 91 _size_front_end_id (param._size_front_end_id ), 92 _size_ooo_engine_id (param._size_ooo_engine_id ), 93 _size_packet_id (param._size_packet_id ), 94 _size_general_register (param._size_general_register ), 95 _size_special_register (param._size_special_register ), 96 97 _have_port_context_id (param._have_port_context_id ), 98 _have_port_front_end_id (param._have_port_front_end_id ), 99 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 100 _have_port_packet_id (param._have_port_packet_id ), 101 _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 102 103 _have_groupe_MAC (param._have_groupe_MAC ) 143 #define FUNCTION "Functionnal_unit::~Parameters" 144 Parameters::~Parameters (void) 104 145 { 105 146 log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin"); 106 107 _timing = param._timing;108 _get_custom_information = param._get_custom_information;109 110 test();111 147 log_printf(FUNC,Functionnal_unit,FUNCTION,"End"); 112 148 }; 113 149 114 150 #undef FUNCTION 115 #define FUNCTION "Functionnal_unit:: ~Parameters"116 Parameters::~Parameters ()151 #define FUNCTION "Functionnal_unit::copy" 152 void Parameters::copy (void) 117 153 { 118 154 log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
Note: See TracChangeset
for help on using the changeset viewer.