Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_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_Read_unit/Read_unit/src/Parameters.cpp
r81 r88 20 20 #define FUNCTION "Read_unit::Parameters" 21 21 Parameters::Parameters (uint32_t size_read_queue , 22 uint32_t size_reservation_station, 23 uint32_t nb_context , 24 uint32_t nb_front_end , 25 uint32_t nb_ooo_engine , 26 uint32_t nb_packet , 27 uint32_t size_general_data , 28 uint32_t size_special_data , 29 uint32_t nb_general_register , 30 uint32_t nb_special_register , 31 uint32_t nb_gpr_write , 32 uint32_t nb_spr_write , 33 uint32_t size_store_queue , 34 uint32_t size_load_queue , 35 uint32_t nb_inst_retire , 36 uint32_t nb_bypass_write , 37 uint32_t nb_bypass_memory ): 38 _size_read_queue (size_read_queue ), 39 _size_reservation_station (size_reservation_station), 40 _nb_context (nb_context ), 41 _nb_front_end (nb_front_end ), 42 _nb_ooo_engine (nb_ooo_engine ), 43 _nb_packet (nb_packet ), 44 _size_general_data (size_general_data ), 45 _size_special_data (size_special_data ), 46 _nb_general_register (nb_general_register ), 47 _nb_special_register (nb_special_register ), 48 _nb_gpr_write (nb_gpr_write ), 49 _nb_spr_write (nb_spr_write ), 50 _size_store_queue (size_store_queue ), 51 _size_load_queue (size_load_queue ), 52 _nb_inst_retire (nb_inst_retire ), 53 _nb_bypass_write (nb_bypass_write ), 54 _nb_bypass_memory (nb_bypass_memory ), 55 56 _nb_gpr_read (2), 57 _nb_spr_read (1), 58 _size_context_id (log2(nb_context )), 59 _size_front_end_id (log2(nb_front_end )), 60 _size_ooo_engine_id (log2(nb_ooo_engine )), 61 _size_packet_id (log2(nb_packet )), 62 _size_general_register (log2(nb_general_register)), 63 _size_special_register (log2(nb_special_register)), 64 65 _have_port_context_id (_size_context_id >0), 66 _have_port_front_end_id (_size_front_end_id >0), 67 _have_port_ooo_engine_id (_size_ooo_engine_id>0), 68 _have_port_packet_id (_size_packet_id >0), 69 _have_port_load_queue_ptr (_size_load_queue >1) 22 uint32_t size_reservation_station, 23 uint32_t nb_context , 24 uint32_t nb_front_end , 25 uint32_t nb_ooo_engine , 26 uint32_t nb_packet , 27 uint32_t size_general_data , 28 uint32_t size_special_data , 29 uint32_t nb_general_register , 30 uint32_t nb_special_register , 31 uint32_t nb_gpr_write , 32 uint32_t nb_spr_write , 33 uint32_t size_store_queue , 34 uint32_t size_load_queue , 35 uint32_t nb_inst_retire , 36 uint32_t nb_bypass_write , 37 uint32_t nb_bypass_memory , 38 bool is_toplevel) 70 39 { 71 40 log_printf(FUNC,Read_unit,FUNCTION,"Begin"); 72 41 42 _size_read_queue = size_read_queue ; 43 _size_reservation_station = size_reservation_station; 44 _nb_context = nb_context ; 45 _nb_front_end = nb_front_end ; 46 _nb_ooo_engine = nb_ooo_engine ; 47 _nb_packet = nb_packet ; 48 _nb_general_register = nb_general_register ; 49 _nb_special_register = nb_special_register ; 50 _nb_gpr_write = nb_gpr_write ; 51 _nb_spr_write = nb_spr_write ; 52 _nb_inst_retire = nb_inst_retire ; 53 _nb_bypass_write = nb_bypass_write ; 54 _nb_bypass_memory = nb_bypass_memory ; 55 56 _nb_gpr_read = 2; 57 _nb_spr_read = 1; 58 73 59 _param_read_queue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters 74 ( 75 76 77 78 79 ,_size_general_data80 ,_size_special_data81 82 83 84 85 ,_size_store_queue86 ,_size_load_queue87 60 (_size_read_queue 61 ,_nb_context 62 ,_nb_front_end 63 ,_nb_ooo_engine 64 ,_nb_packet 65 , size_general_data 66 , size_special_data 67 ,_nb_general_register 68 ,_nb_special_register 69 ,_nb_gpr_write 70 ,_nb_spr_write 71 , size_store_queue 72 , size_load_queue 73 ); 88 74 89 75 _param_reservation_station = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Parameters 90 (size_reservation_station 91 ,nb_inst_retire 92 ,nb_context 93 ,nb_front_end 94 ,nb_ooo_engine 95 ,nb_packet 96 ,size_general_data 97 ,size_special_data 98 ,nb_general_register 99 ,nb_special_register 100 ,nb_gpr_write 101 ,nb_spr_write 102 ,nb_bypass_write 103 ,nb_bypass_memory 104 ,size_store_queue 105 ,size_load_queue 106 ); 107 76 (_size_reservation_station 77 ,_nb_inst_retire 78 ,_nb_context 79 ,_nb_front_end 80 ,_nb_ooo_engine 81 ,_nb_packet 82 , size_general_data 83 , size_special_data 84 ,_nb_general_register 85 ,_nb_special_register 86 ,_nb_gpr_write 87 ,_nb_spr_write 88 ,_nb_bypass_write 89 ,_nb_bypass_memory 90 , size_store_queue 91 , size_load_queue 92 ); 108 93 109 94 test(); 95 96 if (is_toplevel) 97 { 98 _size_context_id = log2(nb_context ); 99 _size_front_end_id = log2(nb_front_end ); 100 _size_ooo_engine_id = log2(nb_ooo_engine ); 101 _size_rob_ptr = log2(nb_packet ); 102 _size_general_register = log2(nb_general_register); 103 _size_special_register = log2(nb_special_register); 104 _size_general_data = size_general_data ; 105 _size_special_data = size_special_data ; 106 _size_store_queue_ptr = log2(size_store_queue ); 107 _size_load_queue_ptr = log2(size_load_queue ); 108 109 _have_port_context_id = _size_context_id > 0; 110 _have_port_front_end_id = _size_front_end_id > 0; 111 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 112 _have_port_rob_ptr = _size_rob_ptr > 0; 113 _have_port_load_queue_ptr = _size_load_queue_ptr > 0; 114 115 copy(); 116 } 110 117 111 118 log_printf(FUNC,Read_unit,FUNCTION,"End"); 112 119 }; 113 120 121 // #undef FUNCTION 122 // #define FUNCTION "Read_unit::Parameters (copy)" 123 // Parameters::Parameters (Parameters & param): 124 // _size_read_queue (param._size_read_queue ), 125 // _size_reservation_station (param._size_reservation_station), 126 // _nb_context (param._nb_context ), 127 // _nb_front_end (param._nb_front_end ), 128 // _nb_ooo_engine (param._nb_ooo_engine ), 129 // _nb_packet (param._nb_packet ), 130 // _size_general_data (param._size_general_data ), 131 // _size_special_data (param._size_special_data ), 132 // _nb_general_register (param._nb_general_register ), 133 // _nb_special_register (param._nb_special_register ), 134 // _nb_gpr_write (param._nb_gpr_write ), 135 // _nb_spr_write (param._nb_spr_write ), 136 // _size_store_queue (param._size_store_queue ), 137 // _size_load_queue (param._size_load_queue ), 138 // _nb_inst_retire (param._nb_inst_retire ), 139 // _nb_bypass_write (param._nb_bypass_write ), 140 // _nb_bypass_memory (param._nb_bypass_memory ), 141 142 // _nb_gpr_read (param._nb_gpr_read ), 143 // _nb_spr_read (param._nb_spr_read ), 144 // _size_context_id (param._size_context_id ), 145 // _size_front_end_id (param._size_front_end_id ), 146 // _size_ooo_engine_id (param._size_ooo_engine_id ), 147 // _size_packet_id (param._size_packet_id ), 148 // _size_general_register (param._size_general_register ), 149 // _size_special_register (param._size_special_register ), 150 151 // _have_port_context_id (param._have_port_context_id ), 152 // _have_port_front_end_id (param._have_port_front_end_id ), 153 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id ), 154 // _have_port_packet_id (param._have_port_packet_id ), 155 // _have_port_load_queue_ptr (param._have_port_load_queue_ptr) 156 // { 157 // log_printf(FUNC,Read_unit,FUNCTION,"Begin"); 158 159 // _param_read_queue = param._param_read_queue ; 160 // _param_reservation_station = param._param_reservation_station; 161 162 // test(); 163 164 // log_printf(FUNC,Read_unit,FUNCTION,"End"); 165 // }; 166 114 167 #undef FUNCTION 115 #define FUNCTION "Read_unit::Parameters (copy)" 116 Parameters::Parameters (Parameters & param): 117 _size_read_queue (param._size_read_queue ), 118 _size_reservation_station (param._size_reservation_station), 119 _nb_context (param._nb_context ), 120 _nb_front_end (param._nb_front_end ), 121 _nb_ooo_engine (param._nb_ooo_engine ), 122 _nb_packet (param._nb_packet ), 123 _size_general_data (param._size_general_data ), 124 _size_special_data (param._size_special_data ), 125 _nb_general_register (param._nb_general_register ), 126 _nb_special_register (param._nb_special_register ), 127 _nb_gpr_write (param._nb_gpr_write ), 128 _nb_spr_write (param._nb_spr_write ), 129 _size_store_queue (param._size_store_queue ), 130 _size_load_queue (param._size_load_queue ), 131 _nb_inst_retire (param._nb_inst_retire ), 132 _nb_bypass_write (param._nb_bypass_write ), 133 _nb_bypass_memory (param._nb_bypass_memory ), 134 135 _nb_gpr_read (param._nb_gpr_read ), 136 _nb_spr_read (param._nb_spr_read ), 137 _size_context_id (param._size_context_id ), 138 _size_front_end_id (param._size_front_end_id ), 139 _size_ooo_engine_id (param._size_ooo_engine_id ), 140 _size_packet_id (param._size_packet_id ), 141 _size_general_register (param._size_general_register ), 142 _size_special_register (param._size_special_register ), 143 144 _have_port_context_id (param._have_port_context_id ), 145 _have_port_front_end_id (param._have_port_front_end_id ), 146 _have_port_ooo_engine_id (param._have_port_ooo_engine_id ), 147 _have_port_packet_id (param._have_port_packet_id ), 148 _have_port_load_queue_ptr (param._have_port_load_queue_ptr) 168 #define FUNCTION "Read_unit::~Parameters" 169 Parameters::~Parameters (void) 149 170 { 150 171 log_printf(FUNC,Read_unit,FUNCTION,"Begin"); 151 172 152 _param_read_queue = param._param_read_queue ; 153 _param_reservation_station = param._param_reservation_station; 154 155 test(); 173 delete _param_read_queue; 174 delete _param_reservation_station; 156 175 157 176 log_printf(FUNC,Read_unit,FUNCTION,"End"); … … 159 178 160 179 #undef FUNCTION 161 #define FUNCTION "Read_unit:: ~Parameters"162 Parameters::~Parameters ()180 #define FUNCTION "Read_unit::copy" 181 void Parameters::copy (void) 163 182 { 164 183 log_printf(FUNC,Read_unit,FUNCTION,"Begin"); 165 184 166 delete _param_read_queue;167 delete _param_reservation_station;185 COPY(_param_read_queue); 186 COPY(_param_reservation_station); 168 187 169 188 log_printf(FUNC,Read_unit,FUNCTION,"End");
Note: See TracChangeset
for help on using the changeset viewer.