Ignore:
Timestamp:
Oct 20, 2009, 8:52:15 PM (15 years ago)
Author:
rosiere
Message:

1) Add new algo in ifetch queue
2) Add Cancel bit
3) new config

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h

    r113 r136  
    7979//public    : SC_IN (Toperation_t      )    *  in_EXECUTE_QUEUE_IN_OPERATION     ;
    8080//public    : SC_IN (Ttype_t           )    *  in_EXECUTE_QUEUE_IN_TYPE          ;
     81  public    : SC_IN (Tcontrol_t        )    *  in_EXECUTE_QUEUE_IN_CANCEL        ;
    8182  public    : SC_IN (Tspecial_data_t   )    *  in_EXECUTE_QUEUE_IN_FLAGS         ;
    8283  public    : SC_IN (Texception_t      )    *  in_EXECUTE_QUEUE_IN_EXCEPTION     ;
     
    9495//public    : SC_OUT(Toperation_t      )    * out_EXECUTE_QUEUE_OUT_OPERATION    ;
    9596//public    : SC_OUT(Ttype_t           )    * out_EXECUTE_QUEUE_OUT_TYPE         ;
     97  public    : SC_OUT(Tcontrol_t        )    * out_EXECUTE_QUEUE_OUT_CANCEL       ;
    9698  public    : SC_OUT(Tspecial_data_t   )    * out_EXECUTE_QUEUE_OUT_FLAGS        ;
    9799  public    : SC_OUT(Texception_t      )    * out_EXECUTE_QUEUE_OUT_EXCEPTION    ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Types.h

    r88 r136  
    2828//public  : Toperation_t       _operation    ;
    2929//public  : Ttype_t            _type         ;
     30  public  : Tcontrol_t         _cancel       ;
    3031  public  : Tspecial_data_t    _flags        ;
    3132  public  : Texception_t       _exception    ;
     
    4041                                 //Toperation_t       operation    ,
    4142                                 //Ttype_t            type         ,
     43                                   Tcontrol_t         cancel       ,
    4244                                   Tspecial_data_t    flags        ,
    4345                                   Texception_t       exception    ,
     
    5254    //_operation     = operation    ;
    5355    //_type          = type         ;
     56      _cancel        = cancel       ;
    5457      _flags         = flags        ;
    5558      _exception     = exception    ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Wrapper_Execute_queue.h

    r113 r136  
    4343//public    : SC_IN (Toperation_t   ) *  in_EXECUTE_QUEUE_IN_OPERATION     ;
    4444//public    : SC_IN (Ttype_t        ) *  in_EXECUTE_QUEUE_IN_TYPE          ;
     45  public    : SC_IN (Tcontrol_t     ) *  in_EXECUTE_QUEUE_IN_CANCEL        ;
    4546  public    : SC_IN (Tspecial_data_t) *  in_EXECUTE_QUEUE_IN_FLAGS         ;
    4647  public    : SC_IN (Texception_t   ) *  in_EXECUTE_QUEUE_IN_EXCEPTION     ;
     
    5859//public    : SC_OUT(Toperation_t   ) * out_EXECUTE_QUEUE_OUT_OPERATION    ;
    5960//public    : SC_OUT(Ttype_t        ) * out_EXECUTE_QUEUE_OUT_TYPE         ;
     61  public    : SC_OUT(Tcontrol_t     ) * out_EXECUTE_QUEUE_OUT_CANCEL       ;
    6062  public    : SC_OUT(Tspecial_data_t) * out_EXECUTE_QUEUE_OUT_FLAGS        ;
    6163  public    : SC_OUT(Texception_t   ) * out_EXECUTE_QUEUE_OUT_EXCEPTION    ;
     
    8789//    ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION     ,"execute_queue_in" ,"operation"    ,Toperation_t      ,_param->_size_operation        );
    8890//    ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE          ,"execute_queue_in" ,"type"         ,Ttype_t           ,_param->_size_type             );
     91      ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_CANCEL        ,"execute_queue_in" ,"cancel"       ,Tcontrol_t        ,1                              );
    8992      ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FLAGS         ,"execute_queue_in" ,"flags"        ,Tspecial_data_t   ,_param->_size_special_data     );
    9093      ALLOC0_FOREIGN_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_EXCEPTION     ,"execute_queue_in" ,"exception"    ,Texception_t      ,_param->_size_exception        );
     
    101104//    ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION    ,"execute_queue_out","operation"    ,Toperation_t      ,_param->_size_operation    );
    102105//    ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE         ,"execute_queue_out","type"         ,Ttype_t           ,_param->_size_type         );
     106      ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_CANCEL       ,"execute_queue_out","cancel"       ,Tcontrol_t        ,1                          );
    103107      ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FLAGS        ,"execute_queue_out","flags"        ,Tspecial_data_t   ,_param->_size_special_data );
    104108      ALLOC0_FOREIGN_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,"execute_queue_out","exception"    ,Texception_t      ,_param->_size_exception    );
     
    123127//    DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_OPERATION     ,_param->_size_operation        );
    124128//    DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_TYPE          ,_param->_size_type             );
     129      DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_CANCEL        ,1                              );
    125130      DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_FLAGS         ,_param->_size_special_data     );
    126131      DELETE0_FOREIGN_SIGNAL( in_EXECUTE_QUEUE_IN_EXCEPTION     ,_param->_size_exception        );
     
    137142//    DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_OPERATION    ,_param->_size_operation    );
    138143//    DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_TYPE         ,_param->_size_type         );
     144      DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_CANCEL       ,1                          );
    139145      DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_FLAGS        ,_param->_size_special_data );
    140146      DELETE0_FOREIGN_SIGNAL(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,_param->_size_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp

    r113 r136  
    6161//     ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation          );
    6262//     ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type               );
     63       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_CANCEL       ,"cancel"       ,Tcontrol_t        ,1                                );
    6364       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FLAGS        ,"flags"        ,Tspecial_data_t   ,_param->_size_special_data       );
    6465       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_EXCEPTION    ,"exception"    ,Texception_t      ,_param->_size_exception          );
     
    8283//     ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION    ,"operation"    ,Toperation_t   ,_param->_size_operation    );
    8384//     ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE         ,"type"         ,Ttype_t        ,_param->_size_type         );
     85       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_CANCEL       ,"cancel"       ,Tcontrol_t     ,1                          );
    8486       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FLAGS        ,"flags"        ,Tspecial_data_t,_param->_size_special_data );
    8587       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,"exception"    ,Texception_t   ,_param->_size_exception    );
     
    184186//      INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_OPERATION      ,Toperation_t   , "in_EXECUTE_QUEUE_IN_OPERATION"      ,_param->_size_operation          );
    185187//      INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_TYPE           ,Ttype_t        , "in_EXECUTE_QUEUE_IN_TYPE"           ,_param->_size_type               );
     188        INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_CANCEL         ,Tcontrol_t     , "in_EXECUTE_QUEUE_IN_CANCEL"         ,1                                );
    186189        INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_FLAGS          ,Tspecial_data_t, "in_EXECUTE_QUEUE_IN_FLAGS"          ,_param->_size_special_data       );
    187190        INSTANCE0_FOREIGN_SIGNAL(_wrapper, in_EXECUTE_QUEUE_IN_EXCEPTION      ,Texception_t   , "in_EXECUTE_QUEUE_IN_EXCEPTION"      ,_param->_size_exception          );
     
    198201//      INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_OPERATION     ,Toperation_t   ,"out_EXECUTE_QUEUE_OUT_OPERATION"     ,_param->_size_operation          );
    199202//      INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_TYPE          ,Ttype_t        ,"out_EXECUTE_QUEUE_OUT_TYPE"          ,_param->_size_type               );
     203        INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_CANCEL        ,Tcontrol_t     ,"out_EXECUTE_QUEUE_OUT_CANCEL"        ,1                                );
    200204        INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_FLAGS         ,Tspecial_data_t,"out_EXECUTE_QUEUE_OUT_FLAGS"         ,_param->_size_special_data       );
    201205        INSTANCE0_FOREIGN_SIGNAL(_wrapper,out_EXECUTE_QUEUE_OUT_EXCEPTION     ,Texception_t   ,"out_EXECUTE_QUEUE_OUT_EXCEPTION"     ,_param->_size_exception          );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp

    r113 r136  
    3838//      DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_OPERATION     ,_param->_size_operation        );
    3939//      DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_TYPE          ,_param->_size_type             );
     40        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_CANCEL        ,1                              );
    4041        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_FLAGS         ,_param->_size_special_data     );
    4142        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_EXCEPTION     ,_param->_size_exception        );
     
    5253//      DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_OPERATION    ,_param->_size_operation    );
    5354//      DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_TYPE         ,_param->_size_type         );
     55        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_CANCEL       ,1                          );
    5456        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_FLAGS        ,_param->_size_special_data );
    5557        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,_param->_size_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp

    r123 r136  
    4949//        PORT_WRITE(out_EXECUTE_QUEUE_OUT_OPERATION    , _queue->front()->_operation    );
    5050//        PORT_WRITE(out_EXECUTE_QUEUE_OUT_TYPE         , _queue->front()->_type         );
     51          PORT_WRITE(out_EXECUTE_QUEUE_OUT_CANCEL       , _queue->front()->_cancel       );
    5152          PORT_WRITE(out_EXECUTE_QUEUE_OUT_FLAGS        , _queue->front()->_flags        );
    5253          PORT_WRITE(out_EXECUTE_QUEUE_OUT_EXCEPTION    , _queue->front()->_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp

    r101 r136  
    4747             //PORT_READ(in_EXECUTE_QUEUE_IN_OPERATION    ),
    4848             //PORT_READ(in_EXECUTE_QUEUE_IN_TYPE         ),
     49               PORT_READ(in_EXECUTE_QUEUE_IN_CANCEL       ),
    4950               PORT_READ(in_EXECUTE_QUEUE_IN_FLAGS        ),
    5051               PORT_READ(in_EXECUTE_QUEUE_IN_EXCEPTION    ),
     
    7778           ++it)
    7879        {
    79           log_printf(TRACE,Execute_queue,FUNCTION,"  [%d] %.2d %.2d %.2d, %.4d, %.1d, %.2d %.1d, %.8x %.8x",
     80          log_printf(TRACE,Execute_queue,FUNCTION,"  [%d] %.2d %.2d %.2d, %.1d, %.4d, %.1d, %.2d %.1d, %.8x %.8x",
    8081                     i,
    8182                     (*it)->_context_id   ,
     
    8586                   //(*it)->_operation    ,
    8687                   //(*it)->_type         ,
     88                     (*it)->_cancel       ,
    8789                     (*it)->_flags        ,
    8890                     (*it)->_exception    ,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Types.h

    r118 r136  
    4040//public  : Toperation_t       _operation    ;
    4141//public  : Ttype_t            _type         ;
     42  public  : Tcontrol_t         _cancel       ;
    4243  public  : Tcontrol_t         _write_rd     ;
    4344  public  : Tgeneral_address_t _num_reg_rd   ;
     
    5657//                               Toperation_t       operation    ,
    5758//                               Ttype_t            type         ,
     59                                 Tcontrol_t         cancel       ,
    5860                                 Tcontrol_t         write_rd     ,
    5961                                 Tgeneral_address_t num_reg_rd   ,
     
    7274    //_operation     = operation    ;
    7375    //_type          = type         ;
     76      _cancel        = cancel       ;
    7477      _write_rd      = write_rd     ;
    7578      _num_reg_rd    = num_reg_rd   ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h

    r118 r136  
    7979//public    : SC_IN (Toperation_t      )    *  in_WRITE_QUEUE_IN_OPERATION    ;
    8080//public    : SC_IN (Ttype_t           )    *  in_WRITE_QUEUE_IN_TYPE         ;
     81  public    : SC_IN (Tcontrol_t        )    *  in_WRITE_QUEUE_IN_CANCEL       ;
    8182  public    : SC_IN (Tcontrol_t        )    *  in_WRITE_QUEUE_IN_WRITE_RD     ;
    8283  public    : SC_IN (Tgeneral_address_t)    *  in_WRITE_QUEUE_IN_NUM_REG_RD   ;
     
    9899//public    : SC_OUT(Toperation_t      )    * out_WRITE_QUEUE_OUT_OPERATION    ;
    99100//public    : SC_OUT(Ttype_t           )    * out_WRITE_QUEUE_OUT_TYPE         ;
     101  public    : SC_OUT(Tcontrol_t        )    * out_WRITE_QUEUE_OUT_CANCEL       ;
    100102  public    : SC_OUT(Tspecial_data_t   )    * out_WRITE_QUEUE_OUT_FLAGS        ;
    101103  public    : SC_OUT(Texception_t      )    * out_WRITE_QUEUE_OUT_EXCEPTION    ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp

    r114 r136  
    6161//     ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation        );
    6262//     ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
     63       ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_CANCEL       ,"cancel"       ,Tcontrol_t        ,1                              );
    6364       ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_WRITE_RD     ,"write_rd"     ,Tcontrol_t        ,1                              );
    6465       ALLOC0_SIGNAL_IN ( in_WRITE_QUEUE_IN_NUM_REG_RD   ,"num_reg_rd"   ,Tgeneral_address_t,_param->_size_general_register );
     
    8687//     ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OPERATION    ,"operation"    ,Toperation_t   ,_param->_size_operation    );
    8788//     ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_TYPE         ,"type"         ,Ttype_t        ,_param->_size_type         );
     89       ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_CANCEL       ,"cancel"       ,Tcontrol_t     ,1                          );
    8890       ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FLAGS        ,"flags"        ,Tspecial_data_t,_param->_size_special_data );
    8991       ALLOC0_SIGNAL_OUT(out_WRITE_QUEUE_OUT_EXCEPTION    ,"exception"    ,Texception_t   ,_param->_size_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_deallocation.cpp

    r128 r136  
    3838//      DELETE0_SIGNAL( in_WRITE_QUEUE_IN_OPERATION     ,_param->_size_operation        );
    3939//      DELETE0_SIGNAL( in_WRITE_QUEUE_IN_TYPE          ,_param->_size_type             );
     40        DELETE0_SIGNAL( in_WRITE_QUEUE_IN_CANCEL        ,1                              );
    4041        DELETE0_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RD      ,1                              );
    4142        DELETE0_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RD    ,_param->_size_general_register );
     
    5657//      DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_OPERATION    ,_param->_size_operation    );
    5758//      DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_TYPE         ,_param->_size_type         );
     59        DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_CANCEL       ,1                          );
    5860        DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_FLAGS        ,_param->_size_special_data );
    5961        DELETE0_SIGNAL(out_WRITE_QUEUE_OUT_EXCEPTION    ,_param->_size_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMealy_write.cpp

    r123 r136  
    8686//        PORT_WRITE(out_WRITE_QUEUE_OUT_OPERATION    , _queue->front()->_operation    );
    8787//        PORT_WRITE(out_WRITE_QUEUE_OUT_TYPE         , _queue->front()->_type         );
     88          PORT_WRITE(out_WRITE_QUEUE_OUT_CANCEL       , _queue->front()->_cancel       );
    8889          PORT_WRITE(out_WRITE_QUEUE_OUT_FLAGS        , _queue->front()->_data_re      );
    8990          PORT_WRITE(out_WRITE_QUEUE_OUT_EXCEPTION    , _queue->front()->_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp

    r133 r136  
    119119//        PORT_WRITE(out_WRITE_QUEUE_OUT_OPERATION    , _queue->front()->_operation    );
    120120//        PORT_WRITE(out_WRITE_QUEUE_OUT_TYPE         , _queue->front()->_type         );
     121          PORT_WRITE(out_WRITE_QUEUE_OUT_CANCEL       , _queue->front()->_cancel       );
    121122          PORT_WRITE(out_WRITE_QUEUE_OUT_FLAGS        , _queue->front()->_data_re      );
    122123          PORT_WRITE(out_WRITE_QUEUE_OUT_EXCEPTION    , _queue->front()->_exception    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp

    r128 r136  
    5454             //PORT_READ(in_WRITE_QUEUE_IN_OPERATION    ),
    5555             //PORT_READ(in_WRITE_QUEUE_IN_TYPE         ),
     56               PORT_READ(in_WRITE_QUEUE_IN_CANCEL       ),
    5657               PORT_READ(in_WRITE_QUEUE_IN_WRITE_RD     ),
    5758               PORT_READ(in_WRITE_QUEUE_IN_NUM_REG_RD   ),
     
    9697           ++it)
    9798        {
    98           log_printf(TRACE,Write_queue,FUNCTION,"  [%d] %.2d %.2d %.2d, %.4d, %.1d %.4d %.8x, %.1d %.4d %.1d, %.2d %.1d, %.8x",
     99          log_printf(TRACE,Write_queue,FUNCTION,"  [%d] %.2d %.2d %.2d, %.4d, %.1d, %.1d %.4d %.8x, %.1d %.4d %.1d, %.2d %.1d, %.8x",
    99100                     i,
    100101                     (*it)->_context_id   ,
     
    104105                   //(*it)->_operation    ,
    105106                   //(*it)->_type         ,
     107                     (*it)->_cancel       ,
    106108                     (*it)->_write_rd     ,
    107109                     (*it)->_num_reg_rd   ,
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Write_unit.h

    r113 r136  
    7272//public    : SC_IN (Toperation_t      )    *  in_WRITE_UNIT_IN_OPERATION    ;
    7373//public    : SC_IN (Ttype_t           )    *  in_WRITE_UNIT_IN_TYPE         ;
     74  public    : SC_IN (Tcontrol_t        )    *  in_WRITE_UNIT_IN_CANCEL       ;
    7475  public    : SC_IN (Tcontrol_t        )    *  in_WRITE_UNIT_IN_WRITE_RD     ;
    7576  public    : SC_IN (Tgeneral_address_t)    *  in_WRITE_UNIT_IN_NUM_REG_RD   ;
     
    9192//public    : SC_OUT(Toperation_t      )    * out_WRITE_UNIT_OUT_OPERATION    ;
    9293//public    : SC_OUT(Ttype_t           )    * out_WRITE_UNIT_OUT_TYPE         ;
     94  public    : SC_OUT(Tcontrol_t        )    * out_WRITE_UNIT_OUT_CANCEL       ;
    9395  public    : SC_OUT(Tspecial_data_t   )    * out_WRITE_UNIT_OUT_FLAGS        ;
    9496  public    : SC_OUT(Texception_t      )    * out_WRITE_UNIT_OUT_EXCEPTION    ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp

    r113 r136  
    6767//     ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation        );
    6868//     ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
     69       ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_CANCEL       ,"cancel"       ,Tcontrol_t        ,1                              );
    6970       ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_WRITE_RD     ,"write_rd"     ,Tcontrol_t        ,1                              );
    7071       ALLOC0_SIGNAL_IN ( in_WRITE_UNIT_IN_NUM_REG_RD   ,"num_reg_rd"   ,Tgeneral_address_t,_param->_size_general_register );
     
    9293//     ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_OPERATION    ,"operation"    ,Toperation_t   ,_param->_size_operation    );
    9394//     ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_TYPE         ,"type"         ,Ttype_t        ,_param->_size_type         );
     95       ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_CANCEL       ,"cancel"       ,Tcontrol_t     ,1                          );
    9496       ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_FLAGS        ,"flags"        ,Tspecial_data_t,_param->_size_special_data );
    9597       ALLOC0_SIGNAL_OUT(out_WRITE_UNIT_OUT_EXCEPTION    ,"exception"    ,Texception_t   ,_param->_size_exception    );
     
    216218     //_component->port_map(name, "in_WRITE_QUEUE_IN_OPERATION"    , _name, "in_WRITE_UNIT_IN_OPERATION"    );
    217219     //_component->port_map(name, "in_WRITE_QUEUE_IN_TYPE"         , _name, "in_WRITE_UNIT_IN_TYPE"         );
     220       _component->port_map(name, "in_WRITE_QUEUE_IN_CANCEL"       , _name, "in_WRITE_UNIT_IN_CANCEL"       );
    218221       _component->port_map(name, "in_WRITE_QUEUE_IN_WRITE_RD"     , _name, "in_WRITE_UNIT_IN_WRITE_RD"     );
    219222       _component->port_map(name, "in_WRITE_QUEUE_IN_NUM_REG_RD"   , _name, "in_WRITE_UNIT_IN_NUM_REG_RD"   );
     
    246249         //_component->port_map(name,"out_WRITE_QUEUE_OUT_OPERATION"    , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_OPERATION"    );
    247250         //_component->port_map(name,"out_WRITE_QUEUE_OUT_TYPE"         , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_TYPE"         );
     251           _component->port_map(name,"out_WRITE_QUEUE_OUT_CANCEL"       , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_CANCEL"       );
    248252           _component->port_map(name,"out_WRITE_QUEUE_OUT_FLAGS"        , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_FLAGS"        );
    249253           _component->port_map(name,"out_WRITE_QUEUE_OUT_EXCEPTION"    , _name+"_execute_queue", "in_EXECUTE_QUEUE_IN_EXCEPTION"    );
     
    272276         //_component->port_map(name,"out_WRITE_QUEUE_OUT_TYPE"         , _name,"out_WRITE_UNIT_OUT_TYPE"         );
    273277           _component->port_map(name,"out_WRITE_QUEUE_OUT_FLAGS"        , _name,"out_WRITE_UNIT_OUT_FLAGS"        );
     278           _component->port_map(name,"out_WRITE_QUEUE_OUT_CANCEL"       , _name,"out_WRITE_UNIT_OUT_CANCEL"       );
    274279           _component->port_map(name,"out_WRITE_QUEUE_OUT_EXCEPTION"    , _name,"out_WRITE_UNIT_OUT_EXCEPTION"    );
    275280           _component->port_map(name,"out_WRITE_QUEUE_OUT_NO_SEQUENCE"  , _name,"out_WRITE_UNIT_OUT_NO_SEQUENCE"  );
     
    358363       //_component->port_map(name, "in_EXECUTE_QUEUE_IN_OPERATION"    , _name+"_write_queue","out_WRITE_QUEUE_OUT_OPERATION"    );
    359364       //_component->port_map(name, "in_EXECUTE_QUEUE_IN_TYPE"         , _name+"_write_queue","out_WRITE_QUEUE_OUT_TYPE"         );
     365         _component->port_map(name, "in_EXECUTE_QUEUE_IN_CANCEL"       , _name+"_write_queue","out_WRITE_QUEUE_OUT_CANCEL"       );
    360366         _component->port_map(name, "in_EXECUTE_QUEUE_IN_FLAGS"        , _name+"_write_queue","out_WRITE_QUEUE_OUT_FLAGS"        );
    361367         _component->port_map(name, "in_EXECUTE_QUEUE_IN_EXCEPTION"    , _name+"_write_queue","out_WRITE_QUEUE_OUT_EXCEPTION"    );
     
    381387       //_component->port_map(name,"out_EXECUTE_QUEUE_OUT_OPERATION"    , _name,"out_WRITE_UNIT_OUT_OPERATION"    );
    382388       //_component->port_map(name,"out_EXECUTE_QUEUE_OUT_TYPE"         , _name,"out_WRITE_UNIT_OUT_TYPE"         );
     389         _component->port_map(name,"out_EXECUTE_QUEUE_OUT_CANCEL"       , _name,"out_WRITE_UNIT_OUT_CANCEL"       );
    383390         _component->port_map(name,"out_EXECUTE_QUEUE_OUT_FLAGS"        , _name,"out_WRITE_UNIT_OUT_FLAGS"        );
    384391         _component->port_map(name,"out_EXECUTE_QUEUE_OUT_EXCEPTION"    , _name,"out_WRITE_UNIT_OUT_EXCEPTION"    );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_deallocation.cpp

    r112 r136  
    3737//      DELETE0_SIGNAL( in_WRITE_UNIT_IN_OPERATION    ,_param->_size_operation        );
    3838//      DELETE0_SIGNAL( in_WRITE_UNIT_IN_TYPE         ,_param->_size_type             );
     39        DELETE0_SIGNAL( in_WRITE_UNIT_IN_CANCEL       ,1                              );
    3940        DELETE0_SIGNAL( in_WRITE_UNIT_IN_WRITE_RD     ,1                              );
    4041        DELETE0_SIGNAL( in_WRITE_UNIT_IN_NUM_REG_RD   ,_param->_size_general_register );
     
    5556//      DELETE0_SIGNAL(out_WRITE_UNIT_OUT_OPERATION    ,_param->_size_operation    );
    5657//      DELETE0_SIGNAL(out_WRITE_UNIT_OUT_TYPE         ,_param->_size_type         );
     58        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_CANCEL       ,1                          );
    5759        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_FLAGS        ,_param->_size_special_data );
    5860        DELETE0_SIGNAL(out_WRITE_UNIT_OUT_EXCEPTION    ,_param->_size_exception    );
Note: See TracChangeset for help on using the changeset viewer.