Changeset 77


Ignore:
Timestamp:
Feb 5, 2008, 5:21:20 PM (16 years ago)
Author:
rosiere
Message:
  • Add two component :
    • network between read unit and execute unit
    • network between execute unit and write unit
  • remove parameters "nb_operation" and "nb_type"
  • in write_queue add the special case : load_speculative
Location:
trunk/IPs/systemC/processor/Morpheo
Files:
99 added
78 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/configuration.cfg

    r72 r77  
    882       2       +1      # size_special_data 
    9916      16      +1      # nb_special_register
    10 10      10      +1      # nb_operation       
    11 4       4       +1      # nb_type           
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/main.cpp

    r76 r77  
    99#include "Behavioural/Custom/include/Custom_example.h"
    1010
    11 #define NB_PARAMS 10
     11#define NB_PARAMS 8
    1212
    1313void usage (int argc, char * argv[])
     
    2323  err (_("  * size_special_data   (uint32_t)\n"));
    2424  err (_("  * nb_special_register (uint32_t)\n"));
    25   err (_("  * nb_operation        (uint32_t)\n"));
    26   err (_("  * nb_type             (uint32_t)\n"));
    2725  exit (1);
    2826}
     
    4846  const uint32_t size_special_data   = atoi(argv[x++]);
    4947  const uint32_t nb_special_register = atoi(argv[x++]);
    50   const uint32_t nb_operation        = atoi(argv[x++]);
    51   const uint32_t nb_type             = atoi(argv[x++]);
    5248
    5349  execute_timing_t ** timing = new execute_timing_t * [MAX_TYPE];
     
    7268         size_special_data   ,
    7369         nb_special_register ,
    74          nb_operation        ,
    75          nb_type             ,
    7670         timing              ,
    7771         &(morpheo::behavioural::custom::example_get_custom_information)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h

    r76 r77  
    3636  public : const uint32_t            _size_special_data            ;
    3737  public : const uint32_t            _nb_special_register          ;
    38   public : const uint32_t            _nb_operation                 ;
    39   public : const uint32_t            _nb_type                      ;
    4038  public :       execute_timing_t ** _timing                       ;
    4139  public : morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (uint32_t);
     
    4745  public : const uint32_t            _size_general_register        ;
    4846  public : const uint32_t            _size_special_register        ;
    49   public : const uint32_t            _size_operation               ;
    50   public : const uint32_t            _size_type                    ;
    5147
    5248  public : const bool                _have_port_context_id         ;
     
    6662                        uint32_t           size_special_data  ,
    6763                        uint32_t           nb_special_register,
    68                         uint32_t           nb_operation       ,
    69                         uint32_t           nb_type            ,
    7064                        execute_timing_t** timing             ,
    7165                        morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp

    r76 r77  
    153153       }
    154154
    155      _function_execute = new function_execute_t ** [MAX_TYPE];
     155     _function_execute = new function_execute_t ** [_param->_nb_type];
    156156     
    157157     // Initialisation
    158      for (uint32_t i=0; i<MAX_TYPE; i++)
     158     for (uint32_t i=0; i<_param->_nb_type; i++)
    159159       {
    160          _function_execute [i] = new function_execute_t * [MAX_OPERATION];
     160         _function_execute [i] = new function_execute_t * [_param->_nb_operation];
    161161         
    162          for (uint32_t j=0; j<MAX_OPERATION; j++)
     162         for (uint32_t j=0; j<_param->_nb_operation; j++)
    163163           _function_execute [i][j] = &(operation_unimplemented);
    164164       }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp

    r76 r77  
    8686
    8787#ifdef DEBUG_TEST
    88             if (operation >= MAX_OPERATION)
    89               throw ERRORMORPHEO(FUNCTION,"Invalid operation : '"+toString(operation)+"' is higher that MAX_OPERATION");
     88            if (type >= _param->_nb_type)
     89              throw ERRORMORPHEO(FUNCTION,"Invalid type : '"+toString(type)+"' is higher that _nb_type");
     90            if (operation >= _param->_nb_operation)
     91              throw ERRORMORPHEO(FUNCTION,"Invalid operation : '"+toString(operation)+"' is higher that _nb_operation");
    9092#endif
    9193
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp

    r76 r77  
    2828                          uint32_t           size_special_data  ,
    2929                          uint32_t           nb_special_register,
    30                           uint32_t           nb_operation       ,
    31                           uint32_t           nb_type            ,
    3230                          execute_timing_t** timing             ,
    3331                          morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)) :
     
    4038    _size_special_data       (size_special_data     ),
    4139    _nb_special_register     (nb_special_register   ),
    42     _nb_operation            (nb_operation          ),
    43     _nb_type                 (nb_type               ),
    4440   
    4541    _size_context_id         (log2(nb_context      )),
     
    4945    _size_general_register   (log2(_size_general_register)),
    5046    _size_special_register   (log2(_size_special_register)),
    51     _size_operation          (log2(_size_operation       )),
    52     _size_type               (log2(_size_type            )),
    5347
    5448    _have_port_context_id    (_size_context_id    > 0),
     
    8276    _size_special_data       (param._size_special_data      ),
    8377    _nb_special_register     (param._nb_special_register    ),
    84     _nb_operation            (param._nb_operation           ),
    85     _nb_type                 (param._nb_type                ),
    8678
    8779    _size_context_id         (param._size_context_id        ),
     
    9183    _size_general_register   (param._size_general_register  ),
    9284    _size_special_register   (param._size_special_register  ),
    93     _size_operation          (param._size_operation         ),
    94     _size_type               (param._size_type              ),
    9585
    9686    _have_port_context_id    (param._have_port_context_id   ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.cpp

    r76 r77  
    2828    std::string msg = "";
    2929
    30     for (uint32_t i=0; i<MAX_TYPE; i++)
    31       for (uint32_t j=0; j<MAX_OPERATION; j++)
     30    for (uint32_t i=0; i<_nb_type; i++)
     31      for (uint32_t j=0; j<_nb_operation; j++)
    3232        if (_timing[i][j]._delay != _timing[i][j]._latence)
    3333          msg = "  - For the type '"+toString(i)+"', and the operation '"+toString(j)+"', the delay and the latence must be equal.";
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_print.cpp

    r72 r77  
    3535    xml.singleton_begin("size_special_data  "); xml.attribut("value",toString(_size_special_data  )); xml.singleton_end();
    3636    xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
    37     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    38     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    3937    xml.balise_close();
    4038
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/configuration.cfg

    r71 r77  
    111132      32      *2      # size_general_data     
    121232      32      *2      # nb_general_register   
    13 4       4       *2      # nb_operation           
    14 4       4       *2      # nb_type               
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/main.cpp

    r71 r77  
    1010#define number_of_test 2
    1111
    12 #define NB_PARAMS 13
     12#define NB_PARAMS 11
    1313
    1414void usage (int argc, char * argv[])
     
    2727       << " - size_general_data       (uint32_t)" << endl
    2828       << " - nb_general_register     (uint32_t)" << endl
    29        << " - nb_operation            (uint32_t)" << endl
    30        << " - nb_type                 (uint32_t)" << endl
    3129       << "" << endl;
    3230
     
    6664        const uint32_t            _size_general_data       = atoi(argv[x++]);
    6765        const uint32_t            _nb_general_register     = atoi(argv[x++]);
    68         const uint32_t            _nb_operation            = atoi(argv[x++]);
    69         const uint32_t            _nb_type                 = atoi(argv[x++]);
    7066       
    7167        try
     
    8379               _nb_packet              ,
    8480               _size_general_data      ,
    85                _nb_general_register    ,
    86                _nb_operation           ,
    87                _nb_type               
    88                );
     81               _nb_general_register    );
    8982           
    9083            cout << param->print(1);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp

    r72 r77  
    5757         128,//_nb_packet             
    5858         32, //_size_general_data     
    59          64, //_nb_general_register   
    60          4,  //_nb_operation           
    61          4   //_nb_type               
     59         64  //_nb_general_register   
    6260        );
    6361
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Parameters.h

    r71 r77  
    3939  public : const uint32_t            _size_general_data            ;
    4040  public : const uint32_t            _nb_general_register          ;
    41   public : const uint32_t            _nb_operation                 ;
    42   public : const uint32_t            _nb_type                      ;
    4341
    4442  public : const uint32_t            _size_address_store_queue             ;
     
    5048  public : const uint32_t            _size_packet_id                       ;
    5149  public : const uint32_t            _size_general_register                ;
    52   public : const uint32_t            _size_operation                       ;
    53   public : const uint32_t            _size_type                            ;
    5450  public : const uint32_t            _size_dcache_context_id               ;
    5551  public : const uint32_t            _size_dcache_packet_id                ;
     
    7571                        uint32_t            nb_packet              ,
    7672                        uint32_t            size_general_data      ,
    77                         uint32_t            nb_general_register    ,
    78                         uint32_t            nb_operation           ,
    79                         uint32_t            nb_type               
    80                         );
     73                        uint32_t            nb_general_register    );
    8174
    8275  public : Parameters  (Parameters & param) ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters.cpp

    r71 r77  
    3030                          uint32_t            nb_packet              ,
    3131                          uint32_t            size_general_data      ,
    32                           uint32_t            nb_general_register    ,
    33                           uint32_t            nb_operation           ,
    34                           uint32_t            nb_type                                     
    35                           ):
     32                          uint32_t            nb_general_register    ):
    3633    _size_store_queue        (size_store_queue       ),
    3734    _size_load_queue         (size_load_queue        ),
     
    4542    _size_general_data       (size_general_data      ),
    4643    _nb_general_register     (nb_general_register    ),
    47     _nb_operation            (nb_operation           ),
    48     _nb_type                 (nb_type                ),
    4944   
    5045    _size_address_store_queue              (log2(size_store_queue             )),
     
    5752    _size_packet_id          (log2(nb_packet          )),
    5853    _size_general_register   (log2(nb_general_register)),
    59     _size_operation          (log2(nb_operation       )),
    60     _size_type               (log2(nb_type            )),
    6154    _size_dcache_context_id  (_size_context_id + _size_front_end_id + _size_ooo_engine_id),
    6255    _size_dcache_packet_id   ((log2((size_store_queue>size_load_queue)?size_store_queue:size_load_queue))+1),
     
    9083    _size_general_data       (param._size_general_data      ),
    9184    _nb_general_register     (param._nb_general_register    ),
    92     _nb_operation            (param._nb_operation           ),
    93     _nb_type                 (param._nb_type                ),
    9485
    9586    _size_address_store_queue              (param._size_address_store_queue             ),
     
    10293    _size_packet_id          (param._size_packet_id         ),
    10394    _size_general_register   (param._size_general_register  ),
    104     _size_operation          (param._size_operation         ),
    105     _size_type               (param._size_type              ),
    10695    _size_dcache_context_id  (param._size_dcache_context_id ),
    10796    _size_dcache_packet_id   (param._size_dcache_packet_id  ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters_print.cpp

    r71 r77  
    3939    xml.singleton_begin("size_general_data            "); xml.attribut("value",toString(_size_general_data            )); xml.singleton_end();
    4040    xml.singleton_begin("nb_general_register          "); xml.attribut("value",toString(_nb_general_register          )); xml.singleton_end();
    41     xml.singleton_begin("nb_operation                 "); xml.attribut("value",toString(_nb_operation                 )); xml.singleton_end();
    42     xml.singleton_begin("nb_type                      "); xml.attribut("value",toString(_nb_type                      )); xml.singleton_end();
    4341    xml.balise_close();
    4442
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config0.cfg

    r76 r77  
    9916      16      *2      # nb_general_register
    10102       2       +1      # nb_special_register
    11 40      40      +1      # nb_operation       
    12 6       6       +1      # nb_type           
    13114       4       *2      # nb_gpr_write
    14122       2       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config1.cfg

    r76 r77  
    994       4       *2      # nb_general_register
    10104       4       +1      # nb_special_register
    11 40      40      +1      # nb_operation       
    12 6       6       +1      # nb_type           
    13112       4       *2      # nb_gpr_write
    14122       4       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config2.cfg

    r76 r77  
    994       4       *2      # nb_general_register
    10104       4       +1      # nb_special_register
    11 40      40      +1      # nb_operation       
    12 6       6       +1      # nb_type           
    13111       1       *2      # nb_gpr_write
    14121       1       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config_min.cfg

    r76 r77  
    9932      32      *2      # nb_general_register
    101032      32      +1      # nb_special_register
    11 12      12      +1      # nb_operation       
    12 5       5       +1      # nb_type           
    13111       1       *2      # nb_gpr_write
    14121       1       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/main.cpp

    r76 r77  
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 15
     10#define NB_PARAMS 13
    1111
    1212void usage (int argc, char * argv[])
     
    2323       << " - nb_general_register (unsigned int)" << endl
    2424       << " - nb_special_register (unsigned int)" << endl
    25        << " - nb_operation        (unsigned int)" << endl
    26        << " - nb_type             (unsigned int)" << endl
    2725       << " - nb_gpr_write        (unsigned int)" << endl
    2826       << " - nb_spr_write        (unsigned int)" << endl
     
    5856  const uint32_t nb_general_register = atoi(argv[x++]);
    5957  const uint32_t nb_special_register = atoi(argv[x++]);
    60   const uint32_t nb_operation        = atoi(argv[x++]);
    61   const uint32_t nb_type             = atoi(argv[x++]);
    6258  const uint32_t nb_gpr_write        = atoi(argv[x++]);
    6359  const uint32_t nb_spr_write        = atoi(argv[x++]);
     
    7773         ,nb_general_register
    7874         ,nb_special_register
    79          ,nb_operation       
    80          ,nb_type           
    8175         ,nb_gpr_write
    8276         ,nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h

    r76 r77  
    3737  public : const uint32_t    _nb_general_register  ;
    3838  public : const uint32_t    _nb_special_register  ;
    39   public : const uint32_t    _nb_operation         ;
    40   public : const uint32_t    _nb_type              ;
    4139  public : const uint32_t    _nb_gpr_write         ;
    4240  public : const uint32_t    _nb_spr_write         ;
     
    5250  public : const uint32_t    _size_general_register;
    5351  public : const uint32_t    _size_special_register;
    54   public : const uint32_t    _size_operation       ;
    55   public : const uint32_t    _size_type            ;
    5652
    5753  public : const bool        _have_port_context_id   ;
     
    7268                        uint32_t nb_general_register,
    7369                        uint32_t nb_special_register,
    74                         uint32_t nb_operation       ,
    75                         uint32_t nb_type            ,
    7670                        uint32_t nb_gpr_write       ,
    7771                        uint32_t nb_spr_write       ,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp

    r76 r77  
    2727                          uint32_t nb_general_register,
    2828                          uint32_t nb_special_register,
    29                           uint32_t nb_operation       ,
    30                           uint32_t nb_type            ,
    3129                          uint32_t nb_gpr_write       ,
    3230                          uint32_t nb_spr_write       ,
     
    4240    _nb_general_register   (nb_general_register  ),
    4341    _nb_special_register   (nb_special_register  ),
    44     _nb_operation          (nb_operation         ),
    45     _nb_type               (nb_type              ),
    4642    _nb_gpr_write          (nb_gpr_write         ),
    4743    _nb_spr_write          (nb_spr_write         ),
     
    5753    _size_general_register (static_cast<uint32_t>(log2(_nb_general_register))),
    5854    _size_special_register (static_cast<uint32_t>(log2(_nb_special_register))),
    59     _size_operation        (static_cast<uint32_t>(log2(_nb_operation       ))),
    60     _size_type             (static_cast<uint32_t>(log2(_nb_type            ))),
    6155
    6256    _have_port_context_id    (_size_context_id    > 0),
     
    10498    _nb_general_register   (param._nb_general_register   ),
    10599    _nb_special_register   (param._nb_special_register   ),
    106     _nb_operation          (param._nb_operation          ),
    107     _nb_type               (param._nb_type               ),
    108100    _nb_gpr_write          (param._nb_gpr_write          ),
    109101    _nb_spr_write          (param._nb_spr_write          ),
     
    119111    _size_general_register (param._size_general_register ),
    120112    _size_special_register (param._size_special_register ),
    121     _size_operation        (param._size_operation        ),
    122     _size_type             (param._size_type             ),
    123113
    124114    _have_port_context_id    (param._have_port_context_id   ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_print.cpp

    r76 r77  
    3535    xml.singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end();
    3636    xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
    37     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    38     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    3937    xml.singleton_begin("nb_gpr_write       "); xml.attribut("value",toString(_nb_gpr_write       )); xml.singleton_end();
    4038    xml.singleton_begin("nb_spr_write       "); xml.attribut("value",toString(_nb_spr_write       )); xml.singleton_end();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg

    r76 r77  
    101016      16      *2      # nb_general_register
    11118       8       +1      # nb_special_register
    12 8       8       +1      # nb_operation       
    13 4       4       +1      # nb_type           
    14121       1       *2      # nb_gpr_write
    15131       1       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_write.cfg

    r76 r77  
    101016      16      *2      # nb_general_register
    11118       8       +1      # nb_special_register
    12 8       8       +1      # nb_operation       
    13 4       4       +1      # nb_type           
    14121       1       *2      # nb_gpr_write
    15131       1       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg

    r76 r77  
    101018      16      *2      # nb_general_register
    11118       8       +1      # nb_special_register
    12 8       8       +1      # nb_operation       
    13 4       4       +1      # nb_type           
    14121       1       *2      # nb_gpr_write
    15131       1       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg

    r76 r77  
    101016      16      *2      # nb_general_register
    11118       8       +1      # nb_special_register
    12 8       8       +1      # nb_operation       
    13 4       4       +1      # nb_type           
    14121       1       *2      # nb_gpr_write
    15131       1       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_write.cfg

    r76 r77  
    101016      16      *2      # nb_general_register
    11118       8       +1      # nb_special_register
    12 8       8       +1      # nb_operation       
    13 4       4       +1      # nb_type           
    14122       4       *2      # nb_gpr_write
    15132       4       *2      # nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/main.cpp

    r76 r77  
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 18
     10#define NB_PARAMS 16
    1111
    1212void usage (int argc, char * argv[])
     
    2424       << " - nb_general_register (unsigned int)" << endl
    2525       << " - nb_special_register (unsigned int)" << endl
    26        << " - nb_operation        (unsigned int)" << endl
    27        << " - nb_type             (unsigned int)" << endl
    2826       << " - nb_gpr_write        (unsigned int)" << endl
    2927       << " - nb_spr_write        (unsigned int)" << endl
     
    6260  const uint32_t nb_general_register = atoi(argv[x++]);
    6361  const uint32_t nb_special_register = atoi(argv[x++]);
    64   const uint32_t nb_operation        = atoi(argv[x++]);
    65   const uint32_t nb_type             = atoi(argv[x++]);
    6662  const uint32_t nb_gpr_write        = atoi(argv[x++]);
    6763  const uint32_t nb_spr_write        = atoi(argv[x++]);
     
    8480         ,nb_general_register
    8581         ,nb_special_register
    86          ,nb_operation       
    87          ,nb_type           
    8882         ,nb_gpr_write
    8983         ,nb_spr_write
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h

    r76 r77  
    3636  public : const uint32_t    _nb_general_register  ;
    3737  public : const uint32_t    _nb_special_register  ;
    38   public : const uint32_t    _nb_operation         ;
    39   public : const uint32_t    _nb_type              ;
    4038  public : const uint32_t    _nb_gpr_write         ;
    4139  public : const uint32_t    _nb_spr_write         ;
     
    5957  public : const uint32_t    _size_general_register;
    6058  public : const uint32_t    _size_special_register;
    61   public : const uint32_t    _size_operation       ;
    62   public : const uint32_t    _size_type            ;
    6359
    6460  public : const bool        _have_port_context_id   ;
     
    7874                        uint32_t nb_general_register,
    7975                        uint32_t nb_special_register,
    80                         uint32_t nb_operation       ,
    81                         uint32_t nb_type            ,
    8276                        uint32_t nb_gpr_write       ,
    8377                        uint32_t nb_spr_write       ,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp

    r76 r77  
    3030                          uint32_t nb_general_register,
    3131                          uint32_t nb_special_register,
    32                           uint32_t nb_operation       ,
    33                           uint32_t nb_type            ,
    3432                          uint32_t nb_gpr_write       ,
    3533                          uint32_t nb_spr_write       ,
     
    4846    _nb_general_register   (nb_general_register  ),
    4947    _nb_special_register   (nb_special_register  ),
    50     _nb_operation          (nb_operation         ),
    51     _nb_type               (nb_type              ),
    5248    _nb_gpr_write          (nb_gpr_write         ),
    5349    _nb_spr_write          (nb_spr_write         ),
     
    6359    _size_general_register (static_cast<uint32_t>(log2(_nb_general_register))),
    6460    _size_special_register (static_cast<uint32_t>(log2(_nb_special_register))),
    65     _size_operation        (static_cast<uint32_t>(log2(_nb_operation       ))),
    66     _size_type             (static_cast<uint32_t>(log2(_nb_type            ))),
    6761
    6862    _have_port_context_id    (_size_context_id    > 0),
     
    8983    _nb_general_register   (param._nb_general_register   ),
    9084    _nb_special_register   (param._nb_special_register   ),
    91     _nb_operation          (param._nb_operation          ),
    92     _nb_type               (param._nb_type               ),
    9385    _nb_gpr_write          (param._nb_gpr_write          ),
    9486    _nb_spr_write          (param._nb_spr_write          ),
     
    10496    _size_general_register (param._size_general_register ),
    10597    _size_special_register (param._size_special_register ),
    106     _size_operation        (param._size_operation        ),
    107     _size_type             (param._size_type             ),
    10898
    10999    _have_port_context_id    (param._have_port_context_id   ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp

    r76 r77  
    3838    xml.singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end();
    3939    xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
    40     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    41     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    4240    xml.singleton_begin("nb_gpr_write       "); xml.attribut("value",toString(_nb_gpr_write       )); xml.singleton_end();
    4341    xml.singleton_begin("nb_spr_write       "); xml.attribut("value",toString(_nb_spr_write       )); xml.singleton_end();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/configuration.cfg

    r76 r77  
    101064      64      *2      # nb_general_register     
    111116      16      *2      # nb_special_register     
    12 10      10      *2      # nb_operation           
    13 4       4       *2      # nb_type                 
    14122       2       *2      # nb_gpr_write           
    15132       2       *2      # nb_spr_write           
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/src/main.cpp

    r76 r77  
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 19
     10#define NB_PARAMS 17
    1111
    1212void usage (int argc, char * argv[])
     
    2424  err (_(" * nb_general_register      (uint32_t)\n"));
    2525  err (_(" * nb_special_register      (uint32_t)\n"));
    26   err (_(" * nb_operation             (uint32_t)\n"));
    27   err (_(" * nb_type                  (uint32_t)\n"));
    2826  err (_(" * nb_gpr_write             (uint32_t)\n"));
    2927  err (_(" * nb_spr_write             (uint32_t)\n"));
     
    5957  const uint32_t    _nb_general_register      = atoi(argv[x++]);
    6058  const uint32_t    _nb_special_register      = atoi(argv[x++]);
    61   const uint32_t    _nb_operation             = atoi(argv[x++]);
    62   const uint32_t    _nb_type                  = atoi(argv[x++]);
    6359  const uint32_t    _nb_gpr_write             = atoi(argv[x++]);
    6460  const uint32_t    _nb_spr_write             = atoi(argv[x++]);
     
    8379         _nb_general_register     ,
    8480         _nb_special_register     ,
    85          _nb_operation            ,
    86          _nb_type                 ,
    8781         _nb_gpr_write            ,
    8882         _nb_spr_write            ,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Parameters.h

    r76 r77  
    3636  public : const uint32_t    _nb_general_register     ;
    3737  public : const uint32_t    _nb_special_register     ;
    38   public : const uint32_t    _nb_operation            ;
    39   public : const uint32_t    _nb_type                 ;
    4038  public : const uint32_t    _nb_gpr_write            ;
    4139  public : const uint32_t    _nb_spr_write            ;
     
    5452  public : const uint32_t    _size_general_register   ;
    5553  public : const uint32_t    _size_special_register   ;
    56   public : const uint32_t    _size_operation          ;
    57   public : const uint32_t    _size_type               ;
    5854
    5955  public : const bool        _have_port_context_id    ;
     
    7672                        uint32_t nb_general_register     ,
    7773                        uint32_t nb_special_register     ,
    78                         uint32_t nb_operation            ,
    79                         uint32_t nb_type                 ,
    8074                        uint32_t nb_gpr_write            ,
    8175                        uint32_t nb_spr_write            ,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters.cpp

    r76 r77  
    2929                          uint32_t nb_general_register     ,
    3030                          uint32_t nb_special_register     ,
    31                           uint32_t nb_operation            ,
    32                           uint32_t nb_type                 ,
    3331                          uint32_t nb_gpr_write            ,
    3432                          uint32_t nb_spr_write            ,
     
    4846    _nb_general_register      (nb_general_register     ),
    4947    _nb_special_register      (nb_special_register     ),
    50     _nb_operation             (nb_operation            ),
    51     _nb_type                  (nb_type                 ),
    5248    _nb_gpr_write             (nb_gpr_write            ),
    5349    _nb_spr_write             (nb_spr_write            ),
     
    6662    _size_general_register    (log2(nb_general_register)),
    6763    _size_special_register    (log2(nb_special_register)),
    68     _size_operation           (log2(nb_operation       )),
    69     _size_type                (log2(nb_type            )),
    7064   
    7165    _have_port_context_id     (_size_context_id   >0),
     
    8680        ,_nb_general_register
    8781        ,_nb_special_register
    88         ,_nb_operation       
    89         ,_nb_type           
    9082        ,_nb_gpr_write
    9183        ,_nb_spr_write
     
    10597         ,nb_general_register
    10698         ,nb_special_register
    107          ,nb_operation       
    108          ,nb_type           
    10999         ,nb_gpr_write
    110100         ,nb_spr_write
     
    134124    _nb_general_register      (param._nb_general_register     ),
    135125    _nb_special_register      (param._nb_special_register     ),
    136     _nb_operation             (param._nb_operation            ),
    137     _nb_type                  (param._nb_type                 ),
    138126    _nb_gpr_write             (param._nb_gpr_write            ),
    139127    _nb_spr_write             (param._nb_spr_write            ),
     
    152140    _size_general_register    (param._size_general_register   ),
    153141    _size_special_register    (param._size_special_register   ),
    154     _size_operation           (param._size_operation          ),
    155     _size_type                (param._size_type               ),
    156142
    157143    _have_port_context_id     (param._have_port_context_id    ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters_print.cpp

    r76 r77  
    3737    xml.singleton_begin("nb_general_register     "); xml.attribut("value",toString(_nb_general_register     )); xml.singleton_end();
    3838    xml.singleton_begin("nb_special_register     "); xml.attribut("value",toString(_nb_special_register     )); xml.singleton_end();
    39     xml.singleton_begin("nb_operation            "); xml.attribut("value",toString(_nb_operation            )); xml.singleton_end();
    40     xml.singleton_begin("nb_type                 "); xml.attribut("value",toString(_nb_type                 )); xml.singleton_end();
    4139    xml.singleton_begin("nb_gpr_write            "); xml.attribut("value",toString(_nb_gpr_write            )); xml.singleton_end();
    4240    xml.singleton_begin("nb_spr_write            "); xml.attribut("value",toString(_nb_spr_write            )); xml.singleton_end();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/Makefile.deps

    r74 r77  
    2525                                        $(Behavioural_DIR_LIBRARY)
    2626
    27 Execute_queue_DEPENDENCIES      =       Behavioural_library
     27#-----[ Rules ]--------------------------------------------
    2828
    29 Execute_queue_CLEAN             =       Behavioural_library_clean
    30 
    31 #-----[ Rules ]--------------------------------------------
    32 #.NOTPARALLEL                   : Execute_queue_library Execute_queue_library_clean
    33 
    34 Execute_queue_library           : $(Execute_queue_DEPENDENCIES)
     29Execute_queue_library           :
    3530                                @\
     31                                $(MAKE) Behavioural_library; \
    3632                                $(MAKE) --directory=$(Execute_queue_DIR) --makefile=Makefile;
    3733
    38 Execute_queue_library_clean     : $(Execute_queue_CLEAN)
     34Execute_queue_library_clean     :
    3935                                @\
     36                                $(MAKE) Behavioural_library_clean; \
    4037                                $(MAKE) --directory=$(Execute_queue_DIR) --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/configuration.cfg

    r73 r77  
    7732      32      *2 # uint32_t size_general_data 
    882       2       *2 # uint32_t size_special_data 
    9 10      10      *2 # uint32_t nb_operation       
    10 4       4       *2 # uint32_t nb_type           
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/src/main.cpp

    r73 r77  
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 9
     10#define NB_PARAMS 7
    1111
    1212void usage (int argc, char * argv[])
     
    2121  err (_(" * size_general_data   (uint32_t)\n"));
    2222  err (_(" * size_special_data   (uint32_t)\n"));
    23   err (_(" * nb_operation        (uint32_t)\n"));
    24   err (_(" * nb_type             (uint32_t)\n"));
    2523
    2624  exit (1);
     
    4644  const uint32_t size_general_data   = atoi(argv[x++]);
    4745  const uint32_t size_special_data   = atoi(argv[x++]);
    48   const uint32_t nb_operation        = atoi(argv[x++]);
    49   const uint32_t nb_type             = atoi(argv[x++]);
    5046
    5147  try
     
    5854         nb_packet          ,
    5955         size_general_data  ,
    60          size_special_data  ,
    61          nb_operation       ,
    62          nb_type            );
     56         size_special_data  );
    6357     
    6458      msg(_("%s"),param->print(1).c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Parameters.h

    r73 r77  
    3333  public : const uint32_t            _size_general_data            ;
    3434  public : const uint32_t            _size_special_data            ;
    35   public : const uint32_t            _nb_operation                 ;
    36   public : const uint32_t            _nb_type                      ;
    3735
    3836  public : const uint32_t            _size_context_id              ;
     
    4038  public : const uint32_t            _size_ooo_engine_id           ;
    4139  public : const uint32_t            _size_packet_id               ;
    42   public : const uint32_t            _size_operation               ;
    43   public : const uint32_t            _size_type                    ;
    4440
    4541  public : const bool                _have_port_context_id         ;
     
    5551                        uint32_t nb_packet          ,
    5652                        uint32_t size_general_data  ,
    57                         uint32_t size_special_data  ,
    58                         uint32_t nb_operation       ,
    59                         uint32_t nb_type            );
     53                        uint32_t size_special_data  );
    6054  public : Parameters  (Parameters & param) ;
    6155  public : ~Parameters () ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Parameters.cpp

    r74 r77  
    2626                          uint32_t nb_packet          ,
    2727                          uint32_t size_general_data  ,
    28                           uint32_t size_special_data  ,
    29                           uint32_t nb_operation       ,
    30                           uint32_t nb_type            ):
     28                          uint32_t size_special_data  ):
    3129    _size_queue              (size_queue         ),
    3230    _nb_context              (nb_context         ),
     
    3634    _size_general_data       (size_general_data  ),
    3735    _size_special_data       (size_special_data  ),
    38     _nb_operation            (nb_operation       ),
    39     _nb_type                 (nb_type            ),
    4036
    4137    _size_context_id         (log2(_nb_context         )),
     
    4339    _size_ooo_engine_id      (log2(_nb_ooo_engine      )),
    4440    _size_packet_id          (log2(_nb_packet          )),
    45     _size_operation          (log2(_nb_operation       )),
    46     _size_type               (log2(_nb_type            )),
    4741
    4842    _have_port_context_id    (_size_context_id    > 0),
     
    6660    _size_general_data       (param._size_general_data      ),
    6761    _size_special_data       (param._size_special_data      ),
    68     _nb_operation            (param._nb_operation           ),
    69     _nb_type                 (param._nb_type                ),
    7062
    7163    _size_context_id         (param._size_context_id        ),
     
    7365    _size_ooo_engine_id      (param._size_ooo_engine_id     ),
    7466    _size_packet_id          (param._size_packet_id         ),
    75     _size_operation          (param._size_operation         ),
    76     _size_type               (param._size_type              ),
    7767
    7868    _have_port_context_id    (param._have_port_context_id   ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Parameters_print.cpp

    r73 r77  
    3535    xml.singleton_begin("size_general_data  "); xml.attribut("value",toString(_size_general_data  )); xml.singleton_end();
    3636    xml.singleton_begin("size_special_data  "); xml.attribut("value",toString(_size_special_data  )); xml.singleton_end();
    37     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    38     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    3937    xml.balise_close();
    4038
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Makefile.deps

    r74 r77  
    3535                                        $(Execute_queue_DIR_LIBRARY)
    3636
    37 Write_unit_DEPENDENCIES         =       Behavioural_library             \
    38                                         Write_queue_library             \
    39                                         Execute_queue_library
    40 
    41 Write_unit_CLEAN                =       Behavioural_library_clean       \
    42                                         Write_queue_library_clean       \
    43                                         Execute_queue_library_clean
    44 
    4537#-----[ Rules ]--------------------------------------------
    4638
    47 #.NOTPARALLEL                   : Write_unit_library Write_unit_library_clean
    48 
    49 Write_unit_library              : $(Write_unit_DEPENDENCIES)
     39Write_unit_library              :
    5040                                @\
     41                                $(MAKE) Behavioural_library;            \
     42                                $(MAKE) Write_queue_library;            \
     43                                $(MAKE) Execute_queue_library;          \
    5144                                $(MAKE) --directory=$(Write_unit_DIR) --makefile=Makefile;
    5245
    53 Write_unit_library_clean        : $(Write_unit_CLEAN)
     46Write_unit_library_clean        :
    5447                                @\
     48                                $(MAKE) Behavioural_library_clean;      \
     49                                $(MAKE) Write_queue_library_clean;      \
     50                                $(MAKE) Execute_queue_library_clean;    \
    5551                                $(MAKE) --directory=$(Write_unit_DIR) --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/SelfTest/configuration.cfg

    r74 r77  
    10102       2       *2 # uint32_t size_special_data 
    111116      16      *2 # uint32_t nb_special_register
    12 10      10      *2 # uint32_t nb_operation       
    13 4       4       *2 # uint32_t nb_type           
    14121       8       *2 # uint32_t nb_bypass_write 
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/SelfTest/configuration_execute_queue_null.cfg

    r74 r77  
    10102       2       *2 # uint32_t size_special_data 
    111116      16      *2 # uint32_t nb_special_register
    12 10      10      *2 # uint32_t nb_operation       
    13 4       4       *2 # uint32_t nb_type           
    14128       8       *2 # uint32_t nb_bypass_write 
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/SelfTest/src/main.cpp

    r74 r77  
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 13
     10#define NB_PARAMS 11
    1111
    1212void usage (int argc, char * argv[])
     
    2424  err (_(" * size_special_data   (uint32_t)\n"));
    2525  err (_(" * nb_special_register (uint32_t)\n"));
    26   err (_(" * nb_operation        (uint32_t)\n"));
    27   err (_(" * nb_type             (uint32_t)\n"));
    2826  err (_(" * nb_bypass_write     (uint32_t)\n"));
    2927
     
    5351  const uint32_t size_special_data   = atoi(argv[x++]);
    5452  const uint32_t nb_special_register = atoi(argv[x++]);
    55   const uint32_t nb_operation        = atoi(argv[x++]);
    56   const uint32_t nb_type             = atoi(argv[x++]);
    5753  const uint32_t nb_bypass_write     = atoi(argv[x++]);
    5854
     
    7066         size_special_data  ,
    7167         nb_special_register,
    72          nb_operation       ,
    73          nb_type            ,
    7468         nb_bypass_write    );
    7569     
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/SelfTest/src/test.cpp

    r74 r77  
    5050  public  : Tpacket_t          _packet_id    ;
    5151//public  : Toperation_t       _operation    ;
    52 //public  : Ttype_t            _type         ;
     52  public  : Ttype_t            _type         ;
    5353  public  : Tcontrol_t         _write_rd     ;
    5454  public  : Tgeneral_address_t _num_reg_rd   ;
     
    6666                     Tpacket_t          packet_id    ,
    6767                     //Toperation_t       operation    ,
    68                      //Ttype_t            type         ,
     68                     Ttype_t            type         ,
    6969                     Tcontrol_t         write_rd     ,
    7070                     Tgeneral_address_t num_reg_rd   ,
     
    8282      _packet_id     = packet_id    ;
    8383    //_operation     = operation    ;
    84     //_type          = type         ;
     84      _type          = type         ;
    8585      _write_rd      = write_rd     ;
    8686      _num_reg_rd    = num_reg_rd   ;
     
    102102                    << " * _packet_id     : " << toString(x._packet_id    ) << std::endl
    103103                  //<< " * _operation     : " << toString(x._operation    ) << std::endl
    104                   //<< " * _type          : " << toString(x._type         ) << std::endl
     104                    << " * _type          : " << toString(x._type         ) << std::endl
    105105                    << " * _write_rd      : " << toString(x._write_rd     ) << std::endl
    106106                    << " * _num_reg_rd    : " << toString(x._num_reg_rd   ) << std::endl
     
    149149  ALLOC_SC_SIGNAL ( in_WRITE_UNIT_IN_PACKET_ID     ," in_WRITE_UNIT_IN_PACKET_ID"     , Tpacket_t         );
    150150//ALLOC_SC_SIGNAL ( in_WRITE_UNIT_IN_OPERATION     ," in_WRITE_UNIT_IN_OPERATION"     , Toperation_t      );
    151 //ALLOC_SC_SIGNAL ( in_WRITE_UNIT_IN_TYPE          ," in_WRITE_UNIT_IN_TYPE"          , Ttype_t           );
     151  ALLOC_SC_SIGNAL ( in_WRITE_UNIT_IN_TYPE          ," in_WRITE_UNIT_IN_TYPE"          , Ttype_t           );
    152152  ALLOC_SC_SIGNAL ( in_WRITE_UNIT_IN_WRITE_RD      ," in_WRITE_UNIT_IN_WRITE_RD"      , Tcontrol_t        );
    153153  ALLOC_SC_SIGNAL ( in_WRITE_UNIT_IN_NUM_REG_RD    ," in_WRITE_UNIT_IN_NUM_REG_RD"    , Tgeneral_address_t);
     
    210210  INSTANCE_SC_SIGNAL (_Write_unit,  in_WRITE_UNIT_IN_PACKET_ID     );
    211211//INSTANCE_SC_SIGNAL (_Write_unit,  in_WRITE_UNIT_IN_OPERATION     );
    212 //INSTANCE_SC_SIGNAL (_Write_unit,  in_WRITE_UNIT_IN_TYPE          );
     212  INSTANCE_SC_SIGNAL (_Write_unit,  in_WRITE_UNIT_IN_TYPE          );
    213213  INSTANCE_SC_SIGNAL (_Write_unit,  in_WRITE_UNIT_IN_WRITE_RD      );
    214214  INSTANCE_SC_SIGNAL (_Write_unit,  in_WRITE_UNIT_IN_NUM_REG_RD    );
     
    323323                                     i,
    324324                                   //range<Toperation_t      >(rand(),_param->_size_operation       ),
    325                                    //range<Ttype_t           >(rand(),_param->_size_type            ),
     325                                     range<Ttype_t           >(rand(),_param->_size_type            ),
    326326                                     range<Tcontrol_t        >(rand(),1                             ),
    327327                                     range<Tgeneral_address_t>(rand(),_param->_size_general_register),
     
    355355            in_WRITE_UNIT_IN_PACKET_ID    ->write(request [nb_request_in]->_packet_id    );
    356356          //in_WRITE_UNIT_IN_OPERATION    ->write(request [nb_request_in]->_operation    );
    357           //in_WRITE_UNIT_IN_TYPE         ->write(request [nb_request_in]->_type         );
     357            in_WRITE_UNIT_IN_TYPE         ->write(request [nb_request_in]->_type         );
    358358            in_WRITE_UNIT_IN_WRITE_RD     ->write(request [nb_request_in]->_write_rd     );
    359359            in_WRITE_UNIT_IN_NUM_REG_RD   ->write(request [nb_request_in]->_num_reg_rd   );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/Makefile.deps

    r74 r77  
    1919
    2020#-----[ Library ]------------------------------------------
     21
    2122Write_queue_LIBRARY             =       -lWrite_queue   \
    2223                                        $(Behavioural_LIBRARY) 
     
    2526                                        $(Behavioural_DIR_LIBRARY)
    2627
    27 Write_queue_DEPENDENCIES        =       Behavioural_library
     28#-----[ Rules ]--------------------------------------------
    2829
    29 Write_queue_CLEAN               =       Behavioural_library_clean
    30 
    31 #-----[ Rules ]--------------------------------------------
    32 #.NOTPARALLEL                   : Write_queue_library Write_queue_library_clean
    33 
    34 Write_queue_library             : $(Write_queue_DEPENDENCIES)
     30Write_queue_library             :
    3531                                @\
     32                                $(MAKE) Behavioural_library;    \
    3633                                $(MAKE) --directory=$(Write_queue_DIR) --makefile=Makefile;
    3734
    38 Write_queue_library_clean       : $(Write_queue_CLEAN)
     35Write_queue_library_clean       :
    3936                                @\
     37                                $(MAKE) Behavioural_library_clean;      \
    4038                                $(MAKE) --directory=$(Write_queue_DIR) --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/configuration.cfg

    r73 r77  
    992       2       *2 # uint32_t size_special_data 
    101016      16      *2 # uint32_t nb_special_register
    11 10      10      *2 # uint32_t nb_operation       
    12 4       4       *2 # uint32_t nb_type           
    13111       8       *2 # uint32_t nb_bypass_write 
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/src/main.cpp

    r73 r77  
    88#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/include/test.h"
    99
    10 #define NB_PARAMS 12
     10#define NB_PARAMS 10
    1111
    1212void usage (int argc, char * argv[])
     
    2323  err (_(" * size_special_data   (uint32_t)\n"));
    2424  err (_(" * nb_special_register (uint32_t)\n"));
    25   err (_(" * nb_operation        (uint32_t)\n"));
    26   err (_(" * nb_type             (uint32_t)\n"));
    2725  err (_(" * nb_bypass_write     (uint32_t)\n"));
    2826
     
    5149  const uint32_t size_special_data   = atoi(argv[x++]);
    5250  const uint32_t nb_special_register = atoi(argv[x++]);
    53   const uint32_t nb_operation        = atoi(argv[x++]);
    54   const uint32_t nb_type             = atoi(argv[x++]);
    5551  const uint32_t nb_bypass_write     = atoi(argv[x++]);
    5652
     
    6763         size_special_data  ,
    6864         nb_special_register,
    69          nb_operation       ,
    70          nb_type            ,
    7165         nb_bypass_write    );
    7266     
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/src/test.cpp

    r74 r77  
    5050  public  : Tpacket_t          _packet_id    ;
    5151//public  : Toperation_t       _operation    ;
    52 //public  : Ttype_t            _type         ;
     52  public  : Ttype_t            _type         ;
    5353  public  : Tcontrol_t         _write_rd     ;
    5454  public  : Tgeneral_address_t _num_reg_rd   ;
     
    6666                     Tpacket_t          packet_id    ,
    6767                     //Toperation_t       operation    ,
    68                      //Ttype_t            type         ,
     68                     Ttype_t            type         ,
    6969                     Tcontrol_t         write_rd     ,
    7070                     Tgeneral_address_t num_reg_rd   ,
     
    8282      _packet_id     = packet_id    ;
    8383    //_operation     = operation    ;
    84     //_type          = type         ;
     84      _type          = type         ;
    8585      _write_rd      = write_rd     ;
    8686      _num_reg_rd    = num_reg_rd   ;
     
    102102                    << " * _packet_id     : " << toString(x._packet_id    ) << std::endl
    103103                  //<< " * _operation     : " << toString(x._operation    ) << std::endl
    104                   //<< " * _type          : " << toString(x._type         ) << std::endl
     104                    << " * _type          : " << toString(x._type         ) << std::endl
    105105                    << " * _write_rd      : " << toString(x._write_rd     ) << std::endl
    106106                    << " * _num_reg_rd    : " << toString(x._num_reg_rd   ) << std::endl
     
    149149  ALLOC_SC_SIGNAL ( in_WRITE_QUEUE_IN_PACKET_ID     ," in_WRITE_QUEUE_IN_PACKET_ID"     , Tpacket_t         );
    150150//ALLOC_SC_SIGNAL ( in_WRITE_QUEUE_IN_OPERATION     ," in_WRITE_QUEUE_IN_OPERATION"     , Toperation_t      );
    151 //ALLOC_SC_SIGNAL ( in_WRITE_QUEUE_IN_TYPE          ," in_WRITE_QUEUE_IN_TYPE"          , Ttype_t           );
     151  ALLOC_SC_SIGNAL ( in_WRITE_QUEUE_IN_TYPE          ," in_WRITE_QUEUE_IN_TYPE"          , Ttype_t           );
    152152  ALLOC_SC_SIGNAL ( in_WRITE_QUEUE_IN_WRITE_RD      ," in_WRITE_QUEUE_IN_WRITE_RD"      , Tcontrol_t        );
    153153  ALLOC_SC_SIGNAL ( in_WRITE_QUEUE_IN_NUM_REG_RD    ," in_WRITE_QUEUE_IN_NUM_REG_RD"    , Tgeneral_address_t);
     
    209209  INSTANCE_SC_SIGNAL (_Write_queue,  in_WRITE_QUEUE_IN_PACKET_ID     );
    210210//INSTANCE_SC_SIGNAL (_Write_queue,  in_WRITE_QUEUE_IN_OPERATION     );
    211 //INSTANCE_SC_SIGNAL (_Write_queue,  in_WRITE_QUEUE_IN_TYPE          );
     211  INSTANCE_SC_SIGNAL (_Write_queue,  in_WRITE_QUEUE_IN_TYPE          );
    212212  INSTANCE_SC_SIGNAL (_Write_queue,  in_WRITE_QUEUE_IN_WRITE_RD      );
    213213  INSTANCE_SC_SIGNAL (_Write_queue,  in_WRITE_QUEUE_IN_NUM_REG_RD    );
     
    322322                                     i,
    323323                                   //range<Toperation_t      >(rand(),_param->_size_operation       ),
    324                                    //range<Ttype_t           >(rand(),_param->_size_type            ),
     324                                     range<Ttype_t           >(rand(),_param->_size_type            ),
    325325                                     range<Tcontrol_t        >(rand(),1                             ),
    326326                                     range<Tgeneral_address_t>(rand(),_param->_size_general_register),
     
    354354            in_WRITE_QUEUE_IN_PACKET_ID    ->write(request [nb_request_in]->_packet_id    );
    355355          //in_WRITE_QUEUE_IN_OPERATION    ->write(request [nb_request_in]->_operation    );
    356           //in_WRITE_QUEUE_IN_TYPE         ->write(request [nb_request_in]->_type         );
     356            in_WRITE_QUEUE_IN_TYPE         ->write(request [nb_request_in]->_type         );
    357357            in_WRITE_QUEUE_IN_WRITE_RD     ->write(request [nb_request_in]->_write_rd     );
    358358            in_WRITE_QUEUE_IN_NUM_REG_RD   ->write(request [nb_request_in]->_num_reg_rd   );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Parameters.h

    r73 r77  
    3535  public : const uint32_t            _size_special_data            ;
    3636  public : const uint32_t            _nb_special_register          ;
    37   public : const uint32_t            _nb_operation                 ;
    38   public : const uint32_t            _nb_type                      ;
    3937  public : const uint32_t            _nb_bypass_write              ;
    4038
     
    4846  public : const uint32_t            _size_general_register        ;
    4947  public : const uint32_t            _size_special_register        ;
    50   public : const uint32_t            _size_operation               ;
    51   public : const uint32_t            _size_type                    ;
    5248
    5349  public : const bool                _have_port_context_id         ;
     
    6662                        uint32_t size_special_data  ,
    6763                        uint32_t nb_special_register,
    68                         uint32_t nb_operation       ,
    69                         uint32_t nb_type            ,
    7064                        uint32_t nb_bypass_write    );
    7165  public : Parameters  (Parameters & param) ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h

    r75 r77  
    4545  public  : Tpacket_t          _packet_id    ;
    4646//public  : Toperation_t       _operation    ;
    47 //public  : Ttype_t            _type         ;
     47  public  : Ttype_t            _type         ;
    4848  public  : Tcontrol_t         _write_rd     ;
    4949  public  : Tgeneral_address_t _num_reg_rd   ;
     
    6161                                 Tpacket_t          packet_id    ,
    6262                               //Toperation_t       operation    ,
    63                                //Ttype_t            type         ,
     63                                 Ttype_t            type         ,
    6464                                 Tcontrol_t         write_rd     ,
    6565                                 Tgeneral_address_t num_reg_rd   ,
     
    7777      _packet_id     = packet_id    ;
    7878    //_operation     = operation    ;
    79     //_type          = type         ;
     79      _type          = type         ;
    8080      _write_rd      = write_rd     ;
    8181      _num_reg_rd    = num_reg_rd   ;
     
    128128  public    : SC_IN (Tpacket_t         )    *  in_WRITE_QUEUE_IN_PACKET_ID    ;
    129129//public    : SC_IN (Toperation_t      )    *  in_WRITE_QUEUE_IN_OPERATION    ;
    130 //public    : SC_IN (Ttype_t           )    *  in_WRITE_QUEUE_IN_TYPE         ;
     130  public    : SC_IN (Ttype_t           )    *  in_WRITE_QUEUE_IN_TYPE         ;
    131131  public    : SC_IN (Tcontrol_t        )    *  in_WRITE_QUEUE_IN_WRITE_RD     ;
    132132  public    : SC_IN (Tgeneral_address_t)    *  in_WRITE_QUEUE_IN_NUM_REG_RD   ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Parameters.cpp

    r74 r77  
    2929                          uint32_t size_special_data  ,
    3030                          uint32_t nb_special_register,
    31                           uint32_t nb_operation       ,
    32                           uint32_t nb_type            ,
    3331                          uint32_t nb_bypass_write    ):
    3432    _size_queue              (size_queue         ),
     
    4139    _size_special_data       (size_special_data  ),
    4240    _nb_special_register     (nb_special_register),
    43     _nb_operation            (nb_operation       ),
    44     _nb_type                 (nb_type            ),
    4541    _nb_bypass_write         (nb_bypass_write    ),
    4642
     
    5450    _size_general_register   (log2(_nb_general_register)),
    5551    _size_special_register   (log2(_nb_special_register)),
    56     _size_operation          (log2(_nb_operation       )),
    57     _size_type               (log2(_nb_type            )),
    5852
    5953    _have_port_context_id    (_size_context_id    > 0),
     
    7973    _size_special_data       (param._size_special_data      ),
    8074    _nb_special_register     (param._nb_special_register    ),
    81     _nb_operation            (param._nb_operation           ),
    82     _nb_type                 (param._nb_type                ),
    8375    _nb_bypass_write         (param._nb_bypass_write        ),
    8476
     
    9284    _size_general_register   (param._size_general_register  ),
    9385    _size_special_register   (param._size_special_register  ),
    94     _size_operation          (param._size_operation         ),
    95     _size_type               (param._size_type              ),
    9686
    9787    _have_port_context_id    (param._have_port_context_id   ),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Parameters_print.cpp

    r73 r77  
    3737    xml.singleton_begin("size_special_data  "); xml.attribut("value",toString(_size_special_data  )); xml.singleton_end();
    3838    xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
    39     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    40     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    4139    xml.singleton_begin("nb_bypass_write    "); xml.attribut("value",toString(_nb_bypass_write    )); xml.singleton_end();
    4240    xml.balise_close();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp

    r76 r77  
    6060       ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_PACKET_ID    ,"packet_id"    ,Tpacket_t         ,_param->_size_packet_id        );
    6161//     ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation        );
    62 //     ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
     62       ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
    6363       ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RD     ,"write_rd"     ,Tcontrol_t        ,1                              );
    6464       ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RD   ,"num_reg_rd"   ,Tgeneral_address_t,_param->_size_general_register );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_deallocation.cpp

    r73 r77  
    4141        delete      in_WRITE_QUEUE_IN_PACKET_ID    ;
    4242//      delete      in_WRITE_QUEUE_IN_OPERATION    ;
    43 //      delete      in_WRITE_QUEUE_IN_TYPE         ;
     43        delete      in_WRITE_QUEUE_IN_TYPE         ;
    4444        delete      in_WRITE_QUEUE_IN_WRITE_RD     ;
    4545        delete      in_WRITE_QUEUE_IN_NUM_REG_RD   ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp

    r74 r77  
    5353               (_param->_have_port_packet_id    )?PORT_READ(in_WRITE_QUEUE_IN_PACKET_ID    ):0,
    5454             //PORT_READ(in_WRITE_QUEUE_IN_OPERATION    ),
    55              //PORT_READ(in_WRITE_QUEUE_IN_TYPE         ),
     55               PORT_READ(in_WRITE_QUEUE_IN_TYPE         ),
    5656               PORT_READ(in_WRITE_QUEUE_IN_WRITE_RD     ),
    5757               PORT_READ(in_WRITE_QUEUE_IN_NUM_REG_RD   ),
     
    6767          }
    6868
    69         // Test if pop
    70         if (internal_WRITE_QUEUE_OUT_VAL and PORT_READ(in_WRITE_QUEUE_OUT_ACK))
     69        // Test if pop :
     70        //  * transaction on write_queue_out interface
     71        //  * have a speculative load and all register is write in registerfile
     72        if ( (internal_WRITE_QUEUE_OUT_VAL and PORT_READ(in_WRITE_QUEUE_OUT_ACK)) or
     73             ((_queue->empty() == false)                                         and
     74              (_queue->front()->_type      == TYPE_MEMORY)                       and
     75              (_queue->front()->_exception == EXCEPTION_MEMORY_LOAD_SPECULATIVE) and
     76              (_queue->front()->_write_rd  == 0)                                 and
     77              (_queue->front()->_write_re  == 0)))
    7178          {
    7279            delete _queue->front();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Parameters.h

    r74 r77  
    3838  public : const uint32_t            _size_special_data            ;
    3939  public : const uint32_t            _nb_special_register          ;
    40   public : const uint32_t            _nb_operation                 ;
    41   public : const uint32_t            _nb_type                      ;
    4240  public : const uint32_t            _nb_bypass_write              ;
    4341
     
    5149  public : const uint32_t            _size_general_register        ;
    5250  public : const uint32_t            _size_special_register        ;
    53   public : const uint32_t            _size_operation               ;
    54   public : const uint32_t            _size_type                    ;
    5551
    5652  public : const bool                _have_component_execute_queue ;
     
    7470                        uint32_t size_special_data  ,
    7571                        uint32_t nb_special_register,
    76                         uint32_t nb_operation       ,
    77                         uint32_t nb_type            ,
    7872                        uint32_t nb_bypass_write    );
    7973  public : Parameters  (Parameters & param) ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Write_unit.h

    r76 r77  
    7171  public    : SC_IN (Tpacket_t         )    *  in_WRITE_UNIT_IN_PACKET_ID    ;
    7272//public    : SC_IN (Toperation_t      )    *  in_WRITE_UNIT_IN_OPERATION    ;
    73 //public    : SC_IN (Ttype_t           )    *  in_WRITE_UNIT_IN_TYPE         ;
     73  public    : SC_IN (Ttype_t           )    *  in_WRITE_UNIT_IN_TYPE         ;
    7474  public    : SC_IN (Tcontrol_t        )    *  in_WRITE_UNIT_IN_WRITE_RD     ;
    7575  public    : SC_IN (Tgeneral_address_t)    *  in_WRITE_UNIT_IN_NUM_REG_RD   ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Parameters.cpp

    r74 r77  
    2929                          uint32_t size_special_data  ,
    3030                          uint32_t nb_special_register,
    31                           uint32_t nb_operation       ,
    32                           uint32_t nb_type            ,
    3331                          uint32_t nb_bypass_write    ):
    3432    _size_write_queue        (size_write_queue   ),
     
    4240    _size_special_data       (size_special_data  ),
    4341    _nb_special_register     (nb_special_register),
    44     _nb_operation            (nb_operation       ),
    45     _nb_type                 (nb_type            ),
    4642    _nb_bypass_write         (nb_bypass_write    ),
    4743
     
    5551    _size_general_register   (log2(_nb_general_register)),
    5652    _size_special_register   (log2(_nb_special_register)),
    57     _size_operation          (log2(_nb_operation       )),
    58     _size_type               (log2(_nb_type            )),
    5953
    6054    _have_component_execute_queue (_size_execute_queue > 0),
     
    7569                                                                                                                                                    size_special_data  ,
    7670                                                                                                                                                    nb_special_register,
    77                                                                                                                                                     nb_operation       ,
    78                                                                                                                                                     nb_type            ,
    7971                                                                                                                                                    nb_bypass_write    );
    8072   
     
    8678                                                                                                                                                        nb_packet          ,
    8779                                                                                                                                                        size_general_data  ,
    88                                                                                                                                                         size_special_data  ,
    89                                                                                                                                                         nb_operation       ,
    90                                                                                                                                                         nb_type            );
     80                                                                                                                                                        size_special_data  );
    9181
    9282    test();
     
    10898    _size_special_data       (param._size_special_data      ),
    10999    _nb_special_register     (param._nb_special_register    ),
    110     _nb_operation            (param._nb_operation           ),
    111     _nb_type                 (param._nb_type                ),
    112100    _nb_bypass_write         (param._nb_bypass_write        ),
    113101
     
    121109    _size_general_register   (param._size_general_register  ),
    122110    _size_special_register   (param._size_special_register  ),
    123     _size_operation          (param._size_operation         ),
    124     _size_type               (param._size_type              ),
    125111
    126112    _have_component_execute_queue (param._have_component_execute_queue),
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Parameters_print.cpp

    r74 r77  
    3737    xml.singleton_begin("size_special_data  "); xml.attribut("value",toString(_size_special_data  )); xml.singleton_end();
    3838    xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
    39     xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
    40     xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
    4139    xml.singleton_begin("nb_bypass_write    "); xml.attribut("value",toString(_nb_bypass_write    )); xml.singleton_end();
    4240    xml.balise_close();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp

    r76 r77  
    6666       ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_PACKET_ID    ,"packet_id"    ,Tpacket_t         ,_param->_size_packet_id        );
    6767//     ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation        );
    68 //     ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
     68       ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
    6969       ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_WRITE_RD     ,"write_rd"     ,Tcontrol_t        ,1                              );
    7070       ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_NUM_REG_RD   ,"num_reg_rd"   ,Tgeneral_address_t,_param->_size_general_register );
     
    199199       _component->port_map(name, "in_WRITE_QUEUE_IN_PACKET_ID"    , _name, "in_WRITE_UNIT_IN_PACKET_ID"    );
    200200     //_component->port_map(name, "in_WRITE_QUEUE_IN_OPERATION"    , _name, "in_WRITE_UNIT_IN_OPERATION"    );
    201      //_component->port_map(name, "in_WRITE_QUEUE_IN_TYPE"         , _name, "in_WRITE_UNIT_IN_TYPE"         );
     201       _component->port_map(name, "in_WRITE_QUEUE_IN_TYPE"         , _name, "in_WRITE_UNIT_IN_TYPE"         );
    202202       _component->port_map(name, "in_WRITE_QUEUE_IN_WRITE_RD"     , _name, "in_WRITE_UNIT_IN_WRITE_RD"     );
    203203       _component->port_map(name, "in_WRITE_QUEUE_IN_NUM_REG_RD"   , _name, "in_WRITE_UNIT_IN_NUM_REG_RD"   );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_deallocation.cpp

    r74 r77  
    4040        delete      in_WRITE_UNIT_IN_PACKET_ID    ;
    4141//      delete      in_WRITE_UNIT_IN_OPERATION    ;
    42 //      delete      in_WRITE_UNIT_IN_TYPE         ;
     42        delete      in_WRITE_UNIT_IN_TYPE         ;
    4343        delete      in_WRITE_UNIT_IN_WRITE_RD     ;
    4444        delete      in_WRITE_UNIT_IN_NUM_REG_RD   ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile

    r23 r77  
    88
    99#-----[ Directory ]----------------------------------------
    10 DIR_COMPONENT                   = ./
     10DIR_COMPONENT                   = .
    1111include                         $(DIR_COMPONENT)/Makefile.defs
    1212
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Component

    r71 r77  
    1 #-----[ Directory ]----------------------------------------
     1#-----[ Directory ]----------------------------------------
    22DIR_DOC                         = doc
    33DIR_LIB                         = lib
    44DIR_TEST                        = SelfTest
    55
    6 #-----[ Variable ]-----------------------------------------
     6#-----[ Variable ]-----------------------------------------
    77OBJECTS                         = $(OBJECTS_COMMON)
    88
    9 #-----[ Rules ]--------------------------------------------
     9#-----[ Rules ]--------------------------------------------
    1010.PRECIOUS                       : $(DIR_LIB)/%.a
    1111#.NOTPARALLEL                   : clean help
     
    3333component_help                  :
    3434                                @\
    35                                 $(ECHO) " -----[ Component ]----------------------------------";\
     35                                $(ECHO) " -----[ Component ]----------------------------------";\
    3636                                $(ECHO) "";\
    3737                                $(ECHO) " * all_component        : compile all c++ file and generate library";\
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.deps

    r76 r77  
    22# $Id$
    33#
    4 # [ Description ]
     4# [ Description ]
    55#
    66# Makefile
     
    1414endif
    1515
    16 #-----[ Library ]------------------------------------------
    17 Behavioural_LIBRARY             =       -lBehavioural                           
     16#-----[ Directory ]----------------------------------------
    1817
    19 Behavioural_DIR_LIBRARY         =       -L$(DIR_MORPHEO)/Behavioural/lib
     18Behavioural_DIR                 =       $(DIR_MORPHEO)/Behavioural
    2019
    21 Behavioural_DEPENDENCIES        =       Common_library
     20#-----[ Library ]------------------------------------------
    2221
    23 Behavioural_CLEAN               =       Common_library_clean
     22Behavioural_LIBRARY             =       -lCommon                \
     23                                        -lBehavioural   
    2424
     25Behavioural_DIR_LIBRARY         =       -L$(Common_DIR)/lib     \
     26                                        -L$(Behavioural_DIR)/lib
    2527
    26 #-----[ Rules ]--------------------------------------------
     28#-----[ Rules ]--------------------------------------------
    2729
    28 #.NOTPARALLEL                   : Behavioural_library
    29 #.NOTPARALLEL                   : Behavioural_library_clean
     30Behavioural_library             :
     31                                @\
     32                                $(MAKE) Common_library;
     33                                $(MAKE) --directory=$(Behavioural_DIR)  --makefile=Makefile;
    3034
    31 Behavioural_library             : $(Behavioural_DEPENDENCIES)
     35Behavioural_library_clean       :
    3236                                @\
    33                                 $(MAKE) --directory=$(DIR_MORPHEO)/Behavioural --makefile=Makefile ;
    34 
    35 Behavioural_library_clean       : $(Behavioural_CLEAN)
    36                                 @\
    37                                 $(MAKE) --directory=$(DIR_MORPHEO)/Behavioural --makefile=Makefile clean;
     37                                $(MAKE) Common_library_clean;
     38                                $(MAKE) --directory=$(Behavioural_DIR)  --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component.sh

    r76 r77  
    3333function test_usage ()
    3434{
    35     if test ! -d $SOURCE_DIR; then
    36         echo "Source directory \"$SOURCE_DIR\" invalid";
    37         usage;
    38     fi;
    39 
    4035    if test   -d $TMP_DIR; then
    4136        echo "Temporary directory \"$TMP_DIR\" exist already";
     
    6863    fi;
    6964
     65    if test ! -d $SOURCE_DIR; then
     66        echo "Source directory \"$SOURCE_DIR\" invalid";
     67        usage;
     68    fi;
     69
    7070#    if test -d $1/$2; then
    7171#       echo "Component in Directory \"$1/$2\" already exist";
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/Makefile.deps

    r76 r77  
    1919
    2020#-----[ Library ]------------------------------------------
     21
    2122@COMPONENT_LIBRARY              =       -l@COMPONENT    \
    2223                                        $(Behavioural_LIBRARY) 
     
    2930@COMPONENT_library              :
    3031                                @\
    31                                 $(MAKE) --directory=$(Behavioural_DIR) --makefile=Makefile;
     32                                $(MAKE) Behavioural_library;
    3233                                $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile;
    3334
    3435@COMPONENT_library_clean        :
    3536                                @\
    36                                 $(MAKE) --directory=$(Behavioural_DIR) --makefile=Makefile clean;
     37                                $(MAKE) Behavioural_library_clean;
    3738                                $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/include/Parameters.h

    r76 r77  
    1111#include "Common/include/Debug.h"
    1212#include "Behavioural/include/Parameters.h"
    13 #include <math.h>
    1413
    1514namespace morpheo {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/Makefile.deps

    r76 r77  
    1919
    2020#-----[ Library ]------------------------------------------
     21
    2122@COMPONENT_LIBRARY              =       -l@COMPONENT    \
    2223                                        $(Behavioural_LIBRARY) 
     
    2930@COMPONENT_library              :
    3031                                @\
    31                                 $(MAKE) --directory=$(Behavioural_DIR) --makefile=Makefile;
     32                                $(MAKE) Behavioural_library;
    3233                                $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile;
    3334
    3435@COMPONENT_library_clean        :
    3536                                @\
    36                                 $(MAKE) --directory=$(Behavioural_DIR) --makefile=Makefile clean;
     37                                $(MAKE) Behavioural_library_clean;
    3738                                $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile clean;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vst/include/Parameters.h

    r76 r77  
    1111#include "Common/include/Debug.h"
    1212#include "Behavioural/include/Parameters.h"
    13 #include <math.h>
    1413
    1514namespace morpheo {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Constants.h

    r76 r77  
    1010#  define TYPE_MOVE                                0x2        // 00000 - unit multiple
    1111#  define TYPE_TEST                                0x3        // 00000 - unit multiple
    12 #  define TYPE_MUL_DIV                             0x4        // 00000 - unit multiple, type optionnal
     12#  define TYPE_MUL_DIV                             0x4        // 00000 - unit multiple
    1313#  define TYPE_EXTEND                              0x5        // 00000 - unit multiple, type optionnal
    1414#  define TYPE_FIND                                0x6        // 00000 - unit multiple, type optionnal
    1515#  define TYPE_SPECIAL                             0x7        // 00000 - unit uniq
    16 #  define TYPE_CUSTOM                              0x8        // 00000 - unit uniq
    17 #  define TYPE_BRANCH                              0x9        // 00000 - unit multiple, to a special routing
     16#  define TYPE_CUSTOM                              0x8        // 00000 - unit uniq    , type optionnal
     17#  define TYPE_BRANCH                              0x9        // 00000 - unit multiple
    1818#  define TYPE_MEMORY                              0xa        // 00000 - unit uniq
    19 #  define MAX_TYPE                                 0x10       // 00000 - unit uniq
     19
     20#  define SIZE_TYPE                                5
     21#  define MAX_TYPE                                 (1<<SIZE_TYPE)
    2022
    2123  //====================================================[ Operation ]=====
     
    186188#  define OPERATION_CUSTOM_LV_4                    0x4f       // 100_1111
    187189
    188 #  define MAX_OPERATION                            0x80
     190#  define SIZE_OPERATION                           7
     191#  define MAX_OPERATION                            (1<<SIZE_OPERATION)
    189192
    190193  //====================================================[ Exception ]=====
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h

    r73 r77  
    2929#define         DEBUG_Multi_Write_unit                            false
    3030#define           DEBUG_Write_unit                                false
    31 #define             DEBUG_Execute_queue                           true
    32 #define             DEBUG_Write_queue                             true
     31#define             DEBUG_Execute_queue                           false
     32#define             DEBUG_Write_queue                             false
     33#define         DEBUG_Network                                     true
     34#define           DEBUG_Execution_unit_to_Write_unit              true
     35#define           DEBUG_Read_unit_to_Execution_unit               true
    3336#define         DEBUG_Register_unit                               false
    3437#define           DEBUG_Register_unit_Glue                        false
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Parameters.h

    r72 r77  
    55 * $Id$
    66 *
    7  * [ Description ]
     7 * [ Description ]
    88 *
    99 */
     
    2525  class Parameters
    2626  {
    27     // -----[ fields ]----------------------------------------------------
     27    // -----[ fields ]----------------------------------------------------
     28  public   : static const uint32_t   _nb_operation        = MAX_OPERATION;
     29  public   : static const uint32_t   _nb_type             = MAX_TYPE;
     30  public   : static const uint32_t   _size_operation      = SIZE_OPERATION;
     31  public   : static const uint32_t   _size_type           = SIZE_TYPE;     
    2832  public   : static const uint32_t   _size_exception      = SIZE_EXCEPTION;
    2933  public   : static const uint32_t   _size_dcache_type    = SIZE_DCACHE_TYPE;
    3034  public   : static const uint32_t   _size_dcache_error   = SIZE_DCACHE_ERROR;
    3135
    32     // -----[ methods ]---------------------------------------------------
     36    // -----[ methods ]---------------------------------------------------
    3337  public   :                  Parameters            (void);
    3438  public   : virtual          ~Parameters           ();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Types.h

    r73 r77  
    33
    44#include "Common/include/Types.h"
     5#include "Common/include/ToString.h"
    56#include "Behavioural/include/Constants.h"
    67
     
    5657  };
    5758
    58   inline Tcontext_t get_num_thread (Tcontext_t num_context_id ,
    59                                     uint32_t   size_context_id,
    60                                     Tcontext_t num_front_end_id ,
    61                                     uint32_t   size_front_end_id,
    62                                     Tcontext_t num_ooo_engine_id ,
    63                                     uint32_t   size_ooo_engine_id)
     59  inline Tcontext_t get_num_thread (Tcontext_t num_context_id   , uint32_t size_context_id   ,
     60                                    Tcontext_t num_front_end_id , uint32_t size_front_end_id ,
     61                                    Tcontext_t num_ooo_engine_id, uint32_t size_ooo_engine_id)
    6462  {
    6563    return ((num_ooo_engine_id << (size_context_id + size_front_end_id)) |
     
    6765            (num_context_id));
    6866  }
    69                                    
    7067
     68  inline uint32_t get_nb_thread (uint32_t nb_context ,
     69                                 uint32_t nb_front_end ,
     70                                 uint32_t nb_ooo_engine )
     71  {
     72    return (nb_ooo_engine *
     73            nb_front_end  *
     74            nb_context) ;
     75  }
    7176
    7277}; // end namespace behavioural
     78
     79  inline std::string toString_type(const morpheo::behavioural::Ttype_t& x)
     80  {
     81    switch (x)
     82      {
     83      case TYPE_ALU     : return "ALU"    ; break;
     84      case TYPE_SHIFT   : return "SHIFT"  ; break;
     85      case TYPE_MOVE    : return "MOVE"   ; break;
     86      case TYPE_TEST    : return "TEST"   ; break;
     87      case TYPE_MUL_DIV : return "MUL_DIV"; break;
     88      case TYPE_EXTEND  : return "EXTEND" ; break;
     89      case TYPE_FIND    : return "FIND"   ; break;
     90      case TYPE_SPECIAL : return "SPECIAL"; break;
     91      case TYPE_CUSTOM  : return "CUSTOM" ; break;
     92      case TYPE_BRANCH  : return "BRANCH" ; break;
     93      case TYPE_MEMORY  : return "MEMORY" ; break;
     94      default           : return ""       ; break;
     95      }
     96  };
     97
    7398}; // end namespace morpheo             
    7499
  • trunk/IPs/systemC/processor/Morpheo/Common/Makefile

    r71 r77  
    88
    99#-----[ Directory ]----------------------------------------
    10 DIR_COMPONENT                   = ./
     10DIR_COMPONENT                   = .
    1111include                         $(DIR_COMPONENT)/Makefile.defs
    1212
  • trunk/IPs/systemC/processor/Morpheo/Common/Makefile.deps

    r71 r77  
    1010Common                  =       yes
    1111
     12#-----[ Directory ]----------------------------------------
     13
     14Common_DIR              =       $(DIR_MORPHEO)/Common
     15
    1216#-----[ Library ]------------------------------------------
     17
    1318Common_LIBRARY          =       -lCommon
    1419
    15 Common_DIR_LIBRARY      =       -L$(DIR_MORPHEO)/Common/lib
    16 
    17 Common_DEPENDENCIES     =
    18 
    19 Common_CLEAN            =
    20 
     20Common_DIR_LIBRARY      =       -L$(Common_DIR)/lib
    2121
    2222#-----[ Rules ]--------------------------------------------
    2323
    24 #.NOTPARALLEL           : Common_library Common_library_clean
     24Common_library          :
     25                        @\
     26                        $(MAKE) --directory=$(Common_DIR) --makefile=Makefile
    2527
    26 Common_library          : $(Common_DEPENDENCIES)
     28Common_library_clean    :
    2729                        @\
    28                         $(MAKE) --directory=$(DIR_MORPHEO)/Common --makefile=Makefile
    29        
    30 Common_library_clean    : $(Common_CLEAN)
    31                         @\
    32                         $(MAKE) --directory=$(DIR_MORPHEO)/Common --makefile=Makefile clean
     30                        $(MAKE) --directory=$(Common_DIR) --makefile=Makefile clean
Note: See TracChangeset for help on using the changeset viewer.