Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit
- Files:
-
- 8 added
- 72 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/SelfTest/Makefile
r81 r88 24 24 library_clean : Dependency_checking_unit_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/SelfTest/src/main.cpp
r81 r88 48 48 _nb_general_register, 49 49 _nb_special_register, 50 _nb_inst_insert ); 50 _nb_inst_insert , 51 true //is_toplevel 52 ); 51 53 52 54 msg(_("%s"),param->print(1).c_str()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/SelfTest/src/test.cpp
r82 r88 24 24 #endif 25 25 26 Tusage_t _usage = USE_ALL; 27 28 // _usage = usage_unset(_usage,USE_SYSTEMC ); 29 // _usage = usage_unset(_usage,USE_VHDL ); 30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 31 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 32 // _usage = usage_unset(_usage,USE_POSITION ); 33 // _usage = usage_unset(_usage,USE_STATISTICS ); 34 // _usage = usage_unset(_usage,USE_INFORMATION ); 35 26 36 Dependency_checking_unit * _Dependency_checking_unit = new Dependency_checking_unit 27 37 (name.c_str(), … … 30 40 #endif 31 41 _param, 32 USE_ALL);42 _usage); 33 43 34 44 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/include/Parameters.h
r82 r88 31 31 public : uint32_t _nb_inst_insert ; 32 32 33 34 35 36 37 38 39 33 //public : uint32_t _size_front_end_id ; 34 //public : uint32_t _size_context_id ; 35 //public : uint32_t _size_general_register ; 36 //public : uint32_t _size_special_register ; 37 38 //public : uint32_t _have_port_context_id ; 39 //public : uint32_t _have_port_front_end_id; 40 40 41 41 //-----[ methods ]----------------------------------------------------------- … … 44 44 uint32_t nb_general_register , 45 45 uint32_t nb_special_register , 46 uint32_t nb_inst_insert ); 46 uint32_t nb_inst_insert , 47 bool is_toplevel=false 48 ); 47 49 // public : Parameters (Parameters & param) ; 48 50 public : ~Parameters () ; 49 51 50 52 public : Parameters_test msg_error (void); 53 54 public : void copy (void); 51 55 52 56 public : std::string print (uint32_t depth); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp
r81 r88 39 39 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Dependency_checking_unit == true 42 log_printf(INFO,Dependency_checking_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Dependency_checking_unit,FUNCTION,"Allocation"); 42 48 … … 48 54 49 55 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)56 if (usage_is_set(_usage,USE_STATISTICS)) 51 57 { 52 58 log_printf(INFO,Dependency_checking_unit,FUNCTION,"Allocation of statistics"); … … 57 63 58 64 #ifdef VHDL 59 if ( _usage & USE_VHDL)65 if (usage_is_set(_usage,USE_VHDL)) 60 66 { 61 67 // generate the vhdl … … 67 73 68 74 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)75 if (usage_is_set(_usage,USE_SYSTEMC)) 70 76 { 71 77 # if defined(STATISTICS) or defined(VHDL_TESTBENCH) … … 86 92 SC_METHOD (genMealy); 87 93 dont_initialize (); 88 sensitive << (*(in_CLOCK)).neg(); 94 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 89 95 for (uint32_t i=0;i<_param->_nb_inst_insert; i++) 90 96 { … … 221 227 222 228 #ifdef STATISTICS 223 if ( _usage & USE_STATISTICS)229 if (usage_is_set(_usage,USE_STATISTICS)) 224 230 { 225 231 log_printf(INFO,Dependency_checking_unit,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_allocation.cpp
r81 r88 113 113 114 114 #ifdef POSITION 115 _component->generate_file(); 115 if (usage_is_set(_usage,USE_POSITION)) 116 _component->generate_file(); 116 117 #endif 117 118 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin"); 25 25 26 if ( _usage & USE_SYSTEMC)26 if (usage_is_set(_usage,USE_SYSTEMC)) 27 27 { 28 28 delete in_CLOCK ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_genMealy.cpp
r81 r88 23 23 void Dependency_checking_unit::genMealy (void) 24 24 { 25 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin"); 25 log_begin(Dependency_checking_unit,FUNCTION); 26 log_function(Dependency_checking_unit,FUNCTION,_name.c_str()); 26 27 27 28 // Tcontrol_t val [_param->_nb_inst_insert]; … … 77 78 num_reg_re_phy_new [i] = PORT_READ(in_RENAME_IN_NUM_REG_RE_PHY_NEW [i]); 78 79 80 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * (before) [%d] %.2d %.2d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d -> %.5d, %.1d %.2d %.5d -> %.5d", 81 i, 82 front_end_id [i], 83 context_id [i], 84 read_ra [i], 85 num_reg_ra_log [i], 86 num_reg_ra_phy [i], 87 read_rb [i], 88 num_reg_rb_log [i], 89 num_reg_rb_phy [i], 90 read_rc [i], 91 num_reg_rc_log [i], 92 num_reg_rc_phy [i], 93 write_rd [i], 94 num_reg_rd_log [i], 95 num_reg_rd_phy_old [i], 96 num_reg_rd_phy_new [i], 97 write_re [i], 98 num_reg_re_log [i], 99 num_reg_re_phy_old [i], 100 num_reg_re_phy_new [i]); 101 79 102 // ================================================================ 80 103 // =====[ Write after Write ]====================================== … … 88 111 (context_id [j] == context_id [i]) ) 89 112 { 113 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * RD : WAW dependency with inst[%d].RD",j); 90 114 num_reg_rd_phy_old [i] = num_reg_rd_phy_new [j]; 91 115 break; // find the most recently dependency … … 100 124 (context_id [j] == context_id [i]) ) 101 125 { 126 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * RE : WAW dependency with inst[%d].RE",j); 102 127 num_reg_re_phy_old [i] = num_reg_re_phy_new [j]; 103 128 break; // find the most recently dependency … … 114 139 (context_id [j] == context_id [i]) ) 115 140 { 141 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * RA : RAW dependency with inst[%d].RD",j); 116 142 num_reg_ra_phy [i] = num_reg_rd_phy_new [j]; 117 143 break; // find the most recently dependency … … 126 152 (context_id [j] == context_id [i]) ) 127 153 { 154 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * RB : RAW dependency with inst[%d].RD",j); 128 155 num_reg_rb_phy [i] = num_reg_rd_phy_new [j]; 129 156 break; // find the most recently dependency … … 138 165 (context_id [j] == context_id [i]) ) 139 166 { 167 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * RC : RAW dependency with inst[%d].RE",j); 140 168 num_reg_rc_phy [i] = num_reg_re_phy_new [j]; 141 169 break; // find the most recently dependency 142 170 } 171 172 log_printf(TRACE,Dependency_checking_unit,FUNCTION," * (after ) [%d] %.2d %.2d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d -> %.5d, %.1d %.2d %.5d -> %.5d", 173 i, 174 front_end_id [i], 175 context_id [i], 176 read_ra [i], 177 num_reg_ra_log [i], 178 num_reg_ra_phy [i], 179 read_rb [i], 180 num_reg_rb_log [i], 181 num_reg_rb_phy [i], 182 read_rc [i], 183 num_reg_rc_log [i], 184 num_reg_rc_phy [i], 185 write_rd [i], 186 num_reg_rd_log [i], 187 num_reg_rd_phy_old [i], 188 num_reg_rd_phy_new [i], 189 write_re [i], 190 num_reg_re_log [i], 191 num_reg_re_phy_old [i], 192 num_reg_re_phy_new [i]); 143 193 144 194 // =====[ Output ]================================================= … … 168 218 } 169 219 170 log_ printf(FUNC,Dependency_checking_unit,FUNCTION,"End");220 log_end(Dependency_checking_unit,FUNCTION); 171 221 }; 172 222 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Parameters.cpp
r81 r88 24 24 uint32_t nb_general_register , 25 25 uint32_t nb_special_register , 26 uint32_t nb_inst_insert ) 26 uint32_t nb_inst_insert , 27 bool is_toplevel ) 27 28 { 28 29 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin"); … … 34 35 _nb_inst_insert = nb_inst_insert ; 35 36 36 _size_front_end_id = log2(nb_front_end ); 37 _size_context_id = log2(max_nb_context ); 38 _size_general_register = log2(nb_general_register); 39 _size_special_register = log2(nb_special_register); 40 41 _have_port_front_end_id = _size_front_end_id>0; 42 _have_port_context_id = _size_context_id >0; 37 test(); 43 38 44 test(); 39 if (is_toplevel) 40 { 41 _size_front_end_id = log2(nb_front_end ); 42 _size_context_id = log2(max_nb_context ); 43 _size_general_register = log2(nb_general_register); 44 _size_special_register = log2(nb_special_register); 45 46 _have_port_front_end_id = _size_front_end_id>0; 47 _have_port_context_id = _size_context_id >0; 48 49 copy(); 50 } 51 45 52 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End"); 46 53 }; … … 57 64 #undef FUNCTION 58 65 #define FUNCTION "Dependency_checking_unit::~Parameters" 59 Parameters::~Parameters () 66 Parameters::~Parameters (void) 67 { 68 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin"); 69 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End"); 70 }; 71 72 #undef FUNCTION 73 #define FUNCTION "Dependency_checking_unit::copy" 74 void Parameters::copy (void) 60 75 { 61 76 log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/SelfTest/Makefile
r81 r88 24 24 library_clean : Free_List_unit_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/SelfTest/src/main.cpp
r81 r88 57 57 _nb_pop , 58 58 _nb_push , 59 _priority ); 59 _priority , 60 true //is_toplevel 61 ); 60 62 61 63 msg(_("%s"),param->print(1).c_str()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/SelfTest/src/test.cpp
r82 r88 23 23 #endif 24 24 25 Tusage_t _usage = USE_ALL; 26 27 // _usage = usage_unset(_usage,USE_SYSTEMC ); 28 // _usage = usage_unset(_usage,USE_VHDL ); 29 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 31 // _usage = usage_unset(_usage,USE_POSITION ); 32 // _usage = usage_unset(_usage,USE_STATISTICS ); 33 // _usage = usage_unset(_usage,USE_INFORMATION ); 34 25 35 Free_List_unit * _Free_List_unit = new Free_List_unit 26 36 (name.c_str(), … … 29 39 #endif 30 40 _param, 31 USE_ALL);41 _usage); 32 42 33 43 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Parameters.h
r82 r88 34 34 public : Tpriority_t _priority ; 35 35 36 37 36 //public : uint32_t _size_general_register; 37 //public : uint32_t _size_special_register; 38 38 39 39 public : uint32_t _nb_bank_by_pop ; … … 52 52 uint32_t nb_pop , 53 53 uint32_t nb_push , 54 Tpriority_t priority ); 54 Tpriority_t priority , 55 bool is_toplevel=false); 55 56 // public : Parameters (Parameters & param) ; 56 57 public : ~Parameters () ; 57 58 58 59 public : Parameters_test msg_error (void); 60 61 public : void copy (void); 59 62 60 63 public : std::string print (uint32_t depth); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit.cpp
r81 r88 39 39 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Free_List_unit == true 42 log_printf(INFO,Free_List_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Free_List_unit,FUNCTION,"Allocation"); 42 48 … … 48 54 49 55 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)56 if (usage_is_set(_usage,USE_STATISTICS)) 51 57 { 52 58 log_printf(INFO,Free_List_unit,FUNCTION,"Allocation of statistics"); … … 57 63 58 64 #ifdef VHDL 59 if ( _usage & USE_VHDL)65 if (usage_is_set(_usage,USE_VHDL)) 60 66 { 61 67 // generate the vhdl … … 67 73 68 74 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)75 if (usage_is_set(_usage,USE_SYSTEMC)) 70 76 { 71 77 log_printf(INFO,Free_List_unit,FUNCTION,"Method - transition"); … … 83 89 SC_METHOD (genMealy_pop); 84 90 dont_initialize (); 85 sensitive << (*(in_CLOCK)).neg(); 91 sensitive << (*(in_CLOCK)).neg(); // need internal register 86 92 for (uint32_t i=0; i<_param->_nb_pop; i++) 87 93 sensitive << (*(in_POP_GPR_VAL[i])) … … 104 110 SC_METHOD (genMealy_push_gpr); 105 111 dont_initialize (); 106 sensitive << (*(in_CLOCK)).neg(); 112 sensitive << (*(in_CLOCK)).neg(); // need internal register 107 113 for (uint32_t i=0; i<_param->_nb_push; i++) 108 114 sensitive << (*(in_PUSH_GPR_VAL [i])) … … 123 129 SC_METHOD (genMealy_push_spr); 124 130 dont_initialize (); 125 sensitive << (*(in_CLOCK)).neg(); 131 sensitive << (*(in_CLOCK)).neg(); // need internal register 126 132 for (uint32_t i=0; i<_param->_nb_push; i++) 127 133 sensitive << (*(in_PUSH_SPR_VAL [i])) … … 150 156 151 157 #ifdef STATISTICS 152 if ( _usage & USE_STATISTICS)158 if (usage_is_set(_usage,USE_STATISTICS)) 153 159 { 154 160 log_printf(INFO,Free_List_unit,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_allocation.cpp
r81 r88 86 86 } 87 87 88 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 88 if (usage_is_set(_usage,USE_SYSTEMC)) 89 { 89 90 _gpr_list = new std::list<uint32_t> [_param->_nb_bank]; 90 91 _spr_list = new std::list<uint32_t> [_param->_nb_bank]; … … 98 99 internal_PUSH_GPR_BANK = new uint32_t [_param->_nb_push]; 99 100 internal_PUSH_SPR_BANK = new uint32_t [_param->_nb_push]; 101 } 102 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 103 101 104 #ifdef POSITION 102 _component->generate_file(); 105 if (usage_is_set(_usage,USE_POSITION)) 106 _component->generate_file(); 103 107 #endif 104 108 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 25 25 26 if ( _usage & USE_SYSTEMC)26 if (usage_is_set(_usage,USE_SYSTEMC)) 27 27 { 28 28 delete in_CLOCK ; … … 43 43 delete [] out_PUSH_SPR_ACK ; 44 44 delete [] in_PUSH_SPR_NUM_REG; 45 46 delete [] _gpr_list; 47 delete [] _spr_list; 48 49 delete [] internal_POP_ACK ; 50 delete [] internal_POP_GPR_BANK; 51 delete [] internal_POP_SPR_BANK; 52 53 delete [] internal_PUSH_GPR_ACK ; 54 delete [] internal_PUSH_SPR_ACK ; 55 delete [] internal_PUSH_GPR_BANK; 56 delete [] internal_PUSH_SPR_BANK; 45 57 } 58 46 59 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 47 delete [] _gpr_list;48 delete [] _spr_list;49 50 delete [] internal_POP_ACK ;51 delete [] internal_POP_GPR_BANK;52 delete [] internal_POP_SPR_BANK;53 54 delete [] internal_PUSH_GPR_ACK ;55 delete [] internal_PUSH_SPR_ACK ;56 delete [] internal_PUSH_GPR_BANK;57 delete [] internal_PUSH_SPR_BANK;58 60 59 61 delete _component; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_pop.cpp
r81 r88 23 23 void Free_List_unit::genMealy_pop (void) 24 24 { 25 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 25 log_begin(Free_List_unit,FUNCTION); 26 log_function(Free_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 for (uint32_t i=0; i<_param->_nb_pop; i++) … … 77 78 78 79 79 log_ printf(FUNC,Free_List_unit,FUNCTION,"End");80 log_end(Free_List_unit,FUNCTION); 80 81 }; 81 82 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_gpr.cpp
r81 r88 23 23 void Free_List_unit::genMealy_push_gpr (void) 24 24 { 25 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 25 log_begin(Free_List_unit,FUNCTION); 26 log_function(Free_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 bool bank_use [_param->_nb_bank]; … … 51 52 } 52 53 53 log_ printf(FUNC,Free_List_unit,FUNCTION,"End");54 log_end(Free_List_unit,FUNCTION); 54 55 }; 55 56 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_spr.cpp
r81 r88 23 23 void Free_List_unit::genMealy_push_spr (void) 24 24 { 25 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 25 log_begin(Free_List_unit,FUNCTION); 26 log_function(Free_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 bool bank_use [_param->_nb_bank]; … … 51 52 } 52 53 53 log_ printf(FUNC,Free_List_unit,FUNCTION,"End");54 log_end(Free_List_unit,FUNCTION); 54 55 }; 55 56 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp
r81 r88 23 23 void Free_List_unit::transition (void) 24 24 { 25 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 25 log_begin(Free_List_unit,FUNCTION); 26 log_function(Free_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 if (PORT_READ(in_NRESET) == 0) … … 39 40 // =====[ POP ]====================================== 40 41 // ================================================== 41 // log_printf(TRACE,Free_List_unit,FUNCTION,"Test transaction POP");42 42 for (uint32_t i=0; i<_param->_nb_pop; i++) 43 43 if (PORT_READ(in_POP_VAL[i]) and internal_POP_ACK [i]) 44 44 { 45 log_printf(TRACE,Free_List_unit,FUNCTION," * POP [%d]",i); 46 45 47 if (PORT_READ(in_POP_GPR_VAL [i])) 46 48 _gpr_list [internal_POP_GPR_BANK[i]].pop_front(); … … 53 55 // =====[ PUSH_GPR ]================================= 54 56 // ================================================== 55 // log_printf(TRACE,Free_List_unit,FUNCTION,"Test transaction PUSH_GPR");56 57 for (uint32_t i=0; i<_param->_nb_push; i++) 57 58 if (PORT_READ(in_PUSH_GPR_VAL[i]) and internal_PUSH_GPR_ACK [i]) 58 _gpr_list [internal_PUSH_GPR_BANK[i]].push_back(//_param->_mask_gpr & 59 PORT_READ(in_PUSH_GPR_NUM_REG [i]));59 { 60 log_printf(TRACE,Free_List_unit,FUNCTION," * PUSH_GPR[%d]",i); 60 61 62 _gpr_list [internal_PUSH_GPR_BANK[i]].push_back(//_param->_mask_gpr & 63 PORT_READ(in_PUSH_GPR_NUM_REG [i])); 64 } 61 65 // ================================================== 62 66 // =====[ PUSH_SPR ]================================= 63 67 // ================================================== 64 // log_printf(TRACE,Free_List_unit,FUNCTION,"Test transaction PUSH_SPR");65 68 for (uint32_t i=0; i<_param->_nb_push; i++) 66 69 if (PORT_READ(in_PUSH_SPR_VAL[i]) and internal_PUSH_SPR_ACK [i]) 67 _spr_list [internal_PUSH_SPR_BANK[i]].push_back(//_param->_mask_spr & 68 PORT_READ(in_PUSH_SPR_NUM_REG [i])); 70 { 71 log_printf(TRACE,Free_List_unit,FUNCTION," * PUSH_SPR[%d]",i); 72 73 _spr_list [internal_PUSH_SPR_BANK[i]].push_back(//_param->_mask_spr & 74 PORT_READ(in_PUSH_SPR_NUM_REG [i])); 75 } 69 76 70 77 if (_param->_priority == PRIORITY_ROUND_ROBIN) 71 78 internal_BANK_PRIORITY = (internal_BANK_PRIORITY+1)%_param->_nb_bank_by_pop; 79 80 #if (DEBUG >= DEBUG_TRACE) and (DEBUG_Free_List_unit == true) 81 log_printf(TRACE,Free_List_unit,FUNCTION," * Dump Free List"); 82 83 for (uint32_t i=0; i<_param->_nb_bank; ++i) 84 { 85 uint32_t j=0; 86 for (std::list<Tgeneral_address_t>::iterator it=_gpr_list->begin(); 87 it!=_gpr_list->end(); 88 ++it) 89 { 90 log_printf(TRACE,Free_List_unit,FUNCTION," * GPR_LIST[%.5d][%.5d] : %.5d",i,j,*it); 91 ++j; 92 } 93 } 94 for (uint32_t i=0; i<_param->_nb_bank; ++i) 95 { 96 uint32_t j=0; 97 for (std::list<Tspecial_address_t>::iterator it=_spr_list->begin(); 98 it!=_spr_list->end(); 99 ++it) 100 { 101 log_printf(TRACE,Free_List_unit,FUNCTION," * SPR_LIST[%.5d][%.5d] : %.5d",i,j,*it); 102 ++j; 103 } 104 } 105 106 #endif 72 107 } 73 108 … … 76 111 #endif 77 112 78 log_ printf(FUNC,Free_List_unit,FUNCTION,"End");113 log_end(Free_List_unit,FUNCTION); 79 114 }; 80 115 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Parameters.cpp
r81 r88 27 27 uint32_t nb_pop , 28 28 uint32_t nb_push , 29 Tpriority_t priority ) 29 Tpriority_t priority , 30 bool is_toplevel ) 30 31 { 31 32 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); … … 41 42 test(); 42 43 43 _size_general_register = log2(nb_general_register);44 _size_special_register = log2(nb_special_register);44 uint32_t size_general_register = log2(nb_general_register); 45 uint32_t size_special_register = log2(nb_special_register); 45 46 46 47 _nb_bank_by_pop = _nb_bank / _nb_pop; … … 49 50 50 51 _bank_gpr_nb_slot = gpr_nb_slot/nb_bank; 51 _bank_gpr_size_slot = _size_general_register-log2(nb_bank);52 _bank_gpr_size_slot = size_general_register-log2(nb_bank); 52 53 53 54 _mask_gpr = gen_mask<Tgeneral_address_t> (_bank_gpr_size_slot); … … 56 57 57 58 _bank_spr_nb_slot = spr_nb_slot/nb_bank; 58 _bank_spr_size_slot = _size_special_register-log2(nb_bank);59 _bank_spr_size_slot = size_special_register-log2(nb_bank); 59 60 60 61 _mask_spr = gen_mask<Tspecial_address_t> (_bank_spr_size_slot); 62 63 if (is_toplevel) 64 { 65 _size_general_register = size_general_register; 66 _size_special_register = size_special_register; 67 68 copy(); 69 } 61 70 62 71 log_printf(FUNC,Free_List_unit,FUNCTION,"End"); … … 74 83 #undef FUNCTION 75 84 #define FUNCTION "Free_List_unit::~Parameters" 76 Parameters::~Parameters () 85 Parameters::~Parameters (void) 86 { 87 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); 88 log_printf(FUNC,Free_List_unit,FUNCTION,"End"); 89 }; 90 91 #undef FUNCTION 92 #define FUNCTION "Free_List_unit::copy" 93 void Parameters::copy (void) 77 94 { 78 95 log_printf(FUNC,Free_List_unit,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Parameters_msg_error.cpp
r82 r88 29 29 30 30 if (_nb_general_register <= _nb_thread*_nb_general_register_logic) 31 test.error( _("The number of physical general register is insufficient.\n"));31 test.error(toString(_("The number of physical general register is insufficient. (Minimum : %d)\n"),_nb_thread*_nb_general_register_logic+1)); 32 32 if (_nb_special_register <= _nb_thread*_nb_special_register_logic) 33 test.error( _("The number of physical special register is insufficient.\n"));33 test.error(toString(_("The number of physical special register is insufficient. (Minimum : %d)\n"),_nb_thread*_nb_special_register_logic+1)); 34 34 if (not is_multiple (_nb_bank, _nb_pop)) 35 35 test.error(_("Number of pop must be a multiple of number of bank.\n")); 36 36 if (not is_power2 (_nb_bank)) 37 37 test.error(_("Number of bank must be a power of 2.\n")); 38 if (_nb_general_register < _nb_bank) 39 test.error(_("The number of physical general register must be >= nb_bank.\n")); 40 if (_nb_special_register < _nb_bank) 41 test.error(_("The number of physical special register must be >= nb_bank.\n")); 38 42 39 43 if ((_priority != PRIORITY_STATIC) and -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/Makefile
r81 r88 24 24 library_clean : Register_Address_Translation_unit_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/main.cpp
r81 r88 60 60 _nb_special_register , 61 61 _nb_inst_insert , 62 _nb_inst_retire ); 62 _nb_inst_retire , 63 true //is_toplevel 64 ); 63 65 64 66 msg(_("%s"),param->print(1).c_str()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/test.cpp
r82 r88 24 24 #endif 25 25 26 Tusage_t _usage = USE_ALL; 27 28 // _usage = usage_unset(_usage,USE_SYSTEMC ); 29 // _usage = usage_unset(_usage,USE_VHDL ); 30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 31 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 32 // _usage = usage_unset(_usage,USE_POSITION ); 33 // _usage = usage_unset(_usage,USE_STATISTICS ); 34 // _usage = usage_unset(_usage,USE_INFORMATION ); 35 26 36 Register_Address_Translation_unit * _Register_Address_Translation_unit = new Register_Address_Translation_unit 27 37 (name.c_str(), … … 30 40 #endif 31 41 _param, 32 USE_ALL);42 _usage); 33 43 34 44 #ifdef SYSTEMC … … 78 88 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD," in_RETIRE_NUM_REG_RD_PHY_OLD",Tgeneral_address_t,_param->_nb_inst_retire); 79 89 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD," in_RETIRE_NUM_REG_RE_PHY_OLD",Tspecial_address_t,_param->_nb_inst_retire); 90 ALLOC1_SC_SIGNAL(out_RETIRE_RESTORE_RD_PHY_OLD,"out_RETIRE_RESTORE_RD_PHY_OLD",Tcontrol_t ,_param->_nb_inst_retire); 91 ALLOC1_SC_SIGNAL(out_RETIRE_RESTORE_RE_PHY_OLD,"out_RETIRE_RESTORE_RE_PHY_OLD",Tcontrol_t ,_param->_nb_inst_retire); 80 92 81 93 /******************************************************** … … 131 143 INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_NUM_REG_RD_PHY_OLD,_param->_nb_inst_retire); 132 144 INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_NUM_REG_RE_PHY_OLD,_param->_nb_inst_retire); 145 INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit,out_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_inst_retire); 146 INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit,out_RETIRE_RESTORE_RE_PHY_OLD,_param->_nb_inst_retire); 133 147 134 148 msg(_("<%s> : Start Simulation ............\n"),name.c_str()); … … 226 240 } 227 241 242 uint32_t retire_max = _param->_nb_inst_retire; 228 243 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 229 244 { 230 Tcontrol_t val = (rand()%100)<percent_transaction_retire; 245 // in order ........... 246 247 Tcontrol_t val = (i<retire_max) and ((rand()%100)<percent_transaction_retire); 231 248 249 if (not val) 250 retire_max = i; 251 232 252 Tcontext_t front_end_id = rand() % _param->_nb_front_end; 233 253 … … 259 279 } 260 280 } 281 282 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 283 { 284 TEST(Tcontrol_t,out_RETIRE_RESTORE_RD_PHY_OLD[i]->read(), 0); 285 TEST(Tcontrol_t,out_RETIRE_RESTORE_RE_PHY_OLD[i]->read(), 0); 286 } 287 261 288 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 262 289 { … … 320 347 SC_START(1); 321 348 349 // EVENT !!!!!!!! 350 322 351 nb_request = 32; 323 352 while (nb_request > 1) … … 347 376 } 348 377 378 uint32_t retire_max = _param->_nb_inst_retire; 349 379 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 350 380 { 351 Tcontrol_t val = (rand()%100)<percent_transaction_retire; 381 // in order ........... 382 383 Tcontrol_t val = (i<retire_max) and ((rand()%100)<percent_transaction_retire); 384 385 if (not val) 386 retire_max = i; 387 352 388 in_RETIRE_VAL [i]->write(val); 353 389 in_RETIRE_FRONT_END_ID [i]->write(retire_front_end_id [i]); … … 362 398 } 363 399 364 SC_START( 1);400 SC_START(0); 365 401 366 402 … … 380 416 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 381 417 { 418 LABEL("RETIRE[%d]",i); 419 382 420 Tcontext_t front_end_id = in_RETIRE_FRONT_END_ID [i]->read(); 383 421 Tcontext_t context_id = in_RETIRE_CONTEXT_ID [i]->read(); 422 423 LABEL(" * front_end_id : %d",front_end_id); 424 LABEL(" * context_id : %d",context_id ); 425 384 426 if (in_RETIRE_VAL [i]->read() and out_RETIRE_ACK [i]->read()) 385 427 { 386 428 if (in_RETIRE_WRITE_RD [i]->read() == 1) 387 429 { 430 // LABEL(" * transaction and write rd"); 431 // LABEL(" * rd_log : %d",in_RETIRE_NUM_REG_RD_LOG[i]->read()); 432 // LABEL(" * rat_gpr_updt : %d",rat_gpr_updt [front_end_id][context_id][in_RETIRE_NUM_REG_RD_LOG[i]->read()]); 433 TEST(Tcontrol_t,out_RETIRE_RESTORE_RD_PHY_OLD[i]->read(), (rat_gpr_updt [front_end_id][context_id][in_RETIRE_NUM_REG_RD_LOG[i]->read()] == false)); 434 388 435 if (rat_gpr_updt [front_end_id][context_id][in_RETIRE_NUM_REG_RD_LOG[i]->read()] == false) 389 436 rat_gpr[front_end_id][context_id][in_RETIRE_NUM_REG_RD_LOG[i]->read()] = in_RETIRE_NUM_REG_RD_PHY_OLD[i]->read(); … … 392 439 if (in_RETIRE_WRITE_RE [i]->read() == 1) 393 440 { 441 TEST(Tcontrol_t,out_RETIRE_RESTORE_RE_PHY_OLD[i]->read(), (rat_spr_updt [front_end_id][context_id][in_RETIRE_NUM_REG_RE_LOG[i]->read()] == false)); 442 394 443 if (rat_spr_updt [front_end_id][context_id][in_RETIRE_NUM_REG_RE_LOG[i]->read()] == false) 395 444 rat_spr[front_end_id][context_id][in_RETIRE_NUM_REG_RE_LOG[i]->read()] = in_RETIRE_NUM_REG_RE_PHY_OLD[i]->read(); … … 398 447 } 399 448 } 449 450 SC_START(1); 451 400 452 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 401 453 { … … 412 464 TEST(Tspecial_address_t,out_RENAME_NUM_REG_RE_PHY_OLD[i]->read(), rat_spr[front_end_id][context_id][in_RENAME_NUM_REG_RE_LOG[i]->read()]); 413 465 } 414 415 } 466 } 467 416 468 } 417 469 } … … 472 524 delete [] in_RETIRE_NUM_REG_RD_PHY_OLD; 473 525 delete [] in_RETIRE_NUM_REG_RE_PHY_OLD; 526 delete [] out_RETIRE_RESTORE_RD_PHY_OLD; 527 delete [] out_RETIRE_RESTORE_RE_PHY_OLD; 474 528 475 529 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Parameters.h
r82 r88 32 32 public : uint32_t _nb_inst_retire ; 33 33 34 35 36 37 38 39 40 34 //public : uint32_t _size_front_end_id ; 35 //public : uint32_t _size_context_id ; 36 //public : uint32_t _size_general_register ; 37 //public : uint32_t _size_special_register ; 38 // 39 //public : uint32_t _have_port_context_id ; 40 //public : uint32_t _have_port_front_end_id; 41 41 42 42 //-----[ methods ]----------------------------------------------------------- … … 46 46 uint32_t nb_special_register, 47 47 uint32_t nb_inst_insert , 48 uint32_t nb_inst_retire 48 uint32_t nb_inst_retire , 49 bool is_toplevel=false 49 50 ); 50 51 // public : Parameters (Parameters & param) ; 51 52 public : ~Parameters () ; 53 54 public : void copy (void); 52 55 53 56 public : Parameters_test msg_error (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Register_Address_Translation_unit.h
r82 r88 103 103 public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RD_PHY_OLD;//[nb_inst_retire] 104 104 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_OLD;//[nb_inst_retire] 105 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire] 106 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire] 105 107 106 108 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 107 109 108 110 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 111 private : Tgeneral_address_t *** rat_gpr; //[nb_front_end][nb_context][nb_general_register_logic] 112 private : bool *** rat_gpr_update_table; //[nb_front_end][nb_context][nb_general_register_logic] 113 private : Tspecial_address_t *** rat_spr; //[nb_front_end][nb_context][nb_special_register_logic] 114 private : bool *** rat_spr_update_table; //[nb_front_end][nb_context][nb_special_register_logic] 109 115 110 116 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 113 119 private : Tcontrol_t * internal_RETIRE_ACK; //[nb_inst_retire] 114 120 115 private : Tgeneral_address_t *** rat_gpr; //[nb_front_end][nb_context][nb_general_register_logic] 116 private : bool *** rat_gpr_update_table; //[nb_front_end][nb_context][nb_general_register_logic] 117 private : Tspecial_address_t *** rat_spr; //[nb_front_end][nb_context][nb_special_register_logic] 118 private : bool *** rat_spr_update_table; //[nb_front_end][nb_context][nb_special_register_logic] 121 private : bool *** internal_rat_gpr_update_table; //[nb_front_end][nb_context][nb_general_register_logic] 122 private : bool *** internal_rat_spr_update_table; //[nb_front_end][nb_context][nb_special_register_logic] 119 123 #endif 120 124 … … 150 154 #ifdef SYSTEMC 151 155 public : void transition (void); 152 public : void genMoore (void); 156 public : void genMealy_rename (void); 157 public : void genMealy_retire (void); 153 158 #endif 154 159 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters.cpp
r81 r88 25 25 uint32_t nb_special_register, 26 26 uint32_t nb_inst_insert , 27 uint32_t nb_inst_retire ) 27 uint32_t nb_inst_retire , 28 bool is_toplevel) 28 29 { 29 30 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); … … 36 37 _nb_inst_retire = nb_inst_retire ; 37 38 38 _size_front_end_id = log2(nb_front_end ); 39 _size_context_id = log2(max<uint32_t>(nb_context, nb_front_end)); 40 _size_general_register = log2(nb_general_register); 41 _size_special_register = log2(nb_special_register); 39 test(); 40 41 if (is_toplevel) 42 { 43 _size_front_end_id = log2(nb_front_end ); 44 _size_context_id = log2(max<uint32_t>(nb_context, nb_front_end)); 45 _size_general_register = log2(nb_general_register); 46 _size_special_register = log2(nb_special_register); 42 47 43 _have_port_front_end_id = _size_front_end_id>0; 44 _have_port_context_id = _size_context_id >0; 45 46 test(); 48 _have_port_front_end_id = _size_front_end_id>0; 49 _have_port_context_id = _size_context_id >0; 50 51 copy(); 52 } 47 53 48 54 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End"); … … 60 66 #undef FUNCTION 61 67 #define FUNCTION "Register_Address_Translation_unit::~Parameters" 62 Parameters::~Parameters () 68 Parameters::~Parameters (void) 69 { 70 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); 71 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End"); 72 }; 73 74 #undef FUNCTION 75 #define FUNCTION "Register_Address_Translation_unit::copy" 76 void Parameters::copy (void) 63 77 { 64 78 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit.cpp
r81 r88 39 39 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Register_Address_Translation_unit == true 42 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Allocation"); 42 48 … … 48 54 49 55 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)56 if (usage_is_set(_usage,USE_STATISTICS)) 51 57 { 52 58 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Allocation of statistics"); … … 57 63 58 64 #ifdef VHDL 59 if ( _usage & USE_VHDL)65 if (usage_is_set(_usage,USE_VHDL)) 60 66 { 61 67 // generate the vhdl … … 67 73 68 74 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)75 if (usage_is_set(_usage,USE_SYSTEMC)) 70 76 { 71 77 // Constant : accepted already transaction … … 95 101 # endif 96 102 97 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Method - genM oore");103 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Method - genMealy_rename"); 98 104 99 SC_METHOD (genM oore);105 SC_METHOD (genMealy_rename); 100 106 dont_initialize (); 101 sensitive << (*(in_CLOCK)).neg(); 107 sensitive << (*(in_CLOCK)).neg(); // need internal register 108 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 109 { 110 if (_param->_have_port_front_end_id) 111 sensitive << (*(in_RENAME_FRONT_END_ID [i])); 112 if (_param->_have_port_context_id ) 113 sensitive << (*(in_RENAME_CONTEXT_ID [i])); 114 115 sensitive << (*(in_RENAME_NUM_REG_RA_LOG [i])) 116 << (*(in_RENAME_NUM_REG_RB_LOG [i])) 117 << (*(in_RENAME_NUM_REG_RC_LOG [i])) 118 << (*(in_RENAME_NUM_REG_RD_LOG [i])) 119 << (*(in_RENAME_NUM_REG_RE_LOG [i])); 120 } 121 122 123 # ifdef SYSTEMCASS_SPECIFIC 124 // List dependency information 125 # endif 126 127 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Method - genMealy_retire"); 128 129 SC_METHOD (genMealy_retire); 130 dont_initialize (); 131 sensitive << (*(in_CLOCK)).neg(); // need internal register 132 for (uint32_t i=0; i<_param->_nb_inst_retire; ++i) 133 { 134 if (param->_have_port_front_end_id) 135 sensitive << (*(in_RETIRE_FRONT_END_ID [i])); 136 if (param->_have_port_context_id) 137 sensitive << (*(in_RETIRE_CONTEXT_ID [i])); 138 139 sensitive << (*(in_RETIRE_EVENT_STATE [i])) 140 << (*(in_RETIRE_WRITE_RD [i])) 141 << (*(in_RETIRE_WRITE_RE [i])) 142 << (*(in_RETIRE_NUM_REG_RD_LOG [i])) 143 << (*(in_RETIRE_NUM_REG_RE_LOG [i])); 144 } 102 145 103 146 # ifdef SYSTEMCASS_SPECIFIC … … 117 160 118 161 #ifdef STATISTICS 119 if ( _usage & USE_STATISTICS)162 if (usage_is_set(_usage,USE_STATISTICS)) 120 163 { 121 164 log_printf(INFO,Register_Address_Translation_unit,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_allocation.cpp
r81 r88 107 107 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register); 108 108 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register); 109 ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t ,1); 110 ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t ,1); 109 111 } 110 112 111 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 113 if (usage_is_set(_usage,USE_SYSTEMC)) 114 { 112 115 internal_RENAME_ACK = new Tcontrol_t [_param->_nb_inst_insert]; 113 116 internal_INSERT_ACK = new Tcontrol_t [_param->_nb_inst_insert]; 114 117 internal_RETIRE_ACK = new Tcontrol_t [_param->_nb_inst_retire]; 115 118 116 rat_gpr = new Tgeneral_address_t ** [_param->_nb_front_end]; 117 rat_gpr_update_table = new bool ** [_param->_nb_front_end]; 118 rat_spr = new Tspecial_address_t ** [_param->_nb_front_end]; 119 rat_spr_update_table = new bool ** [_param->_nb_front_end]; 119 rat_gpr = new Tgeneral_address_t ** [_param->_nb_front_end]; 120 rat_spr = new Tspecial_address_t ** [_param->_nb_front_end]; 121 rat_gpr_update_table = new bool ** [_param->_nb_front_end]; 122 rat_spr_update_table = new bool ** [_param->_nb_front_end]; 123 internal_rat_gpr_update_table = new bool ** [_param->_nb_front_end]; 124 internal_rat_spr_update_table = new bool ** [_param->_nb_front_end]; 120 125 121 126 for (uint32_t i=0; i<_param->_nb_front_end; i++) 122 127 { 123 rat_gpr [i] = new Tgeneral_address_t * [_param->_nb_context[i]]; 124 rat_gpr_update_table [i] = new bool * [_param->_nb_context[i]]; 125 rat_spr [i] = new Tspecial_address_t * [_param->_nb_context[i]]; 126 rat_spr_update_table [i] = new bool * [_param->_nb_context[i]]; 128 rat_gpr [i] = new Tgeneral_address_t * [_param->_nb_context[i]]; 129 rat_spr [i] = new Tspecial_address_t * [_param->_nb_context[i]]; 130 rat_gpr_update_table [i] = new bool * [_param->_nb_context[i]]; 131 rat_spr_update_table [i] = new bool * [_param->_nb_context[i]]; 132 internal_rat_gpr_update_table [i] = new bool * [_param->_nb_context[i]]; 133 internal_rat_spr_update_table [i] = new bool * [_param->_nb_context[i]]; 127 134 128 135 for (uint32_t j=0; j<_param->_nb_context[i]; j++) 129 136 { 130 rat_gpr [i][j] = new Tgeneral_address_t [_param->_nb_general_register_logic]; 131 rat_gpr_update_table [i][j] = new bool [_param->_nb_general_register_logic]; 132 rat_spr [i][j] = new Tspecial_address_t [_param->_nb_special_register_logic]; 133 rat_spr_update_table [i][j] = new bool [_param->_nb_special_register_logic]; 137 rat_gpr [i][j] = new Tgeneral_address_t [_param->_nb_general_register_logic]; 138 rat_spr [i][j] = new Tspecial_address_t [_param->_nb_special_register_logic]; 139 rat_gpr_update_table [i][j] = new bool [_param->_nb_general_register_logic]; 140 rat_spr_update_table [i][j] = new bool [_param->_nb_special_register_logic]; 141 internal_rat_gpr_update_table [i][j] = new bool [_param->_nb_general_register_logic]; 142 internal_rat_spr_update_table [i][j] = new bool [_param->_nb_special_register_logic]; 134 143 } 135 144 } 145 } 146 147 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 148 137 149 #ifdef POSITION 138 _component->generate_file(); 150 if (usage_is_set(_usage,USE_POSITION)) 151 _component->generate_file(); 139 152 #endif 140 153 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); 25 25 26 if ( _usage & USE_SYSTEMC)26 if (usage_is_set(_usage,USE_SYSTEMC)) 27 27 { 28 28 delete in_CLOCK ; … … 72 72 delete [] in_RETIRE_NUM_REG_RD_PHY_OLD; 73 73 delete [] in_RETIRE_NUM_REG_RE_PHY_OLD; 74 delete [] out_RETIRE_RESTORE_RD_PHY_OLD; 75 delete [] out_RETIRE_RESTORE_RE_PHY_OLD; 76 77 delete [] internal_RENAME_ACK; 78 delete [] internal_INSERT_ACK; 79 delete [] internal_RETIRE_ACK; 80 81 delete [] rat_gpr ; 82 delete [] rat_spr ; 83 delete [] rat_gpr_update_table; 84 delete [] rat_spr_update_table; 85 delete [] internal_rat_gpr_update_table; 86 delete [] internal_rat_spr_update_table; 74 87 } 88 75 89 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 76 delete [] internal_RENAME_ACK;77 delete [] internal_INSERT_ACK;78 delete [] internal_RETIRE_ACK;79 80 delete [] rat_gpr ;81 delete [] rat_gpr_update_table;82 delete [] rat_spr ;83 delete [] rat_spr_update_table;84 90 delete _component; 85 91 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_genMealy_rename.cpp
r87 r88 20 20 21 21 #undef FUNCTION 22 #define FUNCTION "Register_Address_Translation_unit::genM oore"23 void Register_Address_Translation_unit::genM oore (void)22 #define FUNCTION "Register_Address_Translation_unit::genMealy_rename" 23 void Register_Address_Translation_unit::genMealy_rename (void) 24 24 { 25 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); 25 log_begin(Register_Address_Translation_unit,FUNCTION); 26 log_function(Register_Address_Translation_unit,FUNCTION,_name.c_str()); 26 27 27 28 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) … … 37 38 } 38 39 39 log_ printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End");40 log_end(Register_Address_Translation_unit,FUNCTION); 40 41 }; 41 42 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_transition.cpp
r81 r88 23 23 void Register_Address_Translation_unit::transition (void) 24 24 { 25 log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); 25 log_begin(Register_Address_Translation_unit,FUNCTION); 26 log_function(Register_Address_Translation_unit,FUNCTION,_name.c_str()); 26 27 27 28 if (PORT_READ(in_NRESET) == 0) … … 90 91 } 91 92 92 93 // Test if write and have not a previous update 93 // Test if write and have not a previous update 94 94 if (PORT_READ(in_RETIRE_WRITE_RD [i]) == 1) 95 95 { 96 96 Tgeneral_address_t rd_log = PORT_READ(in_RETIRE_NUM_REG_RD_LOG [i]); 97 97 98 log_printf( NONE,Register_Address_Translation_unit,FUNCTION,"retire[%d]",i);99 log_printf( NONE,Register_Address_Translation_unit,FUNCTION,"* front_end_id : %d",front_end_id);100 log_printf( NONE,Register_Address_Translation_unit,FUNCTION,"* context_id : %d",context_id );101 log_printf( NONE,Register_Address_Translation_unit,FUNCTION,"* rd_log : %d",rd_log );98 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * retire[%d]",i); 99 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * front_end_id : %d",front_end_id); 100 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * context_id : %d",context_id ); 101 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * rd_log : %d",rd_log ); 102 102 103 // if (RETIRE_RESTORE_RD_PHY_OLD [i]) 103 104 if (rat_gpr_update_table[front_end_id][context_id][rd_log] == 0) 104 105 { … … 112 113 Tspecial_address_t re_log = PORT_READ(in_RETIRE_NUM_REG_RE_LOG [i]); 113 114 115 // if (RETIRE_RESTORE_RE_PHY_OLD [i]) 114 116 if (rat_spr_update_table[front_end_id][context_id][re_log] == 0) 115 117 { … … 122 124 } 123 125 126 #if (DEBUG >= DEBUG_TRACE) and (DEBUG_Register_Address_Translation_unit == true) 127 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * Dump RAT (Register_Address_Translation_unit)"); 128 for (uint32_t i=0; i<_param->_nb_front_end; ++i) 129 for (uint32_t j=0; j<_param->_nb_context[i]; ++j) 130 { 131 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * front_end[%d].context[%d]",i,j); 132 133 for (uint32_t k=0; k<_param->_nb_general_register_logic; ++k) 134 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * GPR[%.2d] - %.5d %.1d",k,rat_gpr[i][j][k],rat_gpr_update_table[i][j][k]); 135 136 for (uint32_t k=0; k<_param->_nb_special_register_logic; ++k) 137 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION," * SPR[%.2d] - %.5d %.1d",k,rat_spr[i][j][k],rat_spr_update_table[i][j][k]); 138 } 139 #endif 140 124 141 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 125 142 end_cycle (); 126 143 #endif 127 144 128 log_ printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End");145 log_end(Register_Address_Translation_unit,FUNCTION); 129 146 }; 130 147 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/SelfTest/Makefile
r81 r88 24 24 library_clean : Register_translation_unit_Glue_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/SelfTest/configuration.cfg
r81 r88 2 2 1 4 *2 # nb_inst_insert 3 3 1 4 *2 # nb_inst_retire 4 5 5 *2 # size_general_register 5 2 2 *2 # size_special_register -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/SelfTest/src/main.cpp
r81 r88 8 8 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/SelfTest/include/test.h" 9 9 10 #define NB_PARAMS 210 #define NB_PARAMS 4 11 11 12 12 void usage (int argc, char * argv[]) … … 14 14 err (_("<Usage> %s name_instance list_params.\n"),argv[0]); 15 15 err (_("list_params is :\n")); 16 err (_(" * nb_inst_insert (uint32_t)\n")); 17 err (_(" * nb_inst_retire (uint32_t)\n")); 16 err (_(" * nb_inst_insert (uint32_t)\n")); 17 err (_(" * nb_inst_retire (uint32_t)\n")); 18 err (_(" * size_general_register (uint32_t)\n")); 19 err (_(" * size_special_register (uint32_t)\n")); 18 20 19 21 exit (1); … … 32 34 33 35 string name = argv[x++]; 34 uint32_t _nb_inst_insert = atoi(argv[x++]); 35 uint32_t _nb_inst_retire = atoi(argv[x++]); 36 uint32_t _nb_inst_insert = fromString<uint32_t>(argv[x++]); 37 uint32_t _nb_inst_retire = fromString<uint32_t>(argv[x++]); 38 uint32_t _size_general_register = fromString<uint32_t>(argv[x++]); 39 uint32_t _size_special_register = fromString<uint32_t>(argv[x++]); 40 36 41 37 42 int _return = EXIT_SUCCESS; … … 40 45 morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_translation_unit_glue::Parameters * param = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_translation_unit_glue::Parameters 41 46 (_nb_inst_insert, 42 _nb_inst_retire); 47 _nb_inst_retire, 48 _size_general_register, 49 _size_special_register, 50 true //is_toplevel 51 ); 43 52 44 53 msg(_("%s"),param->print(1).c_str()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/SelfTest/src/test.cpp
r82 r88 23 23 #endif 24 24 25 Tusage_t _usage = USE_ALL; 26 27 // _usage = usage_unset(_usage,USE_SYSTEMC ); 28 // _usage = usage_unset(_usage,USE_VHDL ); 29 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 31 // _usage = usage_unset(_usage,USE_POSITION ); 32 // _usage = usage_unset(_usage,USE_STATISTICS ); 33 // _usage = usage_unset(_usage,USE_INFORMATION ); 34 25 35 Register_translation_unit_Glue * _Register_translation_unit_Glue = new Register_translation_unit_Glue 26 36 (name.c_str(), … … 29 39 #endif 30 40 _param, 31 USE_ALL);41 _usage); 32 42 33 43 #ifdef SYSTEMC … … 51 61 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_VAL ,"out_INSERT_STAT_LIST_VAL ",Tcontrol_t,_param->_nb_inst_insert); 52 62 ALLOC1_SC_SIGNAL( in_INSERT_STAT_LIST_ACK ," in_INSERT_STAT_LIST_ACK ",Tcontrol_t,_param->_nb_inst_insert); 63 64 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RA ," in_INSERT_DEPENDENCY_CHECKING_READ_RA ",Tcontrol_t ,_param->_nb_inst_insert); 65 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 66 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RB ," in_INSERT_DEPENDENCY_CHECKING_READ_RB ",Tcontrol_t ,_param->_nb_inst_insert); 67 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 68 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RC ," in_INSERT_DEPENDENCY_CHECKING_READ_RC ",Tcontrol_t ,_param->_nb_inst_insert); 69 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ",Tspecial_address_t,_param->_nb_inst_insert); 70 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ," in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_insert); 71 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ",Tgeneral_address_t,_param->_nb_inst_insert); 72 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD",Tgeneral_address_t,_param->_nb_inst_insert); 73 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW",Tgeneral_address_t,_param->_nb_inst_insert); 74 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ," in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_insert); 75 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ",Tspecial_address_t,_param->_nb_inst_insert); 76 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD",Tspecial_address_t,_param->_nb_inst_insert); 77 ALLOC1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW," in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW",Tspecial_address_t,_param->_nb_inst_insert); 78 79 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,"out_INSERT_STAT_LIST_READ_RA ",Tcontrol_t ,_param->_nb_inst_insert); 80 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,"out_INSERT_STAT_LIST_NUM_REG_RA_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 81 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,"out_INSERT_STAT_LIST_READ_RB ",Tcontrol_t ,_param->_nb_inst_insert); 82 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,"out_INSERT_STAT_LIST_NUM_REG_RB_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 83 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,"out_INSERT_STAT_LIST_READ_RC ",Tcontrol_t ,_param->_nb_inst_insert); 84 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,"out_INSERT_STAT_LIST_NUM_REG_RC_PHY ",Tspecial_address_t,_param->_nb_inst_insert); 85 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RD ,"out_INSERT_STAT_LIST_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_insert); 86 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,"out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ",Tgeneral_address_t,_param->_nb_inst_insert); 87 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RE ,"out_INSERT_STAT_LIST_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_insert); 88 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,"out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ",Tspecial_address_t,_param->_nb_inst_insert); 89 90 ALLOC1_SC_SIGNAL(out_INSERT_RAT_WRITE_RD ,"out_INSERT_RAT_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_insert); 91 ALLOC1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RD_LOG ,"out_INSERT_RAT_NUM_REG_RD_LOG ",Tgeneral_address_t,_param->_nb_inst_insert); 92 ALLOC1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RD_PHY_NEW ,"out_INSERT_RAT_NUM_REG_RD_PHY_NEW ",Tgeneral_address_t,_param->_nb_inst_insert); 93 ALLOC1_SC_SIGNAL(out_INSERT_RAT_WRITE_RE ,"out_INSERT_RAT_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_insert); 94 ALLOC1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RE_LOG ,"out_INSERT_RAT_NUM_REG_RE_LOG ",Tspecial_address_t,_param->_nb_inst_insert); 95 ALLOC1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RE_PHY_NEW ,"out_INSERT_RAT_NUM_REG_RE_PHY_NEW ",Tspecial_address_t,_param->_nb_inst_insert); 96 97 ALLOC1_SC_SIGNAL(out_INSERT_READ_RA ,"out_INSERT_READ_RA ",Tcontrol_t ,_param->_nb_inst_insert); 98 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RA_PHY ,"out_INSERT_NUM_REG_RA_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 99 ALLOC1_SC_SIGNAL(out_INSERT_READ_RB ,"out_INSERT_READ_RB ",Tcontrol_t ,_param->_nb_inst_insert); 100 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RB_PHY ,"out_INSERT_NUM_REG_RB_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 101 ALLOC1_SC_SIGNAL(out_INSERT_READ_RC ,"out_INSERT_READ_RC ",Tcontrol_t ,_param->_nb_inst_insert); 102 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RC_PHY ,"out_INSERT_NUM_REG_RC_PHY ",Tspecial_address_t,_param->_nb_inst_insert); 103 ALLOC1_SC_SIGNAL(out_INSERT_WRITE_RD ,"out_INSERT_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_insert); 104 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RD_LOG ,"out_INSERT_NUM_REG_RD_LOG ",Tgeneral_address_t,_param->_nb_inst_insert); 105 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD ,"out_INSERT_NUM_REG_RD_PHY_OLD ",Tgeneral_address_t,_param->_nb_inst_insert); 106 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW ,"out_INSERT_NUM_REG_RD_PHY_NEW ",Tgeneral_address_t,_param->_nb_inst_insert); 107 ALLOC1_SC_SIGNAL(out_INSERT_WRITE_RE ,"out_INSERT_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_insert); 108 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RE_LOG ,"out_INSERT_NUM_REG_RE_LOG ",Tspecial_address_t,_param->_nb_inst_insert); 109 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD ,"out_INSERT_NUM_REG_RE_PHY_OLD ",Tspecial_address_t,_param->_nb_inst_insert); 110 ALLOC1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW ,"out_INSERT_NUM_REG_RE_PHY_NEW ",Tspecial_address_t,_param->_nb_inst_insert); 111 53 112 ALLOC1_SC_SIGNAL( in_RETIRE_VAL ," in_RETIRE_VAL ",Tcontrol_t,_param->_nb_inst_retire); 54 113 ALLOC1_SC_SIGNAL(out_RETIRE_ACK ,"out_RETIRE_ACK ",Tcontrol_t,_param->_nb_inst_retire); … … 78 137 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_VAL ,_param->_nb_inst_insert); 79 138 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_STAT_LIST_ACK ,_param->_nb_inst_insert); 80 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_RETIRE_VAL ,_param->_nb_inst_retire); 81 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_RETIRE_ACK ,_param->_nb_inst_retire); 82 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_RETIRE_RAT_VAL ,_param->_nb_inst_retire); 83 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_RETIRE_RAT_ACK ,_param->_nb_inst_retire); 84 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_RETIRE_STAT_LIST_VAL ,_param->_nb_inst_retire); 85 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_RETIRE_STAT_LIST_ACK ,_param->_nb_inst_retire); 139 140 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_READ_RA ,_param->_nb_inst_insert); 141 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 142 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_READ_RB ,_param->_nb_inst_insert); 143 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 144 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_READ_RC ,_param->_nb_inst_insert); 145 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 146 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ,_param->_nb_inst_insert); 147 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ,_param->_nb_inst_insert); 148 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert); 149 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert); 150 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ,_param->_nb_inst_insert); 151 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ,_param->_nb_inst_insert); 152 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert); 153 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert); 154 155 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert); 156 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 157 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert); 158 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 159 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert); 160 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 161 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_WRITE_RD ,_param->_nb_inst_insert); 162 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 163 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_WRITE_RE ,_param->_nb_inst_insert); 164 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 165 166 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_RAT_WRITE_RD ,_param->_nb_inst_insert); 167 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_RAT_NUM_REG_RD_LOG ,_param->_nb_inst_insert); 168 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_RAT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 169 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_RAT_WRITE_RE ,_param->_nb_inst_insert); 170 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_RAT_NUM_REG_RE_LOG ,_param->_nb_inst_insert); 171 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_RAT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 172 173 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_READ_RA ,_param->_nb_inst_insert); 174 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 175 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_READ_RB ,_param->_nb_inst_insert); 176 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 177 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_READ_RC ,_param->_nb_inst_insert); 178 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 179 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_WRITE_RD ,_param->_nb_inst_insert); 180 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert); 181 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert); 182 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 183 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_WRITE_RE ,_param->_nb_inst_insert); 184 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert); 185 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert); 186 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 187 188 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_RETIRE_VAL ,_param->_nb_inst_retire); 189 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_RETIRE_ACK ,_param->_nb_inst_retire); 190 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_RETIRE_RAT_VAL ,_param->_nb_inst_retire); 191 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_RETIRE_RAT_ACK ,_param->_nb_inst_retire); 192 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_RETIRE_STAT_LIST_VAL,_param->_nb_inst_retire); 193 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_RETIRE_STAT_LIST_ACK,_param->_nb_inst_retire); 86 194 87 195 msg(_("<%s> : Start Simulation ............\n"),name.c_str()); … … 187 295 delete in_NRESET; 188 296 189 delete [] in_INSERT_RENAME_VAL ; 190 delete [] out_INSERT_RENAME_ACK ; 191 delete [] out_INSERT_INSERT_VAL ; 192 delete [] in_INSERT_INSERT_ACK ; 193 delete [] out_INSERT_RAT_INSERT_VAL; 194 delete [] in_INSERT_RAT_RENAME_ACK; 195 delete [] in_INSERT_RAT_INSERT_ACK; 196 delete [] out_INSERT_FREE_LIST_VAL ; 197 delete [] in_INSERT_FREE_LIST_ACK ; 198 delete [] out_INSERT_STAT_LIST_VAL ; 199 delete [] in_INSERT_STAT_LIST_ACK ; 200 delete [] in_RETIRE_VAL ; 201 delete [] out_RETIRE_ACK ; 202 delete [] out_RETIRE_RAT_VAL ; 203 delete [] in_RETIRE_RAT_ACK ; 204 delete [] out_RETIRE_STAT_LIST_VAL ; 205 delete [] in_RETIRE_STAT_LIST_ACK ; 297 DELETE1_SC_SIGNAL( in_INSERT_RENAME_VAL ,_param->_nb_inst_insert); 298 DELETE1_SC_SIGNAL(out_INSERT_RENAME_ACK ,_param->_nb_inst_insert); 299 DELETE1_SC_SIGNAL(out_INSERT_INSERT_VAL ,_param->_nb_inst_insert); 300 DELETE1_SC_SIGNAL( in_INSERT_INSERT_ACK ,_param->_nb_inst_insert); 301 DELETE1_SC_SIGNAL(out_INSERT_RAT_INSERT_VAL,_param->_nb_inst_insert); 302 DELETE1_SC_SIGNAL( in_INSERT_RAT_RENAME_ACK,_param->_nb_inst_insert); 303 DELETE1_SC_SIGNAL( in_INSERT_RAT_INSERT_ACK,_param->_nb_inst_insert); 304 DELETE1_SC_SIGNAL(out_INSERT_FREE_LIST_VAL ,_param->_nb_inst_insert); 305 DELETE1_SC_SIGNAL( in_INSERT_FREE_LIST_ACK ,_param->_nb_inst_insert); 306 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_VAL ,_param->_nb_inst_insert); 307 DELETE1_SC_SIGNAL( in_INSERT_STAT_LIST_ACK ,_param->_nb_inst_insert); 308 309 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RA ,_param->_nb_inst_insert); 310 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 311 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RB ,_param->_nb_inst_insert); 312 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 313 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RC ,_param->_nb_inst_insert); 314 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 315 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ,_param->_nb_inst_insert); 316 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ,_param->_nb_inst_insert); 317 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert); 318 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert); 319 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ,_param->_nb_inst_insert); 320 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ,_param->_nb_inst_insert); 321 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert); 322 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert); 323 324 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert); 325 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 326 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert); 327 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 328 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert); 329 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 330 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RD ,_param->_nb_inst_insert); 331 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 332 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RE ,_param->_nb_inst_insert); 333 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 334 335 DELETE1_SC_SIGNAL(out_INSERT_RAT_WRITE_RD ,_param->_nb_inst_insert); 336 DELETE1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RD_LOG ,_param->_nb_inst_insert); 337 DELETE1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 338 DELETE1_SC_SIGNAL(out_INSERT_RAT_WRITE_RE ,_param->_nb_inst_insert); 339 DELETE1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RE_LOG ,_param->_nb_inst_insert); 340 DELETE1_SC_SIGNAL(out_INSERT_RAT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 341 342 DELETE1_SC_SIGNAL(out_INSERT_READ_RA ,_param->_nb_inst_insert); 343 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 344 DELETE1_SC_SIGNAL(out_INSERT_READ_RB ,_param->_nb_inst_insert); 345 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 346 DELETE1_SC_SIGNAL(out_INSERT_READ_RC ,_param->_nb_inst_insert); 347 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 348 DELETE1_SC_SIGNAL(out_INSERT_WRITE_RD ,_param->_nb_inst_insert); 349 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert); 350 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert); 351 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 352 DELETE1_SC_SIGNAL(out_INSERT_WRITE_RE ,_param->_nb_inst_insert); 353 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert); 354 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert); 355 DELETE1_SC_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 356 357 DELETE1_SC_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire); 358 DELETE1_SC_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire); 359 DELETE1_SC_SIGNAL(out_RETIRE_RAT_VAL ,_param->_nb_inst_retire); 360 DELETE1_SC_SIGNAL( in_RETIRE_RAT_ACK ,_param->_nb_inst_retire); 361 DELETE1_SC_SIGNAL(out_RETIRE_STAT_LIST_VAL,_param->_nb_inst_retire); 362 DELETE1_SC_SIGNAL( in_RETIRE_STAT_LIST_ACK,_param->_nb_inst_retire); 206 363 207 364 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/include/Parameters.h
r82 r88 27 27 public : uint32_t _nb_inst_insert; 28 28 public : uint32_t _nb_inst_retire; 29 //public : uint32_t _size_general_register; 30 //public : uint32_t _size_special_register; 29 31 30 32 //-----[ methods ]----------------------------------------------------------- 31 33 public : Parameters (uint32_t nb_inst_insert, 32 uint32_t nb_inst_retire); 34 uint32_t nb_inst_retire, 35 uint32_t size_general_register, 36 uint32_t size_special_register, 37 bool is_toplevel=false 38 ); 33 39 34 40 // public : Parameters (Parameters & param) ; 35 41 public : ~Parameters () ; 42 43 public : void copy (void); 36 44 37 45 public : Parameters_test msg_error (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/include/Register_translation_unit_Glue.h
r82 r88 64 64 65 65 // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66 public : SC_IN (Tcontrol_t) ** in_INSERT_RENAME_VAL ;//[nb_inst_insert] 67 public : SC_OUT(Tcontrol_t) ** out_INSERT_RENAME_ACK ;//[nb_inst_insert] 68 public : SC_OUT(Tcontrol_t) ** out_INSERT_INSERT_VAL ;//[nb_inst_insert] 69 public : SC_IN (Tcontrol_t) ** in_INSERT_INSERT_ACK ;//[nb_inst_insert] 70 public : SC_OUT(Tcontrol_t) ** out_INSERT_RAT_INSERT_VAL;//[nb_inst_insert] 71 public : SC_IN (Tcontrol_t) ** in_INSERT_RAT_RENAME_ACK;//[nb_inst_insert] 72 public : SC_IN (Tcontrol_t) ** in_INSERT_RAT_INSERT_ACK;//[nb_inst_insert] 73 public : SC_OUT(Tcontrol_t) ** out_INSERT_FREE_LIST_VAL ;//[nb_inst_insert] 74 public : SC_IN (Tcontrol_t) ** in_INSERT_FREE_LIST_ACK ;//[nb_inst_insert] 75 public : SC_OUT(Tcontrol_t) ** out_INSERT_STAT_LIST_VAL ;//[nb_inst_insert] 76 public : SC_IN (Tcontrol_t) ** in_INSERT_STAT_LIST_ACK ;//[nb_inst_insert] 66 public : SC_IN (Tcontrol_t) ** in_INSERT_RENAME_VAL ;//[nb_inst_insert] 67 public : SC_OUT(Tcontrol_t) ** out_INSERT_RENAME_ACK ;//[nb_inst_insert] 68 public : SC_OUT(Tcontrol_t) ** out_INSERT_INSERT_VAL ;//[nb_inst_insert] 69 public : SC_IN (Tcontrol_t) ** in_INSERT_INSERT_ACK ;//[nb_inst_insert] 70 public : SC_OUT(Tcontrol_t) ** out_INSERT_RAT_INSERT_VAL ;//[nb_inst_insert] 71 public : SC_IN (Tcontrol_t) ** in_INSERT_RAT_RENAME_ACK ;//[nb_inst_insert] 72 public : SC_IN (Tcontrol_t) ** in_INSERT_RAT_INSERT_ACK ;//[nb_inst_insert] 73 public : SC_OUT(Tcontrol_t) ** out_INSERT_FREE_LIST_VAL ;//[nb_inst_insert] 74 public : SC_IN (Tcontrol_t) ** in_INSERT_FREE_LIST_ACK ;//[nb_inst_insert] 75 public : SC_OUT(Tcontrol_t) ** out_INSERT_STAT_LIST_VAL ;//[nb_inst_insert] 76 public : SC_IN (Tcontrol_t) ** in_INSERT_STAT_LIST_ACK ;//[nb_inst_insert] 77 78 public : SC_IN (Tcontrol_t ) ** in_INSERT_DEPENDENCY_CHECKING_READ_RA ;//[nb_inst_insert] 79 public : SC_IN (Tgeneral_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ;//[nb_inst_insert] 80 public : SC_IN (Tcontrol_t ) ** in_INSERT_DEPENDENCY_CHECKING_READ_RB ;//[nb_inst_insert] 81 public : SC_IN (Tgeneral_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ;//[nb_inst_insert] 82 public : SC_IN (Tcontrol_t ) ** in_INSERT_DEPENDENCY_CHECKING_READ_RC ;//[nb_inst_insert] 83 public : SC_IN (Tspecial_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ;//[nb_inst_insert] 84 public : SC_IN (Tcontrol_t ) ** in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ;//[nb_inst_insert] 85 public : SC_IN (Tgeneral_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ;//[nb_inst_insert] 86 public : SC_IN (Tgeneral_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD;//[nb_inst_insert] 87 public : SC_IN (Tgeneral_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW;//[nb_inst_insert] 88 public : SC_IN (Tcontrol_t ) ** in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ;//[nb_inst_insert] 89 public : SC_IN (Tspecial_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ;//[nb_inst_insert] 90 public : SC_IN (Tspecial_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD;//[nb_inst_insert] 91 public : SC_IN (Tspecial_address_t) ** in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW;//[nb_inst_insert] 92 93 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_READ_RA ;//[nb_inst_insert] 94 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RA_PHY ;//[nb_inst_insert] 95 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_READ_RB ;//[nb_inst_insert] 96 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RB_PHY ;//[nb_inst_insert] 97 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_READ_RC ;//[nb_inst_insert] 98 public : SC_OUT(Tspecial_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RC_PHY ;//[nb_inst_insert] 99 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_WRITE_RD ;//[nb_inst_insert] 100 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ;//[nb_inst_insert] 101 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_WRITE_RE ;//[nb_inst_insert] 102 public : SC_OUT(Tspecial_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ;//[nb_inst_insert] 103 104 public : SC_OUT(Tcontrol_t ) ** out_INSERT_RAT_WRITE_RD ;//[nb_inst_insert] 105 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_RAT_NUM_REG_RD_LOG ;//[nb_inst_insert] 106 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_RAT_NUM_REG_RD_PHY_NEW ;//[nb_inst_insert] 107 public : SC_OUT(Tcontrol_t ) ** out_INSERT_RAT_WRITE_RE ;//[nb_inst_insert] 108 public : SC_OUT(Tspecial_address_t) ** out_INSERT_RAT_NUM_REG_RE_LOG ;//[nb_inst_insert] 109 public : SC_OUT(Tspecial_address_t) ** out_INSERT_RAT_NUM_REG_RE_PHY_NEW ;//[nb_inst_insert] 110 111 public : SC_OUT(Tcontrol_t ) ** out_INSERT_READ_RA ;//[nb_inst_insert] 112 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_NUM_REG_RA_PHY ;//[nb_inst_insert] 113 public : SC_OUT(Tcontrol_t ) ** out_INSERT_READ_RB ;//[nb_inst_insert] 114 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_NUM_REG_RB_PHY ;//[nb_inst_insert] 115 public : SC_OUT(Tcontrol_t ) ** out_INSERT_READ_RC ;//[nb_inst_insert] 116 public : SC_OUT(Tspecial_address_t) ** out_INSERT_NUM_REG_RC_PHY ;//[nb_inst_insert] 117 public : SC_OUT(Tcontrol_t ) ** out_INSERT_WRITE_RD ;//[nb_inst_insert] 118 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_NUM_REG_RD_LOG ;//[nb_inst_insert] 119 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_NUM_REG_RD_PHY_OLD ;//[nb_inst_insert] 120 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_NUM_REG_RD_PHY_NEW ;//[nb_inst_insert] 121 public : SC_OUT(Tcontrol_t ) ** out_INSERT_WRITE_RE ;//[nb_inst_insert] 122 public : SC_OUT(Tspecial_address_t) ** out_INSERT_NUM_REG_RE_LOG ;//[nb_inst_insert] 123 public : SC_OUT(Tspecial_address_t) ** out_INSERT_NUM_REG_RE_PHY_OLD ;//[nb_inst_insert] 124 public : SC_OUT(Tspecial_address_t) ** out_INSERT_NUM_REG_RE_PHY_NEW ;//[nb_inst_insert] 77 125 78 126 // ~~~~~[ Interface : "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 124 172 public : void transition (void); 125 173 # endif 174 public : void genMealy_insert_valack (void); 126 175 public : void genMealy_insert (void); 127 176 public : void genMealy_retire (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Parameters.cpp
r81 r88 21 21 #define FUNCTION "Register_translation_unit_Glue::Parameters" 22 22 Parameters::Parameters (uint32_t nb_inst_insert, 23 uint32_t nb_inst_retire) 23 uint32_t nb_inst_retire, 24 uint32_t size_general_register, 25 uint32_t size_special_register, 26 bool is_toplevel) 24 27 { 25 28 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); 26 29 27 _nb_inst_insert = nb_inst_insert;28 _nb_inst_retire = nb_inst_retire;30 _nb_inst_insert = nb_inst_insert; 31 _nb_inst_retire = nb_inst_retire; 29 32 30 33 test(); 34 35 if (is_toplevel) 36 { 37 _size_general_register = size_general_register; 38 _size_special_register = size_special_register; 39 40 copy (); 41 } 42 31 43 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"End"); 32 44 }; … … 43 55 #undef FUNCTION 44 56 #define FUNCTION "Register_translation_unit_Glue::~Parameters" 45 Parameters::~Parameters () 57 Parameters::~Parameters (void) 58 { 59 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); 60 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"End"); 61 }; 62 63 #undef FUNCTION 64 #define FUNCTION "Register_translation_unit_Glue::copy" 65 void Parameters::copy (void) 46 66 { 47 67 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Parameters_print.cpp
r81 r88 28 28 29 29 xml.balise_open("register_translation_unit_glue"); 30 xml.singleton_begin("nb_inst_insert"); xml.attribut("value",toString(_nb_inst_insert)); xml.singleton_end(); 31 xml.singleton_begin("nb_inst_retire"); xml.attribut("value",toString(_nb_inst_retire)); xml.singleton_end(); 30 xml.singleton_begin("nb_inst_insert "); xml.attribut("value",toString(_nb_inst_insert )); xml.singleton_end(); 31 xml.singleton_begin("nb_inst_retire "); xml.attribut("value",toString(_nb_inst_retire )); xml.singleton_end(); 32 xml.singleton_begin("size_general_register"); xml.attribut("value",toString(_size_general_register)); xml.singleton_end(); 33 xml.singleton_begin("size_special_register"); xml.attribut("value",toString(_size_special_register)); xml.singleton_end(); 32 34 xml.balise_close(); 33 35 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue.cpp
r81 r88 39 39 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Register_translation_unit_Glue == true 42 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Allocation"); 42 48 … … 48 54 49 55 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)56 if (usage_is_set(_usage,USE_STATISTICS)) 51 57 { 52 58 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Allocation of statistics"); … … 57 63 58 64 #ifdef VHDL 59 if ( _usage & USE_VHDL)65 if (usage_is_set(_usage,USE_VHDL)) 60 66 { 61 67 // generate the vhdl … … 67 73 68 74 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)75 if (usage_is_set(_usage,USE_SYSTEMC)) 70 76 { 71 77 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Method - transition"); … … 83 89 SC_METHOD (genMealy_retire); 84 90 dont_initialize (); 85 // sensitive << (*(in_CLOCK)).neg(); 91 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 86 92 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 87 93 sensitive << (*(in_RETIRE_VAL [i])) … … 104 110 # endif 105 111 106 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Method - genMealy_insert ");107 108 SC_METHOD (genMealy_insert );109 dont_initialize (); 110 // sensitive << (*(in_CLOCK)).neg(); 112 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Method - genMealy_insert_valack"); 113 114 SC_METHOD (genMealy_insert_valack); 115 dont_initialize (); 116 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 111 117 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 112 118 sensitive << (*(in_INSERT_RENAME_VAL [i])) … … 152 158 } 153 159 # endif 160 161 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Method - genMealy_insert"); 162 163 SC_METHOD (genMealy_insert); 164 dont_initialize (); 165 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 166 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 167 sensitive << (*(in_INSERT_DEPENDENCY_CHECKING_READ_RA [i])) 168 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY [i])) 169 << (*(in_INSERT_DEPENDENCY_CHECKING_READ_RB [i])) 170 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY [i])) 171 << (*(in_INSERT_DEPENDENCY_CHECKING_READ_RC [i])) 172 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY [i])) 173 << (*(in_INSERT_DEPENDENCY_CHECKING_WRITE_RD [i])) 174 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG [i])) 175 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD [i])) 176 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW [i])) 177 << (*(in_INSERT_DEPENDENCY_CHECKING_WRITE_RE [i])) 178 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG [i])) 179 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD [i])) 180 << (*(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW [i])); 181 182 # ifdef SYSTEMCASS_SPECIFIC 183 // List dependency information 184 # endif 185 186 154 187 155 188 #endif … … 165 198 166 199 #ifdef STATISTICS 167 if ( _usage & USE_STATISTICS)200 if (usage_is_set(_usage,USE_STATISTICS)) 168 201 { 169 202 log_printf(INFO,Register_translation_unit_Glue,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue_allocation.cpp
r81 r88 72 72 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_VAL ,"stat_list_val" ,Tcontrol_t,1); 73 73 ALLOC1_SIGNAL_IN ( in_INSERT_STAT_LIST_ACK ,"stat_list_ack" ,Tcontrol_t,1); 74 75 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_READ_RA ,"DEPENDENCY_CHECKING_READ_RA" ,Tcontrol_t ,1); 76 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ,"DEPENDENCY_CHECKING_NUM_REG_RA_PHY" ,Tgeneral_address_t,_param->_size_general_register ); 77 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_READ_RB ,"DEPENDENCY_CHECKING_READ_RB" ,Tcontrol_t ,1); 78 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ,"DEPENDENCY_CHECKING_NUM_REG_RB_PHY" ,Tgeneral_address_t,_param->_size_general_register ); 79 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_READ_RC ,"DEPENDENCY_CHECKING_READ_RC" ,Tcontrol_t ,1); 80 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ,"DEPENDENCY_CHECKING_NUM_REG_RC_PHY" ,Tspecial_address_t,_param->_size_special_register ); 81 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ,"DEPENDENCY_CHECKING_WRITE_RD" ,Tcontrol_t ,1); 82 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ,"DEPENDENCY_CHECKING_NUM_REG_RD_LOG" ,Tgeneral_address_t,_param->_size_general_register_logic); 83 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD,"DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD",Tgeneral_address_t,_param->_size_general_register ); 84 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW,"DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW",Tgeneral_address_t,_param->_size_general_register ); 85 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ,"DEPENDENCY_CHECKING_WRITE_RE" ,Tcontrol_t ,1); 86 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ,"DEPENDENCY_CHECKING_NUM_REG_RE_LOG" ,Tspecial_address_t,_param->_size_special_register_logic); 87 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD,"DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD",Tspecial_address_t,_param->_size_special_register ); 88 ALLOC1_SIGNAL_IN ( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,"DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW",Tspecial_address_t,_param->_size_special_register ); 89 90 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_READ_RA ,"STAT_LIST_READ_RA" ,Tcontrol_t ,1); 91 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,"STAT_LIST_NUM_REG_RA_PHY" ,Tgeneral_address_t,_param->_size_general_register ); 92 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_READ_RB ,"STAT_LIST_READ_RB" ,Tcontrol_t ,1); 93 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,"STAT_LIST_NUM_REG_RB_PHY" ,Tgeneral_address_t,_param->_size_general_register ); 94 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_READ_RC ,"STAT_LIST_READ_RC" ,Tcontrol_t ,1); 95 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,"STAT_LIST_NUM_REG_RC_PHY" ,Tspecial_address_t,_param->_size_special_register ); 96 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_WRITE_RD ,"STAT_LIST_WRITE_RD" ,Tcontrol_t ,1); 97 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,"STAT_LIST_NUM_REG_RD_PHY_NEW" ,Tgeneral_address_t,_param->_size_general_register ); 98 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_WRITE_RE ,"STAT_LIST_WRITE_RE" ,Tcontrol_t ,1); 99 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,"STAT_LIST_NUM_REG_RE_PHY_NEW" ,Tspecial_address_t,_param->_size_special_register ); 100 101 ALLOC1_SIGNAL_OUT(out_INSERT_RAT_WRITE_RD ,"RAT_WRITE_RD" ,Tcontrol_t ,1); 102 ALLOC1_SIGNAL_OUT(out_INSERT_RAT_NUM_REG_RD_LOG ,"RAT_NUM_REG_RD_LOG" ,Tgeneral_address_t,_param->_size_general_register_logic); 103 ALLOC1_SIGNAL_OUT(out_INSERT_RAT_NUM_REG_RD_PHY_NEW ,"RAT_NUM_REG_RD_PHY_NEW" ,Tgeneral_address_t,_param->_size_general_register ); 104 ALLOC1_SIGNAL_OUT(out_INSERT_RAT_WRITE_RE ,"RAT_WRITE_RE" ,Tcontrol_t ,1); 105 ALLOC1_SIGNAL_OUT(out_INSERT_RAT_NUM_REG_RE_LOG ,"RAT_NUM_REG_RE_LOG" ,Tspecial_address_t,_param->_size_special_register_logic); 106 ALLOC1_SIGNAL_OUT(out_INSERT_RAT_NUM_REG_RE_PHY_NEW ,"RAT_NUM_REG_RE_PHY_NEW" ,Tspecial_address_t,_param->_size_special_register ); 107 108 ALLOC1_SIGNAL_OUT(out_INSERT_READ_RA ,"READ_RA" ,Tcontrol_t ,1); 109 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RA_PHY ,"NUM_REG_RA_PHY" ,Tgeneral_address_t,_param->_size_general_register ); 110 ALLOC1_SIGNAL_OUT(out_INSERT_READ_RB ,"READ_RB" ,Tcontrol_t ,1); 111 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RB_PHY ,"NUM_REG_RB_PHY" ,Tgeneral_address_t,_param->_size_general_register ); 112 ALLOC1_SIGNAL_OUT(out_INSERT_READ_RC ,"READ_RC" ,Tcontrol_t ,1); 113 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RC_PHY ,"NUM_REG_RC_PHY" ,Tspecial_address_t,_param->_size_special_register ); 114 ALLOC1_SIGNAL_OUT(out_INSERT_WRITE_RD ,"WRITE_RD" ,Tcontrol_t ,1); 115 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RD_LOG ,"NUM_REG_RD_LOG" ,Tgeneral_address_t,_param->_size_general_register_logic); 116 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RD_PHY_OLD ,"NUM_REG_RD_PHY_OLD" ,Tgeneral_address_t,_param->_size_general_register ); 117 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RD_PHY_NEW ,"NUM_REG_RD_PHY_NEW" ,Tgeneral_address_t,_param->_size_general_register ); 118 ALLOC1_SIGNAL_OUT(out_INSERT_WRITE_RE ,"WRITE_RE" ,Tcontrol_t ,1); 119 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RE_LOG ,"NUM_REG_RE_LOG" ,Tspecial_address_t,_param->_size_special_register_logic); 120 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RE_PHY_OLD ,"NUM_REG_RE_PHY_OLD" ,Tspecial_address_t,_param->_size_special_register ); 121 ALLOC1_SIGNAL_OUT(out_INSERT_NUM_REG_RE_PHY_NEW ,"NUM_REG_RE_PHY_NEW" ,Tspecial_address_t,_param->_size_special_register ); 74 122 } 75 123 … … 89 137 90 138 #ifdef POSITION 91 _component->generate_file(); 139 if (usage_is_set(_usage,USE_POSITION)) 140 _component->generate_file(); 92 141 #endif 93 142 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue_deallocation.cpp
r81 r88 7 7 8 8 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/include/Register_translation_unit_Glue.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 24 25 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); 25 26 26 if ( _usage & USE_SYSTEMC)27 if (usage_is_set(_usage,USE_SYSTEMC)) 27 28 { 28 29 delete in_CLOCK ; 29 30 delete in_NRESET; 30 31 31 delete [] in_INSERT_RENAME_VAL ; 32 delete [] out_INSERT_RENAME_ACK ; 33 delete [] out_INSERT_INSERT_VAL ; 34 delete [] in_INSERT_INSERT_ACK ; 35 delete [] out_INSERT_RAT_INSERT_VAL; 36 delete [] in_INSERT_RAT_RENAME_ACK; 37 delete [] in_INSERT_RAT_INSERT_ACK; 38 delete [] out_INSERT_FREE_LIST_VAL ; 39 delete [] in_INSERT_FREE_LIST_ACK ; 40 delete [] out_INSERT_STAT_LIST_VAL ; 41 delete [] in_INSERT_STAT_LIST_ACK ; 32 DELETE1_SIGNAL( in_INSERT_RENAME_VAL ,_param->_nb_inst_insert,1); 33 DELETE1_SIGNAL(out_INSERT_RENAME_ACK ,_param->_nb_inst_insert,1); 34 DELETE1_SIGNAL(out_INSERT_INSERT_VAL ,_param->_nb_inst_insert,1); 35 DELETE1_SIGNAL( in_INSERT_INSERT_ACK ,_param->_nb_inst_insert,1); 36 DELETE1_SIGNAL(out_INSERT_RAT_INSERT_VAL,_param->_nb_inst_insert,1); 37 DELETE1_SIGNAL( in_INSERT_RAT_RENAME_ACK,_param->_nb_inst_insert,1); 38 DELETE1_SIGNAL( in_INSERT_RAT_INSERT_ACK,_param->_nb_inst_insert,1); 39 DELETE1_SIGNAL(out_INSERT_FREE_LIST_VAL ,_param->_nb_inst_insert,1); 40 DELETE1_SIGNAL( in_INSERT_FREE_LIST_ACK ,_param->_nb_inst_insert,1); 41 DELETE1_SIGNAL(out_INSERT_STAT_LIST_VAL ,_param->_nb_inst_insert,1); 42 DELETE1_SIGNAL( in_INSERT_STAT_LIST_ACK ,_param->_nb_inst_insert,1); 43 44 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RA ,_param->_nb_inst_insert,1); 45 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 46 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RB ,_param->_nb_inst_insert,1); 47 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 48 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_READ_RC ,_param->_nb_inst_insert,1); 49 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 50 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_WRITE_RD ,_param->_nb_inst_insert,1); 51 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 52 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register ); 53 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert,_param->_size_general_register ); 54 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_WRITE_RE ,_param->_nb_inst_insert,1); 55 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 56 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register ); 57 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register ); 58 59 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert,1); 60 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 61 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert,1); 62 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 63 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert,1); 64 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 65 DELETE1_SIGNAL(out_INSERT_STAT_LIST_WRITE_RD ,_param->_nb_inst_insert,1); 66 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert,_param->_size_general_register ); 67 DELETE1_SIGNAL(out_INSERT_STAT_LIST_WRITE_RE ,_param->_nb_inst_insert,1); 68 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register ); 69 70 DELETE1_SIGNAL(out_INSERT_RAT_WRITE_RD ,_param->_nb_inst_insert,1); 71 DELETE1_SIGNAL(out_INSERT_RAT_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 72 DELETE1_SIGNAL(out_INSERT_RAT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert,_param->_size_general_register ); 73 DELETE1_SIGNAL(out_INSERT_RAT_WRITE_RE ,_param->_nb_inst_insert,1); 74 DELETE1_SIGNAL(out_INSERT_RAT_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 75 DELETE1_SIGNAL(out_INSERT_RAT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register ); 76 77 DELETE1_SIGNAL(out_INSERT_READ_RA ,_param->_nb_inst_insert,1); 78 DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 79 DELETE1_SIGNAL(out_INSERT_READ_RB ,_param->_nb_inst_insert,1); 80 DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 81 DELETE1_SIGNAL(out_INSERT_READ_RC ,_param->_nb_inst_insert,1); 82 DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 83 DELETE1_SIGNAL(out_INSERT_WRITE_RD ,_param->_nb_inst_insert,1); 84 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_LOG ,_param->_nb_inst_insert,_param->_size_general_register_logic); 85 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert,_param->_size_general_register ); 86 DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert,_param->_size_general_register ); 87 DELETE1_SIGNAL(out_INSERT_WRITE_RE ,_param->_nb_inst_insert,1); 88 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_LOG ,_param->_nb_inst_insert,_param->_size_special_register_logic); 89 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert,_param->_size_special_register ); 90 DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register ); 91 92 DELETE1_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 93 DELETE1_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire,1); 94 DELETE1_SIGNAL(out_RETIRE_RAT_VAL ,_param->_nb_inst_retire,1); 95 DELETE1_SIGNAL( in_RETIRE_RAT_ACK ,_param->_nb_inst_retire,1); 96 DELETE1_SIGNAL(out_RETIRE_STAT_LIST_VAL,_param->_nb_inst_retire,1); 97 DELETE1_SIGNAL( in_RETIRE_STAT_LIST_ACK,_param->_nb_inst_retire,1); 42 98 43 delete [] in_RETIRE_VAL ;44 delete [] out_RETIRE_ACK ;45 delete [] out_RETIRE_RAT_VAL ;46 delete [] in_RETIRE_RAT_ACK ;47 delete [] out_RETIRE_STAT_LIST_VAL ;48 delete [] in_RETIRE_STAT_LIST_ACK ;49 99 } 50 100 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue_genMealy_insert.cpp
r81 r88 23 23 void Register_translation_unit_Glue::genMealy_insert (void) 24 24 { 25 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); 25 log_begin(Register_translation_unit_Glue,FUNCTION); 26 log_function(Register_translation_unit_Glue,FUNCTION,_name.c_str()); 26 27 27 28 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 28 29 { 29 Tcontrol_t rename_val = PORT_READ(in_INSERT_RENAME_VAL [i]); 30 Tcontrol_t insert_ack = PORT_READ(in_INSERT_INSERT_ACK [i]); 31 Tcontrol_t rat_rename_ack = PORT_READ(in_INSERT_RAT_RENAME_ACK [i]); 32 Tcontrol_t rat_insert_ack = PORT_READ(in_INSERT_RAT_INSERT_ACK [i]); 33 Tcontrol_t free_list_ack = PORT_READ(in_INSERT_FREE_LIST_ACK [i]); 34 Tcontrol_t stat_list_ack = PORT_READ(in_INSERT_STAT_LIST_ACK [i]); 30 Tcontrol_t READ_RA = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_READ_RA [i]); 31 Tgeneral_address_t NUM_REG_RA_PHY = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY [i]); 32 Tcontrol_t READ_RB = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_READ_RB [i]); 33 Tgeneral_address_t NUM_REG_RB_PHY = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY [i]); 34 Tcontrol_t READ_RC = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_READ_RC [i]); 35 Tspecial_address_t NUM_REG_RC_PHY = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY [i]); 36 Tcontrol_t WRITE_RD = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_WRITE_RD [i]); 37 Tgeneral_address_t NUM_REG_RD_LOG = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG [i]); 38 Tgeneral_address_t NUM_REG_RD_PHY_OLD = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD [i]); 39 Tgeneral_address_t NUM_REG_RD_PHY_NEW = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW [i]); 40 Tcontrol_t WRITE_RE = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_WRITE_RE [i]); 41 Tspecial_address_t NUM_REG_RE_LOG = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG [i]); 42 Tspecial_address_t NUM_REG_RE_PHY_OLD = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD [i]); 43 Tspecial_address_t NUM_REG_RE_PHY_NEW = PORT_READ(in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW [i]); 35 44 36 PORT_WRITE(out_INSERT_RENAME_ACK [i], (insert_ack and 37 rat_rename_ack and 38 rat_insert_ack and 39 free_list_ack and 40 stat_list_ack )); 41 PORT_WRITE(out_INSERT_INSERT_VAL [i], (rename_val and 42 rat_rename_ack and 43 rat_insert_ack and 44 free_list_ack and 45 stat_list_ack )); 46 PORT_WRITE(out_INSERT_RAT_INSERT_VAL [i], (rename_val and 47 insert_ack and 48 rat_rename_ack and 49 free_list_ack and 50 stat_list_ack )); 51 PORT_WRITE(out_INSERT_FREE_LIST_VAL [i], (rename_val and 52 insert_ack and 53 rat_rename_ack and 54 rat_insert_ack and 55 stat_list_ack )); 56 PORT_WRITE(out_INSERT_STAT_LIST_VAL [i], (rename_val and 57 insert_ack and 58 rat_rename_ack and 59 rat_insert_ack and 60 free_list_ack )); 45 PORT_WRITE(out_INSERT_STAT_LIST_READ_RA [i], READ_RA ); 46 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RA_PHY [i], NUM_REG_RA_PHY ); 47 PORT_WRITE(out_INSERT_STAT_LIST_READ_RB [i], READ_RB ); 48 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RB_PHY [i], NUM_REG_RB_PHY ); 49 PORT_WRITE(out_INSERT_STAT_LIST_READ_RC [i], READ_RC ); 50 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RC_PHY [i], NUM_REG_RC_PHY ); 51 PORT_WRITE(out_INSERT_STAT_LIST_WRITE_RD [i], WRITE_RD ); 52 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW [i], NUM_REG_RD_PHY_NEW); 53 PORT_WRITE(out_INSERT_STAT_LIST_WRITE_RE [i], WRITE_RE ); 54 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW [i], NUM_REG_RE_PHY_NEW); 55 56 PORT_WRITE(out_INSERT_RAT_WRITE_RD [i], WRITE_RD ); 57 PORT_WRITE(out_INSERT_RAT_NUM_REG_RD_LOG [i], NUM_REG_RD_LOG ); 58 PORT_WRITE(out_INSERT_RAT_NUM_REG_RD_PHY_NEW [i], NUM_REG_RD_PHY_NEW); 59 PORT_WRITE(out_INSERT_RAT_WRITE_RE [i], WRITE_RE ); 60 PORT_WRITE(out_INSERT_RAT_NUM_REG_RE_LOG [i], NUM_REG_RE_LOG ); 61 PORT_WRITE(out_INSERT_RAT_NUM_REG_RE_PHY_NEW [i], NUM_REG_RE_PHY_NEW); 62 63 PORT_WRITE(out_INSERT_READ_RA [i], READ_RA ); 64 PORT_WRITE(out_INSERT_NUM_REG_RA_PHY [i], NUM_REG_RA_PHY ); 65 PORT_WRITE(out_INSERT_READ_RB [i], READ_RB ); 66 PORT_WRITE(out_INSERT_NUM_REG_RB_PHY [i], NUM_REG_RB_PHY ); 67 PORT_WRITE(out_INSERT_READ_RC [i], READ_RC ); 68 PORT_WRITE(out_INSERT_NUM_REG_RC_PHY [i], NUM_REG_RC_PHY ); 69 PORT_WRITE(out_INSERT_WRITE_RD [i], WRITE_RD ); 70 PORT_WRITE(out_INSERT_NUM_REG_RD_LOG [i], NUM_REG_RD_LOG ); 71 PORT_WRITE(out_INSERT_NUM_REG_RD_PHY_OLD [i], NUM_REG_RD_PHY_OLD); 72 PORT_WRITE(out_INSERT_NUM_REG_RD_PHY_NEW [i], NUM_REG_RD_PHY_NEW); 73 PORT_WRITE(out_INSERT_WRITE_RE [i], WRITE_RE ); 74 PORT_WRITE(out_INSERT_NUM_REG_RE_LOG [i], NUM_REG_RE_LOG ); 75 PORT_WRITE(out_INSERT_NUM_REG_RE_PHY_OLD [i], NUM_REG_RE_PHY_OLD); 76 PORT_WRITE(out_INSERT_NUM_REG_RE_PHY_NEW [i], NUM_REG_RE_PHY_NEW); 61 77 } 62 78 63 log_ printf(FUNC,Register_translation_unit_Glue,FUNCTION,"End");79 log_end(Register_translation_unit_Glue,FUNCTION); 64 80 }; 65 81 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue_genMealy_retire.cpp
r81 r88 23 23 void Register_translation_unit_Glue::genMealy_retire (void) 24 24 { 25 log_printf(FUNC,Register_translation_unit_Glue,FUNCTION,"Begin"); 25 log_begin(Register_translation_unit_Glue,FUNCTION); 26 log_function(Register_translation_unit_Glue,FUNCTION,_name.c_str()); 26 27 27 28 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) … … 36 37 } 37 38 38 log_ printf(FUNC,Register_translation_unit_Glue,FUNCTION,"End");39 log_end(Register_translation_unit_Glue,FUNCTION); 39 40 }; 40 41 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/SelfTest/Makefile
r81 r88 24 24 library_clean : Register_translation_unit_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/SelfTest/src/main.cpp
r81 r88 65 65 _nb_reg_free , 66 66 _nb_bank , 67 _size_read_counter ); 67 _size_read_counter , 68 true //is_toplevel 69 ); 68 70 69 71 msg(_("%s"),param->print(1).c_str()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/SelfTest/src/test.cpp
r82 r88 23 23 #endif 24 24 25 Tusage_t _usage = USE_ALL; 26 27 // _usage = usage_unset(_usage,USE_SYSTEMC ); 28 // _usage = usage_unset(_usage,USE_VHDL ); 29 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 31 // _usage = usage_unset(_usage,USE_POSITION ); 32 _usage = usage_unset(_usage,USE_STATISTICS ); 33 // _usage = usage_unset(_usage,USE_INFORMATION ); 34 25 35 Register_translation_unit * _Register_translation_unit = new Register_translation_unit 26 36 (name.c_str(), … … 29 39 #endif 30 40 _param, 31 USE_ALL);41 _usage); 32 42 33 43 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/SelfTest/Makefile
r81 r88 24 24 library_clean : Stat_List_unit_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/SelfTest/src/main.cpp
r81 r88 68 68 _nb_reg_free , 69 69 _nb_bank , 70 _size_counter ); 70 _size_counter , 71 true //is_toplevel 72 ); 71 73 72 74 msg(_("%s"),param->print(1).c_str()); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/SelfTest/src/test.cpp
r82 r88 34 34 #endif 35 35 36 Tusage_t _usage = USE_ALL; 37 38 // _usage = usage_unset(_usage,USE_SYSTEMC ); 39 // _usage = usage_unset(_usage,USE_VHDL ); 40 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 41 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 42 // _usage = usage_unset(_usage,USE_POSITION ); 43 // _usage = usage_unset(_usage,USE_STATISTICS ); 44 // _usage = usage_unset(_usage,USE_INFORMATION ); 45 36 46 Stat_List_unit * _Stat_List_unit = new Stat_List_unit 37 47 (name.c_str(), … … 40 50 #endif 41 51 _param, 42 USE_ALL);52 _usage); 43 53 44 54 #ifdef SYSTEMC … … 72 82 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RC_PHY ," in_RETIRE_NUM_REG_RC_PHY ",Tspecial_address_t,_param->_nb_inst_retire); 73 83 ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RD ," in_RETIRE_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_retire); 84 ALLOC1_SC_SIGNAL( in_RETIRE_RESTORE_RD_PHY_OLD," in_RETIRE_RESTORE_RD_PHY_OLD",Tcontrol_t ,_param->_nb_inst_retire); 74 85 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD," in_RETIRE_NUM_REG_RD_PHY_OLD",Tgeneral_address_t,_param->_nb_inst_retire); 75 86 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW," in_RETIRE_NUM_REG_RD_PHY_NEW",Tgeneral_address_t,_param->_nb_inst_retire); 76 87 ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RE ," in_RETIRE_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_retire); 88 ALLOC1_SC_SIGNAL( in_RETIRE_RESTORE_RE_PHY_OLD," in_RETIRE_RESTORE_RE_PHY_OLD",Tcontrol_t ,_param->_nb_inst_retire); 77 89 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD," in_RETIRE_NUM_REG_RE_PHY_OLD",Tspecial_address_t,_param->_nb_inst_retire); 78 90 ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW," in_RETIRE_NUM_REG_RE_PHY_NEW",Tspecial_address_t,_param->_nb_inst_retire); … … 116 128 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RC_PHY ,_param->_nb_inst_retire); 117 129 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_WRITE_RD ,_param->_nb_inst_retire); 130 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_inst_retire); 118 131 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RD_PHY_OLD,_param->_nb_inst_retire); 119 132 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire); 120 133 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_WRITE_RE ,_param->_nb_inst_retire); 134 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_RESTORE_RE_PHY_OLD,_param->_nb_inst_retire); 121 135 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RE_PHY_OLD,_param->_nb_inst_retire); 122 136 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire); … … 347 361 in_RETIRE_NUM_REG_RC_PHY [i]->write(rc); 348 362 in_RETIRE_WRITE_RD [i]->write(write_rd); 363 in_RETIRE_RESTORE_RD_PHY_OLD [i]->write(0); 349 364 in_RETIRE_NUM_REG_RD_PHY_OLD [i]->write(rd_old); 350 365 in_RETIRE_NUM_REG_RD_PHY_NEW [i]->write(rd_new); 351 366 in_RETIRE_WRITE_RE [i]->write(write_re); 367 in_RETIRE_RESTORE_RE_PHY_OLD [i]->write(0); 352 368 in_RETIRE_NUM_REG_RE_PHY_OLD [i]->write(re_old); 353 369 in_RETIRE_NUM_REG_RE_PHY_NEW [i]->write(re_new); … … 486 502 if (in_RETIRE_VAL [i]->read() and out_RETIRE_ACK [i]->read()) 487 503 { 488 Tcontrol_t read_ra = in_RETIRE_READ_RA [i]->read(); 489 Tgeneral_address_t ra = in_RETIRE_NUM_REG_RA_PHY [i]->read(); 490 Tcontrol_t read_rb = in_RETIRE_READ_RB [i]->read(); 491 Tgeneral_address_t rb = in_RETIRE_NUM_REG_RB_PHY [i]->read(); 492 Tcontrol_t read_rc = in_RETIRE_READ_RC [i]->read(); 493 Tspecial_address_t rc = in_RETIRE_NUM_REG_RC_PHY [i]->read(); 494 Tcontrol_t write_rd = in_RETIRE_WRITE_RD [i]->read(); 495 Tgeneral_address_t rd_old = in_RETIRE_NUM_REG_RD_PHY_OLD [i]->read(); 496 Tgeneral_address_t rd_new = in_RETIRE_NUM_REG_RD_PHY_NEW [i]->read(); 497 Tcontrol_t write_re = in_RETIRE_WRITE_RE [i]->read(); 498 Tgeneral_address_t re_old = in_RETIRE_NUM_REG_RE_PHY_OLD [i]->read(); 499 Tgeneral_address_t re_new = in_RETIRE_NUM_REG_RE_PHY_NEW [i]->read(); 504 Tcontrol_t read_ra = in_RETIRE_READ_RA [i]->read(); 505 Tgeneral_address_t ra = in_RETIRE_NUM_REG_RA_PHY [i]->read(); 506 Tcontrol_t read_rb = in_RETIRE_READ_RB [i]->read(); 507 Tgeneral_address_t rb = in_RETIRE_NUM_REG_RB_PHY [i]->read(); 508 Tcontrol_t read_rc = in_RETIRE_READ_RC [i]->read(); 509 Tspecial_address_t rc = in_RETIRE_NUM_REG_RC_PHY [i]->read(); 510 Tcontrol_t write_rd = in_RETIRE_WRITE_RD [i]->read(); 511 Tcontrol_t restore_rd_old = in_RETIRE_RESTORE_RD_PHY_OLD [i]->read(); 512 Tgeneral_address_t rd_old = in_RETIRE_NUM_REG_RD_PHY_OLD [i]->read(); 513 Tgeneral_address_t rd_new = in_RETIRE_NUM_REG_RD_PHY_NEW [i]->read(); 514 Tcontrol_t write_re = in_RETIRE_WRITE_RE [i]->read(); 515 Tcontrol_t restore_re_old = in_RETIRE_RESTORE_RE_PHY_OLD [i]->read(); 516 Tgeneral_address_t re_old = in_RETIRE_NUM_REG_RE_PHY_OLD [i]->read(); 517 Tgeneral_address_t re_new = in_RETIRE_NUM_REG_RE_PHY_NEW [i]->read(); 500 518 501 519 LABEL("RETIRE [%d] - Accepted",i); … … 519 537 LABEL(" * status[%d]._counter : %d",rc,spr_status[rc]._counter ); 520 538 LABEL(" * read_rd : %d",write_rd); 539 LABEL(" * restore_rd_old : %d",restore_rd_old); 521 540 LABEL(" * reg_rd_old : %d",rd_old ); 522 541 LABEL(" * status[%d]._is_free : %d",rd_old,spr_status[rd_old]._is_free ); … … 530 549 LABEL(" * status[%d]._counter : %d",rd_new,spr_status[rd_new]._counter ); 531 550 LABEL(" * read_re : %d",write_re); 551 LABEL(" * restore_re_old : %d",restore_re_old); 532 552 LABEL(" * reg_re_old : %d",re_old ); 533 553 LABEL(" * status[%d]._is_free : %d",re_old,spr_status[re_old]._is_free ); … … 555 575 if (write_rd) 556 576 { 557 gpr_status[rd_old]._is_link = 0; 558 gpr_status[rd_new]._is_valid = 1; 577 if (restore_rd_old) 578 { 579 gpr_status[rd_old]._is_link = 1; 580 gpr_status[rd_new]._is_link = 0; 581 gpr_status[rd_new]._is_valid = 1; 582 } 583 else 584 { 585 gpr_status[rd_old]._is_link = 0; 586 gpr_status[rd_new]._is_valid = 1; 587 } 559 588 } 560 589 if (write_re) 561 590 { 562 spr_status[re_old]._is_link = 0; 563 spr_status[re_new]._is_valid = 1; 564 } 591 if (restore_re_old) 592 { 593 spr_status[re_old]._is_link = 1; 594 spr_status[re_new]._is_link = 0; 595 spr_status[re_new]._is_valid = 1; 596 } 597 else 598 { 599 spr_status[re_old]._is_link = 0; 600 spr_status[re_new]._is_valid = 1; 601 } 602 } 565 603 } 566 604 … … 647 685 delete [] in_RETIRE_NUM_REG_RC_PHY ; 648 686 delete [] in_RETIRE_WRITE_RD ; 687 delete [] in_RETIRE_RESTORE_RD_PHY_OLD; 649 688 delete [] in_RETIRE_NUM_REG_RD_PHY_OLD; 650 689 delete [] in_RETIRE_NUM_REG_RD_PHY_NEW; 651 690 delete [] in_RETIRE_WRITE_RE ; 691 delete [] in_RETIRE_RESTORE_RE_PHY_OLD; 652 692 delete [] in_RETIRE_NUM_REG_RE_PHY_OLD; 653 693 delete [] in_RETIRE_NUM_REG_RE_PHY_NEW; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Parameters.h
r82 r88 36 36 public : uint32_t _size_counter ; 37 37 38 39 38 //public : uint32_t _size_general_register ; 39 //public : uint32_t _size_special_register ; 40 40 41 41 public : uint32_t _max_reader ; … … 63 63 uint32_t nb_reg_free , 64 64 uint32_t nb_bank , 65 uint32_t size_counter ); 65 uint32_t size_counter , 66 bool is_toplevel=false 67 ); 66 68 67 69 // public : Parameters (Parameters & param) ; 68 70 public : ~Parameters () ; 71 72 public : void copy (void); 69 73 70 74 public : Parameters_test msg_error (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Stat_List_unit.h
r82 r88 1 #ifndef morpheo_behavioural_core_multi_ooo_engine_ooo_engine_rename_unit_register_translation_unit_stat_list_unit_Stat_List_unit_h1 #ifndef morpheo_behavioural_core_multi_ooo_engine_ooo_engine_rename_unit_register_translation_unit_stat_list_unit_Stat_List_unit_h 2 2 #define morpheo_behavioural_core_multi_ooo_engine_ooo_engine_rename_unit_register_translation_unit_stat_list_unit_Stat_List_unit_h 3 3 … … 86 86 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RC_PHY ;//[nb_inst_retire] 87 87 public : SC_IN (Tcontrol_t ) ** in_RETIRE_WRITE_RD ;//[nb_inst_retire] 88 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire] 88 89 public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RD_PHY_OLD;//[nb_inst_retire] 89 90 public : SC_IN (Tgeneral_address_t) ** in_RETIRE_NUM_REG_RD_PHY_NEW;//[nb_inst_retire] 90 91 public : SC_IN (Tcontrol_t ) ** in_RETIRE_WRITE_RE ;//[nb_inst_retire] 92 public : SC_IN (Tcontrol_t ) ** in_RETIRE_RESTORE_RE_PHY_OLD;//[nb_inst_retire] 91 93 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_OLD;//[nb_inst_retire] 92 94 public : SC_IN (Tspecial_address_t) ** in_RETIRE_NUM_REG_RE_PHY_NEW;//[nb_inst_retire] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/include/Types.h
r81 r88 23 23 class stat_list_entry_t 24 24 { 25 p rivate: bool _is_free ; // set = is present in free list26 p rivate: bool _is_link ; // set = is present in rat27 p rivate: bool _is_valid; // set = an instruction have write in this register28 p rivate: uint32_t _counter ; // number of register that must read this register25 public : bool _is_free ; // set = is present in free list 26 public : bool _is_link ; // set = is present in rat 27 public : bool _is_valid; // set = an instruction have write in this register 28 public : uint32_t _counter ; // number of register that must read this register 29 29 30 30 public : stat_list_entry_t (void) {}; … … 55 55 } 56 56 57 public : void retire_write_old ( void)57 public : void retire_write_old (bool restore_old) 58 58 { 59 _is_link = 0; 59 if (not restore_old) 60 { 61 _is_link = 0; 62 } 63 // else nothing 60 64 } 61 65 62 public : void retire_write_new ( void)66 public : void retire_write_new (bool restore_old) 63 67 { 68 if (restore_old) 69 { 70 _is_link = 0; 71 } 72 73 // in all case 64 74 _is_valid = 1; 65 75 } … … 79 89 return ((_is_free == 0) and 80 90 (_is_link == 0) and 81 (_is_valid == 1) and 91 // (_is_valid == 1) and // if is_link <- 0, then retire_write_old or reset 82 92 (_counter == 0)); 83 93 } 84 94 85 public : friend std::ostream& operator<< (std::ostream& output _stream,95 public : friend std::ostream& operator<< (std::ostream& output, 86 96 stat_list_entry_t & x) 87 97 { 88 output _stream<< x._is_free << " "89 90 91 98 output << x._is_free << " " 99 << x._is_link << " " 100 << x._is_valid << " " 101 << x._counter; 92 102 93 return output _stream;103 return output; 94 104 } 95 105 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Parameters.cpp
r81 r88 29 29 uint32_t nb_reg_free , 30 30 uint32_t nb_bank , 31 uint32_t size_counter ) 31 uint32_t size_counter , 32 bool is_toplevel) 32 33 { 33 34 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); … … 43 44 _size_counter = size_counter ; 44 45 45 _size_general_register = log2(nb_general_register);46 _size_special_register = log2(nb_special_register);47 48 46 _max_reader = 1<<size_counter; 49 47 … … 68 66 69 67 test(); 68 69 if (is_toplevel) 70 { 71 _size_general_register = log2(nb_general_register); 72 _size_special_register = log2(nb_special_register); 73 74 copy (); 75 } 76 70 77 log_printf(FUNC,Stat_List_unit,FUNCTION,"End"); 71 78 }; … … 82 89 #undef FUNCTION 83 90 #define FUNCTION "Stat_List_unit::~Parameters" 84 Parameters::~Parameters ( )91 Parameters::~Parameters (void) 85 92 { 86 93 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 87 94 log_printf(FUNC,Stat_List_unit,FUNCTION,"End"); 88 95 }; 96 97 #undef FUNCTION 98 #define FUNCTION "Stat_List_unit::copy" 99 void Parameters::copy (void) 100 { 101 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 102 log_printf(FUNC,Stat_List_unit,FUNCTION,"End"); 103 }; 104 89 105 90 106 }; // end namespace stat_list_unit -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit.cpp
r81 r88 16 16 namespace register_translation_unit { 17 17 namespace stat_list_unit { 18 19 18 20 19 #undef FUNCTION … … 39 38 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 40 39 40 #if DEBUG_Stat_List_unit == true 41 log_printf(INFO,Stat_List_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 42 43 std::cout << *param << std::endl; 44 #endif 45 41 46 log_printf(INFO,Stat_List_unit,FUNCTION,"Allocation"); 42 47 … … 48 53 49 54 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)55 if (usage_is_set(_usage,USE_STATISTICS)) 51 56 { 52 57 log_printf(INFO,Stat_List_unit,FUNCTION,"Allocation of statistics"); … … 57 62 58 63 #ifdef VHDL 59 if ( _usage & USE_VHDL)64 if (usage_is_set(_usage,USE_VHDL)) 60 65 { 61 66 // generate the vhdl … … 67 72 68 73 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)74 if (usage_is_set(_usage,USE_SYSTEMC)) 70 75 { 71 76 // Constant … … 90 95 SC_METHOD (genMoore); 91 96 dont_initialize (); 92 sensitive << (*(in_CLOCK)).neg(); 97 sensitive << (*(in_CLOCK)).neg(); // need internal register 93 98 94 99 # ifdef SYSTEMCASS_SPECIFIC … … 100 105 SC_METHOD (genMealy); 101 106 dont_initialize (); 102 sensitive << (*(in_CLOCK)).neg(); 107 sensitive << (*(in_CLOCK)).neg(); // need internal register 103 108 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 104 109 sensitive << (*(in_INSERT_READ_RA [i])) … … 135 140 136 141 #ifdef STATISTICS 137 if ( _usage & USE_STATISTICS)142 if (usage_is_set(_usage,USE_STATISTICS)) 138 143 { 139 144 log_printf(INFO,Stat_List_unit,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_allocation.cpp
r81 r88 87 87 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register); 88 88 ALLOC1_SIGNAL_IN ( in_RETIRE_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 89 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t ,1 ); 89 90 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register); 90 91 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_NEW,"num_reg_rd_phy_new",Tgeneral_address_t,_param->_size_general_register); 91 92 ALLOC1_SIGNAL_IN ( in_RETIRE_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 93 ALLOC1_SIGNAL_IN ( in_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t ,1 ); 92 94 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register); 93 95 ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register); … … 112 114 } 113 115 114 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 if (usage_is_set(_usage,USE_SYSTEMC)) 118 { 115 119 gpr_stat_list = new stat_list_entry_t * [_param->_nb_bank]; 116 120 spr_stat_list = new stat_list_entry_t * [_param->_nb_bank]; … … 128 132 internal_PUSH_SPR_VAL = new Tcontrol_t [_param->_nb_reg_free]; 129 133 internal_PUSH_SPR_NUM_BANK = new uint32_t [_param->_nb_reg_free]; 134 } 135 136 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 130 137 131 138 #ifdef POSITION 132 _component->generate_file(); 139 if (usage_is_set(_usage,USE_POSITION)) 140 _component->generate_file(); 133 141 #endif 134 142 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 25 26 if ( _usage & USE_SYSTEMC)26 if (usage_is_set(_usage,USE_SYSTEMC)) 27 27 { 28 28 delete in_CLOCK ; … … 51 51 delete [] in_RETIRE_NUM_REG_RC_PHY ; 52 52 delete [] in_RETIRE_WRITE_RD ; 53 delete [] in_RETIRE_RESTORE_RD_PHY_OLD; 53 54 delete [] in_RETIRE_NUM_REG_RD_PHY_OLD; 54 55 delete [] in_RETIRE_NUM_REG_RD_PHY_NEW; 55 56 delete [] in_RETIRE_WRITE_RE ; 57 delete [] in_RETIRE_RESTORE_RE_PHY_OLD; 56 58 delete [] in_RETIRE_NUM_REG_RE_PHY_OLD; 57 59 delete [] in_RETIRE_NUM_REG_RE_PHY_NEW; … … 64 66 delete [] in_PUSH_SPR_ACK ; 65 67 delete [] out_PUSH_SPR_NUM_REG ; 68 69 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 71 delete [] gpr_stat_list; 72 delete [] spr_stat_list; 73 74 delete [] internal_INSERT_ACK ; 75 delete [] internal_RETIRE_ACK ; 76 delete [] internal_PUSH_GPR_VAL ; 77 delete [] internal_PUSH_GPR_NUM_BANK; 78 delete [] internal_PUSH_SPR_VAL ; 79 delete [] internal_PUSH_SPR_NUM_BANK; 66 80 } 81 82 67 83 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 delete [] gpr_stat_list;69 delete [] spr_stat_list;70 71 delete [] internal_INSERT_ACK ;72 delete [] internal_RETIRE_ACK ;73 delete [] internal_PUSH_GPR_VAL ;74 delete [] internal_PUSH_GPR_NUM_BANK;75 delete [] internal_PUSH_SPR_VAL ;76 delete [] internal_PUSH_SPR_NUM_BANK;77 84 78 85 delete _component; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_genMealy.cpp
r81 r88 23 23 void Stat_List_unit::genMealy (void) 24 24 { 25 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 log_begin(Stat_List_unit,FUNCTION); 26 log_function(Stat_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) … … 57 58 } 58 59 59 log_ printf(FUNC,Stat_List_unit,FUNCTION,"End");60 log_end(Stat_List_unit,FUNCTION); 60 61 }; 61 62 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_genMoore.cpp
r81 r88 23 23 void Stat_List_unit::genMoore (void) 24 24 { 25 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 log_begin(Stat_List_unit,FUNCTION); 26 log_function(Stat_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 uint32_t gpr_ptr = internal_GPR_PTR_FREE; … … 69 70 } 70 71 71 log_ printf(FUNC,Stat_List_unit,FUNCTION,"End");72 log_end(Stat_List_unit,FUNCTION); 72 73 }; 73 74 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp
r81 r88 23 23 void Stat_List_unit::transition (void) 24 24 { 25 log_printf(FUNC,Stat_List_unit,FUNCTION,"Begin"); 25 log_begin(Stat_List_unit,FUNCTION); 26 log_function(Stat_List_unit,FUNCTION,_name.c_str()); 26 27 27 28 if (PORT_READ(in_NRESET) == 0) … … 121 122 if (PORT_READ(in_RETIRE_WRITE_RD [i])) 122 123 { 124 Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RD_PHY_OLD [i]); 123 125 { 124 126 Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RD_PHY_OLD [i]); 125 127 uint32_t bank = num_reg >> _param->_shift_gpr; 126 128 uint32_t reg = num_reg & _param->_mask_gpr ; 127 gpr_stat_list [bank][reg].retire_write_old( );129 gpr_stat_list [bank][reg].retire_write_old(restore_old); 128 130 } 129 131 { … … 131 133 uint32_t bank = num_reg >> _param->_shift_gpr; 132 134 uint32_t reg = num_reg & _param->_mask_gpr ; 133 gpr_stat_list [bank][reg].retire_write_new( );135 gpr_stat_list [bank][reg].retire_write_new(restore_old); 134 136 } 135 137 } … … 137 139 if (PORT_READ(in_RETIRE_WRITE_RE [i])) 138 140 { 141 Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RE_PHY_OLD [i]); 139 142 { 140 143 Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RE_PHY_OLD [i]); 141 144 uint32_t bank = num_reg >> _param->_shift_spr; 142 145 uint32_t reg = num_reg & _param->_mask_spr ; 143 spr_stat_list [bank][reg].retire_write_old( );146 spr_stat_list [bank][reg].retire_write_old(restore_old); 144 147 } 145 148 { … … 147 150 uint32_t bank = num_reg >> _param->_shift_spr; 148 151 uint32_t reg = num_reg & _param->_mask_spr ; 149 spr_stat_list [bank][reg].retire_write_new( );152 spr_stat_list [bank][reg].retire_write_new(restore_old); 150 153 } 151 154 } … … 171 174 internal_SPR_PTR_FREE = ((internal_SPR_PTR_FREE==0)?_param->_nb_special_register_by_bank:internal_SPR_PTR_FREE)-1; 172 175 } 173 174 // log_printf(TRACE,Stat_List_unit,FUNCTION,"Print gpr_stat_list :"); 175 // for (uint32_t i=0; i<_param->_nb_bank; i++) 176 // { 177 // log_printf(TRACE,Stat_List_unit,FUNCTION," * Bank : %d",i); 178 // for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 179 // { 180 // std::ostringstream str; 181 // str << gpr_stat_list [i][j]; 182 // log_printf(TRACE,Stat_List_unit,FUNCTION," [%d] %s",j,str.str().c_str()); 183 184 // } 185 // } 186 // log_printf(TRACE,Stat_List_unit,FUNCTION,"Print spr_stat_list :"); 187 // for (uint32_t i=0; i<_param->_nb_bank; i++) 188 // { 189 // log_printf(TRACE,Stat_List_unit,FUNCTION," * Bank : %d",i); 190 // for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 191 // { 192 // std::ostringstream str; 193 // str << spr_stat_list [i][j]; 194 // log_printf(TRACE,Stat_List_unit,FUNCTION," [%d] %s",j,str.str().c_str()); 195 // } 196 // } 176 177 178 #if (DEBUG >= DEBUG_TRACE) 179 log_printf(TRACE,Stat_List_unit,FUNCTION," * Dump Stat List"); 180 for (uint32_t i=0; i<_param->_nb_bank; i++) 181 for (uint32_t j=0; j<_param->_nb_general_register_by_bank; j++) 182 log_printf(TRACE,Stat_List_unit,FUNCTION," * GPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, valid %.1d, counter %.4d", 183 i, 184 j, 185 (i<<_param->_shift_gpr)|j, 186 gpr_stat_list[i][j]._is_free, 187 gpr_stat_list[i][j]._is_link, 188 gpr_stat_list[i][j]._is_valid, 189 gpr_stat_list[i][j]._counter); 190 for (uint32_t i=0; i<_param->_nb_bank; i++) 191 for (uint32_t j=0; j<_param->_nb_special_register_by_bank; j++) 192 log_printf(TRACE,Stat_List_unit,FUNCTION," * SPR[%.4d][%.5d] (%.5d) - free %.1d, link %.1d, valid %.1d, counter %.4d", 193 i, 194 j, 195 (i<<_param->_shift_spr)|j, 196 spr_stat_list[i][j]._is_free, 197 spr_stat_list[i][j]._is_link, 198 spr_stat_list[i][j]._is_valid, 199 spr_stat_list[i][j]._counter); 200 #endif 197 201 198 202 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) … … 200 204 #endif 201 205 202 log_ printf(FUNC,Stat_List_unit,FUNCTION,"End");206 log_end(Stat_List_unit,FUNCTION); 203 207 }; 204 208 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/include/Parameters.h
r82 r88 40 40 public : uint32_t _size_read_counter ; 41 41 42 43 44 45 42 //public : uint32_t _size_front_end_id ; 43 //public : uint32_t _size_context_id ; 44 //public : uint32_t _size_general_register ; 45 //public : uint32_t _size_special_register ; 46 46 47 48 47 //public : uint32_t _have_port_context_id ; 48 //public : uint32_t _have_port_front_end_id; 49 49 50 50 public : morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::dependency_checking_unit:: Parameters * _param_dependency_checking_unit; … … 62 62 uint32_t nb_reg_free , 63 63 uint32_t nb_bank , 64 uint32_t size_read_counter ); 64 uint32_t size_read_counter , 65 bool is_toplevel=false); 65 66 // public : Parameters (Parameters & param) ; 66 67 public : ~Parameters () ; 68 69 public : void copy (void); 67 70 68 71 public : Parameters_test msg_error (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Parameters.cpp
r81 r88 28 28 uint32_t nb_reg_free , 29 29 uint32_t nb_bank , 30 uint32_t size_read_counter ) 30 uint32_t size_read_counter , 31 bool is_toplevel) 31 32 { 32 33 log_printf(FUNC,Register_translation_unit,FUNCTION,"Begin"); … … 42 43 _size_read_counter = size_read_counter ; 43 44 44 uint32_t max_nb_context = max<uint32_t>(nb_context, nb_front_end); 45 uint32_t size_general_register = log2(nb_general_register); 46 uint32_t size_special_register = log2(nb_special_register); 47 uint32_t max_nb_context = max<uint32_t>(nb_context, nb_front_end); 45 48 46 _size_front_end_id = log2(nb_front_end );47 _size_context_id = log2(max_nb_context );48 _size_general_register = log2(nb_general_register);49 _size_special_register = log2(nb_special_register);50 51 _have_port_front_end_id = _size_front_end_id>0;52 _have_port_context_id = _size_context_id >0;53 54 55 49 uint32_t nb_thread = 0; 56 50 for (uint32_t i=0; i<nb_front_end; i++) … … 94 88 _param_register_translation_unit_glue = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_translation_unit_glue::Parameters 95 89 (_nb_inst_insert, 96 _nb_inst_retire); 90 _nb_inst_retire, 91 size_general_register, 92 size_special_register); 97 93 98 94 test(); 95 96 if (is_toplevel) 97 { 98 _size_front_end_id = log2(nb_front_end ); 99 _size_context_id = log2(max_nb_context ); 100 101 _size_general_register = size_general_register; 102 _size_special_register = size_special_register; 103 104 _have_port_front_end_id = _size_front_end_id>0; 105 _have_port_context_id = _size_context_id >0; 106 107 copy(); 108 } 109 99 110 log_printf(FUNC,Register_translation_unit,FUNCTION,"End"); 100 111 }; … … 124 135 }; 125 136 137 #undef FUNCTION 138 #define FUNCTION "Register_translation_unit::copy" 139 void Parameters::copy (void) 140 { 141 log_printf(FUNC,Register_translation_unit,FUNCTION,"Begin"); 142 143 COPY(_param_dependency_checking_unit); 144 COPY(_param_free_list_unit); 145 COPY(_param_register_address_translation_unit); 146 COPY(_param_stat_list_unit); 147 COPY(_param_register_translation_unit_glue); 148 149 log_printf(FUNC,Register_translation_unit,FUNCTION,"End"); 150 }; 151 126 152 }; // end namespace register_translation_unit 127 153 }; // end namespace rename_unit -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit.cpp
r81 r88 38 38 log_printf(FUNC,Register_translation_unit,FUNCTION,"Begin"); 39 39 40 #if DEBUG_Register_translation_unit == true 41 log_printf(INFO,Register_translation_unit,FUNCTION,_("<%s> Parameters"),_name.c_str()); 42 43 std::cout << *param << std::endl; 44 #endif 45 40 46 log_printf(INFO,Register_translation_unit,FUNCTION,"Allocation"); 41 47 … … 47 53 48 54 #ifdef STATISTICS 49 if ( _usage & USE_STATISTICS)55 if (usage_is_set(_usage,USE_STATISTICS)) 50 56 { 51 57 log_printf(INFO,Register_translation_unit,FUNCTION,"Allocation of statistics"); … … 56 62 57 63 #ifdef VHDL 58 if ( _usage & USE_VHDL)64 if (usage_is_set(_usage,USE_VHDL)) 59 65 { 60 66 // generate the vhdl … … 66 72 67 73 #ifdef SYSTEMC 68 if ( _usage & USE_SYSTEMC)74 if (usage_is_set(_usage,USE_SYSTEMC)) 69 75 { 70 76 log_printf(INFO,Register_translation_unit,FUNCTION,"Method - transition"); … … 90 96 91 97 #ifdef STATISTICS 92 if ( _usage & USE_STATISTICS)98 if (usage_is_set(_usage,USE_STATISTICS)) 93 99 { 94 100 log_printf(INFO,Register_translation_unit,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp
r82 r88 130 130 { 131 131 name = _name+"_dependency_checking_unit"; 132 std::cout << "Create : " << name << std::endl;133 132 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 133 134 134 _component_dependency_checking_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::dependency_checking_unit::Dependency_checking_unit 135 135 (name.c_str() … … 149 149 { 150 150 name = _name+"_free_list_unit"; 151 std::cout << "Create : " << name << std::endl;151 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 152 152 153 153 _component_free_list_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::free_list_unit::Free_List_unit … … 168 168 { 169 169 name = _name+"_register_address_translation_unit"; 170 std::cout << "Create : " << name << std::endl;170 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 171 171 172 172 _component_register_address_translation_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit … … 187 187 { 188 188 name = _name+"_stat_list_unit"; 189 std::cout << "Create : " << name << std::endl;189 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 190 190 191 191 _component_stat_list_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::stat_list_unit::Stat_List_unit … … 206 206 { 207 207 name = _name+"_register_translation_unit_glue"; 208 std::cout << "Create : " << name << std::endl;208 log_printf(INFO,Core,FUNCTION,_("Create : %s"),name.c_str()); 209 209 210 210 _component_register_translation_unit_glue = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_translation_unit_glue::Register_translation_unit_Glue … … 225 225 // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 226 226 std::string src,dest; 227 228 // =================================================================== 229 // =====[ register_address_translation_unit ]========================= 230 // =================================================================== 231 { 232 src = _name+"_register_address_translation_unit"; 233 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 234 235 { 236 dest = _name; 237 #ifdef POSITION 238 _component->interface_map (src ,"", 239 dest,""); 240 #endif 241 PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK"); 242 PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET"); 243 } 244 245 // ~~~~~[ Interface "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 246 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 247 { 248 dest = _name; 249 #ifdef POSITION 250 _component->interface_map (src ,"rename_"+toString(i) 251 dest,"rename_"+toString(i)); 252 #endif 253 254 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_VAL" , 255 dest, "in_RENAME_"+toString(i)+"_VAL" ); 256 if (_param->_have_port_front_end_id) 257 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_FRONT_END_ID" , 258 dest, "in_RENAME_"+toString(i)+"_FRONT_END_ID" ); 259 if (_param->_have_port_context_id) 260 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_CONTEXT_ID" , 261 dest, "in_RENAME_"+toString(i)+"_CONTEXT_ID" ); 262 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG" , 263 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG" ); 264 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG" , 265 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG" ); 266 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG" , 267 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG" ); 268 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG" , 269 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG" ); 270 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG" , 271 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG" ); 272 273 dest = _name+"_register_translation_unit_glue"; 274 COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_ACK", 275 dest, "in_INSERT_"+toString(i)+"_RAT_RENAME_ACK"); 276 277 dest = _name+"_dependency_checking_unit"; 278 COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RA_PHY" , 279 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RA_PHY" ); 280 COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RB_PHY" , 281 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RB_PHY" ); 282 COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RC_PHY" , 283 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RC_PHY" ); 284 COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 285 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_OLD"); 286 COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 287 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_OLD"); 288 } 289 290 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 292 { 293 dest = _name+"_register_translation_unit_glue"; 294 #ifdef POSITION 295 _component->interface_map (src ,"rename_"+toString(i) 296 dest,"rename_in_"+toString(i)); 297 #endif 298 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_VAL", 299 dest,"out_INSERT_"+toString(i)+"_RAT_INSERT_VAL"); 300 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK", 301 dest, "in_INSERT_"+toString(i)+"_RAT_INSERT_ACK"); 302 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD" , 303 dest,"out_INSERT_"+toString(i)+"_RAT_WRITE_RD" ); 304 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE" , 305 dest,"out_INSERT_"+toString(i)+"_RAT_WRITE_RE" ); 306 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_LOG", 307 dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RD_LOG"); 308 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_LOG", 309 dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RE_LOG"); 310 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY", 311 dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RD_PHY_NEW"); 312 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY", 313 dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RE_PHY_NEW"); 314 } 315 316 // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 317 for (uint32_t i=0; i<_param->_nb_inst_retire; i++) 318 { 319 dest = _name; 320 #ifdef POSITION 321 _component->interface_map (src ,"retire_"+toString(i) 322 dest,"retire_"+toString(i)); 323 #endif 324 325 if (_param->_have_port_front_end_id) 326 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_FRONT_END_ID" , 327 dest, "in_RETIRE_"+toString(i)+"_FRONT_END_ID" ); 328 if (_param->_have_port_context_id) 329 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_CONTEXT_ID" , 330 dest, "in_RETIRE_"+toString(i)+"_CONTEXT_ID" ); 331 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_EVENT_STATE" , 332 dest, "in_RETIRE_"+toString(i)+"_EVENT_STATE" ); 333 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RD" , 334 dest, "in_RETIRE_"+toString(i)+"_WRITE_RD" ); 335 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RE" , 336 dest, "in_RETIRE_"+toString(i)+"_WRITE_RE" ); 337 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG" , 338 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG" ); 339 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG" , 340 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG" ); 341 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 342 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD"); 343 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 344 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD"); 345 346 dest = _name+"_register_translation_unit_glue"; 347 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL" , 348 dest,"out_RETIRE_"+toString(i)+"_RAT_VAL" ); 349 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK" , 350 dest, "in_RETIRE_"+toString(i)+"_RAT_ACK" ); 351 352 dest = _name+"_stat_list_unit"; 353 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD", 354 dest, "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD"); 355 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD", 356 dest, "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD"); 357 } 358 } 227 359 360 // =================================================================== 361 // =====[ free_list_unit ]============================================ 362 // =================================================================== 363 { 364 src = _name+"_free_list_unit"; 365 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 366 367 { 368 dest = _name; 369 #ifdef POSITION 370 _component->interface_map (src ,"", 371 dest,""); 372 #endif 373 PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK"); 374 PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET"); 375 } 376 377 // ~~~~~[ interface : "pop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 378 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 379 { 380 dest = _name; 381 #ifdef POSITION 382 _component->interface_map (src ,"pop_"+toString(i) 383 dest,"rename_"+toString(i)); 384 #endif 385 386 PORT_MAP(_component,src , "in_POP_"+toString(i)+"_GPR_VAL" , 387 dest,"in_RENAME_"+toString(i)+"_WRITE_RD"); 388 PORT_MAP(_component,src , "in_POP_"+toString(i)+"_SPR_VAL" , 389 dest,"in_RENAME_"+toString(i)+"_WRITE_RE"); 390 391 dest = _name+"_register_translation_unit_glue"; 392 COMPONENT_MAP(_component,src , "in_POP_"+toString(i)+"_VAL" , 393 dest,"out_INSERT_"+toString(i)+"_FREE_LIST_VAL" ); 394 COMPONENT_MAP(_component,src ,"out_POP_"+toString(i)+"_ACK" , 395 dest, "in_INSERT_"+toString(i)+"_FREE_LIST_ACK" ); 396 397 dest = _name+"_dependency_checking_unit"; 398 399 COMPONENT_MAP(_component,src ,"out_POP_"+toString(i)+"_GPR_NUM_REG", 400 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_NEW"); 401 COMPONENT_MAP(_component,src ,"out_POP_"+toString(i)+"_SPR_NUM_REG", 402 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 403 } 404 405 // ~~~~~[ interface : "push_gpr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 406 // ~~~~~[ interface : "push_spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 407 for (uint32_t i=0; i<_param->_nb_reg_free; i++) 408 { 409 dest = _name+"_stat_list_unit"; 410 #ifdef POSITION 411 _component->interface_map (src ,"push_gpr_"+toString(i) 412 dest,"push_gpr_"+toString(i)); 413 #endif 414 415 COMPONENT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_VAL" , 416 dest,"out_PUSH_GPR_"+toString(i)+"_VAL" ); 417 COMPONENT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_ACK" , 418 dest, "in_PUSH_GPR_"+toString(i)+"_ACK" ); 419 COMPONENT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_NUM_REG", 420 dest,"out_PUSH_GPR_"+toString(i)+"_NUM_REG"); 421 422 #ifdef POSITION 423 _component->interface_map (src ,"push_spr_"+toString(i) 424 dest,"push_spr_"+toString(i)); 425 #endif 426 427 COMPONENT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_VAL" , 428 dest,"out_PUSH_SPR_"+toString(i)+"_VAL" ); 429 COMPONENT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_ACK" , 430 dest, "in_PUSH_SPR_"+toString(i)+"_ACK" ); 431 COMPONENT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_NUM_REG", 432 dest,"out_PUSH_SPR_"+toString(i)+"_NUM_REG"); 433 } 434 } 435 436 228 437 // =================================================================== 229 438 // =====[ dependency_checking_unit ]================================== … … 231 440 { 232 441 src = _name+"_dependency_checking_unit"; 233 std::cout << "Instance : " << src << std::endl;442 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 234 443 235 444 { … … 252 461 #endif 253 462 254 // PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_VAL" ,dest,);255 // PORT_MAP(_component,src ,"out_RENAME_IN_"+toString(i)+"_ACK" ,dest,);463 // // PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_VAL" ,dest,); 464 // // PORT_MAP(_component,src ,"out_RENAME_IN_"+toString(i)+"_ACK" ,dest,); 256 465 if (_param->_have_port_front_end_id) 257 466 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_FRONT_END_ID" , … … 280 489 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_LOG" , 281 490 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG" ); 282 283 dest = _name+"_register_address_translation_unit";284 491 285 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RA_PHY" , 286 dest,"out_RENAME_"+toString(i)+"_NUM_REG_RA_PHY" ); 287 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RB_PHY" , 288 dest,"out_RENAME_"+toString(i)+"_NUM_REG_RB_PHY" ); 289 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RC_PHY" , 290 dest,"out_RENAME_"+toString(i)+"_NUM_REG_RC_PHY" ); 291 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 292 dest,"out_RENAME_"+toString(i)+"_NUM_REG_RD_PHY_OLD"); 293 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 294 dest,"out_RENAME_"+toString(i)+"_NUM_REG_RE_PHY_OLD"); 492 // in_RENAME_IN_NUM_REG_RA_PHY - register_address_translation_unit 493 // in_RENAME_IN_NUM_REG_RB_PHY - register_address_translation_unit 494 // in_RENAME_IN_NUM_REG_RC_PHY - register_address_translation_unit 495 // in_RENAME_IN_NUM_REG_RD_PHY_OLD - register_address_translation_unit 496 // in_RENAME_IN_NUM_REG_RE_PHY_OLD - register_address_translation_unit 295 497 296 dest = _name+"_free_list_unit"; 297 298 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 299 dest,"out_POP_"+toString(i)+"_GPR_NUM_REG"); 300 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 301 dest,"out_POP_"+toString(i)+"_SPR_NUM_REG"); 498 // in_RENAME_IN_NUM_REG_RD_PHY_NEW - free_list_unit 499 // in_RENAME_IN_NUM_REG_RE_PHY_NEW - free_list_unit 302 500 } 303 501 … … 311 509 #endif 312 510 313 // PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_VAL" ,314 // dest,"out_INSERT_"+toString(i)+"_VAL" );315 // PORT_MAP(_component,src , "in_RENAME_OUT_"+toString(i)+"_ACK" ,316 // dest, "in_INSERT_"+toString(i)+"_ACK" );317 511 if (_param->_have_port_front_end_id) 318 512 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_FRONT_END_ID" , … … 321 515 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_CONTEXT_ID" , 322 516 dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID" ); 323 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RA" ,324 dest,"out_INSERT_"+toString(i)+"_READ_RA" );325 517 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_LOG" , 326 518 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RA_LOG" ); 327 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_PHY" ,328 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RA_PHY" );329 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RB" ,330 dest,"out_INSERT_"+toString(i)+"_READ_RB" );331 519 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_LOG" , 332 520 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RB_LOG" ); 333 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_PHY" ,334 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RB_PHY" );335 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RC" ,336 dest,"out_INSERT_"+toString(i)+"_READ_RC" );337 521 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_LOG" , 338 522 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RC_LOG" ); 339 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_PHY" , 340 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RC_PHY" ); 341 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD" , 342 dest,"out_INSERT_"+toString(i)+"_WRITE_RD" ); 343 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_LOG" , 344 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_LOG" ); 345 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 346 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD"); 347 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 348 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW"); 349 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE" , 350 dest,"out_INSERT_"+toString(i)+"_WRITE_RE" ); 351 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_LOG" , 352 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_LOG" ); 353 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 354 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD"); 355 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 356 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 357 } 523 524 // PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_VAL" , 525 // dest,"out_INSERT_"+toString(i)+"_VAL" ); 526 // PORT_MAP(_component,src , "in_RENAME_OUT_"+toString(i)+"_ACK" , 527 // dest, "in_INSERT_"+toString(i)+"_ACK" ); 528 529 dest = _name+"_register_translation_unit_glue"; 530 531 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RA" , 532 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_READ_RA" ); 533 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_PHY" , 534 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RA_PHY" ); 535 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RB" , 536 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_READ_RB" ); 537 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_PHY" , 538 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RB_PHY" ); 539 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RC" , 540 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_READ_RC" ); 541 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_PHY" , 542 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RC_PHY" ); 543 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD" , 544 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_WRITE_RD" ); 545 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_LOG" , 546 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RD_LOG" ); 547 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 548 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD"); 549 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 550 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW"); 551 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE" , 552 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_WRITE_RE" ); 553 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_LOG" , 554 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RE_LOG" ); 555 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 556 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD"); 557 COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 558 dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW"); 559 } 358 560 } 359 561 360 562 // =================================================================== 361 // =====[ free_list_unit ]============================================563 // =====[ stat_list_unit ]============================================ 362 564 // =================================================================== 363 565 { 364 src = _name+"_ free_list_unit";365 std::cout << "Instance : " << src << std::endl;566 src = _name+"_stat_list_unit"; 567 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 366 568 367 569 { … … 375 577 } 376 578 377 // ~~~~~[ interface : "pop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~378 for (uint32_t i=0; i<_param->_nb_inst_insert; i++)379 {380 dest = _name;381 #ifdef POSITION382 _component->interface_map (src ,"pop_"+toString(i)383 dest,"rename_"+toString(i));384 #endif385 386 PORT_MAP(_component,src , "in_POP_"+toString(i)+"_GPR_VAL" ,387 dest,"in_RENAME_"+toString(i)+"_WRITE_RD");388 PORT_MAP(_component,src , "in_POP_"+toString(i)+"_SPR_VAL" ,389 dest,"in_RENAME_"+toString(i)+"_WRITE_RE");390 391 dest = _name+"_register_translation_unit_glue";392 PORT_MAP(_component,src , "in_POP_"+toString(i)+"_VAL" ,393 dest,"out_INSERT_"+toString(i)+"_FREE_LIST_VAL" );394 PORT_MAP(_component,src ,"out_POP_"+toString(i)+"_ACK" ,395 dest, "in_INSERT_"+toString(i)+"_FREE_LIST_ACK" );396 397 dest = _name+"_dependency_checking_unit";398 399 PORT_MAP(_component,src ,"out_POP_"+toString(i)+"_GPR_NUM_REG",400 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_NEW");401 PORT_MAP(_component,src ,"out_POP_"+toString(i)+"_SPR_NUM_REG",402 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_NEW");403 }404 // ~~~~~[ interface : "push_gpr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~405 // ~~~~~[ interface : "push_spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~406 for (uint32_t i=0; i<_param->_nb_reg_free; i++)407 {408 dest = _name+"_stat_list_unit";409 #ifdef POSITION410 _component->interface_map (src ,"push_gpr_"+toString(i)411 dest,"push_gpr_"+toString(i));412 #endif413 414 PORT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_VAL" ,415 dest,"out_PUSH_GPR_"+toString(i)+"_VAL" );416 PORT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_ACK" ,417 dest, "in_PUSH_GPR_"+toString(i)+"_ACK" );418 PORT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_NUM_REG",419 dest,"out_PUSH_GPR_"+toString(i)+"_NUM_REG");420 421 #ifdef POSITION422 _component->interface_map (src ,"push_spr_"+toString(i)423 dest,"push_spr_"+toString(i));424 #endif425 426 PORT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_VAL" ,427 dest,"out_PUSH_SPR_"+toString(i)+"_VAL" );428 PORT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_ACK" ,429 dest, "in_PUSH_SPR_"+toString(i)+"_ACK" );430 PORT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_NUM_REG",431 dest,"out_PUSH_SPR_"+toString(i)+"_NUM_REG");432 }433 }434 435 // ===================================================================436 // =====[ register_address_translation_unit ]=========================437 // ===================================================================438 {439 src = _name+"_register_address_translation_unit";440 std::cout << "Instance : " << src << std::endl;441 442 {443 dest = _name;444 #ifdef POSITION445 _component->interface_map (src ,"",446 dest,"");447 #endif448 PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK");449 PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET");450 }451 452 // ~~~~~[ Interface "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~453 for (uint32_t i=0; i<_param->_nb_inst_insert; i++)454 {455 dest = _name;456 #ifdef POSITION457 _component->interface_map (src ,"rename_"+toString(i)458 dest,"rename_"+toString(i));459 #endif460 461 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_VAL" ,462 dest, "in_RENAME_"+toString(i)+"_VAL" );463 if (_param->_have_port_front_end_id)464 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_FRONT_END_ID" ,465 dest, "in_RENAME_"+toString(i)+"_FRONT_END_ID" );466 if (_param->_have_port_context_id)467 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_CONTEXT_ID" ,468 dest, "in_RENAME_"+toString(i)+"_CONTEXT_ID" );469 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG" ,470 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG" );471 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG" ,472 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG" );473 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG" ,474 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG" );475 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG" ,476 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG" );477 PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG" ,478 dest, "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG" );479 480 dest = _name+"_register_translation_unit_glue";481 PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_ACK",482 dest, "in_INSERT_"+toString(i)+"_RAT_RENAME_ACK");483 484 dest = _name+"_dependency_checking_unit";485 PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RA_PHY" ,486 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RA_PHY" );487 PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RB_PHY" ,488 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RB_PHY" );489 PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RC_PHY" ,490 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RC_PHY" );491 PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RD_PHY_OLD",492 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_OLD");493 PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RE_PHY_OLD",494 dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_OLD");495 }496 497 579 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 498 580 for (uint32_t i=0; i<_param->_nb_inst_insert; i++) 499 581 { 500 dest = _name+"_dependency_checking_unit";501 #ifdef POSITION502 _component->interface_map (src ,"rename_"+toString(i)503 dest,"rename_in_"+toString(i));504 #endif505 506 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD" ,507 dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD" );508 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE" ,509 dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE" );510 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_LOG",511 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_LOG");512 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_LOG",513 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_LOG");514 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY",515 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_OLD");516 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY",517 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_OLD");518 519 582 dest = _name+"_register_translation_unit_glue"; 520 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_VAL",521 dest,"out_INSERT_"+toString(i)+"_RAT_INSERT_VAL");522 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK",523 dest, "in_INSERT_"+toString(i)+"_RAT_INSERT_ACK");524 }525 526 // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527 for (uint32_t i=0; i<_param->_nb_inst_retire; i++)528 {529 dest = _name;530 #ifdef POSITION531 _component->interface_map (src ,"retire_"+toString(i)532 dest,"retire_"+toString(i));533 #endif534 535 if (_param->_have_port_front_end_id)536 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_FRONT_END_ID" ,537 dest, "in_RETIRE_"+toString(i)+"_FRONT_END_ID" );538 if (_param->_have_port_context_id)539 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_CONTEXT_ID" ,540 dest, "in_RETIRE_"+toString(i)+"_CONTEXT_ID" );541 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_EVENT_STATE" ,542 dest, "in_RETIRE_"+toString(i)+"_EVENT_STATE" );543 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RD" ,544 dest, "in_RETIRE_"+toString(i)+"_WRITE_RD" );545 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RE" ,546 dest, "in_RETIRE_"+toString(i)+"_WRITE_RE" );547 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG" ,548 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG" );549 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG" ,550 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG" );551 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD",552 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD");553 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD",554 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD");555 556 dest = _name+"_register_translation_unit_glue";557 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL" ,558 dest,"out_RETIRE_"+toString(i)+"_RAT_VAL" );559 PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK" ,560 dest, "in_RETIRE_"+toString(i)+"_RAT_ACK" );561 }562 }563 564 // ===================================================================565 // =====[ stat_list_unit ]============================================566 // ===================================================================567 {568 src = _name+"_stat_list_unit";569 std::cout << "Instance : " << src << std::endl;570 571 {572 dest = _name;573 #ifdef POSITION574 _component->interface_map (src ,"",575 dest,"");576 #endif577 PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK");578 PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET");579 }580 581 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~582 for (uint32_t i=0; i<_param->_nb_inst_insert; i++)583 {584 dest = _name+"_dependency_checking_unit";585 583 #ifdef POSITION 586 584 _component->interface_map (src ,"insert_"+toString(i) 587 dest,"rename_out_"+toString(i)); 588 #endif 589 590 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RA" , 591 dest,"out_RENAME_OUT_"+toString(i)+"_READ_RA" ); 592 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RA_PHY" , 593 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_PHY" ); 594 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RB" , 595 dest,"out_RENAME_OUT_"+toString(i)+"_READ_RB" ); 596 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RB_PHY" , 597 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_PHY" ); 598 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RC" , 599 dest,"out_RENAME_OUT_"+toString(i)+"_READ_RC" ); 600 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RC_PHY" , 601 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_PHY" ); 602 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD" , 603 dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD" ); 604 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 605 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_NEW"); 606 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE" , 607 dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE" ); 608 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 609 dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 610 611 dest = _name+"_register_translation_unit_glue"; 612 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_VAL" , 613 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_VAL"); 614 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK" , 615 dest, "in_INSERT_"+toString(i)+"_STAT_LIST_ACK" ); 585 dest,"insert_stat_list_"+toString(i)); 586 #endif 587 588 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_VAL" , 589 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_VAL"); 590 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK" , 591 dest, "in_INSERT_"+toString(i)+"_STAT_LIST_ACK" ); 592 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RA" , 593 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_READ_RA" ); 594 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RA_PHY" , 595 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RA_PHY" ); 596 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RB" , 597 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_READ_RB" ); 598 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RB_PHY" , 599 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RB_PHY" ); 600 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RC" , 601 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_READ_RC" ); 602 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RC_PHY" , 603 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RC_PHY" ); 604 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD" , 605 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_WRITE_RD" ); 606 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 607 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RD_PHY_NEW"); 608 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE" , 609 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_WRITE_RE" ); 610 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 611 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RE_PHY_NEW"); 616 612 } 617 613 … … 650 646 dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 651 647 648 // in_RETIRE_RESTORE_RD_PHY_OLD - register_address_translation_unit.out_RETIRE_RESTORE_RD_PHY_OLD 649 // in_RETIRE_RESTORE_RE_PHY_OLD - register_address_translation_unit.out_RETIRE_RESTORE_RE_PHY_OLD 650 652 651 dest = _name+"_register_translation_unit_glue"; 653 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL",654 dest,"out_RETIRE_"+toString(i)+"_STAT_LIST_VAL");655 PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK",656 652 COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL", 653 dest,"out_RETIRE_"+toString(i)+"_STAT_LIST_VAL"); 654 COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK", 655 dest, "in_RETIRE_"+toString(i)+"_STAT_LIST_ACK"); 657 656 } 658 657 … … 667 666 #endif 668 667 669 PORT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_VAL" , 670 dest, "in_PUSH_GPR_"+toString(i)+"_VAL" ); 671 PORT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_ACK" , 672 dest,"out_PUSH_GPR_"+toString(i)+"_ACK" ); 673 PORT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_NUM_REG", 674 dest, "in_PUSH_GPR_"+toString(i)+"_NUM_REG"); 668 //out_PUSH_GPR_VAL - free_list_unit 669 // in_PUSH_GPR_ACK - free_list_unit 670 //out_PUSH_GPR_NUM_REG - free_list_unit 675 671 676 672 #ifdef POSITION … … 679 675 #endif 680 676 681 PORT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_VAL" , 682 dest, "in_PUSH_SPR_"+toString(i)+"_VAL" ); 683 PORT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_ACK" , 684 dest,"out_PUSH_SPR_"+toString(i)+"_ACK" ); 685 PORT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_NUM_REG", 686 dest, "in_PUSH_SPR_"+toString(i)+"_NUM_REG"); 677 //out_PUSH_SPR_VAL - free_list_unit 678 // in_PUSH_SPR_ACK - free_list_unit 679 //out_PUSH_SPR_NUM_REG - free_list_unit 687 680 } 688 681 } … … 693 686 { 694 687 src = _name+"_register_translation_unit_glue"; 695 std::cout << "Instance : " << src << std::endl;688 log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str()); 696 689 697 690 { … … 723 716 dest, "in_INSERT_"+toString(i)+"_ACK" ); 724 717 725 dest = _name+"_register_address_translation_unit"; 726 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RAT_INSERT_VAL", 727 dest, "in_INSERT_"+toString(i)+"_VAL"); 728 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_RAT_RENAME_ACK", 729 dest,"out_RENAME_"+toString(i)+"_ACK"); 730 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_RAT_INSERT_ACK", 731 dest,"out_INSERT_"+toString(i)+"_ACK"); 732 733 dest = _name+"_free_list_unit"; 734 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_FREE_LIST_VAL" , 735 dest, "in_POP_"+toString(i)+"_VAL" ); 736 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_FREE_LIST_ACK" , 737 dest,"out_POP_"+toString(i)+"_ACK" ); 738 739 dest = _name+"_stat_list_unit"; 740 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_STAT_LIST_VAL" , 741 dest, "in_INSERT_"+toString(i)+"_VAL" ); 742 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_STAT_LIST_ACK" , 743 dest,"out_INSERT_"+toString(i)+"_ACK" ); 718 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RA" , 719 dest,"out_INSERT_"+toString(i)+"_READ_RA" ); 720 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RA_PHY" , 721 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RA_PHY" ); 722 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RB" , 723 dest,"out_INSERT_"+toString(i)+"_READ_RB" ); 724 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RB_PHY" , 725 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RB_PHY" ); 726 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RC" , 727 dest,"out_INSERT_"+toString(i)+"_READ_RC" ); 728 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RC_PHY" , 729 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RC_PHY" ); 730 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_WRITE_RD" , 731 dest,"out_INSERT_"+toString(i)+"_WRITE_RD" ); 732 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RD_LOG" , 733 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_LOG" ); 734 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 735 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD"); 736 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 737 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW"); 738 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_WRITE_RE" , 739 dest,"out_INSERT_"+toString(i)+"_WRITE_RE" ); 740 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RE_LOG" , 741 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_LOG" ); 742 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 743 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD"); 744 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 745 dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW"); 746 747 // out_INSERT_RAT_INSERT_VAL - register_address_translation_unit 748 // in_INSERT_RAT_RENAME_ACK - register_address_translation_unit 749 // in_INSERT_RAT_INSERT_ACK - register_address_translation_unit 750 // out_INSERT_FREE_LIST_VAL - free_list_unit 751 // in_INSERT_FREE_LIST_ACK - free_list_unit 752 // out_INSERT_STAT_LIST_VAL - stat_list_unit 753 // in_INSERT_STAT_LIST_ACK - stat_list_unit 754 755 // in_INSERT_DEPENDENCY_CHECKING_READ_RA - dependency_checking_unit 756 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY - dependency_checking_unit 757 // in_INSERT_DEPENDENCY_CHECKING_READ_RB - dependency_checking_unit 758 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY - dependency_checking_unit 759 // in_INSERT_DEPENDENCY_CHECKING_READ_RC - dependency_checking_unit 760 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY - dependency_checking_unit 761 // in_INSERT_DEPENDENCY_CHECKING_WRITE_RD - dependency_checking_unit 762 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG - dependency_checking_unit 763 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD - dependency_checking_unit 764 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW - dependency_checking_unit 765 // in_INSERT_DEPENDENCY_CHECKING_WRITE_RE - dependency_checking_unit 766 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG - dependency_checking_unit 767 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD - dependency_checking_unit 768 // in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW - dependency_checking_unit 769 770 // out_INSERT_STAT_LIST_READ_RA - stat_list_unit 771 // out_INSERT_STAT_LIST_NUM_REG_RA_PHY - stat_list_unit 772 // out_INSERT_STAT_LIST_READ_RB - stat_list_unit 773 // out_INSERT_STAT_LIST_NUM_REG_RB_PHY - stat_list_unit 774 // out_INSERT_STAT_LIST_READ_RC - stat_list_unit 775 // out_INSERT_STAT_LIST_NUM_REG_RC_PHY - stat_list_unit 776 // out_INSERT_STAT_LIST_WRITE_RD - stat_list_unit 777 // out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW - stat_list_unit 778 // out_INSERT_STAT_LIST_WRITE_RE - stat_list_unit 779 // out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW - stat_list_unit 780 781 // out_INSERT_RAT_WRITE_RD - register_address_translation_unit 782 // out_INSERT_RAT_NUM_REG_RD_LOG - register_address_translation_unit 783 // out_INSERT_RAT_NUM_REG_RD_PHY_NEW - register_address_translation_unit 784 // out_INSERT_RAT_WRITE_RE - register_address_translation_unit 785 // out_INSERT_RAT_NUM_REG_RE_LOG - register_address_translation_unit 786 // out_INSERT_RAT_NUM_REG_RE_PHY_NEW - register_address_translation_unit 744 787 } 745 788 … … 758 801 dest,"out_RETIRE_"+toString(i)+"_ACK" ); 759 802 760 dest = _name+"_register_address_translation_unit"; 761 PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RAT_VAL" , 762 dest, "in_RETIRE_"+toString(i)+"_VAL" ); 763 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RAT_ACK" , 764 dest,"out_RETIRE_"+toString(i)+"_ACK" ); 765 766 dest = _name+"_stat_list_unit"; 767 PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_STAT_LIST_VAL", 768 dest, "in_RETIRE_"+toString(i)+"_VAL"); 769 PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_STAT_LIST_ACK", 770 dest,"out_RETIRE_"+toString(i)+"_ACK"); 803 // out_RETIRE_RAT_VAL - register_address_translation_unit 804 // in_RETIRE_RAT_ACK - register_address_translation_unit 805 // out_RETIRE_STAT_LIST_VAL - stat_list_unit 806 // in_RETIRE_STAT_LIST_ACK - stat_list_unit 771 807 } 772 808 } … … 774 810 775 811 // ~~~~~[ Others ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 776 _component->test_map(); 777 778 #ifdef POSITION 779 _component->generate_file(); 812 #if (DEBUG_Register_translation_unit == true) 813 _component->test_map(); 814 #endif 815 816 #ifdef POSITION 817 if (usage_is_set(_usage,USE_POSITION)) 818 _component->generate_file(); 780 819 #endif 781 820 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_deallocation.cpp
r81 r88 23 23 log_printf(FUNC,Register_translation_unit,FUNCTION,"Begin"); 24 24 25 if ( _usage & USE_SYSTEMC)25 if (usage_is_set(_usage,USE_SYSTEMC)) 26 26 { 27 27 delete in_CLOCK ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_end_cycle.cpp
r81 r88 25 25 26 26 #ifdef STATISTICS 27 _stat->end_cycle(); 27 if (usage_is_set(_usage,USE_STATISTICS)) 28 _stat->end_cycle(); 28 29 #endif 29 30 … … 31 32 // Evaluation before read the ouput signal 32 33 // sc_start(0); 33 _interfaces->testbench(); 34 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 35 _interfaces->testbench(); 34 36 #endif 35 37
Note: See TracChangeset
for help on using the changeset viewer.