Ignore:
Timestamp:
Dec 4, 2007, 1:26:55 PM (17 years ago)
Author:
rosiere
Message:

register_unit_glue : separation des fonctions - evite les cycles dans le graph de dependances des ports i/o

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_read.cpp

    r60 r61  
    2727    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    2828      {
    29         Tcontext_t ooo_engine_id;
    30        
    31         if (_param->_have_port_ooo_engine_id == true)
    32           ooo_engine_id = PORT_READ(in_SPR_READ_OOO_ENGINE_ID        [j]);
    33         else
    34           ooo_engine_id = 0;
    35 
     29        Tcontext_t ooo_engine_id    = (_param->_have_port_ooo_engine_id == true)?PORT_READ(in_SPR_READ_OOO_ENGINE_ID[j]):0;
    3630        Tcontrol_t registerfile_ack = PORT_READ(in_SPR_READ_REGISTERFILE_ACK [ooo_engine_id][j]);
    3731        Tcontrol_t status_ack       = PORT_READ(in_SPR_READ_STATUS_ACK       [ooo_engine_id][j]);
     
    4135        PORT_WRITE(out_SPR_READ_DATA     [j], PORT_READ(in_SPR_READ_REGISTERFILE_DATA[ooo_engine_id][j]));
    4236        PORT_WRITE(out_SPR_READ_DATA_VAL [j], PORT_READ(in_SPR_READ_STATUS_DATA_VAL  [ooo_engine_id][j]));
    43    
    44         for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    45           {
    46             Tcontrol_t registerfile_val;
    47             Tcontrol_t status_val;
    48             if (i == ooo_engine_id)
    49               {
    50                 registerfile_val = PORT_READ(in_SPR_READ_VAL [j]);
    51                 status_val       = PORT_READ(in_SPR_READ_VAL [j]);
    52               }
    53             else
    54               {
    55                 registerfile_val = 0;
    56                 status_val       = 0;
    57               }
    58            
    59             PORT_WRITE(out_SPR_READ_REGISTERFILE_VAL  [i][j], registerfile_val and status_ack      );
    60             PORT_WRITE(out_SPR_READ_STATUS_VAL        [i][j], status_val       and registerfile_ack);
    61           }
    6237      }
    6338
Note: See TracChangeset for help on using the changeset viewer.