Ignore:
Timestamp:
Jun 17, 2009, 2:11:25 PM (15 years ago)
Author:
rosiere
Message:

1) Add test and configuration
2) Fix Bug
3) Add log file in load store unit
4) Fix Bug in environment

File:
1 edited

Legend:

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

    r123 r124  
    3232      uint32_t nb_scan_bank = 0; // last scan bank
    3333      bool     can_continue = true;
     34
     35      uint32_t event_nb_inst  [_param->_nb_front_end][_param->_max_nb_context];
     36      for (uint32_t i=0; i<_param->_nb_front_end; i++)
     37        for (uint32_t j=0; j<_param->_nb_context [i]; j++)
     38          event_nb_inst [i][j] = 0;
    3439
    3540      // for each reexecute_port
     
    5964                  // Read state
    6065                  entry_t    * entry = _rob [num_bank].front();
     66                  uint32_t     num_packet   = ((entry->ptr << _param->_shift_num_slot) | num_bank);
     67                  Tcontext_t   front_end_id = entry->front_end_id;
     68                  Tcontext_t   context_id   = entry->context_id  ;
     69
    6170                  rob_state_t  state = entry->state;
    6271                 
     
    7382                            );
    7483                 
    75                   can_continue &= ((state == ROB_STORE_OK          ) or
    76                                    (state == ROB_STORE_OK_WAIT_END ) or
    77                                    (state == ROB_END_OK_SPECULATIVE) or
    78                                    (state == ROB_END_OK            ) or
    79                                    (state == ROB_END               )
     84                  can_continue &= (((state == ROB_STORE_OK          ) or
     85                                    (state == ROB_STORE_OK_WAIT_END ) or
     86                                    (state == ROB_END_OK_SPECULATIVE) or
     87                                    (state == ROB_END_OK            ) or
     88                                    (state == ROB_END               )) and
     89                                   not ((reg_EVENT_STATE [front_end_id][context_id] == COMMIT_EVENT_STATE_NOT_YET_EVENT) and
     90                                        (reg_EVENT_PACKET[front_end_id][context_id] == num_packet)) and
     91                                   not ((reg_EVENT_NB_INST [front_end_id][context_id] > 0) and
     92                                        ((++event_nb_inst [front_end_id][context_id]) >= reg_EVENT_NB_INST [front_end_id][context_id]))
    8093                                   );
    8194
Note: See TracChangeset for help on using the changeset viewer.