Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_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/Network/Read_unit_to_Execution_unit/src/Parameters.cpp
r81 r88 7 7 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/include/Parameters.h" 9 #include "Common/include/Max.h" 9 10 10 11 namespace morpheo { … … 20 21 #define FUNCTION "Read_unit_to_Execution_unit::Parameters" 21 22 Parameters::Parameters (uint32_t nb_read_unit , 23 uint32_t * nb_read_unit_port , 22 24 uint32_t nb_execute_unit , 25 uint32_t * nb_execute_unit_port , 23 26 uint32_t nb_context , 24 27 uint32_t nb_front_end , … … 32 35 uint32_t size_load_queue , 33 36 Tpriority_t priority , 34 bool 37 bool *** table_routing , 35 38 bool ** table_execute_type , 36 bool ** table_execute_thread ): 37 _nb_read_unit (nb_read_unit ), 38 _nb_execute_unit (nb_execute_unit ), 39 _nb_context (nb_context ), 40 _nb_front_end (nb_front_end ), 41 _nb_ooo_engine (nb_ooo_engine ), 42 _nb_packet (nb_packet ), 43 _size_general_data (size_general_data ), 44 _size_special_data (size_special_data ), 45 _nb_general_register (nb_general_register), 46 _nb_special_register (nb_special_register), 47 _size_store_queue (size_store_queue ), 48 _size_load_queue (size_load_queue ), 49 _priority (priority ), 50 51 _size_context_id (log2(nb_context )), 52 _size_front_end_id (log2(nb_front_end )), 53 _size_ooo_engine_id (log2(nb_ooo_engine )), 54 _size_packet_id (log2(nb_packet )), 55 _size_general_register (log2(nb_general_register)), 56 _size_special_register (log2(nb_special_register)), 57 58 _have_port_context_id (_size_context_id > 0), 59 _have_port_front_end_id (_size_front_end_id > 0), 60 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 61 _have_port_packet_id (_size_packet_id > 0), 62 _have_port_load_queue_ptr(_size_load_queue > 1), 63 64 _nb_thread (get_nb_thread (nb_context, nb_front_end, nb_ooo_engine)) 39 bool ** table_execute_thread , 40 bool is_toplevel ) 65 41 { 66 42 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"Begin"); 67 43 68 _table_routing = table_routing ; 69 _table_execute_type = table_execute_type ; 70 _table_execute_thread = table_execute_thread; 44 _nb_read_unit = nb_read_unit ; 45 _nb_read_unit_port = nb_read_unit_port ; 46 _nb_execute_unit = nb_execute_unit ; 47 _nb_execute_unit_port = nb_execute_unit_port; 48 _nb_context = nb_context ; 49 _nb_front_end = nb_front_end ; 50 _nb_ooo_engine = nb_ooo_engine ; 51 _nb_packet = nb_packet ; 52 _nb_general_register = nb_general_register ; 53 _nb_special_register = nb_special_register ; 54 _priority = priority ; 55 _table_routing = table_routing ; 56 _table_execute_type = table_execute_type ; 57 _table_execute_thread = table_execute_thread; 71 58 72 _nb_load_store_unit = 0; 59 _max_nb_read_unit_port = max<uint32_t>(_nb_read_unit_port, _nb_read_unit); 60 _max_nb_execute_unit_port= max<uint32_t>(_nb_execute_unit_port, _nb_execute_unit); 61 62 _nb_thread = get_nb_thread (nb_context, nb_front_end, nb_ooo_engine); 63 _nb_load_store_unit = 0; 73 64 74 65 for (uint32_t i=0; i<nb_execute_unit; i++) … … 82 73 test(); 83 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 _size_general_data = size_general_data ; 84 _size_special_data = size_special_data ; 85 _size_store_queue_ptr = log2(size_store_queue ); 86 _size_load_queue_ptr = log2(size_load_queue ); 87 88 _have_port_context_id = _size_context_id > 0; 89 _have_port_front_end_id = _size_front_end_id > 0; 90 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 91 _have_port_rob_ptr = _size_rob_ptr > 0; 92 _have_port_load_queue_ptr= _size_load_queue_ptr> 0; 93 94 copy(); 95 } 96 84 97 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"End"); 85 98 }; 86 99 100 // #undef FUNCTION 101 // #define FUNCTION "Read_unit_to_Execution_unit::Parameters (copy)" 102 // Parameters::Parameters (Parameters & param) 103 // { 104 // log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"Begin"); 105 106 // test(); 107 // log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"End"); 108 // }; 109 87 110 #undef FUNCTION 88 #define FUNCTION "Read_unit_to_Execution_unit::Parameters (copy)" 89 Parameters::Parameters (Parameters & param): 90 _nb_read_unit (param._nb_read_unit ), 91 _nb_execute_unit (param._nb_execute_unit ), 92 _nb_context (param._nb_context ), 93 _nb_front_end (param._nb_front_end ), 94 _nb_ooo_engine (param._nb_ooo_engine ), 95 _nb_packet (param._nb_packet ), 96 _size_general_data (param._size_general_data ), 97 _size_special_data (param._size_special_data ), 98 _nb_general_register (param._nb_general_register ), 99 _nb_special_register (param._nb_special_register ), 100 _size_store_queue (param._size_store_queue ), 101 _size_load_queue (param._size_load_queue ), 102 _priority (param._priority ), 103 104 _size_context_id (param._size_context_id ), 105 _size_front_end_id (param._size_front_end_id ), 106 _size_ooo_engine_id (param._size_ooo_engine_id ), 107 _size_packet_id (param._size_packet_id ), 108 _size_general_register (param._size_general_register ), 109 _size_special_register (param._size_special_register ), 110 111 _have_port_context_id (param._have_port_context_id ), 112 _have_port_front_end_id (param._have_port_front_end_id ), 113 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 114 _have_port_packet_id (param._have_port_packet_id ), 115 _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 116 117 _nb_thread (param._nb_thread ) 111 #define FUNCTION "Read_unit_to_Execution_unit::~Parameters" 112 Parameters::~Parameters () 118 113 { 119 114 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"Begin"); 120 121 _table_routing = param._table_routing ;122 _table_execute_type = param._table_execute_type ;123 _table_execute_thread = param._table_execute_thread;124 _nb_load_store_unit = param._nb_load_store_unit ;125 _nb_functionnal_unit = param._nb_functionnal_unit ;126 127 test();128 115 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"End"); 129 116 }; 130 117 131 118 #undef FUNCTION 132 #define FUNCTION "Read_unit_to_Execution_unit:: ~Parameters"133 Parameters::~Parameters ()119 #define FUNCTION "Read_unit_to_Execution_unit::copy" 120 void Parameters::copy (void) 134 121 { 135 122 log_printf(FUNC,Read_unit_to_Execution_unit,FUNCTION,"Begin");
Note: See TracChangeset
for help on using the changeset viewer.