Changeset 146 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Timestamp:
- Feb 1, 2011, 9:57:54 PM (14 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile
- Files:
-
- 1 deleted
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/Makefile.deps
r142 r146 19 19 include $(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/Makefile.deps 20 20 endif 21 ifndef RegisterFile_Internal_Banked 22 include $(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Internal_Banked/Makefile.deps 23 endif 21 24 22 25 #-----[ Library ]------------------------------------------ … … 25 28 $(RegisterFile_Monolithic_LIBRARY) \ 26 29 $(RegisterFile_Multi_Banked_LIBRARY) \ 30 $(RegisterFile_Internal_Banked_LIBRARY) \ 27 31 $(Behavioural_LIBRARY) 28 32 … … 41 45 $(MAKE) Behavioural_library; \ 42 46 $(MAKE) RegisterFile_Monolithic_library;\ 43 $(MAKE) RegisterFile_Multi_Banked_library; 47 $(MAKE) RegisterFile_Multi_Banked_library;\ 48 $(MAKE) RegisterFile_Internal_Banked_library; 44 49 45 50 RegisterFile_library_clean : RegisterFile_library_clean_only … … 47 52 $(MAKE) Behavioural_library_clean; \ 48 53 $(MAKE) RegisterFile_Monolithic_library_clean;\ 49 $(MAKE) RegisterFile_Multi_Banked_library_clean; 54 $(MAKE) RegisterFile_Multi_Banked_library_clean;\ 55 $(MAKE) RegisterFile_Internal_Banked_library_clean; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Internal_Banked/include/Types.h
r145 r146 18 18 19 19 //typedef uint32_t Taddress_t; 20 typedef uint64_t Tdata_t;21 //typedef Tgeneral_data_t Tdata_t;20 //typedef uint64_t Tdata_t; 21 typedef Tgeneral_data_t Tdata_t; 22 22 23 23 }; // end namespace registerfile_internal_banked -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/configuration/config_read.gen
r145 r146 2 2 1 8 *2 # nb_port_read 3 3 1 1 *2 # nb_port_write 4 0 0 *2 # nb_port_read_write5 4 512 512 *2 # nb_word 6 5 32 32 *2 # size_word -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/configuration/config_size.gen
r145 r146 2 2 4 4 *2 # nb_port_read 3 3 2 2 *2 # nb_port_write 4 0 0 *2 # nb_port_read_write5 4 1 128 *2 # nb_word 6 5 32 32 *2 # size_word -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/configuration/config_write.gen
r145 r146 2 2 1 1 *2 # nb_port_read 3 3 2 8 *2 # nb_port_write 4 0 0 *2 # nb_port_read_write5 4 512 512 *2 # nb_word 6 5 32 32 *2 # size_word -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/main.cpp
r81 r146 8 8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/include/test.h" 9 9 10 #define NB_PARAMS 510 #define NB_PARAMS 4 11 11 12 12 void usage (string exec) … … 16 16 << " - nb_port_read (unsigned int)" << endl 17 17 << " - nb_port_write (unsigned int)" << endl 18 << " - nb_port_read_write (unsigned int)" << endl19 18 << " - nb_word (unsigned int)" << endl 20 19 << " - size_word (unsigned int)" << endl; … … 34 33 const uint32_t nb_port_read = atoi(argv[2]); 35 34 const uint32_t nb_port_write = atoi(argv[3]); 36 const uint32_t nb_port_read_write = atoi(argv[4]); 37 const uint32_t nb_word = atoi(argv[5]); 38 const uint32_t size_word = atoi(argv[6]); 35 const uint32_t nb_word = atoi(argv[4]); 36 const uint32_t size_word = atoi(argv[5]); 39 37 40 38 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters * param = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters 41 39 (nb_port_read , 42 40 nb_port_write, 43 nb_port_read_write,44 41 nb_word , 45 42 size_word ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp
r131 r146 73 73 sc_signal<Tdata_t> WRITE_DATA [_param->_nb_port_write]; 74 74 75 sc_signal<Tcontrol_t> READ_WRITE_VAL [_param->_nb_port_read_write];76 sc_signal<Tcontrol_t> READ_WRITE_ACK [_param->_nb_port_read_write];77 sc_signal<Tcontrol_t> READ_WRITE_RW [_param->_nb_port_read_write];78 sc_signal<Taddress_t> READ_WRITE_ADDRESS [_param->_nb_port_read_write];79 sc_signal<Tdata_t> READ_WRITE_RDATA [_param->_nb_port_read_write];80 sc_signal<Tdata_t> READ_WRITE_WDATA [_param->_nb_port_read_write];81 82 75 /******************************************************** 83 76 * Instanciation … … 105 98 (*(registerfile-> in_WRITE_DATA [i])) (WRITE_DATA [i]); 106 99 } 107 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)108 {109 (*(registerfile-> in_READ_WRITE_VAL [i])) (READ_WRITE_VAL [i]);110 (*(registerfile->out_READ_WRITE_ACK [i])) (READ_WRITE_ACK [i]);111 (*(registerfile-> in_READ_WRITE_RW [i])) (READ_WRITE_RW [i]);112 if (_param->_have_port_address)113 (*(registerfile-> in_READ_WRITE_ADDRESS [i])) (READ_WRITE_ADDRESS [i]);114 (*(registerfile-> in_READ_WRITE_WDATA [i])) (READ_WRITE_WDATA [i]);115 (*(registerfile->out_READ_WRITE_RDATA [i])) (READ_WRITE_RDATA [i]);116 }117 100 118 101 cout << "<" << name << "> Start Simulation ............" << endl; … … 131 114 for (uint32_t i=0; i<_param->_nb_port_read; i++) 132 115 READ_VAL [i] .write (0); 133 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)134 READ_WRITE_VAL [i] .write (0);135 116 136 117 NRESET.write(0); … … 144 125 for (uint32_t i=0; i<_param->_nb_port_read; i++) 145 126 TEST(Tcontrol_t,READ_ACK [i],1); 146 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)147 TEST(Tcontrol_t,READ_WRITE_ACK [i],1);148 127 149 128 for (uint32_t nb_iteration=0; nb_iteration < NB_ITERATION; nb_iteration ++) … … 187 166 } 188 167 189 for (uint32_t num_port=0; num_port < _param->_nb_port_read_write; num_port ++)190 {191 if ((address_next < _param->_nb_word) and192 (READ_WRITE_VAL [num_port].read() == 0))193 {194 cout << "(" << num_port << ") [" << address_next << "] <= " << tab[address_next] << endl;195 196 READ_WRITE_VAL [num_port] .write(1);197 READ_WRITE_RW [num_port] .write(RW_WRITE);198 READ_WRITE_WDATA [num_port] .write(tab[address_next]);199 READ_WRITE_ADDRESS [num_port] .write(address_next++);200 201 // Address can be not a multiple of nb_port_write202 if (address_next >= _param->_nb_word)203 break;204 }205 }206 207 168 SC_START(1); 208 169 … … 217 178 } 218 179 } 219 // reset write_val port220 for (uint32_t num_port=0; num_port < _param->_nb_port_read_write; num_port ++)221 {222 if ((READ_WRITE_ACK [num_port].read() == 1) and223 (READ_WRITE_VAL [num_port].read() == 1))224 {225 READ_WRITE_VAL [num_port] .write(0);226 nb_ack ++;227 }228 }229 180 230 181 // SC_START(0); … … 237 188 238 189 Tdata_t read_address [_param->_nb_port_read]; 239 Tdata_t read_write_address [_param->_nb_port_read_write];240 190 241 191 while (nb_ack < _param->_nb_word) … … 258 208 } 259 209 260 for (uint32_t num_port=0; num_port < _param->_nb_port_read_write; num_port ++)261 {262 if ((address_next < _param->_nb_word) and263 (READ_WRITE_VAL [num_port].read() == 0))264 {265 read_write_address [num_port] = address_next++;266 267 READ_WRITE_VAL [num_port].write(1);268 READ_WRITE_RW [num_port].write(RW_READ);269 READ_WRITE_ADDRESS [num_port].write(read_write_address [num_port]);270 271 if (address_next >= _param->_nb_word)272 break;273 }274 }275 276 210 277 211 SC_START(1); … … 288 222 289 223 TEST(Tdata_t,READ_DATA [num_port].read(), tab[read_address [num_port]]); 290 nb_ack ++;291 }292 }293 294 for (uint32_t num_port=0; num_port < _param->_nb_port_read_write; num_port ++)295 {296 if ((READ_WRITE_ACK [num_port].read() == 1) and297 (READ_WRITE_VAL [num_port].read() == 1))298 {299 READ_WRITE_VAL [num_port] .write(0);300 301 cout << "(" << num_port << ") [" << read_write_address [num_port] << "] => " << READ_WRITE_RDATA [num_port].read() << endl;302 303 TEST(Tdata_t,READ_WRITE_RDATA [num_port].read(), tab[read_write_address [num_port]]);304 224 nb_ack ++; 305 225 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h
r137 r146 23 23 public : uint32_t _nb_port_read ; 24 24 public : uint32_t _nb_port_write; 25 public : uint32_t _nb_port_read_write;26 25 public : uint32_t _nb_word ; 27 26 public : uint32_t _size_word ; … … 34 33 public : Parameters (uint32_t nb_port_read , 35 34 uint32_t nb_port_write, 36 uint32_t nb_port_read_write,37 35 uint32_t nb_word , 38 36 uint32_t size_word , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h
r145 r146 5 5 * $Id$ 6 6 * 7 * [ 7 * [ Description ] 8 8 * 9 9 */ … … 22 22 #include "Behavioural/include/Stat.h" 23 23 #endif 24 //#include "Behavioural/include/Component.h"24 #include "Behavioural/include/Component.h" 25 25 #ifdef VHDL 26 26 #include "Behavioural/include/Vhdl.h" … … 28 28 #include "Behavioural/include/Usage.h" 29 29 30 31 32 30 namespace morpheo { 33 31 namespace behavioural { 34 35 class Component;36 class Interfaces;37 38 32 namespace generic { 39 33 namespace registerfile { … … 62 56 private : counters_t * _stat_port_read; 63 57 private : counters_t * _stat_port_write; 64 private : counters_t * _stat_port_read_write;65 58 #endif 66 59 … … 85 78 public : SC_IN (Taddress_t) ** in_WRITE_ADDRESS; 86 79 public : SC_IN (Tdata_t) ** in_WRITE_DATA ; 87 88 // ----- Interface Read_Write89 public : SC_IN (Tcontrol_t) ** in_READ_WRITE_VAL ;90 public : SC_OUT (Tcontrol_t) ** out_READ_WRITE_ACK ;91 public : SC_IN (Tcontrol_t) ** in_READ_WRITE_RW ;92 public : SC_IN (Taddress_t) ** in_READ_WRITE_ADDRESS;93 public : SC_OUT (Tdata_t) ** out_READ_WRITE_RDATA ;94 public : SC_IN (Tdata_t) ** in_READ_WRITE_WDATA ;95 80 96 81 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp
r137 r146 17 17 Parameters::Parameters (uint32_t nb_port_read , 18 18 uint32_t nb_port_write, 19 uint32_t nb_port_read_write ,20 19 uint32_t nb_word , 21 20 uint32_t size_word , … … 25 24 _nb_port_read = nb_port_read ; 26 25 _nb_port_write = nb_port_write; 27 _nb_port_read_write = nb_port_read_write;28 26 _nb_word = nb_word ; 29 27 _size_word = size_word ; … … 40 38 // _nb_port_read (param._nb_port_read ), 41 39 // _nb_port_write (param._nb_port_write), 42 // _nb_port_read_write(param._nb_port_read_write),43 40 // _nb_word (param._nb_word ), 44 41 // _size_word (param._size_word ), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_msg_error.cpp
r101 r146 27 27 test.error("type \"Taddress_t\" is too little to the size defined by nb_word"); 28 28 29 if ( (_nb_port_read + _nb_port_read_write)< 1)29 if (_nb_port_read < 1) 30 30 test.error("you need a read port"); 31 31 32 if ( (_nb_port_write + _nb_port_read_write)< 1)32 if (_nb_port_write < 1) 33 33 test.error("you need a write port"); 34 34 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_print.cpp
r81 r146 23 23 xml.singleton_begin("nb_port_read "); xml.attribut("value",toString(_nb_port_read )); xml.singleton_end(); 24 24 xml.singleton_begin("nb_port_write "); xml.attribut("value",toString(_nb_port_write )); xml.singleton_end(); 25 xml.singleton_begin("nb_port_read_write"); xml.attribut("value",toString(_nb_port_read_write)); xml.singleton_end();26 25 xml.singleton_begin("nb_word "); xml.attribut("value",toString(_nb_word )); xml.singleton_end(); 27 26 xml.singleton_begin("size_word "); xml.attribut("value",toString(_size_word )); xml.singleton_end(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp
r132 r146 79 79 sensitive << *(in_READ_ADDRESS [i]); 80 80 } 81 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)82 {83 sensitive << *(in_READ_WRITE_VAL [i])84 << *(in_READ_WRITE_RW [i]);85 if (_param->_have_port_address)86 sensitive << *(in_READ_WRITE_ADDRESS [i]);87 }88 81 89 82 # ifdef SYSTEMCASS_SPECIFIC … … 94 87 if (_param->_have_port_address) 95 88 (*(out_READ_DATA [i])) (*( in_READ_ADDRESS [i])); 96 }97 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)98 {99 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_VAL [i]));100 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_RW [i]));101 if (_param->_have_port_address)102 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_ADDRESS [i]));103 89 } 104 90 # endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
r145 r146 8 8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 9 9 #include "Behavioural/include/Allocation.h" 10 #include "Behavioural/include/Component.h"11 10 12 11 namespace morpheo { … … 67 66 } 68 67 69 // ~~~~~[ Interface : "read_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~70 {71 ALLOC1_INTERFACE_BEGIN("read_write",IN,WEST,_("Interface Read_Write"),_param->_nb_port_read_write);72 73 ALLOC1_VALACK_IN ( in_READ_WRITE_VAL ,VAL);74 ALLOC1_VALACK_OUT(out_READ_WRITE_ACK ,ACK);75 ALLOC1_SIGNAL_IN ( in_READ_WRITE_RW ,"rw" ,Tcontrol_t,1);76 ALLOC1_SIGNAL_IN ( in_READ_WRITE_ADDRESS,"address",Taddress_t,_param->_size_address);77 ALLOC1_SIGNAL_IN ( in_READ_WRITE_WDATA ,"wdata" ,Tdata_t ,_param->_size_word);78 ALLOC1_SIGNAL_OUT(out_READ_WRITE_RDATA ,"rdata" ,Tdata_t ,_param->_size_word);79 80 ALLOC1_INTERFACE_END(_param->_nb_port_read_write);81 }82 83 68 if (usage_is_set(_usage,USE_SYSTEMC)) 84 69 ALLOC1(reg_DATA,Tdata_t,_param->_nb_word); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_constant.cpp
r131 r146 26 26 for (uint32_t i=0; i<_param->_nb_port_write ; i++) 27 27 PORT_WRITE(out_WRITE_ACK [i], 1); 28 for (uint32_t i=0; i<_param->_nb_port_read_write ; i++)29 PORT_WRITE(out_READ_WRITE_ACK [i], 1);30 28 31 29 log_end(RegisterFile_Monolithic,FUNCTION); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp
r145 r146 8 8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 9 9 #include "Behavioural/include/Allocation.h" 10 #include "Behavioural/include/Component.h"11 10 12 11 namespace morpheo { … … 34 33 DELETE1_SIGNAL( in_WRITE_ADDRESS,_param->_nb_port_write,_param->_size_address); 35 34 DELETE1_SIGNAL( in_WRITE_DATA ,_param->_nb_port_write,_param->_size_word); 36 37 DELETE1_SIGNAL( in_READ_WRITE_VAL ,_param->_nb_port_read_write,1); 38 DELETE1_SIGNAL(out_READ_WRITE_ACK ,_param->_nb_port_read_write,1); 39 DELETE1_SIGNAL( in_READ_WRITE_RW ,_param->_nb_port_read_write,1); 40 DELETE1_SIGNAL( in_READ_WRITE_ADDRESS,_param->_nb_port_read_write,_param->_size_address); 41 DELETE1_SIGNAL( in_READ_WRITE_WDATA ,_param->_nb_port_read_write,_param->_size_word); 42 DELETE1_SIGNAL(out_READ_WRITE_RDATA ,_param->_nb_port_read_write,_param->_size_word); 43 35 44 36 DELETE1(reg_DATA,_param->_nb_word); 45 37 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_genMealy_read.cpp
r123 r146 47 47 } 48 48 } 49 50 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)51 {52 Tdata_t data;53 54 // Have a write?55 if ( (PORT_READ(in_READ_WRITE_VAL [i]) == 1) and56 (PORT_READ(in_READ_WRITE_RW [i]) == RW_READ)57 )58 {59 Taddress_t address;60 if (_param->_have_port_address)61 address = PORT_READ(in_READ_WRITE_ADDRESS[i]);62 else63 address = 0;64 65 data = reg_DATA[address];66 67 log_printf(TRACE,RegisterFile,FUNCTION," * [%d] -> %.8x",static_cast<uint32_t>(address),static_cast<uint32_t>(data));68 }69 else70 {71 //log_printf(TRACE,RegisterFile,FUNCTION,"Read [%d] : No transaction",i);72 data = 0;73 }74 75 PORT_WRITE(out_READ_WRITE_RDATA[i],data);76 }77 49 } 78 50 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics_declaration.cpp
r141 r146 34 34 _("Average of write per cycle.") 35 35 ); 36 if (_param->_nb_port_read_write>0)37 _stat_port_read_write = _stat->create_counters("port_read_write",_param->_nb_port_read_write,"",38 _("Cycle number cycle with %d read_write(s)."),39 _("Percent of cycle number cycle with %d read_write(s)."),40 _("Average of read_write per cycle.")41 );42 43 // _stat_nb_read = _stat->create_variable("nb_read" );44 // _stat_nb_write = _stat->create_variable("nb_write");45 46 // _stat->create_expr_average_by_cycle("average_read" , "nb_read" , "", _("Average read by cycle" ));47 // _stat->create_expr_average_by_cycle("average_write", "nb_write", "", _("Average write by cycle"));48 49 // _stat->create_expr_percent ("percent_use_read" , "average_read" , toString(_param->_nb_port_read +_param->_nb_port_read_write), _("Percent read by cycle" ));50 // _stat->create_expr_percent ("percent_use_write", "average_write", toString(_param->_nb_port_write+_param->_nb_port_read_write), _("Percent write by cycle"));51 52 36 }; 53 37 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp
r138 r146 40 40 uint32_t stat_nb_read =0; 41 41 uint32_t stat_nb_write =0; 42 uint32_t stat_nb_read_write=0;43 42 #endif 44 43 for (uint32_t i=0; i<_param->_nb_port_write; i++) … … 76 75 } 77 76 } 78 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)79 {80 log_printf(TRACE,RegisterFile,FUNCTION," * READ_WRITE [%d] : %d",i,PORT_READ(in_READ_WRITE_VAL[i]));81 82 // Have a read_write?83 if (PORT_READ(in_READ_WRITE_VAL[i]) == true)84 {85 #ifdef STATISTICS86 stat_nb_read_write++;87 #endif88 89 if (PORT_READ(in_READ_WRITE_RW [i]) == RW_WRITE)90 {91 // #ifdef STATISTICS92 // if (usage_is_set(_usage,USE_STATISTICS))93 // (*_stat_nb_write) ++;94 // #endif95 96 Taddress_t address = (_param->_have_port_address)?PORT_READ(in_READ_WRITE_ADDRESS[i]):0;97 Tdata_t data = PORT_READ(in_READ_WRITE_WDATA [i]);98 99 log_printf(TRACE,RegisterFile,FUNCTION," * [%d] <- %.8x",static_cast<uint32_t>(address),static_cast<uint32_t>(data));100 101 102 #ifdef DEBUG_TEST103 if (address >= _param->_nb_word)104 throw ERRORMORPHEO(FUNCTION,toString(_("Address (%d) is invalid (size : %d).\n"),address,_param->_nb_word));105 #endif106 107 // Write in registerFile108 reg_DATA[address] = data;109 }110 // #ifdef STATISTICS111 // else112 // {113 // if (usage_is_set(_usage,USE_STATISTICS))114 // (*_stat_nb_read) ++;115 // }116 // #endif117 }118 }119 120 77 121 78 #ifdef STATISTICS … … 133 90 if (_param->_nb_port_write>0) 134 91 (*_stat_port_write ) += stat_nb_write; 135 if (_param->_nb_port_read_write>0)136 (*_stat_port_read_write) += stat_nb_read_write;137 92 } 138 93 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl.cpp
r145 r146 10 10 #include "Behavioural/include/Vhdl.h" 11 11 #include "Common/include/ToString.h" 12 #include "Behavioural/include/Component.h"13 12 14 13 namespace morpheo { -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp
r145 r146 29 29 for (uint32_t i = 0; i < _param->_nb_port_write; i++) 30 30 vhdl->set_body (0,"out_WRITE_"+toString(i)+"_ACK <= '1';"); 31 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)32 vhdl->set_body (0,"out_READ_WRITE_"+toString(i)+"_ACK <= '1';");33 31 34 32 vhdl->set_body (0,""); … … 47 45 48 46 vhdl->set_body (0,"out_READ_"+toString(i)+"_DATA <= reg_DATA ("+str_address+") when in_READ_"+toString(i)+"_VAL = '1' else "+std_logic_others(_param->_size_word,0)+";"); 49 }50 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)51 {52 std::string str_address;53 if (_param->_have_port_address)54 str_address = "conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)";55 else56 str_address = "0";57 vhdl->set_body (0,"out_READ_WRITE_"+toString(i)+"_RDATA <= reg_DATA ("+str_address+") when in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_READ)+"' else "+std_logic_others(_param->_size_word,0)+";");58 47 } 59 48 … … 92 81 vhdl->set_body (2,"end if;"); 93 82 } 94 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)95 {96 std::string str_address;97 if (_param->_have_port_address)98 str_address = "conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)";99 else100 str_address = "0";101 102 vhdl->set_body (2,"if (in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_WRITE)+"') then");103 vhdl->set_body (3,"reg_DATA("+str_address+") <= in_READ_WRITE_"+toString(i)+"_WDATA;");104 vhdl->set_body (2,"end if;");105 }106 83 107 84 vhdl->set_body (1,"end if;"); … … 122 99 // for (uint32_t i = 0; i < _param->_nb_port_write; i++) 123 100 // vhdl->set_body (0,"out_WRITE_"+toString(i)+"_ACK <= '1';"); 124 // for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)125 // vhdl->set_body (0,"out_READ_WRITE_"+toString(i)+"_ACK <= '1';");126 101 127 102 // vhdl->set_body (0,""); … … 195 170 for (uint32_t i = 0; i < _param->_nb_port_write; i++) 196 171 vhdl->set_body (1,"out_WRITE_"+toString(i)+"_ACK <= '1';"); 197 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)198 vhdl->set_body (1,"out_READ_WRITE_"+toString(i)+"_ACK <= '1';");199 172 vhdl->set_body (1,""); 200 173 vhdl->set_body (1," -- Read"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h
r137 r146 12 12 #include "Behavioural/include/Parameters.h" 13 13 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h" 14 #include "Behavioural/Generic/RegisterFile/RegisterFile_Internal_Banked/include/Parameters.h" 14 15 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h" 15 16 #include <math.h> … … 20 21 namespace registerfile { 21 22 22 typedef enum {instance_RegisterFile_Monolithic , 23 typedef enum {instance_RegisterFile_Monolithic, 24 instance_RegisterFile_Internal_Banked, 23 25 instance_RegisterFile_Multi_Banked} Tinstance_t; 24 26 … … 34 36 public : bool _have_port_address; 35 37 36 public : morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * _param_registerfile_monolithic; 37 public : morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * _param_registerfile_multi_banked; 38 public : morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * _param_registerfile_monolithic; 39 public : morpheo::behavioural::generic::registerfile::registerfile_internal_banked::Parameters * _param_registerfile_internal_banked; 40 public : morpheo::behavioural::generic::registerfile::registerfile_multi_banked ::Parameters * _param_registerfile_multi_banked; 38 41 39 42 //-----[ methods ]----------------------------------------------------------- 40 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * param); 41 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * param); 43 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * param); 44 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_internal_banked::Parameters * param); 45 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_multi_banked ::Parameters * param); 42 46 // public : Parameters (Parameters & param) ; 43 47 public : ~Parameters () ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/RegisterFile.h
r112 r146 18 18 19 19 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 20 #include "Behavioural/Generic/RegisterFile/RegisterFile_Internal_Banked/include/RegisterFile_Internal_Banked.h" 20 21 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 21 22 … … 76 77 77 78 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 78 protected : morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic * component_RegisterFile_Monolithic ; 79 protected : morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * component_RegisterFile_Multi_Banked; 79 protected : morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic * component_RegisterFile_Monolithic; 80 protected : morpheo::behavioural::generic::registerfile::registerfile_internal_banked::RegisterFile_Internal_Banked::RegisterFile_Internal_Banked * component_RegisterFile_Internal_Banked; 81 protected : morpheo::behavioural::generic::registerfile::registerfile_multi_banked ::RegisterFile_Multi_Banked ::RegisterFile_Multi_Banked * component_RegisterFile_Multi_Banked; 80 82 81 83 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
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.