- Timestamp:
- Oct 20, 2009, 8:52:15 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue.cpp
r132 r136 174 174 << (*(in_ISSUE_OOO_ENGINE_TYPE [i][j])) 175 175 << (*(in_ISSUE_OOO_ENGINE_OPERATION [i][j])) 176 << (*(in_ISSUE_OOO_ENGINE_CANCEL [i][j])) 176 177 << (*(in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE [i][j])) 177 178 << (*(in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ [i][j])) … … 224 225 // << (*(in_EXECUTE_EXECUTE_LOOP_OPERATION [i][j])) 225 226 // << (*(in_EXECUTE_EXECUTE_LOOP_TYPE [i][j])) 227 << (*(in_EXECUTE_EXECUTE_LOOP_CANCEL [i][j])) 226 228 << (*(in_EXECUTE_EXECUTE_LOOP_FLAGS [i][j])) 227 229 << (*(in_EXECUTE_EXECUTE_LOOP_EXCEPTION [i][j])) … … 243 245 # endif 244 246 245 log_printf(INFO,Core_Glue,FUNCTION,_("<%s> : Method - genMealy_insert"),_name.c_str());246 SC_METHOD (genMealy_insert);247 dont_initialize ();248 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register249 sensitive << (*(in_NRESET));250 251 for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)252 for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)253 sensitive << (*(in_INSERT_OOO_ENGINE_VAL [i][j]))254 << (*(in_INSERT_OOO_ENGINE_RD_USE [i][j]))255 << (*(in_INSERT_OOO_ENGINE_RD_NUM_REG [i][j]))256 << (*(in_INSERT_OOO_ENGINE_RE_USE [i][j]))257 << (*(in_INSERT_OOO_ENGINE_RE_NUM_REG [i][j]));258 for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)259 for (uint32_t j=0; j<_param->_execute_loop_nb_ooo_engine[i]; ++j)260 for (uint32_t k=0; k<_param->_execute_loop_nb_inst_insert[i][j]; ++k)261 sensitive << (*(in_INSERT_EXECUTE_LOOP_ACK [i][j][k]));262 263 # ifdef SYSTEMCASS_SPECIFIC264 // List dependency information265 # endif247 // log_printf(INFO,Core_Glue,FUNCTION,_("<%s> : Method - genMealy_insert"),_name.c_str()); 248 // SC_METHOD (genMealy_insert); 249 // dont_initialize (); 250 // // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 251 // sensitive << (*(in_NRESET)); 252 253 // for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i) 254 // for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j) 255 // sensitive << (*(in_INSERT_OOO_ENGINE_VAL [i][j])) 256 // << (*(in_INSERT_OOO_ENGINE_RD_USE [i][j])) 257 // << (*(in_INSERT_OOO_ENGINE_RD_NUM_REG [i][j])) 258 // << (*(in_INSERT_OOO_ENGINE_RE_USE [i][j])) 259 // << (*(in_INSERT_OOO_ENGINE_RE_NUM_REG [i][j])); 260 // for (uint32_t i=0; i<_param->_nb_execute_loop; ++i) 261 // for (uint32_t j=0; j<_param->_execute_loop_nb_ooo_engine[i]; ++j) 262 // for (uint32_t k=0; k<_param->_execute_loop_nb_inst_insert[i][j]; ++k) 263 // sensitive << (*(in_INSERT_EXECUTE_LOOP_ACK [i][j][k])); 264 265 // # ifdef SYSTEMCASS_SPECIFIC 266 // // List dependency information 267 // # endif 266 268 267 269 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_allocation.cpp
r128 r136 140 140 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 141 141 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 142 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_CANCEL ,"CANCEL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 142 143 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ,"STORE_QUEUE_PTR_WRITE",Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 143 144 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ ,"STORE_QUEUE_PTR_READ" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); … … 171 172 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 172 173 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 174 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_CANCEL ,"CANCEL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 173 175 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE ,"STORE_QUEUE_PTR_WRITE",Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 174 176 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ ,"STORE_QUEUE_PTR_READ" ,Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); … … 202 204 // _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 203 205 // _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 206 _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_CANCEL ,"CANCEL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 204 207 _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_FLAGS ,"FLAGS" ,Tspecial_data_t ,_param->_size_special_data,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 205 208 _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_EXCEPTION ,"EXCEPTION" ,Texception_t ,_param->_size_exception ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); … … 222 225 // _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 223 226 // _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 227 _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_CANCEL ,"CANCEL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 224 228 _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_FLAGS ,"FLAGS" ,Tspecial_data_t ,_param->_size_special_data ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 225 229 _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_EXCEPTION ,"EXCEPTION" ,Texception_t ,_param->_size_exception ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); … … 231 235 } 232 236 233 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234 {235 ALLOC2_INTERFACE_BEGIN("insert_ooo_engine",SOUTH,IN ,_("Insert"),_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);237 // // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 // { 239 // ALLOC2_INTERFACE_BEGIN("insert_ooo_engine",SOUTH,IN ,_("Insert"),_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 236 240 237 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);238 _ALLOC2_SIGNAL_OUT(out_INSERT_OOO_ENGINE_ACK ,"ACK" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);239 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RD_USE ,"RD_USE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);240 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RD_NUM_REG,"RD_NUM_REG",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);241 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);242 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RE_NUM_REG,"RE_NUM_REG",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);243 244 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);245 }246 247 {248 ALLOC3_INTERFACE_BEGIN("insert_execute_loop",SOUTH,IN ,_("Insert"),_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);241 // _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 242 // _ALLOC2_SIGNAL_OUT(out_INSERT_OOO_ENGINE_ACK ,"ACK" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 243 // _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RD_USE ,"RD_USE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 244 // _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RD_NUM_REG,"RD_NUM_REG",Tgeneral_address_t,_param->_size_general_register,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 245 // _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 246 // _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RE_NUM_REG,"RE_NUM_REG",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 247 248 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 249 // } 250 251 // { 252 // ALLOC3_INTERFACE_BEGIN("insert_execute_loop",SOUTH,IN ,_("Insert"),_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 249 253 250 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);251 _ALLOC3_SIGNAL_IN ( in_INSERT_EXECUTE_LOOP_ACK ,"ACK" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);252 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RD_USE ,"RD_USE" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);253 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RD_NUM_REG,"RD_NUM_REG",Tgeneral_address_t,_param->_size_general_register,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);254 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);255 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RE_NUM_REG,"RE_NUM_REG",Tspecial_address_t,_param->_size_special_register,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);256 257 ALLOC3_INTERFACE_END(_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]);258 }254 // _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 255 // _ALLOC3_SIGNAL_IN ( in_INSERT_EXECUTE_LOOP_ACK ,"ACK" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 256 // _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RD_USE ,"RD_USE" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 257 // _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RD_NUM_REG,"RD_NUM_REG",Tgeneral_address_t,_param->_size_general_register,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 258 // _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 259 // _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RE_NUM_REG,"RE_NUM_REG",Tspecial_address_t,_param->_size_special_register,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 260 261 // ALLOC3_INTERFACE_END(_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 262 // } 259 263 260 264 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_deallocation.cpp
r122 r136 146 146 DELETE2_SIGNAL( in_EXECUTE_EXECUTE_LOOP_DATA ,_param->_nb_execute_loop,_param->_nb_write_unit[it1],_param->_size_general_data); 147 147 148 DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 );149 DELETE2_SIGNAL(out_INSERT_OOO_ENGINE_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 );150 DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 );151 DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RD_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],_param->_size_general_register);152 DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 );153 DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RE_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],_param->_size_special_register);148 // DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 ); 149 // DELETE2_SIGNAL(out_INSERT_OOO_ENGINE_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 ); 150 // DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 ); 151 // DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RD_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],_param->_size_general_register); 152 // DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],1 ); 153 // DELETE2_SIGNAL( in_INSERT_OOO_ENGINE_RE_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1],_param->_size_special_register); 154 154 155 DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_VAL ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 );156 DELETE3_SIGNAL( in_INSERT_EXECUTE_LOOP_ACK ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 );157 DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RD_USE ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 );158 DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RD_NUM_REG ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],_param->_size_general_register);159 DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RE_USE ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 );160 DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RE_NUM_REG ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],_param->_size_special_register);155 // DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_VAL ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 ); 156 // DELETE3_SIGNAL( in_INSERT_EXECUTE_LOOP_ACK ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 ); 157 // DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RD_USE ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 ); 158 // DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RD_NUM_REG ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],_param->_size_general_register); 159 // DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RE_USE ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],1 ); 160 // DELETE3_SIGNAL(out_INSERT_EXECUTE_LOOP_RE_NUM_REG ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2],_param->_size_special_register); 161 161 } 162 162 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_genMealy_execute.cpp
r123 r136 56 56 // PORT_WRITE(out_EXECUTE_OOO_ENGINE_TYPE [num_ooo_engine][num_execute_loop][j], PORT_READ(in_EXECUTE_EXECUTE_LOOP_TYPE [i][j])); 57 57 // PORT_WRITE(out_EXECUTE_OOO_ENGINE_OPERATION [num_ooo_engine][num_execute_loop][j], PORT_READ(in_EXECUTE_EXECUTE_LOOP_OPERATION [i][j])); 58 PORT_WRITE(out_EXECUTE_OOO_ENGINE_CANCEL [num_ooo_engine][num_execute_loop][j], PORT_READ(in_EXECUTE_EXECUTE_LOOP_CANCEL [i][j])); 58 59 PORT_WRITE(out_EXECUTE_OOO_ENGINE_FLAGS [num_ooo_engine][num_execute_loop][j], PORT_READ(in_EXECUTE_EXECUTE_LOOP_FLAGS [i][j])); 59 60 PORT_WRITE(out_EXECUTE_OOO_ENGINE_EXCEPTION [num_ooo_engine][num_execute_loop][j], PORT_READ(in_EXECUTE_EXECUTE_LOOP_EXCEPTION [i][j])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_genMealy_insert.cpp
r123 r136 1 #ifdef SYSTEMC2 / *3 * $Id$4 *5 * [ Description ]6 *7 */1 // #ifdef SYSTEMC 2 // /* 3 // * $Id$ 4 // * 5 // * [ Description ] 6 // * 7 // */ 8 8 9 #include "Behavioural/Core/Core_Glue/include/Core_Glue.h"9 // #include "Behavioural/Core/Core_Glue/include/Core_Glue.h" 10 10 11 namespace morpheo {12 namespace behavioural {13 namespace core {14 namespace core_glue {11 // namespace morpheo { 12 // namespace behavioural { 13 // namespace core { 14 // namespace core_glue { 15 15 16 16 17 #undef FUNCTION18 #define FUNCTION "Core_Glue::genMealy_insert"19 void Core_Glue::genMealy_insert (void)20 {21 log_begin(Core_Glue,FUNCTION);22 log_function(Core_Glue,FUNCTION,_name.c_str());17 // #undef FUNCTION 18 // #define FUNCTION "Core_Glue::genMealy_insert" 19 // void Core_Glue::genMealy_insert (void) 20 // { 21 // log_begin(Core_Glue,FUNCTION); 22 // log_function(Core_Glue,FUNCTION,_name.c_str()); 23 23 24 if (PORT_READ(in_NRESET))25 {26 for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)27 for (uint32_t j=0; j<_param->_execute_loop_nb_ooo_engine[i]; ++j)28 {29 Tcontext_t num_ooo_engine = _param->_translate_execute_loop_num_ooo_engine [i][j];24 // if (PORT_READ(in_NRESET)) 25 // { 26 // for (uint32_t i=0; i<_param->_nb_execute_loop; ++i) 27 // for (uint32_t j=0; j<_param->_execute_loop_nb_ooo_engine[i]; ++j) 28 // { 29 // Tcontext_t num_ooo_engine = _param->_translate_execute_loop_num_ooo_engine [i][j]; 30 30 31 for (uint32_t k=0; k<_param->_execute_loop_nb_inst_insert[i][j]; ++k)32 {33 log_printf(TRACE,Core_Glue,FUNCTION," * INSERT_OOO_ENGINE [%d][%d] <-> INSERT_EXECUTE_LOOP [%d][%d][%d]",num_ooo_engine,k,i,j,k);31 // for (uint32_t k=0; k<_param->_execute_loop_nb_inst_insert[i][j]; ++k) 32 // { 33 // log_printf(TRACE,Core_Glue,FUNCTION," * INSERT_OOO_ENGINE [%d][%d] <-> INSERT_EXECUTE_LOOP [%d][%d][%d]",num_ooo_engine,k,i,j,k); 34 34 35 Tcontrol_t ooo_engine_val = PORT_READ(in_INSERT_OOO_ENGINE_VAL [num_ooo_engine][k]);36 Tcontrol_t execute_loop_ack = PORT_READ(in_INSERT_EXECUTE_LOOP_ACK [i][j][k]);35 // Tcontrol_t ooo_engine_val = PORT_READ(in_INSERT_OOO_ENGINE_VAL [num_ooo_engine][k]); 36 // Tcontrol_t execute_loop_ack = PORT_READ(in_INSERT_EXECUTE_LOOP_ACK [i][j][k]); 37 37 38 Tcontrol_t execute_loop_val = ooo_engine_val ;39 Tcontrol_t ooo_engine_ack = execute_loop_ack;38 // Tcontrol_t execute_loop_val = ooo_engine_val ; 39 // Tcontrol_t ooo_engine_ack = execute_loop_ack; 40 40 41 log_printf(TRACE,Core_Glue,FUNCTION," * ooo_engine_val (r) : %d",ooo_engine_val );42 log_printf(TRACE,Core_Glue,FUNCTION," * ooo_engine_ack (w) : %d",ooo_engine_ack );43 log_printf(TRACE,Core_Glue,FUNCTION," * execute_loop_val (w) : %d",execute_loop_val);44 log_printf(TRACE,Core_Glue,FUNCTION," * execute_loop_ack (r) : %d",execute_loop_ack);41 // log_printf(TRACE,Core_Glue,FUNCTION," * ooo_engine_val (r) : %d",ooo_engine_val ); 42 // log_printf(TRACE,Core_Glue,FUNCTION," * ooo_engine_ack (w) : %d",ooo_engine_ack ); 43 // log_printf(TRACE,Core_Glue,FUNCTION," * execute_loop_val (w) : %d",execute_loop_val); 44 // log_printf(TRACE,Core_Glue,FUNCTION," * execute_loop_ack (r) : %d",execute_loop_ack); 45 45 46 PORT_WRITE(out_INSERT_OOO_ENGINE_ACK [num_ooo_engine][k],ooo_engine_ack );47 PORT_WRITE(out_INSERT_EXECUTE_LOOP_VAL [i][j][k],execute_loop_val);48 PORT_WRITE(out_INSERT_EXECUTE_LOOP_RD_USE [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RD_USE [num_ooo_engine][k]));49 PORT_WRITE(out_INSERT_EXECUTE_LOOP_RD_NUM_REG [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RD_NUM_REG [num_ooo_engine][k]));50 PORT_WRITE(out_INSERT_EXECUTE_LOOP_RE_USE [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RE_USE [num_ooo_engine][k]));51 PORT_WRITE(out_INSERT_EXECUTE_LOOP_RE_NUM_REG [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RE_NUM_REG [num_ooo_engine][k]));52 }53 }54 }55 else56 {57 for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)58 for (uint32_t j=0; j<_param->_execute_loop_nb_ooo_engine[i]; ++j)59 {60 Tcontext_t num_ooo_engine = _param->_translate_execute_loop_num_ooo_engine [i][j];46 // PORT_WRITE(out_INSERT_OOO_ENGINE_ACK [num_ooo_engine][k],ooo_engine_ack ); 47 // PORT_WRITE(out_INSERT_EXECUTE_LOOP_VAL [i][j][k],execute_loop_val); 48 // PORT_WRITE(out_INSERT_EXECUTE_LOOP_RD_USE [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RD_USE [num_ooo_engine][k])); 49 // PORT_WRITE(out_INSERT_EXECUTE_LOOP_RD_NUM_REG [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RD_NUM_REG [num_ooo_engine][k])); 50 // PORT_WRITE(out_INSERT_EXECUTE_LOOP_RE_USE [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RE_USE [num_ooo_engine][k])); 51 // PORT_WRITE(out_INSERT_EXECUTE_LOOP_RE_NUM_REG [i][j][k],PORT_READ(in_INSERT_OOO_ENGINE_RE_NUM_REG [num_ooo_engine][k])); 52 // } 53 // } 54 // } 55 // else 56 // { 57 // for (uint32_t i=0; i<_param->_nb_execute_loop; ++i) 58 // for (uint32_t j=0; j<_param->_execute_loop_nb_ooo_engine[i]; ++j) 59 // { 60 // Tcontext_t num_ooo_engine = _param->_translate_execute_loop_num_ooo_engine [i][j]; 61 61 62 for (uint32_t k=0; k<_param->_execute_loop_nb_inst_insert[i][j]; ++k)63 {64 PORT_WRITE(out_INSERT_OOO_ENGINE_ACK [num_ooo_engine][k],0);65 PORT_WRITE(out_INSERT_EXECUTE_LOOP_VAL [i][j][k],0);66 }67 }68 }62 // for (uint32_t k=0; k<_param->_execute_loop_nb_inst_insert[i][j]; ++k) 63 // { 64 // PORT_WRITE(out_INSERT_OOO_ENGINE_ACK [num_ooo_engine][k],0); 65 // PORT_WRITE(out_INSERT_EXECUTE_LOOP_VAL [i][j][k],0); 66 // } 67 // } 68 // } 69 69 70 log_end(Core_Glue,FUNCTION);71 };70 // log_end(Core_Glue,FUNCTION); 71 // }; 72 72 73 }; // end namespace core_glue74 }; // end namespace core73 // }; // end namespace core_glue 74 // }; // end namespace core 75 75 76 }; // end namespace behavioural77 }; // end namespace morpheo78 #endif76 // }; // end namespace behavioural 77 // }; // end namespace morpheo 78 // #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_genMealy_issue.cpp
r123 r136 197 197 PORT_WRITE(out_ISSUE_EXECUTE_LOOP_OPERATION [num_execute_loop][num_read_unit],PORT_READ(in_ISSUE_OOO_ENGINE_OPERATION [num_ooo_engine][num_inst_issue_queue])); 198 198 PORT_WRITE(out_ISSUE_EXECUTE_LOOP_TYPE [num_execute_loop][num_read_unit],type); 199 PORT_WRITE(out_ISSUE_EXECUTE_LOOP_CANCEL [num_execute_loop][num_read_unit],PORT_READ(in_ISSUE_OOO_ENGINE_CANCEL [num_ooo_engine][num_inst_issue_queue])); 199 200 PORT_WRITE(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE [num_execute_loop][num_read_unit],PORT_READ(in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE [num_ooo_engine][num_inst_issue_queue])); 200 201 PORT_WRITE(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ [num_execute_loop][num_read_unit],PORT_READ(in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ [num_ooo_engine][num_inst_issue_queue])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Parameters.cpp
r120 r136 29 29 uint32_t * front_end_nb_inst_branch_complete ,//[nb_front_end] 30 30 uint32_t * ooo_engine_nb_inst_branch_complete ,//[nb_ooo_engine] 31 31 // uint32_t * nb_inst_insert ,//[nb_ooo_engine] 32 32 uint32_t * nb_inst_reexecute ,//[nb_ooo_engine] 33 33 uint32_t * nb_inst_issue_queue ,//[nb_ooo_engine] … … 66 66 _front_end_nb_inst_branch_complete = front_end_nb_inst_branch_complete ; 67 67 _ooo_engine_nb_inst_branch_complete = ooo_engine_nb_inst_branch_complete ; 68 68 // _nb_inst_insert = nb_inst_insert ; 69 69 _nb_inst_reexecute = nb_inst_reexecute ; 70 70 _nb_inst_issue_queue = nb_inst_issue_queue ; … … 117 117 } 118 118 119 119 // ALLOC2(_execute_loop_nb_inst_insert,uint32_t,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]); 120 120 ALLOC2(_execute_loop_nb_inst_issue_slot ,uint32_t,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]); 121 121 … … 125 125 uint32_t num_ooo_engine = _translate_execute_loop_num_ooo_engine [i][j]; 126 126 _execute_loop_nb_inst_issue_slot [i][j] = _nb_inst_issue_slot [num_ooo_engine]; 127 127 // _execute_loop_nb_inst_insert [i][j] = _nb_inst_insert [num_ooo_engine]; 128 128 } 129 129 … … 133 133 _max_nb_inst_execute = max<uint32_t>(_nb_inst_execute ,_nb_ooo_engine, _ooo_engine_nb_execute_loop); 134 134 _max_nb_write_unit = max<uint32_t>(_nb_write_unit ,_nb_execute_loop); 135 135 // _max_nb_inst_insert = max<uint32_t>(_nb_inst_insert ,_nb_ooo_engine); 136 136 _max_nb_inst_issue_queue = max<uint32_t>(_nb_inst_issue_queue ,_nb_ooo_engine); 137 137 _max_nb_inst_issue_slot = max<uint32_t>(_nb_inst_issue_slot ,_nb_ooo_engine); … … 189 189 190 190 DELETE2(_execute_loop_nb_inst_issue_slot ,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]); 191 191 // DELETE2(_execute_loop_nb_inst_insert ,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]); 192 192 DELETE2(_translate_num_ooo_engine_to_execute_loop_ooo_engine_id ,_nb_ooo_engine,_nb_execute_loop); 193 193 DELETE2(_translate_num_execute_loop_to_ooo_engine_execute_loop_id,_nb_execute_loop,_execute_loop_nb_ooo_engine[it1]);
Note: See TracChangeset
for help on using the changeset viewer.