Changeset 117 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit
- Timestamp:
- May 16, 2009, 4:42:39 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
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
r98 r117 79 79 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); 80 80 81 82 83 84 85 86 81 //ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,"out_INSERT_STAT_LIST_READ_RA ",Tcontrol_t ,_param->_nb_inst_insert); 82 //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); 83 //ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,"out_INSERT_STAT_LIST_READ_RB ",Tcontrol_t ,_param->_nb_inst_insert); 84 //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); 85 //ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,"out_INSERT_STAT_LIST_READ_RC ",Tcontrol_t ,_param->_nb_inst_insert); 86 //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); 87 87 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RD ,"out_INSERT_STAT_LIST_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_insert); 88 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ,"out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ",Tgeneral_address_t,_param->_nb_inst_insert); 88 89 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); 89 90 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RE ,"out_INSERT_STAT_LIST_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_insert); 91 ALLOC1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ,"out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ",Tspecial_address_t,_param->_nb_inst_insert); 90 92 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); 91 93 … … 157 159 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue, in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert); 158 160 159 160 161 162 163 164 161 //INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert); 162 //INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 163 //INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert); 164 //INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 165 //INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert); 166 //INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 165 167 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_WRITE_RD ,_param->_nb_inst_insert); 168 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert); 166 169 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 167 170 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_WRITE_RE ,_param->_nb_inst_insert); 171 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert); 168 172 INSTANCE1_SC_SIGNAL(_Register_translation_unit_Glue,out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 169 173 … … 331 335 DELETE1_SC_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert); 332 336 333 334 335 336 337 338 337 //DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert); 338 //DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 339 //DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert); 340 //DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 341 //DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert); 342 //DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 339 343 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RD ,_param->_nb_inst_insert); 344 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert); 340 345 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert); 341 346 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_WRITE_RE ,_param->_nb_inst_insert); 347 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert); 342 348 DELETE1_SC_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert); 343 349 -
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
r110 r117 108 108 public : SC_OUT(Tspecial_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RC_PHY ;//[nb_inst_insert] 109 109 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_WRITE_RD ;//[nb_inst_insert] 110 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ;//[nb_inst_insert] 110 111 public : SC_OUT(Tgeneral_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ;//[nb_inst_insert] 111 112 public : SC_OUT(Tcontrol_t ) ** out_INSERT_STAT_LIST_WRITE_RE ;//[nb_inst_insert] 113 public : SC_OUT(Tspecial_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ;//[nb_inst_insert] 112 114 public : SC_OUT(Tspecial_address_t) ** out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ;//[nb_inst_insert] 113 115 -
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
r112 r117 97 97 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,"STAT_LIST_NUM_REG_RC_PHY" ,Tspecial_address_t,_param->_size_special_register ); 98 98 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_WRITE_RD ,"STAT_LIST_WRITE_RD" ,Tcontrol_t ,1); 99 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ,"STAT_LIST_NUM_REG_RD_PHY_OLD" ,Tgeneral_address_t,_param->_size_general_register ); 99 100 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 ); 100 101 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_WRITE_RE ,"STAT_LIST_WRITE_RE" ,Tcontrol_t ,1); 102 ALLOC1_SIGNAL_OUT(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ,"STAT_LIST_NUM_REG_RE_PHY_OLD" ,Tspecial_address_t,_param->_size_special_register ); 101 103 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 ); 102 104 -
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
r110 r117 59 59 DELETE1_SIGNAL( in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register ); 60 60 61 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert,1);62 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register );63 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert,1);64 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register );65 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert,1);66 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register );61 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RA ,_param->_nb_inst_insert,1); 62 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RA_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 63 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RB ,_param->_nb_inst_insert,1); 64 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RB_PHY ,_param->_nb_inst_insert,_param->_size_general_register ); 65 DELETE1_SIGNAL(out_INSERT_STAT_LIST_READ_RC ,_param->_nb_inst_insert,1); 66 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register ); 67 67 DELETE1_SIGNAL(out_INSERT_STAT_LIST_WRITE_RD ,_param->_nb_inst_insert,1); 68 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD ,_param->_nb_inst_insert,_param->_size_general_register ); 68 69 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW ,_param->_nb_inst_insert,_param->_size_general_register ); 69 70 DELETE1_SIGNAL(out_INSERT_STAT_LIST_WRITE_RE ,_param->_nb_inst_insert,1); 71 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD ,_param->_nb_inst_insert,_param->_size_special_register ); 70 72 DELETE1_SIGNAL(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW ,_param->_nb_inst_insert,_param->_size_special_register ); 71 73 -
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
r101 r117 49 49 PORT_WRITE(out_INSERT_FREE_LIST_SPR_VAL [i], WRITE_RE ); 50 50 51 PORT_WRITE(out_INSERT_STAT_LIST_READ_RA [i], READ_RA );52 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RA_PHY [i], NUM_REG_RA_PHY );53 PORT_WRITE(out_INSERT_STAT_LIST_READ_RB [i], READ_RB );54 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RB_PHY [i], NUM_REG_RB_PHY );55 PORT_WRITE(out_INSERT_STAT_LIST_READ_RC [i], READ_RC );56 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RC_PHY [i], NUM_REG_RC_PHY );51 PORT_WRITE(out_INSERT_STAT_LIST_READ_RA [i], READ_RA ); 52 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RA_PHY [i], NUM_REG_RA_PHY ); 53 PORT_WRITE(out_INSERT_STAT_LIST_READ_RB [i], READ_RB ); 54 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RB_PHY [i], NUM_REG_RB_PHY ); 55 PORT_WRITE(out_INSERT_STAT_LIST_READ_RC [i], READ_RC ); 56 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RC_PHY [i], NUM_REG_RC_PHY ); 57 57 PORT_WRITE(out_INSERT_STAT_LIST_WRITE_RD [i], WRITE_RD ); 58 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_OLD [i], NUM_REG_RD_PHY_OLD); 58 59 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW [i], NUM_REG_RD_PHY_NEW); 59 60 PORT_WRITE(out_INSERT_STAT_LIST_WRITE_RE [i], WRITE_RE ); 61 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_OLD [i], NUM_REG_RE_PHY_OLD); 60 62 PORT_WRITE(out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW [i], NUM_REG_RE_PHY_NEW); 61 63 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/SelfTest/src/test.cpp
r113 r117 63 63 sc_signal<Tcontrol_t > ** in_INSERT_VAL ;//[nb_inst_insert] 64 64 sc_signal<Tcontrol_t > ** out_INSERT_ACK ;//[nb_inst_insert] 65 66 67 68 69 70 65 //sc_signal<Tcontrol_t > ** in_INSERT_READ_RA ;//[nb_inst_insert] 66 //sc_signal<Tgeneral_address_t> ** in_INSERT_NUM_REG_RA_PHY ;//[nb_inst_insert] 67 //sc_signal<Tcontrol_t > ** in_INSERT_READ_RB ;//[nb_inst_insert] 68 //sc_signal<Tgeneral_address_t> ** in_INSERT_NUM_REG_RB_PHY ;//[nb_inst_insert] 69 //sc_signal<Tcontrol_t > ** in_INSERT_READ_RC ;//[nb_inst_insert] 70 //sc_signal<Tspecial_address_t> ** in_INSERT_NUM_REG_RC_PHY ;//[nb_inst_insert] 71 71 sc_signal<Tcontrol_t > ** in_INSERT_WRITE_RD ;//[nb_inst_insert] 72 sc_signal<Tgeneral_address_t> ** in_INSERT_NUM_REG_RD_PHY_OLD;//[nb_inst_insert] 72 73 sc_signal<Tgeneral_address_t> ** in_INSERT_NUM_REG_RD_PHY_NEW;//[nb_inst_insert] 73 74 sc_signal<Tcontrol_t > ** in_INSERT_WRITE_RE ;//[nb_inst_insert] 75 sc_signal<Tspecial_address_t> ** in_INSERT_NUM_REG_RE_PHY_OLD;//[nb_inst_insert] 74 76 sc_signal<Tspecial_address_t> ** in_INSERT_NUM_REG_RE_PHY_NEW;//[nb_inst_insert] 75 77 sc_signal<Tcontrol_t > ** in_RETIRE_VAL ;//[nb_inst_retire] 76 78 sc_signal<Tcontrol_t > ** out_RETIRE_ACK ;//[nb_inst_retire] 77 79 sc_signal<Tcontrol_t > ** in_RETIRE_RESTORE ;//[nb_inst_retire] 78 79 80 81 82 83 80 //sc_signal<Tcontrol_t > ** in_RETIRE_READ_RA ;//[nb_inst_retire] 81 //sc_signal<Tgeneral_address_t> ** in_RETIRE_NUM_REG_RA_PHY ;//[nb_inst_retire] 82 //sc_signal<Tcontrol_t > ** in_RETIRE_READ_RB ;//[nb_inst_retire] 83 //sc_signal<Tgeneral_address_t> ** in_RETIRE_NUM_REG_RB_PHY ;//[nb_inst_retire] 84 //sc_signal<Tcontrol_t > ** in_RETIRE_READ_RC ;//[nb_inst_retire] 85 //sc_signal<Tspecial_address_t> ** in_RETIRE_NUM_REG_RC_PHY ;//[nb_inst_retire] 84 86 sc_signal<Tcontrol_t > ** in_RETIRE_WRITE_RD ;//[nb_inst_retire] 85 87 sc_signal<Tcontrol_t > ** in_RETIRE_RESTORE_RD_PHY_OLD;//[nb_inst_retire] … … 99 101 ALLOC1_SC_SIGNAL( in_INSERT_VAL ," in_INSERT_VAL ",Tcontrol_t ,_param->_nb_inst_insert); 100 102 ALLOC1_SC_SIGNAL(out_INSERT_ACK ,"out_INSERT_ACK ",Tcontrol_t ,_param->_nb_inst_insert); 101 102 103 104 105 106 103 //ALLOC1_SC_SIGNAL( in_INSERT_READ_RA ," in_INSERT_READ_RA ",Tcontrol_t ,_param->_nb_inst_insert); 104 //ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RA_PHY ," in_INSERT_NUM_REG_RA_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 105 //ALLOC1_SC_SIGNAL( in_INSERT_READ_RB ," in_INSERT_READ_RB ",Tcontrol_t ,_param->_nb_inst_insert); 106 //ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RB_PHY ," in_INSERT_NUM_REG_RB_PHY ",Tgeneral_address_t,_param->_nb_inst_insert); 107 //ALLOC1_SC_SIGNAL( in_INSERT_READ_RC ," in_INSERT_READ_RC ",Tcontrol_t ,_param->_nb_inst_insert); 108 //ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RC_PHY ," in_INSERT_NUM_REG_RC_PHY ",Tspecial_address_t,_param->_nb_inst_insert); 107 109 ALLOC1_SC_SIGNAL( in_INSERT_WRITE_RD ," in_INSERT_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_insert); 110 ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RD_PHY_OLD," in_INSERT_NUM_REG_RD_PHY_OLD",Tgeneral_address_t,_param->_nb_inst_insert); 108 111 ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RD_PHY_NEW," in_INSERT_NUM_REG_RD_PHY_NEW",Tgeneral_address_t,_param->_nb_inst_insert); 109 112 ALLOC1_SC_SIGNAL( in_INSERT_WRITE_RE ," in_INSERT_WRITE_RE ",Tcontrol_t ,_param->_nb_inst_insert); 113 ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RE_PHY_OLD," in_INSERT_NUM_REG_RE_PHY_OLD",Tspecial_address_t,_param->_nb_inst_insert); 110 114 ALLOC1_SC_SIGNAL( in_INSERT_NUM_REG_RE_PHY_NEW," in_INSERT_NUM_REG_RE_PHY_NEW",Tspecial_address_t,_param->_nb_inst_insert); 111 115 ALLOC1_SC_SIGNAL( in_RETIRE_VAL ," in_RETIRE_VAL ",Tcontrol_t ,_param->_nb_inst_retire); 112 116 ALLOC1_SC_SIGNAL(out_RETIRE_ACK ,"out_RETIRE_ACK ",Tcontrol_t ,_param->_nb_inst_retire); 113 117 ALLOC1_SC_SIGNAL( in_RETIRE_RESTORE ," in_RETIRE_RESTORE ",Tcontrol_t ,_param->_nb_inst_retire); 114 115 116 117 118 119 118 //ALLOC1_SC_SIGNAL( in_RETIRE_READ_RA ," in_RETIRE_READ_RA ",Tcontrol_t ,_param->_nb_inst_retire); 119 //ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RA_PHY ," in_RETIRE_NUM_REG_RA_PHY ",Tgeneral_address_t,_param->_nb_inst_retire); 120 //ALLOC1_SC_SIGNAL( in_RETIRE_READ_RB ," in_RETIRE_READ_RB ",Tcontrol_t ,_param->_nb_inst_retire); 121 //ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RB_PHY ," in_RETIRE_NUM_REG_RB_PHY ",Tgeneral_address_t,_param->_nb_inst_retire); 122 //ALLOC1_SC_SIGNAL( in_RETIRE_READ_RC ," in_RETIRE_READ_RC ",Tcontrol_t ,_param->_nb_inst_retire); 123 //ALLOC1_SC_SIGNAL( in_RETIRE_NUM_REG_RC_PHY ," in_RETIRE_NUM_REG_RC_PHY ",Tspecial_address_t,_param->_nb_inst_retire); 120 124 ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RD ," in_RETIRE_WRITE_RD ",Tcontrol_t ,_param->_nb_inst_retire); 121 125 ALLOC1_SC_SIGNAL( in_RETIRE_RESTORE_RD_PHY_OLD," in_RETIRE_RESTORE_RD_PHY_OLD",Tcontrol_t ,_param->_nb_inst_retire); … … 145 149 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_VAL ,_param->_nb_inst_insert); 146 150 INSTANCE1_SC_SIGNAL(_Stat_List_unit,out_INSERT_ACK ,_param->_nb_inst_insert); 147 148 149 150 151 152 151 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_READ_RA ,_param->_nb_inst_insert); 152 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RA_PHY ,_param->_nb_inst_insert); 153 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_READ_RB ,_param->_nb_inst_insert); 154 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RB_PHY ,_param->_nb_inst_insert); 155 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_READ_RC ,_param->_nb_inst_insert); 156 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert); 153 157 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_WRITE_RD ,_param->_nb_inst_insert); 158 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert); 154 159 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert); 155 160 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_WRITE_RE ,_param->_nb_inst_insert); 161 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert); 156 162 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_INSERT_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert); 157 163 … … 159 165 INSTANCE1_SC_SIGNAL(_Stat_List_unit,out_RETIRE_ACK ,_param->_nb_inst_retire); 160 166 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_RESTORE ,_param->_nb_inst_retire); 161 162 163 164 165 166 167 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_READ_RA ,_param->_nb_inst_retire); 168 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RA_PHY ,_param->_nb_inst_retire); 169 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_READ_RB ,_param->_nb_inst_retire); 170 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RB_PHY ,_param->_nb_inst_retire); 171 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_READ_RC ,_param->_nb_inst_retire); 172 //INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_NUM_REG_RC_PHY ,_param->_nb_inst_retire); 167 173 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_WRITE_RD ,_param->_nb_inst_retire); 168 174 INSTANCE1_SC_SIGNAL(_Stat_List_unit, in_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_inst_retire); … … 348 354 349 355 in_INSERT_VAL [i]->write((rand()%100) < percent_transaction_insert); 350 in_INSERT_READ_RA [i]->write(read_ra );351 in_INSERT_NUM_REG_RA_PHY [i]->write(ra);352 in_INSERT_READ_RB [i]->write(read_rb );353 in_INSERT_NUM_REG_RB_PHY [i]->write(rb);354 in_INSERT_READ_RC [i]->write(read_rc );355 in_INSERT_NUM_REG_RC_PHY [i]->write(rc);356 // in_INSERT_READ_RA [i]->write(read_ra ); 357 // in_INSERT_NUM_REG_RA_PHY [i]->write(ra); 358 // in_INSERT_READ_RB [i]->write(read_rb ); 359 // in_INSERT_NUM_REG_RB_PHY [i]->write(rb); 360 // in_INSERT_READ_RC [i]->write(read_rc ); 361 // in_INSERT_NUM_REG_RC_PHY [i]->write(rc); 356 362 in_INSERT_WRITE_RD [i]->write(write_rd); 357 363 in_INSERT_NUM_REG_RD_PHY_NEW [i]->write(rd); … … 394 400 395 401 in_RETIRE_VAL [i]->write((rand()%100) < percent_transaction_retire); 396 in_RETIRE_READ_RA [i]->write(read_ra );397 in_RETIRE_RESTORE [i]->write(0);398 in_RETIRE_NUM_REG_RA_PHY [i]->write(ra);399 in_RETIRE_READ_RB [i]->write(read_rb );400 in_RETIRE_NUM_REG_RB_PHY [i]->write(rb);401 in_RETIRE_READ_RC [i]->write(read_rc );402 in_RETIRE_NUM_REG_RC_PHY [i]->write(rc);402 // in_RETIRE_READ_RA [i]->write(read_ra ); 403 // in_RETIRE_RESTORE [i]->write(0); 404 // in_RETIRE_NUM_REG_RA_PHY [i]->write(ra); 405 // in_RETIRE_READ_RB [i]->write(read_rb ); 406 // in_RETIRE_NUM_REG_RB_PHY [i]->write(rb); 407 // in_RETIRE_READ_RC [i]->write(read_rc ); 408 // in_RETIRE_NUM_REG_RC_PHY [i]->write(rc); 403 409 in_RETIRE_WRITE_RD [i]->write(write_rd); 404 410 in_RETIRE_RESTORE_RD_PHY_OLD [i]->write(0); … … 454 460 if (in_INSERT_VAL [i]->read() and out_INSERT_ACK [i]->read()) 455 461 { 456 Tcontrol_t read_ra = in_INSERT_READ_RA [i]->read();457 Tgeneral_address_t ra = in_INSERT_NUM_REG_RA_PHY [i]->read();458 Tcontrol_t read_rb = in_INSERT_READ_RB [i]->read();459 Tgeneral_address_t rb = in_INSERT_NUM_REG_RB_PHY [i]->read();460 Tcontrol_t read_rc = in_INSERT_READ_RC [i]->read();461 Tspecial_address_t rc = in_INSERT_NUM_REG_RC_PHY [i]->read();462 // Tcontrol_t read_ra = in_INSERT_READ_RA [i]->read(); 463 // Tgeneral_address_t ra = in_INSERT_NUM_REG_RA_PHY [i]->read(); 464 // Tcontrol_t read_rb = in_INSERT_READ_RB [i]->read(); 465 // Tgeneral_address_t rb = in_INSERT_NUM_REG_RB_PHY [i]->read(); 466 // Tcontrol_t read_rc = in_INSERT_READ_RC [i]->read(); 467 // Tspecial_address_t rc = in_INSERT_NUM_REG_RC_PHY [i]->read(); 462 468 Tgeneral_address_t rd_new = in_INSERT_NUM_REG_RD_PHY_NEW [i]->read(); 463 469 Tspecial_address_t re_new = in_INSERT_NUM_REG_RE_PHY_NEW [i]->read(); 464 470 465 471 LABEL("INSERT [%d] - Accepted",i); 466 LABEL(" * read_ra : %d",read_ra );467 LABEL(" * reg_ra : %d",ra );468 LABEL(" * status[%d]._is_free : %d",ra,spr_status[ra]._is_free );469 LABEL(" * status[%d]._is_link : %d",ra,spr_status[ra]._is_link );470 LABEL(" * status[%d]._is_valid : %d",ra,spr_status[ra]._is_valid);471 LABEL(" * status[%d]._counter : %d",ra,spr_status[ra]._counter );472 LABEL(" * read_rb : %d",read_rb );473 LABEL(" * reg_rb : %d",rb );474 LABEL(" * status[%d]._is_free : %d",rb,spr_status[rb]._is_free );475 LABEL(" * status[%d]._is_link : %d",rb,spr_status[rb]._is_link );476 LABEL(" * status[%d]._is_valid : %d",rb,spr_status[rb]._is_valid);477 LABEL(" * status[%d]._counter : %d",rb,spr_status[rb]._counter );478 LABEL(" * read_rc : %d",read_rc );479 LABEL(" * reg_rc : %d",rc );480 LABEL(" * status[%d]._is_free : %d",rc,spr_status[rc]._is_free );481 LABEL(" * status[%d]._is_link : %d",rc,spr_status[rc]._is_link );482 LABEL(" * status[%d]._is_valid : %d",rc,spr_status[rc]._is_valid);483 LABEL(" * status[%d]._counter : %d",rc,spr_status[rc]._counter );472 // LABEL(" * read_ra : %d",read_ra ); 473 // LABEL(" * reg_ra : %d",ra ); 474 // LABEL(" * status[%d]._is_free : %d",ra,spr_status[ra]._is_free ); 475 // LABEL(" * status[%d]._is_link : %d",ra,spr_status[ra]._is_link ); 476 // LABEL(" * status[%d]._is_valid : %d",ra,spr_status[ra]._is_valid); 477 // LABEL(" * status[%d]._counter : %d",ra,spr_status[ra]._counter ); 478 // LABEL(" * read_rb : %d",read_rb ); 479 // LABEL(" * reg_rb : %d",rb ); 480 // LABEL(" * status[%d]._is_free : %d",rb,spr_status[rb]._is_free ); 481 // LABEL(" * status[%d]._is_link : %d",rb,spr_status[rb]._is_link ); 482 // LABEL(" * status[%d]._is_valid : %d",rb,spr_status[rb]._is_valid); 483 // LABEL(" * status[%d]._counter : %d",rb,spr_status[rb]._counter ); 484 // LABEL(" * read_rc : %d",read_rc ); 485 // LABEL(" * reg_rc : %d",rc ); 486 // LABEL(" * status[%d]._is_free : %d",rc,spr_status[rc]._is_free ); 487 // LABEL(" * status[%d]._is_link : %d",rc,spr_status[rc]._is_link ); 488 // LABEL(" * status[%d]._is_valid : %d",rc,spr_status[rc]._is_valid); 489 // LABEL(" * status[%d]._counter : %d",rc,spr_status[rc]._counter ); 484 490 LABEL(" * read_rd : %d",write_rd); 485 491 LABEL(" * reg_rd_new : %d",rd_new ); … … 495 501 LABEL(" * status[%d]._counter : %d",re_new,spr_status[re_new]._counter ); 496 502 497 if (read_ra)498 {499 gpr_status[ra]._counter ++;500 }501 if (read_rb)502 {503 gpr_status[rb]._counter ++;504 }505 if (read_rc)506 {507 spr_status[rc]._counter ++;508 }503 // if (read_ra) 504 // { 505 // gpr_status[ra]._counter ++; 506 // } 507 // if (read_rb) 508 // { 509 // gpr_status[rb]._counter ++; 510 // } 511 // if (read_rc) 512 // { 513 // spr_status[rc]._counter ++; 514 // } 509 515 if (write_rd) 510 516 { … … 544 550 { 545 551 Tcontrol_t restore = in_RETIRE_RESTORE [i]->read(); 546 Tcontrol_t read_ra = in_RETIRE_READ_RA [i]->read();547 Tgeneral_address_t ra = in_RETIRE_NUM_REG_RA_PHY [i]->read();548 Tcontrol_t read_rb = in_RETIRE_READ_RB [i]->read();549 Tgeneral_address_t rb = in_RETIRE_NUM_REG_RB_PHY [i]->read();550 Tcontrol_t read_rc = in_RETIRE_READ_RC [i]->read();551 Tspecial_address_t rc = in_RETIRE_NUM_REG_RC_PHY [i]->read();552 // Tcontrol_t read_ra = in_RETIRE_READ_RA [i]->read(); 553 // Tgeneral_address_t ra = in_RETIRE_NUM_REG_RA_PHY [i]->read(); 554 // Tcontrol_t read_rb = in_RETIRE_READ_RB [i]->read(); 555 // Tgeneral_address_t rb = in_RETIRE_NUM_REG_RB_PHY [i]->read(); 556 // Tcontrol_t read_rc = in_RETIRE_READ_RC [i]->read(); 557 // Tspecial_address_t rc = in_RETIRE_NUM_REG_RC_PHY [i]->read(); 552 558 Tcontrol_t write_rd = in_RETIRE_WRITE_RD [i]->read(); 553 559 Tcontrol_t restore_rd_old = in_RETIRE_RESTORE_RD_PHY_OLD [i]->read(); … … 561 567 LABEL("RETIRE [%d] - Accepted",i); 562 568 LABEL(" * restore : %d",restore); 563 LABEL(" * read_ra : %d",read_ra );564 LABEL(" * reg_ra : %d",ra );565 LABEL(" * status[%d]._is_free : %d",ra,spr_status[ra]._is_free );566 LABEL(" * status[%d]._is_link : %d",ra,spr_status[ra]._is_link );567 LABEL(" * status[%d]._is_valid : %d",ra,spr_status[ra]._is_valid);568 LABEL(" * status[%d]._counter : %d",ra,spr_status[ra]._counter );569 LABEL(" * read_rb : %d",read_rb );570 LABEL(" * reg_rb : %d",rb );571 LABEL(" * status[%d]._is_free : %d",rb,spr_status[rb]._is_free );572 LABEL(" * status[%d]._is_link : %d",rb,spr_status[rb]._is_link );573 LABEL(" * status[%d]._is_valid : %d",rb,spr_status[rb]._is_valid);574 LABEL(" * status[%d]._counter : %d",rb,spr_status[rb]._counter );575 LABEL(" * read_rc : %d",read_rc );576 LABEL(" * reg_rc : %d",rc );577 LABEL(" * status[%d]._is_free : %d",rc,spr_status[rc]._is_free );578 LABEL(" * status[%d]._is_link : %d",rc,spr_status[rc]._is_link );579 LABEL(" * status[%d]._is_valid : %d",rc,spr_status[rc]._is_valid);580 LABEL(" * status[%d]._counter : %d",rc,spr_status[rc]._counter );569 // LABEL(" * read_ra : %d",read_ra ); 570 // LABEL(" * reg_ra : %d",ra ); 571 // LABEL(" * status[%d]._is_free : %d",ra,spr_status[ra]._is_free ); 572 // LABEL(" * status[%d]._is_link : %d",ra,spr_status[ra]._is_link ); 573 // LABEL(" * status[%d]._is_valid : %d",ra,spr_status[ra]._is_valid); 574 // LABEL(" * status[%d]._counter : %d",ra,spr_status[ra]._counter ); 575 // LABEL(" * read_rb : %d",read_rb ); 576 // LABEL(" * reg_rb : %d",rb ); 577 // LABEL(" * status[%d]._is_free : %d",rb,spr_status[rb]._is_free ); 578 // LABEL(" * status[%d]._is_link : %d",rb,spr_status[rb]._is_link ); 579 // LABEL(" * status[%d]._is_valid : %d",rb,spr_status[rb]._is_valid); 580 // LABEL(" * status[%d]._counter : %d",rb,spr_status[rb]._counter ); 581 // LABEL(" * read_rc : %d",read_rc ); 582 // LABEL(" * reg_rc : %d",rc ); 583 // LABEL(" * status[%d]._is_free : %d",rc,spr_status[rc]._is_free ); 584 // LABEL(" * status[%d]._is_link : %d",rc,spr_status[rc]._is_link ); 585 // LABEL(" * status[%d]._is_valid : %d",rc,spr_status[rc]._is_valid); 586 // LABEL(" * status[%d]._counter : %d",rc,spr_status[rc]._counter ); 581 587 LABEL(" * read_rd : %d",write_rd); 582 588 LABEL(" * restore_rd_old : %d",restore_rd_old); … … 604 610 LABEL(" * status[%d]._counter : %d",re_new,spr_status[re_new]._counter ); 605 611 606 if (read_ra)607 {608 gpr_status[ra]._counter --;609 }610 if (read_rb)611 {612 gpr_status[rb]._counter --;613 }614 if (read_rc)615 {616 spr_status[rc]._counter --;617 }612 // if (read_ra) 613 // { 614 // gpr_status[ra]._counter --; 615 // } 616 // if (read_rb) 617 // { 618 // gpr_status[rb]._counter --; 619 // } 620 // if (read_rc) 621 // { 622 // spr_status[rc]._counter --; 623 // } 618 624 if (write_rd) 619 625 { … … 721 727 delete [] in_INSERT_VAL ; 722 728 delete [] out_INSERT_ACK ; 723 724 725 726 727 728 729 //delete [] in_INSERT_READ_RA ; 730 //delete [] in_INSERT_NUM_REG_RA_PHY ; 731 //delete [] in_INSERT_READ_RB ; 732 //delete [] in_INSERT_NUM_REG_RB_PHY ; 733 //delete [] in_INSERT_READ_RC ; 734 //delete [] in_INSERT_NUM_REG_RC_PHY ; 729 735 delete [] in_INSERT_WRITE_RD ; 736 delete [] in_INSERT_NUM_REG_RD_PHY_OLD; 730 737 delete [] in_INSERT_NUM_REG_RD_PHY_NEW; 731 738 delete [] in_INSERT_WRITE_RE ; 739 delete [] in_INSERT_NUM_REG_RE_PHY_OLD; 732 740 delete [] in_INSERT_NUM_REG_RE_PHY_NEW; 733 741 delete [] in_RETIRE_VAL ; 734 742 delete [] out_RETIRE_ACK ; 735 743 delete [] in_RETIRE_RESTORE ; 736 737 738 739 740 741 744 //delete [] in_RETIRE_READ_RA ; 745 //delete [] in_RETIRE_NUM_REG_RA_PHY ; 746 //delete [] in_RETIRE_READ_RB ; 747 //delete [] in_RETIRE_NUM_REG_RB_PHY ; 748 //delete [] in_RETIRE_READ_RC ; 749 //delete [] in_RETIRE_NUM_REG_RC_PHY ; 742 750 delete [] in_RETIRE_WRITE_RD ; 743 751 delete [] in_RETIRE_RESTORE_RD_PHY_OLD; -
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
r112 r117 72 72 public : SC_IN (Tspecial_address_t) ** in_INSERT_NUM_REG_RC_PHY ;//[nb_inst_insert] 73 73 public : SC_IN (Tcontrol_t ) ** in_INSERT_WRITE_RD ;//[nb_inst_insert] 74 public : SC_IN (Tgeneral_address_t) ** in_INSERT_NUM_REG_RD_PHY_OLD;//[nb_inst_insert] 74 75 public : SC_IN (Tgeneral_address_t) ** in_INSERT_NUM_REG_RD_PHY_NEW;//[nb_inst_insert] 75 76 public : SC_IN (Tcontrol_t ) ** in_INSERT_WRITE_RE ;//[nb_inst_insert] 77 public : SC_IN (Tspecial_address_t) ** in_INSERT_NUM_REG_RE_PHY_OLD;//[nb_inst_insert] 76 78 public : SC_IN (Tspecial_address_t) ** in_INSERT_NUM_REG_RE_PHY_NEW;//[nb_inst_insert] 77 79 78 80 // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 81 public : SC_IN (Tcontrol_t ) ** in_RETIRE_VAL ;//[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
r112 r117 23 23 class stat_list_entry_t 24 24 { 25 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 25 public : bool _is_free ; // set = is present in free list 26 public : bool _is_link ; // set = is present in rat 27 public : bool _is_use ; // set = is present in ROB (used by an instruction as destination) 28 // not necesseray in single thread mode : because an thread can't rename when they have an event 29 // in multi thread, the renaming continue and an old register can be reused 29 30 30 31 public : stat_list_entry_t (void) {}; … … 35 36 _is_free = 0; 36 37 _is_link = is_link; 37 // _is_valid = 1; 38 // _counter = 0; 38 _is_use = is_link; 39 39 } 40 40 41 // public : void insert_read (void) 42 // { 43 // _counter ++; 44 // } 41 public : void insert_write_old (void) 42 { 43 // old is not in the rat, but is already used (if miss prediction or event) 44 _is_link = 0; 45 } 45 46 46 public : void insert_write (void)47 public : void insert_write_new (void) 47 48 { 48 49 _is_free = 0; 49 50 _is_link = 1; 50 // _is_valid = 0;51 _is_use = 1; 51 52 } 52 53 // public : void retire_read (void)54 // {55 // _counter --;56 // }57 53 58 54 public : void retire_write_old (bool restore, bool restore_old) … … 62 58 // 1 0 0 - event and previous update 63 59 // 1 1 1 - event and first update 64 65 _is_link = restore and restore_old; 60 61 if (restore and restore_old) 62 { 63 _is_link = 1; 64 // _is_use = 1; // already set 65 } 66 else 67 { 68 // _is_link = 0; // already unset 69 _is_use = 0; 70 } 71 66 72 } 67 73 … … 73 79 74 80 if (restore) 75 _is_link = 0; 81 { 82 // test if is the actual mapping (in RAT) 83 if (_is_link) 84 _is_use = 0; 76 85 77 // in all case78 // _is_valid = 1; 86 _is_link = 0; 87 } 79 88 } 80 89 … … 84 93 } 85 94 86 // public : bool can_insert_read (uint32_t max_reader)87 // {88 // return ((_counter+1) < max_reader);89 // }90 91 95 public : bool can_free (void) 92 96 { 93 97 return ((_is_free == 0) and 94 (_is_link == 0) // and 95 // (_is_valid == 1) and // if is_link <- 0, then retire_write_old or reset 96 // (_counter == 0) 97 ); 98 (_is_link == 0) and 99 (_is_use == 0)); 98 100 } 99 101 … … 102 104 { 103 105 output << x._is_free << " " 104 << x._is_link // << " " 105 // << x._is_valid << " " 106 // << x._counter 107 ; 106 << x._is_link << " " 107 << x._is_use ; 108 108 109 109 return output; -
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
r112 r117 69 69 ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RC_PHY ,"num_reg_rc_phy" ,Tspecial_address_t,_param->_size_special_register); 70 70 ALLOC1_SIGNAL_IN ( in_INSERT_WRITE_RD ,"write_rd" ,Tcontrol_t ,1 ); 71 ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register); 71 72 ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RD_PHY_NEW,"num_reg_rd_phy_new",Tgeneral_address_t,_param->_size_general_register); 72 73 ALLOC1_SIGNAL_IN ( in_INSERT_WRITE_RE ,"write_re" ,Tcontrol_t ,1 ); 74 ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register); 73 75 ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RE_PHY_NEW,"num_reg_re_phy_new",Tspecial_address_t,_param->_size_special_register); 74 76 75 77 ALLOC1_INTERFACE_END(_param->_nb_inst_insert); 76 78 } 77 79 78 80 // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 81 { 80 82 ALLOC1_INTERFACE_BEGIN("retire",IN,NORTH,_("Retire a renaming result"),_param->_nb_inst_retire); 81 83 82 84 ALLOC1_VALACK_IN ( in_RETIRE_VAL ,VAL); 83 85 ALLOC1_VALACK_OUT(out_RETIRE_ACK ,ACK); -
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
r112 r117 39 39 DELETE1_SIGNAL( in_INSERT_NUM_REG_RC_PHY ,_param->_nb_inst_insert,_param->_size_special_register); 40 40 DELETE1_SIGNAL( in_INSERT_WRITE_RD ,_param->_nb_inst_insert,1 ); 41 DELETE1_SIGNAL( in_INSERT_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register); 41 42 DELETE1_SIGNAL( in_INSERT_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert,_param->_size_general_register); 42 43 DELETE1_SIGNAL( in_INSERT_WRITE_RE ,_param->_nb_inst_insert,1 ); 44 DELETE1_SIGNAL( in_INSERT_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register); 43 45 DELETE1_SIGNAL( in_INSERT_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register); 44 46 45 47 DELETE1_SIGNAL( in_RETIRE_VAL ,_param->_nb_inst_retire,1); 46 48 DELETE1_SIGNAL(out_RETIRE_ACK ,_param->_nb_inst_retire,1); -
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
r112 r117 86 86 if (PORT_READ(in_INSERT_WRITE_RD [i])) 87 87 { 88 Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RD_PHY_NEW [i]); 89 90 log_printf(TRACE,Stat_List_unit,FUNCTION," * WRITE_RD - num_reg new : %d",num_reg); 91 92 uint32_t bank = num_reg >> _param->_shift_gpr; 93 uint32_t reg = num_reg & _param->_mask_gpr ; 94 gpr_stat_list [bank][reg].insert_write(); 88 { 89 Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RD_PHY_OLD [i]); 90 91 log_printf(TRACE,Stat_List_unit,FUNCTION," * WRITE_RD - num_reg old : %d",num_reg); 92 93 uint32_t bank = num_reg >> _param->_shift_gpr; 94 uint32_t reg = num_reg & _param->_mask_gpr ; 95 gpr_stat_list [bank][reg].insert_write_old(); 96 } 97 { 98 Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RD_PHY_NEW [i]); 99 100 log_printf(TRACE,Stat_List_unit,FUNCTION," * WRITE_RD - num_reg new : %d",num_reg); 101 102 uint32_t bank = num_reg >> _param->_shift_gpr; 103 uint32_t reg = num_reg & _param->_mask_gpr ; 104 gpr_stat_list [bank][reg].insert_write_new(); 105 } 95 106 } 96 107 97 108 if (PORT_READ(in_INSERT_WRITE_RE [i])) 98 109 { 99 Tspecial_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RE_PHY_NEW [i]); 100 101 log_printf(TRACE,Stat_List_unit,FUNCTION," * WRITE_RE - num_reg new : %d",num_reg); 102 103 uint32_t bank = num_reg >> _param->_shift_spr; 104 uint32_t reg = num_reg & _param->_mask_spr ; 105 spr_stat_list [bank][reg].insert_write(); 106 } 110 { 111 Tspecial_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RE_PHY_OLD [i]); 112 113 log_printf(TRACE,Stat_List_unit,FUNCTION," * WRITE_RE - num_reg old : %d",num_reg); 114 115 uint32_t bank = num_reg >> _param->_shift_spr; 116 uint32_t reg = num_reg & _param->_mask_spr ; 117 spr_stat_list [bank][reg].insert_write_old(); 118 } 119 { 120 Tspecial_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RE_PHY_NEW [i]); 121 122 log_printf(TRACE,Stat_List_unit,FUNCTION," * WRITE_RE - num_reg new : %d",num_reg); 123 124 uint32_t bank = num_reg >> _param->_shift_spr; 125 uint32_t reg = num_reg & _param->_mask_spr ; 126 spr_stat_list [bank][reg].insert_write_new(); 127 } 128 } 107 129 } 108 130 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp
r112 r117 638 638 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD" , 639 639 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_WRITE_RD" ); 640 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD", 641 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RD_PHY_OLD"); 640 642 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW", 641 643 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RD_PHY_NEW"); 642 644 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE" , 643 645 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_WRITE_RE" ); 646 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD", 647 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RE_PHY_OLD"); 644 648 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW", 645 649 dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RE_PHY_NEW");
Note: See TracChangeset
for help on using the changeset viewer.