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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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      }
Note: See TracChangeset for help on using the changeset viewer.