Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (16 years ago)
Author:
rosiere
Message:

Almost complete design
with Test and test platform

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters.cpp

    r81 r88  
    2020#define FUNCTION "Read_unit::Parameters"
    2121  Parameters::Parameters (uint32_t size_read_queue         ,
    22                           uint32_t size_reservation_station,
    23                           uint32_t nb_context              ,
    24                           uint32_t nb_front_end            ,
    25                           uint32_t nb_ooo_engine           ,
    26                           uint32_t nb_packet               ,
    27                           uint32_t size_general_data       ,
    28                           uint32_t size_special_data       ,
    29                           uint32_t nb_general_register     ,
    30                           uint32_t nb_special_register     ,
    31                           uint32_t nb_gpr_write            ,
    32                           uint32_t nb_spr_write            ,
    33                           uint32_t size_store_queue        ,
    34                           uint32_t size_load_queue         ,
    35                           uint32_t nb_inst_retire          ,
    36                           uint32_t nb_bypass_write         ,
    37                           uint32_t nb_bypass_memory        ):
    38     _size_read_queue          (size_read_queue         ),
    39     _size_reservation_station (size_reservation_station),
    40     _nb_context               (nb_context              ),
    41     _nb_front_end             (nb_front_end            ),
    42     _nb_ooo_engine            (nb_ooo_engine           ),
    43     _nb_packet                (nb_packet               ),
    44     _size_general_data        (size_general_data       ),
    45     _size_special_data        (size_special_data       ),
    46     _nb_general_register      (nb_general_register     ),
    47     _nb_special_register      (nb_special_register     ),
    48     _nb_gpr_write             (nb_gpr_write            ),
    49     _nb_spr_write             (nb_spr_write            ),
    50     _size_store_queue         (size_store_queue        ),
    51     _size_load_queue          (size_load_queue         ),
    52     _nb_inst_retire           (nb_inst_retire          ),
    53     _nb_bypass_write          (nb_bypass_write         ),
    54     _nb_bypass_memory         (nb_bypass_memory        ),
    55    
    56     _nb_gpr_read              (2),
    57     _nb_spr_read              (1),   
    58     _size_context_id          (log2(nb_context         )),
    59     _size_front_end_id        (log2(nb_front_end       )),
    60     _size_ooo_engine_id       (log2(nb_ooo_engine      )),
    61     _size_packet_id           (log2(nb_packet          )),
    62     _size_general_register    (log2(nb_general_register)),
    63     _size_special_register    (log2(nb_special_register)),
    64    
    65     _have_port_context_id     (_size_context_id   >0),
    66     _have_port_front_end_id   (_size_front_end_id >0),
    67     _have_port_ooo_engine_id  (_size_ooo_engine_id>0),
    68     _have_port_packet_id      (_size_packet_id    >0),
    69     _have_port_load_queue_ptr (_size_load_queue   >1)
     22                          uint32_t size_reservation_station,
     23                          uint32_t nb_context              ,
     24                          uint32_t nb_front_end            ,
     25                          uint32_t nb_ooo_engine           ,
     26                          uint32_t nb_packet               ,
     27                          uint32_t size_general_data       ,
     28                          uint32_t size_special_data       ,
     29                          uint32_t nb_general_register     ,
     30                          uint32_t nb_special_register     ,
     31                          uint32_t nb_gpr_write            ,
     32                          uint32_t nb_spr_write            ,
     33                          uint32_t size_store_queue        ,
     34                          uint32_t size_load_queue         ,
     35                          uint32_t nb_inst_retire          ,
     36                          uint32_t nb_bypass_write         ,
     37                          uint32_t nb_bypass_memory        ,
     38                          bool     is_toplevel)
    7039  {
    7140    log_printf(FUNC,Read_unit,FUNCTION,"Begin");
    7241
     42    _size_read_queue          = size_read_queue         ;
     43    _size_reservation_station = size_reservation_station;
     44    _nb_context               = nb_context              ;
     45    _nb_front_end             = nb_front_end            ;
     46    _nb_ooo_engine            = nb_ooo_engine           ;
     47    _nb_packet                = nb_packet               ;
     48    _nb_general_register      = nb_general_register     ;
     49    _nb_special_register      = nb_special_register     ;
     50    _nb_gpr_write             = nb_gpr_write            ;
     51    _nb_spr_write             = nb_spr_write            ;
     52    _nb_inst_retire           = nb_inst_retire          ;
     53    _nb_bypass_write          = nb_bypass_write         ;
     54    _nb_bypass_memory         = nb_bypass_memory        ;
     55   
     56    _nb_gpr_read              = 2;
     57    _nb_spr_read              = 1;   
     58
    7359    _param_read_queue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters
    74       ( _size_read_queue   
    75         ,_nb_context         
    76         ,_nb_front_end       
    77         ,_nb_ooo_engine
    78         ,_nb_packet         
    79         ,_size_general_data 
    80         ,_size_special_data 
    81         ,_nb_general_register
    82         ,_nb_special_register
    83         ,_nb_gpr_write
    84         ,_nb_spr_write
    85         ,_size_store_queue
    86         ,_size_load_queue
    87         );
     60      (_size_read_queue   
     61      ,_nb_context         
     62      ,_nb_front_end       
     63      ,_nb_ooo_engine
     64      ,_nb_packet         
     65      , size_general_data 
     66      , size_special_data 
     67      ,_nb_general_register
     68      ,_nb_special_register
     69      ,_nb_gpr_write
     70      ,_nb_spr_write
     71      , size_store_queue
     72      , size_load_queue
     73      );
    8874
    8975    _param_reservation_station = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Parameters
    90         (size_reservation_station
    91          ,nb_inst_retire     
    92          ,nb_context         
    93          ,nb_front_end       
    94          ,nb_ooo_engine
    95          ,nb_packet         
    96          ,size_general_data 
    97          ,size_special_data 
    98          ,nb_general_register
    99          ,nb_special_register
    100          ,nb_gpr_write
    101          ,nb_spr_write
    102          ,nb_bypass_write
    103          ,nb_bypass_memory
    104          ,size_store_queue
    105          ,size_load_queue
    106          );
    107 
     76        (_size_reservation_station
     77        ,_nb_inst_retire     
     78        ,_nb_context         
     79        ,_nb_front_end       
     80        ,_nb_ooo_engine
     81        ,_nb_packet         
     82        , size_general_data 
     83        , size_special_data 
     84        ,_nb_general_register
     85        ,_nb_special_register
     86        ,_nb_gpr_write
     87        ,_nb_spr_write
     88        ,_nb_bypass_write
     89        ,_nb_bypass_memory
     90        , size_store_queue
     91        , size_load_queue
     92        );
    10893
    10994    test();
     95
     96    if (is_toplevel)
     97      {
     98        _size_context_id          = log2(nb_context         );
     99        _size_front_end_id        = log2(nb_front_end       );
     100        _size_ooo_engine_id       = log2(nb_ooo_engine      );
     101        _size_rob_ptr             = log2(nb_packet          );
     102        _size_general_register    = log2(nb_general_register);
     103        _size_special_register    = log2(nb_special_register);
     104        _size_general_data        = size_general_data       ;
     105        _size_special_data        = size_special_data       ;
     106        _size_store_queue_ptr     = log2(size_store_queue   );
     107        _size_load_queue_ptr      = log2(size_load_queue    );
     108       
     109        _have_port_context_id     = _size_context_id     > 0;
     110        _have_port_front_end_id   = _size_front_end_id   > 0;
     111        _have_port_ooo_engine_id  = _size_ooo_engine_id  > 0;
     112        _have_port_rob_ptr        = _size_rob_ptr        > 0;
     113        _have_port_load_queue_ptr = _size_load_queue_ptr > 0;
     114
     115        copy();
     116      }
    110117
    111118    log_printf(FUNC,Read_unit,FUNCTION,"End");
    112119  };
    113120 
     121// #undef  FUNCTION
     122// #define FUNCTION "Read_unit::Parameters (copy)"
     123//   Parameters::Parameters (Parameters & param):
     124//     _size_read_queue          (param._size_read_queue         ),
     125//     _size_reservation_station (param._size_reservation_station),
     126//     _nb_context               (param._nb_context              ),
     127//     _nb_front_end             (param._nb_front_end            ),
     128//     _nb_ooo_engine            (param._nb_ooo_engine           ),
     129//     _nb_packet                (param._nb_packet               ),
     130//     _size_general_data        (param._size_general_data       ),
     131//     _size_special_data        (param._size_special_data       ),
     132//     _nb_general_register      (param._nb_general_register     ),
     133//     _nb_special_register      (param._nb_special_register     ),
     134//     _nb_gpr_write             (param._nb_gpr_write            ),
     135//     _nb_spr_write             (param._nb_spr_write            ),
     136//     _size_store_queue         (param._size_store_queue        ),
     137//     _size_load_queue          (param._size_load_queue         ),
     138//     _nb_inst_retire           (param._nb_inst_retire          ),
     139//     _nb_bypass_write          (param._nb_bypass_write         ),
     140//     _nb_bypass_memory         (param._nb_bypass_memory        ),
     141
     142//     _nb_gpr_read              (param._nb_gpr_read             ),
     143//     _nb_spr_read              (param._nb_spr_read             ),   
     144//     _size_context_id          (param._size_context_id         ),
     145//     _size_front_end_id        (param._size_front_end_id       ),
     146//     _size_ooo_engine_id       (param._size_ooo_engine_id      ),
     147//     _size_packet_id           (param._size_packet_id          ),
     148//     _size_general_register    (param._size_general_register   ),
     149//     _size_special_register    (param._size_special_register   ),
     150
     151//     _have_port_context_id     (param._have_port_context_id    ),
     152//     _have_port_front_end_id   (param._have_port_front_end_id  ),
     153//     _have_port_ooo_engine_id  (param._have_port_ooo_engine_id ),
     154//     _have_port_packet_id      (param._have_port_packet_id     ),
     155//     _have_port_load_queue_ptr (param._have_port_load_queue_ptr)
     156//   {
     157//     log_printf(FUNC,Read_unit,FUNCTION,"Begin");
     158
     159//     _param_read_queue          = param._param_read_queue         ;
     160//     _param_reservation_station = param._param_reservation_station;
     161
     162//     test();
     163
     164//     log_printf(FUNC,Read_unit,FUNCTION,"End");
     165//   };
     166
    114167#undef  FUNCTION
    115 #define FUNCTION "Read_unit::Parameters (copy)"
    116   Parameters::Parameters (Parameters & param):
    117     _size_read_queue          (param._size_read_queue         ),
    118     _size_reservation_station (param._size_reservation_station),
    119     _nb_context               (param._nb_context              ),
    120     _nb_front_end             (param._nb_front_end            ),
    121     _nb_ooo_engine            (param._nb_ooo_engine           ),
    122     _nb_packet                (param._nb_packet               ),
    123     _size_general_data        (param._size_general_data       ),
    124     _size_special_data        (param._size_special_data       ),
    125     _nb_general_register      (param._nb_general_register     ),
    126     _nb_special_register      (param._nb_special_register     ),
    127     _nb_gpr_write             (param._nb_gpr_write            ),
    128     _nb_spr_write             (param._nb_spr_write            ),
    129     _size_store_queue         (param._size_store_queue        ),
    130     _size_load_queue          (param._size_load_queue         ),
    131     _nb_inst_retire           (param._nb_inst_retire          ),
    132     _nb_bypass_write          (param._nb_bypass_write         ),
    133     _nb_bypass_memory         (param._nb_bypass_memory        ),
    134 
    135     _nb_gpr_read              (param._nb_gpr_read             ),
    136     _nb_spr_read              (param._nb_spr_read             ),   
    137     _size_context_id          (param._size_context_id         ),
    138     _size_front_end_id        (param._size_front_end_id       ),
    139     _size_ooo_engine_id       (param._size_ooo_engine_id      ),
    140     _size_packet_id           (param._size_packet_id          ),
    141     _size_general_register    (param._size_general_register   ),
    142     _size_special_register    (param._size_special_register   ),
    143 
    144     _have_port_context_id     (param._have_port_context_id    ),
    145     _have_port_front_end_id   (param._have_port_front_end_id  ),
    146     _have_port_ooo_engine_id  (param._have_port_ooo_engine_id ),
    147     _have_port_packet_id      (param._have_port_packet_id     ),
    148     _have_port_load_queue_ptr (param._have_port_load_queue_ptr)
     168#define FUNCTION "Read_unit::~Parameters"
     169  Parameters::~Parameters (void)
    149170  {
    150171    log_printf(FUNC,Read_unit,FUNCTION,"Begin");
    151172
    152     _param_read_queue          = param._param_read_queue         ;
    153     _param_reservation_station = param._param_reservation_station;
    154 
    155     test();
     173    delete _param_read_queue;
     174    delete _param_reservation_station;
    156175
    157176    log_printf(FUNC,Read_unit,FUNCTION,"End");
     
    159178
    160179#undef  FUNCTION
    161 #define FUNCTION "Read_unit::~Parameters"
    162   Parameters::~Parameters ()
     180#define FUNCTION "Read_unit::copy"
     181  void Parameters::copy (void)
    163182  {
    164183    log_printf(FUNC,Read_unit,FUNCTION,"Begin");
    165184
    166     delete _param_read_queue;
    167     delete _param_reservation_station;
     185    COPY(_param_read_queue);
     186    COPY(_param_reservation_station);
    168187
    169188    log_printf(FUNC,Read_unit,FUNCTION,"End");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters_print.cpp

    r81 r88  
    3939    xml.singleton_begin("nb_gpr_write            "); xml.attribut("value",toString(_nb_gpr_write            )); xml.singleton_end();
    4040    xml.singleton_begin("nb_spr_write            "); xml.attribut("value",toString(_nb_spr_write            )); xml.singleton_end();
    41     xml.singleton_begin("size_store_queue        "); xml.attribut("value",toString(_size_store_queue        )); xml.singleton_end();
    42     xml.singleton_begin("size_load_queue         "); xml.attribut("value",toString(_size_load_queue         )); xml.singleton_end();
     41//  xml.singleton_begin("size_store_queue        "); xml.attribut("value",toString(_size_store_queue        )); xml.singleton_end();
     42//  xml.singleton_begin("size_load_queue         "); xml.attribut("value",toString(_size_load_queue         )); xml.singleton_end();
    4343    xml.singleton_begin("nb_inst_retire          "); xml.attribut("value",toString(_nb_inst_retire          )); xml.singleton_end();
    4444    xml.singleton_begin("nb_bypass_write         "); xml.attribut("value",toString(_nb_bypass_write         )); xml.singleton_end();
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit.cpp

    r81 r88  
    3838    log_printf(FUNC,Read_unit,FUNCTION,"Begin");
    3939
     40#if DEBUG_Read_unit == true
     41    log_printf(INFO,Read_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
     42
     43    std::cout << *param << std::endl;
     44#endif   
     45
    4046    log_printf(INFO,Read_unit,FUNCTION,"Allocation");
    4147
     
    4753
    4854#ifdef STATISTICS
    49     if (_usage & USE_STATISTICS)
     55    if (usage_is_set(_usage,USE_STATISTICS))
    5056      {
    5157        log_printf(INFO,Read_unit,FUNCTION,"Allocation of statistics");
     
    5662
    5763#ifdef VHDL
    58     if (_usage & USE_VHDL)
     64    if (usage_is_set(_usage,USE_VHDL))
    5965      {
    6066        // generate the vhdl
     
    6672
    6773#ifdef SYSTEMC
    68     if (_usage & USE_SYSTEMC)
     74    if (usage_is_set(_usage,USE_SYSTEMC))
    6975      {
    7076        log_printf(INFO,Read_unit,FUNCTION,"Method - transition");
     
    9096
    9197#ifdef STATISTICS
    92     if (_usage & USE_STATISTICS)
     98    if (usage_is_set(_usage,USE_STATISTICS))
    9399      {
    94100        log_printf(INFO,Read_unit,FUNCTION,"Generate Statistics file");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_allocation.cpp

    r82 r88  
    4848                                                         ,IN
    4949                                                         ,SOUTH,
    50                                                          "Generalist interface"
     50                                                         _("Generalist interface")
    5151#endif
    5252                                                         );
     
    5757    // ~~~~~[ Interface "read_unit_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    5858     {
    59        ALLOC_INTERFACE("read_unit_in", IN, WEST, "Enter of new operation");
     59       ALLOC_INTERFACE("read_unit_in", IN, WEST, _("Enter of new operation"));
    6060
    6161       ALLOC_VALACK_IN    ( in_READ_UNIT_IN_VAL,VAL);
     
    6464       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_FRONT_END_ID         ,"front_end_id"         ,Tcontext_t        ,_param->_size_front_end_id );
    6565       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_OOO_ENGINE_ID        ,"ooo_engine_id"        ,Tcontext_t        ,_param->_size_ooo_engine_id);
    66        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_PACKET_ID            ,"packet_id"            ,Tpacket_t         ,_param->_size_packet_id    );
     66       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_PACKET_ID            ,"packet_id"            ,Tpacket_t         ,_param->_size_rob_ptr    );
    6767       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_OPERATION            ,"operation"            ,Toperation_t      ,_param->_size_operation    );
    6868       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_TYPE                 ,"type"                 ,Ttype_t           ,_param->_size_type         );
    69        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,log2(_param->_size_store_queue));
    70        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,log2(_param->_size_load_queue));
     69       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue_ptr);
     70       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,_param->_size_load_queue_ptr);
    7171       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_HAS_IMMEDIAT         ,"has_immediat"         ,Tcontrol_t        ,1);
    7272       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_IMMEDIAT             ,"immediat"             ,Tgeneral_data_t   ,_param->_size_general_data);
     
    8585    // ~~~~~[ Interface "read_unit_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    8686     {
    87        ALLOC1_INTERFACE("read_unit_out", OUT, EAST, "Output of operation. All operand is valid.", _param->_nb_inst_retire);
     87       ALLOC1_INTERFACE("read_unit_out", OUT, EAST, _("Output of operation. All operand is valid."), _param->_nb_inst_retire);
    8888
    8989       ALLOC1_VALACK_OUT   (out_READ_UNIT_OUT_VAL,VAL);
     
    9292       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_FRONT_END_ID         ,"front_end_id"         ,Tcontext_t        ,_param->_size_front_end_id    );
    9393       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_OOO_ENGINE_ID        ,"ooo_engine_id"        ,Tcontext_t        ,_param->_size_ooo_engine_id   );
    94        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_PACKET_ID            ,"packet_id"            ,Tpacket_t         ,_param->_size_packet_id       );
     94       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_PACKET_ID            ,"packet_id"            ,Tpacket_t         ,_param->_size_rob_ptr       );
    9595       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_OPERATION            ,"operation"            ,Toperation_t      ,_param->_size_operation       );
    9696       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_TYPE                 ,"type"                 ,Ttype_t           ,_param->_size_type            );
    97        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,log2(_param->_size_store_queue));
    98        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,log2(_param->_size_load_queue ));
     97       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue_ptr);
     98       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,_param->_size_load_queue_ptr);
    9999       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_HAS_IMMEDIAT         ,"has_immediat"         ,Tcontrol_t        ,1                             );
    100100       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_IMMEDIAT             ,"immediat"             ,Tgeneral_data_t   ,_param->_size_general_data    );
     
    110110    // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    111111     {
    112        ALLOC1_INTERFACE("gpr_read", OUT, SOUTH, "Read port.", _param->_nb_gpr_read);
     112       ALLOC1_INTERFACE("gpr_read", OUT, SOUTH, _("Read port."), _param->_nb_gpr_read);
    113113
    114114       ALLOC1_VALACK_OUT   (out_GPR_READ_VAL,VAL);
     
    122122    // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    123123     {
    124        ALLOC1_INTERFACE("spr_read", OUT, SOUTH, "Read port.", _param->_nb_spr_read);
     124       ALLOC1_INTERFACE("spr_read", OUT, SOUTH, _("Read port."), _param->_nb_spr_read);
    125125
    126126       ALLOC1_VALACK_OUT   (out_SPR_READ_VAL,VAL);
     
    134134    // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    135135     {
    136        ALLOC1_INTERFACE("gpr_write", IN , SOUTH, "Write port.", _param->_nb_gpr_write);
     136       ALLOC1_INTERFACE("gpr_write", IN , SOUTH, _("Write port."), _param->_nb_gpr_write);
    137137
    138138       ALLOC1_VALACK_IN    ( in_GPR_WRITE_VAL,VAL);
     
    144144    // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    145145     {
    146        ALLOC1_INTERFACE("spr_write", IN , SOUTH, "Write port.", _param->_nb_spr_write);
     146       ALLOC1_INTERFACE("spr_write", IN , SOUTH, _("Write port."), _param->_nb_spr_write);
    147147
    148148       ALLOC1_VALACK_IN    ( in_SPR_WRITE_VAL,VAL);
     
    154154    // ~~~~~[ Interface "bypass_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    155155     {
    156        ALLOC1_INTERFACE("bypass_write", IN , NORTH, "Output of write_queue.", _param->_nb_bypass_write);
     156       ALLOC1_INTERFACE("bypass_write", IN , NORTH, _("Output of write_queue."), _param->_nb_bypass_write);
    157157
    158158       ALLOC1_SIGNAL_IN ( in_BYPASS_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id   );
     
    167167    // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    168168     {
    169        ALLOC1_INTERFACE("bypass_memory", IN , NORTH, "Output of write_queue.", _param->_nb_bypass_memory);
     169       ALLOC1_INTERFACE("bypass_memory", IN , NORTH, _("Output of write_queue."), _param->_nb_bypass_memory);
    170170
    171171       ALLOC1_SIGNAL_IN ( in_BYPASS_MEMORY_VAL          ,"val"          ,Tcontrol_t        ,1);
     
    177177    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    178178
    179     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    180 
    181179     std::string name;
    182180
    183181     {
    184182       name = _name+"_read_queue";
     183       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());
    185184       
    186185       _component_read_queue  = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Read_queue
     
    200199     {
    201200       name = _name+"_reservation_station";
    202        
     201       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());     
     202 
    203203       _component_reservation_station  = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Reservation_station
    204204         (name.c_str()
     
    219219     {
    220220       name = _name+"_read_queue";
    221        std::cout << "Instance : " << name << std::endl;
     221       log_printf(INFO,Core,FUNCTION,_("Instance : %s"),name.c_str());
     222
    222223       {
    223224#ifdef POSITION
     
    246247         if (_param->_have_port_ooo_engine_id)
    247248         _component->port_map(name, "in_READ_QUEUE_IN_OOO_ENGINE_ID"        ,dest, "in_READ_UNIT_IN_OOO_ENGINE_ID"        );
    248          if (_param->_have_port_packet_id)
     249         if (_param->_have_port_rob_ptr)
    249250         _component->port_map(name, "in_READ_QUEUE_IN_ROB_ID"               ,dest, "in_READ_UNIT_IN_PACKET_ID"            );
    250251         _component->port_map(name, "in_READ_QUEUE_IN_OPERATION"            ,dest, "in_READ_UNIT_IN_OPERATION"            );
     
    283284         if (_param->_have_port_ooo_engine_id)
    284285         _component->port_map(name,"out_READ_QUEUE_OUT_OOO_ENGINE_ID"        ,dest, "in_INSERT_OOO_ENGINE_ID"        );
    285          if (_param->_have_port_packet_id)
     286         if (_param->_have_port_rob_ptr)
    286287         _component->port_map(name,"out_READ_QUEUE_OUT_ROB_ID"               ,dest, "in_INSERT_ROB_ID"               );
    287288         _component->port_map(name,"out_READ_QUEUE_OUT_OPERATION"            ,dest, "in_INSERT_OPERATION"            );
     
    379380     {
    380381       name = _name+"_reservation_station";
    381        std::cout << "Instance : " << name << std::endl;
     382       log_printf(INFO,Core,FUNCTION,_("Instance : %s"),name.c_str());
    382383       {
    383384#ifdef POSITION
     
    407408         if (_param->_have_port_ooo_engine_id)
    408409         _component->port_map(name, "in_INSERT_OOO_ENGINE_ID"        ,dest,"out_READ_QUEUE_OUT_OOO_ENGINE_ID"        );
    409          if (_param->_have_port_packet_id)
     410         if (_param->_have_port_rob_ptr)
    410411         _component->port_map(name, "in_INSERT_ROB_ID"               ,dest,"out_READ_QUEUE_OUT_ROB_ID"               );
    411412         _component->port_map(name, "in_INSERT_OPERATION"            ,dest,"out_READ_QUEUE_OUT_OPERATION"            );
     
    452453           if (_param->_have_port_ooo_engine_id)
    453454           _component->port_map(name,"out_RETIRE_"+toString(i)+"_OOO_ENGINE_ID"        ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_OOO_ENGINE_ID"        );
    454            if (_param->_have_port_packet_id)
     455           if (_param->_have_port_rob_ptr)
    455456           _component->port_map(name,"out_RETIRE_"+toString(i)+"_ROB_ID"               ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_PACKET_ID"            );
    456457           _component->port_map(name,"out_RETIRE_"+toString(i)+"_OPERATION"            ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_OPERATION"            );
     
    535536     }
    536537     
    537 
    538 #ifdef POSITION
    539     _component->generate_file();
     538#if DEBUG_Read_unit == true
     539     _component->test_map();
     540#endif
     541
     542#ifdef POSITION
     543     if (usage_is_set(_usage,USE_POSITION))
     544       _component->generate_file();
    540545#endif
    541546
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp

    r81 r88  
    2323    log_printf(FUNC,Read_unit,FUNCTION,"Begin");
    2424
    25     if (_usage & USE_SYSTEMC)
     25    if (usage_is_set(_usage,USE_SYSTEMC))
    2626      {
    2727        delete     in_CLOCK ;
     
    3737        if (_param->_have_port_ooo_engine_id)
    3838        delete     in_READ_UNIT_IN_OOO_ENGINE_ID        ;
    39         if (_param->_have_port_packet_id)
     39        if (_param->_have_port_rob_ptr)
    4040        delete     in_READ_UNIT_IN_PACKET_ID            ;
    4141        delete     in_READ_UNIT_IN_OPERATION            ;
     
    6666        if (_param->_have_port_ooo_engine_id)
    6767        delete [] out_READ_UNIT_OUT_OOO_ENGINE_ID        ;
    68         if (_param->_have_port_packet_id)
     68        if (_param->_have_port_rob_ptr)
    6969        delete [] out_READ_UNIT_OUT_PACKET_ID            ;
    7070        delete [] out_READ_UNIT_OUT_OPERATION            ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_end_cycle.cpp

    r81 r88  
    2525
    2626#ifdef STATISTICS
    27     _stat->end_cycle();
     27    if (usage_is_set(_usage,USE_STATISTICS))
     28      _stat->end_cycle();
    2829#endif   
    2930
     
    3132    // Evaluation before read the ouput signal
    3233//  sc_start(0);
    33     _interfaces->testbench();
     34    if (usage_is_set(_usage,USE_VHDL_TESTBENCH))
     35      _interfaces->testbench();
    3436#endif
    3537
Note: See TracChangeset for help on using the changeset viewer.