Changeset 76 for trunk/IPs/systemC/processor/Morpheo
- Timestamp:
- Feb 2, 2008, 12:39:01 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural
- Files:
-
- 85 added
- 10 deleted
- 51 edited
- 21 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/main.cpp
r72 r76 51 51 const uint32_t nb_type = atoi(argv[x++]); 52 52 53 execute_timing_t * timing = new execute_timing_t [MAX_OPERATION];53 execute_timing_t ** timing = new execute_timing_t * [MAX_TYPE]; 54 54 55 for (uint32_t i=0; i< MAX_OPERATION; i++) 56 timing[i]._delay = timing[i]._latence = 1; 55 for (uint32_t i=0; i< MAX_TYPE; i++) 56 { 57 timing [i]= new execute_timing_t [MAX_OPERATION]; 58 59 for (uint32_t j=0; j< MAX_OPERATION; j++) 60 timing[i][j]._delay = timing[i][j]._latence = 1; 61 } 57 62 58 63 try -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/test.cpp
r72 r76 280 280 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)); 281 281 282 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)); 283 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)); 284 285 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)); 282 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)); 283 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)); 284 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)); 286 285 287 286 288 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));289 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));290 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));291 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));287 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)); 288 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)); 289 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)); 290 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)); 292 291 293 292 294 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)); // jr295 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)); // jal296 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)); // jalr293 transaction_in.push_back(execute_transaction(_param,0,0,0, 31,OPERATION_BRANCH_L_JALR ,TYPE_BRANCH,0,0xdeadbeef,0x0 ,0x12345678,0 ,0,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678)); // jr 294 transaction_in.push_back(execute_transaction(_param,0,0,0, 32,OPERATION_BRANCH_L_JALR ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x12345678,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678)); // jal 295 transaction_in.push_back(execute_transaction(_param,0,0,0, 33,OPERATION_BRANCH_L_JALR ,TYPE_BRANCH,1,0xdeadbeef,0x0 ,0x12345678,0 ,1,63,0xdeadbeef,0,15,FLAG_CY ,EXCEPTION_NONE ,1,0x12345678)); // jalr 297 296 298 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));299 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));300 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));301 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));302 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));303 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));297 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)); 298 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)); 299 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)); 300 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)); 301 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)); 302 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)); 304 303 305 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));306 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));307 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));308 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));309 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));310 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));304 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)); 305 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)); 306 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)); 307 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)); 308 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)); 309 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)); 311 310 312 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)); 313 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)); 314 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)); 315 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)); 316 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)); 317 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)); 318 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)); 311 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)); 312 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)); 313 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)); 314 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)); 315 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)); 316 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)); 317 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)); 318 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)); 319 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)); 320 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)); 321 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)); 322 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)); 323 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)); 324 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)); 325 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)); 326 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)); 327 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)); 328 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)); 329 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)); 330 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)); 331 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)); 332 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)); 333 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)); 334 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)); 335 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)); 336 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)); 337 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)); 338 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)); 339 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)); 340 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)); 341 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)); 342 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)); 343 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)); 344 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)); 345 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)); 346 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)); 347 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)); 348 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)); 349 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)); 350 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)); 351 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)); 352 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)); 353 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)); 354 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)); 355 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)); 356 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)); 357 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)); 319 358 320 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)); 321 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)); 322 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)); 323 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)); 324 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)); 325 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)); 326 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)); 327 328 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)); 329 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)); 330 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)); 331 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)); 332 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)); 333 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)); 334 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)); 335 336 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)); 337 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)); 338 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)); 339 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)); 340 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)); 341 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)); 342 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)); 343 344 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)); 345 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)); 346 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)); 347 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)); 348 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)); 349 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)); 350 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)); 351 352 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)); 353 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)); 354 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)); 355 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)); 356 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)); 357 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)); 358 359 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)); 360 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)); 361 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)); 362 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)); 363 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)); 364 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)); 365 366 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)); 367 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)); 368 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)); 369 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)); 370 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)); 371 372 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)); 373 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)); 374 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)); 375 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)); 376 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)); 359 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)); 360 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)); 361 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)); 362 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)); 363 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)); 364 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)); 365 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)); 366 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)); 367 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)); 368 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)); 377 369 378 370 // 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)); … … 384 376 // 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)); 385 377 386 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)); // + == + 387 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)); // + > + 388 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)); // + < + 389 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)); // - == - 390 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)); // - > - 391 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)); // - < - 392 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) 393 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) 394 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) 395 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) 396 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) 397 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) 398 399 400 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)); // + == + 401 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)); // + > + 402 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)); // + < + 403 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)); // - == - 404 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)); // - > - 405 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)); // - < - 406 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) 407 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) 408 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) 409 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) 410 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) 411 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) 412 413 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)); // + == + 414 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)); // + > + 415 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)); // + < + 416 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)); // - == - 417 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)); // - > - 418 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)); // - < - 419 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) 420 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) 421 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) 422 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) 423 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) 424 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) 425 426 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)); // + == + 427 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)); // + > + 428 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)); // + < + 429 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)); // - == - 430 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)); // - > - 431 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)); // - < - 432 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) 433 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) 434 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) 435 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) 436 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) 437 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) 438 439 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)); // + == + 440 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)); // + > + 441 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)); // + < + 442 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)); // - == - 443 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)); // - > - 444 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)); // - < - 445 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) 446 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) 447 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) 448 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) 449 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) 450 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) 451 452 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)); // + == + 453 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)); // + > + 454 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)); // + < + 455 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)); // - == - 456 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)); // - > - 457 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)); // - < - 458 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) 459 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) 460 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) 461 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) 462 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) 463 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) 464 465 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)); // + == + 466 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)); // + > + 467 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)); // + < + 468 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)); // - == - 469 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)); // - > - 470 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)); // - < - 471 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) 472 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) 473 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) 474 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) 475 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) 476 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) 477 478 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)); // + == + 479 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)); // + > + 480 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)); // + < + 481 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)); // - == - 482 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)); // - > - 483 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)); // - < - 484 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) 485 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) 486 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) 487 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) 488 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) 489 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) 490 491 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)); // + == + 492 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)); // + > + 493 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)); // + < + 494 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)); // - == - 495 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)); // - > - 496 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)); // - < - 497 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) 498 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) 499 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) 500 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) 501 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) 502 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) 503 504 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)); // + == + 505 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)); // + > + 506 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)); // + < + 507 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)); // - == - 508 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)); // - > - 509 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)); // - < - 510 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) 511 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) 512 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) 513 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) 514 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) 515 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) 516 517 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)); 518 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)); 519 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)); 520 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)); 521 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)); 522 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)); 378 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)); // + == + 379 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)); // + > + 380 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)); // + < + 381 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)); // - == - 382 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)); // - > - 383 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)); // - < - 384 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) 385 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) 386 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) 387 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) 388 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) 389 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) 390 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)); // + == + 391 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)); // + > + 392 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)); // + < + 393 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)); // - == - 394 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)); // - > - 395 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)); // - < - 396 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) 397 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) 398 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) 399 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) 400 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) 401 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) 402 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)); // + == + 403 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)); // + > + 404 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)); // + < + 405 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)); // - == - 406 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)); // - > - 407 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)); // - < - 408 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) 409 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) 410 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) 411 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) 412 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) 413 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) 414 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)); // + == + 415 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)); // + > + 416 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)); // + < + 417 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)); // - == - 418 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)); // - > - 419 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)); // - < - 420 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) 421 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) 422 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) 423 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) 424 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) 425 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) 426 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)); // + == + 427 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)); // + > + 428 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)); // + < + 429 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)); // - == - 430 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)); // - > - 431 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)); // - < - 432 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) 433 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) 434 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) 435 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) 436 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) 437 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) 438 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)); // + == + 439 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)); // + > + 440 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)); // + < + 441 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)); // - == - 442 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)); // - > - 443 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)); // - < - 444 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) 445 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) 446 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) 447 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) 448 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) 449 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) 450 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)); // + == + 451 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)); // + > + 452 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)); // + < + 453 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)); // - == - 454 transaction_in.push_back(execute_transaction(_param,0,0,0,234,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - 455 transaction_in.push_back(execute_transaction(_param,0,0,0,235,OPERATION_TEST_L_SFGES ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - 456 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) 457 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) 458 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) 459 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) 460 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) 461 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) 462 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)); // + == + 463 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)); // + > + 464 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)); // + < + 465 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)); // - == - 466 transaction_in.push_back(execute_transaction(_param,0,0,0,254,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - > - 467 transaction_in.push_back(execute_transaction(_param,0,0,0,255,OPERATION_TEST_L_SFGTS ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - < - 468 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) 469 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) 470 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) 471 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) 472 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) 473 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) 474 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)); // + == + 475 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)); // + > + 476 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)); // + < + 477 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)); // - == - 478 transaction_in.push_back(execute_transaction(_param,0,0,0,274,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - 479 transaction_in.push_back(execute_transaction(_param,0,0,0,275,OPERATION_TEST_L_SFLES ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - 480 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) 481 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) 482 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) 483 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) 484 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) 485 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) 486 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)); // + == + 487 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)); // + > + 488 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)); // + < + 489 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)); // - == - 490 transaction_in.push_back(execute_transaction(_param,0,0,0,294,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbabe,0xdeadbeef,0 ,0,63,0x0 ,1,15,0 ,EXCEPTION_NONE ,0)); // - > - 491 transaction_in.push_back(execute_transaction(_param,0,0,0,295,OPERATION_TEST_L_SFLTS ,TYPE_TEST,0,0 ,0xdeadbeef,0xdeadbabe,0 ,0,63,0x0 ,1,15,FLAG_F ,EXCEPTION_NONE ,0)); // - < - 492 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) 493 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) 494 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) 495 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) 496 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) 497 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) 498 499 transaction_in.push_back(execute_transaction(_param,0,0,0,400,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_ICACHE<<11, 3,0xdeadbeef,0 ,0,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_NOT_COMPLETE,0,(GROUP_ICACHE<<11)| 3)); 500 transaction_in.push_back(execute_transaction(_param,0,0,0,401,OPERATION_SPECIAL_L_MTSPR ,TYPE_SPECIAL,1,GROUP_ICACHE<<11, 5,0xdeadbeef,0 ,0,63,0xdeadbeef,0, 0,0 ,EXCEPTION_ALU_SPR_ACCESS_NOT_COMPLETE,0,(GROUP_ICACHE<<11)| 5)); 501 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)); 502 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)); 503 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)); 504 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)); 523 505 524 506 if (_param->_nb_ooo_engine > 1) 525 507 { 526 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));527 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));528 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));508 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)); 509 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)); 510 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)); 529 511 } 530 512 // TEST MAC Unit 531 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));532 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));533 534 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));535 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));536 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));537 538 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));539 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));540 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));541 542 543 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));544 545 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));546 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));547 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));548 549 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));550 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));551 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));513 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)); 514 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)); 515 516 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)); 517 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)); 518 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)); 519 520 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)); 521 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)); 522 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)); 523 524 525 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)); 526 527 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)); 528 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)); 529 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)); 530 531 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)); 532 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)); 533 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)); 552 534 553 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));554 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));555 556 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));557 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));558 559 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));560 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));561 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));562 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));563 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));564 565 566 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));567 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));568 569 570 571 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));572 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));573 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));574 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));575 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));576 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));577 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));578 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));579 580 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));581 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));582 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));583 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));584 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));585 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));586 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));587 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));588 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));589 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));590 591 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));592 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));593 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));594 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));595 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));596 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));597 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));598 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));599 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));535 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)); 536 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)); 537 538 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)); 539 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)); 540 541 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)); 542 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)); 543 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)); 544 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)); 545 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)); 546 547 548 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)); 549 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)); 550 551 552 553 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)); 554 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)); 555 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)); 556 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)); 557 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)); 558 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)); 559 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)); 560 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)); 561 562 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)); 563 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)); 564 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)); 565 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)); 566 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)); 567 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)); 568 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)); 569 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)); 570 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)); 571 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)); 572 573 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)); 574 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)); 575 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)); 576 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)); 577 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)); 578 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)); 579 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)); 580 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)); 581 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)); 600 582 601 583 LABEL("Reset"); … … 666 648 TEST(Tcontrol_t , out_EXECUTE_OUT_NO_SEQUENCE .read(), transaction_out.front()._no_sequence ); 667 649 668 switch (transaction_out.front()._operation) 650 651 bool just_do_it = true; 652 if ((transaction_out.front()._type == TYPE_SPECIAL) and 653 (transaction_out.front()._operation == OPERATION_SPECIAL_L_MFSPR)) 669 654 { 670 case OPERATION_ALU_L_MFSPR : 671 { 672 TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), out_EXECUTE_OUT_EXCEPTION.read() == EXCEPTION_ALU_NONE); 673 if (out_EXECUTE_OUT_WRITE_RD .read()) 655 just_do_it = false; 656 TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), out_EXECUTE_OUT_EXCEPTION.read() == EXCEPTION_ALU_NONE); 657 if (out_EXECUTE_OUT_WRITE_RD .read()) 658 TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); 659 TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); 660 break; 661 } 662 663 if ((transaction_out.front()._type == TYPE_SPECIAL) and 664 (transaction_out.front()._operation == OPERATION_SPECIAL_L_MTSPR)) 665 { 666 just_do_it = false; 667 TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd ); 668 TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); 669 TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); 670 break; 671 } 672 673 if (just_do_it) 674 { 675 TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd ); 676 if (transaction_out.front()._write_rd) 674 677 TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd ); 678 if (transaction_out.front()._write_re) 679 TEST(Tspecial_data_t , out_EXECUTE_OUT_DATA_RE .read(), transaction_out.front()._data_re ); 680 if (transaction_out.front()._no_sequence) 675 681 TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address ); 676 break;677 }678 case OPERATION_ALU_L_MTSPR :679 {680 TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd );681 TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd );682 TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address );683 break;684 }685 default :686 {687 TEST(Tcontrol_t , out_EXECUTE_OUT_WRITE_RD .read(), transaction_out.front()._write_rd );688 if (transaction_out.front()._write_rd)689 TEST(Tgeneral_data_t , out_EXECUTE_OUT_DATA_RD .read(), transaction_out.front()._data_rd );690 if (transaction_out.front()._write_re)691 TEST(Tspecial_data_t , out_EXECUTE_OUT_DATA_RE .read(), transaction_out.front()._data_re );692 if (transaction_out.front()._no_sequence)693 TEST(Tgeneral_data_t , out_EXECUTE_OUT_ADDRESS .read(), transaction_out.front()._address );694 }695 682 } 683 696 684 transaction_out.pop_front(); 697 685 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h
r75 r76 127 127 private : execute_register_t **** _execute_register; 128 128 private : execute_param_t * _execute_param; 129 private : function_execute_t 129 private : function_execute_t *** _function_execute; 130 130 #endif 131 131 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h
r72 r76 38 38 public : const uint32_t _nb_operation ; 39 39 public : const uint32_t _nb_type ; 40 public : const execute_timing_t* _timing ;40 public : execute_timing_t ** _timing ; 41 41 public : morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (uint32_t); 42 42 … … 68 68 uint32_t nb_operation , 69 69 uint32_t nb_type , 70 execute_timing_t 70 execute_timing_t** timing , 71 71 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)); 72 72 public : Parameters (Parameters & param) ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Types.h
r72 r76 75 75 public : const Tgeneral_data_t _mask_data; 76 76 public : const Tgeneral_data_t _mask_shift; 77 public : const execute_timing_t* _timing;77 public : execute_timing_t ** _timing; 78 78 79 public : execute_param_t (const uint32_t 80 const execute_timing_t* timing):79 public : execute_param_t (const uint32_t size_data, 80 execute_timing_t ** timing): 81 81 _size_data (size_data), 82 82 _mask_data (gen_mask<Tgeneral_data_t> (size_data)), 83 _mask_shift(gen_mask<Tgeneral_data_t> (log2(size_data))), 84 _timing (timing) 83 _mask_shift(gen_mask<Tgeneral_data_t> (log2(size_data))) 85 84 { 85 _timing = timing; 86 86 }; 87 87 public : ~execute_param_t (void) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp
r75 r76 153 153 } 154 154 155 _function_execute = new function_execute_t * [MAX_OPERATION];155 _function_execute = new function_execute_t ** [MAX_TYPE]; 156 156 157 157 // Initialisation 158 for (uint32_t i=0; i<MAX_OPERATION; i++) 159 _function_execute [i] = &(operation_unimplemented); 160 161 if (_param->_timing[OPERATION_ALU_L_ADD ]._latence > 0) _function_execute[OPERATION_ALU_L_ADD ] = &(operation_l_add ); 162 if (_param->_timing[OPERATION_ALU_L_ADDC ]._latence > 0) _function_execute[OPERATION_ALU_L_ADDC ] = &(operation_l_addc ); 163 if (_param->_timing[OPERATION_ALU_L_SUB ]._latence > 0) _function_execute[OPERATION_ALU_L_SUB ] = &(operation_l_sub ); 164 // if (_param->_timing[OPERATION_ALU_L_MUL ]._latence > 0) _function_execute[OPERATION_ALU_L_MUL ] = &(operation_l_mul ); 165 // if (_param->_timing[OPERATION_ALU_L_MULU ]._latence > 0) _function_execute[OPERATION_ALU_L_MULU ] = &(operation_l_mulu ); 166 // if (_param->_timing[OPERATION_ALU_L_DIV ]._latence > 0) _function_execute[OPERATION_ALU_L_DIV ] = &(operation_l_div ); 167 // if (_param->_timing[OPERATION_ALU_L_DIVU ]._latence > 0) _function_execute[OPERATION_ALU_L_DIVU ] = &(operation_l_divu ); 168 if (_param->_timing[OPERATION_ALU_L_AND ]._latence > 0) _function_execute[OPERATION_ALU_L_AND ] = &(operation_l_and ); 169 if (_param->_timing[OPERATION_ALU_L_OR ]._latence > 0) _function_execute[OPERATION_ALU_L_OR ] = &(operation_l_or ); 170 if (_param->_timing[OPERATION_ALU_L_XOR ]._latence > 0) _function_execute[OPERATION_ALU_L_XOR ] = &(operation_l_xor ); 171 if (_param->_timing[OPERATION_ALU_L_TEST_F ]._latence > 0) _function_execute[OPERATION_ALU_L_TEST_F ] = &(operation_l_test_f ); 172 if (_param->_timing[OPERATION_ALU_L_TEST_NF ]._latence > 0) _function_execute[OPERATION_ALU_L_TEST_NF ] = &(operation_l_test_nf ); 173 if (_param->_timing[OPERATION_ALU_L_JALR ]._latence > 0) _function_execute[OPERATION_ALU_L_JALR ] = &(operation_l_jalr ); 174 if (_param->_timing[OPERATION_ALU_L_SLL ]._latence > 0) _function_execute[OPERATION_ALU_L_SLL ] = &(operation_l_sll ); 175 if (_param->_timing[OPERATION_ALU_L_SRA ]._latence > 0) _function_execute[OPERATION_ALU_L_SRA ] = &(operation_l_sra ); 176 if (_param->_timing[OPERATION_ALU_L_SRL ]._latence > 0) _function_execute[OPERATION_ALU_L_SRL ] = &(operation_l_srl ); 177 if (_param->_timing[OPERATION_ALU_L_ROR ]._latence > 0) _function_execute[OPERATION_ALU_L_ROR ] = &(operation_l_ror ); 178 if (_param->_timing[OPERATION_ALU_L_MOVHI ]._latence > 0) _function_execute[OPERATION_ALU_L_MOVHI ] = &(operation_l_movhi ); 179 if (_param->_timing[OPERATION_ALU_L_EXTEND_S]._latence > 0) _function_execute[OPERATION_ALU_L_EXTEND_S] = &(operation_l_extend_s); 180 if (_param->_timing[OPERATION_ALU_L_EXTEND_Z]._latence > 0) _function_execute[OPERATION_ALU_L_EXTEND_Z] = &(operation_l_extend_z); 181 if (_param->_timing[OPERATION_ALU_L_CMOV ]._latence > 0) _function_execute[OPERATION_ALU_L_CMOV ] = &(operation_l_cmov ); 182 if (_param->_timing[OPERATION_ALU_L_FF1 ]._latence > 0) _function_execute[OPERATION_ALU_L_FF1 ] = &(operation_l_ff1 ); 183 if (_param->_timing[OPERATION_ALU_L_FL1 ]._latence > 0) _function_execute[OPERATION_ALU_L_FL1 ] = &(operation_l_fl1 ); 184 if (_param->_timing[OPERATION_ALU_L_MFSPR ]._latence > 0) _function_execute[OPERATION_ALU_L_MFSPR ] = &(operation_l_mfspr ); 185 if (_param->_timing[OPERATION_ALU_L_MTSPR ]._latence > 0) _function_execute[OPERATION_ALU_L_MTSPR ] = &(operation_l_mtspr ); 186 if (_param->_timing[OPERATION_ALU_L_SFEQ ]._latence > 0) _function_execute[OPERATION_ALU_L_SFEQ ] = &(operation_l_sfeq ); 187 if (_param->_timing[OPERATION_ALU_L_SFNE ]._latence > 0) _function_execute[OPERATION_ALU_L_SFNE ] = &(operation_l_sfne ); 188 if (_param->_timing[OPERATION_ALU_L_SFGEU ]._latence > 0) _function_execute[OPERATION_ALU_L_SFGEU ] = &(operation_l_sfgeu ); 189 if (_param->_timing[OPERATION_ALU_L_SFGTU ]._latence > 0) _function_execute[OPERATION_ALU_L_SFGTU ] = &(operation_l_sfgtu ); 190 if (_param->_timing[OPERATION_ALU_L_SFLEU ]._latence > 0) _function_execute[OPERATION_ALU_L_SFLEU ] = &(operation_l_sfleu ); 191 if (_param->_timing[OPERATION_ALU_L_SFLTU ]._latence > 0) _function_execute[OPERATION_ALU_L_SFLTU ] = &(operation_l_sfltu ); 192 if (_param->_timing[OPERATION_ALU_L_SFGES ]._latence > 0) _function_execute[OPERATION_ALU_L_SFGES ] = &(operation_l_sfges ); 193 if (_param->_timing[OPERATION_ALU_L_SFGTS ]._latence > 0) _function_execute[OPERATION_ALU_L_SFGTS ] = &(operation_l_sfgts ); 194 if (_param->_timing[OPERATION_ALU_L_SFLES ]._latence > 0) _function_execute[OPERATION_ALU_L_SFLES ] = &(operation_l_sfles ); 195 if (_param->_timing[OPERATION_ALU_L_SFLTS ]._latence > 0) _function_execute[OPERATION_ALU_L_SFLTS ] = &(operation_l_sflts ); 196 if (_param->_timing[OPERATION_ALU_L_MAC ]._latence > 0) _function_execute[OPERATION_ALU_L_MAC ] = &(operation_l_mac ); 197 if (_param->_timing[OPERATION_ALU_L_MACRC ]._latence > 0) _function_execute[OPERATION_ALU_L_MACRC ] = &(operation_l_macrc ); 198 if (_param->_timing[OPERATION_ALU_L_MSB ]._latence > 0) _function_execute[OPERATION_ALU_L_MSB ] = &(operation_l_msb ); 158 for (uint32_t i=0; i<MAX_TYPE; i++) 159 { 160 _function_execute [i] = new function_execute_t * [MAX_OPERATION]; 161 162 for (uint32_t j=0; j<MAX_OPERATION; j++) 163 _function_execute [i][j] = &(operation_unimplemented); 164 } 165 166 if (_param->_timing[TYPE_ALU ][OPERATION_ALU_L_ADD ]._latence > 0) 167 _function_execute[TYPE_ALU ][OPERATION_ALU_L_ADD ] = &(operation_l_add ); 168 if (_param->_timing[TYPE_ALU ][OPERATION_ALU_L_ADDC ]._latence > 0) 169 _function_execute[TYPE_ALU ][OPERATION_ALU_L_ADDC ] = &(operation_l_addc ); 170 // if (_param->_timing[TYPE_ALU ][OPERATION_ALU_L_SUB ]._latence > 0) 171 // _function_execute[TYPE_ALU ][OPERATION_ALU_L_SUB ] = &(operation_l_sub ); 172 if (_param->_timing[TYPE_ALU ][OPERATION_ALU_L_AND ]._latence > 0) 173 _function_execute[TYPE_ALU ][OPERATION_ALU_L_AND ] = &(operation_l_and ); 174 if (_param->_timing[TYPE_ALU ][OPERATION_ALU_L_OR ]._latence > 0) 175 _function_execute[TYPE_ALU ][OPERATION_ALU_L_OR ] = &(operation_l_or ); 176 if (_param->_timing[TYPE_ALU ][OPERATION_ALU_L_XOR ]._latence > 0) 177 _function_execute[TYPE_ALU ][OPERATION_ALU_L_XOR ] = &(operation_l_xor ); 178 if (_param->_timing[TYPE_SHIFT ][OPERATION_SHIFT_L_SLL ]._latence > 0) 179 _function_execute[TYPE_SHIFT ][OPERATION_SHIFT_L_SLL ] = &(operation_l_sll ); 180 if (_param->_timing[TYPE_SHIFT ][OPERATION_SHIFT_L_SRA ]._latence > 0) 181 _function_execute[TYPE_SHIFT ][OPERATION_SHIFT_L_SRA ] = &(operation_l_sra ); 182 if (_param->_timing[TYPE_SHIFT ][OPERATION_SHIFT_L_SRL ]._latence > 0) 183 _function_execute[TYPE_SHIFT ][OPERATION_SHIFT_L_SRL ] = &(operation_l_srl ); 184 if (_param->_timing[TYPE_SHIFT ][OPERATION_SHIFT_L_ROR ]._latence > 0) 185 _function_execute[TYPE_SHIFT ][OPERATION_SHIFT_L_ROR ] = &(operation_l_ror ); 186 if (_param->_timing[TYPE_MOVE ][OPERATION_MOVE_L_MOVHI ]._latence > 0) 187 _function_execute[TYPE_MOVE ][OPERATION_MOVE_L_MOVHI ] = &(operation_l_movhi ); 188 if (_param->_timing[TYPE_MOVE ][OPERATION_MOVE_L_CMOV ]._latence > 0) 189 _function_execute[TYPE_MOVE ][OPERATION_MOVE_L_CMOV ] = &(operation_l_cmov ); 190 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFGEU ]._latence > 0) 191 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFGEU ] = &(operation_l_sfgeu ); 192 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFGTU ]._latence > 0) 193 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFGTU ] = &(operation_l_sfgtu ); 194 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFLEU ]._latence > 0) 195 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFLEU ] = &(operation_l_sfleu ); 196 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFLTU ]._latence > 0) 197 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFLTU ] = &(operation_l_sfltu ); 198 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFGES ]._latence > 0) 199 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFGES ] = &(operation_l_sfges ); 200 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFGTS ]._latence > 0) 201 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFGTS ] = &(operation_l_sfgts ); 202 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFLES ]._latence > 0) 203 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFLES ] = &(operation_l_sfles ); 204 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFLTS ]._latence > 0) 205 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFLTS ] = &(operation_l_sflts ); 206 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFEQ ]._latence > 0) 207 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFEQ ] = &(operation_l_sfeq ); 208 if (_param->_timing[TYPE_TEST ][OPERATION_TEST_L_SFNE ]._latence > 0) 209 _function_execute[TYPE_TEST ][OPERATION_TEST_L_SFNE ] = &(operation_l_sfne ); 210 // if (_param->_timing[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_MUL ]._latence > 0) 211 // _function_execute[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_MUL ] = &(operation_l_mul ); 212 // if (_param->_timing[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_MULU ]._latence > 0) 213 // _function_execute[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_MULU ] = &(operation_l_mulu ); 214 // if (_param->_timing[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_DIV ]._latence > 0) 215 // _function_execute[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_DIV ] = &(operation_l_div ); 216 // if (_param->_timing[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_DIVU ]._latence > 0) 217 // _function_execute[TYPE_MUL_DIV][OPERATION_MUL_DIV_L_DIVU ] = &(operation_l_divu ); 218 if (_param->_timing[TYPE_EXTEND ][OPERATION_EXTEND_L_EXTEND_S ]._latence > 0) 219 _function_execute[TYPE_EXTEND ][OPERATION_EXTEND_L_EXTEND_S ] = &(operation_l_extend_s); 220 if (_param->_timing[TYPE_EXTEND ][OPERATION_EXTEND_L_EXTEND_Z ]._latence > 0) 221 _function_execute[TYPE_EXTEND ][OPERATION_EXTEND_L_EXTEND_Z ] = &(operation_l_extend_z); 222 if (_param->_timing[TYPE_FIND ][OPERATION_FIND_L_FF1 ]._latence > 0) 223 _function_execute[TYPE_FIND ][OPERATION_FIND_L_FF1 ] = &(operation_l_ff1 ); 224 if (_param->_timing[TYPE_FIND ][OPERATION_FIND_L_FL1 ]._latence > 0) 225 _function_execute[TYPE_FIND ][OPERATION_FIND_L_FL1 ] = &(operation_l_fl1 ); 226 if (_param->_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MFSPR ]._latence > 0) 227 _function_execute[TYPE_SPECIAL][OPERATION_SPECIAL_L_MFSPR ] = &(operation_l_mfspr ); 228 if (_param->_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MTSPR ]._latence > 0) 229 _function_execute[TYPE_SPECIAL][OPERATION_SPECIAL_L_MTSPR ] = &(operation_l_mtspr ); 230 if (_param->_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC ]._latence > 0) 231 _function_execute[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC ] = &(operation_l_mac ); 232 if (_param->_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC ]._latence > 0) 233 _function_execute[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC ] = &(operation_l_macrc ); 234 if (_param->_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB ]._latence > 0) 235 _function_execute[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB ] = &(operation_l_msb ); 236 if (_param->_timing[TYPE_BRANCH ][OPERATION_BRANCH_L_TEST_F ]._latence > 0) 237 _function_execute[TYPE_BRANCH ][OPERATION_BRANCH_L_TEST_F ] = &(operation_l_test_f ); 238 if (_param->_timing[TYPE_BRANCH ][OPERATION_BRANCH_L_TEST_NF ]._latence > 0) 239 _function_execute[TYPE_BRANCH ][OPERATION_BRANCH_L_TEST_NF ] = &(operation_l_test_nf ); 240 if (_param->_timing[TYPE_BRANCH ][OPERATION_BRANCH_L_JALR ]._latence > 0) 241 _function_execute[TYPE_BRANCH ][OPERATION_BRANCH_L_JALR ] = &(operation_l_jalr ); 242 199 243 200 244 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_deallocation.cpp
r72 r76 78 78 delete _execute_param; 79 79 delete _execute_operation; 80 delete 80 delete [] _function_execute; 81 81 82 82 delete _component; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp
r73 r76 62 62 reg_BUSY = true; 63 63 64 Tcontext_t context_id = (_param->_have_port_context_id )?PORT_READ(in_EXECUTE_IN_CONTEXT_ID ):0; 65 Tcontext_t front_end_id = (_param->_have_port_front_end_id )?PORT_READ(in_EXECUTE_IN_FRONT_END_ID ):0; 66 Tcontext_t ooo_engine_id = (_param->_have_port_ooo_engine_id)?PORT_READ(in_EXECUTE_IN_OOO_ENGINE_ID):0; 67 Tcontext_t packet_id = (_param->_have_port_packet_id )?PORT_READ(in_EXECUTE_IN_PACKET_ID ):0; 68 Toperation_t operation = PORT_READ(in_EXECUTE_IN_OPERATION); 69 64 Tcontext_t context_id = (_param->_have_port_context_id )?PORT_READ(in_EXECUTE_IN_CONTEXT_ID ):0; 65 Tcontext_t front_end_id = (_param->_have_port_front_end_id )?PORT_READ(in_EXECUTE_IN_FRONT_END_ID ):0; 66 Tcontext_t ooo_engine_id = (_param->_have_port_ooo_engine_id)?PORT_READ(in_EXECUTE_IN_OOO_ENGINE_ID):0; 67 Tcontext_t packet_id = (_param->_have_port_packet_id )?PORT_READ(in_EXECUTE_IN_PACKET_ID ):0; 68 Toperation_t operation = PORT_READ(in_EXECUTE_IN_OPERATION); 69 Ttype_t type = PORT_READ(in_EXECUTE_IN_TYPE); 70 70 71 _execute_operation->_context_id = context_id ; 71 72 _execute_operation->_front_end_id = front_end_id ; … … 73 74 _execute_operation->_packet_id = packet_id ; 74 75 _execute_operation->_operation = operation ; 75 _execute_operation->_type = PORT_READ(in_EXECUTE_IN_TYPE );76 _execute_operation->_type = type ; 76 77 _execute_operation->_has_immediat = PORT_READ(in_EXECUTE_IN_HAS_IMMEDIAT); 77 78 _execute_operation->_immediat = PORT_READ(in_EXECUTE_IN_IMMEDIAT ); … … 93 94 94 95 // Test if operation is a custom 95 if ((operation == OPERATION_CUSTOM_L_1) or 96 (operation == OPERATION_CUSTOM_L_2) or 97 (operation == OPERATION_CUSTOM_L_3) or 98 (operation == OPERATION_CUSTOM_L_4) or 99 (operation == OPERATION_CUSTOM_L_5) or 100 (operation == OPERATION_CUSTOM_L_6) or 101 (operation == OPERATION_CUSTOM_L_7) or 102 (operation == OPERATION_CUSTOM_L_8)) 96 if (type == TYPE_CUSTOM) 103 97 { 104 98 uint32_t num_thread = get_num_thread(context_id ,_param->_size_context_id, … … 109 103 } 110 104 else 111 (*(_function_execute[ operation])) (_execute_operation, execute_register, _execute_param);105 (*(_function_execute[type][operation])) (_execute_operation, execute_register, _execute_param); 112 106 113 107 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Operation.cpp
r72 r76 52 52 53 53 // Result 54 op->_timing = param->_timing[op->_ operation];54 op->_timing = param->_timing[op->_type][op->_operation]; 55 55 op->_data_rd = gpr3; 56 56 op->_data_re = 0; … … 78 78 79 79 // Result 80 op->_timing = param->_timing[op->_ operation];80 op->_timing = param->_timing[op->_type][op->_operation]; 81 81 op->_data_rd = gpr3; 82 82 op->_data_re = 0; … … 102 102 103 103 // Result 104 op->_timing = param->_timing[op->_ operation];104 op->_timing = param->_timing[op->_type][op->_operation]; 105 105 op->_data_rd = gpr3; 106 106 op->_data_re = 0; … … 123 123 124 124 // Result 125 op->_timing = param->_timing[op->_ operation];125 op->_timing = param->_timing[op->_type][op->_operation]; 126 126 op->_data_rd = gpr3; 127 127 //op->_data_re = 0; … … 142 142 143 143 // Result 144 op->_timing = param->_timing[op->_ operation];144 op->_timing = param->_timing[op->_type][op->_operation]; 145 145 op->_data_rd = gpr3; 146 146 //op->_data_re = 0; … … 161 161 162 162 // Result 163 op->_timing = param->_timing[op->_ operation];163 op->_timing = param->_timing[op->_type][op->_operation]; 164 164 op->_data_rd = gpr3; 165 165 //op->_data_re = 0; … … 179 179 180 180 // Result 181 op->_timing = param->_timing[op->_ operation];181 op->_timing = param->_timing[op->_type][op->_operation]; 182 182 op->_data_rd = gpr2; 183 183 //op->_data_re = 0; … … 200 200 201 201 // Result 202 op->_timing = param->_timing[op->_ operation];202 op->_timing = param->_timing[op->_type][op->_operation]; 203 203 op->_data_rd = gpr3; 204 204 //op->_data_re = 0; … … 218 218 219 219 // Result 220 op->_timing = param->_timing[op->_ operation];220 op->_timing = param->_timing[op->_type][op->_operation]; 221 221 //op->_data_rd = 0; 222 222 //op->_data_re = 0; … … 236 236 237 237 // Result 238 op->_timing = param->_timing[op->_ operation];238 op->_timing = param->_timing[op->_type][op->_operation]; 239 239 //op->_data_rd = 0; 240 240 //op->_data_re = 0; … … 258 258 259 259 // Result 260 op->_timing = param->_timing[op->_ operation];260 op->_timing = param->_timing[op->_type][op->_operation]; 261 261 op->_data_rd = imm; 262 262 //op->_data_re = 0; … … 277 277 278 278 // Result 279 op->_timing = param->_timing[op->_ operation];279 op->_timing = param->_timing[op->_type][op->_operation]; 280 280 op->_data_rd = gpr2; 281 281 //op->_data_re = 0; … … 296 296 297 297 // Result 298 op->_timing = param->_timing[op->_ operation];298 op->_timing = param->_timing[op->_type][op->_operation]; 299 299 op->_data_rd = gpr2; 300 300 //op->_data_re = 0; … … 315 315 316 316 // Result 317 op->_timing = param->_timing[op->_ operation];317 op->_timing = param->_timing[op->_type][op->_operation]; 318 318 op->_data_rd = gpr3; 319 319 //op->_data_re = 0; … … 334 334 335 335 // Result 336 op->_timing = param->_timing[op->_ operation];336 op->_timing = param->_timing[op->_type][op->_operation]; 337 337 op->_data_rd = gpr3; 338 338 //op->_data_re = 0; … … 353 353 354 354 // Result 355 op->_timing = param->_timing[op->_ operation];355 op->_timing = param->_timing[op->_type][op->_operation]; 356 356 op->_data_rd = gpr3; 357 357 //op->_data_re = 0; … … 372 372 373 373 // Result 374 op->_timing = param->_timing[op->_ operation];374 op->_timing = param->_timing[op->_type][op->_operation]; 375 375 op->_data_rd = gpr3; 376 376 //op->_data_re = 0; … … 392 392 393 393 // Result 394 op->_timing = param->_timing[op->_ operation];394 op->_timing = param->_timing[op->_type][op->_operation]; 395 395 op->_data_rd = (index==param->_size_data)?0:(index+1); 396 396 //op->_data_re = 0; … … 412 412 413 413 // Result 414 op->_timing = param->_timing[op->_ operation];414 op->_timing = param->_timing[op->_type][op->_operation]; 415 415 op->_data_rd = index; 416 416 //op->_data_re = 0; … … 432 432 433 433 // Result 434 op->_timing = param->_timing[op->_ operation];434 op->_timing = param->_timing[op->_type][op->_operation]; 435 435 //op->_data_rd = 0; 436 436 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 452 452 453 453 // Result 454 op->_timing = param->_timing[op->_ operation];454 op->_timing = param->_timing[op->_type][op->_operation]; 455 455 //op->_data_rd = 0; 456 456 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 472 472 473 473 // Result 474 op->_timing = param->_timing[op->_ operation];474 op->_timing = param->_timing[op->_type][op->_operation]; 475 475 //op->_data_rd = 0; 476 476 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 492 492 493 493 // Result 494 op->_timing = param->_timing[op->_ operation];494 op->_timing = param->_timing[op->_type][op->_operation]; 495 495 //op->_data_rd = 0; 496 496 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 512 512 513 513 // Result 514 op->_timing = param->_timing[op->_ operation];514 op->_timing = param->_timing[op->_type][op->_operation]; 515 515 //op->_data_rd = 0; 516 516 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 532 532 533 533 // Result 534 op->_timing = param->_timing[op->_ operation];534 op->_timing = param->_timing[op->_type][op->_operation]; 535 535 //op->_data_rd = 0; 536 536 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 566 566 567 567 // Result 568 op->_timing = param->_timing[op->_ operation];568 op->_timing = param->_timing[op->_type][op->_operation]; 569 569 //op->_data_rd = 0; 570 570 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 593 593 594 594 // Result 595 op->_timing = param->_timing[op->_ operation];595 op->_timing = param->_timing[op->_type][op->_operation]; 596 596 //op->_data_rd = 0; 597 597 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 620 620 621 621 // Result 622 op->_timing = param->_timing[op->_ operation];622 op->_timing = param->_timing[op->_type][op->_operation]; 623 623 //op->_data_rd = 0; 624 624 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 647 647 648 648 // Result 649 op->_timing = param->_timing[op->_ operation];649 op->_timing = param->_timing[op->_type][op->_operation]; 650 650 //op->_data_rd = 0; 651 651 op->_data_re = set_flag(op->_data_re,FLAG_F,f_out); … … 698 698 699 699 // Result 700 op->_timing = param->_timing[op->_ operation];700 op->_timing = param->_timing[op->_type][op->_operation]; 701 701 op->_data_rd = gpr2; // data_rb 702 702 //op->_data_re = 0; … … 749 749 750 750 // Result 751 op->_timing = param->_timing[op->_ operation];751 op->_timing = param->_timing[op->_type][op->_operation]; 752 752 op->_write_rd = (exception == EXCEPTION_ALU_NONE); 753 753 op->_data_rd = gpr2; // spr … … 770 770 771 771 // Result 772 op->_timing = param->_timing[op->_ operation];772 op->_timing = param->_timing[op->_type][op->_operation]; 773 773 op->_data_rd = gpr; 774 774 //op->_data_re = 0; … … 794 794 795 795 // Result 796 op->_timing = param->_timing[op->_ operation];796 op->_timing = param->_timing[op->_type][op->_operation]; 797 797 //op->_data_rd = 0; 798 798 //op->_data_re = 0; … … 818 818 819 819 // Result 820 op->_timing = param->_timing[op->_ operation];820 op->_timing = param->_timing[op->_type][op->_operation]; 821 821 //op->_data_rd = 0; 822 822 //op->_data_re = 0; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp
r72 r76 30 30 uint32_t nb_operation , 31 31 uint32_t nb_type , 32 execute_timing_t 32 execute_timing_t** timing , 33 33 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)) : 34 34 _nb_context (nb_context ), … … 42 42 _nb_operation (nb_operation ), 43 43 _nb_type (nb_type ), 44 _timing (timing ),45 44 46 45 _size_context_id (log2(nb_context )), … … 58 57 _have_port_packet_id (_size_packet_id > 0), 59 58 60 _have_groupe_MAC ( ( _timing[OPERATION_ALU_L_MAC ]._latence > 0) or61 ( _timing[OPERATION_ALU_L_MACRC]._latence > 0) or62 ( _timing[OPERATION_ALU_L_MSB ]._latence > 0))59 _have_groupe_MAC ( (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC ]._latence > 0) or 60 (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC]._latence > 0) or 61 (timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB ]._latence > 0)) 63 62 { 64 63 log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin"); 65 64 65 _timing = timing; 66 66 _get_custom_information = get_custom_information; 67 67 68 68 test(); 69 69 70 log_printf(FUNC,Functionnal_unit,FUNCTION,"End"); 70 71 }; … … 83 84 _nb_operation (param._nb_operation ), 84 85 _nb_type (param._nb_type ), 85 _timing (param._timing ),86 86 87 87 _size_context_id (param._size_context_id ), … … 103 103 log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin"); 104 104 105 _timing = param._timing; 105 106 _get_custom_information = param._get_custom_information; 106 107 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.cpp
r72 r76 28 28 std::string msg = ""; 29 29 30 for (uint32_t i=0; i<MAX_OPERATION; i++) 31 if (_timing->_delay != _timing->_latence) 32 msg = " - For the operation '"+toString(i)+"', the delay and the latence must be equal."; 30 for (uint32_t i=0; i<MAX_TYPE; i++) 31 for (uint32_t j=0; j<MAX_OPERATION; j++) 32 if (_timing[i][j]._delay != _timing[i][j]._latence) 33 msg = " - For the type '"+toString(i)+"', and the operation '"+toString(j)+"', the delay and the latence must be equal."; 33 34 34 if (_have_groupe_MAC and ((_timing[ OPERATION_ALU_L_MAC ]._latence == 0) or35 (_timing[ OPERATION_ALU_L_MACRC]._latence == 0) or36 (_timing[ OPERATION_ALU_L_MSB ]._latence == 0)))35 if (_have_groupe_MAC and ((_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MAC ]._latence == 0) or 36 (_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MACRC]._latence == 0) or 37 (_timing[TYPE_SPECIAL][OPERATION_SPECIAL_L_MSB ]._latence == 0))) 37 38 msg = " - The functionnal unit implement a MAC unit, the latence to operation OPERATION_ALU_L_MAC, OPERATION_ALU_L_MACRC and OPERATION_ALU_L_MSB must be higher than 0."; 38 39 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h
r75 r76 96 96 public : SC_IN (Tpacket_t ) * in_MEMORY_IN_PACKET_ID ; 97 97 public : SC_IN (Toperation_t ) * in_MEMORY_IN_OPERATION ; 98 //public : SC_IN (Ttype_t ) * in_MEMORY_IN_TYPE ; 98 99 public : SC_IN (Tlsq_ptr_t ) * in_MEMORY_IN_STORE_QUEUE_PTR_WRITE; 99 public : SC_IN (Tlsq_ptr_t ) * in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE ;100 public : SC_IN (Tlsq_ptr_t ) * in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE ; 100 101 //public : SC_IN (Tcontrol_t ) * in_MEMORY_IN_HAS_IMMEDIAT; 101 102 public : SC_IN (Tgeneral_data_t ) * in_MEMORY_IN_IMMEDIAT ; // memory address -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config0.cfg
r66 r76 13 13 4 4 *2 # nb_gpr_write 14 14 2 2 *2 # nb_spr_write 15 4 4 *2 # size_store_queue 16 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config1.cfg
r68 r76 13 13 2 4 *2 # nb_gpr_write 14 14 2 4 *2 # nb_spr_write 15 4 4 *2 # size_store_queue 16 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config2.cfg
r68 r76 13 13 1 1 *2 # nb_gpr_write 14 14 1 1 *2 # nb_spr_write 15 4 4 *2 # size_store_queue 16 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config_min.cfg
r68 r76 13 13 1 1 *2 # nb_gpr_write 14 14 1 1 *2 # nb_spr_write 15 4 4 *2 # size_store_queue 16 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/main.cpp
r66 r76 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/include/test.h" 9 9 10 #define NB_PARAMS 1 310 #define NB_PARAMS 15 11 11 12 12 void usage (int argc, char * argv[]) … … 27 27 << " - nb_gpr_write (unsigned int)" << endl 28 28 << " - nb_spr_write (unsigned int)" << endl 29 << " - size_store_queue (unsigned int)" << endl 30 << " - size_load_queue (unsigned int)" << endl 29 31 << "" << endl; 30 32 … … 60 62 const uint32_t nb_gpr_write = atoi(argv[x++]); 61 63 const uint32_t nb_spr_write = atoi(argv[x++]); 64 const uint32_t size_store_queue = atoi(argv[x++]); 65 const uint32_t size_load_queue = atoi(argv[x++]); 62 66 63 67 try … … 77 81 ,nb_gpr_write 78 82 ,nb_spr_write 83 ,size_store_queue 84 ,size_load_queue 79 85 ); 80 86 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp
r68 r76 75 75 sc_signal<Toperation_t > * READ_QUEUE_IN_OPERATION = new sc_signal<Toperation_t > ("READ_QUEUE_IN_OPERATION "); 76 76 sc_signal<Ttype_t > * READ_QUEUE_IN_TYPE = new sc_signal<Ttype_t > ("READ_QUEUE_IN_TYPE "); 77 sc_signal<Tlsq_ptr_t > * READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> ("READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE"); 78 sc_signal<Tlsq_ptr_t > * READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> ("READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE "); 77 79 sc_signal<Tcontrol_t > * READ_QUEUE_IN_HAS_IMMEDIAT = new sc_signal<Tcontrol_t > ("READ_QUEUE_IN_HAS_IMMEDIAT"); 78 80 sc_signal<Tgeneral_data_t > * READ_QUEUE_IN_IMMEDIAT = new sc_signal<Tgeneral_data_t > ("READ_QUEUE_IN_IMMEDIAT "); … … 98 100 sc_signal<Toperation_t > * READ_QUEUE_OUT_OPERATION = new sc_signal<Toperation_t > ("READ_QUEUE_OUT_OPERATION "); 99 101 sc_signal<Ttype_t > * READ_QUEUE_OUT_TYPE = new sc_signal<Ttype_t > ("READ_QUEUE_OUT_TYPE "); 102 sc_signal<Tlsq_ptr_t > * READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> ("READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE"); 103 sc_signal<Tlsq_ptr_t > * READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> ("READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE "); 100 104 sc_signal<Tcontrol_t > * READ_QUEUE_OUT_HAS_IMMEDIAT= new sc_signal<Tcontrol_t > ("READ_QUEUE_OUT_HAS_IMMEDIAT"); 101 105 sc_signal<Tgeneral_data_t > * READ_QUEUE_OUT_IMMEDIAT = new sc_signal<Tgeneral_data_t > ("READ_QUEUE_OUT_IMMEDIAT "); … … 226 230 (*(_Read_queue-> in_READ_QUEUE_IN_OPERATION )) (*(READ_QUEUE_IN_OPERATION )); 227 231 (*(_Read_queue-> in_READ_QUEUE_IN_TYPE )) (*(READ_QUEUE_IN_TYPE )); 232 (*(_Read_queue-> in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE)) (*(READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE)); 233 (*(_Read_queue-> in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE )) (*(READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE )); 228 234 (*(_Read_queue-> in_READ_QUEUE_IN_HAS_IMMEDIAT )) (*(READ_QUEUE_IN_HAS_IMMEDIAT )); 229 235 (*(_Read_queue-> in_READ_QUEUE_IN_IMMEDIAT )) (*(READ_QUEUE_IN_IMMEDIAT )); … … 251 257 (*(_Read_queue->out_READ_QUEUE_OUT_OPERATION )) (*(READ_QUEUE_OUT_OPERATION )); 252 258 (*(_Read_queue->out_READ_QUEUE_OUT_TYPE )) (*(READ_QUEUE_OUT_TYPE )); 259 (*(_Read_queue->out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE)) (*(READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE)); 260 (*(_Read_queue->out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE )) (*(READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE )); 253 261 (*(_Read_queue->out_READ_QUEUE_OUT_HAS_IMMEDIAT )) (*(READ_QUEUE_OUT_HAS_IMMEDIAT )); 254 262 (*(_Read_queue->out_READ_QUEUE_OUT_IMMEDIAT )) (*(READ_QUEUE_OUT_IMMEDIAT )); 255 (*(_Read_queue->out_READ_QUEUE_OUT_READ_RA )) (*(READ_QUEUE_OUT_READ_RA ));263 // (*(_Read_queue->out_READ_QUEUE_OUT_READ_RA )) (*(READ_QUEUE_OUT_READ_RA )); 256 264 (*(_Read_queue->out_READ_QUEUE_OUT_NUM_REG_RA )) (*(READ_QUEUE_OUT_NUM_REG_RA )); 257 265 (*(_Read_queue->out_READ_QUEUE_OUT_DATA_RA_VAL )) (*(READ_QUEUE_OUT_DATA_RA_VAL )); 258 266 (*(_Read_queue->out_READ_QUEUE_OUT_DATA_RA )) (*(READ_QUEUE_OUT_DATA_RA )); 259 (*(_Read_queue->out_READ_QUEUE_OUT_READ_RB )) (*(READ_QUEUE_OUT_READ_RB ));267 // (*(_Read_queue->out_READ_QUEUE_OUT_READ_RB )) (*(READ_QUEUE_OUT_READ_RB )); 260 268 (*(_Read_queue->out_READ_QUEUE_OUT_NUM_REG_RB )) (*(READ_QUEUE_OUT_NUM_REG_RB )); 261 269 (*(_Read_queue->out_READ_QUEUE_OUT_DATA_RB_VAL )) (*(READ_QUEUE_OUT_DATA_RB_VAL )); 262 270 (*(_Read_queue->out_READ_QUEUE_OUT_DATA_RB )) (*(READ_QUEUE_OUT_DATA_RB )); 263 (*(_Read_queue->out_READ_QUEUE_OUT_READ_RC )) (*(READ_QUEUE_OUT_READ_RC ));271 // (*(_Read_queue->out_READ_QUEUE_OUT_READ_RC )) (*(READ_QUEUE_OUT_READ_RC )); 264 272 (*(_Read_queue->out_READ_QUEUE_OUT_NUM_REG_RC )) (*(READ_QUEUE_OUT_NUM_REG_RC )); 265 273 (*(_Read_queue->out_READ_QUEUE_OUT_DATA_RC_VAL )) (*(READ_QUEUE_OUT_DATA_RC_VAL )); … … 408 416 READ_QUEUE_IN_OPERATION ->write(0); 409 417 READ_QUEUE_IN_TYPE ->write(0); 418 READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE->write(0); 419 READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ->write(0); 410 420 READ_QUEUE_IN_HAS_IMMEDIAT->write(0); 411 421 READ_QUEUE_IN_IMMEDIAT ->write(0); … … 535 545 TEST(Tcontext_t ,READ_QUEUE_OUT_FRONT_END_ID ->read(),(3*ctxt)%_param->_nb_front_end); 536 546 537 TEST(Tcontrol_t ,READ_QUEUE_OUT_READ_RA ->read(),_read_ra [rob_id]);547 // TEST(Tcontrol_t ,READ_QUEUE_OUT_READ_RA ->read(),_read_ra [rob_id]); 538 548 TEST(Tgeneral_address_t,READ_QUEUE_OUT_NUM_REG_RA ->read(),_num_reg_ra [rob_id]); 539 TEST(Tcontrol_t ,READ_QUEUE_OUT_DATA_RA_VAL->read(),not READ_QUEUE_OUT_READ_RA->read()or _gpr_val [_num_reg_ra[rob_id]][ctxt]);540 if ( READ_QUEUE_OUT_READ_RA ->read()and549 TEST(Tcontrol_t ,READ_QUEUE_OUT_DATA_RA_VAL->read(),not _read_ra [rob_id] or _gpr_val [_num_reg_ra[rob_id]][ctxt]); 550 if (_read_ra [rob_id] and 541 551 READ_QUEUE_OUT_DATA_RA_VAL->read()) 542 552 TEST(Tgeneral_data_t ,READ_QUEUE_OUT_DATA_RA ->read(),_gpr [_num_reg_ra[rob_id]][ctxt]); 543 TEST(Tcontrol_t ,READ_QUEUE_OUT_READ_RB ->read(),_read_rb [rob_id]);553 // TEST(Tcontrol_t ,READ_QUEUE_OUT_READ_RB ->read(),_read_rb [rob_id]); 544 554 TEST(Tgeneral_address_t,READ_QUEUE_OUT_NUM_REG_RB ->read(),_num_reg_rb [rob_id]); 545 TEST(Tcontrol_t ,READ_QUEUE_OUT_DATA_RB_VAL->read(),not READ_QUEUE_OUT_READ_RB->read()or _gpr_val [_num_reg_rb[rob_id]][ctxt]);546 if ( READ_QUEUE_OUT_READ_RB ->read()and555 TEST(Tcontrol_t ,READ_QUEUE_OUT_DATA_RB_VAL->read(),not _read_rb [rob_id] or _gpr_val [_num_reg_rb[rob_id]][ctxt]); 556 if (_read_rb [rob_id] and 547 557 READ_QUEUE_OUT_DATA_RB_VAL->read()) 548 558 TEST(Tgeneral_data_t ,READ_QUEUE_OUT_DATA_RB ->read(),_gpr [_num_reg_rb[rob_id]][ctxt]); 549 TEST(Tcontrol_t ,READ_QUEUE_OUT_READ_RC ->read(),_read_rc [rob_id]);559 // TEST(Tcontrol_t ,READ_QUEUE_OUT_READ_RC ->read(),_read_rc [rob_id]); 550 560 TEST(Tspecial_address_t,READ_QUEUE_OUT_NUM_REG_RC ->read(),_num_reg_rc [rob_id]); 551 TEST(Tcontrol_t ,READ_QUEUE_OUT_DATA_RC_VAL->read(),not READ_QUEUE_OUT_READ_RC->read()or _spr_val [_num_reg_rc[rob_id]][ctxt]);552 if ( READ_QUEUE_OUT_READ_RC ->read()and561 TEST(Tcontrol_t ,READ_QUEUE_OUT_DATA_RC_VAL->read(),not _read_rc [rob_id] or _spr_val [_num_reg_rc[rob_id]][ctxt]); 562 if (_read_rc [rob_id] and 553 563 READ_QUEUE_OUT_DATA_RC_VAL->read()) 554 564 TEST(Tspecial_data_t ,READ_QUEUE_OUT_DATA_RC ->read(),_spr [_num_reg_rc[rob_id]][ctxt]); … … 581 591 delete READ_QUEUE_IN_OPERATION ; 582 592 delete READ_QUEUE_IN_TYPE ; 593 delete READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE; 594 delete READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ; 583 595 delete READ_QUEUE_IN_HAS_IMMEDIAT ; 584 596 delete READ_QUEUE_IN_IMMEDIAT ; … … 606 618 delete READ_QUEUE_OUT_OPERATION ; 607 619 delete READ_QUEUE_OUT_TYPE ; 620 delete READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE; 621 delete READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ; 608 622 delete READ_QUEUE_OUT_HAS_IMMEDIAT; 609 623 delete READ_QUEUE_OUT_IMMEDIAT ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h
r75 r76 41 41 public : const uint32_t _nb_gpr_write ; 42 42 public : const uint32_t _nb_spr_write ; 43 public : const uint32_t _size_store_queue ; 44 public : const uint32_t _size_load_queue ; 43 45 44 46 public : const uint32_t _nb_gpr_read ; … … 73 75 uint32_t nb_type , 74 76 uint32_t nb_gpr_write , 75 uint32_t nb_spr_write ); 77 uint32_t nb_spr_write , 78 uint32_t size_store_queue , 79 uint32_t size_load_queue ); 80 76 81 public : Parameters (Parameters & param) ; 77 82 public : ~Parameters () ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h
r75 r76 5 5 * $Id$ 6 6 * 7 * [ 7 * [ Description ] 8 8 * 9 9 */ … … 45 45 public : Toperation_t _operation ; 46 46 public : Ttype_t _type ; 47 public : Tlsq_ptr_t _store_queue_ptr_write; 48 public : Tlsq_ptr_t _load_queue_ptr_write; 47 49 public : Tcontrol_t _has_immediat ; 48 50 public : Tgeneral_data_t _immediat ; … … 61 63 morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Tread_queue_entry_t & x) 62 64 { 63 output_stream << " * _context_id : " << toString(x._context_id ) << std::endl 64 << " * _front_end_id : " << toString(x._front_end_id ) << std::endl 65 << " * _ooo_engine_id : " << toString(x._ooo_engine_id) << std::endl 66 << " * _rob_id : " << toString(x._rob_id ) << std::endl 67 << " * _operation : " << toString(x._operation ) << std::endl 68 << " * _type : " << toString(x._type ) << std::endl 69 << " * _has_immediat : " << toString(x._has_immediat ) << std::endl 70 << " * _immediat : " << toString(x._immediat ) << std::endl 71 << " * _read_ra : " << toString(x._read_ra ) << std::endl 72 << " * _num_reg_ra : " << toString(x._num_reg_ra ) << std::endl 73 << " * _read_rb : " << toString(x._read_rb ) << std::endl 74 << " * _num_reg_rb : " << toString(x._num_reg_rb ) << std::endl 75 << " * _read_rc : " << toString(x._read_rc ) << std::endl 76 << " * _num_reg_rc : " << toString(x._num_reg_rc ) << std::endl 77 << " * _write_rd : " << toString(x._write_rd ) << std::endl 78 << " * _num_reg_rd : " << toString(x._num_reg_rd ) << std::endl 79 << " * _write_re : " << toString(x._write_re ) << std::endl 80 << " * _num_reg_re : " << toString(x._num_reg_re ) << std::endl; 65 output_stream << " * _context_id : " << toString(x._context_id ) << std::endl 66 << " * _front_end_id : " << toString(x._front_end_id ) << std::endl 67 << " * _ooo_engine_id : " << toString(x._ooo_engine_id) << std::endl 68 << " * _rob_id : " << toString(x._rob_id ) << std::endl 69 << " * _operation : " << toString(x._operation ) << std::endl 70 << " * _type : " << toString(x._type ) << std::endl 71 << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl 72 << " * _load_queue_ptr_write : " << toString(x._load_queue_ptr_write ) << std::endl 73 << " * _has_immediat : " << toString(x._has_immediat ) << std::endl 74 << " * _immediat : " << toString(x._immediat ) << std::endl 75 << " * _read_ra : " << toString(x._read_ra ) << std::endl 76 << " * _num_reg_ra : " << toString(x._num_reg_ra ) << std::endl 77 << " * _read_rb : " << toString(x._read_rb ) << std::endl 78 << " * _num_reg_rb : " << toString(x._num_reg_rb ) << std::endl 79 << " * _read_rc : " << toString(x._read_rc ) << std::endl 80 << " * _num_reg_rc : " << toString(x._num_reg_rc ) << std::endl 81 << " * _write_rd : " << toString(x._write_rd ) << std::endl 82 << " * _num_reg_rd : " << toString(x._num_reg_rd ) << std::endl 83 << " * _write_re : " << toString(x._write_re ) << std::endl 84 << " * _num_reg_re : " << toString(x._num_reg_re ) << std::endl; 81 85 82 86 return output_stream; … … 93 97 public : Toperation_t _operation ; 94 98 public : Ttype_t _type ; 99 public : Tlsq_ptr_t _store_queue_ptr_write; 100 public : Tlsq_ptr_t _load_queue_ptr_write; 95 101 public : Tcontrol_t _has_immediat ; 96 102 public : Tgeneral_data_t _immediat ; … … 127 133 _operation = x._operation ; 128 134 _type = x._type ; 135 _store_queue_ptr_write = x._store_queue_ptr_write; 136 _load_queue_ptr_write = x._load_queue_ptr_write ; 129 137 _has_immediat = x._has_immediat ; 130 138 _immediat = x._immediat ; … … 157 165 morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Tread_queue_head_entry_t & x) 158 166 { 159 output_stream << " * _context_id : " << x._context_id << std::endl 160 << " * _front_end_id : " << x._front_end_id << std::endl 161 << " * _ooo_engine_id : " << x._ooo_engine_id<< std::endl 162 << " * _rob_id : " << x._rob_id << std::endl 163 << " * _operation : " << x._operation << std::endl 164 << " * _type : " << x._type << std::endl 165 << " * _has_immediat : " << x._has_immediat << std::endl 166 << " * _immediat : " << x._immediat << std::endl 167 << " * _read_ra : " << x._read_ra << std::endl 168 << " * _read_ra_val : " << x._read_ra_val << std::endl 169 << " * _num_reg_ra : " << x._num_reg_ra << std::endl 170 << " * _data_ra_val : " << x._data_ra_val << std::endl 171 << " * _data_ra : " << x._data_ra << std::endl 172 << " * _read_rb : " << x._read_rb << std::endl 173 << " * _read_rb_val : " << x._read_rb_val << std::endl 174 << " * _num_reg_rb : " << x._num_reg_rb << std::endl 175 << " * _data_rb_val : " << x._data_rb_val << std::endl 176 << " * _data_rb : " << x._data_rb << std::endl 177 << " * _read_rc : " << x._read_rc << std::endl 178 << " * _read_rc_val : " << x._read_rc_val << std::endl 179 << " * _num_reg_rc : " << x._num_reg_rc << std::endl 180 << " * _data_rc_val : " << x._data_rc_val << std::endl 181 << " * _data_rc : " << x._data_rc << std::endl 182 << " * _write_rd : " << x._write_rd << std::endl 183 << " * _num_reg_rd : " << x._num_reg_rd << std::endl 184 << " * _write_re : " << x._write_re << std::endl 185 << " * _num_reg_re : " << x._num_reg_re << std::endl; 167 output_stream << " * _context_id : " << x._context_id << std::endl 168 << " * _front_end_id : " << x._front_end_id << std::endl 169 << " * _ooo_engine_id : " << x._ooo_engine_id<< std::endl 170 << " * _rob_id : " << x._rob_id << std::endl 171 << " * _operation : " << x._operation << std::endl 172 << " * _type : " << x._type << std::endl 173 << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl 174 << " * _load_queue_ptr_write : " << toString(x._load_queue_ptr_write ) << std::endl 175 << " * _has_immediat : " << x._has_immediat << std::endl 176 << " * _immediat : " << x._immediat << std::endl 177 << " * _read_ra : " << x._read_ra << std::endl 178 << " * _read_ra_val : " << x._read_ra_val << std::endl 179 << " * _num_reg_ra : " << x._num_reg_ra << std::endl 180 << " * _data_ra_val : " << x._data_ra_val << std::endl 181 << " * _data_ra : " << x._data_ra << std::endl 182 << " * _read_rb : " << x._read_rb << std::endl 183 << " * _read_rb_val : " << x._read_rb_val << std::endl 184 << " * _num_reg_rb : " << x._num_reg_rb << std::endl 185 << " * _data_rb_val : " << x._data_rb_val << std::endl 186 << " * _data_rb : " << x._data_rb << std::endl 187 << " * _read_rc : " << x._read_rc << std::endl 188 << " * _read_rc_val : " << x._read_rc_val << std::endl 189 << " * _num_reg_rc : " << x._num_reg_rc << std::endl 190 << " * _data_rc_val : " << x._data_rc_val << std::endl 191 << " * _data_rc : " << x._data_rc << std::endl 192 << " * _write_rd : " << x._write_rd << std::endl 193 << " * _num_reg_rd : " << x._num_reg_rd << std::endl 194 << " * _write_re : " << x._write_re << std::endl 195 << " * _num_reg_re : " << x._num_reg_re << std::endl; 186 196 187 197 return output_stream; … … 194 204 #endif 195 205 { 196 // -----[ 206 // -----[ fields ]---------------------------------------------------- 197 207 // Parameters 198 208 protected : const std::string _name; … … 207 217 208 218 #ifdef SYSTEMC 209 // ~~~~~[ 219 // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 220 // Interface 211 221 public : SC_CLOCK * in_CLOCK ; 212 222 public : SC_IN (Tcontrol_t ) * in_NRESET ; 213 223 214 // ~~~~~[ Interface "read_queue_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 215 216 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_VAL ; 217 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_IN_ACK ; 218 public : SC_IN (Tcontext_t ) * in_READ_QUEUE_IN_CONTEXT_ID ; 219 public : SC_IN (Tcontext_t ) * in_READ_QUEUE_IN_FRONT_END_ID ; 220 public : SC_IN (Tcontext_t ) * in_READ_QUEUE_IN_OOO_ENGINE_ID; 221 public : SC_IN (Tpacket_t ) * in_READ_QUEUE_IN_ROB_ID ; 222 public : SC_IN (Toperation_t ) * in_READ_QUEUE_IN_OPERATION ; 223 public : SC_IN (Ttype_t ) * in_READ_QUEUE_IN_TYPE ; 224 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_HAS_IMMEDIAT ; 225 public : SC_IN (Tgeneral_data_t ) * in_READ_QUEUE_IN_IMMEDIAT ; 226 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_READ_RA ; 227 public : SC_IN (Tgeneral_address_t) * in_READ_QUEUE_IN_NUM_REG_RA ; 228 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_READ_RB ; 229 public : SC_IN (Tgeneral_address_t) * in_READ_QUEUE_IN_NUM_REG_RB ; 230 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_READ_RC ; 231 public : SC_IN (Tspecial_address_t) * in_READ_QUEUE_IN_NUM_REG_RC ; 232 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_WRITE_RD ; 233 public : SC_IN (Tgeneral_address_t) * in_READ_QUEUE_IN_NUM_REG_RD ; 234 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_WRITE_RE ; 235 public : SC_IN (Tspecial_address_t) * in_READ_QUEUE_IN_NUM_REG_RE ; 236 237 // ~~~~~[ Interface "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 239 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_VAL ; 240 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_OUT_ACK ; 241 public : SC_OUT(Tcontext_t ) * out_READ_QUEUE_OUT_CONTEXT_ID ; 242 public : SC_OUT(Tcontext_t ) * out_READ_QUEUE_OUT_FRONT_END_ID ; 243 public : SC_OUT(Tcontext_t ) * out_READ_QUEUE_OUT_OOO_ENGINE_ID; 244 public : SC_OUT(Tpacket_t ) * out_READ_QUEUE_OUT_ROB_ID ; 245 public : SC_OUT(Toperation_t ) * out_READ_QUEUE_OUT_OPERATION ; 246 public : SC_OUT(Ttype_t ) * out_READ_QUEUE_OUT_TYPE ; 247 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_HAS_IMMEDIAT; 248 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_IMMEDIAT ; 249 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RA ; 250 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RA ; 251 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RA_VAL ; 252 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_DATA_RA ; 253 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RB ; 254 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RB ; 255 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RB_VAL ; 256 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_DATA_RB ; 257 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RC ; 258 public : SC_OUT(Tspecial_address_t) * out_READ_QUEUE_OUT_NUM_REG_RC ; 259 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RC_VAL ; 260 public : SC_OUT(Tspecial_data_t ) * out_READ_QUEUE_OUT_DATA_RC ; 261 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_WRITE_RD ; 262 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RD ; 263 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_WRITE_RE ; 264 public : SC_OUT(Tspecial_address_t) * out_READ_QUEUE_OUT_NUM_REG_RE ; 265 266 // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 // ~~~~~[ Interface "read_queue_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 225 226 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_VAL ; 227 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_IN_ACK ; 228 public : SC_IN (Tcontext_t ) * in_READ_QUEUE_IN_CONTEXT_ID ; 229 public : SC_IN (Tcontext_t ) * in_READ_QUEUE_IN_FRONT_END_ID ; 230 public : SC_IN (Tcontext_t ) * in_READ_QUEUE_IN_OOO_ENGINE_ID ; 231 public : SC_IN (Tpacket_t ) * in_READ_QUEUE_IN_ROB_ID ; 232 public : SC_IN (Toperation_t ) * in_READ_QUEUE_IN_OPERATION ; 233 public : SC_IN (Ttype_t ) * in_READ_QUEUE_IN_TYPE ; 234 public : SC_IN (Tlsq_ptr_t ) * in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE; 235 public : SC_IN (Tlsq_ptr_t ) * in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ; 236 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_HAS_IMMEDIAT ; 237 public : SC_IN (Tgeneral_data_t ) * in_READ_QUEUE_IN_IMMEDIAT ; 238 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_READ_RA ; 239 public : SC_IN (Tgeneral_address_t) * in_READ_QUEUE_IN_NUM_REG_RA ; 240 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_READ_RB ; 241 public : SC_IN (Tgeneral_address_t) * in_READ_QUEUE_IN_NUM_REG_RB ; 242 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_READ_RC ; 243 public : SC_IN (Tspecial_address_t) * in_READ_QUEUE_IN_NUM_REG_RC ; 244 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_WRITE_RD ; 245 public : SC_IN (Tgeneral_address_t) * in_READ_QUEUE_IN_NUM_REG_RD ; 246 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_IN_WRITE_RE ; 247 public : SC_IN (Tspecial_address_t) * in_READ_QUEUE_IN_NUM_REG_RE ; 248 249 // ~~~~~[ Interface "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 251 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_VAL ; 252 public : SC_IN (Tcontrol_t ) * in_READ_QUEUE_OUT_ACK ; 253 public : SC_OUT(Tcontext_t ) * out_READ_QUEUE_OUT_CONTEXT_ID ; 254 public : SC_OUT(Tcontext_t ) * out_READ_QUEUE_OUT_FRONT_END_ID ; 255 public : SC_OUT(Tcontext_t ) * out_READ_QUEUE_OUT_OOO_ENGINE_ID ; 256 public : SC_OUT(Tpacket_t ) * out_READ_QUEUE_OUT_ROB_ID ; 257 public : SC_OUT(Toperation_t ) * out_READ_QUEUE_OUT_OPERATION ; 258 public : SC_OUT(Ttype_t ) * out_READ_QUEUE_OUT_TYPE ; 259 public : SC_OUT(Tlsq_ptr_t ) * out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE; 260 public : SC_OUT(Tlsq_ptr_t ) * out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ; 261 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_HAS_IMMEDIAT ; 262 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_IMMEDIAT ; 263 // public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RA ; 264 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RA ; 265 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RA_VAL ; 266 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_DATA_RA ; 267 // public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RB ; 268 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RB ; 269 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RB_VAL ; 270 public : SC_OUT(Tgeneral_data_t ) * out_READ_QUEUE_OUT_DATA_RB ; 271 // public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_READ_RC ; 272 public : SC_OUT(Tspecial_address_t) * out_READ_QUEUE_OUT_NUM_REG_RC ; 273 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_DATA_RC_VAL ; 274 public : SC_OUT(Tspecial_data_t ) * out_READ_QUEUE_OUT_DATA_RC ; 275 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_WRITE_RD ; 276 public : SC_OUT(Tgeneral_address_t) * out_READ_QUEUE_OUT_NUM_REG_RD ; 277 public : SC_OUT(Tcontrol_t ) * out_READ_QUEUE_OUT_WRITE_RE ; 278 public : SC_OUT(Tspecial_address_t) * out_READ_QUEUE_OUT_NUM_REG_RE ; 279 280 // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 267 281 268 282 public : SC_OUT(Tcontrol_t ) ** out_GPR_READ_VAL ; … … 273 287 public : SC_IN (Tcontrol_t ) ** in_GPR_READ_DATA_VAL ; 274 288 275 // ~~~~~[ 289 // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 276 290 277 291 public : SC_OUT(Tcontrol_t ) ** out_SPR_READ_VAL ; … … 282 296 public : SC_IN (Tcontrol_t ) ** in_SPR_READ_DATA_VAL ; 283 297 284 // ~~~~~[ 298 // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 299 286 300 public : SC_IN (Tcontrol_t ) ** in_GPR_WRITE_VAL ; … … 289 303 public : SC_IN (Tgeneral_data_t ) ** in_GPR_WRITE_DATA ; 290 304 291 // ~~~~~[ 305 // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 306 293 307 public : SC_IN (Tcontrol_t ) ** in_SPR_WRITE_VAL ; … … 296 310 public : SC_IN (Tspecial_data_t ) ** in_SPR_WRITE_DATA ; 297 311 298 // ~~~~~[ 299 300 // ~~~~~[ 312 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 313 314 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 301 315 protected : Tread_queue_head_entry_t * _queue_head; 302 316 protected : std::queue<Tread_queue_entry_t *> * _queue; 303 317 304 // ~~~~~[ 318 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 319 306 320 protected :Tcontrol_t internal_READ_QUEUE_OUT_VAL ; … … 317 331 #endif 318 332 319 // -----[ 333 // -----[ methods ]--------------------------------------------------- 320 334 321 335 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
r68 r76 30 30 uint32_t nb_type , 31 31 uint32_t nb_gpr_write , 32 uint32_t nb_spr_write ): 32 uint32_t nb_spr_write , 33 uint32_t size_store_queue , 34 uint32_t size_load_queue ): 33 35 _size_queue (size_queue ), 34 36 _nb_context (nb_context ), … … 44 46 _nb_gpr_write (nb_gpr_write ), 45 47 _nb_spr_write (nb_spr_write ), 48 _size_store_queue (size_store_queue ), 49 _size_load_queue (size_load_queue ), 46 50 47 51 _nb_gpr_read (2 ), … … 67 71 + _size_operation //_operation 68 72 + _size_type //_type 73 + log2(_size_store_queue)//_store_queue_ptr_write 74 + log2(_size_load_queue )//_load_queue_ptr_write 69 75 + 1 //_has_immediat 70 76 + _size_general_data //_immediat … … 102 108 _nb_gpr_write (param._nb_gpr_write ), 103 109 _nb_spr_write (param._nb_spr_write ), 110 _size_store_queue (param._size_store_queue ), 111 _size_load_queue (param._size_load_queue ), 104 112 105 113 _nb_gpr_read (param._nb_gpr_read ), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_print.cpp
r75 r76 39 39 xml.singleton_begin("nb_gpr_write "); xml.attribut("value",toString(_nb_gpr_write )); xml.singleton_end(); 40 40 xml.singleton_begin("nb_spr_write "); xml.attribut("value",toString(_nb_spr_write )); xml.singleton_end(); 41 xml.singleton_begin("size_store_queue "); xml.attribut("value",toString(_size_store_queue )); xml.singleton_end(); 42 xml.singleton_begin("size_load_queue "); xml.attribut("value",toString(_size_load_queue )); xml.singleton_end(); 43 41 44 xml.balise_close(); 42 45 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp
r75 r76 70 70 in_READ_QUEUE_IN_OPERATION = interface->set_signal_in <Toperation_t > ("operation" ,_param->_size_operation ); 71 71 in_READ_QUEUE_IN_TYPE = interface->set_signal_in <Ttype_t > ("type" ,_param->_size_type ); 72 in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write", log2(_param->_size_store_queue)); 73 in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write" , log2(_param->_size_load_queue )); 72 74 in_READ_QUEUE_IN_HAS_IMMEDIAT = interface->set_signal_in <Tcontrol_t > ("has_immediat",1 ); 73 75 in_READ_QUEUE_IN_IMMEDIAT = interface->set_signal_in <Tgeneral_data_t > ("immediat" ,_param->_size_general_data ); … … 107 109 out_READ_QUEUE_OUT_OPERATION = interface->set_signal_out <Toperation_t > ("operation" ,_param->_size_operation ); 108 110 out_READ_QUEUE_OUT_TYPE = interface->set_signal_out <Ttype_t > ("type" ,_param->_size_type ); 111 out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("store_queue_ptr_write", log2(_param->_size_store_queue)); 112 out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("load_queue_ptr_write" , log2(_param->_size_load_queue )); 109 113 out_READ_QUEUE_OUT_HAS_IMMEDIAT = interface->set_signal_out <Tcontrol_t > ("has_immediat",1 ); 110 114 out_READ_QUEUE_OUT_IMMEDIAT = interface->set_signal_out <Tgeneral_data_t > ("immediat" ,_param->_size_general_data ); 111 out_READ_QUEUE_OUT_READ_RA = interface->set_signal_out <Tcontrol_t > ("read_ra" ,1 );115 // out_READ_QUEUE_OUT_READ_RA = interface->set_signal_out <Tcontrol_t > ("read_ra" ,1 ); 112 116 out_READ_QUEUE_OUT_NUM_REG_RA = interface->set_signal_out <Tgeneral_address_t> ("num_reg_ra" ,_param->_size_general_register ); 113 117 out_READ_QUEUE_OUT_DATA_RA_VAL = interface->set_signal_out <Tcontrol_t > ("data_ra_val" ,1 ); 114 118 out_READ_QUEUE_OUT_DATA_RA = interface->set_signal_out <Tgeneral_data_t > ("data_ra" ,_param->_size_general_data ); 115 out_READ_QUEUE_OUT_READ_RB = interface->set_signal_out <Tcontrol_t > ("read_rb" ,1 );119 // out_READ_QUEUE_OUT_READ_RB = interface->set_signal_out <Tcontrol_t > ("read_rb" ,1 ); 116 120 out_READ_QUEUE_OUT_NUM_REG_RB = interface->set_signal_out <Tgeneral_address_t> ("num_reg_rb" ,_param->_size_general_register ); 117 121 out_READ_QUEUE_OUT_DATA_RB_VAL = interface->set_signal_out <Tcontrol_t > ("data_rb_val" ,1 ); 118 122 out_READ_QUEUE_OUT_DATA_RB = interface->set_signal_out <Tgeneral_data_t > ("data_rb" ,_param->_size_general_data ); 119 out_READ_QUEUE_OUT_READ_RC = interface->set_signal_out <Tcontrol_t > ("read_rc" ,1 );123 // out_READ_QUEUE_OUT_READ_RC = interface->set_signal_out <Tcontrol_t > ("read_rc" ,1 ); 120 124 out_READ_QUEUE_OUT_NUM_REG_RC = interface->set_signal_out <Tspecial_address_t> ("num_reg_rc" ,_param->_size_special_register ); 121 125 out_READ_QUEUE_OUT_DATA_RC_VAL = interface->set_signal_out <Tcontrol_t > ("data_rc_val" ,1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp
r68 r76 41 41 delete in_READ_QUEUE_IN_OPERATION ; 42 42 delete in_READ_QUEUE_IN_TYPE ; 43 delete in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE; 44 delete in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ; 43 45 delete in_READ_QUEUE_IN_HAS_IMMEDIAT ; 44 46 delete in_READ_QUEUE_IN_IMMEDIAT ; … … 68 70 delete out_READ_QUEUE_OUT_OPERATION ; 69 71 delete out_READ_QUEUE_OUT_TYPE ; 72 delete out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE; 73 delete out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ; 70 74 delete out_READ_QUEUE_OUT_HAS_IMMEDIAT ; 71 75 delete out_READ_QUEUE_OUT_IMMEDIAT ; 72 delete out_READ_QUEUE_OUT_READ_RA ;76 // delete out_READ_QUEUE_OUT_READ_RA ; 73 77 delete out_READ_QUEUE_OUT_NUM_REG_RA ; 74 78 delete out_READ_QUEUE_OUT_DATA_RA_VAL ; 75 79 delete out_READ_QUEUE_OUT_DATA_RA ; 76 delete out_READ_QUEUE_OUT_READ_RB ;80 // delete out_READ_QUEUE_OUT_READ_RB ; 77 81 delete out_READ_QUEUE_OUT_NUM_REG_RB ; 78 82 delete out_READ_QUEUE_OUT_DATA_RB_VAL ; 79 83 delete out_READ_QUEUE_OUT_DATA_RB ; 80 delete out_READ_QUEUE_OUT_READ_RC ;84 // delete out_READ_QUEUE_OUT_READ_RC ; 81 85 delete out_READ_QUEUE_OUT_NUM_REG_RC ; 82 86 delete out_READ_QUEUE_OUT_DATA_RC_VAL ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp
r68 r76 43 43 PORT_WRITE (out_READ_QUEUE_OUT_OPERATION , _queue_head->_operation ); 44 44 PORT_WRITE (out_READ_QUEUE_OUT_TYPE , _queue_head->_type ); 45 PORT_WRITE (out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE, _queue_head->_store_queue_ptr_write); 46 PORT_WRITE (out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE , _queue_head->_load_queue_ptr_write ); 45 47 PORT_WRITE (out_READ_QUEUE_OUT_HAS_IMMEDIAT, _queue_head->_has_immediat); 46 48 PORT_WRITE (out_READ_QUEUE_OUT_IMMEDIAT , _queue_head->_immediat ); 47 PORT_WRITE (out_READ_QUEUE_OUT_READ_RA , _queue_head->_read_ra );49 // PORT_WRITE (out_READ_QUEUE_OUT_READ_RA , _queue_head->_read_ra ); 48 50 PORT_WRITE (out_READ_QUEUE_OUT_NUM_REG_RA , _queue_head->_num_reg_ra ); 49 51 // PORT_WRITE (out_READ_QUEUE_OUT_DATA_RA_VAL , _queue_head->_data_ra_val ); // in genMealy_gpr 50 52 // PORT_WRITE (out_READ_QUEUE_OUT_DATA_RA , _queue_head->_data_ra ); // in genMealy_gpr 51 PORT_WRITE (out_READ_QUEUE_OUT_READ_RB , _queue_head->_read_rb );53 // PORT_WRITE (out_READ_QUEUE_OUT_READ_RB , _queue_head->_read_rb ); 52 54 PORT_WRITE (out_READ_QUEUE_OUT_NUM_REG_RB , _queue_head->_num_reg_rb ); 53 55 // PORT_WRITE (out_READ_QUEUE_OUT_DATA_RB_VAL , _queue_head->_data_rb_val ); // in genMealy_gpr 54 56 // PORT_WRITE (out_READ_QUEUE_OUT_DATA_RB , _queue_head->_data_rb ); // in genMealy_gpr 55 PORT_WRITE (out_READ_QUEUE_OUT_READ_RC , _queue_head->_read_rc );57 // PORT_WRITE (out_READ_QUEUE_OUT_READ_RC , _queue_head->_read_rc ); 56 58 PORT_WRITE (out_READ_QUEUE_OUT_NUM_REG_RC , _queue_head->_num_reg_rc ); 57 59 // PORT_WRITE (out_READ_QUEUE_OUT_DATA_RC_VAL , _queue_head->_data_rc_val ); // in genMealy_spr -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
r75 r76 66 66 entry->_operation = PORT_READ(in_READ_QUEUE_IN_OPERATION ); 67 67 entry->_type = PORT_READ(in_READ_QUEUE_IN_TYPE ); 68 entry->_store_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE); 69 entry->_load_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ); 68 70 entry->_has_immediat = PORT_READ(in_READ_QUEUE_IN_HAS_IMMEDIAT); 69 71 entry->_immediat = PORT_READ(in_READ_QUEUE_IN_IMMEDIAT ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg
r75 r76 16 16 0 0 *2 # nb_bypass_write 17 17 1 4 *2 # nb_bypass_memory 18 4 4 *2 # size_store_queue 19 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_write.cfg
r75 r76 16 16 1 4 *2 # nb_bypass_write 17 17 0 0 *2 # nb_bypass_memory 18 4 4 *2 # size_store_queue 19 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg
r75 r76 16 16 0 0 *2 # nb_bypass_write 17 17 0 0 *2 # nb_bypass_memory 18 4 4 *2 # size_store_queue 19 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg
r75 r76 16 16 0 0 *2 # nb_bypass_write 17 17 0 0 *2 # nb_bypass_memory 18 4 4 *2 # size_store_queue 19 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_write.cfg
r75 r76 16 16 0 0 *2 # nb_bypass_write 17 17 0 0 *2 # nb_bypass_memory 18 4 4 *2 # size_store_queue 19 4 4 *2 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/main.cpp
r69 r76 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/include/test.h" 9 9 10 #define NB_PARAMS 1 610 #define NB_PARAMS 18 11 11 12 12 void usage (int argc, char * argv[]) … … 30 30 << " - nb_bypass_write (unsigned int)" << endl 31 31 << " - nb_bypass_memory (unsigned int)" << endl 32 << " - size_store_queue (unsigned int)" << endl 33 << " - size_load_queue (unsigned int)" << endl 32 34 << "" << endl; 33 35 … … 66 68 const uint32_t nb_bypass_write = atoi(argv[x++]); 67 69 const uint32_t nb_bypass_memory = atoi(argv[x++]); 70 const uint32_t size_store_queue = atoi(argv[x++]); 71 const uint32_t size_load_queue = atoi(argv[x++]); 68 72 69 73 try … … 86 90 ,nb_bypass_write 87 91 ,nb_bypass_memory 92 ,size_store_queue 93 ,size_load_queue 88 94 ); 89 95 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp
r75 r76 73 73 sc_signal<Toperation_t > * in_INSERT_OPERATION = new sc_signal<Toperation_t >; 74 74 sc_signal<Ttype_t > * in_INSERT_TYPE = new sc_signal<Ttype_t >; 75 sc_signal<Tlsq_ptr_t > * in_INSERT_STORE_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t>; 76 sc_signal<Tlsq_ptr_t > * in_INSERT_LOAD_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t>; 75 77 sc_signal<Tcontrol_t > * in_INSERT_HAS_IMMEDIAT = new sc_signal<Tcontrol_t >; 76 78 sc_signal<Tgeneral_data_t > * in_INSERT_IMMEDIAT = new sc_signal<Tgeneral_data_t >; … … 100 102 sc_signal<Toperation_t > ** out_RETIRE_OPERATION = new sc_signal<Toperation_t > * [_param->_nb_inst_retire]; 101 103 sc_signal<Ttype_t > ** out_RETIRE_TYPE = new sc_signal<Ttype_t > * [_param->_nb_inst_retire]; 104 sc_signal<Tlsq_ptr_t > ** out_RETIRE_STORE_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> * [_param->_nb_inst_retire]; 105 sc_signal<Tlsq_ptr_t > ** out_RETIRE_LOAD_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> * [_param->_nb_inst_retire]; 102 106 sc_signal<Tcontrol_t > ** out_RETIRE_HAS_IMMEDIAT = new sc_signal<Tcontrol_t > * [_param->_nb_inst_retire]; 103 107 sc_signal<Tgeneral_data_t > ** out_RETIRE_IMMEDIAT = new sc_signal<Tgeneral_data_t > * [_param->_nb_inst_retire]; … … 120 124 out_RETIRE_OPERATION [i] = new sc_signal<Toperation_t > (rename.c_str()); 121 125 out_RETIRE_TYPE [i] = new sc_signal<Ttype_t > (rename.c_str()); 126 out_RETIRE_STORE_QUEUE_PTR_WRITE [i] = new sc_signal<Tlsq_ptr_t> (rename.c_str()); 127 out_RETIRE_LOAD_QUEUE_PTR_WRITE [i] = new sc_signal<Tlsq_ptr_t> (rename.c_str()); 122 128 out_RETIRE_HAS_IMMEDIAT [i] = new sc_signal<Tcontrol_t > (rename.c_str()); 123 129 out_RETIRE_IMMEDIAT [i] = new sc_signal<Tgeneral_data_t > (rename.c_str()); … … 209 215 (*(_Reservation_station-> in_INSERT_OPERATION )) (*( in_INSERT_OPERATION )); 210 216 (*(_Reservation_station-> in_INSERT_TYPE )) (*( in_INSERT_TYPE )); 217 (*(_Reservation_station-> in_INSERT_STORE_QUEUE_PTR_WRITE)) (*( in_INSERT_STORE_QUEUE_PTR_WRITE)); 218 (*(_Reservation_station-> in_INSERT_LOAD_QUEUE_PTR_WRITE )) (*( in_INSERT_LOAD_QUEUE_PTR_WRITE )); 211 219 (*(_Reservation_station-> in_INSERT_HAS_IMMEDIAT )) (*( in_INSERT_HAS_IMMEDIAT )); 212 220 (*(_Reservation_station-> in_INSERT_IMMEDIAT )) (*( in_INSERT_IMMEDIAT )); … … 242 250 (*(_Reservation_station->out_RETIRE_OPERATION [i])) (*(out_RETIRE_OPERATION [i])); 243 251 (*(_Reservation_station->out_RETIRE_TYPE [i])) (*(out_RETIRE_TYPE [i])); 252 (*(_Reservation_station->out_RETIRE_STORE_QUEUE_PTR_WRITE [i])) (*(out_RETIRE_STORE_QUEUE_PTR_WRITE [i])); 253 (*(_Reservation_station->out_RETIRE_LOAD_QUEUE_PTR_WRITE [i])) (*(out_RETIRE_LOAD_QUEUE_PTR_WRITE [i])); 244 254 (*(_Reservation_station->out_RETIRE_HAS_IMMEDIAT [i])) (*(out_RETIRE_HAS_IMMEDIAT [i])); 245 255 (*(_Reservation_station->out_RETIRE_IMMEDIAT [i])) (*(out_RETIRE_IMMEDIAT [i])); … … 435 445 in_INSERT_OPERATION ->write(0); 436 446 in_INSERT_TYPE ->write(0); 447 in_INSERT_STORE_QUEUE_PTR_WRITE->write(0); 448 in_INSERT_LOAD_QUEUE_PTR_WRITE ->write(0); 437 449 in_INSERT_HAS_IMMEDIAT->write(0); 438 450 in_INSERT_IMMEDIAT ->write(0); … … 679 691 delete in_INSERT_OPERATION ; 680 692 delete in_INSERT_TYPE ; 693 delete in_INSERT_STORE_QUEUE_PTR_WRITE; 694 delete in_INSERT_LOAD_QUEUE_PTR_WRITE ; 681 695 delete in_INSERT_HAS_IMMEDIAT; 682 696 delete in_INSERT_IMMEDIAT ; … … 710 724 delete [] out_RETIRE_OPERATION ; 711 725 delete [] out_RETIRE_TYPE ; 726 delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE; 727 delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ; 712 728 delete [] out_RETIRE_HAS_IMMEDIAT; 713 729 delete [] out_RETIRE_IMMEDIAT ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h
r75 r76 42 42 public : const uint32_t _nb_bypass_write ;//if nb_bypass=0, then bypass is desactivated 43 43 public : const uint32_t _nb_bypass_memory ;//if nb_bypass=0, then bypass is desactivated 44 public : const uint32_t _size_store_queue ; 45 public : const uint32_t _size_load_queue ; 46 44 47 /* 45 48 public : const bool _have_immediat ; … … 80 83 uint32_t nb_spr_write , 81 84 uint32_t nb_bypass_write , 82 uint32_t nb_bypass_memory ); 85 uint32_t nb_bypass_memory , 86 uint32_t size_store_queue , 87 uint32_t size_load_queue ); 83 88 84 89 public : Parameters (Parameters & param) ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h
r75 r76 5 5 * $Id$ 6 6 * 7 * [ 7 * [ Description ] 8 8 * 9 9 */ … … 47 47 public : Toperation_t _operation ; 48 48 public : Ttype_t _type ; 49 public : Tlsq_ptr_t _store_queue_ptr_write; 50 public : Tlsq_ptr_t _load_queue_ptr_write ; 49 51 public : Tcontrol_t _has_immediat; 50 52 public : Tgeneral_data_t _immediat ; … … 69 71 morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Treservation_station_entry_t & x) 70 72 { 71 output_stream << " * _context_id : " << toString(x._context_id ) << std::endl 72 << " * _front_end_id : " << toString(x._front_end_id ) << std::endl 73 << " * _ooo_engine_id : " << toString(x._ooo_engine_id ) << std::endl 74 << " * _rob_id : " << toString(x._rob_id ) << std::endl 75 << " * _operation : " << toString(x._operation ) << std::endl 76 << " * _type : " << toString(x._type ) << std::endl 77 << " * _has_immediat : " << toString(x._has_immediat ) << std::endl 78 << " * _immediat : " << toString(x._immediat ) << std::endl 79 // << " * _read_ra : " << toString(x._read_ra ) << std::endl 80 << " * _num_reg_ra : " << toString(x._num_reg_ra ) << std::endl 81 << " * _data_ra_val : " << toString(x._data_ra_val ) << std::endl 82 << " * _data_ra : " << toString(x._data_ra ) << std::endl 83 // << " * _read_rb : " << toString(x._read_rb ) << std::endl 84 << " * _num_reg_rb : " << toString(x._num_reg_rb ) << std::endl 85 << " * _data_rb_val : " << toString(x._data_rb_val ) << std::endl 86 << " * _data_rb : " << toString(x._data_rb ) << std::endl 87 // << " * _read_rc : " << toString(x._read_rc ) << std::endl 88 << " * _num_reg_rc : " << toString(x._num_reg_rc ) << std::endl 89 << " * _data_rc_val : " << toString(x._data_rc_val ) << std::endl 90 << " * _data_rc : " << toString(x._data_rc ) << std::endl 91 << " * _write_rd : " << toString(x._write_rd ) << std::endl 92 << " * _num_reg_rd : " << toString(x._num_reg_rd ) << std::endl 93 << " * _write_re : " << toString(x._write_re ) << std::endl 94 << " * _num_reg_re : " << toString(x._num_reg_re ) << std::endl; 73 output_stream << " * _context_id : " << toString(x._context_id ) << std::endl 74 << " * _front_end_id : " << toString(x._front_end_id ) << std::endl 75 << " * _ooo_engine_id : " << toString(x._ooo_engine_id ) << std::endl 76 << " * _rob_id : " << toString(x._rob_id ) << std::endl 77 << " * _operation : " << toString(x._operation ) << std::endl 78 << " * _type : " << toString(x._type ) << std::endl 79 << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl 80 << " * _load_queue_ptr_write : " << toString(x._load_queue_ptr_write ) << std::endl 81 << " * _has_immediat : " << toString(x._has_immediat ) << std::endl 82 << " * _immediat : " << toString(x._immediat ) << std::endl 83 // << " * _read_ra : " << toString(x._read_ra ) << std::endl 84 << " * _num_reg_ra : " << toString(x._num_reg_ra ) << std::endl 85 << " * _data_ra_val : " << toString(x._data_ra_val ) << std::endl 86 << " * _data_ra : " << toString(x._data_ra ) << std::endl 87 // << " * _read_rb : " << toString(x._read_rb ) << std::endl 88 << " * _num_reg_rb : " << toString(x._num_reg_rb ) << std::endl 89 << " * _data_rb_val : " << toString(x._data_rb_val ) << std::endl 90 << " * _data_rb : " << toString(x._data_rb ) << std::endl 91 // << " * _read_rc : " << toString(x._read_rc ) << std::endl 92 << " * _num_reg_rc : " << toString(x._num_reg_rc ) << std::endl 93 << " * _data_rc_val : " << toString(x._data_rc_val ) << std::endl 94 << " * _data_rc : " << toString(x._data_rc ) << std::endl 95 << " * _write_rd : " << toString(x._write_rd ) << std::endl 96 << " * _num_reg_rd : " << toString(x._num_reg_rd ) << std::endl 97 << " * _write_re : " << toString(x._write_re ) << std::endl 98 << " * _num_reg_re : " << toString(x._num_reg_re ) << std::endl; 95 99 96 100 return output_stream; 97 101 } 98 99 102 }; 100 103 … … 104 107 #endif 105 108 { 106 // -----[ 109 // -----[ fields ]---------------------------------------------------- 107 110 // Parameters 108 111 protected : const std::string _name; … … 118 121 119 122 #ifdef SYSTEMC 120 // ~~~~~[ 123 // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 124 // Interface 122 125 public : SC_CLOCK * in_CLOCK ; 123 126 public : SC_IN (Tcontrol_t) * in_NRESET ; 124 127 125 // ~~~~~[ 128 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~ 126 129 public : SC_IN (Tcontrol_t ) * in_INSERT_VAL ; 127 130 public : SC_OUT(Tcontrol_t ) * out_INSERT_ACK ; … … 132 135 public : SC_IN (Toperation_t ) * in_INSERT_OPERATION ; 133 136 public : SC_IN (Ttype_t ) * in_INSERT_TYPE ; 137 public : SC_IN (Tlsq_ptr_t ) * in_INSERT_STORE_QUEUE_PTR_WRITE; 138 public : SC_IN (Tlsq_ptr_t ) * in_INSERT_LOAD_QUEUE_PTR_WRITE ; 134 139 public : SC_IN (Tcontrol_t ) * in_INSERT_HAS_IMMEDIAT ; 135 140 public : SC_IN (Tgeneral_data_t ) * in_INSERT_IMMEDIAT ; … … 151 156 public : SC_IN (Tspecial_address_t) * in_INSERT_NUM_REG_RE ; 152 157 153 // ~~~~~[ 158 // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~ 154 159 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_VAL ; 155 160 public : SC_IN (Tcontrol_t ) ** in_RETIRE_ACK ; … … 160 165 public : SC_OUT(Toperation_t ) ** out_RETIRE_OPERATION ; 161 166 public : SC_OUT(Ttype_t ) ** out_RETIRE_TYPE ; 167 public : SC_OUT(Tlsq_ptr_t ) ** out_RETIRE_STORE_QUEUE_PTR_WRITE; 168 public : SC_OUT(Tlsq_ptr_t ) ** out_RETIRE_LOAD_QUEUE_PTR_WRITE ; 162 169 public : SC_OUT(Tcontrol_t ) ** out_RETIRE_HAS_IMMEDIAT ; 163 170 public : SC_OUT(Tgeneral_data_t ) ** out_RETIRE_IMMEDIAT ; … … 170 177 public : SC_OUT(Tspecial_address_t) ** out_RETIRE_NUM_REG_RE ; 171 178 172 // ~~~~~[ 179 // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 173 180 174 181 public : SC_IN (Tcontrol_t ) ** in_GPR_WRITE_VAL ; // val and ack … … 177 184 public : SC_IN (Tgeneral_data_t ) ** in_GPR_WRITE_DATA ; 178 185 179 // ~~~~~[ 186 // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 180 187 181 188 public : SC_IN (Tcontrol_t ) ** in_SPR_WRITE_VAL ; // val and ack … … 184 191 public : SC_IN (Tspecial_data_t ) ** in_SPR_WRITE_DATA ; 185 192 186 // ~~~~~[ 193 // ~~~~~[ Interface "bypass_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 194 188 195 public : SC_IN (Tcontext_t ) ** in_BYPASS_WRITE_OOO_ENGINE_ID ; … … 194 201 public : SC_IN (Tspecial_data_t ) ** in_BYPASS_WRITE_SPR_DATA ; 195 202 196 // ~~~~~[ 203 // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 197 204 198 205 public : SC_IN (Tcontrol_t ) ** in_BYPASS_MEMORY_VAL ; … … 202 209 203 210 204 // ~~~~~[ 205 206 // ~~~~~[ 207 208 // ~~~~~[ 211 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 212 213 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 215 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 209 216 #ifdef SYSTEMC_VHDL_COMPATIBILITY 210 217 protected : bool * _queue_valid; … … 220 227 #endif 221 228 222 // -----[ 229 // -----[ methods ]--------------------------------------------------- 223 230 224 231 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp
r69 r76 35 35 uint32_t nb_spr_write , 36 36 uint32_t nb_bypass_write , 37 uint32_t nb_bypass_memory ): 37 uint32_t nb_bypass_memory , 38 uint32_t size_store_queue , 39 uint32_t size_load_queue ): 38 40 _size_queue (size_queue ), 39 41 _nb_inst_retire (nb_inst_retire ), … … 52 54 _nb_bypass_write (nb_bypass_write ), 53 55 _nb_bypass_memory (nb_bypass_memory ), 56 _size_store_queue (size_store_queue ), 57 _size_load_queue (size_load_queue ), 54 58 55 59 _size_context_id (static_cast<uint32_t>(log2(_nb_context ))), … … 91 95 _nb_bypass_write (param._nb_bypass_write ), 92 96 _nb_bypass_memory (param._nb_bypass_memory ), 97 _size_store_queue (param._size_store_queue ), 98 _size_load_queue (param._size_load_queue ), 93 99 94 100 _size_context_id (param._size_context_id ), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp
r75 r76 44 44 xml.singleton_begin("nb_bypass_write "); xml.attribut("value",toString(_nb_bypass_write )); xml.singleton_end(); 45 45 xml.singleton_begin("nb_bypass_memory "); xml.attribut("value",toString(_nb_bypass_memory )); xml.singleton_end(); 46 xml.singleton_begin("size_store_queue "); xml.attribut("value",toString(_size_store_queue )); xml.singleton_end(); 47 xml.singleton_begin("size_load_queue "); xml.attribut("value",toString(_size_load_queue )); xml.singleton_end(); 46 48 xml.balise_close(); 47 49 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp
r75 r76 72 72 in_INSERT_OPERATION = interface->set_signal_in <Toperation_t > ("operation" ,_param->_size_operation ); 73 73 in_INSERT_TYPE = interface->set_signal_in <Ttype_t > ("type" ,_param->_size_type ); 74 in_INSERT_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue)); 75 in_INSERT_LOAD_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write" ,log2(_param->_size_load_queue) ); 74 76 in_INSERT_HAS_IMMEDIAT = interface->set_signal_in <Tcontrol_t > ("has_immediat" ,1 ); 75 77 in_INSERT_IMMEDIAT = interface->set_signal_in <Tgeneral_data_t > ("immediat" ,_param->_size_general_data ); … … 105 107 out_RETIRE_OPERATION = new SC_OUT(Toperation_t ) * [_param->_nb_inst_retire]; 106 108 out_RETIRE_TYPE = new SC_OUT(Ttype_t ) * [_param->_nb_inst_retire]; 109 out_RETIRE_STORE_QUEUE_PTR_WRITE = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire]; 110 out_RETIRE_LOAD_QUEUE_PTR_WRITE = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire]; 107 111 out_RETIRE_HAS_IMMEDIAT = new SC_OUT(Tcontrol_t ) * [_param->_nb_inst_retire]; 108 112 out_RETIRE_IMMEDIAT = new SC_OUT(Tgeneral_data_t ) * [_param->_nb_inst_retire]; … … 136 140 out_RETIRE_OPERATION [i] = interface->set_signal_out<Toperation_t > ("operation" ,_param->_size_operation); 137 141 out_RETIRE_TYPE [i] = interface->set_signal_out<Ttype_t > ("type" ,_param->_size_type); 142 out_RETIRE_STORE_QUEUE_PTR_WRITE [i] = interface->set_signal_out<Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue)); 143 out_RETIRE_LOAD_QUEUE_PTR_WRITE [i] = interface->set_signal_out<Tlsq_ptr_t> ("load_queue_ptr_write" ,log2(_param->_size_load_queue) ); 144 138 145 out_RETIRE_HAS_IMMEDIAT [i] = interface->set_signal_out<Tcontrol_t > ("has_immediat" ,1); 139 146 out_RETIRE_IMMEDIAT [i] = interface->set_signal_out<Tgeneral_data_t > ("immediat" ,_param->_size_general_data); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp
r69 r76 43 43 delete in_INSERT_OPERATION ; 44 44 delete in_INSERT_TYPE ; 45 delete in_INSERT_STORE_QUEUE_PTR_WRITE; 46 delete in_INSERT_LOAD_QUEUE_PTR_WRITE ; 45 47 delete in_INSERT_HAS_IMMEDIAT ; 46 48 delete in_INSERT_IMMEDIAT ; … … 74 76 delete [] out_RETIRE_OPERATION ; 75 77 delete [] out_RETIRE_TYPE ; 78 delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE; 79 delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ; 76 80 delete [] out_RETIRE_HAS_IMMEDIAT ; 77 81 delete [] out_RETIRE_IMMEDIAT ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp
r70 r76 101 101 PORT_WRITE(out_RETIRE_OPERATION [i],_queue[index_find]._operation); 102 102 PORT_WRITE(out_RETIRE_TYPE [i],_queue[index_find]._type); 103 PORT_WRITE(out_RETIRE_STORE_QUEUE_PTR_WRITE [i],_queue[index_find]._store_queue_ptr_write); 104 PORT_WRITE(out_RETIRE_LOAD_QUEUE_PTR_WRITE [i],_queue[index_find]._load_queue_ptr_write ); 103 105 PORT_WRITE(out_RETIRE_HAS_IMMEDIAT [i],_queue[index_find]._has_immediat); 104 106 PORT_WRITE(out_RETIRE_IMMEDIAT [i],_queue[index_find]._immediat); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp
r70 r76 258 258 _queue[index]._operation = PORT_READ(in_INSERT_OPERATION ); 259 259 _queue[index]._type = PORT_READ(in_INSERT_TYPE ); 260 _queue[index]._store_queue_ptr_write = PORT_READ(in_INSERT_STORE_QUEUE_PTR_WRITE); 261 _queue[index]._load_queue_ptr_write = PORT_READ(in_INSERT_LOAD_QUEUE_PTR_WRITE ); 260 262 _queue[index]._has_immediat = PORT_READ(in_INSERT_HAS_IMMEDIAT ); 261 263 _queue[index]._immediat = PORT_READ(in_INSERT_IMMEDIAT ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp
r75 r76 55 55 ALLOC_VAL_IN ( in_WRITE_QUEUE_IN_VAL); 56 56 ALLOC_ACK_OUT (out_WRITE_QUEUE_IN_ACK); 57 if(_param->_have_port_context_id)58 57 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 59 if(_param->_have_port_front_end_id)60 58 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 61 if(_param->_have_port_ooo_engine_id)62 59 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 63 if(_param->_have_port_packet_id)64 60 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_packet_id ); 65 61 // ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 82 78 ALLOC_VAL_OUT (out_WRITE_QUEUE_OUT_VAL); 83 79 ALLOC_ACK_IN ( in_WRITE_QUEUE_OUT_ACK); 84 if(_param->_have_port_context_id)85 80 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 86 if(_param->_have_port_front_end_id)87 81 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 88 if(_param->_have_port_ooo_engine_id)89 82 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 90 if(_param->_have_port_packet_id)91 83 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_packet_id ); 92 84 // ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 102 94 ALLOC1_INTERFACE("gpr_write", OUT, SOUTH ,"Output of write_queue", _param->_nb_gpr_write); 103 95 104 ALLOC1_VAL_OUT (out_GPR_WRITE_VAL ,_param->_nb_gpr_write); 105 ALLOC1_ACK_IN ( in_GPR_WRITE_ACK ,_param->_nb_gpr_write); 106 if(_param->_have_port_ooo_engine_id) 107 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ,_param->_nb_gpr_write); 108 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_register,_param->_nb_gpr_write); 109 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_DATA ,"data" ,Tgeneral_data_t ,_param->_size_general_data ,_param->_nb_gpr_write); 96 ALLOC1_VAL_OUT (out_GPR_WRITE_VAL); 97 ALLOC1_ACK_IN ( in_GPR_WRITE_ACK); 98 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 99 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_register); 100 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_DATA ,"data" ,Tgeneral_data_t ,_param->_size_general_data ); 110 101 } 111 102 … … 114 105 ALLOC1_INTERFACE("spr_write", OUT, SOUTH ,"Output of write_queue", _param->_nb_spr_write); 115 106 116 ALLOC1_VAL_OUT (out_SPR_WRITE_VAL ,_param->_nb_spr_write); 117 ALLOC1_ACK_IN ( in_SPR_WRITE_ACK ,_param->_nb_spr_write); 118 if(_param->_have_port_ooo_engine_id) 119 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ,_param->_nb_spr_write); 120 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_register,_param->_nb_spr_write); 121 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_DATA ,"data" ,Tspecial_data_t ,_param->_size_special_data ,_param->_nb_spr_write); 107 ALLOC1_VAL_OUT (out_SPR_WRITE_VAL); 108 ALLOC1_ACK_IN ( in_SPR_WRITE_ACK); 109 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 110 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_register); 111 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_DATA ,"data" ,Tspecial_data_t ,_param->_size_special_data ); 122 112 } 123 113 … … 126 116 ALLOC1_INTERFACE("bypass_write", OUT, NORTH ,"Output of internal write_queue", _param->_nb_bypass_write); 127 117 128 if(_param->_have_port_ooo_engine_id) 129 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id , _param->_nb_bypass_write); 130 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_VAL ,"gpr_val" ,Tcontrol_t ,1 , _param->_nb_bypass_write); 131 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_NUM_REG ,"gpr_num_reg" ,Tgeneral_address_t,_param->_size_general_register, _param->_nb_bypass_write); 132 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_DATA ,"gpr_data" ,Tgeneral_data_t ,_param->_size_general_data , _param->_nb_bypass_write); 133 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_VAL ,"spr_val" ,Tcontrol_t ,1 , _param->_nb_bypass_write); 134 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_NUM_REG ,"spr_num_reg" ,Tspecial_address_t,_param->_size_special_register, _param->_nb_bypass_write); 135 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_DATA ,"spr_data" ,Tspecial_data_t ,_param->_size_special_data , _param->_nb_bypass_write); 118 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 119 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_VAL ,"gpr_val" ,Tcontrol_t ,1 ); 120 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_NUM_REG ,"gpr_num_reg" ,Tgeneral_address_t,_param->_size_general_register); 121 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_DATA ,"gpr_data" ,Tgeneral_data_t ,_param->_size_general_data ); 122 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_VAL ,"spr_val" ,Tcontrol_t ,1 ); 123 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_NUM_REG ,"spr_num_reg" ,Tspecial_address_t,_param->_size_special_register); 124 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_DATA ,"spr_data" ,Tspecial_data_t ,_param->_size_special_data ); 136 125 } 137 126 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/include/Write_unit.h
r74 r76 159 159 160 160 #ifdef SYSTEMC 161 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)161 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 162 162 public : void transition (void); 163 //#endif163 #endif 164 164 #endif 165 165 #ifdef STATISTICS … … 169 169 #if VHDL 170 170 public : void vhdl (void); 171 private : void vhdl_declaration (Vhdl * & vhdl);172 private : void vhdl_body (Vhdl * & vhdl);173 171 #endif 174 172 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp
r75 r76 61 61 ALLOC_VAL_IN ( in_WRITE_UNIT_IN_VAL); 62 62 ALLOC_ACK_OUT (out_WRITE_UNIT_IN_ACK); 63 if(_param->_have_port_context_id)64 63 ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 65 if(_param->_have_port_front_end_id)66 64 ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 67 if(_param->_have_port_ooo_engine_id)68 65 ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 69 if(_param->_have_port_packet_id)70 66 ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_packet_id ); 71 67 // ALLOC_SIGNAL_IN ( in_WRITE_UNIT_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 88 84 ALLOC_VAL_OUT (out_WRITE_UNIT_OUT_VAL); 89 85 ALLOC_ACK_IN ( in_WRITE_UNIT_OUT_ACK); 90 if(_param->_have_port_context_id)91 86 ALLOC_SIGNAL_OUT(out_WRITE_UNIT_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 92 if(_param->_have_port_front_end_id)93 87 ALLOC_SIGNAL_OUT(out_WRITE_UNIT_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 94 if(_param->_have_port_ooo_engine_id)95 88 ALLOC_SIGNAL_OUT(out_WRITE_UNIT_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 96 if(_param->_have_port_packet_id)97 89 ALLOC_SIGNAL_OUT(out_WRITE_UNIT_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_packet_id ); 98 90 // ALLOC_SIGNAL_OUT(out_WRITE_UNIT_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 108 100 ALLOC1_INTERFACE("gpr_write", OUT, SOUTH ,"Output of write_unit", _param->_nb_gpr_write); 109 101 110 ALLOC1_VAL_OUT (out_GPR_WRITE_VAL ,_param->_nb_gpr_write); 111 ALLOC1_ACK_IN ( in_GPR_WRITE_ACK ,_param->_nb_gpr_write); 112 if(_param->_have_port_ooo_engine_id) 113 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ,_param->_nb_gpr_write); 114 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_register,_param->_nb_gpr_write); 115 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_DATA ,"data" ,Tgeneral_data_t ,_param->_size_general_data ,_param->_nb_gpr_write); 102 ALLOC1_VAL_OUT (out_GPR_WRITE_VAL); 103 ALLOC1_ACK_IN ( in_GPR_WRITE_ACK); 104 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 105 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_register); 106 ALLOC1_SIGNAL_OUT(out_GPR_WRITE_DATA ,"data" ,Tgeneral_data_t ,_param->_size_general_data ); 116 107 } 117 108 … … 120 111 ALLOC1_INTERFACE("spr_write", OUT, SOUTH ,"Output of write_unit", _param->_nb_spr_write); 121 112 122 ALLOC1_VAL_OUT (out_SPR_WRITE_VAL ,_param->_nb_spr_write); 123 ALLOC1_ACK_IN ( in_SPR_WRITE_ACK ,_param->_nb_spr_write); 124 if(_param->_have_port_ooo_engine_id) 125 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ,_param->_nb_spr_write); 126 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_register,_param->_nb_spr_write); 127 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_DATA ,"data" ,Tspecial_data_t ,_param->_size_special_data ,_param->_nb_spr_write); 113 ALLOC1_VAL_OUT (out_SPR_WRITE_VAL); 114 ALLOC1_ACK_IN ( in_SPR_WRITE_ACK); 115 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 116 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_register); 117 ALLOC1_SIGNAL_OUT(out_SPR_WRITE_DATA ,"data" ,Tspecial_data_t ,_param->_size_special_data ); 128 118 } 129 119 … … 132 122 ALLOC1_INTERFACE("bypass_write", OUT, NORTH ,"Output of internal write_unit", _param->_nb_bypass_write); 133 123 134 if(_param->_have_port_ooo_engine_id) 135 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id , _param->_nb_bypass_write); 136 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_VAL ,"gpr_val" ,Tcontrol_t ,1 , _param->_nb_bypass_write); 137 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_NUM_REG ,"gpr_num_reg" ,Tgeneral_address_t,_param->_size_general_register, _param->_nb_bypass_write); 138 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_DATA ,"gpr_data" ,Tgeneral_data_t ,_param->_size_general_data , _param->_nb_bypass_write); 139 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_VAL ,"spr_val" ,Tcontrol_t ,1 , _param->_nb_bypass_write); 140 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_NUM_REG ,"spr_num_reg" ,Tspecial_address_t,_param->_size_special_register, _param->_nb_bypass_write); 141 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_DATA ,"spr_data" ,Tspecial_data_t ,_param->_size_special_data , _param->_nb_bypass_write); 124 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 125 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_VAL ,"gpr_val" ,Tcontrol_t ,1 ); 126 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_NUM_REG ,"gpr_num_reg" ,Tgeneral_address_t,_param->_size_general_register); 127 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_GPR_DATA ,"gpr_data" ,Tgeneral_data_t ,_param->_size_general_data ); 128 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_VAL ,"spr_val" ,Tcontrol_t ,1 ); 129 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_NUM_REG ,"spr_num_reg" ,Tspecial_address_t,_param->_size_special_register); 130 ALLOC1_SIGNAL_OUT(out_BYPASS_WRITE_SPR_DATA ,"spr_data" ,Tspecial_data_t ,_param->_size_special_data ); 142 131 } 143 132 … … 181 170 182 171 // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 183 184 172 { 185 173 name = _name+"_write_queue"; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_transition.cpp
r74 r76 1 1 #ifdef SYSTEMC 2 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)2 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 3 3 /* 4 4 * $Id$ … … 41 41 }; // end namespace morpheo 42 42 #endif 43 //#endif43 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_vhdl.cpp
r74 r76 30 30 _component->vhdl_instance(vhdl); 31 31 32 vhdl_declaration (vhdl);33 vhdl_body (vhdl);34 35 32 vhdl->generate_file(); 36 33 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.deps
r71 r76 26 26 #-----[ Rules ]-------------------------------------------- 27 27 28 #.NOTPARALLEL : Behavioural_library Behavioural_library_clean 28 #.NOTPARALLEL : Behavioural_library 29 #.NOTPARALLEL : Behavioural_library_clean 29 30 30 31 Behavioural_library : $(Behavioural_DEPENDENCIES) 31 32 @\ 32 33 $(MAKE) --directory=$(DIR_MORPHEO)/Behavioural --makefile=Makefile ; 33 34 34 35 Behavioural_library_clean : $(Behavioural_CLEAN) 35 36 @\ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component.sh
r15 r76 7 7 TMP_DIR="/tmp/$SOURCE_FILE" 8 8 9 TYPE=("vbe" "vst"); 10 9 11 #-----[ usage ]------------------------------------------------------ 10 12 # input : - … … 17 19 echo " - <directory> : localisation of component"; 18 20 echo " - <name> : name of component"; 21 echo " - <type> : type of component : ${TYPE[@]}"; 19 22 echo ""; 20 23 echo " Note : This script must be execute in directory's script"; … … 49 52 fi; 50 53 51 if test $# -ne 2; then 54 if test $# -ne 3; then 55 usage; 56 fi; 57 58 find=0; 59 for type in ${TYPE[@]}; do 60 if test "$3" = "$type"; then 61 find=1; 62 SOURCE_DIR=$SOURCE_DIR"_"$type; 63 fi; 64 done; 65 66 if test $find -eq 0; then 52 67 usage; 53 68 fi; … … 293 308 rmdir $TMP_DIR 294 309 295 296 310 #translation 297 311 rename_directory "$1/$2" $SOURCE_FILE $2; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component_vbe/Makefile.deps
r74 r76 25 25 $(Behavioural_DIR_LIBRARY) 26 26 27 @COMPONENT_DEPENDENCIES = Behavioural_library28 29 @COMPONENT_CLEAN = Behavioural_library_clean30 31 27 #-----[ Rules ]-------------------------------------------- 32 28 33 #.NOTPARALLEL : @COMPONENT_library @COMPONENT_library_clean 34 35 @COMPONENT_library : $(@COMPONENT_DEPENDENCIES) 29 @COMPONENT_library : 36 30 @\ 31 $(MAKE) --directory=$(Behavioural_DIR) --makefile=Makefile; 37 32 $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile; 38 33 39 @COMPONENT_library_clean : $(@COMPONENT_CLEAN)34 @COMPONENT_library_clean : 40 35 @\ 36 $(MAKE) --directory=$(Behavioural_DIR) --makefile=Makefile clean; 41 37 $(MAKE) --directory=$(@COMPONENT_DIR) --makefile=Makefile clean; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h
r73 r76 41 41 } 42 42 #define ALLOC_SIGNAL_IN( sig, name, type, size) \ 43 { \ 44 sig = interface->set_signal_in <type> (name, size); \ 45 } 43 if (size > 0) \ 44 { \ 45 sig = interface->set_signal_in <type> (name, size); \ 46 } 46 47 #define ALLOC_SIGNAL_OUT( sig, name, type, size) \ 47 { \ 48 sig = interface->set_signal_out<type> (name, size); \ 49 } 48 if (size > 0) \ 49 { \ 50 sig = interface->set_signal_out<type> (name, size); \ 51 } 50 52 51 53 #define ALLOC_SC_SIGNAL( sig, name, type) \ … … 61 63 #ifdef POSITION 62 64 #define ALLOC1_INTERFACE( name, direction, localisation, str, it1) \ 63 Interface_fifo * interface [it1]; \ 65 const uint32_t iterator_1 = it1; \ 66 Interface_fifo * interface [iterator_1]; \ 64 67 { \ 65 68 std::string separator="_"; \ 66 for (uint32_t i=0; i<it 1; i++)\69 for (uint32_t i=0; i<iterator_1; i++) \ 67 70 { \ 68 71 interface [i] = _interfaces->set_interface( name+separator+toString(i), direction, localisation, str); \ … … 71 74 #else 72 75 #define ALLOC1_INTERFACE( name, direction, localisation, str, it1) \ 73 Interface_fifo * interface [it1]; \ 76 const uint32_t iterator_1 = it1; \ 77 Interface_fifo * interface [iterator_1]; \ 74 78 { \ 75 79 std::string separator="_"; \ 76 for (uint32_t i=0; i<it 1; i++)\80 for (uint32_t i=0; i<iterator_1; i++) \ 77 81 { \ 78 82 interface [i] = _interfaces->set_interface( name+separator+toString(i)); \ … … 82 86 83 87 84 #define ALLOC1_VALACK_IN( sig, name, type , it1) \88 #define ALLOC1_VALACK_IN( sig, name, type) \ 85 89 { \ 86 sig = new SC_IN (Tcontrol_t) * [it 1];\87 for (uint32_t i=0; i<it 1; i++)\90 sig = new SC_IN (Tcontrol_t) * [iterator_1]; \ 91 for (uint32_t i=0; i<iterator_1; i++) \ 88 92 { \ 89 93 sig [i] = interface[i]->set_signal_valack_in (name, type); \ 90 94 } \ 91 95 } 92 #define ALLOC1_VALACK_OUT(sig, name, type , it1) \96 #define ALLOC1_VALACK_OUT(sig, name, type) \ 93 97 { \ 94 sig = new SC_OUT(Tcontrol_t) * [it 1];\95 for (uint32_t i=0; i<it 1; i++)\98 sig = new SC_OUT(Tcontrol_t) * [iterator_1]; \ 99 for (uint32_t i=0; i<iterator_1; i++) \ 96 100 { \ 97 101 sig [i] = interface[i]->set_signal_valack_out(name, type); \ 98 102 } \ 99 103 } 100 #define ALLOC1_VAL_IN( sig , it1)\104 #define ALLOC1_VAL_IN( sig) \ 101 105 { \ 102 sig = new SC_IN (Tcontrol_t) * [it 1];\103 for (uint32_t i=0; i<it 1; i++)\106 sig = new SC_IN (Tcontrol_t) * [iterator_1]; \ 107 for (uint32_t i=0; i<iterator_1; i++) \ 104 108 { \ 105 109 sig [i] = interface[i]->set_signal_valack_in (VAL); \ 106 110 } \ 107 111 } 108 #define ALLOC1_VAL_OUT( sig , it1)\112 #define ALLOC1_VAL_OUT( sig) \ 109 113 { \ 110 sig = new SC_OUT(Tcontrol_t) * [it 1];\111 for (uint32_t i=0; i<it 1; i++)\114 sig = new SC_OUT(Tcontrol_t) * [iterator_1]; \ 115 for (uint32_t i=0; i<iterator_1; i++) \ 112 116 { \ 113 117 sig [i] = interface[i]->set_signal_valack_out(VAL); \ 114 118 } \ 115 119 } 116 #define ALLOC1_ACK_IN( sig , it1)\120 #define ALLOC1_ACK_IN( sig) \ 117 121 { \ 118 sig = new SC_IN (Tcontrol_t) * [it 1];\119 for (uint32_t i=0; i<it 1; i++)\122 sig = new SC_IN (Tcontrol_t) * [iterator_1]; \ 123 for (uint32_t i=0; i<iterator_1; i++) \ 120 124 { \ 121 125 sig [i] = interface[i]->set_signal_valack_in (ACK); \ 122 126 } \ 123 127 } 124 #define ALLOC1_ACK_OUT( sig , it1)\128 #define ALLOC1_ACK_OUT( sig) \ 125 129 { \ 126 sig = new SC_OUT(Tcontrol_t) * [it 1];\127 for (uint32_t i=0; i<it 1; i++)\130 sig = new SC_OUT(Tcontrol_t) * [iterator_1]; \ 131 for (uint32_t i=0; i<iterator_1; i++) \ 128 132 { \ 129 133 sig [i] = interface[i]->set_signal_valack_out(ACK); \ 130 134 } \ 131 135 } 132 #define ALLOC1_SIGNAL_IN( sig, name, type, size, it1) \ 133 { \ 134 sig = new SC_IN (type) * [it1]; \ 135 for (uint32_t i=0; i<it1; i++) \ 136 { \ 137 sig [i] = interface[i]->set_signal_in <type> (name, size); \ 138 } \ 139 } 136 #define ALLOC1_SIGNAL_IN( sig, name, type, size) \ 137 if (size > 0) \ 138 { \ 139 sig = new SC_IN (type) * [iterator_1]; \ 140 for (uint32_t i=0; i<iterator_1; i++) \ 141 { \ 142 sig [i] = interface[i]->set_signal_in <type> (name, size); \ 143 } \ 144 } 140 145 141 #define ALLOC1_SIGNAL_OUT(sig, name, type, size, it1) \ 142 { \ 143 sig = new SC_OUT(type) * [it1]; \ 144 for (uint32_t i=0; i<it1; i++) \ 145 { \ 146 sig [i] = interface[i]->set_signal_out<type> (name, size); \ 147 } \ 148 } 146 #define ALLOC1_SIGNAL_OUT(sig, name, type, size) \ 147 if (size > 0) \ 148 { \ 149 sig = new SC_OUT(type) * [iterator_1]; \ 150 for (uint32_t i=0; i<iterator_1; i++) \ 151 { \ 152 sig [i] = interface[i]->set_signal_out<type> (name, size); \ 153 } \ 154 } 149 155 150 156 #define ALLOC1_SC_SIGNAL( sig, name, type, it1) \ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Constants.h
r72 r76 6 6 7 7 //=========================================================[ Type ]===== 8 # define TYPE_ALU 0x0 // 000000 - unit multiple 9 # define TYPE_BRANCH 0x1 // 000001 - unit multiple, to a special routing 10 # define TYPE_MEMORY 0x2 // 000010 - unit uniq 11 # define TYPE_MAC 0x4 // 000100 - unit uniq 12 # define TYPE_TIMER 0x8 // 001000 - unit uniq 13 # define TYPE_CUSTOM 0x10 // 010000 - unit uniq 8 # define TYPE_ALU 0x0 // 00000 - unit multiple 9 # define TYPE_SHIFT 0x1 // 00000 - unit multiple 10 # define TYPE_MOVE 0x2 // 00000 - unit multiple 11 # define TYPE_TEST 0x3 // 00000 - unit multiple 12 # define TYPE_MUL_DIV 0x4 // 00000 - unit multiple, type optionnal 13 # define TYPE_EXTEND 0x5 // 00000 - unit multiple, type optionnal 14 # define TYPE_FIND 0x6 // 00000 - unit multiple, type optionnal 15 # define TYPE_SPECIAL 0x7 // 00000 - unit uniq 16 # define TYPE_CUSTOM 0x8 // 00000 - unit uniq 17 # define TYPE_BRANCH 0x9 // 00000 - unit multiple, to a special routing 18 # define TYPE_MEMORY 0xa // 00000 - unit uniq 19 # define MAX_TYPE 0x10 // 00000 - unit uniq 14 20 15 21 //====================================================[ Operation ]===== … … 116 122 117 123 //---------------------------------------------[ Functionnal Unit ]----- 118 # define OPERATION_ALU_L_ADD 0x0 // 000_0000 l.add , l.addi 119 # define OPERATION_ALU_L_ADDC 0x1 // 000_0000 l.addc , l.addic 120 # define OPERATION_ALU_L_SUB 0x2 // 000_0000 l.sub 121 # define OPERATION_ALU_L_MUL 0x3 // 000_0000 l.mul , l.muli 122 # define OPERATION_ALU_L_MULU 0x4 // 000_0000 l.mulu 123 # define OPERATION_ALU_L_DIV 0x5 // 000_0000 l.div 124 # define OPERATION_ALU_L_DIVU 0x6 // 000_0000 l.divu 125 # define OPERATION_ALU_L_AND 0x7 // 000_0000 l.and , l.andi 126 # define OPERATION_ALU_L_OR 0x8 // 000_0000 l.or , l.ori 127 # define OPERATION_ALU_L_XOR 0x9 // 000_0000 l.xor , l.xori 128 # define OPERATION_ALU_L_TEST_F 0xa // 000_0000 l.bf 129 # define OPERATION_ALU_L_TEST_NF 0xb // 000_0000 l.bnf 130 # define OPERATION_ALU_L_JALR 0xc // 000_0000 l.jal , l.jalr , l.jr 131 # define OPERATION_ALU_L_SLL 0xd // 000_0000 l.sll , l.slli 132 # define OPERATION_ALU_L_SRA 0xe // 000_0000 l.sra , l.srai 133 # define OPERATION_ALU_L_SRL 0xf // 000_0000 l.srl , l.srli 134 # define OPERATION_ALU_L_ROR 0x10 // 000_0000 l.ror , l.rori 135 # define OPERATION_ALU_L_MOVHI 0x11 // 000_0000 l.movhi 136 # define OPERATION_ALU_L_EXTEND_S 0x12 // 000_0000 l.extbs , l.exths, l.extws 137 # define OPERATION_ALU_L_EXTEND_Z 0x13 // 000_0000 l.extbz , l.exthz, l.extwz 138 # define OPERATION_ALU_L_CMOV 0x14 // 000_0000 l.cmov 139 # define OPERATION_ALU_L_FF1 0x15 // 000_0000 l.ff1 140 # define OPERATION_ALU_L_FL1 0x16 // 000_0000 l.fl1 141 # define OPERATION_ALU_L_MFSPR 0x17 // 000_0000 l.mfspr 142 # define OPERATION_ALU_L_MTSPR 0x18 // 000_0000 l.mtspr 143 # define OPERATION_ALU_L_SFGES 0x19 // 000_0000 l.sfges , l.sfges 144 # define OPERATION_ALU_L_SFGEU 0x1a // 000_0000 l.sfgeu , l.sfgeu 145 # define OPERATION_ALU_L_SFGTS 0x1b // 000_0000 L.sfgts , l.sfgts 146 # define OPERATION_ALU_L_SFGTU 0x1c // 000_0000 l.sfgtu , l.sfgtu 147 # define OPERATION_ALU_L_SFLES 0x1d // 000_0000 l.sfles , l.sfles 148 # define OPERATION_ALU_L_SFLEU 0x1e // 000_0000 l.sfleu , l.sfleu 149 # define OPERATION_ALU_L_SFLTS 0x1f // 000_0000 l.sflts , l.sflts 150 # define OPERATION_ALU_L_SFLTU 0x20 // 000_0000 l.sfltu , l.sfltu 151 # define OPERATION_ALU_L_SFEQ 0x21 // 000_0000 l.sfeq , l.sfeqi 152 # define OPERATION_ALU_L_SFNE 0x22 // 000_0000 l.sfne , l.sfnei 153 # define OPERATION_ALU_L_MAC 0x23 // 000_0000 l.mac , l.maci 154 # define OPERATION_ALU_L_MACRC 0x24 // 000_0000 l.macrc 155 # define OPERATION_ALU_L_MSB 0x25 // 000_0000 l.msb 124 # define OPERATION_ALU_L_ADD 0x1 // 000_0000 l.add , l.addi 125 # define OPERATION_ALU_L_ADDC 0x2 // 000_0000 l.addc , l.addic 126 # define OPERATION_ALU_L_SUB 0x4 // 000_0000 l.sub 127 # define OPERATION_ALU_L_AND 0x8 // 000_0000 l.and , l.andi 128 # define OPERATION_ALU_L_OR 0x10 // 000_0000 l.or , l.ori 129 # define OPERATION_ALU_L_XOR 0x20 // 000_0000 l.xor , l.xori 130 131 # define OPERATION_SHIFT_L_SLL 0x1 // 000_0000 l.sll , l.slli 132 # define OPERATION_SHIFT_L_SRA 0x2 // 000_0000 l.sra , l.srai 133 # define OPERATION_SHIFT_L_SRL 0x4 // 000_0000 l.srl , l.srli 134 # define OPERATION_SHIFT_L_ROR 0x8 // 000_0000 l.ror , l.rori 135 136 # define OPERATION_MOVE_L_MOVHI 0x1 // 000_0000 l.movhi 137 # define OPERATION_MOVE_L_CMOV 0x2 // 000_0000 l.cmov 138 139 # define OPERATION_TEST_L_SFGES 0x41 // 000_0000 l.sfges , l.sfges 140 # define OPERATION_TEST_L_SFGEU 0x1 // 000_0000 l.sfgeu , l.sfgeu 141 # define OPERATION_TEST_L_SFGTS 0x42 // 000_0000 L.sfgts , l.sfgts 142 # define OPERATION_TEST_L_SFGTU 0x2 // 000_0000 l.sfgtu , l.sfgtu 143 # define OPERATION_TEST_L_SFLES 0x44 // 000_0000 l.sfles , l.sfles 144 # define OPERATION_TEST_L_SFLEU 0x4 // 000_0000 l.sfleu , l.sfleu 145 # define OPERATION_TEST_L_SFLTS 0x48 // 000_0000 l.sflts , l.sflts 146 # define OPERATION_TEST_L_SFLTU 0x8 // 000_0000 l.sfltu , l.sfltu 147 # define OPERATION_TEST_L_SFEQ 0x10 // 000_0000 l.sfeq , l.sfeqi 148 # define OPERATION_TEST_L_SFNE 0x20 // 000_0000 l.sfne , l.sfnei 149 150 # define OPERATION_MUL_DIV_L_MUL 0x1 // 000_0000 l.mul , l.muli 151 # define OPERATION_MUL_DIV_L_MULU 0x2 // 000_0000 l.mulu 152 # define OPERATION_MUL_DIV_L_DIV 0x4 // 000_0000 l.div 153 # define OPERATION_MUL_DIV_L_DIVU 0x8 // 000_0000 l.divu 154 155 # define OPERATION_EXTEND_L_EXTEND_Z 0x1 // 000_0000 l.extbz , l.exthz, l.extwz 156 # define OPERATION_EXTEND_L_EXTEND_S 0x2 // 000_0000 l.extbs , l.exths, l.extws 157 158 # define OPERATION_FIND_L_FF1 0x1 // 000_0000 l.ff1 159 # define OPERATION_FIND_L_FL1 0x2 // 000_0000 l.fl1 160 161 # define OPERATION_SPECIAL_L_MFSPR 0x1 // 000_0000 l.mfspr 162 # define OPERATION_SPECIAL_L_MTSPR 0x2 // 000_0000 l.mtspr 163 # define OPERATION_SPECIAL_L_MAC 0x4 // 000_0000 l.mac , l.maci 164 # define OPERATION_SPECIAL_L_MACRC 0x8 // 000_0000 l.macrc 165 # define OPERATION_SPECIAL_L_MSB 0x10 // 000_0000 l.msb 166 167 # define OPERATION_BRANCH_L_TEST_NF 0x1 // 000_0000 l.bnf 168 # define OPERATION_BRANCH_L_TEST_F 0x2 // 000_0000 l.bf 169 # define OPERATION_BRANCH_L_JALR 0x4 // 000_0000 l.jal , l.jalr , l.jr 156 170 157 171 //-------------------------------------------------------[ Custom ]----- -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp
r75 r76 25 25 Entity * entity_dest = find_entity(component_dest); 26 26 27 27 28 if (entity_dest == NULL) 28 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", port map with unknow component \""+component_dest+"\"."));29 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_dest+"\" is unknow.")); 29 30 30 31 Signal * signal_dest = entity_dest->find_signal (port_dest); 31 32 32 33 if (signal_dest == NULL) 33 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", port map with component \""+component_dest+"\" and a unknowsignal \""+port_dest+"\"."));34 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\",try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_dest+"\" have not the signal \""+port_dest+"\".")); 34 35 35 36 // Second entity … … 37 38 38 39 if (entity_src == NULL) 39 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", port map with unknow component \""+component_src+"\"."));40 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+"\" is unknow.")); 40 41 41 42 Signal * signal_src = entity_src->find_signal (port_src); 42 43 43 44 if (signal_src == NULL) 44 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", port map with component \""+component_src+"\" and a unknowsignal \""+port_src+"\"."));45 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+"\" have not the signal \""+port_src+"\".")); 45 46 46 47 // If all is ok, mapping … … 56 57 57 58 if (src_is_port == true) 58 throw (ErrorMorpheo ("<Component::port_map> src can't be an interface's port of the top level."));59 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+" is the Top_level, and we can't be use interface's port of the top level as a source.")); 59 60 60 61 // 2 cases : … … 101 102 catch (morpheo::ErrorMorpheo & error) 102 103 { 103 throw (ErrorMorpheo ("<Component::port_map> Error in mapping between "+entity_src ->get_name()+"."+signal_src ->get_name()+" and "+entity_dest->get_name()+"."+signal_dest->get_name()+" :\n"+error.what ()));104 throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but "+error.what ())); 104 105 } 105 106 //catch (...) … … 109 110 log_printf(FUNC,Behavioural,FUNCTION,"End"); 110 111 }; 111 112 112 113 113 void Component::port_map (std::string component_src ,
Note: See TracChangeset
for help on using the changeset viewer.