Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.