Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (15 years ago)
Author:
rosiere
Message:

Almost complete design
with Test and test platform

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/src/test.cpp

    r82 r88  
    77 */
    88
    9 #define NB_ITERATION  1
     9#define NB_ITERATION  16
    1010#define CYCLE_MAX     (128*NB_ITERATION)
    1111
     
    2727  public  : Tcontrol_t         _no_sequence  ;
    2828  public  : Tgeneral_data_t    _address      ;
     29  public  : Tgeneral_data_t    _data         ;
    2930   
    3031  public  : entry_t (Tcontext_t         context_id   ,
     
    3738                     Texception_t       exception    ,
    3839                     Tcontrol_t         no_sequence  ,
    39                      Tgeneral_data_t    address      )
     40                     Tgeneral_data_t    address      ,
     41                     Tgeneral_data_t    data         )
    4042    {
    4143      _context_id    = context_id   ;
     
    4951      _no_sequence   = no_sequence  ;
    5052      _address       = address      ;
     53      _data          = data         ;
    5154    };
    5255
     
    6366                    << " * _exception     : " << toString(x._exception    ) << std::endl
    6467                    << " * _no_sequence   : " << toString(x._no_sequence  ) << std::endl
    65                     << " * _address       : " << toString(x._address      ) << std::endl;
     68                    << " * _address       : " << toString(x._address      ) << std::endl
     69                    << " * _data          : " << toString(x._data         ) << std::endl;
    6670
    6771      return output_stream;
     
    8084  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);
    8185#endif
     86
     87  Tusage_t _usage = USE_ALL;
     88
     89//   _usage = usage_unset(_usage,USE_SYSTEMC              );
     90//   _usage = usage_unset(_usage,USE_VHDL                 );
     91//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
     92//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
     93//   _usage = usage_unset(_usage,USE_POSITION             );
     94//   _usage = usage_unset(_usage,USE_STATISTICS           );
     95//   _usage = usage_unset(_usage,USE_INFORMATION          );
    8296
    8397  Execute_queue * _Execute_queue = new Execute_queue
     
    87101#endif
    88102     _param,
    89      USE_ALL);
     103     _usage);
    90104 
    91105#ifdef SYSTEMC
     
    110124  ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_IN_NO_SEQUENCE   ," in_EXECUTE_QUEUE_IN_NO_SEQUENCE"   , Tcontrol_t        );
    111125  ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_IN_ADDRESS       ," in_EXECUTE_QUEUE_IN_ADDRESS"       , Tgeneral_data_t   );
     126  ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_IN_DATA          ," in_EXECUTE_QUEUE_IN_DATA"          , Tgeneral_data_t   );
    112127  ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_VAL          ,"out_EXECUTE_QUEUE_OUT_VAL"          , Tcontrol_t        );
    113128  ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_OUT_ACK          ," in_EXECUTE_QUEUE_OUT_ACK"          , Tcontrol_t        );
     
    122137  ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ,"out_EXECUTE_QUEUE_OUT_NO_SEQUENCE"  , Tcontrol_t        );
    123138  ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_ADDRESS      ,"out_EXECUTE_QUEUE_OUT_ADDRESS"      , Tgeneral_data_t   );
     139  ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_DATA         ,"out_EXECUTE_QUEUE_OUT_DATA"         , Tgeneral_data_t   );
    124140
    125141 
     
    141157  if (_param->_have_port_ooo_engine_id)
    142158  INSTANCE_SC_SIGNAL (_Execute_queue,  in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID );
    143   if (_param->_have_port_packet_id)
     159  if (_param->_have_port_rob_ptr)
    144160  INSTANCE_SC_SIGNAL (_Execute_queue,  in_EXECUTE_QUEUE_IN_PACKET_ID     );
    145161//INSTANCE_SC_SIGNAL (_Execute_queue,  in_EXECUTE_QUEUE_IN_OPERATION     );
     
    149165  INSTANCE_SC_SIGNAL (_Execute_queue,  in_EXECUTE_QUEUE_IN_NO_SEQUENCE   );
    150166  INSTANCE_SC_SIGNAL (_Execute_queue,  in_EXECUTE_QUEUE_IN_ADDRESS       );
     167  INSTANCE_SC_SIGNAL (_Execute_queue,  in_EXECUTE_QUEUE_IN_DATA          );
    151168
    152169  INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_VAL          );
     
    158175  if (_param->_have_port_ooo_engine_id)
    159176  INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID);
    160   if (_param->_have_port_packet_id)
     177  if (_param->_have_port_rob_ptr)
    161178  INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_PACKET_ID    );
    162179//INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_OPERATION    );
     
    166183  INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  );
    167184  INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_ADDRESS      );
     185  INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_DATA         );
    168186
    169187  msg(_("<%s> : Start Simulation ............\n"),name.c_str());
     
    212230                                     range<Texception_t      >(rand(),_param->_size_exception       ),
    213231                                     range<Tcontrol_t        >(rand(),1                             ),
     232                                     range<Tgeneral_data_t   >(rand(),_param->_size_general_data    ),
    214233                                     range<Tgeneral_data_t   >(rand(),_param->_size_general_data    ));
    215234        }
     
    236255            in_EXECUTE_QUEUE_IN_NO_SEQUENCE  ->write(request [nb_request_in]->_no_sequence  );
    237256            in_EXECUTE_QUEUE_IN_ADDRESS      ->write(request [nb_request_in]->_address      );
     257            in_EXECUTE_QUEUE_IN_DATA         ->write(request [nb_request_in]->_data         );
    238258          }
    239259        in_EXECUTE_QUEUE_OUT_ACK         ->write((rand()%100)<percent_transaction_execute_queue_out);
     
    261281          {
    262282            Tcontext_t packet;
    263             if (_param->_have_port_packet_id)
     283            if (_param->_have_port_rob_ptr)
    264284              packet = out_EXECUTE_QUEUE_OUT_PACKET_ID->read();
    265285            else
     
    281301            TEST(Tcontrol_t     , out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ->read(), request [packet]->_no_sequence  );
    282302            TEST(Tgeneral_data_t, out_EXECUTE_QUEUE_OUT_ADDRESS      ->read(), request [packet]->_address      );
     303            TEST(Tgeneral_data_t, out_EXECUTE_QUEUE_OUT_DATA         ->read(), request [packet]->_data         );
    283304
    284305            nb_request_out ++;
     
    313334  delete     in_EXECUTE_QUEUE_IN_NO_SEQUENCE   ;
    314335  delete     in_EXECUTE_QUEUE_IN_ADDRESS       ;
     336  delete     in_EXECUTE_QUEUE_IN_DATA          ;
    315337
    316338  delete    out_EXECUTE_QUEUE_OUT_VAL          ;
     
    326348  delete    out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ;
    327349  delete    out_EXECUTE_QUEUE_OUT_ADDRESS      ;
     350  delete    out_EXECUTE_QUEUE_OUT_DATA         ;
    328351#endif
    329352
Note: See TracChangeset for help on using the changeset viewer.