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

File:
1 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_transition.cpp

    r73 r76  
    6262            reg_BUSY = true;
    6363
    64             Tcontext_t context_id    = (_param->_have_port_context_id   )?PORT_READ(in_EXECUTE_IN_CONTEXT_ID   ):0;
    65             Tcontext_t front_end_id  = (_param->_have_port_front_end_id )?PORT_READ(in_EXECUTE_IN_FRONT_END_ID ):0;
    66             Tcontext_t ooo_engine_id = (_param->_have_port_ooo_engine_id)?PORT_READ(in_EXECUTE_IN_OOO_ENGINE_ID):0;
    67             Tcontext_t packet_id     = (_param->_have_port_packet_id    )?PORT_READ(in_EXECUTE_IN_PACKET_ID    ):0;
    68             Toperation_t operation = PORT_READ(in_EXECUTE_IN_OPERATION);
    69 
     64            Tcontext_t   context_id    = (_param->_have_port_context_id   )?PORT_READ(in_EXECUTE_IN_CONTEXT_ID   ):0;
     65            Tcontext_t   front_end_id  = (_param->_have_port_front_end_id )?PORT_READ(in_EXECUTE_IN_FRONT_END_ID ):0;
     66            Tcontext_t   ooo_engine_id = (_param->_have_port_ooo_engine_id)?PORT_READ(in_EXECUTE_IN_OOO_ENGINE_ID):0;
     67            Tcontext_t   packet_id     = (_param->_have_port_packet_id    )?PORT_READ(in_EXECUTE_IN_PACKET_ID    ):0;
     68            Toperation_t operation     = PORT_READ(in_EXECUTE_IN_OPERATION);
     69            Ttype_t      type          = PORT_READ(in_EXECUTE_IN_TYPE);
     70           
    7071            _execute_operation->_context_id    = context_id   ;
    7172            _execute_operation->_front_end_id  = front_end_id ;
     
    7374            _execute_operation->_packet_id     = packet_id    ;
    7475            _execute_operation->_operation     = operation    ;
    75             _execute_operation->_type          = PORT_READ(in_EXECUTE_IN_TYPE        );
     76            _execute_operation->_type          = type         ;
    7677            _execute_operation->_has_immediat  = PORT_READ(in_EXECUTE_IN_HAS_IMMEDIAT);
    7778            _execute_operation->_immediat      = PORT_READ(in_EXECUTE_IN_IMMEDIAT    );
     
    9394
    9495            // Test if operation is a custom
    95             if ((operation == OPERATION_CUSTOM_L_1) or
    96                 (operation == OPERATION_CUSTOM_L_2) or
    97                 (operation == OPERATION_CUSTOM_L_3) or
    98                 (operation == OPERATION_CUSTOM_L_4) or
    99                 (operation == OPERATION_CUSTOM_L_5) or
    100                 (operation == OPERATION_CUSTOM_L_6) or
    101                 (operation == OPERATION_CUSTOM_L_7) or
    102                 (operation == OPERATION_CUSTOM_L_8))
     96            if (type == TYPE_CUSTOM)
    10397              {
    10498                uint32_t num_thread = get_num_thread(context_id   ,_param->_size_context_id,
     
    109103              }
    110104            else
    111               (*(_function_execute[operation])) (_execute_operation, execute_register, _execute_param);
     105              (*(_function_execute[type][operation])) (_execute_operation, execute_register, _execute_param);
    112106
    113107
Note: See TracChangeset for help on using the changeset viewer.