/* * $Id: test.cpp 88 2008-12-10 18:31:39Z rosiere $ * * [ Description ] * * Test */ #define NB_ITERATION 1 #define CYCLE_MAX (1024*NB_ITERATION) #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/include/test.h" #include "Common/include/Test.h" class execute_transaction { public : const Tcontext_t _context_id ; public : const Tcontext_t _front_end_id ; public : const Tcontext_t _ooo_engine_id; public : const Tpacket_t _packet_id ; public : const Toperation_t _operation ; public : const Ttype_t _type ; public : const Tcontrol_t _has_immediat ; public : const Tgeneral_data_t _immediat ; public : const Tgeneral_data_t _data_ra ; public : const Tgeneral_data_t _data_rb ; public : const Tspecial_data_t _data_rc ; public : const Tcontrol_t _write_rd ; public : const Tgeneral_address_t _num_reg_rd ; public : const Tgeneral_data_t _data_rd ; public : const Tcontrol_t _write_re ; public : const Tspecial_address_t _num_reg_re ; public : const Tspecial_data_t _data_re ; public : const Texception_t _exception ; public : const Tcontrol_t _no_sequence ; public : const Tgeneral_data_t _address ; public : execute_transaction (morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::Parameters * param , Tcontext_t context_id , Tcontext_t front_end_id , Tcontext_t ooo_engine_id, Tpacket_t packet_id , Toperation_t operation , Ttype_t type , Tcontrol_t has_immediat , Tgeneral_data_t immediat , Tgeneral_data_t data_ra , Tgeneral_data_t data_rb , Tspecial_data_t data_rc , Tcontrol_t write_rd , Tgeneral_address_t num_reg_rd , Tgeneral_data_t data_rd , Tcontrol_t write_re , Tspecial_address_t num_reg_re , Tspecial_data_t data_re , Texception_t exception , Tcontrol_t no_sequence , Tgeneral_data_t address =0): _context_id (context_id % param->_nb_context ), _front_end_id (front_end_id % param->_nb_front_end ), _ooo_engine_id (ooo_engine_id% param->_nb_ooo_engine), _packet_id (packet_id % param->_nb_packet ), _operation (operation ), _type (type ), _has_immediat (has_immediat ), _immediat (immediat & gen_mask(param->_size_general_data)), _data_ra (data_ra & gen_mask(param->_size_general_data)), _data_rb (data_rb & gen_mask(param->_size_general_data)), _data_rc (data_rc & gen_mask(param->_size_special_data)), _write_rd (write_rd ), _num_reg_rd (num_reg_rd % (1<_size_general_register)), _data_rd (data_rd & gen_mask(param->_size_general_data)), _write_re (write_re ), _num_reg_re (num_reg_re % (1<_size_special_register)), _data_re (data_re & gen_mask(param->_size_special_data)), _exception (exception ), _no_sequence (no_sequence ), _address (address & gen_mask(param->_size_general_data)) { } }; void test (string name, morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::Parameters * _param) { msg(_("<%s> : Simulation SystemC.\n"),name.c_str()); #ifdef STATISTICS morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX); #endif Tusage_t _usage = USE_ALL; // _usage = usage_unset(_usage,USE_SYSTEMC ); // _usage = usage_unset(_usage,USE_VHDL ); // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); // _usage = usage_unset(_usage,USE_POSITION ); // _usage = usage_unset(_usage,USE_STATISTICS ); // _usage = usage_unset(_usage,USE_INFORMATION ); Functionnal_unit * _Functionnal_unit = new Functionnal_unit (name.c_str(), #ifdef STATISTICS _parameters_statistics, #endif _param, _usage); #ifdef SYSTEMC /********************************************************************* * Déclarations des signaux *********************************************************************/ string rename = ""; sc_clock in_CLOCK ("clock", 1.0, 0.5); sc_signal in_NRESET ("nreset"); sc_signal in_EXECUTE_IN_VAL (rename.c_str()); sc_signal out_EXECUTE_IN_ACK (rename.c_str()); sc_signal in_EXECUTE_IN_CONTEXT_ID (rename.c_str()); sc_signal in_EXECUTE_IN_FRONT_END_ID (rename.c_str()); sc_signal in_EXECUTE_IN_OOO_ENGINE_ID (rename.c_str()); sc_signal in_EXECUTE_IN_PACKET_ID (rename.c_str()); sc_signal in_EXECUTE_IN_OPERATION (rename.c_str()); sc_signal in_EXECUTE_IN_TYPE (rename.c_str()); sc_signal in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE (rename.c_str()); sc_signal in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE (rename.c_str()); sc_signal in_EXECUTE_IN_HAS_IMMEDIAT (rename.c_str()); sc_signal in_EXECUTE_IN_IMMEDIAT (rename.c_str()); sc_signal in_EXECUTE_IN_DATA_RA (rename.c_str()); sc_signal in_EXECUTE_IN_DATA_RB (rename.c_str()); sc_signal in_EXECUTE_IN_DATA_RC (rename.c_str()); sc_signal in_EXECUTE_IN_WRITE_RD (rename.c_str()); sc_signal in_EXECUTE_IN_NUM_REG_RD (rename.c_str()); sc_signal in_EXECUTE_IN_WRITE_RE (rename.c_str()); sc_signal in_EXECUTE_IN_NUM_REG_RE (rename.c_str()); // ~~~~~[ Interface "execute_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sc_signal out_EXECUTE_OUT_VAL (rename.c_str()); sc_signal in_EXECUTE_OUT_ACK (rename.c_str()); sc_signal out_EXECUTE_OUT_CONTEXT_ID (rename.c_str()); sc_signal out_EXECUTE_OUT_FRONT_END_ID (rename.c_str()); sc_signal out_EXECUTE_OUT_OOO_ENGINE_ID (rename.c_str()); sc_signal out_EXECUTE_OUT_PACKET_ID (rename.c_str()); //sc_signal out_EXECUTE_OUT_OPERATION (rename.c_str()); sc_signal out_EXECUTE_OUT_TYPE (rename.c_str()); sc_signal out_EXECUTE_OUT_WRITE_RD (rename.c_str()); sc_signal out_EXECUTE_OUT_NUM_REG_RD (rename.c_str()); sc_signal out_EXECUTE_OUT_DATA_RD (rename.c_str()); sc_signal out_EXECUTE_OUT_WRITE_RE (rename.c_str()); sc_signal out_EXECUTE_OUT_NUM_REG_RE (rename.c_str()); sc_signal out_EXECUTE_OUT_DATA_RE (rename.c_str()); sc_signal out_EXECUTE_OUT_EXCEPTION (rename.c_str()); sc_signal out_EXECUTE_OUT_NO_SEQUENCE (rename.c_str()); sc_signal out_EXECUTE_OUT_ADDRESS (rename.c_str()); /******************************************************** * Instanciation ********************************************************/ msg(_("<%s> : Instanciation of _Functionnal_unit.\n"),name.c_str()); (*(_Functionnal_unit->in_CLOCK)) (in_CLOCK); (*(_Functionnal_unit->in_NRESET)) (in_NRESET); (*(_Functionnal_unit-> in_EXECUTE_IN_VAL )) ( in_EXECUTE_IN_VAL ); (*(_Functionnal_unit->out_EXECUTE_IN_ACK )) (out_EXECUTE_IN_ACK ); if (_param->_have_port_context_id) (*(_Functionnal_unit-> in_EXECUTE_IN_CONTEXT_ID )) ( in_EXECUTE_IN_CONTEXT_ID ); if (_param->_have_port_front_end_id) (*(_Functionnal_unit-> in_EXECUTE_IN_FRONT_END_ID )) ( in_EXECUTE_IN_FRONT_END_ID ); if (_param->_have_port_ooo_engine_id) (*(_Functionnal_unit-> in_EXECUTE_IN_OOO_ENGINE_ID )) ( in_EXECUTE_IN_OOO_ENGINE_ID ); if (_param->_have_port_rob_ptr) (*(_Functionnal_unit-> in_EXECUTE_IN_PACKET_ID )) ( in_EXECUTE_IN_PACKET_ID ); (*(_Functionnal_unit-> in_EXECUTE_IN_OPERATION )) ( in_EXECUTE_IN_OPERATION ); (*(_Functionnal_unit-> in_EXECUTE_IN_TYPE )) ( in_EXECUTE_IN_TYPE ); (*(_Functionnal_unit-> in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE)) ( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE); if (_param->_have_port_load_queue_ptr) (*(_Functionnal_unit-> in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE )) ( in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE ); (*(_Functionnal_unit-> in_EXECUTE_IN_HAS_IMMEDIAT )) ( in_EXECUTE_IN_HAS_IMMEDIAT ); (*(_Functionnal_unit-> in_EXECUTE_IN_IMMEDIAT )) ( in_EXECUTE_IN_IMMEDIAT ); (*(_Functionnal_unit-> in_EXECUTE_IN_DATA_RA )) ( in_EXECUTE_IN_DATA_RA ); (*(_Functionnal_unit-> in_EXECUTE_IN_DATA_RB )) ( in_EXECUTE_IN_DATA_RB ); (*(_Functionnal_unit-> in_EXECUTE_IN_DATA_RC )) ( in_EXECUTE_IN_DATA_RC ); (*(_Functionnal_unit-> in_EXECUTE_IN_WRITE_RD )) ( in_EXECUTE_IN_WRITE_RD ); (*(_Functionnal_unit-> in_EXECUTE_IN_NUM_REG_RD )) ( in_EXECUTE_IN_NUM_REG_RD ); (*(_Functionnal_unit-> in_EXECUTE_IN_WRITE_RE )) ( in_EXECUTE_IN_WRITE_RE ); (*(_Functionnal_unit-> in_EXECUTE_IN_NUM_REG_RE )) ( in_EXECUTE_IN_NUM_REG_RE ); (*(_Functionnal_unit->out_EXECUTE_OUT_VAL )) (out_EXECUTE_OUT_VAL ); (*(_Functionnal_unit-> in_EXECUTE_OUT_ACK )) ( in_EXECUTE_OUT_ACK ); if (_param->_have_port_context_id) (*(_Functionnal_unit->out_EXECUTE_OUT_CONTEXT_ID )) (out_EXECUTE_OUT_CONTEXT_ID ); if (_param->_have_port_front_end_id) (*(_Functionnal_unit->out_EXECUTE_OUT_FRONT_END_ID )) (out_EXECUTE_OUT_FRONT_END_ID ); if (_param->_have_port_ooo_engine_id) (*(_Functionnal_unit->out_EXECUTE_OUT_OOO_ENGINE_ID)) (out_EXECUTE_OUT_OOO_ENGINE_ID); if (_param->_have_port_rob_ptr) (*(_Functionnal_unit->out_EXECUTE_OUT_PACKET_ID )) (out_EXECUTE_OUT_PACKET_ID ); //(*(_Functionnal_unit->out_EXECUTE_OUT_OPERATION )) (out_EXECUTE_OUT_OPERATION ); (*(_Functionnal_unit->out_EXECUTE_OUT_TYPE )) (out_EXECUTE_OUT_TYPE ); (*(_Functionnal_unit->out_EXECUTE_OUT_WRITE_RD )) (out_EXECUTE_OUT_WRITE_RD ); (*(_Functionnal_unit->out_EXECUTE_OUT_NUM_REG_RD )) (out_EXECUTE_OUT_NUM_REG_RD ); (*(_Functionnal_unit->out_EXECUTE_OUT_DATA_RD )) (out_EXECUTE_OUT_DATA_RD ); (*(_Functionnal_unit->out_EXECUTE_OUT_WRITE_RE )) (out_EXECUTE_OUT_WRITE_RE ); (*(_Functionnal_unit->out_EXECUTE_OUT_NUM_REG_RE )) (out_EXECUTE_OUT_NUM_REG_RE ); (*(_Functionnal_unit->out_EXECUTE_OUT_DATA_RE )) (out_EXECUTE_OUT_DATA_RE ); (*(_Functionnal_unit->out_EXECUTE_OUT_EXCEPTION )) (out_EXECUTE_OUT_EXCEPTION ); (*(_Functionnal_unit->out_EXECUTE_OUT_NO_SEQUENCE )) (out_EXECUTE_OUT_NO_SEQUENCE ); (*(_Functionnal_unit->out_EXECUTE_OUT_ADDRESS )) (out_EXECUTE_OUT_ADDRESS ); msg(_("<%s> : Start Simulation ............\n"),name.c_str()); Time * _time = new Time(); /******************************************************** * Simulation - Begin ********************************************************/ // Initialisation const int32_t percent_transaction_execute_in = 75; const int32_t percent_transaction_execute_out = 75; const uint32_t seed = 0; //const uint32_t seed = static_cast(time(NULL)); srand(seed); list transaction_in; list transaction_out; int32_t nb_transaction_out; SC_START(0); LABEL("Initialisation"); transaction_in.push_back(execute_transaction(_param,0,0,0, 0,OPERATION_ALU_L_ADD ,TYPE_ALU,0,0xdeadbeef,0x12344321,0x12345678,0 ,1,63,0x24689999,1,15,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 1,OPERATION_ALU_L_ADD ,TYPE_ALU,0,0xffffffff,0x12345678,0x12345678,0 ,1,56,0x2468acf0,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 2,OPERATION_ALU_L_ADD ,TYPE_ALU,1,0x12345678,0x12345678,0xffffffff,0 ,1,56,0x2468acf0,1,3 ,0 ,EXCEPTION_NONE ,0)); // Test L_ADD flags transaction_in.push_back(execute_transaction(_param,0,0,0, 3,OPERATION_ALU_L_ADD ,TYPE_ALU,1,0x0 ,0x0 ,0x0 ,0 ,1,56,0x0 ,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 4,OPERATION_ALU_L_ADD ,TYPE_ALU,1,0x90000000,0x70000000,0x0 ,0 ,1,56,0x0 ,1,3 ,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 5,OPERATION_ALU_L_ADD ,TYPE_ALU,1,0x80000000,0x80001000,0x0 ,0 ,1,1 ,0x1000 ,1,0 ,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 6,OPERATION_ALU_L_ADD ,TYPE_ALU,1,0x7fffffff,0x00000001,0x0 ,FLAG_CY|FLAG_OV,1,1 ,0x80000000,1,0 , FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 7,OPERATION_ALU_L_ADDC ,TYPE_ALU,0,0xdeadbeef,0x12344321,0x12345678,0 ,1,63,0x24689999,1,15,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 8,OPERATION_ALU_L_ADDC ,TYPE_ALU,0,0xffffffff,0x12345678,0x12345678,0 ,1,56,0x2468acf0,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 9,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x12345678,0x12345678,0xffffffff,0 ,1,56,0x2468acf0,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 10,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x0 ,0x0 ,0x0 ,0 ,1,56,0x0 ,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 11,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x90000000,0x70000000,0x0 ,0 ,1,56,0x0 ,1,3 ,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 12,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x80000000,0x80001000,0x0 ,0 ,1,1 ,0x1000 ,1,0 ,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 13,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x7fffffff,0x00000001,0x0 ,0 ,1,1 ,0x80000000,1,0 , FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 14,OPERATION_ALU_L_ADDC ,TYPE_ALU,0,0xdeadbeef,0x12344320,0x12345678,FLAG_CY ,1,63,0x24689999,1,15,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 15,OPERATION_ALU_L_ADDC ,TYPE_ALU,0,0xffffffff,0x12345677,0x12345678,FLAG_CY ,1,56,0x2468acf0,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 16,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x12345678,0x12345677,0xffffffff,FLAG_CY ,1,56,0x2468acf0,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 17,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x0 ,0x0 ,0x0 ,FLAG_CY ,1,56,0x00000001,1,3 ,0 ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 18,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x90000000,0x70000003,0x0 ,FLAG_CY ,1,56,0x00000004,1,3 ,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 19,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x80000000,0x8000000f,0x0 ,FLAG_CY ,1,1 ,0x00000010,1,0 ,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 20,OPERATION_ALU_L_ADDC ,TYPE_ALU,1,0x7fffffff,0x00000000,0x0 ,FLAG_CY ,1,1 ,0x80000000,1,0 , FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 21,OPERATION_ALU_L_AND ,TYPE_ALU,0,0xdeadbeef,0x0000ffff,0x00ff00ff,0 ,1,63,0x000000ff,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 22,OPERATION_ALU_L_OR ,TYPE_ALU,0,0xdeadbeef,0x0000ffff,0x00ff00ff,0 ,1,63,0x00ffffff,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 23,OPERATION_ALU_L_XOR ,TYPE_ALU,0,0xdeadbeef,0x0000ffff,0x00ff00ff,0 ,1,63,0x00ffff00,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 24,OPERATION_MOVE_L_CMOV ,TYPE_MOVE,0,0x0 ,0xdeadbeef,0x12345678,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 25,OPERATION_MOVE_L_CMOV ,TYPE_MOVE,0,0x0 ,0xdeadbeef,0x12345678,FLAG_F ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 26,OPERATION_MOVE_L_MOVHI ,TYPE_MOVE,1,0xdeadbeef,0x0 ,0x0 ,FLAG_F ,1,63,0xbeef0000,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 27,OPERATION_BRANCH_L_TEST_F ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x0 ,0 ,0,63,0xbeef0000,0,15,FLAG_CY ,EXCEPTION_NONE ,0,0x00000000)); transaction_in.push_back(execute_transaction(_param,0,0,0, 28,OPERATION_BRANCH_L_TEST_F ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x0 ,FLAG_F ,0,63,0xbeef0000,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0xdeadbeef)); transaction_in.push_back(execute_transaction(_param,0,0,0, 29,OPERATION_BRANCH_L_TEST_NF ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x0 ,FLAG_F ,0,63,0xbeef0000,0,15,FLAG_CY ,EXCEPTION_NONE ,0,0x00000000)); transaction_in.push_back(execute_transaction(_param,0,0,0, 30,OPERATION_BRANCH_L_TEST_NF ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x0 ,0 ,0,63,0xbeef0000,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0xdeadbeef)); transaction_in.push_back(execute_transaction(_param,0,0,0, 31,OPERATION_BRANCH_L_JALR ,TYPE_BRANCH,0,0xdeadbeef,0x0 ,0x12345678,0 ,0,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678)); // jr transaction_in.push_back(execute_transaction(_param,0,0,0, 32,OPERATION_BRANCH_L_JALR ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x12345678,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678)); // jal transaction_in.push_back(execute_transaction(_param,0,0,0, 33,OPERATION_BRANCH_L_JALR ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x12345678,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678)); // jalr transaction_in.push_back(execute_transaction(_param,0,0,0, 34,OPERATION_EXTEND_L_EXTEND_S,TYPE_EXTEND,1,8 ,0x12345678,0x0 ,0 ,1,63,0x00000078,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 35,OPERATION_EXTEND_L_EXTEND_S,TYPE_EXTEND,1,16 ,0x12345678,0x0 ,0 ,1,63,0x00005678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 36,OPERATION_EXTEND_L_EXTEND_S,TYPE_EXTEND,1,32 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 34,OPERATION_EXTEND_L_EXTEND_S,TYPE_EXTEND,1,8 ,0xdeadbeef,0x0 ,0 ,1,63,0xffffffef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 35,OPERATION_EXTEND_L_EXTEND_S,TYPE_EXTEND,1,16 ,0xdeadbeef,0x0 ,0 ,1,63,0xffffbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 36,OPERATION_EXTEND_L_EXTEND_S,TYPE_EXTEND,1,32 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 37,OPERATION_EXTEND_L_EXTEND_Z,TYPE_EXTEND,1,8 ,0x12345678,0x0 ,0 ,1,63,0x00000078,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 38,OPERATION_EXTEND_L_EXTEND_Z,TYPE_EXTEND,1,16 ,0x12345678,0x0 ,0 ,1,63,0x00005678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 39,OPERATION_EXTEND_L_EXTEND_Z,TYPE_EXTEND,1,32 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 40,OPERATION_EXTEND_L_EXTEND_Z,TYPE_EXTEND,1,8 ,0xdeadbeef,0x0 ,0 ,1,63,0x000000ef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 41,OPERATION_EXTEND_L_EXTEND_Z,TYPE_EXTEND,1,16 ,0xdeadbeef,0x0 ,0 ,1,63,0x0000beef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 42,OPERATION_EXTEND_L_EXTEND_Z,TYPE_EXTEND,1,32 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 43,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,0 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 44,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,4 ,0xdeadbeef,0x0 ,0 ,1,63,0xeadbeef0,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 45,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,8 ,0xdeadbeef,0x0 ,0 ,1,63,0xadbeef00,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 46,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,16 ,0xdeadbeef,0x0 ,0 ,1,63,0xbeef0000,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 47,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,24 ,0xdeadbeef,0x0 ,0 ,1,63,0xef000000,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 48,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,31 ,0xdeadbeef,0x0 ,0 ,1,63,0x80000000,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 49,OPERATION_SHIFT_L_SLL ,TYPE_SHIFT,1,32 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 50,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,0 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 51,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,4 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbee ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 52,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,8 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbe ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 53,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,16 ,0xdeadbeef,0x0 ,0 ,1,63,0xdead ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 54,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,24 ,0xdeadbeef,0x0 ,0 ,1,63,0xde ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 55,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,31 ,0xdeadbeef,0x0 ,0 ,1,63,0x1 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 56,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,32 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 57,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,0 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 58,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,4 ,0x12345678,0x0 ,0 ,1,63,0x1234567 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 59,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,8 ,0x12345678,0x0 ,0 ,1,63,0x123456 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 60,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,16 ,0x12345678,0x0 ,0 ,1,63,0x1234 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 61,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,24 ,0x12345678,0x0 ,0 ,1,63,0x12 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 62,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,31 ,0x12345678,0x0 ,0 ,1,63,0x0 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 63,OPERATION_SHIFT_L_SRL ,TYPE_SHIFT,1,32 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 64,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,0 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 65,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,4 ,0xdeadbeef,0x0 ,0 ,1,63,0xfdeadbee,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 66,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,8 ,0xdeadbeef,0x0 ,0 ,1,63,0xffdeadbe,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 67,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,16 ,0xdeadbeef,0x0 ,0 ,1,63,0xffffdead,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 68,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,24 ,0xdeadbeef,0x0 ,0 ,1,63,0xffffffde,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 69,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,31 ,0xdeadbeef,0x0 ,0 ,1,63,0xffffffff,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 70,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,32 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 71,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,0 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 72,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,4 ,0x12345678,0x0 ,0 ,1,63,0x1234567 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 73,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,8 ,0x12345678,0x0 ,0 ,1,63,0x123456 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 74,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,16 ,0x12345678,0x0 ,0 ,1,63,0x1234 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 75,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,24 ,0x12345678,0x0 ,0 ,1,63,0x12 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 76,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,31 ,0x12345678,0x0 ,0 ,1,63,0x0 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 77,OPERATION_SHIFT_L_SRA ,TYPE_SHIFT,1,32 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 78,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,0 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 79,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,4 ,0xdeadbeef,0x0 ,0 ,1,63,0xfdeadbee,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 80,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,8 ,0xdeadbeef,0x0 ,0 ,1,63,0xefdeadbe,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 81,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,16 ,0xdeadbeef,0x0 ,0 ,1,63,0xbeefdead,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 82,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,24 ,0xdeadbeef,0x0 ,0 ,1,63,0xadbeefde,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 83,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,32 ,0xdeadbeef,0x0 ,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 84,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,0 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 85,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,4 ,0x12345678,0x0 ,0 ,1,63,0x81234567,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 86,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,8 ,0x12345678,0x0 ,0 ,1,63,0x78123456,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 87,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,16 ,0x12345678,0x0 ,0 ,1,63,0x56781234,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 88,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,24 ,0x12345678,0x0 ,0 ,1,63,0x34567812,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 89,OPERATION_SHIFT_L_ROR ,TYPE_SHIFT,1,32 ,0x12345678,0x0 ,0 ,1,63,0x12345678,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 90,OPERATION_FIND_L_FF1 ,TYPE_FIND,0,0 ,0x12345678,0x0 ,0 ,1,63,4 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 91,OPERATION_FIND_L_FF1 ,TYPE_FIND,0,0 ,0x0 ,0x0 ,0 ,1,63,0 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 92,OPERATION_FIND_L_FF1 ,TYPE_FIND,0,0 ,0x43210000,0x0 ,0 ,1,63,17 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 93,OPERATION_FIND_L_FF1 ,TYPE_FIND,0,0 ,0x80000000,0x0 ,0 ,1,63,32 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 94,OPERATION_FIND_L_FF1 ,TYPE_FIND,0,0 ,0x1 ,0x0 ,0 ,1,63,1 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 95,OPERATION_FIND_L_FL1 ,TYPE_FIND,0,0 ,0x12345678,0x0 ,0 ,1,63,29 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 96,OPERATION_FIND_L_FL1 ,TYPE_FIND,0,0 ,0x0 ,0x0 ,0 ,1,63,0 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 97,OPERATION_FIND_L_FL1 ,TYPE_FIND,0,0 ,0x00018765,0x0 ,0 ,1,63,17 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 98,OPERATION_FIND_L_FL1 ,TYPE_FIND,0,0 ,0x1 ,0x0 ,0 ,1,63,1 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0, 99,OPERATION_FIND_L_FL1 ,TYPE_FIND,0,0 ,0x80000000,0x0 ,0 ,1,63,32 ,0,15,FLAG_CY ,EXCEPTION_NONE ,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,100,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x12344321,0x1 ,0 ,1,63,0x12344320,1,15,0 ,EXCEPTION_NONE ,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,101,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x12345678,0xffffffff,0 ,1,56,0x12345679,1,3 ,0 ,EXCEPTION_NONE ,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,102,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x12345678,0x12345678,0 ,1,56,0x0 ,1,3 ,0 ,EXCEPTION_NONE ,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,103,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x0 ,0x0 ,0 ,1,56,0x0 ,1,3 ,0 ,EXCEPTION_NONE ,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,104,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x70000000,0x90000000,0 ,1,56,0x0 ,1,3 ,FLAG_CY ,EXCEPTION_NONE ,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,105,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x80001000,0x80000000,0 ,1,1 ,0x1000 ,1,0 ,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); // transaction_in.push_back(execute_transaction(_param,0,0,0,106,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x00000001,0x7fffffff,FLAG_CY|FLAG_OV,1,1 ,0x80000000,1,0 , FLAG_OV,EXCEPTION_ALU_RANGE,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,120,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,121,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,122,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,123,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,124,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,125,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,126,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,127,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,128,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,129,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,130,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,131,OPERATION_TEST_L_SFEQ ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,140,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,141,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,142,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,143,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,144,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,145,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,146,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,147,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,148,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,149,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,150,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,151,OPERATION_TEST_L_SFNE ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,150,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,151,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,152,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,153,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,154,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,155,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,156,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,157,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,158,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,159,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,160,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,161,OPERATION_TEST_L_SFGEU ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,170,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,171,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,172,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,173,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,174,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,175,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,176,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,177,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,178,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,179,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,180,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,181,OPERATION_TEST_L_SFGTU ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,190,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,191,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,192,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,193,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,194,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,195,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,196,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,197,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,198,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,199,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,200,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,201,OPERATION_TEST_L_SFLEU ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,210,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,211,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,212,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,213,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,214,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,215,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,216,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,217,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,218,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,219,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,220,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,221,OPERATION_TEST_L_SFLTU ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,230,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,231,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,232,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,233,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,234,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,235,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,236,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,237,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,238,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,239,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,240,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,241,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,250,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,251,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,252,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,253,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,254,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,255,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,256,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,257,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,258,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,259,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,260,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,261,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,270,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,271,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,272,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,273,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,274,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,275,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,276,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,277,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,278,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,279,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,280,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,281,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0x11111111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + < - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,290,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdead ,0xdead ,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == + transaction_in.push_back(execute_transaction(_param,0,0,0,291,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0x25071959,0x21071981,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > + transaction_in.push_back(execute_transaction(_param,0,0,0,292,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0x21071981,0x25071959,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // + < + transaction_in.push_back(execute_transaction(_param,0,0,0,293,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - == - transaction_in.push_back(execute_transaction(_param,0,0,0,294,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - transaction_in.push_back(execute_transaction(_param,0,0,0,295,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - transaction_in.push_back(execute_transaction(_param,0,0,0,296,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbeef,0x21524111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - == + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,297,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbeef,0x11111111,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,298,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbeef,0x33333333,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < + (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,299,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0x21524111,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + == - (in unsigned) transaction_in.push_back(execute_transaction(_param,0,0,0,300,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0x33333333,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // + > - (in unsigned) 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) 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)); 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)); 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)); 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)); transaction_in.push_back(execute_transaction(_param,0,0,0,404,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 0,0x12345678,0 ,1,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_INVALID ,0,(GROUP_MAC <<11)| 0)); transaction_in.push_back(execute_transaction(_param,0,0,0,405,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x12345678,0 ,1,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); if (_param->_nb_ooo_engine > 1) { transaction_in.push_back(execute_transaction(_param,0,0,1,406,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x12345678,0 ,0,63,0x12345678,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,407,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,1,408,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0x12345678,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); } // TEST MAC Unit transaction_in.push_back(execute_transaction(_param,0,0,0,409,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0xbebebeef,0 ,0,63,0xbebebeef,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,410,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 2,0x21071981,0 ,0,63,0x21071981,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 2)); transaction_in.push_back(execute_transaction(_param,0,0,0,411,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0xbebebeef,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,412,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 2,0x0 ,0 ,1,63,0x21071981,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 2)); transaction_in.push_back(execute_transaction(_param,0,0,0,413,OPERATION_SPECIAL_L_MACRC ,TYPE_SPECIAL,0,0x0 , 0x0 ,0x0 ,0 ,1,63,0xbebebeef,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,414,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,415,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 2,0x0 ,0 ,1,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 2)); transaction_in.push_back(execute_transaction(_param,0,0,0,416,OPERATION_SPECIAL_L_MACRC ,TYPE_SPECIAL,0,0x0 , 0x0 ,0x0 ,0 ,1,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,417,OPERATION_SPECIAL_L_MAC ,TYPE_SPECIAL,0,0x0 ,0x22071981,0x1234567 ,0 ,0,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,418,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0x985e07e7,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,419,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 2,0x0 ,0 ,1,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 2)); transaction_in.push_back(execute_transaction(_param,0,0,0,420,OPERATION_SPECIAL_L_MAC ,TYPE_SPECIAL,1,0x22071981,0x1234567 ,0x0 ,0 ,0,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,421,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0x30bc0fce,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,422,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 2,0x0 ,0 ,1,63,0x1 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 2)); transaction_in.push_back(execute_transaction(_param,0,0,0,423,OPERATION_SPECIAL_L_MSB ,TYPE_SPECIAL,1,0xdeadbeef,0x1945 ,0x0 ,0 ,0,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,424,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 1,0x0 ,0 ,1,63,0x34424263,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 1)); transaction_in.push_back(execute_transaction(_param,0,0,0,425,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_MAC <<11, 2,0x0 ,0 ,1,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_MAC <<11)| 2)); transaction_in.push_back(execute_transaction(_param,0,0,0,500,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 0,0xdeadbeef,0 ,0,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_INVALID,0,(GROUP_CUSTOM_3<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,500,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 0,0xdeadbeef,0 ,0,63,0xdeadbeef,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_3<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,501,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 1,0x3 ,0 ,0,63,0x3 ,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_3<<11)|1)); transaction_in.push_back(execute_transaction(_param,0,0,0,502,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 2,0x7 ,0 ,0,63,0x7 ,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_3<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,503,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 0,0x0 ,0 ,1,63,0xdeadbeef,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_3<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,504,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 1,0x0 ,0 ,1,63,0x3 ,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_3<<11)|1)); transaction_in.push_back(execute_transaction(_param,0,0,0,505,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_3<<11, 2,0x0 ,0 ,1,63,0x7 ,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_3<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,506,OPERATION_CUSTOM_L_4 ,TYPE_CUSTOM,0,0x0 ,0x21071981,0x0 ,0 ,1,63,0x9ae2802f,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,507,OPERATION_CUSTOM_L_8 ,TYPE_CUSTOM,0,0x0 ,0x9ae2802f,0x0 ,0 ,1,63,0x21071981,0, 0,0 ,EXCEPTION_ALU_NONE ,0)); transaction_in.push_back(execute_transaction(_param,0,0,0,600,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 1,0x0 ,0 ,1,63,0xdeadbeef,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|1)); transaction_in.push_back(execute_transaction(_param,0,0,0,601,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 2,0x0 ,0 ,1,63,0x666 ,0, 2,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,602,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 3,0x0 ,0 ,1,63,0xffffffff,0, 3,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|3)); transaction_in.push_back(execute_transaction(_param,0,0,0,603,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 3,0x0 ,0 ,0,63,0x0 ,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_INVALID ,0,(GROUP_CUSTOM_7<<11)|3)); transaction_in.push_back(execute_transaction(_param,0,0,0,604,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 2,0x0 ,0 ,0,63,0x0 ,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,605,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 2,0x0 ,0 ,1,63,0x666 ,0, 2,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,606,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 2,0x12345678,0 ,0,63,0x12345678,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,607,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 2,0x0 ,0 ,1,63,0x12345678,0, 2,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|2)); transaction_in.push_back(execute_transaction(_param,0,0,0,610,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xbebe ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,611,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x4add6dda,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,612,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x96c7b0fe,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,613,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xeba5179a,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,614,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x17ebab3e,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,615,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xcd37395a,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,616,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x7325ad7e,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,617,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xb4ad31a ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,618,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x5a4eb7be,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,619,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 3,0xf ,0 ,0,63,0xf ,0, 1,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|3)); transaction_in.push_back(execute_transaction(_param,0,0,0,620,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xbd76e4da,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,621,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xe ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,622,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xa ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,623,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x3 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,624,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x1 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,625,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0x5 ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,626,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xc ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,627,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xe ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); transaction_in.push_back(execute_transaction(_param,0,0,0,628,OPERATION_SPECIAL_L_MFSPR ,TYPE_SPECIAL,1,GROUP_CUSTOM_7<<11, 0,0x0 ,0 ,1,63,0xa ,0, 0,0 ,EXCEPTION_ALU_NONE ,0,(GROUP_CUSTOM_7<<11)|0)); LABEL("Reset"); in_NRESET.write(0); in_EXECUTE_IN_VAL .write(0); in_EXECUTE_OUT_ACK.write(0); SC_START(5); in_NRESET.write(1); LABEL("Loop of Test"); for (uint32_t iteration=0; iteration 0) { Tcontrol_t val = ((rand()%100) < percent_transaction_execute_in) and not transaction_in.empty(); in_EXECUTE_IN_VAL .write(val); in_EXECUTE_OUT_ACK.write((rand()%100) < percent_transaction_execute_out); if (val) { if (_param->_have_port_context_id) in_EXECUTE_IN_CONTEXT_ID .write(transaction_in.front()._context_id ); if (_param->_have_port_front_end_id) in_EXECUTE_IN_FRONT_END_ID .write(transaction_in.front()._front_end_id ); if (_param->_have_port_ooo_engine_id) in_EXECUTE_IN_OOO_ENGINE_ID .write(transaction_in.front()._ooo_engine_id); if (_param->_have_port_rob_ptr) in_EXECUTE_IN_PACKET_ID .write(transaction_in.front()._packet_id ); in_EXECUTE_IN_OPERATION .write(transaction_in.front()._operation ); in_EXECUTE_IN_TYPE .write(transaction_in.front()._type ); in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE.write(0); if (_param->_have_port_load_queue_ptr) in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE .write(0); in_EXECUTE_IN_HAS_IMMEDIAT .write(transaction_in.front()._has_immediat ); in_EXECUTE_IN_IMMEDIAT .write(transaction_in.front()._immediat ); in_EXECUTE_IN_DATA_RA .write(transaction_in.front()._data_ra ); in_EXECUTE_IN_DATA_RB .write(transaction_in.front()._data_rb ); in_EXECUTE_IN_DATA_RC .write(transaction_in.front()._data_rc ); in_EXECUTE_IN_WRITE_RD .write(transaction_in.front()._write_rd ); in_EXECUTE_IN_NUM_REG_RD .write(transaction_in.front()._num_reg_rd ); in_EXECUTE_IN_WRITE_RE .write(transaction_in.front()._write_re ); in_EXECUTE_IN_NUM_REG_RE .write(transaction_in.front()._num_reg_re ); } SC_START(0); if (out_EXECUTE_OUT_VAL.read() and in_EXECUTE_OUT_ACK.read()) { // TEST if (_param->_have_port_rob_ptr) TEST(Tpacket_t , out_EXECUTE_OUT_PACKET_ID .read(), transaction_out.front()._packet_id ); if (_param->_have_port_context_id) TEST(Tcontext_t , out_EXECUTE_OUT_CONTEXT_ID .read(), transaction_out.front()._context_id ); if (_param->_have_port_front_end_id) TEST(Tcontext_t , out_EXECUTE_OUT_FRONT_END_ID .read(), transaction_out.front()._front_end_id ); if (_param->_have_port_ooo_engine_id) TEST(Tcontext_t , out_EXECUTE_OUT_OOO_ENGINE_ID.read(), transaction_out.front()._ooo_engine_id); //TEST(Toperation_t , out_EXECUTE_OUT_OPERATION .read(), transaction_out.front()._operation ); TEST(Ttype_t , out_EXECUTE_OUT_TYPE .read(), transaction_out.front()._type ); TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RE .read(), transaction_out.front()._write_re ); TEST(Tgeneral_address_t, out_EXECUTE_OUT_NUM_REG_RD .read(), transaction_out.front()._num_reg_rd ); TEST(Tspecial_address_t, out_EXECUTE_OUT_NUM_REG_RE .read(), transaction_out.front()._num_reg_re ); TEST(Texception_t , out_EXECUTE_OUT_EXCEPTION .read(), transaction_out.front()._exception ); TEST(Tcontrol_t , out_EXECUTE_OUT_NO_SEQUENCE .read(), transaction_out.front()._no_sequence ); bool just_do_it = true; if ((transaction_out.front()._type == TYPE_SPECIAL) and (transaction_out.front()._operation == OPERATION_SPECIAL_L_MFSPR)) { just_do_it = false; TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), out_EXECUTE_OUT_EXCEPTION.read() == EXCEPTION_ALU_NONE); if (out_EXECUTE_OUT_WRITE_RD .read()) TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); break; } if ((transaction_out.front()._type == TYPE_SPECIAL) and (transaction_out.front()._operation == OPERATION_SPECIAL_L_MTSPR)) { just_do_it = false; TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd ); TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); break; } if (just_do_it) { TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd ); if (transaction_out.front()._write_rd) TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); if (transaction_out.front()._write_re) TEST(Tspecial_data_t , out_EXECUTE_OUT_DATA_RE .read(), transaction_out.front()._data_re ); if (transaction_out.front()._no_sequence) TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); } transaction_out.pop_front(); nb_transaction_out--; } if ( in_EXECUTE_IN_VAL .read() and out_EXECUTE_IN_ACK .read()) { transaction_out.push_back(transaction_in.front()); transaction_in.pop_front(); } SC_START(1); } } /******************************************************** * Simulation - End ********************************************************/ TEST_OK ("End of Simulation"); delete _time; msg(_("<%s> : ............ Stop Simulation\n"),name.c_str()); #endif delete _Functionnal_unit; #ifdef STATISTICS delete _parameters_statistics; #endif }