Ignore:
Timestamp:
Sep 24, 2007, 2:00:35 PM (17 years ago)
Author:
rosiere
Message:

Ajout SystemC read_queue et reservation_station
Ajout port au bloc registerfile_monolithic (à ajouter également au bloc registerfile et registerfile_multi_banked)
Modif param : passage de pointeur (attention, tous les composants n'ont pas été tous modifier)

File:
1 edited

Legend:

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

    r54 r55  
    170170      }
    171171
    172     // ~~~~~[ Interface : "bypass_gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    173    
    174      in_BYPASS_GPR_WRITE_VAL       = new SC_IN (Tcontrol_t        ) * [_param->_nb_gpr_write];
    175      in_BYPASS_GPR_WRITE_CONTEXT_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_gpr_write];
    176      in_BYPASS_GPR_WRITE_NUM_REG   = new SC_IN (Tgeneral_address_t) * [_param->_nb_gpr_write];
    177      in_BYPASS_GPR_WRITE_DATA      = new SC_IN (Tgeneral_data_t   ) * [_param->_nb_gpr_write];
     172    // ~~~~~[ Interface : "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     173   
     174     in_GPR_WRITE_VAL       = new SC_IN (Tcontrol_t        ) * [_param->_nb_gpr_write];
     175     in_GPR_WRITE_CONTEXT_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_gpr_write];
     176     in_GPR_WRITE_NUM_REG   = new SC_IN (Tgeneral_address_t) * [_param->_nb_gpr_write];
     177     in_GPR_WRITE_DATA      = new SC_IN (Tgeneral_data_t   ) * [_param->_nb_gpr_write];
    178178
    179179    for (uint32_t i=0; i<_param->_nb_gpr_write; i++)
    180180      {
    181         Interface_fifo * interface = _interfaces->set_interface("bypass_gpr_write_"+toString(i)
     181        Interface_fifo * interface = _interfaces->set_interface("gpr_write_"+toString(i)
    182182#ifdef POSITION
    183183                                                                , IN 
     
    187187                                                                );
    188188
    189          in_BYPASS_GPR_WRITE_VAL        [i] = interface->set_signal_valack_in        ("val"    , VAL);
    190          in_BYPASS_GPR_WRITE_CONTEXT_ID [i] = interface->set_signal_in  <Tcontext_t        > ("context_id",_param->_size_context_id);
    191          in_BYPASS_GPR_WRITE_NUM_REG    [i] = interface->set_signal_in  <Tgeneral_address_t> ("num_reg"   ,_param->_size_general_register);
    192          in_BYPASS_GPR_WRITE_DATA       [i] = interface->set_signal_in  <Tgeneral_data_t   > ("data"      ,_param->_size_general_data);
    193       }
    194 
    195     // ~~~~~[ Interface : "bypass_spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    196    
    197      in_BYPASS_SPR_WRITE_VAL       = new SC_IN (Tcontrol_t        ) * [_param->_nb_spr_write];
    198      in_BYPASS_SPR_WRITE_CONTEXT_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_spr_write];
    199      in_BYPASS_SPR_WRITE_NUM_REG   = new SC_IN (Tspecial_address_t) * [_param->_nb_spr_write];
    200      in_BYPASS_SPR_WRITE_DATA      = new SC_IN (Tspecial_data_t   ) * [_param->_nb_spr_write];
     189         in_GPR_WRITE_VAL        [i] = interface->set_signal_valack_in        ("val"    , VAL);
     190         in_GPR_WRITE_CONTEXT_ID [i] = interface->set_signal_in  <Tcontext_t        > ("context_id",_param->_size_context_id);
     191         in_GPR_WRITE_NUM_REG    [i] = interface->set_signal_in  <Tgeneral_address_t> ("num_reg"   ,_param->_size_general_register);
     192         in_GPR_WRITE_DATA       [i] = interface->set_signal_in  <Tgeneral_data_t   > ("data"      ,_param->_size_general_data);
     193      }
     194
     195    // ~~~~~[ Interface : "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     196   
     197     in_SPR_WRITE_VAL       = new SC_IN (Tcontrol_t        ) * [_param->_nb_spr_write];
     198     in_SPR_WRITE_CONTEXT_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_spr_write];
     199     in_SPR_WRITE_NUM_REG   = new SC_IN (Tspecial_address_t) * [_param->_nb_spr_write];
     200     in_SPR_WRITE_DATA      = new SC_IN (Tspecial_data_t   ) * [_param->_nb_spr_write];
    201201
    202202    for (uint32_t i=0; i<_param->_nb_spr_write; i++)
    203203      {
    204         Interface_fifo * interface = _interfaces->set_interface("bypass_spr_write_"+toString(i)
     204        Interface_fifo * interface = _interfaces->set_interface("spr_write_"+toString(i)
    205205#ifdef POSITION
    206206                                                                , IN 
     
    210210                                                                );
    211211
    212          in_BYPASS_SPR_WRITE_VAL        [i] = interface->set_signal_valack_in        ("val"    , VAL);
    213          in_BYPASS_SPR_WRITE_CONTEXT_ID [i] = interface->set_signal_in  <Tcontext_t        > ("context_id",_param->_size_context_id);
    214          in_BYPASS_SPR_WRITE_NUM_REG    [i] = interface->set_signal_in  <Tspecial_address_t> ("num_reg"   ,_param->_size_special_register);
    215          in_BYPASS_SPR_WRITE_DATA       [i] = interface->set_signal_in  <Tspecial_data_t   > ("data"      ,_param->_size_special_data);
     212         in_SPR_WRITE_VAL        [i] = interface->set_signal_valack_in        ("val"    , VAL);
     213         in_SPR_WRITE_CONTEXT_ID [i] = interface->set_signal_in  <Tcontext_t        > ("context_id",_param->_size_context_id);
     214         in_SPR_WRITE_NUM_REG    [i] = interface->set_signal_in  <Tspecial_address_t> ("num_reg"   ,_param->_size_special_register);
     215         in_SPR_WRITE_DATA       [i] = interface->set_signal_in  <Tspecial_data_t   > ("data"      ,_param->_size_special_data);
    216216      }
    217217
Note: See TracChangeset for help on using the changeset viewer.