Changeset 101 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit
- Timestamp:
- Jan 15, 2009, 6:19:08 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h
r97 r101 14 14 15 15 #include <iostream> 16 #include < queue>16 #include <list> 17 17 #include "Common/include/ToString.h" 18 18 #include "Common/include/Debug.h" … … 99 99 100 100 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 private : std:: queue<execute_queue_entry_t *> * _queue;101 private : std::list<execute_queue_entry_t *> * _queue; 102 102 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 103 private : Tcontrol_t internal_EXECUTE_QUEUE_IN_ACK ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp
r97 r101 96 96 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97 97 98 _queue = new std:: queue<execute_queue_entry_t *>;98 _queue = new std::list<execute_queue_entry_t *>; 99 99 100 100 #ifdef POSITION -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp
r88 r101 72 72 { 73 73 delete _queue->front(); 74 _queue->pop ();74 _queue->pop_front(); 75 75 } 76 76 delete _queue; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp
r96 r101 23 23 void Execute_queue::genMoore (void) 24 24 { 25 log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 25 log_begin(Execute_queue,FUNCTION); 26 log_function(Execute_queue,FUNCTION,_name.c_str()); 26 27 27 28 // -----[ Interface "execute_queue_in" ]-------------------------------- … … 59 60 } 60 61 61 log_ printf(FUNC,Execute_queue,FUNCTION,"End");62 log_end(Execute_queue,FUNCTION); 62 63 }; 63 64 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp
r96 r101 23 23 void Execute_queue::transition (void) 24 24 { 25 log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 25 log_begin(Execute_queue,FUNCTION); 26 log_function(Execute_queue,FUNCTION,_name.c_str()); 26 27 27 28 if (PORT_READ(in_NRESET) == 0) … … 32 33 // > 2) flush all slot in one cycle 33 34 34 while (_queue->empty() == false) 35 _queue->pop(); 35 _queue->clear(); 36 36 } 37 37 else … … 53 53 PORT_READ(in_EXECUTE_QUEUE_IN_DATA )); 54 54 55 _queue->push (entry);55 _queue->push_back(entry); 56 56 } 57 57 … … 60 60 { 61 61 delete _queue->front(); 62 _queue->pop ();62 _queue->pop_front(); 63 63 } 64 64 } … … 69 69 #endif 70 70 71 #if DEBUG_Execute_queue and (DEBUG >= DEBUG_TRACE) 72 log_printf(TRACE,Execute_queue,FUNCTION," * Dump Execute_queue"); 73 { 74 uint32_t i=0; 75 for (std::list<execute_queue_entry_t *>::iterator it=_queue->begin(); 76 it!=_queue->end(); 77 ++it) 78 { 79 log_printf(TRACE,Execute_queue,FUNCTION," [%d] %.2d %.2d %.2d, %.4d, %.1d, %.2d %.1d, %.8x %.8x", 80 i, 81 (*it)->_context_id , 82 (*it)->_front_end_id , 83 (*it)->_ooo_engine_id, 84 (*it)->_packet_id , 85 //(*it)->_operation , 86 //(*it)->_type , 87 (*it)->_flags , 88 (*it)->_exception , 89 (*it)->_no_sequence , 90 (*it)->_address , 91 (*it)->_data 92 ); 93 i++; 94 } 95 } 96 #endif 97 71 98 72 99 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) … … 74 101 #endif 75 102 76 log_ printf(FUNC,Execute_queue,FUNCTION,"End");103 log_end(Execute_queue,FUNCTION); 77 104 }; 78 105 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl.cpp
r100 r101 35 35 (_param->_size_queue, 36 36 _param->_size_internal_queue, 37 0 37 0, 38 false, 39 false 38 40 ); 39 41 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp
r88 r101 23 23 void Write_queue::genMoore (void) 24 24 { 25 log_printf(FUNC,Write_queue,FUNCTION,"Begin"); 25 log_begin(Write_queue,FUNCTION); 26 log_function(Write_queue,FUNCTION,_name.c_str()); 26 27 27 28 // -----[ Interface "Write_queue_in" ]-------------------------------- … … 109 110 } 110 111 } 111 log_ printf(FUNC,Write_queue,FUNCTION,"End");112 log_end(Write_queue,FUNCTION); 112 113 }; 113 114 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp
r97 r101 24 24 void Write_queue::transition (void) 25 25 { 26 log_printf(FUNC,Write_queue,FUNCTION,"Begin"); 26 log_begin(Write_queue,FUNCTION); 27 log_function(Write_queue,FUNCTION,_name.c_str()); 27 28 28 29 if (PORT_READ(in_NRESET) == 0) … … 87 88 #endif 88 89 90 #if DEBUG_Write_queue and (DEBUG >= DEBUG_TRACE) 91 log_printf(TRACE,Write_queue,FUNCTION," * Dump Write_queue"); 92 { 93 uint32_t i=0; 94 95 for (std::list<write_queue_entry_t *>::iterator it=_queue->begin(); 96 it!=_queue->end(); 97 ++it) 98 { 99 log_printf(TRACE,Write_queue,FUNCTION," [%d] %.2d %.2d %.2d, %.4d, %.1d %.4d %.8x, %.1d %.4d %.1d, %.2d %.1d, %.8x", 100 i, 101 (*it)->_context_id , 102 (*it)->_front_end_id , 103 (*it)->_ooo_engine_id, 104 (*it)->_packet_id , 105 //(*it)->_operation , 106 //(*it)->_type , 107 (*it)->_write_rd , 108 (*it)->_num_reg_rd , 109 (*it)->_data_rd , 110 (*it)->_write_re , 111 (*it)->_num_reg_re , 112 (*it)->_data_re , 113 (*it)->_exception , 114 (*it)->_no_sequence , 115 (*it)->_address ); 116 i++; 117 } 118 } 119 #endif 120 89 121 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 90 122 end_cycle (); 91 123 #endif 92 124 93 log_ printf(FUNC,Write_queue,FUNCTION,"End");125 log_end(Write_queue,FUNCTION); 94 126 }; 95 127
Note: See TracChangeset
for help on using the changeset viewer.