Ignore:
Timestamp:
Jul 30, 2010, 4:47:27 PM (14 years ago)
Author:
rosiere
Message:
  • Add test for all configuration
  • RAT : add rat scheme (depth_save)
Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_allocation.cpp

    r137 r139  
    9090      ALLOC1_SIGNAL_OUT(out_DECOD_NO_EXECUTE   ,"no_execute"   ,Tcontrol_t        ,1                                   );
    9191      ALLOC1_SIGNAL_OUT(out_DECOD_IS_DELAY_SLOT,"is_delay_slot",Tcontrol_t        ,1                                   );
     92      ALLOC1_SIGNAL_OUT(out_DECOD_SAVE_RAT     ,"save_rat"     ,Tcontrol_t        ,1                                   );
    9293#ifdef DEBUG
    9394      ALLOC1_SIGNAL_OUT(out_DECOD_ADDRESS      ,"address"      ,Tgeneral_data_t   ,_param->_size_instruction_address   );
     
    165166    ALLOC1(reg_CONTEXT_ADDRESS_PREVIOUS      ,Tgeneral_data_t,_param->_nb_context);
    166167    ALLOC1(reg_CONTEXT_IS_DELAY_SLOT         ,Tcontrol_t     ,_param->_nb_context);
     168//  ALLOC1(reg_CONTEXT_SAVE_RAT              ,Tcontrol_t     ,_param->_nb_context);
    167169
    168170    ALLOC1(internal_CONTEXT_HAVE_TRANSACTION ,Tcontrol_t     ,_param->_nb_context);
    169171    ALLOC1(internal_CONTEXT_ADDRESS_PREVIOUS ,Tgeneral_data_t,_param->_nb_context);
    170172    ALLOC1(internal_CONTEXT_IS_DELAY_SLOT    ,Tcontrol_t     ,_param->_nb_context);
     173//  ALLOC1(internal_CONTEXT_SAVE_RAT         ,Tcontrol_t     ,_param->_nb_context);
    171174
    172175#ifdef STATISTICS
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_deallocation.cpp

    r137 r139  
    5151        DELETE1_SIGNAL(out_DECOD_NO_EXECUTE   ,_param->_nb_inst_decod,1                                   );
    5252        DELETE1_SIGNAL(out_DECOD_IS_DELAY_SLOT,_param->_nb_inst_decod,1                                   );
     53        DELETE1_SIGNAL(out_DECOD_SAVE_RAT     ,_param->_nb_inst_decod,1                                   );
    5354#ifdef DEBUG
    5455        DELETE1_SIGNAL(out_DECOD_ADDRESS      ,_param->_nb_inst_decod,_param->_size_instruction_address   );
     
    99100        DELETE1(reg_CONTEXT_ADDRESS_PREVIOUS      ,_param->_nb_context);
    100101        DELETE1(reg_CONTEXT_IS_DELAY_SLOT         ,_param->_nb_context);
     102//      DELETE1(reg_CONTEXT_SAVE_RAT              ,_param->_nb_context);
     103
    101104        DELETE1(internal_CONTEXT_HAVE_TRANSACTION ,_param->_nb_context);
    102105        DELETE1(internal_CONTEXT_ADDRESS_PREVIOUS ,_param->_nb_context);
    103106        DELETE1(internal_CONTEXT_IS_DELAY_SLOT    ,_param->_nb_context);
     107//      DELETE1(internal_CONTEXT_SAVE_RAT         ,_param->_nb_context);
    104108
    105109#ifdef STATISTICS
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp

    r137 r139  
    5959        internal_CONTEXT_ADDRESS_PREVIOUS [i] = reg_CONTEXT_ADDRESS_PREVIOUS [i];
    6060        internal_CONTEXT_IS_DELAY_SLOT    [i] = reg_CONTEXT_IS_DELAY_SLOT    [i];
     61//      internal_CONTEXT_SAVE_RAT         [i] = reg_CONTEXT_SAVE_RAT         [i];
    6162       
    6263        can_continue                      [i] = PORT_READ(in_CONTEXT_DECOD_ENABLE [i]);
     
    169170                // Depth current. If have decod a branch and i can continue : depth = depth_next
    170171                Tdepth_t     depth     = (_param->_have_port_depth)?PORT_READ(in_CONTEXT_DEPTH [x]):0;
     172                // Tcontrol_t   save_rat  = internal_CONTEXT_SAVE_RAT [x];
     173                Tcontrol_t   no_execute = _decod_instruction->_no_execute;
    171174
    172175                if ((_param->_nb_branch_speculated[x] > 0) and have_decod_branch [x])
     
    182185                PORT_WRITE(out_DECOD_TYPE          [i], type);
    183186                PORT_WRITE(out_DECOD_OPERATION     [i], _decod_instruction->_operation     );
    184                 PORT_WRITE(out_DECOD_NO_EXECUTE    [i], _decod_instruction->_no_execute    );
     187                PORT_WRITE(out_DECOD_NO_EXECUTE    [i], no_execute);
    185188                PORT_WRITE(out_DECOD_IS_DELAY_SLOT [i], _decod_instruction->_is_delay_slot );
     189                // PORT_WRITE(out_DECOD_SAVE_RAT      [i], save_rat);
     190                PORT_WRITE(out_DECOD_SAVE_RAT      [i], ((type == TYPE_BRANCH) and not no_execute));
    186191#ifdef DEBUG
    187192                PORT_WRITE(out_DECOD_ADDRESS       [i], addr);
     
    288293                    internal_CONTEXT_ADDRESS_PREVIOUS [x] = addr;
    289294                    internal_CONTEXT_IS_DELAY_SLOT    [x] = (type == TYPE_BRANCH); // next is a delay slot if current have branch type
     295                    // internal_CONTEXT_SAVE_RAT         [x] = ((type == TYPE_BRANCH) and not no_execute);
    290296                  }
    291297
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_transition.cpp

    r88 r139  
    3232            reg_CONTEXT_ADDRESS_PREVIOUS [i] = 0xfc; // 0x100-4. (0x100 : reset address)
    3333            reg_CONTEXT_IS_DELAY_SLOT    [i] = 0;
     34            // reg_CONTEXT_SAVE_RAT         [i] = 0;
    3435          }
    3536      }
     
    4445              reg_CONTEXT_ADDRESS_PREVIOUS [i] = internal_CONTEXT_ADDRESS_PREVIOUS [i];
    4546              reg_CONTEXT_IS_DELAY_SLOT    [i] = internal_CONTEXT_IS_DELAY_SLOT    [i];
     47              // reg_CONTEXT_SAVE_RAT         [i] = internal_CONTEXT_SAVE_RAT         [i];
    4648            }
    4749
Note: See TracChangeset for help on using the changeset viewer.