Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_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_Write_unit/Write_unit/src/Parameters.cpp
r81 r88 29 29 uint32_t size_special_data , 30 30 uint32_t nb_special_register, 31 uint32_t nb_bypass_write ): 32 _size_write_queue (size_write_queue ), 33 _size_execute_queue (size_execute_queue ), 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 _nb_bypass_write (nb_bypass_write ), 43 44 _nb_gpr_write (1), 45 _nb_spr_write (1), 46 47 _size_context_id (log2(_nb_context )), 48 _size_front_end_id (log2(_nb_front_end )), 49 _size_ooo_engine_id (log2(_nb_ooo_engine )), 50 _size_packet_id (log2(_nb_packet )), 51 _size_general_register (log2(_nb_general_register)), 52 _size_special_register (log2(_nb_special_register)), 53 54 _have_component_execute_queue (_size_execute_queue > 0), 55 _have_port_context_id (_size_context_id > 0), 56 _have_port_front_end_id (_size_front_end_id > 0), 57 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 58 _have_port_packet_id (_size_packet_id > 0) 31 uint32_t nb_bypass_write , 32 bool is_toplevel ) 59 33 { 60 34 log_printf(FUNC,Write_unit,FUNCTION,"Begin"); 61 35 62 _param_write_queue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue ::Parameters(size_write_queue , 63 nb_context , 64 nb_front_end , 65 nb_ooo_engine , 66 nb_packet , 67 size_general_data , 68 nb_general_register, 69 size_special_data , 70 nb_special_register, 71 nb_bypass_write ); 36 _size_write_queue = size_write_queue ; 37 _size_execute_queue = size_execute_queue ; 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 _nb_general_register = nb_general_register; 43 _nb_special_register = nb_special_register; 44 _nb_bypass_write = nb_bypass_write ; 45 46 _nb_gpr_write = 1; 47 _nb_spr_write = 1; 48 49 _have_component_execute_queue = _size_execute_queue > 0; 50 51 _param_write_queue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue ::Parameters(_size_write_queue , 52 _nb_context , 53 _nb_front_end , 54 _nb_ooo_engine , 55 _nb_packet , 56 size_general_data , 57 _nb_general_register, 58 size_special_data , 59 _nb_special_register, 60 _nb_bypass_write ); 72 61 73 62 if (_have_component_execute_queue) 74 _param_execute_queue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::execute_queue::Parameters( size_execute_queue ,75 nb_context ,76 nb_front_end ,77 nb_ooo_engine ,78 nb_packet ,79 size_general_data ,80 size_special_data );63 _param_execute_queue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::execute_queue::Parameters(_size_execute_queue , 64 _nb_context , 65 _nb_front_end , 66 _nb_ooo_engine , 67 _nb_packet , 68 size_general_data , 69 size_special_data ); 81 70 82 71 test(); 72 73 if (is_toplevel) 74 { 75 _size_context_id = log2(_nb_context ); 76 _size_front_end_id = log2(_nb_front_end ); 77 _size_ooo_engine_id = log2(_nb_ooo_engine ); 78 _size_rob_ptr = log2(_nb_packet ); 79 _size_general_register = log2(_nb_general_register); 80 _size_special_register = log2(_nb_special_register); 81 _size_general_data = size_general_data ; 82 _size_special_data = size_special_data ; 83 84 _have_port_context_id = _size_context_id > 0; 85 _have_port_front_end_id = _size_front_end_id > 0; 86 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 87 _have_port_rob_ptr = _size_rob_ptr > 0; 88 89 copy(); 90 } 83 91 84 92 log_printf(FUNC,Write_unit,FUNCTION,"End"); 85 93 }; 86 94 87 #undef FUNCTION88 #define FUNCTION "Write_unit::Parameters (copy)"89 Parameters::Parameters (Parameters & param):90 _size_write_queue (param._size_write_queue ),91 _size_execute_queue (param._size_execute_queue ),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 _nb_general_register (param._nb_general_register ),98 _size_special_data (param._size_special_data ),99 _nb_special_register (param._nb_special_register ),100 _nb_bypass_write (param._nb_bypass_write ),95 // #undef FUNCTION 96 // #define FUNCTION "Write_unit::Parameters (copy)" 97 // Parameters::Parameters (Parameters & param): 98 // _size_write_queue (param._size_write_queue ), 99 // _size_execute_queue (param._size_execute_queue ), 100 // _nb_context (param._nb_context ), 101 // _nb_front_end (param._nb_front_end ), 102 // _nb_ooo_engine (param._nb_ooo_engine ), 103 // _nb_packet (param._nb_packet ), 104 // _size_general_data (param._size_general_data ), 105 // _nb_general_register (param._nb_general_register ), 106 // _size_special_data (param._size_special_data ), 107 // _nb_special_register (param._nb_special_register ), 108 // _nb_bypass_write (param._nb_bypass_write ), 101 109 102 _nb_gpr_write (param._nb_gpr_write ),103 _nb_spr_write (param._nb_spr_write ),110 // _nb_gpr_write (param._nb_gpr_write ), 111 // _nb_spr_write (param._nb_spr_write ), 104 112 105 _size_context_id (param._size_context_id ),106 _size_front_end_id (param._size_front_end_id ),107 _size_ooo_engine_id (param._size_ooo_engine_id ),108 _size_packet_id (param._size_packet_id ),109 _size_general_register (param._size_general_register ),110 _size_special_register (param._size_special_register ),113 // _size_context_id (param._size_context_id ), 114 // _size_front_end_id (param._size_front_end_id ), 115 // _size_ooo_engine_id (param._size_ooo_engine_id ), 116 // _size_packet_id (param._size_packet_id ), 117 // _size_general_register (param._size_general_register ), 118 // _size_special_register (param._size_special_register ), 111 119 112 _have_component_execute_queue (param._have_component_execute_queue),113 _have_port_context_id (param._have_port_context_id ),114 _have_port_front_end_id (param._have_port_front_end_id ),115 _have_port_ooo_engine_id (param._have_port_ooo_engine_id ),116 _have_port_packet_id (param._have_port_packet_id )117 {118 log_printf(FUNC,Write_unit,FUNCTION,"Begin");120 // _have_component_execute_queue (param._have_component_execute_queue), 121 // _have_port_context_id (param._have_port_context_id ), 122 // _have_port_front_end_id (param._have_port_front_end_id ), 123 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id ), 124 // _have_port_packet_id (param._have_port_packet_id ) 125 // { 126 // log_printf(FUNC,Write_unit,FUNCTION,"Begin"); 119 127 120 _param_write_queue = param._param_write_queue ;121 _param_execute_queue = param._param_execute_queue;128 // _param_write_queue = param._param_write_queue ; 129 // _param_execute_queue = param._param_execute_queue; 122 130 123 test();124 log_printf(FUNC,Write_unit,FUNCTION,"End");125 };131 // test(); 132 // log_printf(FUNC,Write_unit,FUNCTION,"End"); 133 // }; 126 134 127 135 #undef FUNCTION 128 136 #define FUNCTION "Write_unit::~Parameters" 129 Parameters::~Parameters ( )137 Parameters::~Parameters (void) 130 138 { 131 139 log_printf(FUNC,Write_unit,FUNCTION,"Begin"); … … 139 147 }; 140 148 149 #undef FUNCTION 150 #define FUNCTION "Write_unit::copy" 151 void Parameters::copy (void) 152 { 153 log_printf(FUNC,Write_unit,FUNCTION,"Begin"); 154 155 COPY(_param_write_queue); 156 if (_have_component_execute_queue) 157 COPY(_param_execute_queue); 158 159 log_printf(FUNC,Write_unit,FUNCTION,"End"); 160 }; 161 141 162 }; // end namespace write_unit 142 163 }; // end namespace multi_write_unit … … 144 165 }; // end namespace multi_execute_loop 145 166 }; // end namespace core 146 147 167 }; // end namespace behavioural 148 168 }; // end namespace morpheo
Note: See TracChangeset
for help on using the changeset viewer.