- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile
- Files:
-
- 1 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile
r81 r88 23 23 library_clean : RegisterFile_Monolithic_library_clean 24 24 25 local_clean : 26 25 27 include ../Makefile.deps 26 28 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp
r82 r88 32 32 exit (EXIT_FAILURE); 33 33 } 34 35 Tusage_t _usage = USE_ALL; 36 37 // _usage = usage_unset(_usage,USE_SYSTEMC ); 38 // _usage = usage_unset(_usage,USE_VHDL ); 39 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 40 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 41 // _usage = usage_unset(_usage,USE_POSITION ); 42 // _usage = usage_unset(_usage,USE_STATISTICS ); 43 // _usage = usage_unset(_usage,USE_INFORMATION ); 34 44 35 45 #ifdef STATISTICS … … 42 52 #endif 43 53 ,_param 44 , USE_ALL);54 ,_usage); 45 55 46 56 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h
r81 r88 34 34 uint32_t nb_word , 35 35 uint32_t size_word ); 36 public : Parameters (Parameters & param) ;36 // public : Parameters (Parameters & param) ; 37 37 public : ~Parameters () ; 38 38 39 public : void copy (void); 40 39 41 public : Parameters_test msg_error (void); 42 40 43 public : std::string print (uint32_t depth); 41 44 public : friend std::ostream& operator<< (std::ostream& output_stream, -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp
r81 r88 32 32 }; 33 33 34 Parameters::Parameters (Parameters & param) : 35 _nb_port_read (param._nb_port_read ), 36 _nb_port_write (param._nb_port_write), 37 _nb_port_read_write(param._nb_port_read_write), 38 _nb_word (param._nb_word ), 39 _size_word (param._size_word ), 40 _size_address (param._size_address ), 41 _have_port_address (param._have_port_address) 34 // Parameters::Parameters (Parameters & param) : 35 // _nb_port_read (param._nb_port_read ), 36 // _nb_port_write (param._nb_port_write), 37 // _nb_port_read_write(param._nb_port_read_write), 38 // _nb_word (param._nb_word ), 39 // _size_word (param._size_word ), 40 // _size_address (param._size_address ), 41 // _have_port_address (param._have_port_address) 42 // { 43 // test(); 44 // }; 45 46 Parameters::~Parameters () 42 47 { 43 test();44 48 }; 45 49 46 Parameters::~Parameters () 47 { }; 50 void Parameters::copy (void) 51 { 52 }; 48 53 49 54 }; // end namespace registerfile_monolithic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp
r81 r88 33 33 log_printf(FUNC,RegisterFile_Monolithic,"RegisterFile_Monolithic","Begin"); 34 34 35 #if DEBUG_RegisterFile_Monolithic == true 36 log_printf(INFO,RegisterFile_Monolithic,FUNCTION,_("<%s> Parameters"),_name.c_str()); 37 38 std::cout << *param << std::endl; 39 #endif 40 35 41 log_printf(INFO,RegisterFile_Monolithic,"RegisterFile_Monolithic","Allocation"); 36 42 allocation (); 37 43 38 44 #ifdef STATISTICS 39 if ( _usage & USE_STATISTICS)45 if (usage_is_set(_usage,USE_STATISTICS)) 40 46 statistics_declaration(param_statistics); 41 47 #endif … … 47 53 48 54 #ifdef SYSTEMC 49 if ( _usage & USE_SYSTEMC)55 if (usage_is_set(_usage,USE_SYSTEMC)) 50 56 { 51 57 SC_METHOD (transition); … … 102 108 { 103 109 #ifdef STATISTICS 104 if ( _usage & USE_STATISTICS)110 if (usage_is_set(_usage,USE_STATISTICS)) 105 111 delete _stat; 106 112 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
r81 r88 120 120 121 121 // ----- Register 122 reg_DATA = new Tdata_t [_param->_nb_word]; 122 if (usage_is_set(_usage,USE_SYSTEMC)) 123 reg_DATA = new Tdata_t [_param->_nb_word]; 123 124 124 125 #ifdef POSITION 125 _component->generate_file(); 126 if (usage_is_set(_usage,USE_POSITION)) 127 _component->generate_file(); 126 128 #endif 127 129 }; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp
r81 r88 18 18 delete _component; 19 19 20 if ( _usage & USE_SYSTEMC)20 if (usage_is_set(_usage,USE_SYSTEMC)) 21 21 { 22 22 delete in_CLOCK; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_end_cycle.cpp
r81 r88 20 20 21 21 #ifdef STATISTICS 22 _stat->end_cycle(); 22 if (usage_is_set(_usage,USE_STATISTICS)) 23 _stat->end_cycle(); 23 24 #endif 24 25 … … 27 28 28 29 // sc_start(0); 29 _interfaces->testbench(); 30 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 31 _interfaces->testbench(); 30 32 #endif 31 33 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp
r81 r88 24 24 { 25 25 #ifdef STATISTICS 26 (*_stat_nb_write) ++; 26 if (usage_is_set(_usage,USE_STATISTICS)) 27 (*_stat_nb_write) ++; 27 28 #endif 28 29 … … 49 50 { 50 51 #ifdef STATISTICS 51 (*_stat_nb_write) ++; 52 if (usage_is_set(_usage,USE_STATISTICS)) 53 (*_stat_nb_write) ++; 52 54 #endif 53 55 … … 67 69 else 68 70 { 69 (*_stat_nb_read) ++; 71 if (usage_is_set(_usage,USE_STATISTICS)) 72 (*_stat_nb_read) ++; 70 73 } 71 74 #endif … … 74 77 75 78 #ifdef STATISTICS 76 for (uint32_t i=0; i<_param->_nb_port_read; i++) 77 if ( PORT_READ(in_READ_VAL [i]) == 1) 78 (*_stat_nb_read) ++; 79 if (usage_is_set(_usage,USE_STATISTICS)) 80 for (uint32_t i=0; i<_param->_nb_port_read; i++) 81 if ( PORT_READ(in_READ_VAL [i]) == 1) 82 (*_stat_nb_read) ++; 79 83 #endif 80 84 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/Makefile
r81 r88 24 24 library_clean : RegisterFile_Multi_Banked_library_clean 25 25 26 local_clean : 27 26 28 include ../Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/src/test.cpp
r82 r88 23 23 #endif 24 24 25 Tusage_t _usage = USE_ALL; 26 27 // _usage = usage_unset(_usage,USE_SYSTEMC ); 28 // _usage = usage_unset(_usage,USE_VHDL ); 29 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 31 // _usage = usage_unset(_usage,USE_POSITION ); 32 _usage = usage_unset(_usage,USE_STATISTICS ); 33 // _usage = usage_unset(_usage,USE_INFORMATION ); 34 25 35 RegisterFile_Multi_Banked * _RegisterFile_Multi_Banked = new RegisterFile_Multi_Banked 26 36 (name.c_str(), … … 29 39 #endif 30 40 _param, 31 USE_ALL);41 _usage); 32 42 33 43 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h
r81 r88 61 61 uint32_t nb_port_write_by_bank, 62 62 Tcrossbar_t crossbar ); 63 public : Parameters (Parameters & param) ;63 // public : Parameters (Parameters & param) ; 64 64 public : ~Parameters () ; 65 65 66 public : void copy (void); 67 66 68 public : Parameters_test msg_error (void); 67 public : std::string print (uint32_t depth); 68 public : friend std::ostream& operator<< (std::ostream& output_stream, 69 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x); 69 70 public : std::string print (uint32_t depth); 71 public : friend std::ostream& operator<< (std::ostream& output_stream, 72 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x); 70 73 }; 71 74 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h
r82 r88 106 106 public : ~RegisterFile_Multi_Banked (void); 107 107 108 #ifdef SYSTEMC109 108 private : void allocation (void); 110 109 private : void deallocation (void); 111 110 111 #ifdef SYSTEMC 112 112 private : Taddress_t address_bank (Taddress_t address); 113 113 private : Taddress_t address_num_reg (Taddress_t address); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters.cpp
r81 r88 87 87 }; 88 88 89 Parameters::Parameters (Parameters & param):90 _nb_port_read (param._nb_port_read ),91 _nb_port_write (param._nb_port_write ),92 _nb_word (param._nb_word ),93 _size_word (param._size_word ),94 _nb_bank (param._nb_bank ),95 _nb_port_read_by_bank (param._nb_port_read_by_bank ),96 _nb_port_write_by_bank (param._nb_port_write_by_bank),97 _crossbar (param._crossbar ),98 _size_address (param._size_address ),99 _size_address_by_bank (param._size_address_by_bank ),100 _bank_shift (param._bank_shift ),101 _bank_mask (param._bank_mask ),102 _num_reg_shift (param._num_reg_shift ),103 _num_reg_mask (param._num_reg_mask ),104 _nb_word_by_bank (param._nb_word_by_bank ),105 _have_port_address (param._have_port_address ),106 _have_bank_port_address(param._have_bank_port_address)107 {108 log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters (copy)","Begin");89 // Parameters::Parameters (Parameters & param): 90 // _nb_port_read (param._nb_port_read ), 91 // _nb_port_write (param._nb_port_write ), 92 // _nb_word (param._nb_word ), 93 // _size_word (param._size_word ), 94 // _nb_bank (param._nb_bank ), 95 // _nb_port_read_by_bank (param._nb_port_read_by_bank ), 96 // _nb_port_write_by_bank (param._nb_port_write_by_bank), 97 // _crossbar (param._crossbar ), 98 // _size_address (param._size_address ), 99 // _size_address_by_bank (param._size_address_by_bank ), 100 // _bank_shift (param._bank_shift ), 101 // _bank_mask (param._bank_mask ), 102 // _num_reg_shift (param._num_reg_shift ), 103 // _num_reg_mask (param._num_reg_mask ), 104 // _nb_word_by_bank (param._nb_word_by_bank ), 105 // _have_port_address (param._have_port_address ), 106 // _have_bank_port_address(param._have_bank_port_address) 107 // { 108 // log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters (copy)","Begin"); 109 109 110 if (_crossbar == PARTIAL_CROSSBAR)111 {112 // All port_src is connected with one port_dest on each bank110 // if (_crossbar == PARTIAL_CROSSBAR) 111 // { 112 // // All port_src is connected with one port_dest on each bank 113 113 114 _link_port_read_to_bank_read = new uint32_t [_nb_port_read ];115 // _link_port_read_to_num_bank = new uint32_t [_nb_port_read ];116 _link_port_write_to_bank_write = new uint32_t [_nb_port_write];117 // _link_port_write_to_num_bank = new uint32_t [_nb_port_write];114 // _link_port_read_to_bank_read = new uint32_t [_nb_port_read ]; 115 // // _link_port_read_to_num_bank = new uint32_t [_nb_port_read ]; 116 // _link_port_write_to_bank_write = new uint32_t [_nb_port_write]; 117 // // _link_port_write_to_num_bank = new uint32_t [_nb_port_write]; 118 118 119 for (uint32_t i=0; i<_nb_port_read ;i++)120 {121 _link_port_read_to_bank_read [i] = param._link_port_read_to_bank_read [i];122 // _link_port_read_to_num_bank [i] = param._link_port_read_to_num_bank [i];123 }124 for (uint32_t i=0; i<_nb_port_write ;i++)125 {126 _link_port_write_to_bank_write [i] = param._link_port_write_to_bank_write [i];127 // _link_port_write_to_num_bank [i] = param._link_port_write_to_num_bank [i];128 }129 }119 // for (uint32_t i=0; i<_nb_port_read ;i++) 120 // { 121 // _link_port_read_to_bank_read [i] = param._link_port_read_to_bank_read [i]; 122 // // _link_port_read_to_num_bank [i] = param._link_port_read_to_num_bank [i]; 123 // } 124 // for (uint32_t i=0; i<_nb_port_write ;i++) 125 // { 126 // _link_port_write_to_bank_write [i] = param._link_port_write_to_bank_write [i]; 127 // // _link_port_write_to_num_bank [i] = param._link_port_write_to_num_bank [i]; 128 // } 129 // } 130 130 131 test();132 log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters (copy)","End");133 };131 // test(); 132 // log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters (copy)","End"); 133 // }; 134 134 135 135 Parameters::~Parameters () … … 147 147 }; 148 148 149 void Parameters::copy (void) 150 { 151 log_printf(FUNC,RegisterFile_Multi_Banked,"copy","Begin"); 152 log_printf(FUNC,RegisterFile_Multi_Banked,"copy","End"); 153 }; 154 149 155 }; // end namespace registerfile_multi_banked 150 156 }; // end namespace registerfile -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp
r82 r88 14 14 namespace registerfile_multi_banked { 15 15 16 #undef FUNCTION 17 #define FUNCTION "RegisterFile_Multi_Banked::RegisterFile_Multi_Banked" 16 18 RegisterFile_Multi_Banked::RegisterFile_Multi_Banked 17 19 ( … … 30 32 ,_usage (usage) 31 33 { 32 log_printf(FUNC,RegisterFile_Multi_Banked, "RegisterFile_Multi_Banked","Begin");34 log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin"); 33 35 34 #if def SYSTEMC35 log_printf(INFO,RegisterFile_Multi_Banked, "RegisterFile_Multi_Banked","Allocation");36 #if DEBUG_RegisterFile_Multi_Banked == true 37 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,_("<%s> Parameters"),_name.c_str()); 36 38 39 std::cout << *param << std::endl; 40 #endif 41 42 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Allocation"); 43 37 44 allocation (); 38 #endif39 45 40 46 #ifdef STATISTICS 41 log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Allocation of statistics"); 42 43 // Allocation of statistics 44 statistics_declaration(param_statistics); 47 if (usage_is_set(_usage,USE_STATISTICS)) 48 { 49 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Allocation of statistics"); 50 51 // Allocation of statistics 52 statistics_declaration(param_statistics); 53 } 45 54 #endif 46 55 47 56 #ifdef VHDL 48 // generate the vhdl 49 log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Generate the vhdl"); 50 51 vhdl(); 57 if (usage_is_set(_usage,USE_VHDL)) 58 { 59 // generate the vhdl 60 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Generate the vhdl"); 61 62 vhdl(); 63 } 52 64 #endif 53 65 54 66 #ifdef SYSTEMC 67 if (usage_is_set(_usage,USE_SYSTEMC)) 68 { 55 69 // Function pointer 56 70 if (_param->_crossbar == FULL_CROSSBAR) … … 67 81 } 68 82 69 log_printf(INFO,RegisterFile_Multi_Banked, "RegisterFile_Multi_Banked","Method - transition");83 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Method - transition"); 70 84 71 85 SC_METHOD (transition); … … 77 91 #endif 78 92 79 log_printf(INFO,RegisterFile_Multi_Banked, "RegisterFile_Multi_Banked","Method - genMealy_write");93 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Method - genMealy_write"); 80 94 81 95 SC_METHOD (genMealy_read); … … 129 143 } 130 144 #endif 131 145 } 132 146 #endif 133 log_printf(FUNC,RegisterFile_Multi_Banked, "RegisterFile_Multi_Banked","End");147 log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End"); 134 148 }; 135 149 150 #undef FUNCTION 151 #define FUNCTION "RegisterFile_Multi_Banked::~RegisterFile_Multi_Banked" 136 152 RegisterFile_Multi_Banked::~RegisterFile_Multi_Banked (void) 137 153 { 138 log_printf(FUNC,RegisterFile_Multi_Banked, "~RegisterFile_Multi_Banked","Begin");154 log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin"); 139 155 140 156 #ifdef STATISTICS 141 log_printf(INFO,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","Generate Statistics file"); 142 143 delete _stat; 157 if (usage_is_set(_usage,USE_STATISTICS)) 158 { 159 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Generate Statistics file"); 160 delete _stat; 161 } 144 162 #endif 145 163 146 #ifdef SYSTEMC 147 log_printf(INFO,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","Deallocation");164 log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Deallocation"); 165 deallocation (); 148 166 149 deallocation (); 150 #endif 151 152 log_printf(FUNC,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","End"); 167 log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End"); 153 168 }; 154 169 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
r82 r88 1 #ifdef SYSTEMC2 1 /* 3 2 * $Id$ 4 3 * 5 * [ 4 * [ Description ] 6 5 * 7 6 */ … … 31 30 _interfaces = entity->set_interfaces(); 32 31 33 // ~~~~~[ 32 // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 34 33 35 34 Interface * interface = _interfaces->set_interface("" … … 44 43 in_NRESET = interface->set_signal_in <Tcontrol_t> ("nreset",1, RESET_VHDL_YES); 45 44 46 // ~~~~~[ 45 // ~~~~~[ Interface : "read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 47 46 48 47 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read]; … … 69 68 } 70 69 71 // ~~~~~[ 70 // ~~~~~[ Interface : "write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 71 73 72 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_write]; … … 94 93 } 95 94 96 // ~~~~~[ Registers ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 if (usage_is_set(_usage,USE_SYSTEMC)) 96 { 97 // ~~~~~[ Registers ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97 98 98 99 reg_DATA = new Tdata_t * [_param->_nb_bank]; … … 103 104 } 104 105 105 // ~~~~~[ 106 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 107 internal_WRITE_VAL = new bool [_param->_nb_port_write]; 107 108 internal_WRITE_BANK = new Taddress_t [_param->_nb_port_write]; 108 109 internal_WRITE_NUM_REG = new Taddress_t [_param->_nb_port_write]; 110 } 109 111 110 // ~~~~~[ 112 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 111 113 112 114 #ifdef POSITION 113 _component->generate_file(); 115 if (usage_is_set(_usage,USE_POSITION)) 116 _component->generate_file(); 114 117 #endif 115 118 … … 123 126 }; // end namespace behavioural 124 127 }; // end namespace morpheo 125 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_deallocation.cpp
r81 r88 1 #ifdef SYSTEMC2 1 /* 3 2 * $Id$ … … 20 19 log_printf(FUNC,RegisterFile_Multi_Banked,"deallocation","Begin"); 21 20 22 delete in_CLOCK; 23 delete in_NRESET; 24 25 // ----- Interface Read 26 delete [] in_READ_VAL ; 27 delete [] out_READ_ACK ; 28 if (_param->_have_port_address == true) 29 delete [] in_READ_ADDRESS; 30 delete [] out_READ_DATA ; 31 32 // ----- Interface Write 33 delete [] in_WRITE_VAL ; 34 delete [] out_WRITE_ACK ; 35 if (_param->_have_port_address == true) 36 delete [] in_WRITE_ADDRESS; 37 delete [] in_WRITE_DATA ; 38 39 // ----- Register 40 delete [] reg_DATA; 41 42 // ----- Internal 43 delete [] internal_WRITE_VAL; 44 delete [] internal_WRITE_BANK; 45 delete [] internal_WRITE_NUM_REG; 21 if (usage_is_set(_usage,USE_SYSTEMC)) 22 { 23 delete in_CLOCK; 24 delete in_NRESET; 25 26 // ----- Interface Read 27 delete [] in_READ_VAL ; 28 delete [] out_READ_ACK ; 29 if (_param->_have_port_address == true) 30 delete [] in_READ_ADDRESS; 31 delete [] out_READ_DATA ; 32 33 // ----- Interface Write 34 delete [] in_WRITE_VAL ; 35 delete [] out_WRITE_ACK ; 36 if (_param->_have_port_address == true) 37 delete [] in_WRITE_ADDRESS; 38 delete [] in_WRITE_DATA ; 39 40 // ----- Register 41 delete [] reg_DATA; 42 43 // ----- Internal 44 delete [] internal_WRITE_VAL; 45 delete [] internal_WRITE_BANK; 46 delete [] internal_WRITE_NUM_REG; 47 } 46 48 47 49 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 58 60 }; // end namespace behavioural 59 61 }; // end namespace morpheo 60 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_end_cycle.cpp
r81 r88 23 23 24 24 #ifdef STATISTICS 25 _stat->end_cycle(); 25 if (usage_is_set(_usage,USE_STATISTICS)) 26 _stat->end_cycle(); 26 27 #endif 27 28 … … 29 30 // Evaluation before read the ouput signal 30 31 // sc_start(0); 31 _interfaces->testbench(); 32 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 33 _interfaces->testbench(); 32 34 #endif 33 35 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/Makefile
r81 r88 24 24 library_clean : RegisterFile_library_clean 25 25 26 local_clean : 27 26 28 include ../Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/main.cpp
r81 r88 58 58 if (instance == instance_RegisterFile_Monolithic) 59 59 { 60 morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * param1 = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters (nb_port_read , 61 nb_port_write , 62 0 , 63 nb_word , 64 size_word ); 60 morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * param1 = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters 61 (nb_port_read , 62 nb_port_write , 63 0 , 64 nb_word , 65 size_word 66 ); 65 67 66 68 param = new morpheo::behavioural::generic::registerfile::Parameters(param1); … … 68 70 else 69 71 { 70 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * param2 = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters (nb_port_read , 71 nb_port_write , 72 nb_word , 73 size_word , 74 nb_bank , 75 nb_port_read_by_bank , 76 nb_port_write_by_bank, 77 crossbar ); 72 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * param2 = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters 73 (nb_port_read , 74 nb_port_write , 75 nb_word , 76 size_word , 77 nb_bank , 78 nb_port_read_by_bank , 79 nb_port_write_by_bank, 80 crossbar 81 ); 78 82 79 83 param = new morpheo::behavioural::generic::registerfile::Parameters(param2); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp
r82 r88 22 22 #endif 23 23 24 Tusage_t _usage = USE_ALL; 25 26 // _usage = usage_unset(_usage,USE_SYSTEMC ); 27 // _usage = usage_unset(_usage,USE_VHDL ); 28 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 29 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 30 // _usage = usage_unset(_usage,USE_POSITION ); 31 // _usage = usage_unset(_usage,USE_STATISTICS ); 32 // _usage = usage_unset(_usage,USE_INFORMATION ); 33 24 34 RegisterFile * _RegisterFile = new RegisterFile (name.c_str(), 25 35 #ifdef STATISTICS … … 27 37 #endif 28 38 _param, 29 USE_ALL);39 _usage); 30 40 31 41 #ifdef SYSTEMC -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h
r81 r88 40 40 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * param); 41 41 public : Parameters (morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * param); 42 public : Parameters (Parameters & param) ;42 // public : Parameters (Parameters & param) ; 43 43 public : ~Parameters () ; 44 44 45 public : void copy (void); 46 45 47 public : Parameters_test msg_error (void); 48 46 49 public : std::string print (uint32_t depth); 47 50 public : friend std::ostream& operator<< (std::ostream& output_stream, -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp
r81 r88 26 26 27 27 _param_registerfile_monolithic = param; 28 28 _param_registerfile_multi_banked = NULL; 29 29 30 test(); 30 31 … … 43 44 log_printf(FUNC,RegisterFile,"Parameters","Begin"); 44 45 46 _param_registerfile_monolithic = NULL; 45 47 _param_registerfile_multi_banked = param; 46 48 … … 50 52 }; 51 53 52 Parameters::Parameters (Parameters & param):53 _instance (param._instance ),54 _nb_port_read (param._nb_port_read ),55 _nb_port_write (param._nb_port_write),56 _nb_word (param._nb_word ),57 _size_word (param._size_word ),58 _size_address (param._size_address ),59 _have_port_address (param._have_port_address)60 {61 log_printf(FUNC,RegisterFile,"Parameters (copy)","Begin");54 // Parameters::Parameters (Parameters & param): 55 // _instance (param._instance ), 56 // _nb_port_read (param._nb_port_read ), 57 // _nb_port_write (param._nb_port_write), 58 // _nb_word (param._nb_word ), 59 // _size_word (param._size_word ), 60 // _size_address (param._size_address ), 61 // _have_port_address (param._have_port_address) 62 // { 63 // log_printf(FUNC,RegisterFile,"Parameters (copy)","Begin"); 62 64 63 _param_registerfile_multi_banked = param._param_registerfile_multi_banked;64 _param_registerfile_monolithic = param._param_registerfile_monolithic;65 test();66 log_printf(FUNC,RegisterFile,"Parameters (copy)","End");67 };65 // _param_registerfile_multi_banked = param._param_registerfile_multi_banked; 66 // _param_registerfile_monolithic = param._param_registerfile_monolithic; 67 // test(); 68 // log_printf(FUNC,RegisterFile,"Parameters (copy)","End"); 69 // }; 68 70 69 71 Parameters::~Parameters () … … 73 75 }; 74 76 77 void Parameters::copy (void) 78 { 79 log_printf(FUNC,RegisterFile,"copy","Begin"); 80 81 throw ERRORMORPHEO("RegisterFile::copy",_("Invalid copy")); 82 83 // if (_instance == instance_RegisterFile_Monolithic) 84 // COPY(_param_registerfile_monolithic); 85 // if (_instance == instance_RegisterFile_Multi_Banked) 86 // COPY(_param_registerfile_multi_banked); 87 88 log_printf(FUNC,RegisterFile,"copy","End"); 89 }; 90 75 91 }; // end namespace registerfile 76 92 }; // end namespace generic
Note: See TracChangeset
for help on using the changeset viewer.