Ignore:
Timestamp:
Jul 13, 2009, 5:19:10 PM (15 years ago)
Author:
rosiere
Message:

1) Write_queue : fix multi write bug

Location:
trunk/IPs/systemC/processor/Morpheo
Files:
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/SelfTest/src/test.cpp

    r131 r133  
    5656  configuration1->toFile("data_out");
    5757
     58  if (1)
    5859  {
    5960    cout << "------------------------------------------------------" << endl;
    60 
    61     Instance * instance = new Instance ("../../../Files/Instance_x4_w8_1.cfg",
    62                                         generator1,
    63                                         _get_custom_information
    64                                         );
    65     instance->toFile("data_out");
    66    
     61    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_01.cfg", generator1, _get_custom_information);
    6762    delete instance;
    6863  }
    6964
     65  if (1)
    7066  {
    7167    cout << "------------------------------------------------------" << endl;
    72 
    73     Instance * instance = new Instance ("../../../Files/Instance_x4_w8_2.cfg",
    74                                         generator1,
    75                                         _get_custom_information
    76                                         );
    77     instance->toFile("data_out");
    78    
     68    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_02.cfg", generator1, _get_custom_information);
    7969    delete instance;
    8070  }
    8171
     72  if (1)
     73  {
     74    cout << "------------------------------------------------------" << endl;
     75    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_03.cfg", generator1, _get_custom_information);
     76    delete instance;
     77  }
     78
     79
     80  if (0)
     81  {
     82    cout << "------------------------------------------------------" << endl;
     83    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_04.cfg", generator1, _get_custom_information);
     84    delete instance;
     85  }
     86
     87  if (1)
     88  {
     89    cout << "------------------------------------------------------" << endl;
     90    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_05.cfg", generator1, _get_custom_information);
     91    delete instance;
     92  }
     93
     94  if (0)
     95  {
     96    cout << "------------------------------------------------------" << endl;
     97    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_06.cfg", generator1, _get_custom_information);
     98    delete instance;
     99  }
     100
     101  if (0)
     102  {
     103    cout << "------------------------------------------------------" << endl;
     104    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_07.cfg", generator1, _get_custom_information);
     105    delete instance;
     106  }
     107
     108  if (0)
     109  {
     110    cout << "------------------------------------------------------" << endl;
     111    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_08.cfg", generator1, _get_custom_information);
     112    delete instance;
     113  }
     114
     115  if (0)
     116  {
     117    cout << "------------------------------------------------------" << endl;
     118    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_09.cfg", generator1, _get_custom_information);
     119    delete instance;
     120  }
     121
     122  if (0)
     123  {
     124    cout << "------------------------------------------------------" << endl;
     125    Instance * instance = new Instance ("../../../Files/Instance_x4_w8_10.cfg", generator1, _get_custom_information);
     126    delete instance;
     127  }
    82128
    83129  delete configuration1;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp

    r123 r133  
    133133        // Reset
    134134        internal_WRITE_QUEUE_IN_ACK  = 0;
     135        if (_param->_queue_scheme == WRITE_QUEUE_SCHEME_MOORE)
     136          {
    135137        internal_WRITE_QUEUE_OUT_VAL = 0;
    136138        internal_GPR_WRITE_VAL = 0;
    137139        internal_SPR_WRITE_VAL = 0;
    138 
     140          }
    139141      }
    140142
    141143    // Write output
    142144    PORT_WRITE(out_WRITE_QUEUE_IN_ACK , internal_WRITE_QUEUE_IN_ACK);
     145
     146    if (_param->_queue_scheme == WRITE_QUEUE_SCHEME_MOORE)
     147      {
    143148    PORT_WRITE(out_WRITE_QUEUE_OUT_VAL, internal_WRITE_QUEUE_OUT_VAL);
    144 
    145149    PORT_WRITE(out_GPR_WRITE_VAL [0]  , internal_GPR_WRITE_VAL);
    146150    PORT_WRITE(out_SPR_WRITE_VAL [0]  , internal_SPR_WRITE_VAL);
     151      }
    147152
    148153    log_end(Write_queue,FUNCTION);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMealy_retire.cpp

    r128 r133  
    5757          spr_write_sr_ov_val [i][j] = 0;
    5858
     59          spr_write_sr_f      [i][j] = 0; // not necessary
     60          spr_write_sr_cy     [i][j] = 0; // not necessary
     61          spr_write_sr_ov     [i][j] = 0; // not necessary
    5962        }
    6063
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h

    r132 r133  
    1010#define MORPHEO_MAJOR_VERSION "0"
    1111#define MORPHEO_MINOR_VERSION "2"
    12 #define MORPHEO_REVISION      "132"
     12#define MORPHEO_REVISION      "133"
    1313#define MORPHEO_CODENAME      "Castor"
    1414
    15 #define MORPHEO_DATE_DAY      "11
     15#define MORPHEO_DATE_DAY      "13
    1616#define MORPHEO_DATE_MONTH    "07"
    1717#define MORPHEO_DATE_YEAR     "2009"
Note: See TracChangeset for help on using the changeset viewer.