Ignore:
Timestamp:
May 21, 2009, 12:01:32 AM (15 years ago)
Author:
rosiere
Message:

1) Stat List : scan all queue to find free register
2) Write_queue : test "genMealy" add bypass [0]
3) Functionnal_unit : add const parameters to add or not the pipeline_in
4) Load Store Unit : if load make an exception, free nb_check
5) Debug, change test to add model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp

    r98 r118  
    6060      log_printf(TRACE,Reservation_station,FUNCTION,"    * nb_elt : %d",_queue_control->nb_elt()); \
    6161      for (uint32_t it_dump=0;it_dump<_param->_size_queue; it_dump++)   \
    62         log_printf(TRACE,Reservation_station,FUNCTION,"    * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d, %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", \
    63                    (*_queue_control)[it_dump],                          \
    64                    _queue[(*_queue_control)[it_dump]]._context_id           , \
    65                    _queue[(*_queue_control)[it_dump]]._front_end_id         , \
    66                    _queue[(*_queue_control)[it_dump]]._ooo_engine_id        , \
    67                    _queue[(*_queue_control)[it_dump]]._rob_id               , \
    68                    _queue[(*_queue_control)[it_dump]]._type                 , \
    69                    _queue[(*_queue_control)[it_dump]]._operation            , \
    70                    _queue[(*_queue_control)[it_dump]]._store_queue_ptr_write, \
    71                    _queue[(*_queue_control)[it_dump]]._load_queue_ptr_write , \
    72                    _queue[(*_queue_control)[it_dump]]._has_immediat         , \
    73                    _queue[(*_queue_control)[it_dump]]._immediat             , \
    74                    _queue[(*_queue_control)[it_dump]]._num_reg_ra           , \
    75                    _queue[(*_queue_control)[it_dump]]._data_ra_val          , \
    76                    _queue[(*_queue_control)[it_dump]]._data_ra              , \
    77                    _queue[(*_queue_control)[it_dump]]._num_reg_rb           , \
    78                    _queue[(*_queue_control)[it_dump]]._data_rb_val          , \
    79                    _queue[(*_queue_control)[it_dump]]._data_rb              , \
    80                    _queue[(*_queue_control)[it_dump]]._num_reg_rc           , \
    81                    _queue[(*_queue_control)[it_dump]]._data_rc_val          , \
    82                    _queue[(*_queue_control)[it_dump]]._data_rc              , \
    83                    _queue[(*_queue_control)[it_dump]]._write_rd             , \
    84                    _queue[(*_queue_control)[it_dump]]._num_reg_rd           , \
    85                    _queue[(*_queue_control)[it_dump]]._write_re             , \
    86                    _queue[(*_queue_control)[it_dump]]._num_reg_re           , \
    87                    toString(_queue[(*_queue_control)[it_dump]]._type).c_str());       \
     62        if (it_dump < _queue_control->nb_elt())                         \
     63          log_printf(TRACE,Reservation_station,FUNCTION,"    * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d, %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.8x, %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", \
     64                     (*_queue_control)[it_dump],                        \
     65                     _queue[(*_queue_control)[it_dump]]._context_id           , \
     66                     _queue[(*_queue_control)[it_dump]]._front_end_id         , \
     67                     _queue[(*_queue_control)[it_dump]]._ooo_engine_id        , \
     68                     _queue[(*_queue_control)[it_dump]]._rob_id               , \
     69                     _queue[(*_queue_control)[it_dump]]._type                 , \
     70                     _queue[(*_queue_control)[it_dump]]._operation            , \
     71                     _queue[(*_queue_control)[it_dump]]._store_queue_ptr_write, \
     72                     _queue[(*_queue_control)[it_dump]]._load_queue_ptr_write , \
     73                     _queue[(*_queue_control)[it_dump]]._has_immediat         , \
     74                     _queue[(*_queue_control)[it_dump]]._immediat             , \
     75                     _queue[(*_queue_control)[it_dump]]._num_reg_ra           , \
     76                     _queue[(*_queue_control)[it_dump]]._data_ra_val          , \
     77                     _queue[(*_queue_control)[it_dump]]._data_ra              , \
     78                     _queue[(*_queue_control)[it_dump]]._num_reg_rb           , \
     79                     _queue[(*_queue_control)[it_dump]]._data_rb_val          , \
     80                     _queue[(*_queue_control)[it_dump]]._data_rb              , \
     81                     _queue[(*_queue_control)[it_dump]]._num_reg_rc           , \
     82                     _queue[(*_queue_control)[it_dump]]._data_rc_val          , \
     83                     _queue[(*_queue_control)[it_dump]]._data_rc              , \
     84                     _queue[(*_queue_control)[it_dump]]._write_rd             , \
     85                     _queue[(*_queue_control)[it_dump]]._num_reg_rd           , \
     86                     _queue[(*_queue_control)[it_dump]]._write_re             , \
     87                     _queue[(*_queue_control)[it_dump]]._num_reg_re           , \
     88                     toString(_queue[(*_queue_control)[it_dump]]._type).c_str()); \
     89        else                                                            \
     90          log_printf(TRACE,Reservation_station,FUNCTION,"    * [%.4d]", \
     91                     (*_queue_control)[it_dump]);                       \
    8892    } while (0)
    8993#endif
Note: See TracChangeset for help on using the changeset viewer.