Ignore:
Timestamp:
Feb 2, 2008, 12:39:01 PM (16 years ago)
Author:
rosiere
Message:

Add new component : Read_unit (no tested)
Change functionnal_unit : now use type and operation to execute the good function
Change New_Component's script

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src
Files:
6 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/Parameters.cpp

    r69 r76  
    3535                          uint32_t nb_spr_write       ,
    3636                          uint32_t nb_bypass_write    ,
    37                           uint32_t nb_bypass_memory   ):
     37                          uint32_t nb_bypass_memory   ,
     38                          uint32_t size_store_queue   ,
     39                          uint32_t size_load_queue    ):
    3840    _size_queue            (size_queue           ),
    3941    _nb_inst_retire        (nb_inst_retire       ),
     
    5254    _nb_bypass_write       (nb_bypass_write      ),
    5355    _nb_bypass_memory      (nb_bypass_memory     ),
     56    _size_store_queue      (size_store_queue     ),
     57    _size_load_queue       (size_load_queue      ),
    5458
    5559    _size_context_id       (static_cast<uint32_t>(log2(_nb_context         ))),
     
    9195    _nb_bypass_write       (param._nb_bypass_write       ),
    9296    _nb_bypass_memory      (param._nb_bypass_memory      ),
     97    _size_store_queue      (param._size_store_queue      ),
     98    _size_load_queue       (param._size_load_queue       ),
    9399
    94100    _size_context_id       (param._size_context_id       ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp

    r75 r76  
    4444    xml.singleton_begin("nb_bypass_write    "); xml.attribut("value",toString(_nb_bypass_write    )); xml.singleton_end();
    4545    xml.singleton_begin("nb_bypass_memory   "); xml.attribut("value",toString(_nb_bypass_memory   )); xml.singleton_end();
     46    xml.singleton_begin("size_store_queue   "); xml.attribut("value",toString(_size_store_queue   )); xml.singleton_end();
     47    xml.singleton_begin("size_load_queue    "); xml.attribut("value",toString(_size_load_queue    )); xml.singleton_end();
    4648    xml.balise_close();
    4749
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp

    r75 r76  
    7272       in_INSERT_OPERATION      = interface->set_signal_in <Toperation_t      > ("operation"      ,_param->_size_operation        );
    7373       in_INSERT_TYPE           = interface->set_signal_in <Ttype_t           > ("type"           ,_param->_size_type             );
     74       in_INSERT_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue));
     75       in_INSERT_LOAD_QUEUE_PTR_WRITE  = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write"  ,log2(_param->_size_load_queue) );
    7476       in_INSERT_HAS_IMMEDIAT   = interface->set_signal_in <Tcontrol_t        > ("has_immediat"   ,1                             );
    7577       in_INSERT_IMMEDIAT       = interface->set_signal_in <Tgeneral_data_t   > ("immediat"       ,_param->_size_general_data     );
     
    105107    out_RETIRE_OPERATION      = new SC_OUT(Toperation_t      ) * [_param->_nb_inst_retire];
    106108    out_RETIRE_TYPE           = new SC_OUT(Ttype_t           ) * [_param->_nb_inst_retire];
     109    out_RETIRE_STORE_QUEUE_PTR_WRITE = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire];
     110    out_RETIRE_LOAD_QUEUE_PTR_WRITE  = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire];
    107111    out_RETIRE_HAS_IMMEDIAT   = new SC_OUT(Tcontrol_t        ) * [_param->_nb_inst_retire];
    108112    out_RETIRE_IMMEDIAT       = new SC_OUT(Tgeneral_data_t   ) * [_param->_nb_inst_retire];
     
    136140        out_RETIRE_OPERATION    [i] = interface->set_signal_out<Toperation_t      > ("operation"    ,_param->_size_operation);
    137141        out_RETIRE_TYPE         [i] = interface->set_signal_out<Ttype_t           > ("type"         ,_param->_size_type);
     142        out_RETIRE_STORE_QUEUE_PTR_WRITE [i] = interface->set_signal_out<Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue));
     143        out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i] = interface->set_signal_out<Tlsq_ptr_t> ("load_queue_ptr_write"  ,log2(_param->_size_load_queue) );
     144
    138145        out_RETIRE_HAS_IMMEDIAT [i] = interface->set_signal_out<Tcontrol_t        > ("has_immediat" ,1);
    139146        out_RETIRE_IMMEDIAT     [i] = interface->set_signal_out<Tgeneral_data_t   > ("immediat"     ,_param->_size_general_data);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp

    r69 r76  
    4343    delete     in_INSERT_OPERATION     ;
    4444    delete     in_INSERT_TYPE          ;
     45    delete     in_INSERT_STORE_QUEUE_PTR_WRITE;
     46    delete     in_INSERT_LOAD_QUEUE_PTR_WRITE ;
    4547    delete     in_INSERT_HAS_IMMEDIAT  ;
    4648    delete     in_INSERT_IMMEDIAT      ;
     
    7476    delete [] out_RETIRE_OPERATION     ;
    7577    delete [] out_RETIRE_TYPE          ;
     78    delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE;
     79    delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ;
    7680    delete [] out_RETIRE_HAS_IMMEDIAT  ;
    7781    delete [] out_RETIRE_IMMEDIAT      ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp

    r70 r76  
    101101            PORT_WRITE(out_RETIRE_OPERATION     [i],_queue[index_find]._operation);
    102102            PORT_WRITE(out_RETIRE_TYPE          [i],_queue[index_find]._type);
     103            PORT_WRITE(out_RETIRE_STORE_QUEUE_PTR_WRITE [i],_queue[index_find]._store_queue_ptr_write);
     104            PORT_WRITE(out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i],_queue[index_find]._load_queue_ptr_write );
    103105            PORT_WRITE(out_RETIRE_HAS_IMMEDIAT  [i],_queue[index_find]._has_immediat);
    104106            PORT_WRITE(out_RETIRE_IMMEDIAT      [i],_queue[index_find]._immediat);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp

    r70 r76  
    258258            _queue[index]._operation       = PORT_READ(in_INSERT_OPERATION      );
    259259            _queue[index]._type            = PORT_READ(in_INSERT_TYPE           );
     260            _queue[index]._store_queue_ptr_write = PORT_READ(in_INSERT_STORE_QUEUE_PTR_WRITE);
     261            _queue[index]._load_queue_ptr_write  = PORT_READ(in_INSERT_LOAD_QUEUE_PTR_WRITE );
    260262            _queue[index]._has_immediat    = PORT_READ(in_INSERT_HAS_IMMEDIAT   );
    261263            _queue[index]._immediat        = PORT_READ(in_INSERT_IMMEDIAT       );
Note: See TracChangeset for help on using the changeset viewer.