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_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/test.cpp

    r82 r88  
    6969  _data_rc       (data_rc      & gen_mask<Tspecial_data_t>(param->_size_special_data)),
    7070  _write_rd      (write_rd     ),
    71   _num_reg_rd    (num_reg_rd   % param->_nb_special_register),
     71  _num_reg_rd    (num_reg_rd   % (1<<param->_size_general_register)),
    7272  _data_rd       (data_rd      & gen_mask<Tgeneral_data_t>(param->_size_general_data)),
    7373  _write_re      (write_re     ),
    74   _num_reg_re    (num_reg_re   % param->_nb_special_register),
     74  _num_reg_re    (num_reg_re   % (1<<param->_size_special_register)),
    7575  _data_re       (data_re      & gen_mask<Tspecial_data_t>(param->_size_special_data)),
    7676  _exception     (exception    ),
     
    8888
    8989#ifdef STATISTICS
    90   morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);
     90  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX);
    9191#endif
     92
     93  Tusage_t _usage = USE_ALL;
     94
     95//   _usage = usage_unset(_usage,USE_SYSTEMC              );
     96//   _usage = usage_unset(_usage,USE_VHDL                 );
     97//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
     98//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
     99//   _usage = usage_unset(_usage,USE_POSITION             );
     100//   _usage = usage_unset(_usage,USE_STATISTICS           );
     101//   _usage = usage_unset(_usage,USE_INFORMATION          );
    92102
    93103  Functionnal_unit * _Functionnal_unit = new Functionnal_unit (name.c_str(),
     
    96106#endif
    97107                                                               _param,
    98                                                                USE_ALL);
     108                                                               _usage);
    99109 
    100110#ifdef SYSTEMC
     
    162172  if (_param->_have_port_ooo_engine_id)
    163173  (*(_Functionnal_unit-> in_EXECUTE_IN_OOO_ENGINE_ID )) ( in_EXECUTE_IN_OOO_ENGINE_ID );
    164   if (_param->_have_port_packet_id)
     174  if (_param->_have_port_rob_ptr)
    165175  (*(_Functionnal_unit-> in_EXECUTE_IN_PACKET_ID     )) ( in_EXECUTE_IN_PACKET_ID     );
    166176  (*(_Functionnal_unit-> in_EXECUTE_IN_OPERATION     )) ( in_EXECUTE_IN_OPERATION     );
     
    187197  if (_param->_have_port_ooo_engine_id)
    188198  (*(_Functionnal_unit->out_EXECUTE_OUT_OOO_ENGINE_ID)) (out_EXECUTE_OUT_OOO_ENGINE_ID);
    189   if (_param->_have_port_packet_id)
     199  if (_param->_have_port_rob_ptr)
    190200  (*(_Functionnal_unit->out_EXECUTE_OUT_PACKET_ID    )) (out_EXECUTE_OUT_PACKET_ID    );
    191201//(*(_Functionnal_unit->out_EXECUTE_OUT_OPERATION    )) (out_EXECUTE_OUT_OPERATION    );
     
    475485  transaction_in.push_back(execute_transaction(_param,0,0,0,301,OPERATION_TEST_L_SFLTS   ,TYPE_TEST,0,0         ,0x11111111,0xdeadbeef,0              ,0,63,0x0       ,1,15,0              ,EXCEPTION_NONE     ,0)); // + <  - (in unsigned)
    476486
    477   transaction_in.push_back(execute_transaction(_param,0,0,0,400,OPERATION_SPECIAL_L_MTSPR   ,TYPE_SPECIAL,1,GROUP_ICACHE<<11,   3,0xdeadbeef,0              ,0,63,0xdeadbeef,0, 0,0              ,EXCEPTION_ALU_SPR_ACCESS_NOT_COMPLETE,0,(GROUP_ICACHE<<11)|   3));
    478   transaction_in.push_back(execute_transaction(_param,0,0,0,401,OPERATION_SPECIAL_L_MTSPR   ,TYPE_SPECIAL,1,GROUP_ICACHE<<11,   5,0xdeadbeef,0              ,0,63,0xdeadbeef,0, 0,0              ,EXCEPTION_ALU_SPR_ACCESS_NOT_COMPLETE,0,(GROUP_ICACHE<<11)|   5));
     487  transaction_in.push_back(execute_transaction(_param,0,0,0,400,OPERATION_SPECIAL_L_MTSPR   ,TYPE_SPECIAL,1,GROUP_ICACHE<<11,   3,0xdeadbeef,0              ,0,63,0xdeadbeef,0, 0,0              ,EXCEPTION_ALU_SPR_ACCESS_MUST_WRITE  ,0,(GROUP_ICACHE<<11)|   3));
     488  transaction_in.push_back(execute_transaction(_param,0,0,0,401,OPERATION_SPECIAL_L_MTSPR   ,TYPE_SPECIAL,1,GROUP_ICACHE<<11,   5,0xdeadbeef,0              ,0,63,0xdeadbeef,0, 0,0              ,EXCEPTION_ALU_SPR_ACCESS_MUST_WRITE  ,0,(GROUP_ICACHE<<11)|   5));
    479489  transaction_in.push_back(execute_transaction(_param,0,0,0,402,OPERATION_SPECIAL_L_MTSPR   ,TYPE_SPECIAL,1,GROUP_MAC   <<11,   0,0xdeadbeef,0              ,0,63,0xdeadbeef,0, 0,0              ,EXCEPTION_ALU_SPR_ACCESS_INVALID     ,0,(GROUP_MAC   <<11)|   0));
    480490  transaction_in.push_back(execute_transaction(_param,0,0,0,403,OPERATION_SPECIAL_L_MTSPR   ,TYPE_SPECIAL,1,GROUP_MAC   <<11,   1,0xdeadbeef,0              ,0,63,0xdeadbeef,0, 0,0              ,EXCEPTION_ALU_NONE                   ,0,(GROUP_MAC   <<11)|   1));
     
    590600              if (_param->_have_port_ooo_engine_id)
    591601              in_EXECUTE_IN_OOO_ENGINE_ID .write(transaction_in.front()._ooo_engine_id);
    592               if (_param->_have_port_packet_id)
     602              if (_param->_have_port_rob_ptr)
    593603              in_EXECUTE_IN_PACKET_ID     .write(transaction_in.front()._packet_id    );
    594604              in_EXECUTE_IN_OPERATION     .write(transaction_in.front()._operation    );
     
    613623            {
    614624              // TEST
    615               if (_param->_have_port_packet_id)
     625              if (_param->_have_port_rob_ptr)
    616626              TEST(Tpacket_t         , out_EXECUTE_OUT_PACKET_ID    .read(), transaction_out.front()._packet_id    );
    617627              if (_param->_have_port_context_id)
Note: See TracChangeset for help on using the changeset viewer.