Ignore:
Timestamp:
May 26, 2009, 9:01:47 PM (15 years ago)
Author:
rosiere
Message:

1) Context_state : Add statistics
2) Add configuration with multi front_end
3) Add optionnal pid at log filename

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/include/Parameters.h

    r88 r120  
    4040  public : bool    *** _table_routing                ; //[nb_execute_unit][nb_execute_unit_port][nb_write_unit]
    4141  public : bool     ** _table_thread                 ; //[nb_write_unit][nb_thread]
     42  public : bool      * _num_thread_valid             ; //[nb_thread]
    4243
    4344  public : uint32_t    _max_nb_execute_unit_port     ;
     
    7172                        bool    *** table_routing                ,
    7273                        bool     ** table_thread                 ,
     74                        bool      * num_thread_valid             , //[nb_thread]
    7375                        bool        is_toplevel=false
    7476                        );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Parameters.cpp

    r97 r120  
    3333                          bool    *** table_routing                ,//[nb_execute_unit][nb_execute_unit_port][nb_write_unit]
    3434                          bool     ** table_thread                 ,//[nb_write_unit][nb_thread]                           
     35                          bool      * num_thread_valid             ,//[nb_thread]
    3536                          bool        is_toplevel                  )
    3637  {
     
    4950    _table_routing           = table_routing       ;
    5051    _table_thread            = table_thread        ;
     52    _num_thread_valid        = num_thread_valid    ;
    5153
    5254    _max_nb_execute_unit_port= max<uint32_t>(_nb_execute_unit_port, _nb_execute_unit);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/include/Parameters.h

    r88 r120  
    4444  public : bool     ** _table_execute_type     ; //[nb_execute_unit][nb_type]
    4545  public : bool     ** _table_execute_thread   ; //[nb_execute_unit][nb_thread]
     46  public : bool      * _num_thread_valid       ; //[nb_thread]
    4647
    4748  public : uint32_t    _max_nb_read_unit_port  ;
     
    8384                        bool     ** table_execute_type     ,
    8485                        bool     ** table_execute_thread   ,
     86                        bool      * num_thread_valid       ,
    8587                        bool        is_toplevel=false      );
    8688//   public : Parameters  (Parameters & param) ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Parameters.cpp

    r109 r120  
    3838                          bool     ** table_execute_type     ,
    3939                          bool     ** table_execute_thread   ,
     40                          bool      * num_thread_valid       ,
    4041                          bool        is_toplevel            )
    4142  {
     
    5657    _table_execute_type      = table_execute_type  ;
    5758    _table_execute_thread    = table_execute_thread;
     59    _num_thread_valid        = num_thread_valid    ;
    5860
    5961    log_printf(TRACE,Read_unit_to_Execution_unit,FUNCTION,"  * table_routing [nb_read_unit][nb_execute_unit][nb_execute_unit_port]");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Parameters_msg_error.cpp

    r109 r120  
    4141    // TYPE_BRANCH  |     X     |            |            |
    4242    // TYPE_MEMORY  |           |            |     X      |
    43    
    4443    bool type_present [_nb_thread][_nb_type];
    4544    for (uint32_t i=0; i<_nb_thread; i++)
     
    4948    for (uint32_t i=0; i<_nb_execute_unit; i++)
    5049      for (uint32_t j=0; j<_nb_thread; j++)
    51         if (_table_execute_thread [i][j] == true)
     50        if (_num_thread_valid [j] and
     51            (_table_execute_thread [i][j] == true))
    5252          // this execute_unit execute this thread !
    5353          for (Ttype_t k=0; k<_nb_type; k++)
     
    6666      if (not is_type_valid(j))
    6767        for (uint32_t i=0; i<_nb_thread; i++)
    68           if (type_present [i][j])
     68          if (_num_thread_valid [j] and
     69              (type_present [i][j]))
    6970            test.error(toString(_("The thread '%d' can execute the type's operation '%s' but this type is invalid.\n"),i,toString(j).c_str()));
    7071
     
    7273      if (is_type_valid(j) and not is_type_optionnal(j))
    7374        for (uint32_t i=0; i<_nb_thread; i++)
    74           if (not type_present [i][j])
     75          if (_num_thread_valid [i] and
     76              (not type_present [i][j]))
    7577            test.error(toString(_("The thread '%d' can't access at the execute_unit to execute the type's operation '%s' (and this type is not optional !).\n"),i,toString(j).c_str()));
    7678           
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/include/Parameters.h

    r115 r120  
    103103  public : uint32_t            * _translate_num_execute_unit                    ; //[nb_execute_unit]
    104104
     105  public : bool                * _num_thread_valid                              ; //[nb_thread]
     106
    105107  public : uint32_t              _nb_execute_unit              ;
    106108  public : uint32_t            * _nb_execute_unit_port         ;
     
    198200                        uint32_t            * translate_num_execute_unit                    ,//[nb_execute_unit]
    199201
     202                        bool                * num_thread_valid                              ,//[nb_thread]
     203
    200204                        bool                  is_toplevel=false
    201205                        );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/src/Parameters.cpp

    r117 r120  
    7373                          bool                * is_load_store_unit                        ,//[nb_execute_unit]
    7474                          uint32_t            * translate_num_execute_unit                ,//[nb_execute_unit]
     75
     76                          bool                * num_thread_valid                          ,//[nb_thread]
    7577                         
    7678                          bool                  is_toplevel
     
    133135    _translate_num_execute_unit                 = translate_num_execute_unit;
    134136
     137    _num_thread_valid                           = num_thread_valid;
     138
    135139    _nb_execute_unit                            = _nb_functionnal_unit + _nb_load_store_unit;
    136140
     
    481485       _read_unit_to_execution_unit_table_routing     ,
    482486       _read_unit_to_execution_unit_table_execute_type,
    483        _read_unit_to_execution_unit_table_thread      );
     487       _read_unit_to_execution_unit_table_thread      ,
     488       _num_thread_valid);
    484489   
    485490    log_printf(TRACE,Execute_loop,FUNCTION,"Parameters : execution_unit_to_write_unit");
     
    499504       _execution_unit_to_write_unit_priority     ,
    500505       _execution_unit_to_write_unit_table_routing,
    501        _execution_unit_to_write_unit_table_thread );
     506       _execution_unit_to_write_unit_table_thread ,
     507       _num_thread_valid);
    502508     
    503509    log_printf(TRACE,Execute_loop,FUNCTION,"Parameters : register_unit");
Note: See TracChangeset for help on using the changeset viewer.