/* * $Id$ * * [ Description ] * * Test */ #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/include/test.h" #include "Common/include/Test.h" #define NB_ITERATION 1 #define CYCLE_MAX (1024*NB_ITERATION) #define LABEL(str...) \ { \ msg (_("{%d} "),static_cast(sc_simulation_time())); \ msg (str); \ msg (_("\n")); \ } while(0) #define SC_START(cycle_offset) \ do \ { \ /*cout << "SC_START (begin)" << endl;*/ \ \ uint32_t cycle_current = static_cast(sc_simulation_time()); \ if (cycle_offset != 0) \ { \ cout << "##########[ cycle "<< cycle_current+cycle_offset << " ]" << endl; \ } \ \ if (cycle_current > CYCLE_MAX) \ { \ TEST_KO("Maximal cycles Reached"); \ } \ \ sc_start(cycle_offset); \ \ /*cout << "SC_START (end )" << endl;*/ \ } while(0) 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 % param->_nb_special_register), _data_rd (data_rd & gen_mask(param->_size_general_data)), _write_re (write_re ), _num_reg_re (num_reg_re % param->_nb_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,50); #endif Functionnal_unit * _Functionnal_unit = new Functionnal_unit (name.c_str(), #ifdef STATISTICS _parameters_statistics, #endif _param); #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_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_packet_id) (*(_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_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_packet_id) (*(_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_ALU_L_CMOV ,TYPE_ALU,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_ALU_L_CMOV ,TYPE_ALU,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_ALU_L_MOVHI ,TYPE_ALU,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_ALU_L_TEST_F ,TYPE_ALU,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_ALU_L_TEST_F ,TYPE_ALU,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_ALU_L_TEST_NF ,TYPE_ALU,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_ALU_L_TEST_NF ,TYPE_ALU,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_ALU_L_JALR ,TYPE_ALU,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_ALU_L_JALR ,TYPE_ALU,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_ALU_L_JALR ,TYPE_ALU,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_ALU_L_EXTEND_S,TYPE_ALU,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_ALU_L_EXTEND_S,TYPE_ALU,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_ALU_L_EXTEND_S,TYPE_ALU,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_ALU_L_EXTEND_S,TYPE_ALU,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_ALU_L_EXTEND_S,TYPE_ALU,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_ALU_L_EXTEND_S,TYPE_ALU,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_ALU_L_EXTEND_Z,TYPE_ALU,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_ALU_L_EXTEND_Z,TYPE_ALU,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_ALU_L_EXTEND_Z,TYPE_ALU,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_ALU_L_EXTEND_Z,TYPE_ALU,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_ALU_L_EXTEND_Z,TYPE_ALU,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_ALU_L_EXTEND_Z,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SLL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRL ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_SRA ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_ROR ,TYPE_ALU,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_ALU_L_FF1 ,TYPE_ALU,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_ALU_L_FF1 ,TYPE_ALU,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_ALU_L_FF1 ,TYPE_ALU,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_ALU_L_FF1 ,TYPE_ALU,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_ALU_L_FF1 ,TYPE_ALU,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_ALU_L_FL1 ,TYPE_ALU,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_ALU_L_FL1 ,TYPE_ALU,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_ALU_L_FL1 ,TYPE_ALU,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_ALU_L_FL1 ,TYPE_ALU,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_ALU_L_FL1 ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFEQ ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFNE ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGEU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFGTU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLEU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFLTU ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGES ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFGTS ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLES ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_SFLTS ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,1,GROUP_ICACHE<<11, 3,0xdeadbeef,0 ,0,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_NOT_COMPLETE,0,(GROUP_ICACHE<<11)| 3)); transaction_in.push_back(execute_transaction(_param,0,0,0,401,OPERATION_ALU_L_MTSPR ,TYPE_ALU,1,GROUP_ICACHE<<11, 5,0xdeadbeef,0 ,0,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_NOT_COMPLETE,0,(GROUP_ICACHE<<11)| 5)); transaction_in.push_back(execute_transaction(_param,0,0,0,402,OPERATION_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MACRC ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MACRC ,TYPE_ALU,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_ALU_L_MAC ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MAC ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MSB ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU,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_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MTSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_ALU_L_MFSPR ,TYPE_ALU,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_packet_id) 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_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_packet_id) 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 ); switch (transaction_out.front()._operation) { case OPERATION_ALU_L_MFSPR : { 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; } case OPERATION_ALU_L_MTSPR : { 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; } default : { 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 }