- Timestamp:
- Feb 1, 2011, 9:57:54 PM (13 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp
r137 r146 26 26 _have_port_address = param->_have_port_address; 27 27 28 _param_registerfile_monolithic = param; 29 _param_registerfile_multi_banked = NULL; 28 _param_registerfile_monolithic = param; 29 _param_registerfile_internal_banked = NULL; 30 _param_registerfile_multi_banked = NULL; 31 32 test(); 33 34 log_printf(FUNC,RegisterFile,"Parameters","End"); 35 }; 36 37 Parameters::Parameters (morpheo::behavioural::generic::registerfile::registerfile_internal_banked ::Parameters * param) 38 { 39 log_printf(FUNC,RegisterFile,"Parameters","Begin"); 40 41 _instance = instance_RegisterFile_Internal_Banked; 42 _nb_port_read = param->_nb_port_read ; 43 _nb_port_write = param->_nb_port_write; 44 _nb_word = param->_nb_word ; 45 _size_word = param->_size_word ; 46 _size_address = param->_size_address ; 47 _have_port_address = param->_have_port_address; 48 49 _param_registerfile_monolithic = NULL; 50 _param_registerfile_internal_banked = param; 51 _param_registerfile_multi_banked = NULL; 30 52 31 53 test(); … … 45 67 log_printf(FUNC,RegisterFile,"Parameters","Begin"); 46 68 47 _param_registerfile_monolithic = NULL; 48 _param_registerfile_multi_banked = param; 69 _param_registerfile_monolithic = NULL; 70 _param_registerfile_internal_banked = NULL; 71 _param_registerfile_multi_banked = param; 49 72 50 73 test(); … … 53 76 }; 54 77 55 // Parameters::Parameters (Parameters & param):56 // _instance (param._instance ),57 // _nb_port_read (param._nb_port_read ),58 // _nb_port_write (param._nb_port_write),59 // _nb_word (param._nb_word ),60 // _size_word (param._size_word ),61 // _size_address (param._size_address ),62 // _have_port_address (param._have_port_address)63 // {64 // log_printf(FUNC,RegisterFile,"Parameters (copy)","Begin");65 66 // _param_registerfile_multi_banked = param._param_registerfile_multi_banked;67 // _param_registerfile_monolithic = param._param_registerfile_monolithic;68 // test();69 // log_printf(FUNC,RegisterFile,"Parameters (copy)","End");70 // };71 72 78 Parameters::~Parameters () 73 79 { … … 84 90 // if (_instance == instance_RegisterFile_Monolithic) 85 91 // COPY(_param_registerfile_monolithic); 92 // if (_instance == instance_RegisterFile_Internal_Banked) 93 // COPY(_param_registerfile_internal_banked); 86 94 // if (_instance == instance_RegisterFile_Multi_Banked) 87 95 // COPY(_param_registerfile_multi_banked); … … 92 100 }; // end namespace registerfile 93 101 }; // end namespace generic 94 95 102 }; // end namespace behavioural 96 103 }; // end namespace morpheo -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_msg_error.cpp
r81 r146 10 10 #include <sstream> 11 11 12 namespace morpheo 12 namespace morpheo { 13 13 namespace behavioural { 14 14 namespace generic { 15 15 namespace registerfile { 16 16 17 18 17 Parameters_test Parameters::msg_error(void) 19 18 { 20 19 if (_instance == instance_RegisterFile_Monolithic) 21 return _param_registerfile_monolithic 20 return _param_registerfile_monolithic->msg_error(); 22 21 else 23 return _param_registerfile_multi_banked->msg_error(); 22 { 23 if (_instance == instance_RegisterFile_Internal_Banked) 24 return _param_registerfile_internal_banked->msg_error(); 25 else 26 return _param_registerfile_multi_banked->msg_error(); 27 } 24 28 }; 25 29 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_print.cpp
r81 r146 9 9 #include "Behavioural/include/XML.h" 10 10 11 namespace morpheo 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 14 namespace registerfile { 15 16 15 17 16 std::string Parameters::print (uint32_t depth) … … 22 21 23 22 if (_instance == instance_RegisterFile_Monolithic) 24 _return = _param_registerfile_monolithic 23 _return = _param_registerfile_monolithic->print(depth); 25 24 else 26 _return = _param_registerfile_multi_banked->print(depth); 25 { 26 if (_instance == instance_RegisterFile_Internal_Banked) 27 _return = _param_registerfile_internal_banked->print(depth); 28 else 29 _return = _param_registerfile_multi_banked->print(depth); 30 } 27 31 28 32 log_printf(FUNC,RegisterFile,"print","End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile.cpp
r82 r146 43 43 #ifdef STATISTICS 44 44 if (_param->_instance == instance_RegisterFile_Monolithic) 45 _stat = component_RegisterFile_Monolithic 45 _stat = component_RegisterFile_Monolithic->_stat; 46 46 else 47 _stat = component_RegisterFile_Multi_Banked->_stat; 47 { 48 if (_param->_instance == instance_RegisterFile_Internal_Banked) 49 _stat = component_RegisterFile_Internal_Banked->_stat; 50 else 51 _stat = component_RegisterFile_Multi_Banked->_stat; 52 } 48 53 #endif 49 54 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_allocation.cpp
r131 r146 15 15 namespace registerfile { 16 16 17 void RegisterFile::allocation ( 18 #ifdef STATISTICS 19 morpheo::behavioural::Parameters_Statistics * param_statistics 20 #else 21 void 22 #endif 23 ) 17 void RegisterFile::allocation 18 ( 19 #ifdef STATISTICS 20 morpheo::behavioural::Parameters_Statistics * param_statistics 21 #else 22 void 23 #endif 24 ) 24 25 { 25 26 std::string rename; … … 60 61 #endif 61 62 62 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 63 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 63 65 if (_param->_instance == instance_RegisterFile_Monolithic) 64 66 // =====[ component_RegisterFile_Monolithic ]========================= 65 67 { 66 component_RegisterFile_Monolithic = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic (_name.c_str()67 #ifdef STATISTICS 68 ,param_statistics 69 #endif 70 ,_param->_param_registerfile_monolithic 71 ,_usage);72 68 component_RegisterFile_Monolithic = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic 69 (_name.c_str() 70 #ifdef STATISTICS 71 ,param_statistics 72 #endif 73 ,_param->_param_registerfile_monolithic 74 ,_usage); 73 75 } 74 76 else 75 // =====[ component_RegisterFile_Multi_Banked ]======================= 76 { 77 component_RegisterFile_Multi_Banked = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked (_name.c_str() 78 #ifdef STATISTICS 79 ,param_statistics 80 #endif 81 ,_param->_param_registerfile_multi_banked 82 ,_usage); 83 77 { 78 if (_param->_instance == instance_RegisterFile_Internal_Banked) 79 // =====[ component_RegisterFile_Internal_Banked ]========================= 80 { 81 component_RegisterFile_Internal_Banked = new morpheo::behavioural::generic::registerfile::registerfile_internal_banked ::RegisterFile_Internal_Banked ::RegisterFile_Internal_Banked 82 (_name.c_str() 83 #ifdef STATISTICS 84 ,param_statistics 85 #endif 86 ,_param->_param_registerfile_internal_banked 87 ,_usage); 88 } 89 else 90 { 91 // =====[ component_RegisterFile_Multi_Banked ]======================= 92 component_RegisterFile_Multi_Banked = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked 93 (_name.c_str() 94 #ifdef STATISTICS 95 ,param_statistics 96 #endif 97 ,_param->_param_registerfile_multi_banked 98 ,_usage); 99 } 84 100 } 85 101 // ~~~~~[ Component - Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 125 141 } 126 142 else 127 // =====[ Component_RegisterFile_Multi_Banked - Instanciation ]======= 128 { 129 #ifdef SYSTEMCASS_SPECIFIC 130 (*(component_RegisterFile_Multi_Banked->in_CLOCK )) (*(in_CLOCK )); 131 (*(component_RegisterFile_Multi_Banked->in_NRESET)) (*(in_NRESET)); 132 133 for (uint32_t i=0; i<_param->_nb_port_read; i++) 134 { 135 (*(component_RegisterFile_Multi_Banked-> in_READ_VAL [i])) (*( in_READ_VAL [i])); 136 (*(component_RegisterFile_Multi_Banked->out_READ_ACK [i])) (*(out_READ_ACK [i])); 137 if (_param->_have_port_address == true) 138 (*(component_RegisterFile_Multi_Banked-> in_READ_ADDRESS [i])) (*( in_READ_ADDRESS [i])); 139 (*(component_RegisterFile_Multi_Banked->out_READ_DATA [i])) (*(out_READ_DATA [i])); 140 } 141 142 for (uint32_t i=0; i<_param->_nb_port_write; i++) 143 { 144 (*(component_RegisterFile_Multi_Banked-> in_WRITE_VAL [i])) (*( in_WRITE_VAL [i])); 145 (*(component_RegisterFile_Multi_Banked->out_WRITE_ACK [i])) (*(out_WRITE_ACK [i])); 146 if (_param->_have_port_address == true) 147 (*(component_RegisterFile_Multi_Banked-> in_WRITE_ADDRESS [i])) (*( in_WRITE_ADDRESS [i])); 148 (*(component_RegisterFile_Multi_Banked-> in_WRITE_DATA [i])) (*( in_WRITE_DATA [i])); 149 } 150 #else 151 in_CLOCK = component_RegisterFile_Multi_Banked-> in_CLOCK ; 152 in_NRESET = component_RegisterFile_Multi_Banked-> in_NRESET ; 153 154 in_READ_VAL = component_RegisterFile_Multi_Banked-> in_READ_VAL ; 155 out_READ_ACK = component_RegisterFile_Multi_Banked->out_READ_ACK ; 156 in_READ_ADDRESS = component_RegisterFile_Multi_Banked-> in_READ_ADDRESS ; 157 out_READ_DATA = component_RegisterFile_Multi_Banked->out_READ_DATA ; 158 159 in_WRITE_VAL = component_RegisterFile_Multi_Banked-> in_WRITE_VAL ; 160 out_WRITE_ACK = component_RegisterFile_Multi_Banked->out_WRITE_ACK ; 161 in_WRITE_ADDRESS = component_RegisterFile_Multi_Banked-> in_WRITE_ADDRESS; 162 in_WRITE_DATA = component_RegisterFile_Multi_Banked-> in_WRITE_DATA ; 163 #endif 164 143 { 144 if (_param->_instance == instance_RegisterFile_Internal_Banked) 145 // =====[ Component_RegisterFile_Internal_Banked - Instanciation ]========= 146 { 147 #ifdef SYSTEMCASS_SPECIFIC 148 (*(component_RegisterFile_Internal_Banked ->in_CLOCK )) (*(in_CLOCK )); 149 (*(component_RegisterFile_Internal_Banked ->in_NRESET)) (*(in_NRESET)); 150 151 for (uint32_t i=0; i<_param->_nb_port_read; i++) 152 { 153 (*(component_RegisterFile_Internal_Banked -> in_READ_VAL [i])) (*( in_READ_VAL [i])); 154 (*(component_RegisterFile_Internal_Banked ->out_READ_ACK [i])) (*(out_READ_ACK [i])); 155 if (_param->_have_port_address == true) 156 (*(component_RegisterFile_Internal_Banked -> in_READ_ADDRESS [i])) (*( in_READ_ADDRESS [i])); 157 (*(component_RegisterFile_Internal_Banked ->out_READ_DATA [i])) (*(out_READ_DATA [i])); 158 } 159 160 for (uint32_t i=0; i<_param->_nb_port_write; i++) 161 { 162 (*(component_RegisterFile_Internal_Banked -> in_WRITE_VAL [i])) (*( in_WRITE_VAL [i])); 163 (*(component_RegisterFile_Internal_Banked ->out_WRITE_ACK [i])) (*(out_WRITE_ACK [i])); 164 if (_param->_have_port_address == true) 165 (*(component_RegisterFile_Internal_Banked -> in_WRITE_ADDRESS [i])) (*( in_WRITE_ADDRESS [i])); 166 (*(component_RegisterFile_Internal_Banked -> in_WRITE_DATA [i])) (*( in_WRITE_DATA [i])); 167 } 168 #else 169 in_CLOCK = component_RegisterFile_Internal_Banked-> in_CLOCK ; 170 in_NRESET = component_RegisterFile_Internal_Banked-> in_NRESET ; 171 172 in_READ_VAL = component_RegisterFile_Internal_Banked-> in_READ_VAL ; 173 out_READ_ACK = component_RegisterFile_Internal_Banked->out_READ_ACK ; 174 in_READ_ADDRESS = component_RegisterFile_Internal_Banked-> in_READ_ADDRESS ; 175 out_READ_DATA = component_RegisterFile_Internal_Banked->out_READ_DATA ; 176 177 in_WRITE_VAL = component_RegisterFile_Internal_Banked-> in_WRITE_VAL ; 178 out_WRITE_ACK = component_RegisterFile_Internal_Banked->out_WRITE_ACK ; 179 in_WRITE_ADDRESS = component_RegisterFile_Internal_Banked-> in_WRITE_ADDRESS; 180 in_WRITE_DATA = component_RegisterFile_Internal_Banked-> in_WRITE_DATA ; 181 #endif 182 } 183 else 184 // =====[ Component_RegisterFile_Multi_Banked - Instanciation ]======= 185 { 186 #ifdef SYSTEMCASS_SPECIFIC 187 (*(component_RegisterFile_Multi_Banked->in_CLOCK )) (*(in_CLOCK )); 188 (*(component_RegisterFile_Multi_Banked->in_NRESET)) (*(in_NRESET)); 189 190 for (uint32_t i=0; i<_param->_nb_port_read; i++) 191 { 192 (*(component_RegisterFile_Multi_Banked-> in_READ_VAL [i])) (*( in_READ_VAL [i])); 193 (*(component_RegisterFile_Multi_Banked->out_READ_ACK [i])) (*(out_READ_ACK [i])); 194 if (_param->_have_port_address == true) 195 (*(component_RegisterFile_Multi_Banked-> in_READ_ADDRESS [i])) (*( in_READ_ADDRESS [i])); 196 (*(component_RegisterFile_Multi_Banked->out_READ_DATA [i])) (*(out_READ_DATA [i])); 197 } 198 199 for (uint32_t i=0; i<_param->_nb_port_write; i++) 200 { 201 (*(component_RegisterFile_Multi_Banked-> in_WRITE_VAL [i])) (*( in_WRITE_VAL [i])); 202 (*(component_RegisterFile_Multi_Banked->out_WRITE_ACK [i])) (*(out_WRITE_ACK [i])); 203 if (_param->_have_port_address == true) 204 (*(component_RegisterFile_Multi_Banked-> in_WRITE_ADDRESS [i])) (*( in_WRITE_ADDRESS [i])); 205 (*(component_RegisterFile_Multi_Banked-> in_WRITE_DATA [i])) (*( in_WRITE_DATA [i])); 206 } 207 #else 208 in_CLOCK = component_RegisterFile_Multi_Banked-> in_CLOCK ; 209 in_NRESET = component_RegisterFile_Multi_Banked-> in_NRESET ; 210 211 in_READ_VAL = component_RegisterFile_Multi_Banked-> in_READ_VAL ; 212 out_READ_ACK = component_RegisterFile_Multi_Banked->out_READ_ACK ; 213 in_READ_ADDRESS = component_RegisterFile_Multi_Banked-> in_READ_ADDRESS ; 214 out_READ_DATA = component_RegisterFile_Multi_Banked->out_READ_DATA ; 215 216 in_WRITE_VAL = component_RegisterFile_Multi_Banked-> in_WRITE_VAL ; 217 out_WRITE_ACK = component_RegisterFile_Multi_Banked->out_WRITE_ACK ; 218 in_WRITE_ADDRESS = component_RegisterFile_Multi_Banked-> in_WRITE_ADDRESS; 219 in_WRITE_DATA = component_RegisterFile_Multi_Banked-> in_WRITE_DATA ; 220 #endif 221 } 165 222 } 166 223 167 224 if (_param->_instance == instance_RegisterFile_Monolithic) 168 _component = component_RegisterFile_Monolithic 225 _component = component_RegisterFile_Monolithic->_component; 169 226 else 170 _component = component_RegisterFile_Multi_Banked->_component; 171 227 { 228 if (_param->_instance == instance_RegisterFile_Internal_Banked) 229 _component = component_RegisterFile_Internal_Banked->_component; 230 else 231 _component = component_RegisterFile_Multi_Banked->_component; 232 } 172 233 log_printf(FUNC,RegisterFile,"allocation","End"); 173 234 }; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_deallocation.cpp
r131 r146 60 60 61 61 if (_param->_instance == instance_RegisterFile_Monolithic) 62 delete component_RegisterFile_Monolithic 62 delete component_RegisterFile_Monolithic; 63 63 else 64 delete component_RegisterFile_Multi_Banked; 64 { 65 if (_param->_instance == instance_RegisterFile_Internal_Banked) 66 delete component_RegisterFile_Internal_Banked; 67 else 68 delete component_RegisterFile_Multi_Banked; 69 } 65 70 66 71 log_printf(FUNC,RegisterFile,"deallocation","End");
Note: See TracChangeset
for help on using the changeset viewer.