Ignore:
Timestamp:
Mar 18, 2009, 11:36:26 PM (15 years ago)
Author:
rosiere
Message:

1) Stat_list : fix retire old and new register bug
2) Stat_list : remove read_counter and valid flag, because validation of destination is in retire step (not in commit step)
3) Model : add class Model (cf Morpheo.sim)
4) Allocation : alloc_interface_begin and alloc_interface_end to delete temporary array.
5) Script : add distexe.sh
6) Add Comparator, Multiplier, Divider. But this component are not implemented
7) Software : add Dhrystone

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/configuration.cfg

    r111 r112  
    51511       1       +1      # nb_reg_free                       [0]               [nb_rename_unit]
    52521       1       +1      # nb_rename_unit_bank               [0]               [nb_rename_unit]
    53 1       1       +1      # size_read_counter                 [0]               [nb_rename_unit]
    54531       1       +1      # nb_load_store_queue               [0]               [nb_rename_unit]
    55542       2       +1      # size_store_queue                  [0][0]            [nb_rename_unit][nb_load_store_queue]
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/main.cpp

    r111 r112  
    6767  err (_(" * nb_reg_free                       [nb_rename_unit]                      (uint32_t         )\n"));
    6868  err (_(" * nb_rename_unit_bank               [nb_rename_unit]                      (uint32_t         )\n"));
    69   err (_(" * size_read_counter                 [nb_rename_unit]                      (uint32_t         )\n"));
     69//   err (_(" * size_read_counter                 [nb_rename_unit]                      (uint32_t         )\n"));
    7070  err (_(" * nb_load_store_queue               [nb_rename_unit]                      (uint32_t         )\n"));
    7171  err (_(" * size_store_queue                  [nb_rename_unit][nb_load_store_queue] (uint32_t         )\n"));
     
    110110    _nb_inst_decod [i] = fromString<uint32_t>(argv[x++]);
    111111
    112   if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+12*_nb_rename_unit+_nb_execute_loop))
     112  if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop))
    113113    usage (argc, argv);
    114114
     
    160160    }
    161161
    162   if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+11*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue))
     162  if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue))
    163163    usage (argc, argv);
    164164 
     
    195195  uint32_t            * _nb_reg_free                       = new uint32_t          [_nb_rename_unit];
    196196  uint32_t            * _nb_rename_unit_bank               = new uint32_t          [_nb_rename_unit];
    197   uint32_t            * _size_read_counter                 = new uint32_t          [_nb_rename_unit];
     197//   uint32_t            * _size_read_counter                 = new uint32_t          [_nb_rename_unit];
    198198  uint32_t            * _nb_load_store_queue               = new uint32_t          [_nb_rename_unit];
    199199
     
    212212  for (uint32_t i=0; i<_nb_rename_unit; i++)
    213213    _nb_rename_unit_bank               [i] = fromString<uint32_t         >(argv[x++]);
    214   for (uint32_t i=0; i<_nb_rename_unit; i++)
    215     _size_read_counter                 [i] = fromString<uint32_t         >(argv[x++]);
     214//   for (uint32_t i=0; i<_nb_rename_unit; i++)
     215//     _size_read_counter                 [i] = fromString<uint32_t         >(argv[x++]);
    216216  for (uint32_t i=0; i<_nb_rename_unit; i++)
    217217    {
     
    220220    }
    221221
    222   if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+11*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue+3*_sum_nb_load_store_queue))
     222  if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue+3*_sum_nb_load_store_queue))
    223223    usage (argc, argv);
    224224
     
    327327         _nb_reg_free                      ,
    328328         _nb_rename_unit_bank              ,
    329          _size_read_counter                ,
     329//          _size_read_counter                ,
    330330         _nb_load_store_queue              ,
    331331         _size_store_queue                 ,
     
    391391
    392392  delete [] _nb_load_store_queue               ;
    393   delete [] _size_read_counter                 ;
     393//   delete [] _size_read_counter                 ;
    394394  delete [] _nb_rename_unit_bank               ;
    395395  delete [] _nb_reg_free                       ;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/test.cpp

    r110 r112  
    143143  ALLOC1_SC_SIGNAL( in_BRANCH_COMPLETE_MISS_PREDICTION  ," in_BRANCH_COMPLETE_MISS_PREDICTION  ",Tcontrol_t        ,_param->_nb_inst_branch_complete);
    144144
    145   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_VAL                 ,"out_COMMIT_EVENT_VAL                 ",Tcontrol_t        );
    146   ALLOC_SC_SIGNAL ( in_COMMIT_EVENT_ACK                 ," in_COMMIT_EVENT_ACK                 ",Tcontrol_t        );
    147   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_FRONT_END_ID        ,"out_COMMIT_EVENT_FRONT_END_ID        ",Tcontext_t        );
    148   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_CONTEXT_ID          ,"out_COMMIT_EVENT_CONTEXT_ID          ",Tcontext_t        );
    149   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_DEPTH               ,"out_COMMIT_EVENT_DEPTH               ",Tdepth_t          );
    150   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_TYPE                ,"out_COMMIT_EVENT_TYPE                ",Tevent_type_t     );
    151   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_IS_DELAY_SLOT       ,"out_COMMIT_EVENT_IS_DELAY_SLOT       ",Tcontrol_t        );
    152   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_ADDRESS             ,"out_COMMIT_EVENT_ADDRESS             ",Taddress_t        );
    153   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_ADDRESS_EPCR_VAL    ,"out_COMMIT_EVENT_ADDRESS_EPCR_VAL    ",Tcontrol_t        );
    154   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_ADDRESS_EPCR        ,"out_COMMIT_EVENT_ADDRESS_EPCR        ",Taddress_t        );
    155   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_ADDRESS_EEAR_VAL    ,"out_COMMIT_EVENT_ADDRESS_EEAR_VAL    ",Tcontrol_t        );
    156   ALLOC_SC_SIGNAL (out_COMMIT_EVENT_ADDRESS_EEAR        ,"out_COMMIT_EVENT_ADDRESS_EEAR        ",Tgeneral_data_t   );
     145  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_VAL                 ,"out_COMMIT_EVENT_VAL                 ",Tcontrol_t        );
     146  ALLOC0_SC_SIGNAL( in_COMMIT_EVENT_ACK                 ," in_COMMIT_EVENT_ACK                 ",Tcontrol_t        );
     147  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_FRONT_END_ID        ,"out_COMMIT_EVENT_FRONT_END_ID        ",Tcontext_t        );
     148  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_CONTEXT_ID          ,"out_COMMIT_EVENT_CONTEXT_ID          ",Tcontext_t        );
     149  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_DEPTH               ,"out_COMMIT_EVENT_DEPTH               ",Tdepth_t          );
     150  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_TYPE                ,"out_COMMIT_EVENT_TYPE                ",Tevent_type_t     );
     151  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_IS_DELAY_SLOT       ,"out_COMMIT_EVENT_IS_DELAY_SLOT       ",Tcontrol_t        );
     152  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS             ,"out_COMMIT_EVENT_ADDRESS             ",Taddress_t        );
     153  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR_VAL    ,"out_COMMIT_EVENT_ADDRESS_EPCR_VAL    ",Tcontrol_t        );
     154  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR        ,"out_COMMIT_EVENT_ADDRESS_EPCR        ",Taddress_t        );
     155  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR_VAL    ,"out_COMMIT_EVENT_ADDRESS_EEAR_VAL    ",Tcontrol_t        );
     156  ALLOC0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR        ,"out_COMMIT_EVENT_ADDRESS_EEAR        ",Tgeneral_data_t   );
    157157
    158158  ALLOC2_SC_SIGNAL( in_EVENT_VAL                        ," in_EVENT_VAL                        ",Tcontrol_t        ,_param->_nb_front_end,_param->_nb_context[it1]);
     
    294294  INSTANCE1_SC_SIGNAL(_OOO_Engine, in_BRANCH_COMPLETE_MISS_PREDICTION  ,_param->_nb_inst_branch_complete);
    295295
    296   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_VAL                 );
    297   INSTANCE_SC_SIGNAL (_OOO_Engine, in_COMMIT_EVENT_ACK                 );
     296  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_VAL                 );
     297  INSTANCE0_SC_SIGNAL(_OOO_Engine, in_COMMIT_EVENT_ACK                 );
    298298  if (_param->_have_port_front_end_id)
    299   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_FRONT_END_ID        );
     299  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_FRONT_END_ID        );
    300300  if (_param->_have_port_context_id)
    301   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_CONTEXT_ID          );
     301  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_CONTEXT_ID          );
    302302  if (_param->_have_port_depth)
    303   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_DEPTH               );
    304   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_TYPE                );
    305   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_IS_DELAY_SLOT       );
    306   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_ADDRESS             );
    307   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EPCR_VAL    );
    308   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EPCR        );
    309   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EEAR_VAL    );
    310   INSTANCE_SC_SIGNAL (_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EEAR        );
     303  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_DEPTH               );
     304  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_TYPE                );
     305  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_IS_DELAY_SLOT       );
     306  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_ADDRESS             );
     307  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EPCR_VAL    );
     308  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EPCR        );
     309  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EEAR_VAL    );
     310  INSTANCE0_SC_SIGNAL(_OOO_Engine,out_COMMIT_EVENT_ADDRESS_EEAR        );
    311311
    312312  INSTANCE2_SC_SIGNAL(_OOO_Engine, in_EVENT_VAL                        ,_param->_nb_front_end,_param->_nb_context[it1]);
     
    472472  DELETE1_SC_SIGNAL( in_BRANCH_COMPLETE_MISS_PREDICTION  ,_param->_nb_inst_branch_complete);
    473473 
    474   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_VAL                 );
    475   DELETE_SC_SIGNAL  ( in_COMMIT_EVENT_ACK                 );
    476   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_FRONT_END_ID        );
    477   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_CONTEXT_ID          );
    478   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_DEPTH               );
    479   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_TYPE                );
    480   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_IS_DELAY_SLOT       );
    481   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_ADDRESS             );
    482   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_ADDRESS_EPCR_VAL    );
    483   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_ADDRESS_EPCR        );
    484   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_ADDRESS_EEAR_VAL    );
    485   DELETE_SC_SIGNAL  (out_COMMIT_EVENT_ADDRESS_EEAR        );
     474  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_VAL                 );
     475  DELETE0_SC_SIGNAL( in_COMMIT_EVENT_ACK                 );
     476  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_FRONT_END_ID        );
     477  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_CONTEXT_ID          );
     478  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_DEPTH               );
     479  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_TYPE                );
     480  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_IS_DELAY_SLOT       );
     481  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS             );
     482  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR_VAL    );
     483  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR        );
     484  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR_VAL    );
     485  DELETE0_SC_SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR        );
    486486 
    487487  DELETE2_SC_SIGNAL( in_EVENT_VAL                        ,_param->_nb_front_end,_param->_nb_context[it1]);
Note: See TracChangeset for help on using the changeset viewer.