Ignore:
Timestamp:
Jun 8, 2009, 10:43:30 PM (15 years ago)
Author:
rosiere
Message:

1) Fix performance
2) add auto generation to SPECINT2000
3) add reset in genMoore and genMealy

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp

    r88 r123  
    3838    log_printf(FUNC,Ifetch_queue,FUNCTION,"Begin");
    3939
    40 #if DEBUG_Ifetch_queue == true
    41     log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Parameters"),_name.c_str());
     40// #if DEBUG_Ifetch_queue == true
     41//     log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Parameters"),_name.c_str());
    4242
    43     std::cout << *param << std::endl;
    44 #endif   
     43//     std::cout << *param << std::endl;
     44// #endif   
    4545
    4646    log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Allocation"),_name.c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_deallocation.cpp

    r112 r123  
    3636        DELETE0_SIGNAL( in_ADDRESS_BRANCH_UPDATE_PREDICTION_ID,_param->_size_depth          );
    3737        DELETE0_SIGNAL(out_ADDRESS_IFETCH_QUEUE_ID            ,_param->_size_ifetch_queue_ptr);
    38         DELETE1_SIGNAL( in_ADDRESS_INSTRUCTION_ENABLE         ,1,_param->_nb_instruction);
     38        DELETE1_SIGNAL( in_ADDRESS_INSTRUCTION_ENABLE         ,_param->_nb_instruction,1);
    3939     
    40         DELETE1_SIGNAL(out_DECOD_VAL                        ,1,_param->_nb_instruction);
    41         DELETE1_SIGNAL( in_DECOD_ACK                        ,1,_param->_nb_instruction);
    42         DELETE1_SIGNAL(out_DECOD_INSTRUCTION                ,_param->_size_instruction,_param->_nb_instruction);
     40        DELETE1_SIGNAL(out_DECOD_VAL                        ,_param->_nb_instruction,1);
     41        DELETE1_SIGNAL( in_DECOD_ACK                        ,_param->_nb_instruction,1);
     42        DELETE1_SIGNAL(out_DECOD_INSTRUCTION                ,_param->_nb_instruction,_param->_size_instruction);
    4343        DELETE0_SIGNAL(out_DECOD_ADDRESS                    ,_param->_size_instruction_address);
    4444        DELETE0_SIGNAL(out_DECOD_INST_IFETCH_PTR            ,_param->_size_inst_ifetch_ptr );
     
    5151        DELETE0_SIGNAL( in_ICACHE_RSP_PACKET_ID  ,_param->_size_ifetch_queue_ptr);
    5252        DELETE0_SIGNAL( in_ICACHE_RSP_ERROR      ,_param->_size_icache_error);
    53         DELETE1_SIGNAL( in_ICACHE_RSP_INSTRUCTION,_param->_size_instruction,_param->_nb_instruction);
     53        DELETE1_SIGNAL( in_ICACHE_RSP_INSTRUCTION,_param->_nb_instruction,_param->_size_instruction);
    5454
    5555        DELETE0_SIGNAL( in_EVENT_RESET_VAL,1);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_genMoore.cpp

    r119 r123  
    2323    log_printf(FUNC,Ifetch_queue,FUNCTION,"Begin");
    2424
     25    if (PORT_READ(in_NRESET))
     26      {
    2527    // ==========================================================
    2628    // =====[ ADDRESS ]==========================================
     
    2931      internal_ADDRESS_ACK = (_queue[reg_PTR_WRITE]->_state == IFETCH_QUEUE_STATE_EMPTY);
    3032     
    31       PORT_WRITE(out_ADDRESS_ACK            , internal_ADDRESS_ACK);
    3233      if (_param->_have_port_ifetch_queue_ptr)
    3334      PORT_WRITE(out_ADDRESS_IFETCH_QUEUE_ID, reg_PTR_WRITE);
     
    4344        {
    4445          internal_DECOD_VAL [i] = ack and _queue[reg_PTR_READ]->_instruction_enable [i];
    45           PORT_WRITE(out_DECOD_VAL         [i], internal_DECOD_VAL [i]);
    4646          PORT_WRITE(out_DECOD_INSTRUCTION [i],         _queue[reg_PTR_READ]->_instruction        [i]);
    4747        }
     
    5555      PORT_WRITE(out_DECOD_EXCEPTION                  , _queue[reg_PTR_READ]->_exception                  );
    5656    }
     57      }
     58    else
     59      {
     60        // Reset
     61        internal_ADDRESS_ACK = 0;
     62        for (uint32_t i=0; i<_param->_nb_instruction; i++)
     63          internal_DECOD_VAL [i] = 0;
     64       
     65      }
     66
     67    // Write Output
     68    PORT_WRITE(out_ADDRESS_ACK  , internal_ADDRESS_ACK);
     69    for (uint32_t i=0; i<_param->_nb_instruction; i++)
     70    PORT_WRITE(out_DECOD_VAL [i], internal_DECOD_VAL [i]);
    5771
    5872    log_printf(FUNC,Ifetch_queue,FUNCTION,"End");
Note: See TracChangeset for help on using the changeset viewer.