Changeset 137 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core
- Timestamp:
- Feb 16, 2010, 1:35:48 PM (14 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core
- Files:
-
- 58 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_vhdl_body.cpp
r116 r137 370 370 vhdl->set_body (1,std_logic_cst(1,0)+"when others;"); 371 371 372 #ifdef SYSTEMC_VHDL_COMPATIBILITY373 372 vhdl->set_body (0,"with reg_EXECUTE_IN_TYPE select"); 374 373 vhdl->set_body (0,"sig_EXECUTE_OUT_ADDRESS <="); 375 374 vhdl->set_body (1,"sig_ADDR_BRANCH when "+std_logic_cst(_param->_size_type,TYPE_BRANCH)+","); 375 #ifdef SYSTEMC_VHDL_COMPATIBILITY 376 376 vhdl->set_body (1,"sig_A_OR_B("+toString(_param->_size_instruction_address-1)+" downto 0) when "+std_logic_cst(_param->_size_type,TYPE_SPECIAL)+","); 377 377 vhdl->set_body (1,std_logic_cst(_param->_size_instruction_address,0)+" when others;"); 378 378 #else 379 vhdl->set_body (0,"with reg_EXECUTE_IN_TYPE select"); 380 vhdl->set_body (0,"sig_EXECUTE_OUT_ADDRESS <="); 381 vhdl->set_body (1,"sig_ADDR_BRANCH when "+std_logic_cst(_param->_size_type,TYPE_BRANCH)+","); 382 vhdl->set_body (1,"sig_A_OR_B when others;"); 379 vhdl->set_body (1,"sig_A_OR_B ("+toString(_param->_size_instruction_address-1)+" downto 0) when others;"); 383 380 // vhdl->set_body (0,"sig_EXECUTE_OUT_ADDRESS <= sig_ADDR_BRANCH;"); 384 381 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl_body.cpp
r113 r137 140 140 vhdl->set_body (0,"out_EXECUTE_QUEUE_OUT_DATA "+std_logic_range(_param->_size_general_data )+" <= internal_EXECUTE_QUEUE_OUT_DATA ;"); 141 141 142 vhdl->set_debug ("in_CLOCK = 'U'","GLOP1: Clock = 'U'");143 vhdl->set_debug ("in_CLOCK = 'X'","GLOP2: Clock = 'X'");144 vhdl->set_debug ("in_CLOCK = 'Z'","GLOP3: Clock = 'Z'");145 vhdl->set_debug ("in_CLOCK = 'W'","GLOP4: Clock = 'W'");146 vhdl->set_debug ("in_CLOCK = '1'","KANE : Clock = '1'");147 vhdl->set_debug ("in_CLOCK = '0'","SETH : Clock = '0'");142 // vhdl->set_debug ("in_CLOCK = 'U'","GLOP1: Clock = 'U'"); 143 // vhdl->set_debug ("in_CLOCK = 'X'","GLOP2: Clock = 'X'"); 144 // vhdl->set_debug ("in_CLOCK = 'Z'","GLOP3: Clock = 'Z'"); 145 // vhdl->set_debug ("in_CLOCK = 'W'","GLOP4: Clock = 'W'"); 146 // vhdl->set_debug ("in_CLOCK = '1'","KANE : Clock = '1'"); 147 // vhdl->set_debug ("in_CLOCK = '0'","SETH : Clock = '0'"); 148 148 149 149 log_printf(FUNC,Execute_queue,FUNCTION,"End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_vhdl_body.cpp
r136 r137 24 24 log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin"); 25 25 26 vhdl->set_body("out_CONST_0 <= '0';");27 vhdl->set_body("out_CONST_1 <= '1';");26 // vhdl->set_body("out_CONST_0 <= '0';"); 27 // vhdl->set_body("out_CONST_1 <= '1';"); 28 28 29 29 //----------------------------------- -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Types.h
r134 r137 36 36 // Tdepth_t _depth ; 37 37 38 // set by decod 38 // set by decod 39 #ifdef STATISTICS 40 uint32_t _opcod ; 41 #endif 39 42 Ttype_t _type ; 40 43 Toperation_t _operation ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/src/Instruction.cpp
r117 r137 215 215 switch (opcod) 216 216 { 217 case OPCOD_L_CUST1 : {inst->_type = instruction_information(INSTRUCTION_L_CUST1)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST1)._operation; break;} 218 case OPCOD_L_CUST2 : {inst->_type = instruction_information(INSTRUCTION_L_CUST2)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST2)._operation; break;} 219 case OPCOD_L_CUST3 : {inst->_type = instruction_information(INSTRUCTION_L_CUST3)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST3)._operation; break;} 220 case OPCOD_L_CUST4 : {inst->_type = instruction_information(INSTRUCTION_L_CUST4)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST4)._operation; break;} 221 case OPCOD_L_CUST5 : {inst->_type = instruction_information(INSTRUCTION_L_CUST5)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST5)._operation; break;} 222 case OPCOD_L_CUST6 : {inst->_type = instruction_information(INSTRUCTION_L_CUST6)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST6)._operation; break;} 223 case OPCOD_L_CUST7 : {inst->_type = instruction_information(INSTRUCTION_L_CUST7)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST7)._operation; break;} 224 case OPCOD_L_CUST8 : {inst->_type = instruction_information(INSTRUCTION_L_CUST8)._type; inst->_operation = instruction_information(INSTRUCTION_L_CUST8)._operation; break;} 217 case OPCOD_L_CUST1 : 218 { 219 #ifdef STATISTICS 220 inst->_opcod = INSTRUCTION_L_CUST1; 221 #endif 222 inst->_type = instruction_information(INSTRUCTION_L_CUST1)._type; 223 inst->_operation = instruction_information(INSTRUCTION_L_CUST1)._operation; 224 break; 225 } 226 case OPCOD_L_CUST2 : 227 { 228 #ifdef STATISTICS 229 inst->_opcod = INSTRUCTION_L_CUST2; 230 #endif 231 inst->_type = instruction_information(INSTRUCTION_L_CUST2)._type; 232 inst->_operation = instruction_information(INSTRUCTION_L_CUST2)._operation; 233 break; 234 } 235 case OPCOD_L_CUST3 : 236 { 237 #ifdef STATISTICS 238 inst->_opcod = INSTRUCTION_L_CUST3; 239 #endif 240 inst->_type = instruction_information(INSTRUCTION_L_CUST3)._type; 241 inst->_operation = instruction_information(INSTRUCTION_L_CUST3)._operation; 242 break; 243 } 244 case OPCOD_L_CUST4 : 245 { 246 #ifdef STATISTICS 247 inst->_opcod = INSTRUCTION_L_CUST4; 248 #endif 249 inst->_type = instruction_information(INSTRUCTION_L_CUST4)._type; 250 inst->_operation = instruction_information(INSTRUCTION_L_CUST4)._operation; 251 break; 252 } 253 case OPCOD_L_CUST5 : 254 { 255 #ifdef STATISTICS 256 inst->_opcod = INSTRUCTION_L_CUST5; 257 #endif 258 inst->_type = instruction_information(INSTRUCTION_L_CUST5)._type; 259 inst->_operation = instruction_information(INSTRUCTION_L_CUST5)._operation; 260 break; 261 } 262 case OPCOD_L_CUST6 : 263 { 264 #ifdef STATISTICS 265 inst->_opcod = INSTRUCTION_L_CUST6; 266 #endif 267 inst->_type = instruction_information(INSTRUCTION_L_CUST6)._type; 268 inst->_operation = instruction_information(INSTRUCTION_L_CUST6)._operation; 269 break; 270 } 271 case OPCOD_L_CUST7 : 272 { 273 #ifdef STATISTICS 274 inst->_opcod = INSTRUCTION_L_CUST7; 275 #endif 276 inst->_type = instruction_information(INSTRUCTION_L_CUST7)._type; 277 inst->_operation = instruction_information(INSTRUCTION_L_CUST7)._operation; 278 break; 279 } 280 case OPCOD_L_CUST8 : 281 { 282 #ifdef STATISTICS 283 inst->_opcod = INSTRUCTION_L_CUST8; 284 #endif 285 inst->_type = instruction_information(INSTRUCTION_L_CUST8)._type; 286 inst->_operation = instruction_information(INSTRUCTION_L_CUST8)._operation; 287 break; 288 } 225 289 226 290 default : {throw ERRORMORPHEO("instruction_l_custom",_("Invalid Custom Opcod."));} … … 240 304 switch (opcod) 241 305 { 242 // case OPCOD_LF_CUST1_D : {inst->_type = instruction_information(INSTRUCTION_LF_CUST1_D)._type; inst->_operation = instruction_information(INSTRUCTION_LF_CUST1_D)._operation; break;} 243 // case OPCOD_LF_CUST1_S : {inst->_type = instruction_information(INSTRUCTION_LF_CUST1_S)._type; inst->_operation = instruction_information(INSTRUCTION_LF_CUST1_S)._operation; break;} 306 // case OPCOD_LF_CUST1_D : 307 // { 308 // #ifdef STATISTICS 309 // inst->_opcod = INSTRUCTION_LF_CUST1_D; 310 // #endif 311 // inst->_type = instruction_information(INSTRUCTION_LF_CUST1_D)._type; 312 // inst->_operation = instruction_information(INSTRUCTION_LF_CUST1_D)._operation; 313 // break; 314 // } 315 // case OPCOD_LF_CUST1_S : 316 // { 317 // #ifdef STATISTICS 318 // inst->_opcod = INSTRUCTION_LF_CUST1_S; 319 // #endif 320 // inst->_type = instruction_information(INSTRUCTION_LF_CUST1_S)._type; 321 // inst->_operation = instruction_information(INSTRUCTION_LF_CUST1_S)._operation; 322 // break; 323 // } 244 324 default : {throw ERRORMORPHEO("instruction_lf_custom",_("Invalid Custom Opcod."));} 245 325 } … … 258 338 switch (opcod) 259 339 { 260 // case OPCOD_LV_CUST1 : {inst->_type = instruction_information(INSTRUCTION_LV_CUST1)._type; inst->_operation = instruction_information(INSTRUCTION_LV_CUST1)._operation; break;} 261 // case OPCOD_LV_CUST2 : {inst->_type = instruction_information(INSTRUCTION_LV_CUST2)._type; inst->_operation = instruction_information(INSTRUCTION_LV_CUST2)._operation; break;} 262 // case OPCOD_LV_CUST3 : {inst->_type = instruction_information(INSTRUCTION_LV_CUST3)._type; inst->_operation = instruction_information(INSTRUCTION_LV_CUST3)._operation; break;} 263 // case OPCOD_LV_CUST4 : {inst->_type = instruction_information(INSTRUCTION_LV_CUST4)._type; inst->_operation = instruction_information(INSTRUCTION_LV_CUST4)._operation; break;} 340 // case OPCOD_LV_CUST1 : 341 // { 342 // #ifdef STATISTICS 343 // inst->_opcod = INSTRUCTION_LV_CUST1; 344 // #endif 345 // inst->_type = instruction_information(INSTRUCTION_LV_CUST1)._type; 346 // inst->_operation = instruction_information(INSTRUCTION_LV_CUST1)._operation; 347 // break; 348 // } 349 // case OPCOD_LV_CUST2 : 350 // { 351 // #ifdef STATISTICS 352 // inst->_opcod = INSTRUCTION_LV_CUST2; 353 // #endif 354 // inst->_type = instruction_information(INSTRUCTION_LV_CUST2)._type; 355 // inst->_operation = instruction_information(INSTRUCTION_LV_CUST2)._operation; 356 // break; 357 // } 358 // case OPCOD_LV_CUST3 : 359 // { 360 // #ifdef STATISTICS 361 // inst->_opcod = INSTRUCTION_LV_CUST3; 362 // #endif 363 // inst->_type = instruction_information(INSTRUCTION_LV_CUST3)._type; 364 // inst->_operation = instruction_information(INSTRUCTION_LV_CUST3)._operation; 365 // break; 366 // } 367 // case OPCOD_LV_CUST4 : 368 // { 369 // #ifdef STATISTICS 370 // inst->_opcod = INSTRUCTION_LV_CUST4; 371 // #endif 372 // inst->_type = instruction_information(INSTRUCTION_LV_CUST4)._type; 373 // inst->_operation = instruction_information(INSTRUCTION_LV_CUST4)._operation; 374 // break; 375 // } 264 376 default : {throw ERRORMORPHEO("instruction_lv_custom",_("Invalid Custom Opcod."));} 265 377 } … … 324 436 { 325 437 log_printf(TRACE,Decod,"instruction_l_add"," * instruction : l.add"); 438 #ifdef STATISTICS 439 inst->_opcod = INSTRUCTION_L_ADD; 440 #endif 326 441 inst->_type = instruction_information(INSTRUCTION_L_ADD)._type ; //TYPE_ALU; 327 442 inst->_operation = instruction_information(INSTRUCTION_L_ADD)._operation; //OPERATION_ALU_L_ADD; … … 352 467 log_printf(TRACE,Decod,"instruction_l_addc"," * instruction : l.addc"); 353 468 469 #ifdef STATISTICS 470 inst->_opcod = INSTRUCTION_L_ADDC; 471 #endif 354 472 inst->_type = instruction_information(INSTRUCTION_L_ADDC)._type ; //TYPE_ALU; 355 473 inst->_operation = instruction_information(INSTRUCTION_L_ADDC)._operation; //OPERATION_ALU_L_ADD; … … 380 498 log_printf(TRACE,Decod,"instruction_l_addi"," * instruction : l.addi"); 381 499 500 #ifdef STATISTICS 501 inst->_opcod = INSTRUCTION_L_ADDI; 502 #endif 382 503 inst->_type = instruction_information(INSTRUCTION_L_ADDI)._type ; //TYPE_ALU; 383 504 inst->_operation = instruction_information(INSTRUCTION_L_ADDI)._operation; //OPERATION_ALU_L_ADD; … … 408 529 log_printf(TRACE,Decod,"instruction_l_addic"," * instruction : l.addic"); 409 530 531 #ifdef STATISTICS 532 inst->_opcod = INSTRUCTION_L_ADDIC; 533 #endif 410 534 inst->_type = instruction_information(INSTRUCTION_L_ADDIC)._type ; //TYPE_ALU; 411 535 inst->_operation = instruction_information(INSTRUCTION_L_ADDIC)._operation; //OPERATION_ALU_L_ADD; … … 436 560 log_printf(TRACE,Decod,"instruction_l_and"," * instruction : l.and"); 437 561 562 #ifdef STATISTICS 563 inst->_opcod = INSTRUCTION_L_AND; 564 #endif 438 565 inst->_type = instruction_information(INSTRUCTION_L_AND)._type ; //TYPE_ALU; 439 566 inst->_operation = instruction_information(INSTRUCTION_L_AND)._operation; //OPERATION_ALU_L_AND; … … 464 591 log_printf(TRACE,Decod,"instruction_l_andi"," * instruction : l.andi"); 465 592 593 #ifdef STATISTICS 594 inst->_opcod = INSTRUCTION_L_ANDI; 595 #endif 466 596 inst->_type = instruction_information(INSTRUCTION_L_ANDI)._type ; //TYPE_ALU; 467 597 inst->_operation = instruction_information(INSTRUCTION_L_ANDI)._operation; //OPERATION_ALU_L_AND; … … 495 625 ); 496 626 627 #ifdef STATISTICS 628 inst->_opcod = INSTRUCTION_L_BF; 629 #endif 497 630 inst->_type = instruction_information(INSTRUCTION_L_BF)._type ; //TYPE_BRANCH; 498 631 inst->_operation = instruction_information(INSTRUCTION_L_BF)._operation; //OPERATION_BRANCH_L_TEST_F; … … 527 660 ); 528 661 662 #ifdef STATISTICS 663 inst->_opcod = INSTRUCTION_L_BNF; 664 #endif 529 665 inst->_type = instruction_information(INSTRUCTION_L_BNF)._type ; //TYPE_BRANCH; 530 666 inst->_operation = instruction_information(INSTRUCTION_L_BNF)._operation; //OPERATION_BRANCH_L_TEST_NF; … … 555 691 log_printf(TRACE,Decod,"instruction_l_cmov"," * instruction : l.cmov"); 556 692 693 #ifdef STATISTICS 694 inst->_opcod = INSTRUCTION_L_CMOV; 695 #endif 557 696 inst->_type = instruction_information(INSTRUCTION_L_CMOV)._type ; //TYPE_MOVE; 558 697 inst->_operation = instruction_information(INSTRUCTION_L_CMOV)._operation; //OPERATION_MOVE_L_CMOV; … … 589 728 else 590 729 { 730 #ifdef STATISTICS 731 inst->_opcod = INSTRUCTION_L_CSYNC; 732 #endif 591 733 inst->_type = instruction_information(INSTRUCTION_L_CSYNC)._type ; //TYPE_SPECIAL; 592 734 inst->_operation = instruction_information(INSTRUCTION_L_CSYNC)._operation; //OPERATION_SPECIAL_L_CSYNC; … … 627 769 log_printf(TRACE,Decod,"instruction_l_div"," * instruction : l.div"); 628 770 771 #ifdef STATISTICS 772 inst->_opcod = INSTRUCTION_L_DIV; 773 #endif 629 774 inst->_type = instruction_information(INSTRUCTION_L_DIV)._type ; //TYPE_DIV; 630 775 inst->_operation = instruction_information(INSTRUCTION_L_DIV)._operation; //OPERATION_DIV_L_DIV; … … 655 800 log_printf(TRACE,Decod,"instruction_l_divu"," * instruction : l.divu"); 656 801 802 #ifdef STATISTICS 803 inst->_opcod = INSTRUCTION_L_DIVU; 804 #endif 657 805 inst->_type = instruction_information(INSTRUCTION_L_DIVU)._type ; //TYPE_DIV; 658 806 inst->_operation = instruction_information(INSTRUCTION_L_DIVU)._operation; //OPERATION_DIV_L_DIVU; … … 683 831 log_printf(TRACE,Decod,"instruction_l_extbs"," * instruction : l.extbs"); 684 832 833 #ifdef STATISTICS 834 inst->_opcod = INSTRUCTION_L_EXTBS; 835 #endif 685 836 inst->_type = instruction_information(INSTRUCTION_L_EXTBS)._type ; //TYPE_EXTEND; 686 837 inst->_operation = instruction_information(INSTRUCTION_L_EXTBS)._operation; //OPERATION_EXTEND_L_EXTEND_S; … … 711 862 log_printf(TRACE,Decod,"instruction_l_extbz"," * instruction : l.extbz"); 712 863 864 #ifdef STATISTICS 865 inst->_opcod = INSTRUCTION_L_EXTBZ; 866 #endif 713 867 inst->_type = instruction_information(INSTRUCTION_L_EXTBZ)._type ; //TYPE_EXTEND; 714 868 inst->_operation = instruction_information(INSTRUCTION_L_EXTBZ)._operation; //OPERATION_EXTEND_L_EXTEND_Z; … … 739 893 log_printf(TRACE,Decod,"instruction_l_exths"," * instruction : l.exths"); 740 894 895 #ifdef STATISTICS 896 inst->_opcod = INSTRUCTION_L_EXTHS; 897 #endif 741 898 inst->_type = instruction_information(INSTRUCTION_L_EXTHS)._type ; //TYPE_EXTEND; 742 899 inst->_operation = instruction_information(INSTRUCTION_L_EXTHS)._operation; //OPERATION_EXTEND_L_EXTEND_S; … … 767 924 log_printf(TRACE,Decod,"instruction_l_exthz"," * instruction : l.exthz"); 768 925 926 #ifdef STATISTICS 927 inst->_opcod = INSTRUCTION_L_EXTHZ; 928 #endif 769 929 inst->_type = instruction_information(INSTRUCTION_L_EXTHZ)._type ; //TYPE_EXTEND; 770 930 inst->_operation = instruction_information(INSTRUCTION_L_EXTHZ)._operation; //OPERATION_EXTEND_L_EXTEND_Z; … … 795 955 log_printf(TRACE,Decod,"instruction_l_extws"," * instruction : l.extws"); 796 956 957 #ifdef STATISTICS 958 inst->_opcod = INSTRUCTION_L_EXTWS; 959 #endif 797 960 inst->_type = instruction_information(INSTRUCTION_L_EXTWS)._type ; //TYPE_EXTEND; 798 961 inst->_operation = instruction_information(INSTRUCTION_L_EXTWS)._operation; //OPERATION_EXTEND_L_EXTEND_S; … … 823 986 log_printf(TRACE,Decod,"instruction_l_extwz"," * instruction : l.extwz"); 824 987 988 #ifdef STATISTICS 989 inst->_opcod = INSTRUCTION_L_EXTWZ; 990 #endif 825 991 inst->_type = instruction_information(INSTRUCTION_L_EXTWZ)._type ; //TYPE_EXTEND; 826 992 inst->_operation = instruction_information(INSTRUCTION_L_EXTWZ)._operation; //OPERATION_EXTEND_L_EXTEND_Z; … … 851 1017 log_printf(TRACE,Decod,"instruction_l_ff1"," * instruction : l.ff1"); 852 1018 1019 #ifdef STATISTICS 1020 inst->_opcod = INSTRUCTION_L_FF1; 1021 #endif 853 1022 inst->_type = instruction_information(INSTRUCTION_L_FF1)._type ; //TYPE_FIND; 854 1023 inst->_operation = instruction_information(INSTRUCTION_L_FF1)._operation; //OPERATION_FIND_L_FF1; … … 879 1048 log_printf(TRACE,Decod,"instruction_l_fl1"," * instruction : l.fl1"); 880 1049 1050 #ifdef STATISTICS 1051 inst->_opcod = INSTRUCTION_L_FL1; 1052 #endif 881 1053 inst->_type = instruction_information(INSTRUCTION_L_FL1)._type ; //TYPE_FIND; 882 1054 inst->_operation = instruction_information(INSTRUCTION_L_FL1)._operation; //OPERATION_FIND_L_FL1; … … 907 1079 log_printf(TRACE,Decod,"instruction_l_j"," * instruction : l.j"); 908 1080 1081 #ifdef STATISTICS 1082 inst->_opcod = INSTRUCTION_L_J; 1083 #endif 909 1084 inst->_type = instruction_information(INSTRUCTION_L_J)._type ; //TYPE_BRANCH; 910 1085 inst->_operation = instruction_information(INSTRUCTION_L_J)._operation; //OPERATION_BRANCH_NONE; … … 936 1111 log_printf(TRACE,Decod,"instruction_l_jal"," * instruction : l.jal"); 937 1112 1113 #ifdef STATISTICS 1114 inst->_opcod = INSTRUCTION_L_JAL; 1115 #endif 938 1116 inst->_type = instruction_information(INSTRUCTION_L_JAL)._type ; //TYPE_BRANCH; 939 1117 inst->_operation = instruction_information(INSTRUCTION_L_JAL)._operation; //OPERATION_BRANCH_L_JALR; … … 973 1151 else 974 1152 { 1153 #ifdef STATISTICS 1154 inst->_opcod = INSTRUCTION_L_JALR; 1155 #endif 975 1156 inst->_type = instruction_information(INSTRUCTION_L_JALR)._type ; //TYPE_BRANCH; 976 1157 inst->_operation = instruction_information(INSTRUCTION_L_JALR)._operation; //OPERATION_BRANCH_L_JALR; … … 1003 1184 log_printf(TRACE,Decod,"instruction_l_jr"," * instruction : l.jr"); 1004 1185 1186 #ifdef STATISTICS 1187 inst->_opcod = INSTRUCTION_L_JR; 1188 #endif 1005 1189 inst->_type = instruction_information(INSTRUCTION_L_JR)._type ; //TYPE_BRANCH; 1006 1190 inst->_operation = instruction_information(INSTRUCTION_L_JR)._operation; //OPERATION_BRANCH_L_JALR; … … 1031 1215 log_printf(TRACE,Decod,"instruction_l_lbs"," * instruction : l.lbs"); 1032 1216 1217 #ifdef STATISTICS 1218 inst->_opcod = INSTRUCTION_L_LBS; 1219 #endif 1033 1220 inst->_type = instruction_information(INSTRUCTION_L_LBS)._type ; //TYPE_MEMORY; 1034 1221 inst->_operation = instruction_information(INSTRUCTION_L_LBS)._operation; //OPERATION_MEMORY_LOAD_8_S; … … 1059 1246 log_printf(TRACE,Decod,"instruction_l_lbz"," * instruction : l.lbz"); 1060 1247 1248 #ifdef STATISTICS 1249 inst->_opcod = INSTRUCTION_L_LBZ; 1250 #endif 1061 1251 inst->_type = instruction_information(INSTRUCTION_L_LBZ)._type ; //TYPE_MEMORY; 1062 1252 inst->_operation = instruction_information(INSTRUCTION_L_LBZ)._operation; //OPERATION_MEMORY_LOAD_8_Z; … … 1087 1277 log_printf(TRACE,Decod,"instruction_l_ld"," * instruction : l.ld"); 1088 1278 1279 #ifdef STATISTICS 1280 inst->_opcod = INSTRUCTION_L_LD; 1281 #endif 1089 1282 inst->_type = instruction_information(INSTRUCTION_L_LD)._type ; //TYPE_MEMORY; 1090 1283 inst->_operation = instruction_information(INSTRUCTION_L_LD)._operation; //OPERATION_MEMORY_LOAD_64_S; … … 1115 1308 log_printf(TRACE,Decod,"instruction_l_lhs"," * instruction : l.lhs"); 1116 1309 1310 #ifdef STATISTICS 1311 inst->_opcod = INSTRUCTION_L_LHS; 1312 #endif 1117 1313 inst->_type = instruction_information(INSTRUCTION_L_LHS)._type ; //TYPE_MEMORY; 1118 1314 inst->_operation = instruction_information(INSTRUCTION_L_LHS)._operation; //OPERATION_MEMORY_LOAD_16_S; … … 1143 1339 log_printf(TRACE,Decod,"instruction_l_lhz"," * instruction : l.lhz"); 1144 1340 1341 #ifdef STATISTICS 1342 inst->_opcod = INSTRUCTION_L_LHZ; 1343 #endif 1145 1344 inst->_type = instruction_information(INSTRUCTION_L_LHZ)._type ; //TYPE_MEMORY; 1146 1345 inst->_operation = instruction_information(INSTRUCTION_L_LHZ)._operation; //OPERATION_MEMORY_LOAD_16_Z; … … 1171 1370 log_printf(TRACE,Decod,"instruction_l_lws"," * instruction : l.lws"); 1172 1371 1372 #ifdef STATISTICS 1373 inst->_opcod = INSTRUCTION_L_LWS; 1374 #endif 1173 1375 inst->_type = instruction_information(INSTRUCTION_L_LWS)._type ; //TYPE_MEMORY; 1174 1376 inst->_operation = instruction_information(INSTRUCTION_L_LWS)._operation; //OPERATION_MEMORY_LOAD_32_S; … … 1199 1401 log_printf(TRACE,Decod,"instruction_l_lwz"," * instruction : l.lwz"); 1200 1402 1403 #ifdef STATISTICS 1404 inst->_opcod = INSTRUCTION_L_LWZ; 1405 #endif 1201 1406 inst->_type = instruction_information(INSTRUCTION_L_LWZ)._type ; //TYPE_MEMORY; 1202 1407 inst->_operation = instruction_information(INSTRUCTION_L_LWZ)._operation; //OPERATION_MEMORY_LOAD_32_Z; … … 1227 1432 log_printf(TRACE,Decod,"instruction_l_mac"," * instruction : l.mac"); 1228 1433 1434 #ifdef STATISTICS 1435 inst->_opcod = INSTRUCTION_L_MAC; 1436 #endif 1229 1437 inst->_type = instruction_information(INSTRUCTION_L_MAC)._type ; //TYPE_SPECIAL; 1230 1438 inst->_operation = instruction_information(INSTRUCTION_L_MAC)._operation; //OPERATION_SPECIAL_L_MAC; … … 1255 1463 log_printf(TRACE,Decod,"instruction_l_maci"," * instruction : l.maci"); 1256 1464 1465 #ifdef STATISTICS 1466 inst->_opcod = INSTRUCTION_L_MACI; 1467 #endif 1257 1468 inst->_type = instruction_information(INSTRUCTION_L_MACI)._type ; //TYPE_SPECIAL; 1258 1469 inst->_operation = instruction_information(INSTRUCTION_L_MACI)._operation; //OPERATION_SPECIAL_L_MAC; … … 1290 1501 else 1291 1502 { 1503 #ifdef STATISTICS 1504 inst->_opcod = INSTRUCTION_L_MACRC; 1505 #endif 1292 1506 inst->_type = instruction_information(INSTRUCTION_L_MACRC)._type ; //TYPE_SPECIAL; 1293 1507 inst->_operation = instruction_information(INSTRUCTION_L_MACRC)._operation; //OPERATION_SPECIAL_L_MACRC; … … 1319 1533 log_printf(TRACE,Decod,"instruction_l_mfspr"," * instruction : l.mfspr"); 1320 1534 1535 #ifdef STATISTICS 1536 inst->_opcod = INSTRUCTION_L_MFSPR; 1537 #endif 1321 1538 inst->_type = instruction_information(INSTRUCTION_L_MFSPR)._type ; //TYPE_SPECIAL; 1322 1539 inst->_operation = instruction_information(INSTRUCTION_L_MFSPR)._operation; //OPERATION_SPECIAL_L_MFSPR; … … 1347 1564 log_printf(TRACE,Decod,"instruction_l_movhi"," * instruction : l.movhi"); 1348 1565 1566 #ifdef STATISTICS 1567 inst->_opcod = INSTRUCTION_L_MOVHI; 1568 #endif 1349 1569 inst->_type = instruction_information(INSTRUCTION_L_MOVHI)._type ; //TYPE_MOVE; 1350 1570 inst->_operation = instruction_information(INSTRUCTION_L_MOVHI)._operation; //OPERATION_MOVE_L_MOVHI; … … 1375 1595 log_printf(TRACE,Decod,"instruction_l_msb"," * instruction : l.msb"); 1376 1596 1597 #ifdef STATISTICS 1598 inst->_opcod = INSTRUCTION_L_MSB; 1599 #endif 1377 1600 inst->_type = instruction_information(INSTRUCTION_L_MSB)._type ; //TYPE_SPECIAL; 1378 1601 inst->_operation = instruction_information(INSTRUCTION_L_MSB)._operation; //OPERATION_SPECIAL_L_MSB; … … 1409 1632 else 1410 1633 { 1634 #ifdef STATISTICS 1635 inst->_opcod = INSTRUCTION_L_MSYNC; 1636 #endif 1411 1637 inst->_type = instruction_information(INSTRUCTION_L_MSYNC)._type ; //TYPE_SPECIAL; 1412 1638 inst->_operation = instruction_information(INSTRUCTION_L_MSYNC)._operation; //OPERATION_SPECIAL_L_MSYNC; … … 1438 1664 log_printf(TRACE,Decod,"instruction_l_mtspr"," * instruction : l.mtspr"); 1439 1665 1666 #ifdef STATISTICS 1667 inst->_opcod = INSTRUCTION_L_MTSPR; 1668 #endif 1440 1669 inst->_type = instruction_information(INSTRUCTION_L_MTSPR)._type ; //TYPE_SPECIAL; 1441 1670 inst->_operation = instruction_information(INSTRUCTION_L_MTSPR)._operation; //OPERATION_SPECIAL_L_MTSPR; … … 1467 1696 log_printf(TRACE,Decod,"instruction_l_mul"," * instruction : l.mul"); 1468 1697 1698 #ifdef STATISTICS 1699 inst->_opcod = INSTRUCTION_L_MUL; 1700 #endif 1469 1701 inst->_type = instruction_information(INSTRUCTION_L_MUL)._type ; //TYPE_MUL; 1470 1702 inst->_operation = instruction_information(INSTRUCTION_L_MUL)._operation; //OPERATION_MUL_L_MUL; … … 1495 1727 log_printf(TRACE,Decod,"instruction_l_muli"," * instruction : l.muli"); 1496 1728 1729 #ifdef STATISTICS 1730 inst->_opcod = INSTRUCTION_L_MULI; 1731 #endif 1497 1732 inst->_type = instruction_information(INSTRUCTION_L_MULI)._type ; //TYPE_MUL; 1498 1733 inst->_operation = instruction_information(INSTRUCTION_L_MULI)._operation; //OPERATION_MUL_L_MUL; … … 1523 1758 log_printf(TRACE,Decod,"instruction_l_mulu"," * instruction : l.mulu"); 1524 1759 1760 #ifdef STATISTICS 1761 inst->_opcod = INSTRUCTION_L_MULU; 1762 #endif 1525 1763 inst->_type = instruction_information(INSTRUCTION_L_MULU)._type ; //TYPE_MUL; 1526 1764 inst->_operation = instruction_information(INSTRUCTION_L_MULU)._operation; //OPERATION_MUL_L_MULU; … … 1551 1789 log_printf(TRACE,Decod,"instruction_l_nop"," * instruction : l.nop"); 1552 1790 1791 #ifdef STATISTICS 1792 inst->_opcod = INSTRUCTION_L_NOP; 1793 #endif 1553 1794 inst->_type = instruction_information(INSTRUCTION_L_NOP)._type ; //TYPE_SPECIAL; 1554 1795 inst->_operation = instruction_information(INSTRUCTION_L_NOP)._operation; //OPERATION_SPECIAL_L_NOP; … … 1581 1822 log_printf(TRACE,Decod,"instruction_l_or"," * instruction : l.or"); 1582 1823 1824 #ifdef STATISTICS 1825 inst->_opcod = INSTRUCTION_L_OR; 1826 #endif 1583 1827 inst->_type = instruction_information(INSTRUCTION_L_OR)._type ; //TYPE_ALU; 1584 1828 inst->_operation = instruction_information(INSTRUCTION_L_OR)._operation; //OPERATION_ALU_L_OR; … … 1609 1853 log_printf(TRACE,Decod,"instruction_l_ori"," * instruction : l.ori"); 1610 1854 1855 #ifdef STATISTICS 1856 inst->_opcod = INSTRUCTION_L_ORI; 1857 #endif 1611 1858 inst->_type = instruction_information(INSTRUCTION_L_ORI)._type ; //TYPE_ALU; 1612 1859 inst->_operation = instruction_information(INSTRUCTION_L_ORI)._operation; //OPERATION_ALU_L_OR; … … 1643 1890 else 1644 1891 { 1892 #ifdef STATISTICS 1893 inst->_opcod = INSTRUCTION_L_PSYNC; 1894 #endif 1645 1895 inst->_type = instruction_information(INSTRUCTION_L_PSYNC)._type ; //TYPE_SPECIAL; 1646 1896 inst->_operation = instruction_information(INSTRUCTION_L_PSYNC)._operation; //OPERATION_SPECIAL_L_PSYNC; … … 1672 1922 log_printf(TRACE,Decod,"instruction_l_rfe"," * instruction : l.rfe"); 1673 1923 1924 #ifdef STATISTICS 1925 inst->_opcod = INSTRUCTION_L_RFE; 1926 #endif 1674 1927 inst->_type = instruction_information(INSTRUCTION_L_RFE)._type ; //TYPE_SPECIAL; 1675 1928 inst->_operation = instruction_information(INSTRUCTION_L_RFE)._operation; //OPERATION_SPECIAL_L_RFE; … … 1700 1953 log_printf(TRACE,Decod,"instruction_l_ror"," * instruction : l.ror"); 1701 1954 1955 #ifdef STATISTICS 1956 inst->_opcod = INSTRUCTION_L_ROR; 1957 #endif 1702 1958 inst->_type = instruction_information(INSTRUCTION_L_ROR)._type ; //TYPE_SHIFT; 1703 1959 inst->_operation = instruction_information(INSTRUCTION_L_ROR)._operation; //OPERATION_SHIFT_L_ROR; … … 1728 1984 log_printf(TRACE,Decod,"instruction_l_rori"," * instruction : l.rori"); 1729 1985 1986 #ifdef STATISTICS 1987 inst->_opcod = INSTRUCTION_L_RORI; 1988 #endif 1730 1989 inst->_type = instruction_information(INSTRUCTION_L_RORI)._type ; //TYPE_SHIFT; 1731 1990 inst->_operation = instruction_information(INSTRUCTION_L_RORI)._operation; //OPERATION_SHIFT_L_ROR; … … 1756 2015 log_printf(TRACE,Decod,"instruction_l_sb"," * instruction : l.sb"); 1757 2016 2017 #ifdef STATISTICS 2018 inst->_opcod = INSTRUCTION_L_SB; 2019 #endif 1758 2020 inst->_type = instruction_information(INSTRUCTION_L_SB)._type ; //TYPE_MEMORY; 1759 2021 inst->_operation = instruction_information(INSTRUCTION_L_SB)._operation; //OPERATION_MEMORY_STORE_8; … … 1785 2047 log_printf(TRACE,Decod,"instruction_l_sb"," * instruction : l.sb"); 1786 2048 2049 #ifdef STATISTICS 2050 inst->_opcod = INSTRUCTION_L_SD; 2051 #endif 1787 2052 inst->_type = instruction_information(INSTRUCTION_L_SD)._type ; //TYPE_MEMORY; 1788 2053 inst->_operation = instruction_information(INSTRUCTION_L_SD)._operation; //OPERATION_MEMORY_STORE_64; … … 1814 2079 log_printf(TRACE,Decod,"instruction_l_sfeq"," * instruction : l.sfeq"); 1815 2080 2081 #ifdef STATISTICS 2082 inst->_opcod = INSTRUCTION_L_SFEQ; 2083 #endif 1816 2084 inst->_type = instruction_information(INSTRUCTION_L_SFEQ)._type ; //TYPE_TEST; 1817 2085 inst->_operation = instruction_information(INSTRUCTION_L_SFEQ)._operation; //OPERATION_TEST_L_SFEQ; … … 1842 2110 log_printf(TRACE,Decod,"instruction_l_sfeqi"," * instruction : l.sfeqi"); 1843 2111 2112 #ifdef STATISTICS 2113 inst->_opcod = INSTRUCTION_L_SFEQI; 2114 #endif 1844 2115 inst->_type = instruction_information(INSTRUCTION_L_SFEQI)._type ; //TYPE_TEST; 1845 2116 inst->_operation = instruction_information(INSTRUCTION_L_SFEQI)._operation; //OPERATION_TEST_L_SFEQ; … … 1870 2141 log_printf(TRACE,Decod,"instruction_l_sfges"," * instruction : l.sfges"); 1871 2142 2143 #ifdef STATISTICS 2144 inst->_opcod = INSTRUCTION_L_SFGES; 2145 #endif 1872 2146 inst->_type = instruction_information(INSTRUCTION_L_SFGES)._type ; //TYPE_TEST; 1873 2147 inst->_operation = instruction_information(INSTRUCTION_L_SFGES)._operation; //OPERATION_TEST_L_SFGES; … … 1898 2172 log_printf(TRACE,Decod,"instruction_l_sfgesi"," * instruction : l.sfgesi"); 1899 2173 2174 #ifdef STATISTICS 2175 inst->_opcod = INSTRUCTION_L_SFGESI; 2176 #endif 1900 2177 inst->_type = instruction_information(INSTRUCTION_L_SFGESI)._type ; //TYPE_TEST; 1901 2178 inst->_operation = instruction_information(INSTRUCTION_L_SFGESI)._operation; //OPERATION_TEST_L_SFGES; … … 1926 2203 log_printf(TRACE,Decod,"instruction_l_sfgeu"," * instruction : l.sfgeu"); 1927 2204 2205 #ifdef STATISTICS 2206 inst->_opcod = INSTRUCTION_L_SFGEU; 2207 #endif 1928 2208 inst->_type = instruction_information(INSTRUCTION_L_SFGEU)._type ; //TYPE_TEST; 1929 2209 inst->_operation = instruction_information(INSTRUCTION_L_SFGEU)._operation; //OPERATION_TEST_L_SFGEU; … … 1954 2234 log_printf(TRACE,Decod,"instruction_l_sfgeui"," * instruction : l.sfgeui"); 1955 2235 2236 #ifdef STATISTICS 2237 inst->_opcod = INSTRUCTION_L_SFGEUI; 2238 #endif 1956 2239 inst->_type = instruction_information(INSTRUCTION_L_SFGEUI)._type ; //TYPE_TEST; 1957 2240 inst->_operation = instruction_information(INSTRUCTION_L_SFGEUI)._operation; //OPERATION_TEST_L_SFGEU; … … 1982 2265 log_printf(TRACE,Decod,"instruction_l_sfgts"," * instruction : l.sfgts"); 1983 2266 2267 #ifdef STATISTICS 2268 inst->_opcod = INSTRUCTION_L_SFGTS; 2269 #endif 1984 2270 inst->_type = instruction_information(INSTRUCTION_L_SFGTS)._type ; //TYPE_TEST; 1985 2271 inst->_operation = instruction_information(INSTRUCTION_L_SFGTS)._operation; //OPERATION_TEST_L_SFGTS; … … 2010 2296 log_printf(TRACE,Decod,"instruction_l_sfgtsi"," * instruction : l.sfgtsi"); 2011 2297 2298 #ifdef STATISTICS 2299 inst->_opcod = INSTRUCTION_L_SFGTSI; 2300 #endif 2012 2301 inst->_type = instruction_information(INSTRUCTION_L_SFGTSI)._type ; //TYPE_TEST; 2013 2302 inst->_operation = instruction_information(INSTRUCTION_L_SFGTSI)._operation; //OPERATION_TEST_L_SFGTS; … … 2038 2327 log_printf(TRACE,Decod,"instruction_l_sfgtu"," * instruction : l.sfgtu"); 2039 2328 2329 #ifdef STATISTICS 2330 inst->_opcod = INSTRUCTION_L_SFGTU; 2331 #endif 2040 2332 inst->_type = instruction_information(INSTRUCTION_L_SFGTU)._type ; //TYPE_TEST; 2041 2333 inst->_operation = instruction_information(INSTRUCTION_L_SFGTU)._operation; //OPERATION_TEST_L_SFGTU; … … 2066 2358 log_printf(TRACE,Decod,"instruction_l_sfgtui"," * instruction : l.sfgtui"); 2067 2359 2360 #ifdef STATISTICS 2361 inst->_opcod = INSTRUCTION_L_SFGTUI; 2362 #endif 2068 2363 inst->_type = instruction_information(INSTRUCTION_L_SFGTUI)._type ; //TYPE_TEST; 2069 2364 inst->_operation = instruction_information(INSTRUCTION_L_SFGTUI)._operation; //OPERATION_TEST_L_SFGTU; … … 2094 2389 log_printf(TRACE,Decod,"instruction_l_sfles"," * instruction : l.sfles"); 2095 2390 2391 #ifdef STATISTICS 2392 inst->_opcod = INSTRUCTION_L_SFLES; 2393 #endif 2096 2394 inst->_type = instruction_information(INSTRUCTION_L_SFLES)._type ; //TYPE_TEST; 2097 2395 inst->_operation = instruction_information(INSTRUCTION_L_SFLES)._operation; //OPERATION_TEST_L_SFLES; … … 2122 2420 log_printf(TRACE,Decod,"instruction_l_sflesi"," * instruction : l.sflesi"); 2123 2421 2422 #ifdef STATISTICS 2423 inst->_opcod = INSTRUCTION_L_SFLESI; 2424 #endif 2124 2425 inst->_type = instruction_information(INSTRUCTION_L_SFLESI)._type ; //TYPE_TEST; 2125 2426 inst->_operation = instruction_information(INSTRUCTION_L_SFLESI)._operation; //OPERATION_TEST_L_SFLES; … … 2150 2451 log_printf(TRACE,Decod,"instruction_l_sfleu"," * instruction : l.sfleu"); 2151 2452 2453 #ifdef STATISTICS 2454 inst->_opcod = INSTRUCTION_L_SFLEU; 2455 #endif 2152 2456 inst->_type = instruction_information(INSTRUCTION_L_SFLEU)._type ; //TYPE_TEST; 2153 2457 inst->_operation = instruction_information(INSTRUCTION_L_SFLEU)._operation; //OPERATION_TEST_L_SFLEU; … … 2178 2482 log_printf(TRACE,Decod,"instruction_l_sfleui"," * instruction : l.sfleui"); 2179 2483 2484 #ifdef STATISTICS 2485 inst->_opcod = INSTRUCTION_L_SFLEUI; 2486 #endif 2180 2487 inst->_type = instruction_information(INSTRUCTION_L_SFLEUI)._type ; //TYPE_TEST; 2181 2488 inst->_operation = instruction_information(INSTRUCTION_L_SFLEUI)._operation; //OPERATION_TEST_L_SFLEU; … … 2206 2513 log_printf(TRACE,Decod,"instruction_l_sflts"," * instruction : l.sflts"); 2207 2514 2515 #ifdef STATISTICS 2516 inst->_opcod = INSTRUCTION_L_SFLTS; 2517 #endif 2208 2518 inst->_type = instruction_information(INSTRUCTION_L_SFLTS)._type ; //TYPE_TEST; 2209 2519 inst->_operation = instruction_information(INSTRUCTION_L_SFLTS)._operation; //OPERATION_TEST_L_SFLTS; … … 2234 2544 log_printf(TRACE,Decod,"instruction_l_sfltsi"," * instruction : l.sfltsi"); 2235 2545 2546 #ifdef STATISTICS 2547 inst->_opcod = INSTRUCTION_L_SFLTSI; 2548 #endif 2236 2549 inst->_type = instruction_information(INSTRUCTION_L_SFLTSI)._type ; //TYPE_TEST; 2237 2550 inst->_operation = instruction_information(INSTRUCTION_L_SFLTSI)._operation; //OPERATION_TEST_L_SFLTS; … … 2262 2575 log_printf(TRACE,Decod,"instruction_l_sfltu"," * instruction : l.sfltu"); 2263 2576 2577 #ifdef STATISTICS 2578 inst->_opcod = INSTRUCTION_L_SFLTU; 2579 #endif 2264 2580 inst->_type = instruction_information(INSTRUCTION_L_SFLTU)._type ; //TYPE_TEST; 2265 2581 inst->_operation = instruction_information(INSTRUCTION_L_SFLTU)._operation; //OPERATION_TEST_L_SFLTU; … … 2290 2606 log_printf(TRACE,Decod,"instruction_l_sfltui"," * instruction : l.sfltui"); 2291 2607 2608 #ifdef STATISTICS 2609 inst->_opcod = INSTRUCTION_L_SFLTUI; 2610 #endif 2292 2611 inst->_type = instruction_information(INSTRUCTION_L_SFLTUI)._type ; //TYPE_TEST; 2293 2612 inst->_operation = instruction_information(INSTRUCTION_L_SFLTUI)._operation; //OPERATION_TEST_L_SFLTU; … … 2318 2637 log_printf(TRACE,Decod,"instruction_l_sfne"," * instruction : l.sfne"); 2319 2638 2639 #ifdef STATISTICS 2640 inst->_opcod = INSTRUCTION_L_SFNE; 2641 #endif 2320 2642 inst->_type = instruction_information(INSTRUCTION_L_SFNE)._type ; //TYPE_TEST; 2321 2643 inst->_operation = instruction_information(INSTRUCTION_L_SFNE)._operation; //OPERATION_TEST_L_SFNE; … … 2346 2668 log_printf(TRACE,Decod,"instruction_l_sfnei"," * instruction : l.sfnei"); 2347 2669 2670 #ifdef STATISTICS 2671 inst->_opcod = INSTRUCTION_L_SFNEI; 2672 #endif 2348 2673 inst->_type = instruction_information(INSTRUCTION_L_SFNEI)._type ; //TYPE_TEST; 2349 2674 inst->_operation = instruction_information(INSTRUCTION_L_SFNEI)._operation; //OPERATION_TEST_L_SFNE; … … 2374 2699 log_printf(TRACE,Decod,"instruction_l_sh"," * instruction : l.sh"); 2375 2700 2701 #ifdef STATISTICS 2702 inst->_opcod = INSTRUCTION_L_SH; 2703 #endif 2376 2704 inst->_type = instruction_information(INSTRUCTION_L_SH)._type ; //TYPE_MEMORY; 2377 2705 inst->_operation = instruction_information(INSTRUCTION_L_SH)._operation; //OPERATION_MEMORY_STORE_16; … … 2403 2731 log_printf(TRACE,Decod,"instruction_l_sll"," * instruction : l.sll"); 2404 2732 2733 #ifdef STATISTICS 2734 inst->_opcod = INSTRUCTION_L_SLL; 2735 #endif 2405 2736 inst->_type = instruction_information(INSTRUCTION_L_SLL)._type ; //TYPE_SHIFT; 2406 2737 inst->_operation = instruction_information(INSTRUCTION_L_SLL)._operation; //OPERATION_SHIFT_L_SLL; … … 2431 2762 log_printf(TRACE,Decod,"instruction_l_slli"," * instruction : l.slli"); 2432 2763 2764 #ifdef STATISTICS 2765 inst->_opcod = INSTRUCTION_L_SLLI; 2766 #endif 2433 2767 inst->_type = instruction_information(INSTRUCTION_L_SLLI)._type ; //TYPE_SHIFT; 2434 2768 inst->_operation = instruction_information(INSTRUCTION_L_SLLI)._operation; //OPERATION_SHIFT_L_SLL; … … 2459 2793 log_printf(TRACE,Decod,"instruction_l_sra"," * instruction : l.sra"); 2460 2794 2795 #ifdef STATISTICS 2796 inst->_opcod = INSTRUCTION_L_SRA; 2797 #endif 2461 2798 inst->_type = instruction_information(INSTRUCTION_L_SRA)._type ; //TYPE_SHIFT; 2462 2799 inst->_operation = instruction_information(INSTRUCTION_L_SRA)._operation; //OPERATION_SHIFT_L_SRA; … … 2487 2824 log_printf(TRACE,Decod,"instruction_l_srai"," * instruction : l.srai"); 2488 2825 2826 #ifdef STATISTICS 2827 inst->_opcod = INSTRUCTION_L_SRAI; 2828 #endif 2489 2829 inst->_type = instruction_information(INSTRUCTION_L_SRAI)._type ; //TYPE_SHIFT; 2490 2830 inst->_operation = instruction_information(INSTRUCTION_L_SRAI)._operation; //OPERATION_SHIFT_L_SRA; … … 2515 2855 log_printf(TRACE,Decod,"instruction_l_srl"," * instruction : l.srl"); 2516 2856 2857 #ifdef STATISTICS 2858 inst->_opcod = INSTRUCTION_L_SRL; 2859 #endif 2517 2860 inst->_type = instruction_information(INSTRUCTION_L_SRL)._type ; //TYPE_SHIFT; 2518 2861 inst->_operation = instruction_information(INSTRUCTION_L_SRL)._operation; //OPERATION_SHIFT_L_SRL; … … 2543 2886 log_printf(TRACE,Decod,"instruction_l_srli"," * instruction : l.srli"); 2544 2887 2888 #ifdef STATISTICS 2889 inst->_opcod = INSTRUCTION_L_SRLI; 2890 #endif 2545 2891 inst->_type = instruction_information(INSTRUCTION_L_SRLI)._type ; //TYPE_SHIFT; 2546 2892 inst->_operation = instruction_information(INSTRUCTION_L_SRLI)._operation; //OPERATION_SHIFT_L_SRL; … … 2571 2917 log_printf(TRACE,Decod,"instruction_l_sub"," * instruction : l.sub"); 2572 2918 2919 #ifdef STATISTICS 2920 inst->_opcod = INSTRUCTION_L_SUB; 2921 #endif 2573 2922 inst->_type = instruction_information(INSTRUCTION_L_SUB)._type ; //TYPE_ALU; 2574 2923 inst->_operation = instruction_information(INSTRUCTION_L_SUB)._operation; //OPERATION_ALU_L_SUB; … … 2599 2948 log_printf(TRACE,Decod,"instruction_l_sw"," * instruction : l.sw"); 2600 2949 2950 #ifdef STATISTICS 2951 inst->_opcod = INSTRUCTION_L_SW; 2952 #endif 2601 2953 inst->_type = instruction_information(INSTRUCTION_L_SW)._type ; //TYPE_MEMORY; 2602 2954 inst->_operation = instruction_information(INSTRUCTION_L_SW)._operation; //OPERATION_MEMORY_STORE_32; … … 2634 2986 else 2635 2987 { 2988 #ifdef STATISTICS 2989 inst->_opcod = INSTRUCTION_L_SYS; 2990 #endif 2636 2991 inst->_type = instruction_information(INSTRUCTION_L_SYS)._type ; //TYPE_SPECIAL; 2637 2992 inst->_operation = instruction_information(INSTRUCTION_L_SYS)._operation; //OPERATION_SPECIAL_L_SYS; … … 2678 3033 else 2679 3034 { 3035 #ifdef STATISTICS 3036 inst->_opcod = INSTRUCTION_L_TRAP; 3037 #endif 2680 3038 inst->_type = instruction_information(INSTRUCTION_L_TRAP)._type ; //TYPE_SPECIAL; 2681 3039 inst->_operation = instruction_information(INSTRUCTION_L_TRAP)._operation; //OPERATION_SPECIAL_L_TRAP; … … 2707 3065 log_printf(TRACE,Decod,"instruction_l_xor"," * instruction : l.xor"); 2708 3066 3067 #ifdef STATISTICS 3068 inst->_opcod = INSTRUCTION_L_XOR; 3069 #endif 2709 3070 inst->_type = instruction_information(INSTRUCTION_L_XOR)._type ; //TYPE_ALU; 2710 3071 inst->_operation = instruction_information(INSTRUCTION_L_XOR)._operation; //OPERATION_ALU_L_XOR; … … 2735 3096 log_printf(TRACE,Decod,"instruction_l_xori"," * instruction : l.xori"); 2736 3097 3098 #ifdef STATISTICS 3099 inst->_opcod = INSTRUCTION_L_XORI; 3100 #endif 2737 3101 inst->_type = instruction_information(INSTRUCTION_L_XORI)._type ; //TYPE_ALU; 2738 3102 inst->_operation = instruction_information(INSTRUCTION_L_XORI)._operation; //OPERATION_ALU_L_XOR; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/include/Decod.h
r136 r137 84 84 public : SC_OUT(Tcontext_t ) ** out_DECOD_CONTEXT_ID ;//[nb_inst_decod] 85 85 public : SC_OUT(Tdepth_t ) ** out_DECOD_DEPTH ;//[nb_inst_decod] 86 #ifdef STATISTICS 87 public : SC_OUT(uint32_t ) ** out_DECOD_INSTRUCTION ;//[nb_inst_decod] 88 #endif 86 89 public : SC_OUT(Ttype_t ) ** out_DECOD_TYPE ;//[nb_inst_decod] 87 90 public : SC_OUT(Toperation_t ) ** out_DECOD_OPERATION ;//[nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_allocation.cpp
r136 r137 83 83 ALLOC1_SIGNAL_OUT(out_DECOD_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 84 84 ALLOC1_SIGNAL_OUT(out_DECOD_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ); 85 #ifdef STATISTICS 86 ALLOC1_SIGNAL_OUT(out_DECOD_INSTRUCTION ,"instruction" ,uint32_t ,32 ); 87 #endif 85 88 ALLOC1_SIGNAL_OUT(out_DECOD_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 86 89 ALLOC1_SIGNAL_OUT(out_DECOD_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_deallocation.cpp
r136 r137 44 44 DELETE1_SIGNAL(out_DECOD_CONTEXT_ID ,_param->_nb_inst_decod,_param->_size_context_id ); 45 45 DELETE1_SIGNAL(out_DECOD_DEPTH ,_param->_nb_inst_decod,_param->_size_depth ); 46 #ifdef STATISTICS 47 DELETE1_SIGNAL(out_DECOD_INSTRUCTION ,_param->_nb_inst_decod,32 ); 48 #endif 46 49 DELETE1_SIGNAL(out_DECOD_TYPE ,_param->_nb_inst_decod,_param->_size_type ); 47 50 DELETE1_SIGNAL(out_DECOD_OPERATION ,_param->_nb_inst_decod,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp
r136 r137 107 107 _decod_instruction->_address_next = addr+1; 108 108 _decod_instruction->_is_delay_slot = internal_CONTEXT_IS_DELAY_SLOT [x]; 109 #ifdef STATISTICS 110 _decod_instruction->_opcod = -1; // not necessary 111 #endif 109 112 _decod_instruction->_type = 0; // not necessary 110 113 _decod_instruction->_operation = 0; // not necessary … … 174 177 if (_param->_have_port_depth) 175 178 PORT_WRITE(out_DECOD_DEPTH [i], depth); 179 #ifdef STATISTICS 180 PORT_WRITE(out_DECOD_INSTRUCTION [i], _decod_instruction->_opcod ); 181 #endif 176 182 PORT_WRITE(out_DECOD_TYPE [i], type); 177 183 PORT_WRITE(out_DECOD_OPERATION [i], _decod_instruction->_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_vhdl_body.cpp
r135 r137 36 36 37 37 for(uint32_t i = 0;i < _param->_nb_inst_decod;i++){ 38 vhdl->set_body(0,"internal_DECOD_INSTRUCTION_"+toString(i)+" <= in_IFETCH_0_"+toString(i)+"_INSTRUCTION WHEN in_IFETCH_0_ EXCEPTION = "+std_logic_cst(_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE)+" ELSE "+std_logic_cst(6,OPCOD_10)+" & "+std_logic_cst(2,OPCOD_L_NOP)+" & X\"000000\" ;");38 vhdl->set_body(0,"internal_DECOD_INSTRUCTION_"+toString(i)+" <= in_IFETCH_0_"+toString(i)+"_INSTRUCTION WHEN in_IFETCH_0_"+toString(i)+"_EXCEPTION = "+std_logic_cst(_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE)+" ELSE "+std_logic_cst(6,OPCOD_10)+" & "+std_logic_cst(2,OPCOD_L_NOP)+" & X\"000000\" ;"); 39 39 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_VAL <= internal_DECOD_"+toString(i)+"_VAL; "); 40 40 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_TYPE <= internal_DECOD_INSTRUCTION_"+toString(i)+"_TYPE; "); … … 53 53 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_NUM_REG_RE <= internal_DECOD_INSTRUCTION_"+toString(i)+"_NUM_REG_RE; "); 54 54 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_EXCEPTION_USE <= internal_DECOD_INSTRUCTION_"+toString(i)+"_EXCEPTION_USE; "); 55 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_EXCEPTION <= internal_DECOD_INSTRUCTION_"+toString(i)+"_EXCEPTION WHEN in_IFETCH_0_ EXCEPTION = "+std_logic_cst(_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE)+" ELSE "+std_logic_cst(_param->_size_exception_decod,EXCEPTION_DECOD_NONE)+"; ");55 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_EXCEPTION <= internal_DECOD_INSTRUCTION_"+toString(i)+"_EXCEPTION WHEN in_IFETCH_0_"+toString(i)+"_EXCEPTION = "+std_logic_cst(_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE)+" ELSE "+std_logic_cst(_param->_size_exception_decod,EXCEPTION_DECOD_NONE)+"; "); 56 56 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_NO_EXECUTE <= internal_DECOD_INSTRUCTION_"+toString(i)+"_NO_EXECUTE; "); 57 57 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_IS_DELAY_SLOT <= internal_DECOD_INSTRUCTION_"+toString(i)+"_IS_DELAY_SLOT; "); … … 59 59 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_ADDRESS <= internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS; "); 60 60 #endif 61 vhdl->set_body(0,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS <= in_IFETCH_0_ ADDRESS + "+std_logic_cst(_param->_size_instruction_address,i)+" ;");61 vhdl->set_body(0,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS <= in_IFETCH_0_"+toString(i)+"_ADDRESS + "+std_logic_cst(_param->_size_instruction_address,i)+" ;"); 62 62 vhdl->set_body(0,"out_DECOD_"+toString(i)+"_ADDRESS_NEXT <= internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT; "); 63 vhdl->set_body(0,"internal_DECOD_IN_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_ "+toString(i)+"_ADDRESS + '1'; ");63 vhdl->set_body(0,"internal_DECOD_IN_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_0_"+toString(i)+"_ADDRESS + '1'; "); 64 64 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_BRANCH_CONDITION <= internal_DECOD_INSTRUCTION_"+toString(i)+"_BRANCH_CONDITION; "); 65 65 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_BRANCH_DIRECTION <= internal_DECOD_INSTRUCTION_"+toString(i)+"_BRANCH_DIRECTION; "); 66 66 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_ADDRESS_SRC <= internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS; "); 67 67 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_ADDRESS_DEST <= internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT; "); 68 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_BRANCH_STATE <= in_IFETCH_0_ BRANCH_STATE; ");68 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_BRANCH_STATE <= in_IFETCH_0_"+toString(i)+"_BRANCH_STATE; "); 69 69 vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_VAL <= internal_PREDICT_"+toString(i)+"_VAL; "); 70 70 71 if(_param->_have_port_depth) vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_BRANCH_UPDATE_PREDICTION_ID <= in_IFETCH_0_ BRANCH_UPDATE_PREDICTION_ID; ");72 if(_param->_have_port_inst_ifetch_ptr) vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_MATCH_INST_IFETCH_PTR <= '1' WHEN in_IFETCH_0_ INST_IFETCH_PTR = "+std_logic_cst(_param->_size_inst_ifetch_ptr,i)+" ELSE '0'; ");71 if(_param->_have_port_depth) vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_BRANCH_UPDATE_PREDICTION_ID <= in_IFETCH_0_"+toString(i)+"_BRANCH_UPDATE_PREDICTION_ID; "); 72 if(_param->_have_port_inst_ifetch_ptr) vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_MATCH_INST_IFETCH_PTR <= '1' WHEN in_IFETCH_0_"+toString(i)+"_INST_IFETCH_PTR = "+std_logic_cst(_param->_size_inst_ifetch_ptr,i)+" ELSE '0'; "); 73 73 else vhdl->set_body(0,"out_PREDICT_"+toString(i)+"_MATCH_INST_IFETCH_PTR <= '1' WHEN internal_DECOD_INSTRUCTION_0_TYPE = "+std_logic_cst(_param->_size_type,TYPE_BRANCH)+" ELSE '0' ; "); 74 74 } … … 88 88 89 89 vhdl->set_body(0,"out_CONTEXT_EVENT_VAL <= internal_CONTEXT_EVENT_VAL; "); 90 vhdl->set_body(0,"out_CONTEXT_EVENT_TYPE <= internal_DECOD_INSTRUCTION_0_EVENT_TYPE WHEN in_IFETCH_0_ EXCEPTION = "+std_logic_cst(_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE)+" ELSE "+std_logic_cst(_param->_size_event_type,EVENT_TYPE_EXCEPTION)+"; ");90 vhdl->set_body(0,"out_CONTEXT_EVENT_TYPE <= internal_DECOD_INSTRUCTION_0_EVENT_TYPE WHEN in_IFETCH_0_0_EXCEPTION = "+std_logic_cst(_param->_size_exception_ifetch,EXCEPTION_IFETCH_NONE)+" ELSE "+std_logic_cst(_param->_size_event_type,EVENT_TYPE_EXCEPTION)+"; "); 91 91 vhdl->set_body(0,"out_CONTEXT_EVENT_ADDRESS <= internal_DECOD_INSTRUCTION_0_ADDRESS; "); 92 92 vhdl->set_body(0,"out_CONTEXT_EVENT_ADDRESS_EPCR <= internal_DECOD_INSTRUCTION_0_ADDRESS_NEXT; "); … … 226 226 extend_signal = ""; 227 227 for(uint32_t cp = 0;cp < _param->_size_instruction_address - 26;cp++) extend_signal += "internal_DECOD_INSTRUCTION_"+toString(i)+"(25) & "; 228 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_ "+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); ");228 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_0_"+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); "); 229 229 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_EVENT_TYPE <= "+std_logic_cst(_param->_size_event_type,EVENT_TYPE_NONE)+"; "); 230 230 … … 252 252 extend_signal = ""; 253 253 for(uint32_t cp = 0;cp < _param->_size_instruction_address - 26;cp++) extend_signal += "internal_DECOD_INSTRUCTION_"+toString(i)+"(25) & "; 254 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_ "+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); ");254 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_0_"+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); "); 255 255 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_EVENT_TYPE <= "+std_logic_cst(_param->_size_event_type,EVENT_TYPE_NONE)+"; "); 256 256 … … 266 266 extend_signal = ""; 267 267 for(uint32_t cp = 0;cp < _param->_size_general_data - 26;cp++) extend_signal += "internal_DECOD_INSTRUCTION_"+toString(i)+"(25) & "; 268 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_IMMEDIAT <= \"00\" & in_IFETCH_ "+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); ");268 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_IMMEDIAT <= \"00\" & in_IFETCH_0_"+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); "); 269 269 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_READ_RA <= '0'; "); 270 270 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_READ_RB <= '0'; "); … … 280 280 extend_signal = ""; 281 281 for(uint32_t cp = 0;cp < _param->_size_instruction_address - 26;cp++) extend_signal += "internal_DECOD_INSTRUCTION_"+toString(i)+"(25) & "; 282 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_ "+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); ");282 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_0_"+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); "); 283 283 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_EVENT_TYPE <= "+std_logic_cst(_param->_size_event_type,EVENT_TYPE_NONE)+"; "); 284 284 … … 294 294 extend_signal = ""; 295 295 for(uint32_t cp = 0;cp < _param->_size_general_data - 26;cp++) extend_signal += "internal_DECOD_INSTRUCTION_"+toString(i)+"(25) & "; 296 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_IMMEDIAT <= \"00\" & in_IFETCH_ "+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); ");296 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_IMMEDIAT <= \"00\" & in_IFETCH_0_"+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); "); 297 297 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_READ_RA <= '0'; "); 298 298 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_READ_RB <= '0'; "); … … 308 308 extend_signal = ""; 309 309 for(uint32_t cp = 0;cp < _param->_size_instruction_address - 26;cp++) extend_signal += "internal_DECOD_INSTRUCTION_"+toString(i)+"(25) & "; 310 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_ "+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); ");310 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT <= in_IFETCH_0_"+toString(i)+"_ADDRESS + ( "+extend_signal+"internal_DECOD_INSTRUCTION_"+toString(i)+" (25 downto 0) ); "); 311 311 vhdl->set_body(3,"internal_DECOD_INSTRUCTION_"+toString(i)+"_EVENT_TYPE <= "+std_logic_cst(_param->_size_event_type,EVENT_TYPE_NONE)+"; "); 312 312 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_vhdl_declaration.cpp
r135 r137 47 47 vhdl->set_signal ("internal_DECOD_INSTRUCTION_"+toString(i)+"_NO_EXECUTE ",1); 48 48 vhdl->set_signal ("internal_DECOD_INSTRUCTION_"+toString(i)+"_IS_DELAY_SLOT ",1); 49 #ifdef DEBUG50 49 vhdl->set_signal ("internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS ",_param->_size_instruction_address); 51 #endif52 50 vhdl->set_signal ("internal_DECOD_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT ",_param->_size_instruction_address); 53 51 vhdl->set_signal ("internal_DECOD_IN_INSTRUCTION_"+toString(i)+"_ADDRESS_NEXT ",_param->_size_instruction_address); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Decod_queue.h
r136 r137 75 75 public : SC_IN (Tcontext_t ) ** in_DECOD_IN_CONTEXT_ID ;//[nb_inst_decod] 76 76 public : SC_IN (Tdepth_t ) ** in_DECOD_IN_DEPTH ;//[nb_inst_decod] 77 #ifdef STATISTICS 78 public : SC_IN (uint32_t ) ** in_DECOD_IN_INSTRUCTION ;//[nb_inst_decod] 79 #endif 77 80 public : SC_IN (Ttype_t ) ** in_DECOD_IN_TYPE ;//[nb_inst_decod] 78 81 public : SC_IN (Toperation_t ) ** in_DECOD_IN_OPERATION ;//[nb_inst_decod] … … 103 106 public : SC_OUT(Tcontext_t ) ** out_DECOD_OUT_CONTEXT_ID ;//[nb_inst_decod] 104 107 public : SC_OUT(Tdepth_t ) ** out_DECOD_OUT_DEPTH ;//[nb_inst_decod] 108 #ifdef STATISTICS 109 public : SC_OUT(uint32_t ) ** out_DECOD_OUT_INSTRUCTION ;//[nb_inst_decod] 110 #endif 105 111 public : SC_OUT(Ttype_t ) ** out_DECOD_OUT_TYPE ;//[nb_inst_decod] 106 112 public : SC_OUT(Toperation_t ) ** out_DECOD_OUT_OPERATION ;//[nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/include/Types.h
r112 r137 33 33 public : Tcontext_t * _context_id ; 34 34 public : Tdepth_t * _depth ; 35 #ifdef STATISTICS 36 public : uint32_t * _instruction ; 37 #endif 35 38 public : Ttype_t * _type ; 36 39 public : Toperation_t * _operation ; … … 62 65 ALLOC1(_context_id ,Tcontext_t ,_nb_inst); 63 66 ALLOC1(_depth ,Tdepth_t ,_nb_inst); 67 #ifdef STATISTICS 68 ALLOC1(_instruction ,uint32_t ,_nb_inst); 69 #endif 64 70 ALLOC1(_type ,Ttype_t ,_nb_inst); 65 71 ALLOC1(_operation ,Toperation_t ,_nb_inst); … … 94 100 DELETE1(_context_id ,_nb_inst); 95 101 DELETE1(_depth ,_nb_inst); 102 #ifdef STATISTICS 103 DELETE1(_instruction ,_nb_inst); 104 #endif 96 105 DELETE1(_type ,_nb_inst); 97 106 DELETE1(_operation ,_nb_inst); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_allocation.cpp
r123 r137 63 63 ALLOC1_SIGNAL_IN ( in_DECOD_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 64 64 ALLOC1_SIGNAL_IN ( in_DECOD_IN_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ); 65 #ifdef STATISTICS 66 ALLOC1_SIGNAL_IN ( in_DECOD_IN_INSTRUCTION ,"instruction" ,uint32_t ,32 ); 67 #endif 65 68 ALLOC1_SIGNAL_IN ( in_DECOD_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 66 69 ALLOC1_SIGNAL_IN ( in_DECOD_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 97 100 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 98 101 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ); 102 #ifdef STATISTICS 103 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_INSTRUCTION ,"instruction" ,uint32_t ,32 ); 104 #endif 99 105 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 100 106 ALLOC1_SIGNAL_OUT(out_DECOD_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_deallocation.cpp
r123 r137 33 33 DELETE1_SIGNAL( in_DECOD_IN_CONTEXT_ID ,_param->_nb_inst_decod,_param->_size_context_id ); 34 34 DELETE1_SIGNAL( in_DECOD_IN_DEPTH ,_param->_nb_inst_decod,_param->_size_depth ); 35 #ifdef STATISTICS 36 DELETE1_SIGNAL( in_DECOD_IN_INSTRUCTION ,_param->_nb_inst_decod,32); 37 #endif 35 38 DELETE1_SIGNAL( in_DECOD_IN_TYPE ,_param->_nb_inst_decod,_param->_size_type ); 36 39 DELETE1_SIGNAL( in_DECOD_IN_OPERATION ,_param->_nb_inst_decod,_param->_size_operation ); … … 60 63 DELETE1_SIGNAL(out_DECOD_OUT_CONTEXT_ID ,_param->_nb_inst_decod,_param->_size_context_id ); 61 64 DELETE1_SIGNAL(out_DECOD_OUT_DEPTH ,_param->_nb_inst_decod,_param->_size_depth ); 65 #ifdef STATISTICS 66 DELETE1_SIGNAL(out_DECOD_OUT_INSTRUCTION ,_param->_nb_inst_decod,32); 67 #endif 62 68 DELETE1_SIGNAL(out_DECOD_OUT_TYPE ,_param->_nb_inst_decod,_param->_size_type ); 63 69 DELETE1_SIGNAL(out_DECOD_OUT_OPERATION ,_param->_nb_inst_decod,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_multi_fifo_genMoore.cpp
r123 r137 55 55 if (_param->_have_port_depth) 56 56 PORT_WRITE(out_DECOD_OUT_DEPTH [i],reg_QUEUE[num_bank].front()->_depth [0]); 57 #ifdef STATISTICS 58 PORT_WRITE(out_DECOD_OUT_INSTRUCTION [i],reg_QUEUE[num_bank].front()->_instruction [0]); 59 #endif 57 60 PORT_WRITE(out_DECOD_OUT_TYPE [i],reg_QUEUE[num_bank].front()->_type [0]); 58 61 PORT_WRITE(out_DECOD_OUT_OPERATION [i],reg_QUEUE[num_bank].front()->_operation [0]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_multi_fifo_transition.cpp
r136 r137 74 74 entry->_context_id [0] = context; 75 75 entry->_depth [0] = (_param->_have_port_depth)?PORT_READ(in_DECOD_IN_DEPTH [i]):0; 76 #ifdef STATISTICS 77 entry->_instruction [0] = PORT_READ(in_DECOD_IN_INSTRUCTION [i]); 78 #endif 76 79 entry->_type [0] = PORT_READ(in_DECOD_IN_TYPE [i]); 77 80 entry->_operation [0] = PORT_READ(in_DECOD_IN_OPERATION [i]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_one_fifo_genMoore.cpp
r123 r137 55 55 if (_param->_have_port_depth) 56 56 PORT_WRITE(out_DECOD_OUT_DEPTH [i],reg_QUEUE->front()->_depth [index]); 57 #ifdef STATISTICS 58 PORT_WRITE(out_DECOD_OUT_INSTRUCTION [i],reg_QUEUE->front()->_instruction [index]); 59 #endif 57 60 PORT_WRITE(out_DECOD_OUT_TYPE [i],reg_QUEUE->front()->_type [index]); 58 61 PORT_WRITE(out_DECOD_OUT_OPERATION [i],reg_QUEUE->front()->_operation [index]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue_function_one_fifo_transition.cpp
r136 r137 77 77 entry->_context_id [i] = context; 78 78 entry->_depth [i] = (_param->_have_port_depth)?PORT_READ(in_DECOD_IN_DEPTH [i]):0; 79 #ifdef STATISTICS 80 entry->_instruction [i] = PORT_READ(in_DECOD_IN_INSTRUCTION [i]); 81 #endif 79 82 entry->_type [i] = PORT_READ(in_DECOD_IN_TYPE [i]); 80 83 entry->_operation [i] = PORT_READ(in_DECOD_IN_OPERATION [i]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Parameters.cpp
r135 r137 42 42 test(); 43 43 44 _size_internal_queue =45 (1 + // _val46 _size_context_id + // _context_id47 _size_depth + // _depth48 _size_type + // _type49 _size_operation + // _operation50 1 + // _no_execute51 1 + // _is_delay_slot52 #ifdef DEBUG53 _size_instruction_address + // _address54 #endif55 _size_instruction_address + // _address_next56 1 + // _has_immediat57 _size_general_data + // _immediat58 1 + // _read_ra59 _size_general_register_logic + // _num_reg_ra60 1 + // _read_rb61 _size_general_register_logic + // _num_reg_rb62 1 + // _read_rc63 _size_special_register_logic + // _num_reg_rc64 1 + // _write_rd65 _size_general_register_logic + // _num_reg_rd66 1 + // _write_re67 _size_special_register_logic + // _num_reg_re68 _size_exception_use + // _exception_use69 _size_exception_decod // _exception70 ) * _nb_inst_decod;71 72 44 if (is_toplevel) 73 45 { … … 111 83 log_begin(Decod_queue,FUNCTION); 112 84 85 _size_internal_queue = 86 (1 + // _val 87 _size_context_id + // _context_id 88 _size_depth + // _depth 89 _size_type + // _type 90 _size_operation + // _operation 91 1 + // _no_execute 92 1 + // _is_delay_slot 93 #ifdef DEBUG 94 _size_instruction_address + // _address 95 #endif 96 _size_instruction_address + // _address_next 97 1 + // _has_immediat 98 _size_general_data + // _immediat 99 1 + // _read_ra 100 _size_general_register_logic + // _num_reg_ra 101 1 + // _read_rb 102 _size_general_register_logic + // _num_reg_rb 103 1 + // _read_rc 104 _size_special_register_logic + // _num_reg_rc 105 1 + // _write_rd 106 _size_general_register_logic + // _num_reg_rd 107 1 + // _write_re 108 _size_special_register_logic + // _num_reg_re 109 _size_exception_use + // _exception_use 110 _size_exception_decod // _exception 111 ) * _nb_inst_decod; 112 113 113 log_end(Decod_queue,FUNCTION); 114 114 }; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/include/Decod_unit.h
r136 r137 83 83 public : SC_OUT(Tcontext_t ) ** out_DECOD_CONTEXT_ID ;//[nb_inst_decod] 84 84 public : SC_OUT(Tdepth_t ) ** out_DECOD_DEPTH ;//[nb_inst_decod] 85 #ifdef STATISTICS 86 public : SC_OUT(uint32_t ) ** out_DECOD_INSTRUCTION ;//[nb_inst_decod] 87 #endif 85 88 public : SC_OUT(Ttype_t ) ** out_DECOD_TYPE ;//[nb_inst_decod] 86 89 public : SC_OUT(Toperation_t ) ** out_DECOD_OPERATION ;//[nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/src/Decod_unit_allocation.cpp
r136 r137 80 80 ALLOC1_SIGNAL_OUT(out_DECOD_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 81 81 ALLOC1_SIGNAL_OUT(out_DECOD_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ); 82 #ifdef STATISTICS 83 ALLOC1_SIGNAL_OUT(out_DECOD_INSTRUCTION ,"instruction" ,uint32_t ,32); 84 #endif 82 85 ALLOC1_SIGNAL_OUT(out_DECOD_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 83 86 ALLOC1_SIGNAL_OUT(out_DECOD_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 293 296 COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(i)+"_DEPTH" , 294 297 dest, "in_DECOD_IN_"+toString(i)+"_DEPTH" ); 298 #ifdef STATISTICS 299 COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(i)+"_INSTRUCTION" , 300 dest, "in_DECOD_IN_"+toString(i)+"_INSTRUCTION" ); 301 #endif 295 302 COMPONENT_MAP(_component,src ,"out_DECOD_" +toString(i)+"_TYPE" , 296 303 dest, "in_DECOD_IN_"+toString(i)+"_TYPE" ); … … 483 490 PORT_MAP(_component,src ,"out_DECOD_OUT_"+toString(i)+"_DEPTH" , 484 491 dest,"out_DECOD_" +toString(i)+"_DEPTH" ); 492 #ifdef STATISTICS 493 PORT_MAP(_component,src ,"out_DECOD_OUT_"+toString(i)+"_INSTRUCTION" , 494 dest,"out_DECOD_" +toString(i)+"_INSTRUCTION" ); 495 #endif 485 496 PORT_MAP(_component,src ,"out_DECOD_OUT_"+toString(i)+"_TYPE" , 486 497 dest,"out_DECOD_" +toString(i)+"_TYPE" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/src/Decod_unit_deallocation.cpp
r136 r137 43 43 DELETE1_SIGNAL(out_DECOD_CONTEXT_ID ,_param->_nb_inst_decod,_param->_size_context_id ); 44 44 DELETE1_SIGNAL(out_DECOD_DEPTH ,_param->_nb_inst_decod,_param->_size_depth ); 45 #ifdef STATISTICS 46 DELETE1_SIGNAL(out_DECOD_INSTRUCTION ,_param->_nb_inst_decod,32); 47 #endif 45 48 DELETE1_SIGNAL(out_DECOD_TYPE ,_param->_nb_inst_decod,_param->_size_type ); 46 49 DELETE1_SIGNAL(out_DECOD_OPERATION ,_param->_nb_inst_decod,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_vhdl_body.cpp
r135 r137 243 243 vhdl->set_body (3,"reg_ADDRESS <= var_ADDRESS;"); 244 244 if(_param->_have_port_inst_ifetch_ptr) 245 //vhdl->set_body (3,"reg_INST_IFETCH_PTR ("+reg_ptr_write+") <= var_INST_IFETCH_PTR;");245 //vhdl->set_body (3,"reg_INST_IFETCH_PTR ("+reg_ptr_write+") <= var_INST_IFETCH_PTR;"); 246 246 vhdl->set_body (3,"reg_INST_IFETCH_PTR <= var_INST_IFETCH_PTR;"); 247 247 // vhdl->set_body (3,"reg_BRANCH_STATE ("+reg_ptr_write+") <= var_BRANCH_STATE;"); … … 288 288 vhdl->set_body (1,"out_ADDRESS_ACK <= internal_ADDRESS_ACK;"); 289 289 if (_param->_have_port_ifetch_queue_ptr) { 290 vhdl->set_body (1,"out_ADDRESS_IFETCH_QUEUE_ID <= reg_PTR_WRITE;"); 290 uint32_t diff_size = _param->_size_ifetch_queue_ptr - log2(_param->_size_queue); 291 std::string complete_size = ""; 292 293 if (diff_size > 0) 294 complete_size = std_logic_cst(diff_size,0)+" &"; 295 296 vhdl->set_body (1,"out_ADDRESS_IFETCH_QUEUE_ID <= "+complete_size+" reg_PTR_WRITE;"); 291 297 } 292 298 } … … 303 309 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_VAL <= internal_DECOD_"+toString(j)+"_VAL;"); 304 310 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_INSTRUCTION <= reg_DATA("+reg_ptr_read+")("+toString(j)+") ;"); 311 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_ADDRESS <= reg_ADDRESS("+reg_ptr_read+")+"+std_logic_cst(_param->_size_instruction,j)+";"); 312 if (_param->_have_port_inst_ifetch_ptr) 313 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_BRANCH_STATE <= reg_BRANCH_STATE("+reg_ptr_read+") when reg_INST_IFETCH_PTR("+reg_ptr_read+") = "+std_logic_cst(_param->_size_inst_ifetch_ptr,j)+" else "+std_logic_cst(_param->_size_branch_state,BRANCH_STATE_NONE)+";"); 314 else 315 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_BRANCH_STATE <= reg_BRANCH_STATE("+reg_ptr_read+");"); 316 317 if (_param->_have_port_depth) 318 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_BRANCH_UPDATE_PREDICTION_ID <= reg_BRANCH_UPDATE_PREDICTION_ID("+reg_ptr_read+");"); 319 vhdl->set_body(0,"out_DECOD_"+toString(j)+"_EXCEPTION <= reg_EXCEPTION("+reg_ptr_read+");"); 320 305 321 } 306 vhdl->set_body(0,"out_DECOD_ADDRESS <= reg_ADDRESS("+reg_ptr_read+");");307 if (_param->_have_port_inst_ifetch_ptr)308 vhdl->set_body(0,"out_DECOD_INST_IFETCH_PTR <= reg_INST_IFETCH_PTR("+reg_ptr_read+");");309 vhdl->set_body(0,"out_DECOD_BRANCH_STATE <= reg_BRANCH_STATE("+reg_ptr_read+");");310 if (_param->_have_port_depth)311 vhdl->set_body(0,"out_DECOD_BRANCH_UPDATE_PREDICTION_ID <= reg_BRANCH_UPDATE_PREDICTION_ID("+reg_ptr_read+");");312 vhdl->set_body(0,"out_DECOD_EXCEPTION <= reg_EXCEPTION("+reg_ptr_read+");");313 322 } 314 323 vhdl->set_body(0,""); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_vhdl_declaration.cpp
r135 r137 62 62 vhdl->set_type ("Tenable ","array ("+toString(_param->_size_queue-1)+" downto 0) of Tcase_enable"); 63 63 vhdl->set_signal ("reg_INSTRUCTION_ENABLE ", "Tenable"); 64 vhdl->set_type ("Tadress ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_instruction ));64 vhdl->set_type ("Tadress ","array ("+toString(_param->_size_queue-1)+" downto 0) of "+std_logic(_param->_size_instruction_address)); 65 65 vhdl->set_signal ("reg_ADDRESS ", "Tadress"); 66 66 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/include/Front_end.h
r123 r137 90 90 public : SC_OUT(Tcontext_t ) ** out_DECOD_CONTEXT_ID ;//[sum_inst_decod] 91 91 public : SC_OUT(Tdepth_t ) ** out_DECOD_DEPTH ;//[sum_inst_decod] 92 #ifdef STATISTICS 93 public : SC_OUT(uint32_t ) ** out_DECOD_INSTRUCTION ;//[sum_inst_decod] 94 #endif 92 95 public : SC_OUT(Ttype_t ) ** out_DECOD_TYPE ;//[sum_inst_decod] 93 96 public : SC_OUT(Toperation_t ) ** out_DECOD_OPERATION ;//[sum_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Front_end_allocation.cpp
r136 r137 98 98 ALLOC1_SIGNAL_OUT (out_DECOD_CONTEXT_ID ,"CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id ); 99 99 ALLOC1_SIGNAL_OUT (out_DECOD_DEPTH ,"DEPTH" ,Tdepth_t ,_param->_size_depth ); 100 #ifdef STATISTICS 101 ALLOC1_SIGNAL_OUT (out_DECOD_INSTRUCTION ,"INSTRUCTION" ,uint32_t ,32); 102 #endif 100 103 ALLOC1_SIGNAL_OUT (out_DECOD_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ); 101 104 ALLOC1_SIGNAL_OUT (out_DECOD_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ); … … 700 703 701 704 for (uint32_t j=0; j<_param->_decod_unit_nb_context[i]; ++j) 702 { 703 dest = _name+"_glue"; 704 #ifdef POSITION 705 _component->interface_map (src ,"ifetch_"+toString(j), 706 dest,"ifetch_"+toString(i)+"_"+toString(j)); 707 #endif 708 709 if (_param->_have_port_context_id) 710 COMPONENT_MAP(_component,src , "in_IFETCH_"+toString(j) +"_CONTEXT_ID", 711 dest,"out_IFETCH_"+toString(i)+"_"+toString(j)+"_DECOD_UNIT_CONTEXT_ID"); 712 } 705 for (uint32_t k=0; k<_param->_nb_inst_fetch [j];++k) 706 { 707 dest = _name+"_glue"; 708 #ifdef POSITION 709 _component->interface_map (src ,"ifetch_"+toString(j)+"_"+toString(k), 710 dest,"ifetch_"+toString(i)+"_"+toString(j)); 711 #endif 712 713 if (_param->_have_port_context_id) 714 COMPONENT_MAP(_component,src , "in_IFETCH_"+toString(j)+"_"+toString(k)+"_CONTEXT_ID", 715 dest,"out_IFETCH_"+toString(i)+"_"+toString(j)+"_DECOD_UNIT_CONTEXT_ID"); 716 } 713 717 714 718 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 729 733 PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_DEPTH" , 730 734 dest,"out_DECOD_"+toString(x)+"_DEPTH" ); 735 #ifdef STATISTICS 736 PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_INSTRUCTION" , 737 dest,"out_DECOD_"+toString(x)+"_INSTRUCTION" ); 738 #endif 731 739 PORT_MAP(_component,src ,"out_DECOD_"+toString(j)+"_TYPE" , 732 740 dest,"out_DECOD_"+toString(x)+"_TYPE" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Front_end_deallocation.cpp
r128 r137 45 45 DELETE1_SIGNAL(out_DECOD_CONTEXT_ID ,_param->_sum_inst_decod,_param->_size_context_id ); 46 46 DELETE1_SIGNAL(out_DECOD_DEPTH ,_param->_sum_inst_decod,_param->_size_depth ); 47 #ifdef STATISTICS 48 DELETE1_SIGNAL(out_DECOD_INSTRUCTION ,_param->_sum_inst_decod,32); 49 #endif 47 50 DELETE1_SIGNAL(out_DECOD_TYPE ,_param->_sum_inst_decod,_param->_size_type ); 48 51 DELETE1_SIGNAL(out_DECOD_OPERATION ,_param->_sum_inst_decod,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h
r136 r137 61 61 public : counter_t ** _stat_nb_inst_retire_ok ;//[nb_thread] 62 62 public : counter_t ** _stat_nb_inst_retire_ko ;//[nb_thread] 63 public : counter_t ** _stat_nb_inst_instruction ;//[nb_instruction] 63 64 public : counter_t ** _stat_nb_inst_type ;//[nb_type] 64 65 public : counter_t ** _stat_bank_nb_inst ;//[nb_bank] … … 87 88 //public : SC_IN (Tcontext_t ) *** in_INSERT_RENAME_UNIT_ID ;//[nb_rename_unit][nb_inst_insert] 88 89 public : SC_IN (Tdepth_t ) *** in_INSERT_DEPTH ;//[nb_rename_unit][nb_inst_insert] 90 #ifdef STATISTICS 91 public : SC_IN (uint32_t ) *** in_INSERT_INSTRUCTION ;//[nb_rename_unit][nb_inst_insert] 92 #endif 89 93 public : SC_IN (Ttype_t ) *** in_INSERT_TYPE ;//[nb_rename_unit][nb_inst_insert] 90 94 public : SC_IN (Toperation_t ) *** in_INSERT_OPERATION ;//[nb_rename_unit][nb_inst_insert] … … 104 108 public : SC_IN (Tgeneral_address_t ) *** in_INSERT_NUM_REG_RA_LOG ;//[nb_rename_unit][nb_inst_insert] 105 109 public : SC_IN (Tgeneral_address_t ) *** in_INSERT_NUM_REG_RA_PHY ;//[nb_rename_unit][nb_inst_insert] 110 #endif 106 111 public : SC_IN (Tcontrol_t ) *** in_INSERT_READ_RB ;//[nb_rename_unit][nb_inst_insert] 112 #ifdef DEBUG 107 113 public : SC_IN (Tgeneral_address_t ) *** in_INSERT_NUM_REG_RB_LOG ;//[nb_rename_unit][nb_inst_insert] 108 114 public : SC_IN (Tgeneral_address_t ) *** in_INSERT_NUM_REG_RB_PHY ;//[nb_rename_unit][nb_inst_insert] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Types.h
r124 r137 85 85 public : uint32_t rename_unit_id ; 86 86 public : Tdepth_t depth ; 87 #ifdef STATISTICS 88 public : uint32_t instruction ; 89 #endif 87 90 public : Ttype_t type ; 88 91 public : Toperation_t operation ; … … 97 100 public : Tgeneral_address_t num_reg_ra_log ; 98 101 public : Tgeneral_address_t num_reg_ra_phy ; 102 #endif 99 103 public : Tcontrol_t read_rb ; 104 #ifdef DEBUG 100 105 public : Tgeneral_address_t num_reg_rb_log ; 101 106 public : Tgeneral_address_t num_reg_rb_phy ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp
r136 r137 66 66 // _ALLOC2_SIGNAL_IN ( in_INSERT_RENAME_UNIT_ID ,"rename_unit_id" ,Tcontext_t ,_param->_size_rename_unit_id ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 67 67 _ALLOC2_SIGNAL_IN ( in_INSERT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 68 #ifdef STATISTICS 69 _ALLOC2_SIGNAL_IN ( in_INSERT_INSTRUCTION ,"instruction" ,uint32_t ,32 ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 70 #endif 68 71 _ALLOC2_SIGNAL_IN ( in_INSERT_TYPE ,"type" ,Ttype_t ,_param->_size_type ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 69 72 _ALLOC2_SIGNAL_IN ( in_INSERT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); … … 76 79 _ALLOC2_SIGNAL_IN ( in_INSERT_ADDRESS_NEXT ,"address_next" ,Taddress_t ,_param->_size_instruction_address ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 77 80 _ALLOC2_SIGNAL_IN ( in_INSERT_EXCEPTION ,"exception" ,Texception_t ,_param->_size_exception ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 78 _ALLOC2_SIGNAL_IN ( in_INSERT_EXCEPTION_USE ,"exception_use" ,Texception_t ,_param->_size_exception 81 _ALLOC2_SIGNAL_IN ( in_INSERT_EXCEPTION_USE ,"exception_use" ,Texception_t ,_param->_size_exception_use ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 79 82 _ALLOC2_SIGNAL_IN ( in_INSERT_STORE_QUEUE_PTR_WRITE ,"store_queue_ptr_write",Tlsq_ptr_t ,_param->_size_store_queue_ptr ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 80 83 _ALLOC2_SIGNAL_IN ( in_INSERT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,_param->_size_load_queue_ptr ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); … … 83 86 _ALLOC2_SIGNAL_IN ( in_INSERT_NUM_REG_RA_LOG ,"num_reg_ra_log" ,Tgeneral_address_t,_param->_size_general_register_logic,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 84 87 _ALLOC2_SIGNAL_IN ( in_INSERT_NUM_REG_RA_PHY ,"num_reg_ra_phy" ,Tgeneral_address_t,_param->_size_general_register ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 88 #endif 85 89 _ALLOC2_SIGNAL_IN ( in_INSERT_READ_RB ,"read_rb" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 90 #ifdef DEBUG 86 91 _ALLOC2_SIGNAL_IN ( in_INSERT_NUM_REG_RB_LOG ,"num_reg_rb_log" ,Tgeneral_address_t,_param->_size_general_register_logic,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 87 92 _ALLOC2_SIGNAL_IN ( in_INSERT_NUM_REG_RB_PHY ,"num_reg_rb_phy" ,Tgeneral_address_t,_param->_size_general_register ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp
r136 r137 35 35 // DELETE2_SIGNAL( in_INSERT_RENAME_UNIT_ID ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_rename_unit_id ); 36 36 DELETE2_SIGNAL( in_INSERT_DEPTH ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_depth ); 37 #ifdef STATISTICS 38 DELETE2_SIGNAL( in_INSERT_INSTRUCTION ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],32); 39 #endif 37 40 DELETE2_SIGNAL( in_INSERT_TYPE ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_type ); 38 41 DELETE2_SIGNAL( in_INSERT_OPERATION ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_operation ); … … 52 55 DELETE2_SIGNAL( in_INSERT_NUM_REG_RA_LOG ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_general_register_logic); 53 56 DELETE2_SIGNAL( in_INSERT_NUM_REG_RA_PHY ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_general_register ); 57 #endif 54 58 DELETE2_SIGNAL( in_INSERT_READ_RB ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],1 ); 59 #ifdef DEBUG 55 60 DELETE2_SIGNAL( in_INSERT_NUM_REG_RB_LOG ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_general_register_logic); 56 61 DELETE2_SIGNAL( in_INSERT_NUM_REG_RB_PHY ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_general_register ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_statistics_allocation.cpp
r124 r137 52 52 _stat_nb_inst_retire_ok = new counter_t * [_param->_nb_thread]; 53 53 _stat_nb_inst_retire_ko = new counter_t * [_param->_nb_thread]; 54 _stat_nb_inst_instruction = new counter_t * [NB_INSTRUCTION]; 54 55 _stat_nb_inst_type = new counter_t * [_param->_nb_type]; 55 56 _stat_bank_nb_inst = new counter_t * [_param->_nb_bank]; 56 57 57 58 { 58 59 std::string sum_nb_inst_insert = "0"; … … 129 130 130 131 for (uint32_t i=0; i<_param->_nb_type; i++) 131 132 if (is_type_valid(i)) 132 133 { 133 134 _stat_nb_inst_type [i] = _stat->create_variable("nb_inst_type_"+toString(i)); … … 139 140 if (is_type_valid(i)) 140 141 { 141 std::string name = toString(static_cast<type_t>(i)).c_str(); 142 // _stat->create_expr_average_by_cycle("average_inst_type_"+toString(name), "nb_inst_type_"+toString(i), "", toString(_("Average instruction retire ok by cycle (type %s)"),name.c_str())); 143 _stat->create_expr_percent ("percent_inst_type_"+toString(name), "nb_inst_type_"+toString(i), sum_nb_inst_type, toString(_("Percent instruction retire ok by cycle (type %s)"),name.c_str())); 144 } 142 std::string name = toString(static_cast<type_t>(i)); 143 144 _stat->create_expr_percent ("percent_type_"+toString(name), "nb_inst_type_"+toString(i), sum_nb_inst_type, toString(_("Percent instruction retire ok by cycle (type %s)"),name.c_str())); 145 } 146 } 147 148 { 149 std::string sum_nb_inst_instruction = "0"; 150 151 for (uint32_t i=0; i<NB_INSTRUCTION; i++) 152 { 153 _stat_nb_inst_instruction [i] = _stat->create_variable("nb_inst_instruction_"+toString(i)); 154 155 sum_nb_inst_instruction = "+ nb_inst_instruction_"+toString(i) + " " +sum_nb_inst_instruction; 156 } 157 158 for (uint32_t i=0; i<NB_INSTRUCTION; i++) 159 { 160 std::string name = toString_instruction(i).c_str(); 161 162 _stat->create_expr_percent ("percent_instruction_"+toString(name), "nb_inst_instruction_"+toString(i), sum_nb_inst_instruction, toString(_("Percent instruction retire ok by cycle (instruction %s)"),name.c_str())); 163 } 145 164 } 146 165 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_statistics_deallocation.cpp
r124 r137 31 31 delete [] _stat_nb_inst_retire_ok; 32 32 delete [] _stat_nb_inst_retire_ko; 33 delete [] _stat_nb_inst_instruction; 33 34 delete [] _stat_nb_inst_type; 34 35 delete [] _stat_bank_nb_inst; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp
r136 r137 252 252 entry->rename_unit_id = x; 253 253 entry->depth = (_param->_have_port_depth)?PORT_READ(in_INSERT_DEPTH [x][y]):0; 254 #ifdef STATISTICS 255 entry->instruction = PORT_READ(in_INSERT_INSTRUCTION [x][y]); 256 #endif 254 257 entry->type = type; 255 258 entry->operation = operation; … … 266 269 entry->num_reg_ra_log = PORT_READ(in_INSERT_NUM_REG_RA_LOG [x][y]); 267 270 entry->num_reg_ra_phy = PORT_READ(in_INSERT_NUM_REG_RA_PHY [x][y]); 271 #endif 268 272 entry->read_rb = PORT_READ(in_INSERT_READ_RB [x][y]); 273 #ifdef DEBUG 269 274 entry->num_reg_rb_log = PORT_READ(in_INSERT_NUM_REG_RB_LOG [x][y]); 270 275 entry->num_reg_rb_phy = PORT_READ(in_INSERT_NUM_REG_RB_PHY [x][y]); … … 287 292 #ifdef DEBUG 288 293 entry->address = PORT_READ(in_INSERT_ADDRESS [x][y]); 289 #else290 entry->address = 0; // not necessary291 294 #endif 292 295 entry->address_next = PORT_READ(in_INSERT_ADDRESS_NEXT [x][y]); … … 823 826 if (retire_ok) 824 827 { 825 (*_stat_nb_inst_retire_ok [num_thread]) ++; 826 (*_stat_nb_inst_type [type] ) ++; 828 uint32_t instruction = entry->instruction; 829 830 (*_stat_nb_inst_retire_ok [num_thread] ) ++; 831 (*_stat_nb_inst_instruction [instruction]) ++; 832 (*_stat_nb_inst_type [type] ) ++; 827 833 } 828 834 else … … 1048 1054 // Read information 1049 1055 rob_state_t state = entry->state; 1050 Tdepth_t depth = entry->depth;1051 1052 Tdepth_t depth_min = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MIN[front_end_id][context_id]):0;1053 Tdepth_t depth_max = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MAX[front_end_id][context_id]):0;1054 Tcontrol_t depth_full = PORT_READ(in_DEPTH_FULL [front_end_id][context_id]);1056 // Tdepth_t depth = entry->depth; 1057 1058 // Tdepth_t depth_min = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MIN[front_end_id][context_id]):0; 1059 // Tdepth_t depth_max = (_param->_have_port_depth)?PORT_READ(in_DEPTH_MAX[front_end_id][context_id]):0; 1060 // Tcontrol_t depth_full = PORT_READ(in_DEPTH_FULL [front_end_id][context_id]); 1055 1061 1056 1062 // is a valid instruction ? … … 1088 1094 1089 1095 log_printf(TRACE,Commit_unit,FUNCTION," * is_valid : %d ((depth == depth_min) and not flush)",is_valid); 1090 log_printf(TRACE,Commit_unit,FUNCTION," * depth : %d",depth );1091 log_printf(TRACE,Commit_unit,FUNCTION," * depth_min : %d",depth_min);1092 log_printf(TRACE,Commit_unit,FUNCTION," * depth_max : %d",depth_max);1093 log_printf(TRACE,Commit_unit,FUNCTION," * depth_full : %d",depth_full);1096 // log_printf(TRACE,Commit_unit,FUNCTION," * depth : %d",depth ); 1097 // log_printf(TRACE,Commit_unit,FUNCTION," * depth_min : %d",depth_min); 1098 // log_printf(TRACE,Commit_unit,FUNCTION," * depth_max : %d",depth_max); 1099 // log_printf(TRACE,Commit_unit,FUNCTION," * depth_full : %d",depth_full); 1094 1100 log_printf(TRACE,Commit_unit,FUNCTION," * speculative : %d",speculative); 1095 1101 log_printf(TRACE,Commit_unit,FUNCTION," * flush : %d",flush); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h
r136 r137 119 119 public : SC_OUT(Tcontrol_t ) *** out_INSERT_COMMIT_UNIT_READ_RA ;//[nb_rename_unit][nb_inst_insert] 120 120 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_COMMIT_UNIT_NUM_REG_RA_PHY ;//[nb_rename_unit][nb_inst_insert] 121 #endif 121 122 public : SC_OUT(Tcontrol_t ) *** out_INSERT_COMMIT_UNIT_READ_RB ;//[nb_rename_unit][nb_inst_insert] 123 #ifdef DEBUG 122 124 public : SC_OUT(Tgeneral_address_t ) *** out_INSERT_COMMIT_UNIT_NUM_REG_RB_PHY ;//[nb_rename_unit][nb_inst_insert] 123 125 public : SC_OUT(Tcontrol_t ) *** out_INSERT_COMMIT_UNIT_READ_RC ;//[nb_rename_unit][nb_inst_insert] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_allocation.cpp
r136 r137 122 122 _ALLOC2_SIGNAL_OUT(out_INSERT_COMMIT_UNIT_READ_RA ,"COMMIT_UNIT_READ_RA" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 123 123 _ALLOC2_SIGNAL_OUT(out_INSERT_COMMIT_UNIT_NUM_REG_RA_PHY ,"COMMIT_UNIT_NUM_REG_RA_PHY" ,Tgeneral_address_t ,_param->_size_general_register,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 124 #endif 124 125 _ALLOC2_SIGNAL_OUT(out_INSERT_COMMIT_UNIT_READ_RB ,"COMMIT_UNIT_READ_RB" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 126 #ifdef DEBUG 125 127 _ALLOC2_SIGNAL_OUT(out_INSERT_COMMIT_UNIT_NUM_REG_RB_PHY ,"COMMIT_UNIT_NUM_REG_RB_PHY" ,Tgeneral_address_t ,_param->_size_general_register,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 126 128 _ALLOC2_SIGNAL_OUT(out_INSERT_COMMIT_UNIT_READ_RC ,"COMMIT_UNIT_READ_RC" ,Tcontrol_t ,1 ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_deallocation.cpp
r136 r137 77 77 DELETE2_SIGNAL(out_INSERT_COMMIT_UNIT_READ_RA ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],1 ); 78 78 DELETE2_SIGNAL(out_INSERT_COMMIT_UNIT_NUM_REG_RA_PHY ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_general_register); 79 #endif 79 80 DELETE2_SIGNAL(out_INSERT_COMMIT_UNIT_READ_RB ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],1 ); 81 #ifdef DEBUG 80 82 DELETE2_SIGNAL(out_INSERT_COMMIT_UNIT_NUM_REG_RB_PHY ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],_param->_size_general_register); 81 83 DELETE2_SIGNAL(out_INSERT_COMMIT_UNIT_READ_RC ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert.cpp
r136 r137 76 76 PORT_WRITE(out_INSERT_COMMIT_UNIT_READ_RA [i][j],READ_RA ); 77 77 PORT_WRITE(out_INSERT_COMMIT_UNIT_NUM_REG_RA_PHY [i][j],NUM_REG_RA_PHY ); 78 #endif 78 79 PORT_WRITE(out_INSERT_COMMIT_UNIT_READ_RB [i][j],READ_RB ); 80 #ifdef DEBUG 79 81 PORT_WRITE(out_INSERT_COMMIT_UNIT_NUM_REG_RB_PHY [i][j],NUM_REG_RB_PHY ); 80 82 PORT_WRITE(out_INSERT_COMMIT_UNIT_READ_RC [i][j],READ_RC ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/include/Dependency_checking_unit.h
r121 r137 87 87 88 88 // ~~~~~[ Interface "rename_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 89 // 90 // 91 92 89 //public : SC_OUT(Tcontrol_t ) ** out_RENAME_OUT_VAL ;//[nb_inst_insert] 90 //public : SC_IN (Tcontrol_t ) ** in_RENAME_OUT_ACK ;//[nb_inst_insert] 91 //public : SC_OUT(Tcontext_t ) ** out_RENAME_OUT_FRONT_END_ID ;//[nb_inst_insert] 92 //public : SC_OUT(Tcontext_t ) ** out_RENAME_OUT_CONTEXT_ID ;//[nb_inst_insert] 93 93 public : SC_OUT(Tcontrol_t ) ** out_RENAME_OUT_READ_RA ;//[nb_inst_insert] 94 94 #ifdef DEBUG -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_allocation.cpp
r121 r137 91 91 // ALLOC1_VALACK_OUT(out_RENAME_OUT_VAL ,VAL); 92 92 // ALLOC1_VALACK_IN ( in_RENAME_OUT_ACK ,ACK); 93 94 93 // ALLOC1_SIGNAL_OUT(out_RENAME_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 94 // ALLOC1_SIGNAL_OUT(out_RENAME_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 95 95 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_READ_RA ,"read_ra" ,Tcontrol_t ,1 ); 96 96 #ifdef DEBUG -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_deallocation.cpp
r121 r137 54 54 // DELETE1_SIGNAL(out_RENAME_OUT_VAL ,_param->_nb_inst_insert,1); 55 55 // DELETE1_SIGNAL( in_RENAME_OUT_ACK ,_param->_nb_inst_insert,1); 56 57 56 // DELETE1_SIGNAL(out_RENAME_OUT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 57 // DELETE1_SIGNAL(out_RENAME_OUT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 58 58 DELETE1_SIGNAL(out_RENAME_OUT_READ_RA ,_param->_nb_inst_insert,1 ); 59 59 #ifdef DEBUG -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_genMealy.cpp
r123 r137 197 197 // PORT_WRITE(out_RENAME_OUT_VAL [i], val [i]); 198 198 // PORT_WRITE(out_RENAME_IN_ACK [i], ack [i]); 199 if (_param->_have_port_front_end_id)200 PORT_WRITE(out_RENAME_OUT_FRONT_END_ID [i], front_end_id [i]);201 if (_param->_have_port_context_id)202 PORT_WRITE(out_RENAME_OUT_CONTEXT_ID [i], context_id [i]);199 // if (_param->_have_port_front_end_id) 200 // PORT_WRITE(out_RENAME_OUT_FRONT_END_ID [i], front_end_id [i]); 201 // if (_param->_have_port_context_id) 202 // PORT_WRITE(out_RENAME_OUT_CONTEXT_ID [i], context_id [i]); 203 203 PORT_WRITE(out_RENAME_OUT_READ_RA [i], read_ra [i]); 204 204 #ifdef DEBUG -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp
r112 r137 120 120 121 121 #if (DEBUG >= DEBUG_TRACE) and (DEBUG_Free_List_unit == true) 122 if (0) 122 123 { 123 124 uint32_t limit = 4; … … 175 176 176 177 #ifdef DEBUG_TEST 177 if ( 1)178 if (0) 178 179 for (uint32_t i=0; i<_param->_nb_bank; ++i) 179 180 { -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/include/Register_translation_unit.h
r123 r137 86 86 public : SC_OUT(Tcontrol_t ) ** out_INSERT_VAL ;//[nb_inst_insert] 87 87 public : SC_IN (Tcontrol_t ) ** in_INSERT_ACK ;//[nb_inst_insert] 88 89 88 //public : SC_OUT(Tcontext_t ) ** out_INSERT_FRONT_END_ID ;//[nb_inst_insert] 89 //public : SC_OUT(Tcontext_t ) ** out_INSERT_CONTEXT_ID ;//[nb_inst_insert] 90 90 public : SC_OUT(Tcontrol_t ) ** out_INSERT_READ_RA ;//[nb_inst_insert] 91 91 #ifdef DEBUG -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp
r123 r137 84 84 ALLOC1_VALACK_OUT(out_INSERT_VAL ,VAL); 85 85 ALLOC1_VALACK_IN ( in_INSERT_ACK ,ACK); 86 87 86 // ALLOC1_SIGNAL_OUT(out_INSERT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 87 // ALLOC1_SIGNAL_OUT(out_INSERT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 88 88 ALLOC1_SIGNAL_OUT(out_INSERT_READ_RA ,"read_ra" ,Tcontrol_t ,1 ); 89 89 #ifdef DEBUG … … 575 575 #endif 576 576 577 if (_param->_have_port_front_end_id)578 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_FRONT_END_ID" ,579 dest,"out_INSERT_"+toString(i)+"_FRONT_END_ID" );580 if (_param->_have_port_context_id)581 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_CONTEXT_ID" ,582 dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID" );577 // if (_param->_have_port_front_end_id) 578 // PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_FRONT_END_ID" , 579 // dest,"out_INSERT_"+toString(i)+"_FRONT_END_ID" ); 580 // if (_param->_have_port_context_id) 581 // PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_CONTEXT_ID" , 582 // dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID" ); 583 583 #ifdef DEBUG 584 584 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_LOG" , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_deallocation.cpp
r123 r137 46 46 DELETE1_SIGNAL(out_INSERT_VAL ,_param->_nb_inst_insert,1); 47 47 DELETE1_SIGNAL( in_INSERT_ACK ,_param->_nb_inst_insert,1); 48 49 48 // DELETE1_SIGNAL(out_INSERT_FRONT_END_ID ,_param->_nb_inst_insert,_param->_size_front_end_id ); 49 // DELETE1_SIGNAL(out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 50 50 DELETE1_SIGNAL(out_INSERT_READ_RA ,_param->_nb_inst_insert,1 ); 51 51 #ifdef DEBUG -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/include/Rename_select.h
r123 r137 72 72 public : SC_IN (Tcontext_t ) *** in_RENAME_IN_CONTEXT_ID ;//[nb_front_end][nb_inst_decod] 73 73 public : SC_IN (Tdepth_t ) *** in_RENAME_IN_DEPTH ;//[nb_front_end][nb_inst_decod] 74 #ifdef STATISTICS 75 public : SC_IN (uint32_t ) *** in_RENAME_IN_INSTRUCTION ;//[nb_front_end][nb_inst_decod] 76 #endif 74 77 public : SC_IN (Ttype_t ) *** in_RENAME_IN_TYPE ;//[nb_front_end][nb_inst_decod] 75 78 public : SC_IN (Toperation_t ) *** in_RENAME_IN_OPERATION ;//[nb_front_end][nb_inst_decod] … … 103 106 public : SC_OUT(Tcontext_t ) ** out_RENAME_OUT_CONTEXT_ID ;//[nb_inst_rename] 104 107 public : SC_OUT(Tdepth_t ) ** out_RENAME_OUT_DEPTH ;//[nb_inst_rename] 108 #ifdef STATISTICS 109 public : SC_OUT(uint32_t ) ** out_RENAME_OUT_INSTRUCTION ;//[nb_inst_rename] 110 #endif 105 111 public : SC_OUT(Ttype_t ) ** out_RENAME_OUT_TYPE ;//[nb_inst_rename] 106 112 public : SC_OUT(Toperation_t ) ** out_RENAME_OUT_OPERATION ;//[nb_inst_rename] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_allocation.cpp
r123 r137 65 65 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 66 66 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 67 #ifdef STATISTICS 68 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_INSTRUCTION ,"instruction" ,uint32_t ,32 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 69 #endif 67 70 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 68 71 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation , _param->_nb_front_end, _param->_nb_inst_decod[it1]); … … 102 105 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 103 106 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ); 107 #ifdef STATISTICS 108 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_INSTRUCTION ,"instruction" ,uint32_t ,32); 109 #endif 104 110 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 105 111 ALLOC1_SIGNAL_OUT(out_RENAME_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_deallocation.cpp
r123 r137 34 34 DELETE2_SIGNAL( in_RENAME_IN_CONTEXT_ID ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_context_id ); 35 35 DELETE2_SIGNAL( in_RENAME_IN_DEPTH ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_depth ); 36 #ifdef STATISTICS 37 DELETE2_SIGNAL( in_RENAME_IN_INSTRUCTION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],32); 38 #endif 36 39 DELETE2_SIGNAL( in_RENAME_IN_TYPE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_type ); 37 40 DELETE2_SIGNAL( in_RENAME_IN_OPERATION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_operation ); … … 64 67 DELETE1_SIGNAL(out_RENAME_OUT_CONTEXT_ID ,_param->_nb_inst_rename,_param->_size_context_id ); 65 68 DELETE1_SIGNAL(out_RENAME_OUT_DEPTH ,_param->_nb_inst_rename,_param->_size_depth ); 66 DELETE1_SIGNAL(out_RENAME_OUT_TYPE ,_param->_nb_inst_rename,_param->_size_type ); 67 DELETE1_SIGNAL(out_RENAME_OUT_OPERATION ,_param->_nb_inst_rename,_param->_size_operation ); 69 #ifdef STATISTICS 70 DELETE1_SIGNAL(out_RENAME_OUT_INSTRUCTION ,_param->_nb_inst_rename,32); 71 #endif 72 DELETE1_SIGNAL(out_RENAME_OUT_TYPE ,_param->_nb_inst_rename,_param->_size_type ); 73 DELETE1_SIGNAL(out_RENAME_OUT_OPERATION ,_param->_nb_inst_rename,_param->_size_operation ); 68 74 DELETE1_SIGNAL(out_RENAME_OUT_NO_EXECUTE ,_param->_nb_inst_rename,1 ); 69 75 DELETE1_SIGNAL(out_RENAME_OUT_LAST_EVENT ,_param->_nb_inst_rename,1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_genMealy.cpp
r123 r137 103 103 if (_param->_have_port_depth) 104 104 PORT_WRITE(out_RENAME_OUT_DEPTH [i],PORT_READ(in_RENAME_IN_DEPTH [x][y])); 105 #ifdef STATISTICS 106 PORT_WRITE(out_RENAME_OUT_INSTRUCTION [i],PORT_READ(in_RENAME_IN_INSTRUCTION [x][y])); 107 #endif 105 108 PORT_WRITE(out_RENAME_OUT_TYPE [i],PORT_READ(in_RENAME_IN_TYPE [x][y])); 106 109 PORT_WRITE(out_RENAME_OUT_OPERATION [i],PORT_READ(in_RENAME_IN_OPERATION [x][y])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/include/Rename_unit.h
r123 r137 74 74 public : SC_IN (Tcontext_t ) *** in_RENAME_IN_CONTEXT_ID ;//[nb_front_end][nb_inst_decod] 75 75 public : SC_IN (Tdepth_t ) *** in_RENAME_IN_DEPTH ;//[nb_front_end][nb_inst_decod] 76 #ifdef STATISTICS 77 public : SC_IN (uint32_t ) *** in_RENAME_IN_INSTRUCTION ;//[nb_front_end][nb_inst_decod] 78 #endif 76 79 public : SC_IN (Ttype_t ) *** in_RENAME_IN_TYPE ;//[nb_front_end][nb_inst_decod] 77 80 public : SC_IN (Toperation_t ) *** in_RENAME_IN_OPERATION ;//[nb_front_end][nb_inst_decod] … … 105 108 public : SC_OUT(Tcontext_t ) ** out_INSERT_CONTEXT_ID ;//[nb_inst_insert] 106 109 public : SC_OUT(Tdepth_t ) ** out_INSERT_DEPTH ;//[nb_inst_insert] 110 #ifdef STATISTICS 111 public : SC_OUT(uint32_t ) ** out_INSERT_INSTRUCTION ;//[nb_inst_insert] 112 #endif 107 113 public : SC_OUT(Ttype_t ) ** out_INSERT_TYPE ;//[nb_inst_insert] 108 114 public : SC_OUT(Toperation_t ) ** out_INSERT_OPERATION ;//[nb_inst_insert] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Rename_unit_allocation.cpp
r123 r137 65 65 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 66 66 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 67 #ifdef STATISTICS 68 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_INSTRUCTION ,"instruction" ,uint32_t ,32 , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 69 #endif 67 70 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type , _param->_nb_front_end, _param->_nb_inst_decod[it1]); 68 71 _ALLOC2_SIGNAL_IN ( in_RENAME_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation , _param->_nb_front_end, _param->_nb_inst_decod[it1]); … … 102 105 ALLOC1_SIGNAL_OUT(out_INSERT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 103 106 ALLOC1_SIGNAL_OUT(out_INSERT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth ); 107 #ifdef STATISTICS 108 ALLOC1_SIGNAL_OUT(out_INSERT_INSTRUCTION ,"instruction" ,uint32_t ,32); 109 #endif 104 110 ALLOC1_SIGNAL_OUT(out_INSERT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 105 111 ALLOC1_SIGNAL_OUT(out_INSERT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); … … 333 339 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_DEPTH" , 334 340 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_DEPTH" ); 341 #ifdef STATISTICS 342 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_INSTRUCTION" , 343 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_INSTRUCTION" ); 344 #endif 335 345 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_TYPE" , 336 346 dest, "in_RENAME_IN_"+toString(i)+"_"+toString(j)+"_TYPE" ); … … 395 405 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_DEPTH" , 396 406 dest,"out_INSERT_" +toString(i)+"_DEPTH" ); 407 #ifdef STATISTICS 408 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_INSTRUCTION" , 409 dest,"out_INSERT_" +toString(i)+"_INSTRUCTION" ); 410 #endif 397 411 #ifdef DEBUG 398 412 PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_ADDRESS" , … … 552 566 PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_ACK" , 553 567 dest, "in_INSERT_"+toString(i)+"_ACK" ); 554 if (_param->_have_port_front_end_id)555 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_FRONT_END_ID" ,556 dest,"out_INSERT_"+toString(i)+"_FRONT_END_ID" );557 if (_param->_have_port_context_id)558 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_CONTEXT_ID" ,559 dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID" );568 // if (_param->_have_port_front_end_id) 569 // PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_FRONT_END_ID" , 570 // dest,"out_INSERT_"+toString(i)+"_FRONT_END_ID" ); 571 // if (_param->_have_port_context_id) 572 // PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_CONTEXT_ID" , 573 // dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID" ); 560 574 PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RA" , 561 575 dest,"out_INSERT_"+toString(i)+"_READ_RA" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/src/Rename_unit_deallocation.cpp
r123 r137 33 33 DELETE2_SIGNAL( in_RENAME_IN_CONTEXT_ID ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_context_id ); 34 34 DELETE2_SIGNAL( in_RENAME_IN_DEPTH ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_depth ); 35 #ifdef STATISTICS 36 DELETE2_SIGNAL( in_RENAME_IN_INSTRUCTION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],32); 37 #endif 35 38 DELETE2_SIGNAL( in_RENAME_IN_TYPE ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_type ); 36 39 DELETE2_SIGNAL( in_RENAME_IN_OPERATION ,_param->_nb_front_end, _param->_nb_inst_decod[it1],_param->_size_operation ); … … 63 66 DELETE1_SIGNAL(out_INSERT_CONTEXT_ID ,_param->_nb_inst_insert,_param->_size_context_id ); 64 67 DELETE1_SIGNAL(out_INSERT_DEPTH ,_param->_nb_inst_insert,_param->_size_depth ); 68 #ifdef STATISTICS 69 DELETE1_SIGNAL(out_INSERT_INSTRUCTION ,_param->_nb_inst_insert,32); 70 #endif 65 71 DELETE1_SIGNAL(out_INSERT_TYPE ,_param->_nb_inst_insert,_param->_size_type ); 66 72 DELETE1_SIGNAL(out_INSERT_OPERATION ,_param->_nb_inst_insert,_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h
r136 r137 73 73 public : SC_IN (Tcontext_t ) *** in_RENAME_CONTEXT_ID ;//[nb_front_end][nb_inst_decod] 74 74 public : SC_IN (Tdepth_t ) *** in_RENAME_DEPTH ;//[nb_front_end][nb_inst_decod] 75 #ifdef STATISTICS 76 public : SC_IN (uint32_t ) *** in_RENAME_INSTRUCTION ;//[nb_front_end][nb_inst_decod] 77 #endif 75 78 public : SC_IN (Ttype_t ) *** in_RENAME_TYPE ;//[nb_front_end][nb_inst_decod] 76 79 public : SC_IN (Toperation_t ) *** in_RENAME_OPERATION ;//[nb_front_end][nb_inst_decod] -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp
r136 r137 62 62 _ALLOC2_SIGNAL_IN ( in_RENAME_CONTEXT_ID ,"CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 63 63 _ALLOC2_SIGNAL_IN ( in_RENAME_DEPTH ,"DEPTH" ,Tdepth_t ,_param->_size_depth ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 64 #ifdef STATISTICS 65 _ALLOC2_SIGNAL_IN ( in_RENAME_INSTRUCTION ,"INSTRUCTION" ,uint32_t ,32 ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 66 #endif 64 67 _ALLOC2_SIGNAL_IN ( in_RENAME_TYPE ,"TYPE" ,Ttype_t ,_param->_size_type ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 65 68 _ALLOC2_SIGNAL_IN ( in_RENAME_OPERATION ,"OPERATION" ,Toperation_t ,_param->_size_operation ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); … … 441 444 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_TYPE" , 442 445 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_TYPE" ); 446 #ifdef STATISTICS 447 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_INSTRUCTION" , 448 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_INSTRUCTION" ); 449 #endif 443 450 PORT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+"_OPERATION" , 444 451 dest, "in_RENAME_" +toString(j)+"_"+toString(k)+"_OPERATION" ); … … 514 521 #endif 515 522 523 #ifdef STATISTICS 524 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_INSTRUCTION" , 525 dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_INSTRUCTION" ); 526 #endif 516 527 if (_param->_have_port_depth) 517 528 COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j) +"_DEPTH" , … … 798 809 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_"+toString(j)+ "_NUM_REG_RA_PHY" , 799 810 dest,"out_INSERT_"+toString(i)+"_"+toString(j)+"_COMMIT_UNIT_NUM_REG_RA_PHY" ); 811 #endif 800 812 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_"+toString(j)+ "_READ_RB" , 801 813 dest,"out_INSERT_"+toString(i)+"_"+toString(j)+"_COMMIT_UNIT_READ_RB" ); 814 #ifdef DEBUG 802 815 COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_"+toString(j)+ "_NUM_REG_RB_PHY" , 803 816 dest,"out_INSERT_"+toString(i)+"_"+toString(j)+"_COMMIT_UNIT_NUM_REG_RB_PHY" ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp
r136 r137 32 32 DELETE2_SIGNAL( in_RENAME_CONTEXT_ID ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_context_id ); 33 33 DELETE2_SIGNAL( in_RENAME_DEPTH ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_depth ); 34 #ifdef STATISTICS 35 DELETE2_SIGNAL( in_RENAME_INSTRUCTION ,_param->_nb_front_end,_param->_nb_inst_decod[it1],32); 36 #endif 34 37 DELETE2_SIGNAL( in_RENAME_TYPE ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_type ); 35 38 DELETE2_SIGNAL( in_RENAME_OPERATION ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_operation ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Core_allocation.cpp
r136 r137 462 462 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(j)+"_"+toString(k)+"_DEPTH" , 463 463 dest,"out_DECOD_" +toString(k)+"_DEPTH" ); 464 #ifdef STATISTICS 465 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(j)+"_"+toString(k)+"_INSTRUCTION" , 466 dest,"out_DECOD_" +toString(k)+"_INSTRUCTION" ); 467 #endif 464 468 COMPONENT_MAP(_component,src , "in_RENAME_"+toString(j)+"_"+toString(k)+"_TYPE" , 465 469 dest,"out_DECOD_" +toString(k)+"_TYPE" );
Note: See TracChangeset
for help on using the changeset viewer.