Ignore:
Timestamp:
Feb 19, 2009, 5:31:47 PM (15 years ago)
Author:
rosiere
Message:

1) OOO_egine : add stat to depiste low perf source
2) Commit : add stat
3) LSU_Pointer : retire - always ack (else combinatory loop). insert - max nb_inst_memory
4) TopLevel? : add debug_idle_time to stop combinatory loop.
5) Issue_queue : add reexecute_queue, new implementation (routage after issue_queue)
6) Decod / Predictor : add "can_continue"

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/src
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Simulation.cpp

    r88 r110  
    1313namespace behavioural          {
    1414
    15   static bool            simulation_initialized;
    16 //   static uint32_t       _simulation_num_context_next;
    17   double                _simulation_nb_cycle;
    18 //   double                _simulation_nb_instruction;
    19 //   std::vector<double> * _simulation_nb_instruction_commited;
    20 
    21 //   Simulation::Simulation (void):
    22 //     _num_context (_simulation_num_context_next)
    23 //   {
    24 //     // Test if is first context create
    25 //     if (_simulation_num_context_next == 0)
    26 //       _simulation_nb_instruction_commited = new std::vector<double>;
    27 
    28 //     _simulation_num_context_next ++;
    29 //   }
    30  
    31 //   Simulation::~Simulation (void)
    32 //   {
    33 //     _simulation_num_context_next --;
    34    
    35 //     // Test if is last context destroy
    36 //     if (_simulation_num_context_next == 0)
    37 //       delete _simulation_nb_instruction_commited;
    38 //   }
     15  static bool          simulation_initialized;
     16  double              _simulation_nb_cycle;
     17  double              _simulation_nb_instruction;
     18  std::vector<double> _simulation_nb_instruction_commited;
    3919
    4020  void simulation_init (double nb_cycle,
     
    4323    if (not simulation_initialized)
    4424      {
    45 //         _simulation_num_context_next = 0;
    46         _simulation_nb_cycle         = nb_cycle       ;
    47 //         _simulation_nb_instruction   = nb_instruction;
     25        _simulation_nb_cycle                = nb_cycle;
     26        _simulation_nb_instruction          = nb_instruction;
     27//      _simulation_nb_instruction_commited = new std::vector<double>;
    4828
    49         if (nb_instruction != 0)
    50           throw ERRORMORPHEO("simulation_init",_("Stop Condition on number instruction is not yet implemented"));
    51        
    5229        simulation_initialized = true;
    5330      }
     
    5936          _simulation_nb_cycle = nb_cycle;
    6037
    61 //         if (_simulation_nb_instruction < nb_instruction)
    62 //           _simulation_nb_instruction = nb_instruction;
     38        if (_simulation_nb_instruction < nb_instruction)
     39          _simulation_nb_instruction = nb_instruction;
    6340      }
    6441  }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Simulation_test_end.cpp

    r88 r110  
    1717
    1818    // Test if a stop condition is activate
    19     if ((_simulation_nb_cycle == 0)// and
    20 //         (_simulation_nb_instruction == 0)
     19    if ((_simulation_nb_cycle == 0) and
     20        (_simulation_nb_instruction == 0)
    2121        )
    2222      return false;
    2323
    24     bool end_cycle = true;
    25 //     bool end_inst  = true;
     24    bool end_cycle;
     25    bool end_inst ;
    2626
    2727    if (_simulation_nb_cycle != 0)
    2828      end_cycle = (_simulation_nb_cycle <= sc_simulation_time());
     29    else
     30      end_cycle = true;
    2931
    30 //     if (_simulation_nb_instruction != 0)
    31 //       {
    32 //         std::vector<double>::iterator it=_simulation_nb_instruction_commited->begin();
     32    if (_simulation_nb_instruction != 0)
     33      {
     34        end_inst = true;
     35
     36        std::vector<double>::iterator it=_simulation_nb_instruction_commited.begin();
    3337       
    34 //         // Scan all context and test if all can finish
    35 //         while (end_inst and it!=_simulation_nb_instruction_commited->end())
    36 //           {
    37 //             end_inst &= (*it <= _simulation_nb_instruction);
    38 //             it ++;
    39 //           }
    40 //       }
     38        // Scan all context and test if all can finish
     39        while (end_inst and it!=_simulation_nb_instruction_commited.end())
     40          {
     41            end_inst &= (_simulation_nb_instruction <= *it);
     42            it ++;
     43          }
     44      }
     45    else
     46      end_inst = true;
    4147   
    42     return end_cycle // and end_inst
    43       ;
     48    return end_cycle and end_inst;
    4449  }
    4550
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_alloc_operand.cpp

    r81 r110  
    44namespace morpheo {
    55namespace behavioural {
     6
     7#undef FUNCTION
     8#define FUNCTION "Stat::alloc_operand"
    69  counter_t * Stat::alloc_operand (counter_type_t type, std::string varname, std::string unit, std::string description)
    710  {
    811    if (not is_valid_var (varname))
    9       throw(ERRORMORPHEO("Stat::alloc_operand",_("Variable is not valid.")));
     12      throw(ERRORMORPHEO(FUNCTION,toString(_("<%s> : Variable \"%s\" is not valid."),_name_instance.c_str(),varname.c_str())));
    1013
    1114    counter_t * counter = new counter_t;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_create_expr.cpp

    r85 r110  
    55namespace behavioural {
    66
     7#undef  FUNCTION
     8#define FUNCTION "Stat::create_expr"
    79  void Stat::create_expr (std::string varname,
    810                          std::string expr,
     
    1012  {
    1113    if (is_valid_var (varname))
    12       throw(ERRORMORPHEO("Stat::create_expr",_("Variable is not valid.")));
     14      throw(ERRORMORPHEO(FUNCTION,toString(_("<%s> Variable \"%s\" is not valid."),_name_instance.c_str(),varname.c_str())));
    1315   
    1416    expr_t expression;
Note: See TracChangeset for help on using the changeset viewer.