1 | /* |
---|
2 | * $Id: test.cpp 116 2009-04-30 13:51:41Z moulu $ |
---|
3 | * |
---|
4 | * [ Description ] |
---|
5 | * |
---|
6 | * Test |
---|
7 | */ |
---|
8 | |
---|
9 | #define NB_ITERATION 1 |
---|
10 | #define CYCLE_MAX (1024*NB_ITERATION) |
---|
11 | |
---|
12 | #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/include/test.h" |
---|
13 | #include "Common/include/Test.h" |
---|
14 | |
---|
15 | class execute_transaction |
---|
16 | { |
---|
17 | public : const Tcontext_t _context_id ; |
---|
18 | public : const Tcontext_t _front_end_id ; |
---|
19 | public : const Tcontext_t _ooo_engine_id; |
---|
20 | public : const uint32_t _packet_id ; |
---|
21 | public : const Toperation_t _operation ; |
---|
22 | public : const Ttype_t _type ; |
---|
23 | public : const Tcontrol_t _has_immediat ; |
---|
24 | public : const Tgeneral_data_t _immediat ; |
---|
25 | public : const Tgeneral_data_t _data_ra ; |
---|
26 | public : const Tgeneral_data_t _data_rb ; |
---|
27 | public : const Tspecial_data_t _data_rc ; |
---|
28 | public : const Tcontrol_t _write_rd ; |
---|
29 | public : const Tgeneral_address_t _num_reg_rd ; |
---|
30 | public : const Tgeneral_data_t _data_rd ; |
---|
31 | public : const Tcontrol_t _write_re ; |
---|
32 | public : const Tspecial_address_t _num_reg_re ; |
---|
33 | public : const Tspecial_data_t _data_re ; |
---|
34 | public : const Texception_t _exception ; |
---|
35 | public : const Tcontrol_t _no_sequence ; |
---|
36 | public : const Tgeneral_data_t _address ; |
---|
37 | |
---|
38 | public : execute_transaction (morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::Parameters * param , |
---|
39 | Tcontext_t context_id , |
---|
40 | Tcontext_t front_end_id , |
---|
41 | Tcontext_t ooo_engine_id, |
---|
42 | uint32_t packet_id , |
---|
43 | Toperation_t operation , |
---|
44 | Ttype_t type , |
---|
45 | Tcontrol_t has_immediat , |
---|
46 | Tgeneral_data_t immediat , |
---|
47 | Tgeneral_data_t data_ra , |
---|
48 | Tgeneral_data_t data_rb , |
---|
49 | Tspecial_data_t data_rc , |
---|
50 | Tcontrol_t write_rd , |
---|
51 | Tgeneral_address_t num_reg_rd , |
---|
52 | Tgeneral_data_t data_rd , |
---|
53 | Tcontrol_t write_re , |
---|
54 | Tspecial_address_t num_reg_re , |
---|
55 | Tspecial_data_t data_re , |
---|
56 | Texception_t exception , |
---|
57 | Tcontrol_t no_sequence , |
---|
58 | Tgeneral_data_t address =0): |
---|
59 | _context_id (context_id % param->_nb_context ), |
---|
60 | _front_end_id (front_end_id % param->_nb_front_end ), |
---|
61 | _ooo_engine_id (ooo_engine_id% param->_nb_ooo_engine), |
---|
62 | _packet_id (packet_id % param->_nb_packet ), |
---|
63 | _operation (operation ), |
---|
64 | _type (type ), |
---|
65 | _has_immediat (has_immediat ), |
---|
66 | _immediat (immediat & gen_mask<Tgeneral_data_t>(param->_size_general_data)), |
---|
67 | _data_ra (data_ra & gen_mask<Tgeneral_data_t>(param->_size_general_data)), |
---|
68 | _data_rb (data_rb & gen_mask<Tgeneral_data_t>(param->_size_general_data)), |
---|
69 | _data_rc (data_rc & gen_mask<Tspecial_data_t>(param->_size_special_data)), |
---|
70 | _write_rd (write_rd ), |
---|
71 | _num_reg_rd (num_reg_rd % (1<<param->_size_general_register)), |
---|
72 | _data_rd (data_rd & gen_mask<Tgeneral_data_t>(param->_size_general_data)), |
---|
73 | _write_re (write_re ), |
---|
74 | _num_reg_re (num_reg_re % (1<<param->_size_special_register)), |
---|
75 | _data_re (data_re & gen_mask<Tspecial_data_t>(param->_size_special_data)), |
---|
76 | _exception (exception ), |
---|
77 | _no_sequence (no_sequence ), |
---|
78 | _address (address & gen_mask<Tgeneral_data_t>(param->_size_general_data)) |
---|
79 | { |
---|
80 | |
---|
81 | } |
---|
82 | }; |
---|
83 | |
---|
84 | void test (string name, |
---|
85 | morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::Parameters * _param) |
---|
86 | { |
---|
87 | msg(_("<%s> : Simulation SystemC.\n"),name.c_str()); |
---|
88 | |
---|
89 | #ifdef STATISTICS |
---|
90 | morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX); |
---|
91 | #endif |
---|
92 | |
---|
93 | Tusage_t _usage = USE_ALL; |
---|
94 | |
---|
95 | // _usage = usage_unset(_usage,USE_SYSTEMC ); |
---|
96 | // _usage = usage_unset(_usage,USE_VHDL ); |
---|
97 | // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); |
---|
98 | // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); |
---|
99 | // _usage = usage_unset(_usage,USE_POSITION ); |
---|
100 | // _usage = usage_unset(_usage,USE_STATISTICS ); |
---|
101 | // _usage = usage_unset(_usage,USE_INFORMATION ); |
---|
102 | |
---|
103 | Functionnal_unit * _Functionnal_unit = new Functionnal_unit (name.c_str(), |
---|
104 | #ifdef STATISTICS |
---|
105 | _parameters_statistics, |
---|
106 | #endif |
---|
107 | _param, |
---|
108 | _usage); |
---|
109 | |
---|
110 | #ifdef SYSTEMC |
---|
111 | /********************************************************************* |
---|
112 | * Déclarations des signaux |
---|
113 | *********************************************************************/ |
---|
114 | string rename = ""; |
---|
115 | |
---|
116 | sc_clock in_CLOCK ("clock", 1.0, 0.5); |
---|
117 | sc_signal<Tcontrol_t> in_NRESET ("nreset"); |
---|
118 | |
---|
119 | sc_signal<Tcontrol_t > in_EXECUTE_IN_VAL (rename.c_str()); |
---|
120 | sc_signal<Tcontrol_t > out_EXECUTE_IN_ACK (rename.c_str()); |
---|
121 | sc_signal<Tcontext_t > in_EXECUTE_IN_CONTEXT_ID (rename.c_str()); |
---|
122 | sc_signal<Tcontext_t > in_EXECUTE_IN_FRONT_END_ID (rename.c_str()); |
---|
123 | sc_signal<Tcontext_t > in_EXECUTE_IN_OOO_ENGINE_ID (rename.c_str()); |
---|
124 | sc_signal<Tpacket_t > in_EXECUTE_IN_PACKET_ID (rename.c_str()); |
---|
125 | sc_signal<Toperation_t > in_EXECUTE_IN_OPERATION (rename.c_str()); |
---|
126 | sc_signal<Ttype_t > in_EXECUTE_IN_TYPE (rename.c_str()); |
---|
127 | sc_signal<Tlsq_ptr_t > in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE (rename.c_str()); |
---|
128 | sc_signal<Tlsq_ptr_t > in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE (rename.c_str()); |
---|
129 | sc_signal<Tcontrol_t > in_EXECUTE_IN_HAS_IMMEDIAT (rename.c_str()); |
---|
130 | sc_signal<Tgeneral_data_t > in_EXECUTE_IN_IMMEDIAT (rename.c_str()); |
---|
131 | sc_signal<Tgeneral_data_t > in_EXECUTE_IN_DATA_RA (rename.c_str()); |
---|
132 | sc_signal<Tgeneral_data_t > in_EXECUTE_IN_DATA_RB (rename.c_str()); |
---|
133 | sc_signal<Tspecial_data_t > in_EXECUTE_IN_DATA_RC (rename.c_str()); |
---|
134 | sc_signal<Tcontrol_t > in_EXECUTE_IN_WRITE_RD (rename.c_str()); |
---|
135 | sc_signal<Tgeneral_address_t> in_EXECUTE_IN_NUM_REG_RD (rename.c_str()); |
---|
136 | sc_signal<Tcontrol_t > in_EXECUTE_IN_WRITE_RE (rename.c_str()); |
---|
137 | sc_signal<Tspecial_address_t> in_EXECUTE_IN_NUM_REG_RE (rename.c_str()); |
---|
138 | |
---|
139 | // ~~~~~[ Interface "execute_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
140 | sc_signal<Tcontrol_t > out_EXECUTE_OUT_VAL (rename.c_str()); |
---|
141 | sc_signal<Tcontrol_t > in_EXECUTE_OUT_ACK (rename.c_str()); |
---|
142 | sc_signal<Tcontext_t > out_EXECUTE_OUT_CONTEXT_ID (rename.c_str()); |
---|
143 | sc_signal<Tcontext_t > out_EXECUTE_OUT_FRONT_END_ID (rename.c_str()); |
---|
144 | sc_signal<Tcontext_t > out_EXECUTE_OUT_OOO_ENGINE_ID (rename.c_str()); |
---|
145 | sc_signal<Tpacket_t > out_EXECUTE_OUT_PACKET_ID (rename.c_str()); |
---|
146 | //sc_signal<Toperation_t > out_EXECUTE_OUT_OPERATION (rename.c_str()); |
---|
147 | //sc_signal<Ttype_t > out_EXECUTE_OUT_TYPE (rename.c_str()); |
---|
148 | sc_signal<Tcontrol_t > out_EXECUTE_OUT_WRITE_RD (rename.c_str()); |
---|
149 | sc_signal<Tgeneral_address_t> out_EXECUTE_OUT_NUM_REG_RD (rename.c_str()); |
---|
150 | sc_signal<Tgeneral_data_t > out_EXECUTE_OUT_DATA_RD (rename.c_str()); |
---|
151 | sc_signal<Tcontrol_t > out_EXECUTE_OUT_WRITE_RE (rename.c_str()); |
---|
152 | sc_signal<Tspecial_address_t> out_EXECUTE_OUT_NUM_REG_RE (rename.c_str()); |
---|
153 | sc_signal<Tspecial_data_t > out_EXECUTE_OUT_DATA_RE (rename.c_str()); |
---|
154 | sc_signal<Texception_t > out_EXECUTE_OUT_EXCEPTION (rename.c_str()); |
---|
155 | sc_signal<Tcontrol_t > out_EXECUTE_OUT_NO_SEQUENCE (rename.c_str()); |
---|
156 | sc_signal<Tgeneral_data_t > out_EXECUTE_OUT_ADDRESS (rename.c_str()); |
---|
157 | |
---|
158 | /******************************************************** |
---|
159 | * Instanciation |
---|
160 | ********************************************************/ |
---|
161 | |
---|
162 | msg(_("<%s> : Instanciation of _Functionnal_unit.\n"),name.c_str()); |
---|
163 | |
---|
164 | (*(_Functionnal_unit->in_CLOCK)) (in_CLOCK); |
---|
165 | (*(_Functionnal_unit->in_NRESET)) (in_NRESET); |
---|
166 | (*(_Functionnal_unit-> in_EXECUTE_IN_VAL )) ( in_EXECUTE_IN_VAL ); |
---|
167 | (*(_Functionnal_unit->out_EXECUTE_IN_ACK )) (out_EXECUTE_IN_ACK ); |
---|
168 | if (_param->_have_port_context_id) |
---|
169 | (*(_Functionnal_unit-> in_EXECUTE_IN_CONTEXT_ID )) ( in_EXECUTE_IN_CONTEXT_ID ); |
---|
170 | if (_param->_have_port_front_end_id) |
---|
171 | (*(_Functionnal_unit-> in_EXECUTE_IN_FRONT_END_ID )) ( in_EXECUTE_IN_FRONT_END_ID ); |
---|
172 | if (_param->_have_port_ooo_engine_id) |
---|
173 | (*(_Functionnal_unit-> in_EXECUTE_IN_OOO_ENGINE_ID )) ( in_EXECUTE_IN_OOO_ENGINE_ID ); |
---|
174 | if (_param->_have_port_rob_ptr) |
---|
175 | (*(_Functionnal_unit-> in_EXECUTE_IN_PACKET_ID )) ( in_EXECUTE_IN_PACKET_ID ); |
---|
176 | (*(_Functionnal_unit-> in_EXECUTE_IN_OPERATION )) ( in_EXECUTE_IN_OPERATION ); |
---|
177 | (*(_Functionnal_unit-> in_EXECUTE_IN_TYPE )) ( in_EXECUTE_IN_TYPE ); |
---|
178 | (*(_Functionnal_unit-> in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE)) ( in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE); |
---|
179 | if (_param->_have_port_load_queue_ptr) |
---|
180 | (*(_Functionnal_unit-> in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE )) ( in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE ); |
---|
181 | (*(_Functionnal_unit-> in_EXECUTE_IN_HAS_IMMEDIAT )) ( in_EXECUTE_IN_HAS_IMMEDIAT ); |
---|
182 | (*(_Functionnal_unit-> in_EXECUTE_IN_IMMEDIAT )) ( in_EXECUTE_IN_IMMEDIAT ); |
---|
183 | (*(_Functionnal_unit-> in_EXECUTE_IN_DATA_RA )) ( in_EXECUTE_IN_DATA_RA ); |
---|
184 | (*(_Functionnal_unit-> in_EXECUTE_IN_DATA_RB )) ( in_EXECUTE_IN_DATA_RB ); |
---|
185 | (*(_Functionnal_unit-> in_EXECUTE_IN_DATA_RC )) ( in_EXECUTE_IN_DATA_RC ); |
---|
186 | (*(_Functionnal_unit-> in_EXECUTE_IN_WRITE_RD )) ( in_EXECUTE_IN_WRITE_RD ); |
---|
187 | (*(_Functionnal_unit-> in_EXECUTE_IN_NUM_REG_RD )) ( in_EXECUTE_IN_NUM_REG_RD ); |
---|
188 | (*(_Functionnal_unit-> in_EXECUTE_IN_WRITE_RE )) ( in_EXECUTE_IN_WRITE_RE ); |
---|
189 | (*(_Functionnal_unit-> in_EXECUTE_IN_NUM_REG_RE )) ( in_EXECUTE_IN_NUM_REG_RE ); |
---|
190 | |
---|
191 | (*(_Functionnal_unit->out_EXECUTE_OUT_VAL )) (out_EXECUTE_OUT_VAL ); |
---|
192 | (*(_Functionnal_unit-> in_EXECUTE_OUT_ACK )) ( in_EXECUTE_OUT_ACK ); |
---|
193 | if (_param->_have_port_context_id) |
---|
194 | (*(_Functionnal_unit->out_EXECUTE_OUT_CONTEXT_ID )) (out_EXECUTE_OUT_CONTEXT_ID ); |
---|
195 | if (_param->_have_port_front_end_id) |
---|
196 | (*(_Functionnal_unit->out_EXECUTE_OUT_FRONT_END_ID )) (out_EXECUTE_OUT_FRONT_END_ID ); |
---|
197 | if (_param->_have_port_ooo_engine_id) |
---|
198 | (*(_Functionnal_unit->out_EXECUTE_OUT_OOO_ENGINE_ID)) (out_EXECUTE_OUT_OOO_ENGINE_ID); |
---|
199 | if (_param->_have_port_rob_ptr) |
---|
200 | (*(_Functionnal_unit->out_EXECUTE_OUT_PACKET_ID )) (out_EXECUTE_OUT_PACKET_ID ); |
---|
201 | //(*(_Functionnal_unit->out_EXECUTE_OUT_OPERATION )) (out_EXECUTE_OUT_OPERATION ); |
---|
202 | //(*(_Functionnal_unit->out_EXECUTE_OUT_TYPE )) (out_EXECUTE_OUT_TYPE ); |
---|
203 | (*(_Functionnal_unit->out_EXECUTE_OUT_WRITE_RD )) (out_EXECUTE_OUT_WRITE_RD ); |
---|
204 | (*(_Functionnal_unit->out_EXECUTE_OUT_NUM_REG_RD )) (out_EXECUTE_OUT_NUM_REG_RD ); |
---|
205 | (*(_Functionnal_unit->out_EXECUTE_OUT_DATA_RD )) (out_EXECUTE_OUT_DATA_RD ); |
---|
206 | (*(_Functionnal_unit->out_EXECUTE_OUT_WRITE_RE )) (out_EXECUTE_OUT_WRITE_RE ); |
---|
207 | (*(_Functionnal_unit->out_EXECUTE_OUT_NUM_REG_RE )) (out_EXECUTE_OUT_NUM_REG_RE ); |
---|
208 | (*(_Functionnal_unit->out_EXECUTE_OUT_DATA_RE )) (out_EXECUTE_OUT_DATA_RE ); |
---|
209 | (*(_Functionnal_unit->out_EXECUTE_OUT_EXCEPTION )) (out_EXECUTE_OUT_EXCEPTION ); |
---|
210 | (*(_Functionnal_unit->out_EXECUTE_OUT_NO_SEQUENCE )) (out_EXECUTE_OUT_NO_SEQUENCE ); |
---|
211 | (*(_Functionnal_unit->out_EXECUTE_OUT_ADDRESS )) (out_EXECUTE_OUT_ADDRESS ); |
---|
212 | |
---|
213 | msg(_("<%s> : Start Simulation ............\n"),name.c_str()); |
---|
214 | |
---|
215 | Time * _time = new Time(); |
---|
216 | |
---|
217 | /******************************************************** |
---|
218 | * Simulation - Begin |
---|
219 | ********************************************************/ |
---|
220 | |
---|
221 | // Initialisation |
---|
222 | |
---|
223 | const int32_t percent_transaction_execute_in = 75; |
---|
224 | const int32_t percent_transaction_execute_out = 75; |
---|
225 | |
---|
226 | const uint32_t seed = 0; |
---|
227 | //const uint32_t seed = static_cast<uint32_t>(time(NULL)); |
---|
228 | |
---|
229 | srand(seed); |
---|
230 | |
---|
231 | list<execute_transaction> transaction_in; |
---|
232 | list<execute_transaction> transaction_out; |
---|
233 | int32_t nb_transaction_out; |
---|
234 | |
---|
235 | |
---|
236 | SC_START(0); |
---|
237 | LABEL("Initialisation"); |
---|
238 | |
---|
239 | 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)); |
---|
240 | |
---|
241 | |
---|
242 | 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)); |
---|
243 | 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)); |
---|
244 | // Test L_ADD flags |
---|
245 | 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)); |
---|
246 | 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)); |
---|
247 | 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)); |
---|
248 | 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)); |
---|
249 | |
---|
250 | |
---|
251 | 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)); |
---|
252 | 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)); |
---|
253 | 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)); |
---|
254 | 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)); |
---|
255 | 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)); |
---|
256 | 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)); |
---|
257 | 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)); |
---|
258 | |
---|
259 | 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)); |
---|
260 | 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)); |
---|
261 | 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)); |
---|
262 | 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)); |
---|
263 | 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)); |
---|
264 | 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)); |
---|
265 | 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)); |
---|
266 | |
---|
267 | |
---|
268 | 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)); |
---|
269 | 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)); |
---|
270 | 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)); |
---|
271 | |
---|
272 | 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)); |
---|
273 | 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)); |
---|
274 | 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)); |
---|
275 | |
---|
276 | |
---|
277 | 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)); |
---|
278 | 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)); |
---|
279 | 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)); |
---|
280 | 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)); |
---|
281 | |
---|
282 | |
---|
283 | 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>>2)); // jr |
---|
284 | 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<<2,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678>>2)); // jal |
---|
285 | 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<<2,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678>>2)); // jalr |
---|
286 | |
---|
287 | 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)); |
---|
288 | 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)); |
---|
289 | 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)); |
---|
290 | 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)); |
---|
291 | 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)); |
---|
292 | 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)); |
---|
293 | |
---|
294 | 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)); |
---|
295 | 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)); |
---|
296 | 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)); |
---|
297 | 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)); |
---|
298 | 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)); |
---|
299 | 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)); |
---|
300 | |
---|
301 | 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)); |
---|
302 | 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)); |
---|
303 | 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)); |
---|
304 | 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)); |
---|
305 | 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)); |
---|
306 | 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)); |
---|
307 | 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)); |
---|
308 | 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)); |
---|
309 | 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)); |
---|
310 | 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)); |
---|
311 | 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)); |
---|
312 | 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)); |
---|
313 | 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)); |
---|
314 | 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)); |
---|
315 | 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)); |
---|
316 | 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)); |
---|
317 | 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)); |
---|
318 | 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)); |
---|
319 | 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)); |
---|
320 | 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)); |
---|
321 | 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)); |
---|
322 | 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)); |
---|
323 | 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)); |
---|
324 | 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)); |
---|
325 | 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)); |
---|
326 | 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)); |
---|
327 | 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)); |
---|
328 | 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)); |
---|
329 | 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)); |
---|
330 | 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)); |
---|
331 | 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)); |
---|
332 | 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)); |
---|
333 | 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)); |
---|
334 | 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)); |
---|
335 | 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)); |
---|
336 | 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)); |
---|
337 | 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)); |
---|
338 | 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)); |
---|
339 | 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)); |
---|
340 | 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)); |
---|
341 | 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)); |
---|
342 | 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)); |
---|
343 | 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)); |
---|
344 | 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)); |
---|
345 | 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)); |
---|
346 | 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)); |
---|
347 | 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)); |
---|
348 | |
---|
349 | 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)); |
---|
350 | 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)); |
---|
351 | 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)); |
---|
352 | 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)); |
---|
353 | 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)); |
---|
354 | 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)); |
---|
355 | 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)); |
---|
356 | 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)); |
---|
357 | 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)); |
---|
358 | 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)); |
---|
359 | |
---|
360 | 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)); |
---|
361 | 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)); |
---|
362 | 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)); |
---|
363 | 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)); |
---|
364 | transaction_in.push_back(execute_transaction(_param,0,0,0,104,OPERATION_ALU_L_SUB ,TYPE_ALU,0,0 ,0x70000000,0x90000000,0 ,1,56,0xe0000000,1,3 , FLAG_OV,EXCEPTION_ALU_RANGE,0)); |
---|
365 | 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_OV,EXCEPTION_ALU_RANGE,0)); |
---|
366 | 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 ,0x80000002,1,0 ,FLAG_CY ,EXCEPTION_NONE ,0)); |
---|
367 | |
---|
368 | 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)); // + == + |
---|
369 | 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)); // + > + |
---|
370 | 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)); // + < + |
---|
371 | 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)); // - == - |
---|
372 | 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)); // - > - |
---|
373 | 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)); // - < - |
---|
374 | 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) |
---|
375 | 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) |
---|
376 | 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) |
---|
377 | 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) |
---|
378 | 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) |
---|
379 | 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) |
---|
380 | 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)); // + == + |
---|
381 | 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)); // + > + |
---|
382 | 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)); // + < + |
---|
383 | 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)); // - == - |
---|
384 | 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)); // - > - |
---|
385 | 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)); // - < - |
---|
386 | 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) |
---|
387 | 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) |
---|
388 | 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) |
---|
389 | 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) |
---|
390 | 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) |
---|
391 | 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) |
---|
392 | 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)); // + == + |
---|
393 | 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)); // + > + |
---|
394 | 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)); // + < + |
---|
395 | 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)); // - == - |
---|
396 | 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)); // - > - |
---|
397 | 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)); // - < - |
---|
398 | 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) |
---|
399 | 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) |
---|
400 | 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) |
---|
401 | 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) |
---|
402 | 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) |
---|
403 | 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) |
---|
404 | 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)); // + == + |
---|
405 | 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)); // + > + |
---|
406 | 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)); // + < + |
---|
407 | 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)); // - == - |
---|
408 | 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)); // - > - |
---|
409 | 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)); // - < - |
---|
410 | 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) |
---|
411 | 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) |
---|
412 | 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) |
---|
413 | 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) |
---|
414 | 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) |
---|
415 | 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) |
---|
416 | 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)); // + == + |
---|
417 | 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)); // + > + |
---|
418 | 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)); // + < + |
---|
419 | 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)); // - == - |
---|
420 | 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)); // - > - |
---|
421 | 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)); // - < - |
---|
422 | 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) |
---|
423 | 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) |
---|
424 | 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) |
---|
425 | 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) |
---|
426 | 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) |
---|
427 | 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) |
---|
428 | 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)); // + == + |
---|
429 | 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)); // + > + |
---|
430 | 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)); // + < + |
---|
431 | 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)); // - == - |
---|
432 | 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)); // - > - |
---|
433 | 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)); // - < - |
---|
434 | 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) |
---|
435 | 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) |
---|
436 | 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) |
---|
437 | 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) |
---|
438 | 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) |
---|
439 | 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) |
---|
440 | 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)); // + == + |
---|
441 | 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)); // + > + |
---|
442 | 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)); // + < + |
---|
443 | 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)); // - == - |
---|
444 | 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,0 ,EXCEPTION_NONE ,0)); // - > - |
---|
445 | 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,FLAG_F ,EXCEPTION_NONE ,0)); // - < - |
---|
446 | 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) |
---|
447 | 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) |
---|
448 | 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) |
---|
449 | 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) |
---|
450 | 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) |
---|
451 | 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) |
---|
452 | 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)); // + == + |
---|
453 | 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)); // + > + |
---|
454 | 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)); // + < + |
---|
455 | 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)); // - == - |
---|
456 | 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,0 ,EXCEPTION_NONE ,0)); // - > - |
---|
457 | 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,FLAG_F ,EXCEPTION_NONE ,0)); // - < - |
---|
458 | 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) |
---|
459 | 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) |
---|
460 | 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) |
---|
461 | 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) |
---|
462 | 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) |
---|
463 | 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) |
---|
464 | 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)); // + == + |
---|
465 | 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)); // + > + |
---|
466 | 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)); // + < + |
---|
467 | 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)); // - == - |
---|
468 | 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,FLAG_F ,EXCEPTION_NONE ,0)); // - > - |
---|
469 | 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,0 ,EXCEPTION_NONE ,0)); // - < - |
---|
470 | 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) |
---|
471 | 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) |
---|
472 | 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) |
---|
473 | 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) |
---|
474 | 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) |
---|
475 | 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) |
---|
476 | 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)); // + == + |
---|
477 | 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)); // + > + |
---|
478 | 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)); // + < + |
---|
479 | 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)); // - == - |
---|
480 | 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,FLAG_F ,EXCEPTION_NONE ,0)); // - > - |
---|
481 | 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,0 ,EXCEPTION_NONE ,0)); // - < - |
---|
482 | 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) |
---|
483 | 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) |
---|
484 | 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) |
---|
485 | 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) |
---|
486 | 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) |
---|
487 | 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) |
---|
488 | /* |
---|
489 | 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)); |
---|
490 | 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)); |
---|
491 | 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)); |
---|
492 | 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)); |
---|
493 | 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)); |
---|
494 | 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)); |
---|
495 | |
---|
496 | if (_param->_nb_ooo_engine > 1) |
---|
497 | { |
---|
498 | 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)); |
---|
499 | 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)); |
---|
500 | 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)); |
---|
501 | } |
---|
502 | // TEST MAC Unit |
---|
503 | 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)); |
---|
504 | 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)); |
---|
505 | |
---|
506 | 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)); |
---|
507 | 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)); |
---|
508 | 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)); |
---|
509 | |
---|
510 | 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)); |
---|
511 | 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)); |
---|
512 | 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)); |
---|
513 | |
---|
514 | |
---|
515 | 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)); |
---|
516 | |
---|
517 | 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)); |
---|
518 | 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)); |
---|
519 | 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)); |
---|
520 | |
---|
521 | 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)); |
---|
522 | 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)); |
---|
523 | 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)); |
---|
524 | |
---|
525 | 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)); |
---|
526 | 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)); |
---|
527 | |
---|
528 | 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)); |
---|
529 | 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)); |
---|
530 | |
---|
531 | 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)); |
---|
532 | 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)); |
---|
533 | 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)); |
---|
534 | 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)); |
---|
535 | 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)); |
---|
536 | |
---|
537 | |
---|
538 | 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)); |
---|
539 | 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)); |
---|
540 | |
---|
541 | |
---|
542 | |
---|
543 | 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)); |
---|
544 | 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)); |
---|
545 | 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)); |
---|
546 | 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)); |
---|
547 | 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)); |
---|
548 | 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)); |
---|
549 | 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)); |
---|
550 | 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)); |
---|
551 | |
---|
552 | 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)); |
---|
553 | 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)); |
---|
554 | 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)); |
---|
555 | 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)); |
---|
556 | 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)); |
---|
557 | 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)); |
---|
558 | 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)); |
---|
559 | 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)); |
---|
560 | 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)); |
---|
561 | 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)); |
---|
562 | |
---|
563 | 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)); |
---|
564 | 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)); |
---|
565 | 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)); |
---|
566 | 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)); |
---|
567 | 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)); |
---|
568 | 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)); |
---|
569 | 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)); |
---|
570 | 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)); |
---|
571 | 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)); |
---|
572 | */ |
---|
573 | transaction_in.push_back(execute_transaction(_param,0,0,0,700,OPERATION_MUL_L_MUL ,TYPE_MUL,0,0 ,0x00000001,0x00000001,0 ,1,63,0x00000001,1,15,0 ,EXCEPTION_NONE ,0)); |
---|
574 | transaction_in.push_back(execute_transaction(_param,0,0,0,701,OPERATION_MUL_L_MUL ,TYPE_MUL,0,0 ,0x00002107,0x00001981,0 ,1,63,0x034a5387,1,15,0 ,EXCEPTION_NONE ,0)); |
---|
575 | transaction_in.push_back(execute_transaction(_param,0,0,0,702,OPERATION_MUL_L_MUL ,TYPE_MUL,0,0 ,0x00048698,0x0000dead,0 ,1,63,0xefc6c4b8,1,15,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); |
---|
576 | transaction_in.push_back(execute_transaction(_param,0,0,0,703,OPERATION_MUL_L_MUL ,TYPE_MUL,0,0 ,0x40000000,0x00000002,0 ,1,63,0x80000000,1,15,0 ,EXCEPTION_NONE ,0)); |
---|
577 | transaction_in.push_back(execute_transaction(_param,0,0,0,704,OPERATION_MUL_L_MUL ,TYPE_MUL,0,0 ,0x40000000,0x00000004,0 ,1,63,0x00000000,1,15,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); |
---|
578 | |
---|
579 | transaction_in.push_back(execute_transaction(_param,0,0,0,800,OPERATION_MUL_L_MULU ,TYPE_MUL,0,0 ,0x00000001,0x00000001,0 ,1,63,0x00000001,1,15,0 ,EXCEPTION_NONE ,0)); |
---|
580 | transaction_in.push_back(execute_transaction(_param,0,0,0,801,OPERATION_MUL_L_MULU ,TYPE_MUL,0,0 ,0x00002107,0x00001981,0 ,1,63,0x034a5387,1,15,0 ,EXCEPTION_NONE ,0)); |
---|
581 | transaction_in.push_back(execute_transaction(_param,0,0,0,802,OPERATION_MUL_L_MULU ,TYPE_MUL,0,0 ,0x00048698,0x0000dead,0 ,1,63,0xefc6c4b8,1,15,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); |
---|
582 | transaction_in.push_back(execute_transaction(_param,0,0,0,803,OPERATION_MUL_L_MULU ,TYPE_MUL,0,0 ,0x40000000,0x00000002,0 ,1,63,0x80000000,1,15,0 ,EXCEPTION_NONE ,0)); |
---|
583 | transaction_in.push_back(execute_transaction(_param,0,0,0,804,OPERATION_MUL_L_MULU ,TYPE_MUL,0,0 ,0x40000000,0x00000004,0 ,1,63,0x00000000,1,15,FLAG_CY|FLAG_OV,EXCEPTION_ALU_RANGE,0)); |
---|
584 | |
---|
585 | |
---|
586 | |
---|
587 | LABEL("Reset"); |
---|
588 | in_NRESET.write(0); |
---|
589 | |
---|
590 | in_EXECUTE_IN_VAL .write(0); |
---|
591 | in_EXECUTE_OUT_ACK.write(0); |
---|
592 | |
---|
593 | SC_START(5); |
---|
594 | in_NRESET.write(1); |
---|
595 | |
---|
596 | LABEL("Loop of Test"); |
---|
597 | |
---|
598 | for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) |
---|
599 | { |
---|
600 | nb_transaction_out = transaction_in.size(); |
---|
601 | |
---|
602 | LABEL("Iteration %d",iteration); |
---|
603 | |
---|
604 | while (nb_transaction_out > 0) |
---|
605 | { |
---|
606 | Tcontrol_t val = ((rand()%100) < percent_transaction_execute_in) and not transaction_in.empty() and transaction_out.empty(); |
---|
607 | in_EXECUTE_IN_VAL .write(val); |
---|
608 | in_EXECUTE_OUT_ACK.write((rand()%100) < percent_transaction_execute_out); |
---|
609 | |
---|
610 | if (val) |
---|
611 | { |
---|
612 | if (_param->_have_port_context_id) |
---|
613 | in_EXECUTE_IN_CONTEXT_ID .write(transaction_in.front()._context_id ); |
---|
614 | if (_param->_have_port_front_end_id) |
---|
615 | in_EXECUTE_IN_FRONT_END_ID .write(transaction_in.front()._front_end_id ); |
---|
616 | if (_param->_have_port_ooo_engine_id) |
---|
617 | in_EXECUTE_IN_OOO_ENGINE_ID .write(transaction_in.front()._ooo_engine_id); |
---|
618 | if (_param->_have_port_rob_ptr) |
---|
619 | in_EXECUTE_IN_PACKET_ID .write(static_cast<Tpacket_t>(transaction_in.front()._packet_id)); |
---|
620 | in_EXECUTE_IN_OPERATION .write(transaction_in.front()._operation ); |
---|
621 | in_EXECUTE_IN_TYPE .write(transaction_in.front()._type ); |
---|
622 | in_EXECUTE_IN_STORE_QUEUE_PTR_WRITE.write(0); |
---|
623 | if (_param->_have_port_load_queue_ptr) |
---|
624 | in_EXECUTE_IN_LOAD_QUEUE_PTR_WRITE .write(0); |
---|
625 | in_EXECUTE_IN_HAS_IMMEDIAT .write(transaction_in.front()._has_immediat ); |
---|
626 | in_EXECUTE_IN_IMMEDIAT .write(transaction_in.front()._immediat ); |
---|
627 | in_EXECUTE_IN_DATA_RA .write(transaction_in.front()._data_ra ); |
---|
628 | in_EXECUTE_IN_DATA_RB .write(transaction_in.front()._data_rb ); |
---|
629 | in_EXECUTE_IN_DATA_RC .write(transaction_in.front()._data_rc ); |
---|
630 | in_EXECUTE_IN_WRITE_RD .write(transaction_in.front()._write_rd ); |
---|
631 | in_EXECUTE_IN_NUM_REG_RD .write(transaction_in.front()._num_reg_rd ); |
---|
632 | in_EXECUTE_IN_WRITE_RE .write(transaction_in.front()._write_re ); |
---|
633 | in_EXECUTE_IN_NUM_REG_RE .write(transaction_in.front()._num_reg_re ); |
---|
634 | } |
---|
635 | |
---|
636 | SC_START(0); |
---|
637 | |
---|
638 | if (out_EXECUTE_OUT_VAL.read() and in_EXECUTE_OUT_ACK.read()) |
---|
639 | { |
---|
640 | // TEST |
---|
641 | if (_param->_have_port_rob_ptr) |
---|
642 | TEST(Tpacket_t , out_EXECUTE_OUT_PACKET_ID .read(), static_cast<Tpacket_t>(transaction_out.front()._packet_id )); |
---|
643 | if (_param->_have_port_context_id) |
---|
644 | TEST(Tcontext_t , out_EXECUTE_OUT_CONTEXT_ID .read(), transaction_out.front()._context_id ); |
---|
645 | if (_param->_have_port_front_end_id) |
---|
646 | TEST(Tcontext_t , out_EXECUTE_OUT_FRONT_END_ID .read(), transaction_out.front()._front_end_id ); |
---|
647 | if (_param->_have_port_ooo_engine_id) |
---|
648 | TEST(Tcontext_t , out_EXECUTE_OUT_OOO_ENGINE_ID.read(), transaction_out.front()._ooo_engine_id); |
---|
649 | //TEST(Toperation_t , out_EXECUTE_OUT_OPERATION .read(), transaction_out.front()._operation ); |
---|
650 | //TEST(Ttype_t , out_EXECUTE_OUT_TYPE .read(), transaction_out.front()._type ); |
---|
651 | TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RE .read(), transaction_out.front()._write_re ); |
---|
652 | TEST(Tgeneral_address_t, out_EXECUTE_OUT_NUM_REG_RD .read(), transaction_out.front()._num_reg_rd ); |
---|
653 | TEST(Tspecial_address_t, out_EXECUTE_OUT_NUM_REG_RE .read(), transaction_out.front()._num_reg_re ); |
---|
654 | TEST(Texception_t , out_EXECUTE_OUT_EXCEPTION .read(), transaction_out.front()._exception ); |
---|
655 | TEST(Tcontrol_t , out_EXECUTE_OUT_NO_SEQUENCE .read(), transaction_out.front()._no_sequence ); |
---|
656 | |
---|
657 | |
---|
658 | bool just_do_it = true; |
---|
659 | if ((transaction_out.front()._type == TYPE_SPECIAL) and |
---|
660 | (transaction_out.front()._operation == OPERATION_SPECIAL_L_MFSPR)) |
---|
661 | { |
---|
662 | just_do_it = false; |
---|
663 | TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), out_EXECUTE_OUT_EXCEPTION.read() == EXCEPTION_ALU_NONE); |
---|
664 | if (out_EXECUTE_OUT_WRITE_RD .read()) |
---|
665 | TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); |
---|
666 | TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); |
---|
667 | } |
---|
668 | |
---|
669 | if ((transaction_out.front()._type == TYPE_SPECIAL) and |
---|
670 | (transaction_out.front()._operation == OPERATION_SPECIAL_L_MTSPR)) |
---|
671 | { |
---|
672 | just_do_it = false; |
---|
673 | TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd ); |
---|
674 | TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); |
---|
675 | TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); |
---|
676 | } |
---|
677 | |
---|
678 | if (just_do_it) |
---|
679 | { |
---|
680 | TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd ); |
---|
681 | if (transaction_out.front()._write_rd) |
---|
682 | TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); |
---|
683 | if (transaction_out.front()._write_re) |
---|
684 | TEST(Tspecial_data_t , out_EXECUTE_OUT_DATA_RE .read(), transaction_out.front()._data_re ); |
---|
685 | if (transaction_out.front()._no_sequence) |
---|
686 | TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); |
---|
687 | } |
---|
688 | |
---|
689 | transaction_out.pop_front(); |
---|
690 | |
---|
691 | nb_transaction_out--; |
---|
692 | } |
---|
693 | |
---|
694 | if ( in_EXECUTE_IN_VAL .read() and out_EXECUTE_IN_ACK .read()) |
---|
695 | { |
---|
696 | transaction_out.push_back(transaction_in.front()); |
---|
697 | transaction_in.pop_front(); |
---|
698 | } |
---|
699 | |
---|
700 | SC_START(1); |
---|
701 | } |
---|
702 | |
---|
703 | } |
---|
704 | |
---|
705 | /******************************************************** |
---|
706 | * Simulation - End |
---|
707 | ********************************************************/ |
---|
708 | |
---|
709 | TEST_OK ("End of Simulation"); |
---|
710 | delete _time; |
---|
711 | |
---|
712 | msg(_("<%s> : ............ Stop Simulation\n"),name.c_str()); |
---|
713 | |
---|
714 | #endif |
---|
715 | |
---|
716 | delete _Functionnal_unit; |
---|
717 | #ifdef STATISTICS |
---|
718 | delete _parameters_statistics; |
---|
719 | #endif |
---|
720 | } |
---|