Changeset 82 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit
- Timestamp:
- May 1, 2008, 6:48:45 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/configuration.cfg
r81 r82 3 3 1 1 +1 # nb_front_end 4 4 2 2 +1 # nb_ooo_engine 5 1024 1024+1 # nb_packet5 256 256 +1 # nb_packet 6 6 32 32 +1 # size_general_data 7 7 32 32 +1 # nb_general_register -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/test.cpp
r81 r82 7 7 */ 8 8 9 #define NB_ITERATION 1 10 #define CYCLE_MAX (1024*NB_ITERATION) 11 9 12 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/include/test.h" 10 13 #include "Common/include/Test.h" 11 12 #define NB_ITERATION 113 #define CYCLE_MAX (1024*NB_ITERATION)14 15 #define LABEL(str...) \16 { \17 msg (_("{%d} "),static_cast<uint32_t>(sc_simulation_time())); \18 msg (str); \19 msg (_("\n")); \20 } while(0)21 22 #define SC_START(cycle_offset) \23 do \24 { \25 /*cout << "SC_START (begin)" << endl;*/ \26 \27 uint32_t cycle_current = static_cast<uint32_t>(sc_simulation_time()); \28 if (cycle_offset != 0) \29 { \30 cout << "##########[ cycle "<< cycle_current+cycle_offset << " ]" << endl; \31 } \32 \33 if (cycle_current > CYCLE_MAX) \34 { \35 TEST_KO("Maximal cycles Reached"); \36 } \37 \38 sc_start(cycle_offset); \39 \40 /*cout << "SC_START (end )" << endl;*/ \41 } while(0)42 14 43 15 class execute_transaction … … 121 93 Functionnal_unit * _Functionnal_unit = new Functionnal_unit (name.c_str(), 122 94 #ifdef STATISTICS 123 _parameters_statistics,95 _parameters_statistics, 124 96 #endif 125 _param); 97 _param, 98 USE_ALL); 126 99 127 100 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h
r81 r82 148 148 #endif 149 149 Parameters * param, 150 morpheo::behavioural::Tusage_t usage =USE_ALL150 morpheo::behavioural::Tusage_t usage 151 151 ); 152 152 public : ~Functionnal_unit (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/test.h
r81 r82 7 7 */ 8 8 9 #define CYCLE_MAX 1024 9 10 10 11 #include "Common/include/Time.h" -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test1.cpp
r81 r82 7 7 */ 8 8 9 /* 10 9 11 #include <queue> 10 12 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/test.h" 11 12 #define NB_ITERATION 113 #define CYCLE_MAX (1024*NB_ITERATION)14 15 #define LABEL(str) \16 { \17 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} " << str << endl; \18 } while(0)19 20 #define SC_START(cycle_offset) \21 do \22 { \23 /*cout << "SC_START (begin)" << endl;*/ \24 \25 uint32_t cycle_current = static_cast<uint32_t>(sc_simulation_time()); \26 if (cycle_offset != 0) \27 { \28 cout << "##########[ cycle "<< cycle_current+cycle_offset << " ]" << endl; \29 } \30 \31 if (cycle_current > CYCLE_MAX) \32 { \33 TEST_KO("Maximal cycles Reached"); \34 } \35 sc_start(cycle_offset); \36 /*cout << "SC_START (end )" << endl;*/ \37 } while(0)38 13 39 14 … … 55 30 56 31 #ifdef SYSTEMC 57 /********************************************************************* 58 * Déclarations des signaux 59 *********************************************************************/ 32 60 33 string rename = ""; 61 34 … … 129 102 } 130 103 131 /******************************************************** 132 * Instanciation 133 ********************************************************/ 104 // Instanciation 134 105 135 106 cout << "<" << name << "> Instanciation of _Load_store_unit" << endl; … … 215 186 Time * _time = new Time(); 216 187 217 /******************************************************** 218 * Simulation - Begin 219 ********************************************************/ 188 // Simulation - Begin 220 189 221 190 // Initialisation … … 656 625 } 657 626 658 627 LABEL("DCACHE_RSP : "+toString(in_DCACHE_RSP_VAL->read())+" - "+toString(out_DCACHE_RSP_ACK ->read())); 659 628 if (in_DCACHE_RSP_VAL->read() and out_DCACHE_RSP_ACK->read()) 660 629 { … … 677 646 678 647 679 /******************************************************** 680 * Simulation - End 681 ********************************************************/ 648 // Simulation - End 682 649 683 650 TEST_OK ("End of Simulation"); … … 755 722 #endif 756 723 } 724 */ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp
r81 r82 9 9 #include <queue> 10 10 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/test.h" 11 12 #define CYCLE_MAX 102413 14 #define LABEL(str) \15 { \16 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} " << str << endl; \17 } while(0)18 19 #define SC_START(cycle_offset) \20 do \21 { \22 /*cout << "SC_START (begin)" << endl;*/ \23 \24 uint32_t cycle_current = static_cast<uint32_t>(sc_simulation_time()); \25 if (cycle_offset != 0) \26 { \27 cout << "##########[ cycle "<< cycle_current+cycle_offset << " ]" << endl; \28 } \29 \30 if (cycle_current > CYCLE_MAX) \31 { \32 TEST_KO("Maximal cycles Reached"); \33 } \34 sc_start(cycle_offset); \35 /*cout << "SC_START (end )" << endl;*/ \36 } while(0)37 38 11 39 12 //===================================================================={test} … … 71 44 _parameters_statistics, 72 45 #endif 73 _param); 46 _param, 47 USE_ALL); 74 48 75 49 #ifdef SYSTEMC … … 487 461 SC_START(0); 488 462 489 LABEL("MEMORY_IN : "+toString(in_MEMORY_IN_VAL ->read())+" - "+toString(out_MEMORY_IN_ACK ->read()));463 LABEL("MEMORY_IN : %d - %d",in_MEMORY_IN_VAL ->read(),out_MEMORY_IN_ACK ->read()); 490 464 if ( in_MEMORY_IN_VAL ->read() and out_MEMORY_IN_ACK ->read()) 491 465 { 492 466 Tpacket_t packet_id = in_MEMORY_IN_PACKET_ID->read(); 493 467 494 LABEL(" * Accepted MEMORY_IN : " + toString(packet_id));468 LABEL(" * Accepted MEMORY_IN : %d",packet_id); 495 469 cout << fifo_request.top(); 496 470 … … 509 483 } 510 484 511 LABEL("MEMORY_OUT : "+toString(out_MEMORY_OUT_VAL->read())+" - "+toString(in_MEMORY_OUT_ACK ->read()));485 LABEL("MEMORY_OUT : %d - %d",out_MEMORY_OUT_VAL->read(),in_MEMORY_OUT_ACK ->read()); 512 486 if (out_MEMORY_OUT_VAL->read() and in_MEMORY_OUT_ACK->read()) 513 487 { 514 488 Tpacket_t packet_id = out_MEMORY_OUT_PACKET_ID->read(); 515 489 516 LABEL(" * Accepted MEMORY_OUT : " + toString(packet_id));490 LABEL(" * Accepted MEMORY_OUT : %d",packet_id); 517 491 518 492 if (is_operation_memory_store(tab_request[packet_id]._operation)) … … 650 624 } 651 625 652 LABEL("DCACHE_REQ : "+toString(out_DCACHE_REQ_VAL->read())+" - "+toString(in_DCACHE_REQ_ACK ->read()));626 LABEL("DCACHE_REQ : %d - %d",out_DCACHE_REQ_VAL->read(),in_DCACHE_REQ_ACK ->read()); 653 627 if (out_DCACHE_REQ_VAL->read() and in_DCACHE_REQ_ACK->read()) 654 628 { … … 665 639 packet_id = (out_DCACHE_REQ_PACKET_ID ->read())>>1; 666 640 667 LABEL(" * Accepted DCACHE_REQ : " + toString(packet_id));641 LABEL(" * Accepted DCACHE_REQ : %d",packet_id); 668 642 669 643 if (address >= size_memory) … … 676 650 { 677 651 rdata = _memory->access (context_id, address, out_DCACHE_REQ_TYPE->read(), out_DCACHE_REQ_WDATA->read()); 678 LABEL(" * rdata : " + toString(rdata));652 LABEL(" * rdata : 0x%x",rdata); 679 653 } 680 654 … … 699 673 } 700 674 701 LABEL("DCACHE_RSP : "+toString(in_DCACHE_RSP_VAL->read())+" - "+toString(out_DCACHE_RSP_ACK ->read()));675 LABEL("DCACHE_RSP : %d - %d",in_DCACHE_RSP_VAL->read(),out_DCACHE_RSP_ACK ->read()); 702 676 if (in_DCACHE_RSP_VAL->read() and out_DCACHE_RSP_ACK->read()) 703 677 { -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h
r81 r82 30 30 #include "Behavioural/include/Vhdl.h" 31 31 #endif 32 #include "Behavioural/include/Usage.h" 32 33 33 34 namespace morpheo { … … 48 49 // -----[ fields ]---------------------------------------------------- 49 50 // Parameters 50 protected : const std::string _name; 51 51 protected : const std::string _name; 52 52 protected : const Parameters * _param; 53 private : const Tusage_t _usage; 53 54 54 55 #ifdef STATISTICS … … 202 203 morpheo::behavioural::Parameters_Statistics * param_statistics, 203 204 #endif 204 Parameters * param ); 205 Parameters * param, 206 morpheo::behavioural::Tusage_t usage ); 205 207 public : ~Load_store_unit (void); 206 208 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit.cpp
r81 r82 20 20 #undef FUNCTION 21 21 #define FUNCTION "Load_store_unit::Load_store_unit" 22 Load_store_unit::Load_store_unit 23 ( 22 24 #ifdef SYSTEMC 23 Load_store_unit::Load_store_unit (sc_module_name name,25 sc_module_name name, 24 26 #else 25 Load_store_unit::Load_store_unit (string name,27 std::string name, 26 28 #endif 27 29 #ifdef STATISTICS 28 30 morpheo::behavioural::Parameters_Statistics * param_statistics, 29 31 #endif 30 morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::load_store_unit::Parameters * param ): 31 _name (name) 32 ,_param (param) 32 morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::load_store_unit::Parameters * param , 33 morpheo::behavioural::Tusage_t usage 34 ): 35 _name (name) 36 ,_param (param) 37 ,_usage (usage) 33 38 { 34 39 log_printf(FUNC,Load_store_unit,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp
r81 r82 26 26 log_printf(FUNC,Load_store_unit,FUNCTION,"Begin"); 27 27 28 _component = new Component ( );28 _component = new Component (_usage); 29 29 30 30 Entity * entity = _component->set_entity (_name
Note: See TracChangeset
for help on using the changeset viewer.