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_write.cpp

    r60 r61  
    2727    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    2828      {
    29         Tcontext_t ooo_engine_id;
    30         if (_param->_have_port_ooo_engine_id == true)
    31           ooo_engine_id = PORT_READ(in_SPR_WRITE_OOO_ENGINE_ID        [j]);
    32         else
    33           ooo_engine_id = 0;
    34 
     29        Tcontext_t ooo_engine_id    = (_param->_have_port_ooo_engine_id == true)?PORT_READ(in_SPR_WRITE_OOO_ENGINE_ID[j]):0;
    3530        Tcontrol_t registerfile_ack = PORT_READ(in_SPR_WRITE_REGISTERFILE_ACK [ooo_engine_id][j]);
    3631        Tcontrol_t status_ack       = PORT_READ(in_SPR_WRITE_STATUS_ACK       [ooo_engine_id][j]);
    3732
    3833        // multiplexor
    39         PORT_WRITE(out_SPR_WRITE_ACK      [j],registerfile_ack and status_ack);
    40 
    41         for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    42           {
    43             Tcontrol_t registerfile_val;
    44             Tcontrol_t status_val;
    45             if (i == ooo_engine_id)
    46               {
    47                 registerfile_val = PORT_READ(in_SPR_WRITE_VAL [j]);
    48                 status_val       = PORT_READ(in_SPR_WRITE_VAL [j]);
    49               }
    50             else
    51               {
    52                 registerfile_val = 0;
    53                 status_val       = 0;
    54               }
    55            
    56             PORT_WRITE(out_SPR_WRITE_REGISTERFILE_VAL  [i][j], registerfile_val and status_ack      );
    57             PORT_WRITE(out_SPR_WRITE_STATUS_VAL        [i][j], status_val       and registerfile_ack);
    58           }
     34        PORT_WRITE(out_SPR_WRITE_ACK [j],registerfile_ack and status_ack);
    5935      }
    6036
Note: See TracChangeset for help on using the changeset viewer.