Ignore:
Timestamp:
Jan 21, 2009, 10:53:13 PM (15 years ago)
Author:
rosiere
Message:

Fix Bug :
1) Load Store Unit : check big endian
2) Commit unit & RAT : add retire_event interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/test.cpp

    r88 r104  
    8181  ALLOC1_SC_SIGNAL( in_RETIRE_FRONT_END_ID      ," in_RETIRE_FRONT_END_ID      ",Tcontext_t        ,_param->_nb_inst_retire);
    8282  ALLOC1_SC_SIGNAL( in_RETIRE_CONTEXT_ID        ," in_RETIRE_CONTEXT_ID        ",Tcontext_t        ,_param->_nb_inst_retire);
    83   ALLOC1_SC_SIGNAL( in_RETIRE_EVENT_STATE       ," in_RETIRE_EVENT_STATE       ",Tevent_state_t    ,_param->_nb_inst_retire);
    8483  ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RD          ," in_RETIRE_WRITE_RD          ",Tcontrol_t        ,_param->_nb_inst_retire);
    8584  ALLOC1_SC_SIGNAL( in_RETIRE_WRITE_RE          ," in_RETIRE_WRITE_RE          ",Tcontrol_t        ,_param->_nb_inst_retire);
     
    9089  ALLOC1_SC_SIGNAL(out_RETIRE_RESTORE_RD_PHY_OLD,"out_RETIRE_RESTORE_RD_PHY_OLD",Tcontrol_t        ,_param->_nb_inst_retire);
    9190  ALLOC1_SC_SIGNAL(out_RETIRE_RESTORE_RE_PHY_OLD,"out_RETIRE_RESTORE_RE_PHY_OLD",Tcontrol_t        ,_param->_nb_inst_retire);
     91
     92  ALLOC2_SC_SIGNAL( in_RETIRE_EVENT_VAL         ," in_RETIRE_EVENT_VAL         ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_context[it1]);
     93  ALLOC2_SC_SIGNAL(out_RETIRE_EVENT_ACK         ,"out_RETIRE_EVENT_ACK         ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_context[it1]);
     94  ALLOC2_SC_SIGNAL( in_RETIRE_EVENT_STATE       ," in_RETIRE_EVENT_STATE       ",Tevent_state_t    ,_param->_nb_front_end,_param->_nb_context[it1]);
    9295 
    9396  /********************************************************
     
    136139  if (_param->_have_port_context_id)
    137140  INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_CONTEXT_ID        ,_param->_nb_inst_retire);
    138   INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_EVENT_STATE       ,_param->_nb_inst_retire);
    139141  INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_WRITE_RD          ,_param->_nb_inst_retire);
    140142  INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_WRITE_RE          ,_param->_nb_inst_retire);
     
    145147  INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit,out_RETIRE_RESTORE_RD_PHY_OLD,_param->_nb_inst_retire);
    146148  INSTANCE1_SC_SIGNAL(_Register_Address_Translation_unit,out_RETIRE_RESTORE_RE_PHY_OLD,_param->_nb_inst_retire);
     149
     150  INSTANCE2_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_EVENT_VAL         ,_param->_nb_front_end, _param->_nb_context[it1]);
     151  INSTANCE2_SC_SIGNAL(_Register_Address_Translation_unit,out_RETIRE_EVENT_ACK         ,_param->_nb_front_end, _param->_nb_context[it1]);
     152  INSTANCE2_SC_SIGNAL(_Register_Address_Translation_unit, in_RETIRE_EVENT_STATE       ,_param->_nb_front_end, _param->_nb_context[it1]);
    147153
    148154  msg(_("<%s> : Start Simulation ............\n"),name.c_str());
     
    192198  SC_START(0);
    193199  LABEL("Initialisation");
     200 
     201  for (uint32_t i=0; i<_param->_nb_front_end; ++i)
     202    for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
     203      in_RETIRE_EVENT_VAL [i][j]->write(1);
    194204
    195205  LABEL("Reset");
     
    251261
    252262              Tcontext_t front_end_id = rand() % _param->_nb_front_end;
     263              Tcontext_t context_id   = rand() % (_param->_nb_context[front_end_id]);
    253264
    254265              in_RETIRE_VAL                [i]->write(val);
    255266              in_RETIRE_FRONT_END_ID       [i]->write(front_end_id);
    256               in_RETIRE_CONTEXT_ID         [i]->write(rand() % (_param->_nb_context[front_end_id]));
    257               in_RETIRE_EVENT_STATE        [i]->write(EVENT_STATE_NO_EVENT);
     267              in_RETIRE_CONTEXT_ID         [i]->write(context_id);
    258268              in_RETIRE_WRITE_RD           [i]->write(rand() % 2);
    259269              in_RETIRE_WRITE_RE           [i]->write(rand() % 2);
     
    262272              in_RETIRE_NUM_REG_RD_PHY_OLD [i]->write(rand() % _param->_nb_general_register);
    263273              in_RETIRE_NUM_REG_RE_PHY_OLD [i]->write(rand() % _param->_nb_special_register);
     274
     275              in_RETIRE_EVENT_STATE        [front_end_id][context_id]->write(EVENT_STATE_NO_EVENT);
    264276            }
    265277
     
    332344          in_RETIRE_FRONT_END_ID       [i]->write(retire_front_end_id [i]);
    333345          in_RETIRE_CONTEXT_ID         [i]->write(retire_context_id   [i]);
    334           in_RETIRE_EVENT_STATE        [i]->write(EVENT_STATE_EVENT);
    335346          in_RETIRE_WRITE_RD           [i]->write(0);
    336347          in_RETIRE_WRITE_RE           [i]->write(0);
    337348         
     349          in_RETIRE_EVENT_STATE [retire_front_end_id [i]][retire_context_id [i]]->write(EVENT_STATE_EVENT);
     350
    338351          do
    339352            {
     
    389402              in_RETIRE_FRONT_END_ID       [i]->write(retire_front_end_id [i]);
    390403              in_RETIRE_CONTEXT_ID         [i]->write(retire_context_id   [i]);
    391               in_RETIRE_EVENT_STATE        [i]->write(EVENT_STATE_WAITEND);
    392404              in_RETIRE_WRITE_RD           [i]->write(rand() % 2);
    393405              in_RETIRE_WRITE_RE           [i]->write(rand() % 2);
     
    396408              in_RETIRE_NUM_REG_RD_PHY_OLD [i]->write(rand() % _param->_nb_general_register);
    397409              in_RETIRE_NUM_REG_RE_PHY_OLD [i]->write(rand() % _param->_nb_special_register);
     410
     411              in_RETIRE_EVENT_STATE [retire_front_end_id [i]][retire_context_id [i]]->write(EVENT_STATE_WAITEND);
    398412            }
    399413
     
    517531  if (_param->_have_port_context_id)
    518532  delete []  in_RETIRE_CONTEXT_ID        ;
    519   delete []  in_RETIRE_EVENT_STATE       ;
    520533  delete []  in_RETIRE_WRITE_RD          ;
    521534  delete []  in_RETIRE_WRITE_RE          ;
     
    527540  delete [] out_RETIRE_RESTORE_RE_PHY_OLD;
    528541
     542  DELETE2_SC_SIGNAL( in_RETIRE_EVENT_VAL            ,_param->_nb_front_end, _param->_nb_context[it1]);
     543  DELETE2_SC_SIGNAL(out_RETIRE_EVENT_ACK            ,_param->_nb_front_end, _param->_nb_context[it1]);
     544  DELETE2_SC_SIGNAL( in_RETIRE_EVENT_STATE          ,_param->_nb_front_end, _param->_nb_context[it1]);
    529545#endif
    530546
Note: See TracChangeset for help on using the changeset viewer.