Ignore:
Timestamp:
Oct 20, 2009, 8:52:15 PM (15 years ago)
Author:
rosiere
Message:

1) Add new algo in ifetch queue
2) Add Cancel bit
3) new config

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp

    r122 r136  
    6262      ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_OPERATION             ,"operation"            ,Toperation_t      , _param->_size_operation    );
    6363      ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_TYPE                  ,"type"                 ,Ttype_t           , _param->_size_type         );
     64      ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_CANCEL                ,"cancel"               ,Tcontrol_t        , 1);
    6465      ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE ,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue_ptr);
    6566      ALLOC0_SIGNAL_IN ( in_EXECUTE_IN_STORE_QUEUE_PTR_READ  ,"store_queue_ptr_read" ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr);
     
    9091     //ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_OPERATION      ,"operation"    ,Toperation_t      ,_param->_size_operation    );
    9192     //ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_TYPE           ,"type"         ,Ttype_t           ,_param->_size_type         );
     93       ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_CANCEL         ,"cancel"       ,Tcontrol_t        ,1);
    9294       ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_WRITE_RD       ,"write_rd"     ,Tcontrol_t        ,1);
    9395       ALLOC0_SIGNAL_OUT(out_EXECUTE_OUT_NUM_REG_RD     ,"num_reg_rd"   ,Tgeneral_address_t,_param->_size_general_register);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_deallocation.cpp

    r128 r136  
    3838        DELETE0_SIGNAL( in_EXECUTE_IN_OPERATION             ,_param->_size_operation    );
    3939        DELETE0_SIGNAL( in_EXECUTE_IN_TYPE                  ,_param->_size_type         );
     40        DELETE0_SIGNAL( in_EXECUTE_IN_CANCEL                ,1);
    4041        DELETE0_SIGNAL( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE ,_param->_size_store_queue_ptr);
    4142        DELETE0_SIGNAL( in_EXECUTE_IN_STORE_QUEUE_PTR_READ  ,_param->_size_store_queue_ptr);
     
    6061      //DELETE0_SIGNAL(out_EXECUTE_OUT_OPERATION      ,_param->_size_operation    );
    6162      //DELETE0_SIGNAL(out_EXECUTE_OUT_TYPE           ,_param->_size_type         );
     63        DELETE0_SIGNAL(out_EXECUTE_OUT_CANCEL         ,1);
    6264        DELETE0_SIGNAL(out_EXECUTE_OUT_WRITE_RD       ,1);
    6365        DELETE0_SIGNAL(out_EXECUTE_OUT_NUM_REG_RD     ,_param->_size_general_register);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMoore.cpp

    r123 r136  
    3838  //  PORT_WRITE(out_EXECUTE_OUT_OPERATION    ,_execute_operation_out->_operation    );
    3939  //  PORT_WRITE(out_EXECUTE_OUT_TYPE         ,_execute_operation_out->_type         );
     40      PORT_WRITE(out_EXECUTE_OUT_CANCEL       ,_execute_operation_out->_cancel       );
    4041      PORT_WRITE(out_EXECUTE_OUT_WRITE_RD     ,_execute_operation_out->_write_rd     );
    4142      PORT_WRITE(out_EXECUTE_OUT_NUM_REG_RD   ,_execute_operation_out->_num_reg_rd   );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp

    r134 r136  
    5555  //    _execute_operation_out->_operation     = 0; // not necessary
    5656  //    _execute_operation_out->_type          = 0; // not necessary
     57        _execute_operation_out->_cancel        = 0; // not necessary
    5758        _execute_operation_out->_write_rd      = 0; // not necessary
    5859        _execute_operation_out->_num_reg_rd    = 0; // not necessary
     
    8889            _execute_operation_out->_operation     = _execute_operation_in->_operation    ;
    8990            _execute_operation_out->_type          = _execute_operation_in->_type         ;
     91            _execute_operation_out->_cancel        = _execute_operation_in->_cancel       ;
    9092            _execute_operation_out->_has_immediat  = _execute_operation_in->_has_immediat ;
    9193            _execute_operation_out->_immediat      = _execute_operation_in->_immediat     ;
     
    130132            Toperation_t operation     = PORT_READ(in_EXECUTE_IN_OPERATION);
    131133            Ttype_t      type          = PORT_READ(in_EXECUTE_IN_TYPE);
     134            Tcontrol_t   cancel        = PORT_READ(in_EXECUTE_IN_CANCEL);
    132135
    133136            execute_operation->_context_id    = context_id   ;
     
    137140            execute_operation->_operation     = operation    ;
    138141            execute_operation->_type          = type         ;
     142            execute_operation->_cancel        = cancel       ;
    139143            execute_operation->_has_immediat  = PORT_READ(in_EXECUTE_IN_HAS_IMMEDIAT);
    140144            execute_operation->_immediat      = PORT_READ(in_EXECUTE_IN_IMMEDIAT    );
     
    158162            log_printf(TRACE,Functionnal_unit,FUNCTION,"    * operation     : %d",execute_operation->_operation    );
    159163            log_printf(TRACE,Functionnal_unit,FUNCTION,"    * type          : %s",toString(execute_operation->_type).c_str());
     164            log_printf(TRACE,Functionnal_unit,FUNCTION,"    * cancel        : %d",execute_operation->_cancel       );
    160165            log_printf(TRACE,Functionnal_unit,FUNCTION,"    * has_immediat  : %d",execute_operation->_has_immediat );
    161166            log_printf(TRACE,Functionnal_unit,FUNCTION,"    * immediat      : %.8x",execute_operation->_immediat     );
Note: See TracChangeset for help on using the changeset viewer.