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_OOO_Engine/OOO_Engine
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h

    r131 r136  
    159159//public    : SC_IN (Toperation_t       )  **  in_COMMIT_OPERATION                 ;//[nb_inst_commit]
    160160//public    : SC_IN (Ttype_t            )  **  in_COMMIT_TYPE                      ;//[nb_inst_commit]
     161  public    : SC_IN (Tcontrol_t         )  **  in_COMMIT_CANCEL                    ;//[nb_inst_commit]
    161162  public    : SC_IN (Tspecial_data_t    )  **  in_COMMIT_FLAGS                     ;//[nb_inst_commit]
    162163  public    : SC_IN (Texception_t       )  **  in_COMMIT_EXCEPTION                 ;//[nb_inst_commit]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp

    r135 r136  
    156156//    ALLOC1_SIGNAL_IN ( in_COMMIT_OPERATION         ,"operation"  ,Toperation_t      ,_param->_size_operation       );
    157157//    ALLOC1_SIGNAL_IN ( in_COMMIT_TYPE              ,"type"       ,Ttype_t           ,_param->_size_type            );
     158      ALLOC1_SIGNAL_IN ( in_COMMIT_CANCEL            ,"cancel"     ,Tcontrol_t        ,1                             );
    158159      ALLOC1_SIGNAL_IN ( in_COMMIT_FLAGS             ,"flags"      ,Tspecial_data_t   ,_param->_size_special_data    );
    159160      ALLOC1_SIGNAL_IN ( in_COMMIT_EXCEPTION         ,"exception"  ,Texception_t      ,_param->_size_exception       );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp

    r134 r136  
    104104//      DELETE1_SIGNAL( in_COMMIT_OPERATION         ,_param->_nb_inst_commit,_param->_size_operation       );
    105105//      DELETE1_SIGNAL( in_COMMIT_TYPE              ,_param->_nb_inst_commit,_param->_size_type            );
     106        DELETE1_SIGNAL( in_COMMIT_CANCEL            ,_param->_nb_inst_commit,1                             );
    106107        DELETE1_SIGNAL( in_COMMIT_FLAGS             ,_param->_nb_inst_commit,_param->_size_general_data    );
    107108        DELETE1_SIGNAL( in_COMMIT_EXCEPTION         ,_param->_nb_inst_commit,_param->_size_exception       );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp

    r134 r136  
    426426                    Ttype_t         type         = entry->type;
    427427                    Tcontrol_t      no_sequence  = PORT_READ(in_COMMIT_NO_SEQUENCE [x]);
     428                    // Tcontrol_t      cancel       = PORT_READ(in_COMMIT_CANCEL      [x]);
    428429
    429430#if 0
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Issue_queue.h

    r122 r136  
    126126  public    : SC_OUT(Toperation_t      )   ** out_ISSUE_OUT_OPERATION            ;//[nb_inst_issue]
    127127  public    : SC_OUT(Ttype_t           )   ** out_ISSUE_OUT_TYPE                 ;//[nb_inst_issue]
     128  public    : SC_OUT(Tcontrol_t        )   ** out_ISSUE_OUT_CANCEL               ;//[nb_inst_issue]
    128129  public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE;//[nb_inst_issue]
    129130  public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_OUT_STORE_QUEUE_PTR_READ ;//[nb_inst_issue]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Types.h

    r122 r136  
    2121    {
    2222       ISSUE_QUEUE_SCHEME_IN_ORDER        // Each instruction is issue in of order
    23 //       ,ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER // Each bundle is issue in order. In bundle, an instruction is issue out of order
     23//    ,ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER // Each bundle is issue in order. In bundle, an instruction is issue out of order
    2424      ,ISSUE_QUEUE_SCHEME_OUT_OF_ORDER    // Each instruction is issue out of order
    2525    } Tissue_queue_scheme_t;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_allocation.cpp

    r128 r136  
    130130      ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_OPERATION            ,"operation"            ,Toperation_t      ,_param->_size_operation       );
    131131      ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_TYPE                 ,"type"                 ,Ttype_t           ,_param->_size_type            );
     132      ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_CANCEL               ,"cancel"               ,Tcontrol_t        ,1);
    132133      ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue_ptr );
    133134      ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_deallocation.cpp

    r128 r136  
    8383        DELETE1_SIGNAL(out_ISSUE_OUT_OPERATION            ,_param->_nb_inst_issue,_param->_size_operation       );
    8484        DELETE1_SIGNAL(out_ISSUE_OUT_TYPE                 ,_param->_nb_inst_issue,_param->_size_type            );
     85        DELETE1_SIGNAL(out_ISSUE_OUT_CANCEL               ,_param->_nb_inst_issue,1);
    8586        DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_issue,_param->_size_store_queue_ptr );
    8687        DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_issue,_param->_size_store_queue_ptr );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_in_order_genMealy_issue_out.cpp

    r123 r136  
    5757          PORT_WRITE(out_ISSUE_OUT_OPERATION             [index], entry->_operation            );
    5858          PORT_WRITE(out_ISSUE_OUT_TYPE                  [index], entry->_type                 );
     59          PORT_WRITE(out_ISSUE_OUT_CANCEL                [index], 0                            );
    5960          PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [index], entry->_store_queue_ptr_write);
    6061          PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [index], entry->_store_queue_ptr_read );
     
    132133              PORT_WRITE(out_ISSUE_OUT_OPERATION             [index], entry->_operation            );
    133134              PORT_WRITE(out_ISSUE_OUT_TYPE                  [index], entry->_type                 );
     135              PORT_WRITE(out_ISSUE_OUT_CANCEL                [index], 0                            );
    134136              PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [index], entry->_store_queue_ptr_write);
    135137              PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [index], entry->_store_queue_ptr_read );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_genMoore.cpp

    r123 r136  
    126126                PORT_WRITE(out_ISSUE_OUT_OPERATION             [i], entry->_operation            );
    127127                PORT_WRITE(out_ISSUE_OUT_TYPE                  [i], entry->_type                 );
     128                PORT_WRITE(out_ISSUE_OUT_CANCEL                [i], 0                            );
    128129                PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [i], entry->_store_queue_ptr_write);
    129130                PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [i], entry->_store_queue_ptr_read );
     
    189190                    PORT_WRITE(out_ISSUE_OUT_OPERATION             [i], entry->_operation            );
    190191                    PORT_WRITE(out_ISSUE_OUT_TYPE                  [i], entry->_type                 );
     192                    PORT_WRITE(out_ISSUE_OUT_CANCEL                [i], 0                            );
    191193                    PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [i], entry->_store_queue_ptr_write);
    192194                    PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [i], entry->_store_queue_ptr_read );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Parameters_msg_error.cpp

    r117 r136  
    4343    if (// (_queue_scheme == ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER) or
    4444        (_queue_scheme == ISSUE_QUEUE_SCHEME_OUT_OF_ORDER   ))
    45       test.warning(toString(_("Can have deadlock with the queue scheme \"%s\".\n"),toString(_queue_scheme).c_str()));
     45      test.error(toString(_("Can have deadlock with the queue scheme \"%s\".\n"),toString(_queue_scheme).c_str()));
    4646
    4747    if (not is_multiple(_size_queue, _nb_bank))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h

    r122 r136  
    5353  public    : Stat                           * _stat;
    5454
    55   private   : counter_t                      * _stat_nb_inst_issue_stall_by_registerfile;
     55//private   : counter_t                      * _stat_nb_inst_issue_stall_by_registerfile;
    5656//private   : counter_t                      * _stat_nb_inst_issue_stall_by_rename_unit ;
    5757  private   : counter_t                      * _stat_nb_inst_issue_stall_by_commit_unit ;
     
    7373
    7474    // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    75   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_VAL                                   ;//[sum_inst_insert]
    76   public    : SC_IN (Tcontrol_t         )  **  in_INSERT_ACK                                   ;//[sum_inst_insert]
    77   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RD_USE                                ;//[sum_inst_insert]
    78   public    : SC_OUT(Tgeneral_address_t )  ** out_INSERT_RD_NUM_REG                            ;//[sum_inst_insert]
    79   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RE_USE                                ;//[sum_inst_insert]
    80   public    : SC_OUT(Tspecial_address_t )  ** out_INSERT_RE_NUM_REG                            ;//[sum_inst_insert]
     75//   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_VAL                                   ;//[sum_inst_insert]
     76//   public    : SC_IN (Tcontrol_t         )  **  in_INSERT_ACK                                   ;//[sum_inst_insert]
     77//   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RD_USE                                ;//[sum_inst_insert]
     78//   public    : SC_OUT(Tgeneral_address_t )  ** out_INSERT_RD_NUM_REG                            ;//[sum_inst_insert]
     79//   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RE_USE                                ;//[sum_inst_insert]
     80//   public    : SC_OUT(Tspecial_address_t )  ** out_INSERT_RE_NUM_REG                            ;//[sum_inst_insert]
    8181
    8282  public    : SC_IN (Tcontrol_t         ) ***  in_INSERT_RENAME_UNIT_VAL                       ;//[nb_rename_unit][nb_inst_insert]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/Parameters.h

    r88 r136  
    5050//public : uint32_t                _size_context_id                        ;
    5151  public : uint32_t                _size_rename_id                         ;
    52   public : uint32_t                _sum_inst_insert                        ;
     52//public : uint32_t                _sum_inst_insert                        ;
    5353//public : uint32_t                _sum_inst_retire                        ;
    5454  public : uint32_t              * _translate_front_end_id_to_rename_unit  ;//[nb_front_end]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp

    r132 r136  
    119119        sensitive << (*(in_NRESET));
    120120        {
    121           uint32_t x=0;
     121//           uint32_t x=0;
    122122          for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
    123123            for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
    124               sensitive << (*(in_INSERT_ACK                    [x++] ))
     124              sensitive // << (*(in_INSERT_ACK                    [x++] ))
    125125                        << (*(in_INSERT_RENAME_UNIT_VAL        [i][j]))
    126126                        << (*(in_INSERT_RENAME_UNIT_NO_EXECUTE [i][j]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_allocation.cpp

    r122 r136  
    6767   
    6868    // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69     {
    70       ALLOC1_INTERFACE_BEGIN("insert",OUT, WEST,_("insert's interface"),_param->_sum_inst_insert);
    71 
    72       ALLOC1_SIGNAL_OUT (out_INSERT_VAL                                   ,"VAL"                                   ,Tcontrol_t         ,1                             );
    73       ALLOC1_SIGNAL_IN  ( in_INSERT_ACK                                   ,"ACK"                                   ,Tcontrol_t         ,1                             );
    74       ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                                ,"RD_USE"                                ,Tcontrol_t         ,1                             );
    75       ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                            ,"RD_NUM_REG"                            ,Tgeneral_address_t ,_param->_size_general_register);
    76       ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                                ,"RE_USE"                                ,Tcontrol_t         ,1                             );
    77       ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                            ,"RE_NUM_REG"                            ,Tspecial_address_t ,_param->_size_special_register);
    78 
    79       ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
    80     }
     69//     {
     70//       ALLOC1_INTERFACE_BEGIN("insert",OUT, WEST,_("insert's interface"),_param->_sum_inst_insert);
     71
     72//       ALLOC1_SIGNAL_OUT (out_INSERT_VAL                                   ,"VAL"                                   ,Tcontrol_t         ,1                             );
     73//       ALLOC1_SIGNAL_IN  ( in_INSERT_ACK                                   ,"ACK"                                   ,Tcontrol_t         ,1                             );
     74//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                                ,"RD_USE"                                ,Tcontrol_t         ,1                             );
     75//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                            ,"RD_NUM_REG"                            ,Tgeneral_address_t ,_param->_size_general_register);
     76//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                                ,"RE_USE"                                ,Tcontrol_t         ,1                             );
     77//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                            ,"RE_NUM_REG"                            ,Tspecial_address_t ,_param->_size_special_register);
     78
     79//       ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
     80//     }
    8181
    8282    {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_deallocation.cpp

    r128 r136  
    3131        DELETE2_SIGNAL(out_RENAME_RENAME_UNIT_FRONT_END_ID              ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_front_end_id    );
    3232
    33         DELETE1_SIGNAL(out_INSERT_VAL                                   ,_param->_sum_inst_insert,1                             );
    34         DELETE1_SIGNAL( in_INSERT_ACK                                   ,_param->_sum_inst_insert,1                             );
    35         DELETE1_SIGNAL(out_INSERT_RD_USE                                ,_param->_sum_inst_insert,1                             );
    36         DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
    37         DELETE1_SIGNAL(out_INSERT_RE_USE                                ,_param->_sum_inst_insert,1                             );
    38         DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
     33//         DELETE1_SIGNAL(out_INSERT_VAL                                   ,_param->_sum_inst_insert,1                             );
     34//         DELETE1_SIGNAL( in_INSERT_ACK                                   ,_param->_sum_inst_insert,1                             );
     35//         DELETE1_SIGNAL(out_INSERT_RD_USE                                ,_param->_sum_inst_insert,1                             );
     36//         DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
     37//         DELETE1_SIGNAL(out_INSERT_RE_USE                                ,_param->_sum_inst_insert,1                             );
     38//         DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
    3939
    4040        DELETE2_SIGNAL( in_INSERT_RENAME_UNIT_VAL                       ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],1                             );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert.cpp

    r128 r136  
    2626    if (PORT_READ(in_NRESET))
    2727      {
    28     uint32_t x=0;
     28//     uint32_t x=0;
    2929    for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
    3030      for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
     
    5757          Tspecial_address_t special_address_msb   = i << _param->_size_special_register;
    5858         
    59           PORT_WRITE(out_INSERT_RD_USE                            [x]   ,WRITE_RD);
    60           PORT_WRITE(out_INSERT_RD_NUM_REG                        [x]   ,general_address_msb | NUM_REG_RD_PHY_NEW);
    61           PORT_WRITE(out_INSERT_RE_USE                            [x]   ,WRITE_RE);
    62           PORT_WRITE(out_INSERT_RE_NUM_REG                        [x]   ,special_address_msb | NUM_REG_RE_PHY_NEW);
     59//           PORT_WRITE(out_INSERT_RD_USE                            [x]   ,WRITE_RD);
     60//           PORT_WRITE(out_INSERT_RD_NUM_REG                        [x]   ,general_address_msb | NUM_REG_RD_PHY_NEW);
     61//           PORT_WRITE(out_INSERT_RE_USE                            [x]   ,WRITE_RE);
     62//           PORT_WRITE(out_INSERT_RE_NUM_REG                        [x]   ,special_address_msb | NUM_REG_RE_PHY_NEW);
    6363
    6464          if (_param->_have_port_front_end_id)
     
    112112          PORT_WRITE(out_INSERT_ISSUE_QUEUE_NUM_REG_RE            [i][j],special_address_msb | NUM_REG_RE_PHY_NEW);
    113113
    114           x ++;
     114//           x ++;
    115115        }
    116116      }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert_valack.cpp

    r123 r136  
    2626    if (PORT_READ(in_NRESET))
    2727      {
    28     uint32_t x=0;
     28//     uint32_t x=0;
    2929    for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
    3030      {
     
    3333        for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
    3434          {
    35             Tcontrol_t ack                    = PORT_READ(in_INSERT_ACK                    [x]   );
     35//             Tcontrol_t ack                    = PORT_READ(in_INSERT_ACK                    [x]   );
    3636            Tcontrol_t rename_unit_val        = PORT_READ(in_INSERT_RENAME_UNIT_VAL        [i][j]);
    3737            Tcontrol_t rename_unit_no_execute = PORT_READ(in_INSERT_RENAME_UNIT_NO_EXECUTE [i][j]);
     
    4141            // if not execute -> don't route to issue_queue
    4242           
    43             Tcontrol_t val             = (
    44                                           rename_unit_val        and
    45                                           commit_unit_ack        and
    46                                           (rename_unit_no_execute or
    47                                            issue_queue_ack));
     43//             Tcontrol_t val             = (
     44//                                           rename_unit_val        and
     45//                                           commit_unit_ack        and
     46//                                           (rename_unit_no_execute or
     47//                                            issue_queue_ack));
    4848            Tcontrol_t rename_unit_ack = (
    49                                           ack                    and
     49//                                           ack                    and
    5050                                          commit_unit_ack        and
    5151                                          (rename_unit_no_execute or
    5252                                           issue_queue_ack));
    5353            Tcontrol_t commit_unit_val = (
    54                                           ack                    and
     54//                                           ack                    and
    5555                                          rename_unit_val        and
    5656                                          (rename_unit_no_execute or
    5757                                           issue_queue_ack));
    5858            Tcontrol_t issue_queue_val = (
    59                                           ack                    and
     59//                                           ack                    and
    6060                                          rename_unit_val        and
    6161                                          commit_unit_ack        and
    6262                                          not rename_unit_no_execute);
    6363
    64             PORT_WRITE(out_INSERT_VAL             [x]   ,val            );
     64//             PORT_WRITE(out_INSERT_VAL             [x]   ,val            );
    6565            PORT_WRITE(out_INSERT_RENAME_UNIT_ACK [i][j],rename_unit_ack);
    6666            PORT_WRITE(out_INSERT_COMMIT_UNIT_VAL [i][j],commit_unit_val);
    6767            PORT_WRITE(out_INSERT_ISSUE_QUEUE_VAL [i][j],issue_queue_val);
    6868
    69             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"  * rename_unit [%d].inst_insert[%d] -> %d",i,j,x);
    70             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_val (RegisterFile)     (w) : %d",val                   );
    71             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_ack (RegisterFile)     (r) : %d",ack                   );
     69            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"  * rename_unit [%d].inst_insert[%d]",i,j);
     70//             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_val (RegisterFile)     (w) : %d",val                   );
     71//             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_ack (RegisterFile)     (r) : %d",ack                   );
    7272            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_rename_unit_val        (r) : %d",rename_unit_val       );
    7373            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_rename_unit_ack        (w) : %d",rename_unit_ack       );
     
    7878            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_issue_queue_ack        (r) : %d",issue_queue_ack       );
    7979
    80             x ++;
     80//             x ++;
    8181          }
    8282      }
     
    8484    else
    8585      {
    86         uint32_t x=0;
     86//         uint32_t x=0;
    8787        for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
    8888          for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
    8989            {
    90               PORT_WRITE(out_INSERT_VAL             [x]   ,0);
     90//               PORT_WRITE(out_INSERT_VAL             [x]   ,0);
    9191              PORT_WRITE(out_INSERT_RENAME_UNIT_ACK [i][j],0);
    9292              PORT_WRITE(out_INSERT_COMMIT_UNIT_VAL [i][j],0);
    9393              PORT_WRITE(out_INSERT_ISSUE_QUEUE_VAL [i][j],0);
    94               x ++;
     94//               x ++;
    9595            }
    9696      }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_statistics_allocation.cpp

    r110 r136  
    2727                      param_statistics);
    2828
    29     _stat_nb_inst_issue_stall_by_registerfile = _stat->create_variable("nb_inst_issue_stall_by_registerfile");
     29//  _stat_nb_inst_issue_stall_by_registerfile = _stat->create_variable("nb_inst_issue_stall_by_registerfile");
    3030//  _stat_nb_inst_issue_stall_by_rename_unit  = _stat->create_variable("nb_inst_issue_stall_by_rename_unit" );
    3131    _stat_nb_inst_issue_stall_by_commit_unit  = _stat->create_variable("nb_inst_issue_stall_by_commit_unit" );
     
    3333
    3434//     std::string nb_inst_issue_stall = "+ + nb_inst_issue_stall_by_registerfile nb_inst_issue_stall_by_rename_unit + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
    35     std::string nb_inst_issue_stall = "+ nb_inst_issue_stall_by_registerfile + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
     35    std::string nb_inst_issue_stall = "+ nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
    3636
    37     _stat->create_expr_percent ("percent_issue_stall_by_registerfile", "nb_inst_issue_stall_by_registerfile", nb_inst_issue_stall, _("Percent of instruction stalled by RegisterFile"));
     37//  _stat->create_expr_percent ("percent_issue_stall_by_registerfile", "nb_inst_issue_stall_by_registerfile", nb_inst_issue_stall, _("Percent of instruction stalled by RegisterFile"));
    3838//  _stat->create_expr_percent ("percent_issue_stall_by_rename_unit" , "nb_inst_issue_stall_by_rename_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Rename_Unit") );
    3939    _stat->create_expr_percent ("percent_issue_stall_by_commit_unit" , "nb_inst_issue_stall_by_commit_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Commit_Unit") );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_transition.cpp

    r110 r136  
    2626    if (usage_is_set(_usage,USE_STATISTICS))
    2727      {
    28         uint32_t x=0;
     28//         uint32_t x=0;
    2929        for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
    3030          for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
     
    3232              if (PORT_READ(in_INSERT_RENAME_UNIT_VAL [i][j]))
    3333                {
    34                   if (PORT_READ(in_INSERT_ACK [x]) == 0)
    35                     (*_stat_nb_inst_issue_stall_by_registerfile) ++;
     34//                   if (PORT_READ(in_INSERT_ACK [x]) == 0)
     35//                     (*_stat_nb_inst_issue_stall_by_registerfile) ++;
    3636                  if (PORT_READ(in_INSERT_COMMIT_UNIT_ACK [i][j]) == 0)
    3737                    (*_stat_nb_inst_issue_stall_by_commit_unit ) ++;
     
    3939                    (*_stat_nb_inst_issue_stall_by_issue_queue ) ++;
    4040                }
    41               x++;
     41//               x++;
    4242            }
    4343      }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/Parameters.cpp

    r128 r136  
    5353//  _rename_unit_size_context_id            = rename_unit_size_context_id     ;
    5454    _size_rename_id                         = log2(_nb_rename_unit)           ;
    55     _sum_inst_insert                        = 0;
     55//  _sum_inst_insert                        = 0;
    5656//  _sum_inst_retire                        = 0;
    5757
    58     for (uint32_t i=0; i<_nb_rename_unit; ++i)
    59       {
    60         _sum_inst_insert += _nb_inst_insert[i];
     58//  for (uint32_t i=0; i<_nb_rename_unit; ++i)
     59//    {
     60//      _sum_inst_insert += _nb_inst_insert[i];
    6161//      _sum_inst_retire += _nb_inst_retire[i];
    62       }
     62//    }
    6363
    6464    ALLOC1(_translate_front_end_id_to_rename_unit,uint32_t,_nb_front_end);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/include/Reexecute_unit.h

    r131 r136  
    7777//public    : SC_IN (Toperation_t       ) ***  in_EXECUTE_LOOP_OPERATION               ;//[nb_execute_loop][nb_inst_execute]
    7878//public    : SC_IN (Ttype_t            ) ***  in_EXECUTE_LOOP_TYPE                    ;//[nb_execute_loop][nb_inst_execute]
     79  public    : SC_IN (Tcontrol_t         ) ***  in_EXECUTE_LOOP_CANCEL                  ;//[nb_execute_loop][nb_inst_execute]
    7980  public    : SC_IN (Tspecial_data_t    ) ***  in_EXECUTE_LOOP_FLAGS                   ;//[nb_execute_loop][nb_inst_execute]
    8081  public    : SC_IN (Texception_t       ) ***  in_EXECUTE_LOOP_EXCEPTION               ;//[nb_execute_loop][nb_inst_execute]
     
    9293//public    : SC_OUT(Toperation_t       )  ** out_COMMIT_OPERATION                     ;//[nb_inst_commit]
    9394//public    : SC_OUT(Ttype_t            )  ** out_COMMIT_TYPE                          ;//[nb_inst_commit]
     95  public    : SC_OUT(Tcontrol_t         )  ** out_COMMIT_CANCEL                        ;//[nb_inst_commit]
    9496  public    : SC_OUT(Tspecial_data_t    )  ** out_COMMIT_FLAGS                         ;//[nb_inst_commit]
    9597  public    : SC_OUT(Texception_t       )  ** out_COMMIT_EXCEPTION                     ;//[nb_inst_commit]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp

    r132 r136  
    153153//                      << (*(in_EXECUTE_LOOP_OPERATION    [i][j]))
    154154//                      << (*(in_EXECUTE_LOOP_TYPE         [i][j]))
     155                        << (*(in_EXECUTE_LOOP_CANCEL       [i][j]))
    155156                        << (*(in_EXECUTE_LOOP_FLAGS        [i][j]))
    156157                        << (*(in_EXECUTE_LOOP_EXCEPTION    [i][j]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_allocation.cpp

    r122 r136  
    6767//    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_OPERATION               ,"operation"   ,Toperation_t       ,_param->_size_operation   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
    6868//    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_TYPE                    ,"type"        ,Ttype_t            ,_param->_size_type        ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
     69      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_CANCEL                  ,"cancel"      ,Tcontrol_t         ,1                         ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
    6970      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_FLAGS                   ,"flags"       ,Tspecial_data_t    ,_param->_size_special_data,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
    7071      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_EXCEPTION               ,"exception"   ,Texception_t       ,_param->_size_exception   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
     
    8889//    ALLOC1_SIGNAL_OUT(out_COMMIT_OPERATION                     ,"operation"   ,Toperation_t       ,_param->_size_operation   );
    8990//    ALLOC1_SIGNAL_OUT(out_COMMIT_TYPE                          ,"type"        ,Ttype_t            ,_param->_size_type        );
     91      ALLOC1_SIGNAL_OUT(out_COMMIT_CANCEL                        ,"cancel"      ,Tcontrol_t         ,1                         );
    9092      ALLOC1_SIGNAL_OUT(out_COMMIT_FLAGS                         ,"flags"       ,Tspecial_data_t    ,_param->_size_special_data);
    9193      ALLOC1_SIGNAL_OUT(out_COMMIT_EXCEPTION                     ,"exception"   ,Texception_t       ,_param->_size_exception   );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_deallocation.cpp

    r122 r136  
    3535//      DELETE2_SIGNAL( in_EXECUTE_LOOP_OPERATION               ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_operation   );
    3636//      DELETE2_SIGNAL( in_EXECUTE_LOOP_TYPE                    ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_type        );
     37        DELETE2_SIGNAL( in_EXECUTE_LOOP_CANCEL                  ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],1                         );
    3738        DELETE2_SIGNAL( in_EXECUTE_LOOP_FLAGS                   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_special_data);
    3839        DELETE2_SIGNAL( in_EXECUTE_LOOP_EXCEPTION               ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_exception   );
     
    4950//      DELETE1_SIGNAL(out_COMMIT_OPERATION                     ,_param->_nb_inst_commit,_param->_size_operation   );
    5051//      DELETE1_SIGNAL(out_COMMIT_TYPE                          ,_param->_nb_inst_commit,_param->_size_type        );
     52        DELETE1_SIGNAL(out_COMMIT_CANCEL                        ,_param->_nb_inst_commit,1                         );
    5153        DELETE1_SIGNAL(out_COMMIT_FLAGS                         ,_param->_nb_inst_commit,_param->_size_special_data);
    5254        DELETE1_SIGNAL(out_COMMIT_EXCEPTION                     ,_param->_nb_inst_commit,_param->_size_exception   );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp

    r131 r136  
    111111                  //PORT_WRITE(out_COMMIT_OPERATION    [i], PORT_READ(in_EXECUTE_LOOP_OPERATION    [x][y]));
    112112                  //PORT_WRITE(out_COMMIT_TYPE         [i], PORT_READ(in_EXECUTE_LOOP_TYPE         [x][y]));
     113                    PORT_WRITE(out_COMMIT_CANCEL       [i], PORT_READ(in_EXECUTE_LOOP_CANCEL       [x][y]));
    113114                    PORT_WRITE(out_COMMIT_FLAGS        [i], PORT_READ(in_EXECUTE_LOOP_FLAGS        [x][y]));
    114115                    PORT_WRITE(out_COMMIT_EXCEPTION    [i], exception);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h

    r123 r136  
    106106  public    : SC_OUT(Ttype_t           )   ** out_ISSUE_TYPE                       ;//[nb_inst_issue]
    107107  public    : SC_OUT(Toperation_t      )   ** out_ISSUE_OPERATION                  ;//[nb_inst_issue]
     108  public    : SC_OUT(Tcontrol_t        )   ** out_ISSUE_CANCEL                     ;//[nb_inst_issue]
    108109  public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_STORE_QUEUE_PTR_WRITE      ;//[nb_inst_issue]
    109110  public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_STORE_QUEUE_PTR_READ       ;//[nb_inst_issue]
     
    131132//public    : SC_IN (Ttype_t           )  ***  in_EXECUTE_LOOP_TYPE                ;//[nb_execute_loop][nb_inst_execute]
    132133//public    : SC_IN (Toperation_t      )  ***  in_EXECUTE_LOOP_OPERATION           ;//[nb_execute_loop][nb_inst_execute]
     134  public    : SC_IN (Tcontrol_t        )  ***  in_EXECUTE_LOOP_CANCEL              ;//[nb_execute_loop][nb_inst_execute]
    133135  public    : SC_IN (Tspecial_data_t   )  ***  in_EXECUTE_LOOP_FLAGS               ;//[nb_execute_loop][nb_inst_execute]
    134136  public    : SC_IN (Texception_t      )  ***  in_EXECUTE_LOOP_EXCEPTION           ;//[nb_execute_loop][nb_inst_execute]
     
    137139  public    : SC_IN (Tgeneral_data_t   )  ***  in_EXECUTE_LOOP_DATA                ;//[nb_execute_loop][nb_inst_execute]
    138140
    139     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    140   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_VAL                       ;//[nb_inst_insert]
    141   public    : SC_IN (Tcontrol_t        )   **  in_INSERT_ACK                       ;//[nb_inst_insert]
    142   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RD_USE                    ;//[nb_inst_insert]
    143   public    : SC_OUT(Tgeneral_address_t)   ** out_INSERT_RD_NUM_REG                ;//[nb_inst_insert]
    144   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RE_USE                    ;//[nb_inst_insert]
    145   public    : SC_OUT(Tspecial_address_t)   ** out_INSERT_RE_NUM_REG                ;//[nb_inst_insert]
     141//     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     142//   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_VAL                       ;//[nb_inst_insert]
     143//   public    : SC_IN (Tcontrol_t        )   **  in_INSERT_ACK                       ;//[nb_inst_insert]
     144//   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RD_USE                    ;//[nb_inst_insert]
     145//   public    : SC_OUT(Tgeneral_address_t)   ** out_INSERT_RD_NUM_REG                ;//[nb_inst_insert]
     146//   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RE_USE                    ;//[nb_inst_insert]
     147//   public    : SC_OUT(Tspecial_address_t)   ** out_INSERT_RE_NUM_REG                ;//[nb_inst_insert]
    146148
    147149//     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp

    r135 r136  
    101101      ALLOC1_SIGNAL_OUT (out_ISSUE_TYPE                       ,"TYPE"                      ,Ttype_t           ,_param->_size_type                   );
    102102      ALLOC1_SIGNAL_OUT (out_ISSUE_OPERATION                  ,"OPERATION"                 ,Toperation_t      ,_param->_size_operation              );
     103      ALLOC1_SIGNAL_OUT (out_ISSUE_CANCEL                     ,"CANCEL"                    ,Tcontrol_t        ,1                                    );
    103104      ALLOC1_SIGNAL_OUT (out_ISSUE_STORE_QUEUE_PTR_WRITE      ,"STORE_QUEUE_PTR_WRITE"     ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr        );
    104105      ALLOC1_SIGNAL_OUT (out_ISSUE_STORE_QUEUE_PTR_READ       ,"STORE_QUEUE_PTR_READ"      ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr        );
     
    132133//    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_TYPE                ,"TYPE"                      ,Ttype_t           ,_param->_size_type                   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
    133134//    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_OPERATION           ,"OPERATION"                 ,Toperation_t      ,_param->_size_operation              ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
     135      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_CANCEL              ,"CANCEL"                    ,Tcontrol_t        ,1                                    ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
    134136      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_FLAGS               ,"FLAGS"                     ,Tspecial_data_t   ,_param->_size_special_data           ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
    135137      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_EXCEPTION           ,"EXCEPTION"                 ,Texception_t      ,_param->_size_exception              ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
     
    141143    }
    142144
    143     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    144     {
    145       ALLOC1_INTERFACE_BEGIN("insert",OUT,EAST,_("Interface with RegisterFile's stat-list (insert Re-Order-Buffer)."),_param->_sum_inst_insert);
    146 
    147       ALLOC1_VALACK_OUT (out_INSERT_VAL                       , VAL);
    148       ALLOC1_VALACK_IN  ( in_INSERT_ACK                       , ACK);
    149       ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                    ,"RD_USE"                    ,Tcontrol_t        ,1                                    );
    150       ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                ,"RD_NUM_REG"                ,Tgeneral_address_t,_param->_size_general_register       );
    151       ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                    ,"RE_USE"                    ,Tcontrol_t        ,1                                    );
    152       ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                ,"RE_NUM_REG"                ,Tspecial_address_t,_param->_size_special_register       );
    153 
    154       ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
    155     }
     145//     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     146//     {
     147//       ALLOC1_INTERFACE_BEGIN("insert",OUT,EAST,_("Interface with RegisterFile's stat-list (insert Re-Order-Buffer)."),_param->_sum_inst_insert);
     148
     149//       ALLOC1_VALACK_OUT (out_INSERT_VAL                       , VAL);
     150//       ALLOC1_VALACK_IN  ( in_INSERT_ACK                       , ACK);
     151//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                    ,"RD_USE"                    ,Tcontrol_t        ,1                                    );
     152//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                ,"RD_NUM_REG"                ,Tgeneral_address_t,_param->_size_general_register       );
     153//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                    ,"RE_USE"                    ,Tcontrol_t        ,1                                    );
     154//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                ,"RE_NUM_REG"                ,Tspecial_address_t,_param->_size_special_register       );
     155
     156//       ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
     157//     }
    156158
    157159//     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
    937939//        COMPONENT_MAP(_component,src , "in_COMMIT_"+toString(i)+"_TYPE"       ,
    938940//                                 dest,"out_COMMIT_"+toString(i)+"_TYPE"       );
     941          COMPONENT_MAP(_component,src , "in_COMMIT_"+toString(i)+"_CANCEL"     ,
     942                                   dest,"out_COMMIT_"+toString(i)+"_CANCEL"     );
    939943          COMPONENT_MAP(_component,src , "in_COMMIT_"+toString(i)+"_FLAGS"      ,
    940944                                   dest,"out_COMMIT_"+toString(i)+"_FLAGS"      );
     
    13111315          PORT_MAP(_component,src ,"out_ISSUE_OUT_"+toString(i)+"_OPERATION"            ,
    13121316                              dest,"out_ISSUE_"    +toString(i)+"_OPERATION"            );
     1317          PORT_MAP(_component,src ,"out_ISSUE_OUT_"+toString(i)+"_CANCEL"               ,
     1318                              dest,"out_ISSUE_"    +toString(i)+"_CANCEL"               );
    13131319          PORT_MAP(_component,src ,"out_ISSUE_OUT_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",
    13141320                              dest,"out_ISSUE_"    +toString(i)+"_STORE_QUEUE_PTR_WRITE");
     
    13911397//          PORT_MAP(_component,src , "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_OPERATION"   ,
    13921398//                              dest, "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_OPERATION"   );
     1399            PORT_MAP(_component,src , "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_CANCEL"      ,
     1400                                dest, "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_CANCEL"      );
    13931401            PORT_MAP(_component,src , "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_FLAGS"       ,
    13941402                                dest, "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_FLAGS"       );
     
    14121420      ////out_COMMIT_OPERATION                     - component_commit_unit
    14131421      ////out_COMMIT_TYPE                          - component_commit_unit
     1422      //  out_COMMIT_CANCEL                        - component_commit_unit
    14141423      //  out_COMMIT_FLAGS                         - component_commit_unit
    14151424      //  out_COMMIT_EXCEPTION                     - component_commit_unit
     
    16011610
    16021611      // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1603       for (uint32_t i=0; i<_param->_sum_inst_insert; i++)
    1604         {
    1605           dest = _name;
    1606 #ifdef POSITION
    1607           _component->interface_map (src ,"insert_"+toString(i),
    1608                                      dest,"insert_"+toString(i));
    1609 #endif
    1610           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_VAL"       ,
    1611                               dest,"out_INSERT_"+toString(i)+"_VAL"       );
    1612           PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_ACK"       ,
    1613                               dest, "in_INSERT_"+toString(i)+"_ACK"       );
    1614           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_USE"    ,
    1615                               dest,"out_INSERT_"+toString(i)+"_RD_USE"    );
    1616           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_NUM_REG",
    1617                               dest,"out_INSERT_"+toString(i)+"_RD_NUM_REG");
    1618           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_USE"    ,
    1619                               dest,"out_INSERT_"+toString(i)+"_RE_USE"    );
    1620           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_NUM_REG",
    1621                               dest,"out_INSERT_"+toString(i)+"_RE_NUM_REG");
    1622         }
     1612//       for (uint32_t i=0; i<_param->_sum_inst_insert; i++)
     1613//         {
     1614//           dest = _name;
     1615// #ifdef POSITION
     1616//           _component->interface_map (src ,"insert_"+toString(i),
     1617//                                      dest,"insert_"+toString(i));
     1618// #endif
     1619//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_VAL"       ,
     1620//                               dest,"out_INSERT_"+toString(i)+"_VAL"       );
     1621//           PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_ACK"       ,
     1622//                               dest, "in_INSERT_"+toString(i)+"_ACK"       );
     1623//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_USE"    ,
     1624//                               dest,"out_INSERT_"+toString(i)+"_RD_USE"    );
     1625//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_NUM_REG",
     1626//                               dest,"out_INSERT_"+toString(i)+"_RD_NUM_REG");
     1627//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_USE"    ,
     1628//                               dest,"out_INSERT_"+toString(i)+"_RE_USE"    );
     1629//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_NUM_REG",
     1630//                               dest,"out_INSERT_"+toString(i)+"_RE_NUM_REG");
     1631//         }
    16231632
    16241633      //   in_INSERT_RENAME_UNIT_VAL                       - component_rename_unit
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp

    r128 r136  
    6464        DELETE1_SIGNAL(out_ISSUE_TYPE                       ,_param->_nb_inst_issue,_param->_size_type                   );
    6565        DELETE1_SIGNAL(out_ISSUE_OPERATION                  ,_param->_nb_inst_issue,_param->_size_operation              );
     66        DELETE1_SIGNAL(out_ISSUE_CANCEL                     ,_param->_nb_inst_issue,1                                    );
    6667        DELETE1_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_WRITE      ,_param->_nb_inst_issue,_param->_size_store_queue_ptr        );
    6768        DELETE1_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_READ       ,_param->_nb_inst_issue,_param->_size_store_queue_ptr        );
     
    8889//      DELETE2_SIGNAL( in_EXECUTE_LOOP_TYPE                ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_type                   );
    8990//      DELETE2_SIGNAL( in_EXECUTE_LOOP_OPERATION           ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_operation              );
     91        DELETE2_SIGNAL( in_EXECUTE_LOOP_CANCEL              ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],1                                    );
    9092        DELETE2_SIGNAL( in_EXECUTE_LOOP_FLAGS               ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_special_data           );
    9193        DELETE2_SIGNAL( in_EXECUTE_LOOP_EXCEPTION           ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_exception              );
     
    9496        DELETE2_SIGNAL( in_EXECUTE_LOOP_DATA                ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_general_data           );
    9597       
    96         DELETE1_SIGNAL(out_INSERT_VAL                       ,_param->_sum_inst_insert,1                                    );
    97         DELETE1_SIGNAL( in_INSERT_ACK                       ,_param->_sum_inst_insert,1                                    );
    98         DELETE1_SIGNAL(out_INSERT_RD_USE                    ,_param->_sum_inst_insert,1                                    );
    99         DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                ,_param->_sum_inst_insert,_param->_size_general_register       );
    100         DELETE1_SIGNAL(out_INSERT_RE_USE                    ,_param->_sum_inst_insert,1                                    );
    101         DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                ,_param->_sum_inst_insert,_param->_size_special_register       );
     98//         DELETE1_SIGNAL(out_INSERT_VAL                       ,_param->_sum_inst_insert,1                                    );
     99//         DELETE1_SIGNAL( in_INSERT_ACK                       ,_param->_sum_inst_insert,1                                    );
     100//         DELETE1_SIGNAL(out_INSERT_RD_USE                    ,_param->_sum_inst_insert,1                                    );
     101//         DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                ,_param->_sum_inst_insert,_param->_size_general_register       );
     102//         DELETE1_SIGNAL(out_INSERT_RE_USE                    ,_param->_sum_inst_insert,1                                    );
     103//         DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                ,_param->_sum_inst_insert,_param->_size_special_register       );
    102104       
    103105//         DELETE1_SIGNAL(out_RETIRE_VAL                       ,_param->_sum_inst_retire,1                                    );
Note: See TracChangeset for help on using the changeset viewer.