Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters.cpp
r81 r88 26 26 Tspeculative_load_t speculative_load , 27 27 uint32_t nb_bypass_memory , 28 uint32_t nb_cache_port , 29 uint32_t nb_inst_memory , 28 30 uint32_t nb_context , 29 31 uint32_t nb_front_end , … … 33 35 uint32_t size_special_data , 34 36 uint32_t nb_general_register , 35 uint32_t nb_special_register ): 36 _size_store_queue (size_store_queue ), 37 _size_load_queue (size_load_queue ), 38 _size_speculative_access_queue (size_speculative_access_queue), 39 _nb_port_check (nb_port_check ), 40 _speculative_load (speculative_load ), 41 _nb_bypass_memory (nb_bypass_memory ), 42 _nb_context (nb_context ), 43 _nb_front_end (nb_front_end ), 44 _nb_ooo_engine (nb_ooo_engine ), 45 _nb_packet (nb_packet ), 46 _size_general_data (size_general_data ), 47 _size_special_data (size_special_data ), 48 _nb_general_register (nb_general_register ), 49 _nb_special_register (nb_special_register ), 50 51 _size_address_store_queue (log2(size_store_queue )), 52 _size_address_load_queue (log2(size_load_queue )), 53 _size_address_speculative_access_queue (log2(size_speculative_access_queue)), 54 55 _size_context_id (log2(nb_context )), 56 _size_front_end_id (log2(nb_front_end )), 57 _size_ooo_engine_id (log2(nb_ooo_engine )), 58 _size_packet_id (log2(nb_packet )), 59 _size_general_register (log2(nb_general_register)), 60 _size_special_register (log2(nb_special_register)), 61 _size_dcache_context_id (_size_context_id + _size_front_end_id + _size_ooo_engine_id), 62 _size_dcache_packet_id ((log2((size_store_queue>size_load_queue)?size_store_queue:size_load_queue))+1), 63 64 _have_port_context_id (_size_context_id >0), 65 _have_port_front_end_id (_size_front_end_id >0), 66 _have_port_ooo_engine_id (_size_ooo_engine_id>0), 67 _have_port_packet_id (_size_packet_id >0), 68 _have_port_dcache_context_id (_size_dcache_context_id>0), 69 _have_port_load_queue_ptr (_size_load_queue>1), 70 71 _mask_address_lsb (gen_mask<Tdcache_address_t>(log2(size_general_data/8))), 72 _mask_address_msb (gen_mask<Tdcache_address_t>(size_general_data) << log2(size_general_data/8)) 37 uint32_t nb_special_register , 38 bool is_toplevel) 73 39 { 74 40 log_printf(FUNC,Load_store_unit,FUNCTION,"Begin"); 41 42 _size_store_queue = size_store_queue ; 43 _size_load_queue = size_load_queue ; 44 _size_speculative_access_queue = size_speculative_access_queue; 45 _nb_port_check = nb_port_check ; 46 _speculative_load = speculative_load ; 47 _nb_bypass_memory = nb_bypass_memory ; 48 _nb_cache_port = nb_cache_port ; 49 _nb_inst_memory = nb_inst_memory ; 50 _nb_context = nb_context ; 51 _nb_front_end = nb_front_end ; 52 _nb_ooo_engine = nb_ooo_engine ; 53 _nb_packet = nb_packet ; 54 _nb_general_register = nb_general_register ; 55 _nb_special_register = nb_special_register ; 56 57 _size_speculative_access_queue_ptr = log2(size_speculative_access_queue); 58 59 _size_dcache_context_id = log2(nb_context) + log2(nb_front_end) + log2(nb_ooo_engine); 60 _size_dcache_packet_id = (log2((size_store_queue>size_load_queue)?size_store_queue:size_load_queue))+1; 61 62 _have_port_dcache_context_id = _size_dcache_context_id>0; 63 64 _mask_address_lsb = gen_mask<Tdcache_address_t>(log2(size_general_data/8)); 65 _mask_address_msb = gen_mask<Tdcache_address_t>(size_general_data) << log2(size_general_data/8); 66 75 67 test(); 68 69 if (is_toplevel) 70 { 71 _size_context_id = log2(nb_context ); 72 _size_front_end_id = log2(nb_front_end ); 73 _size_ooo_engine_id = log2(nb_ooo_engine ); 74 _size_rob_ptr = log2(nb_packet ); 75 _size_general_register = log2(nb_general_register); 76 _size_special_register = log2(nb_special_register); 77 _size_store_queue_ptr = log2(size_store_queue ); 78 _size_load_queue_ptr = log2(size_load_queue ); 79 _size_general_data = size_general_data ; 80 _size_special_data = size_special_data ; 81 82 _have_port_context_id = _size_context_id >0; 83 _have_port_front_end_id = _size_front_end_id >0; 84 _have_port_ooo_engine_id = _size_ooo_engine_id >0; 85 _have_port_rob_ptr = _size_rob_ptr >0; 86 _have_port_load_queue_ptr = _size_load_queue_ptr>0; 87 88 copy(); 89 } 90 76 91 log_printf(FUNC,Load_store_unit,FUNCTION,"End"); 77 92 }; 78 93 94 // #undef FUNCTION 95 // #define FUNCTION "Load_store_unit::Parameters (copy)" 96 // Parameters::Parameters (Parameters & param): 97 // _size_store_queue (param._size_store_queue ), 98 // _size_load_queue (param._size_load_queue ), 99 // _size_speculative_access_queue (param._size_speculative_access_queue), 100 // _nb_port_check (param._nb_port_check ), 101 // _speculative_load (param._speculative_load ), 102 // _nb_bypass_memory (param._nb_bypass_memory ), 103 // _nb_cache_port (param._nb_cache_port ), 104 // _nb_inst_memory (param._nb_inst_memory ), 105 // _nb_context (param._nb_context ), 106 // _nb_front_end (param._nb_front_end ), 107 // _nb_ooo_engine (param._nb_ooo_engine ), 108 // _nb_packet (param._nb_packet ), 109 // _size_general_data (param._size_general_data ), 110 // _size_special_data (param._size_special_data ), 111 // _nb_general_register (param._nb_general_register ), 112 // _nb_special_register (param._nb_special_register ), 113 114 // _size_address_store_queue (param._size_address_store_queue ), 115 // _size_address_load_queue (param._size_address_load_queue ), 116 // _size_address_speculative_access_queue (param._size_address_speculative_access_queue), 117 118 // _size_context_id (param._size_context_id ), 119 // _size_front_end_id (param._size_front_end_id ), 120 // _size_ooo_engine_id (param._size_ooo_engine_id ), 121 // _size_packet_id (param._size_packet_id ), 122 // _size_general_register (param._size_general_register ), 123 // _size_special_register (param._size_special_register ), 124 // _size_dcache_context_id (param._size_dcache_context_id ), 125 // _size_dcache_packet_id (param._size_dcache_packet_id ), 126 127 // _have_port_context_id (param._have_port_context_id ), 128 // _have_port_front_end_id (param._have_port_front_end_id ), 129 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 130 // _have_port_packet_id (param._have_port_packet_id ), 131 // _have_port_dcache_context_id(param._have_port_dcache_context_id), 132 // _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 133 134 // _mask_address_lsb (param._mask_address_lsb), 135 // _mask_address_msb (param._mask_address_msb) 136 // { 137 // log_printf(FUNC,Load_store_unit,FUNCTION,"Begin"); 138 // test(); 139 // log_printf(FUNC,Load_store_unit,FUNCTION,"End"); 140 // }; 141 79 142 #undef FUNCTION 80 #define FUNCTION "Load_store_unit::Parameters (copy)" 81 Parameters::Parameters (Parameters & param): 82 _size_store_queue (param._size_store_queue ), 83 _size_load_queue (param._size_load_queue ), 84 _size_speculative_access_queue (param._size_speculative_access_queue), 85 _nb_port_check (param._nb_port_check ), 86 _speculative_load (param._speculative_load ), 87 _nb_bypass_memory (param._nb_bypass_memory ), 88 _nb_context (param._nb_context ), 89 _nb_front_end (param._nb_front_end ), 90 _nb_ooo_engine (param._nb_ooo_engine ), 91 _nb_packet (param._nb_packet ), 92 _size_general_data (param._size_general_data ), 93 _size_special_data (param._size_special_data ), 94 _nb_general_register (param._nb_general_register ), 95 _nb_special_register (param._nb_special_register ), 96 97 _size_address_store_queue (param._size_address_store_queue ), 98 _size_address_load_queue (param._size_address_load_queue ), 99 _size_address_speculative_access_queue (param._size_address_speculative_access_queue), 100 101 _size_context_id (param._size_context_id ), 102 _size_front_end_id (param._size_front_end_id ), 103 _size_ooo_engine_id (param._size_ooo_engine_id ), 104 _size_packet_id (param._size_packet_id ), 105 _size_general_register (param._size_general_register ), 106 _size_special_register (param._size_special_register ), 107 _size_dcache_context_id (param._size_dcache_context_id ), 108 _size_dcache_packet_id (param._size_dcache_packet_id ), 109 110 _have_port_context_id (param._have_port_context_id ), 111 _have_port_front_end_id (param._have_port_front_end_id ), 112 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 113 _have_port_packet_id (param._have_port_packet_id ), 114 _have_port_dcache_context_id(param._have_port_dcache_context_id), 115 _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 116 117 _mask_address_lsb (param._mask_address_lsb), 118 _mask_address_msb (param._mask_address_msb) 143 #define FUNCTION "Load_store_unit::~Parameters" 144 Parameters::~Parameters (void) 119 145 { 120 146 log_printf(FUNC,Load_store_unit,FUNCTION,"Begin"); 121 test();122 147 log_printf(FUNC,Load_store_unit,FUNCTION,"End"); 123 148 }; 124 149 125 150 #undef FUNCTION 126 #define FUNCTION "Load_store_unit:: ~Parameters"127 Parameters::~Parameters ()151 #define FUNCTION "Load_store_unit::copy" 152 void Parameters::copy (void) 128 153 { 129 154 log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
Note: See TracChangeset
for help on using the changeset viewer.