Ignore:
Timestamp:
Jun 8, 2009, 10:43:30 PM (15 years ago)
Author:
rosiere
Message:

1) Fix performance
2) add auto generation to SPECINT2000
3) add reset in genMoore and genMealy

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp

    r88 r123  
    3838    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
    3939
    40 #if DEBUG_Register_unit_Glue == true
    41     log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str());
    42 
    43     std::cout << *param << std::endl;
    44 #endif   
     40// #if DEBUG_Register_unit_Glue == true
     41//     log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str());
     42
     43//     std::cout << *param << std::endl;
     44// #endif   
    4545
    4646    log_printf(INFO,Register_unit_Glue,FUNCTION,"Allocation");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_gpr_read.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    31 //        PORT_WRITE(out_GPR_READ_ACK      [j], 0);
    32 //       }
    33 //     else
     28    if (PORT_READ(in_NRESET))
    3429      {
    3530        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     
    4439            PORT_WRITE(out_GPR_READ_DATA_VAL [j], PORT_READ(in_GPR_READ_STATUS_DATA_VAL  [ooo_engine_id][j]));
    4540          }
     41      }
     42    else
     43      {
     44        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     45          PORT_WRITE(out_GPR_READ_ACK      [j], 0);
    4646      }
    4747
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_gpr_read_registerfile.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_GPR_READ_REGISTERFILE_VAL [i][j],0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     
    4943          }
    5044      }
     45    else
     46      {
     47        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     48          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     49            PORT_WRITE(out_GPR_READ_REGISTERFILE_VAL [i][j],0);
     50      }
    5151
    5252    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_gpr_read_status.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_GPR_READ_STATUS_VAL       [i][j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     
    4943          }
    5044      }
     45    else
     46      {
     47        for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
     48          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     49            PORT_WRITE(out_GPR_READ_STATUS_VAL       [i][j], 0);
     50      }
    5151
    5252    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_gpr_registerfile.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_GPR_WRITE_REGISTERFILE_VAL [i][j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
     
    4842          }
    4943      }
     44    else
     45      {
     46        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
     47          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     48            PORT_WRITE(out_GPR_WRITE_REGISTERFILE_VAL [i][j], 0);
     49      }
    5050
    5151    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_gpr_write.cpp

    r88 r123  
    2525    log_begin(Register_unit_Glue,FUNCTION);
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    27 //     if (not PORT_READ(in_NRESET))
    28 //       {
    29 //      for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    30 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    31 //          PORT_WRITE(out_GPR_WRITE_ACK [j], 0);
    32 //       }
    33 //     else
     27
     28
     29    if (PORT_READ(in_NRESET))
    3430      {
    3531        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
     
    4238            PORT_WRITE(out_GPR_WRITE_ACK [j],registerfile_ack and status_ack);
    4339          }
     40      }
     41    else
     42      {
     43        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
     44          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     45            PORT_WRITE(out_GPR_WRITE_ACK [j], 0);
    4446      }
    4547   
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_gpr_write_status.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_GPR_WRITE_STATUS_VAL       [i][j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
     
    4842          }
    4943      }
     44    else
     45      {
     46        for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
     47          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     48            PORT_WRITE(out_GPR_WRITE_STATUS_VAL       [i][j], 0);
     49      }
     50
    5051
    5152    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_insert.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
     28    if (PORT_READ(in_NRESET))
     29      {
    2830    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    2931      for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
     
    5961
    6062        }
     63      }
     64    else
     65      {
     66        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     67          for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
     68            {
     69              PORT_WRITE(out_INSERT_ROB_ACK            [i][j], 0);
     70              PORT_WRITE(out_INSERT_ROB_GPR_STATUS_VAL [i][j], 0);
     71              PORT_WRITE(out_INSERT_ROB_SPR_STATUS_VAL [i][j], 0);
     72            }
     73      }
    6174
    6275    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_retire.cpp

    r88 r123  
    2727    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2828
     29    if (PORT_READ(in_NRESET))
     30      {
    2931    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    3032      {
     
    5860          }
    5961      }
    60 
     62}
    6163    log_end(Register_unit_Glue,FUNCTION);
    6264  };
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_read.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    31 //        PORT_WRITE(out_SPR_READ_ACK      [j], 0);
    32 //       }
    33 //     else
     28    if (PORT_READ(in_NRESET))
    3429      {
    3530        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
     
    4439            PORT_WRITE(out_SPR_READ_DATA_VAL [j], PORT_READ(in_SPR_READ_STATUS_DATA_VAL  [ooo_engine_id][j]));
    4540          }
     41      }
     42    else
     43      {
     44        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
     45          PORT_WRITE(out_SPR_READ_ACK      [j], 0);
    4646      }
    4747
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_read_registerfile.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_SPR_READ_REGISTERFILE_VAL [i][j],0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
     
    4842          }
    4943      }
     44    else
     45      {
     46        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
     47          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     48            PORT_WRITE(out_SPR_READ_REGISTERFILE_VAL [i][j],0);
     49      }
    5050
    5151    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_read_status.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_SPR_READ_STATUS_VAL       [i][j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
     
    4842          }
    4943      }
     44    else
     45      {
     46        for (uint32_t j=0; j<_param->_nb_spr_read; j++)
     47          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     48            PORT_WRITE(out_SPR_READ_STATUS_VAL       [i][j], 0);
     49      }
    5050
    5151    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_registerfile.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_SPR_WRITE_REGISTERFILE_VAL [i][j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
     
    4842          }
    4943      }
     44    else
     45      {
     46        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
     47          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     48            PORT_WRITE(out_SPR_WRITE_REGISTERFILE_VAL [i][j], 0);
     49      }
    5050
    5151    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_write.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_SPR_WRITE_ACK [j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
     
    4337            PORT_WRITE(out_SPR_WRITE_ACK [j],registerfile_ack and status_ack);
    4438          }
     39      }
     40    else
     41      {
     42        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
     43          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     44            PORT_WRITE(out_SPR_WRITE_ACK [j], 0);
    4545      }
    4646
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_genMealy_spr_write_status.cpp

    r88 r123  
    2626    log_function(Register_unit_Glue,FUNCTION,_name.c_str());
    2727
    28 //     if (not PORT_READ(in_NRESET))
    29 //       {
    30 //      for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    31 //        for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    32 //          PORT_WRITE(out_SPR_WRITE_STATUS_VAL       [i][j], 0);
    33 //       }
    34 //     else
     28    if (PORT_READ(in_NRESET))
    3529      {
    3630        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
     
    4842          }
    4943      }
     44    else
     45      {
     46        for (uint32_t j=0; j<_param->_nb_spr_write; j++)
     47          for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
     48            PORT_WRITE(out_SPR_WRITE_STATUS_VAL       [i][j], 0);
     49      }
    5050
    5151    log_end(Register_unit_Glue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp

    r88 r123  
    3737    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
    3838
    39 #if DEBUG_Register_unit == true
    40     log_printf(INFO,Register_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
     39// #if DEBUG_Register_unit == true
     40//     log_printf(INFO,Register_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
    4141
    42     std::cout << *param << std::endl;
    43 #endif   
     42//     std::cout << *param << std::endl;
     43// #endif   
    4444
    4545    log_printf(INFO,Register_unit,FUNCTION,"Allocation");
Note: See TracChangeset for help on using the changeset viewer.