Ignore:
Timestamp:
Jan 21, 2009, 10:53:13 PM (15 years ago)
Author:
rosiere
Message:

Fix Bug :
1) Load Store Unit : check big endian
2) Commit unit & RAT : add retire_event interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp

    r101 r104  
    6767        DELETE2_SIGNAL(out_RETIRE_CONTEXT_ID              ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],_param->_size_context_id            );   
    6868//      DELETE2_SIGNAL(out_RETIRE_RENAME_UNIT_ID          ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],_param->_size_rename_unit_id        );
    69         DELETE2_SIGNAL(out_RETIRE_EVENT_STATE             ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],_param->_size_event_state           );
    7069        DELETE2_SIGNAL(out_RETIRE_USE_STORE_QUEUE         ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],1                                   );
    7170        DELETE2_SIGNAL(out_RETIRE_USE_LOAD_QUEUE          ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],1                                   );
     
    8786        DELETE2_SIGNAL(out_RETIRE_NUM_REG_RE_PHY_NEW      ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1],_param->_size_special_register      );
    8887
     88        DELETE2_SIGNAL(out_RETIRE_EVENT_VAL               ,_param->_nb_front_end,_param->_nb_context[it1],1);
     89        DELETE2_SIGNAL( in_RETIRE_EVENT_ACK               ,_param->_nb_front_end,_param->_nb_context[it1],1);
     90        DELETE2_SIGNAL(out_RETIRE_EVENT_STATE             ,_param->_nb_front_end,_param->_nb_context[it1],_param->_size_event_state);
     91
    8992        DELETE1_SIGNAL( in_COMMIT_VAL               ,_param->_nb_inst_commit,1                             );
    9093        DELETE1_SIGNAL(out_COMMIT_ACK               ,_param->_nb_inst_commit,1                             );
     
    156159
    157160        // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
    158         delete [] internal_BANK_INSERT_VAL            ;
    159         delete [] internal_BANK_INSERT_NUM_RENAME_UNIT;
    160         delete [] internal_BANK_INSERT_NUM_INST       ;
    161        
    162         delete [] internal_BANK_COMMIT_VAL            ;
    163         delete [] internal_BANK_COMMIT_NUM_INST       ;
    164         delete [] internal_BANK_COMMIT_ENTRY          ;
    165        
    166         delete [] internal_BANK_RETIRE_VAL            ;
    167         delete [] internal_BANK_RETIRE_NUM_RENAME_UNIT;
    168         delete [] internal_BANK_RETIRE_NUM_INST       ;
    169        
    170         delete [] internal_REEXECUTE_VAL              ;
    171         delete [] internal_REEXECUTE_NUM_BANK         ;
    172        
    173         delete [] internal_BRANCH_COMPLETE_VAL        ;
    174         delete [] internal_BRANCH_COMPLETE_NUM_BANK   ;
    175        
    176         for (uint32_t i=0; i<_param->_nb_front_end; i++)
    177           delete [] internal_EVENT_ACK [i];
    178         delete [] internal_EVENT_ACK;
     161        DELETE1(internal_BANK_INSERT_VAL             ,_param->_nb_bank);
     162        DELETE1(internal_BANK_INSERT_NUM_RENAME_UNIT ,_param->_nb_bank);
     163        DELETE1(internal_BANK_INSERT_NUM_INST        ,_param->_nb_bank);
     164       
     165        DELETE2(internal_BANK_COMMIT_VAL             ,_param->_nb_bank,_param->_nb_bank_access_commit);
     166        DELETE2(internal_BANK_COMMIT_NUM_INST        ,_param->_nb_bank,_param->_nb_bank_access_commit);
     167        DELETE2(internal_BANK_COMMIT_ENTRY           ,_param->_nb_bank,_param->_nb_bank_access_commit);
     168       
     169        DELETE1(internal_BANK_RETIRE_VAL             ,_param->_nb_bank);
     170        DELETE1(internal_BANK_RETIRE_NUM_RENAME_UNIT ,_param->_nb_bank);
     171        DELETE1(internal_BANK_RETIRE_NUM_INST        ,_param->_nb_bank);
     172       
     173        DELETE1(internal_REEXECUTE_VAL               ,_param->_nb_inst_reexecute);
     174        DELETE1(internal_REEXECUTE_NUM_BANK          ,_param->_nb_inst_reexecute);
     175       
     176        DELETE1(internal_BRANCH_COMPLETE_VAL         ,_param->_nb_inst_branch_complete);
     177        DELETE1(internal_BRANCH_COMPLETE_NUM_BANK    ,_param->_nb_inst_branch_complete);
     178       
     179        DELETE2(internal_EVENT_ACK                   ,_param->_nb_front_end,_param->_nb_context [it1]);
     180       
     181        DELETE2(internal_RETIRE_EVENT_VAL            ,_param->_nb_front_end,_param->_nb_context[it1]);
    179182       
    180183        // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    181         DELETE1(_rob                   ,_param->_nb_bank);
    182         DELETE1(reg_BANK_PTR           ,_param->_nb_bank);
    183         DELETE2(reg_NB_INST_COMMIT_ALL ,_param->_nb_front_end,_param->_nb_context [it1]);
    184         DELETE2(reg_NB_INST_COMMIT_MEM ,_param->_nb_front_end,_param->_nb_context [it1]);
    185         DELETE2(reg_EVENT_STATE        ,_param->_nb_front_end,_param->_nb_context [it1]);
     184        DELETE1(_rob                     ,_param->_nb_bank);
     185        DELETE1(reg_BANK_PTR             ,_param->_nb_bank);
     186        DELETE2(reg_NB_INST_COMMIT_ALL   ,_param->_nb_front_end,_param->_nb_context [it1]);
     187        DELETE2(reg_NB_INST_COMMIT_MEM   ,_param->_nb_front_end,_param->_nb_context [it1]);
     188        DELETE2(reg_EVENT_STATE          ,_param->_nb_front_end,_param->_nb_context [it1]);
     189        DELETE2(reg_EVENT_FLUSH          ,_param->_nb_front_end,_param->_nb_context [it1]);
     190        DELETE2(reg_PC_PREVIOUS          ,_param->_nb_front_end,_param->_nb_context [it1]);
     191        DELETE2(reg_PC_CURRENT           ,_param->_nb_front_end,_param->_nb_context [it1]);
     192        DELETE2(reg_PC_CURRENT_IS_DS     ,_param->_nb_front_end,_param->_nb_context [it1]);
     193        DELETE2(reg_PC_CURRENT_IS_DS_TAKE,_param->_nb_front_end,_param->_nb_context [it1]);
     194        DELETE2(reg_PC_NEXT              ,_param->_nb_front_end,_param->_nb_context [it1]);
    186195      }
    187196
     
    199208}; // end namespace multi_ooo_engine
    200209}; // end namespace core
    201 
    202210}; // end namespace behavioural
    203211}; // end namespace morpheo             
Note: See TracChangeset for help on using the changeset viewer.