Changeset 62 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Timestamp:
- Dec 4, 2007, 2:31:54 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Files:
-
- 3 added
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp
r57 r62 79 79 (*(registerfile-> in_READ_VAL [i])) (READ_VAL [i]); 80 80 (*(registerfile->out_READ_ACK [i])) (READ_ACK [i]); 81 if (_param->_have_port_address) 81 82 (*(registerfile-> in_READ_ADDRESS [i])) (READ_ADDRESS [i]); 82 83 (*(registerfile->out_READ_DATA [i])) (READ_DATA [i]); … … 86 87 (*(registerfile-> in_WRITE_VAL [i])) (WRITE_VAL [i]); 87 88 (*(registerfile->out_WRITE_ACK [i])) (WRITE_ACK [i]); 89 if (_param->_have_port_address) 88 90 (*(registerfile-> in_WRITE_ADDRESS [i])) (WRITE_ADDRESS [i]); 89 91 (*(registerfile-> in_WRITE_DATA [i])) (WRITE_DATA [i]); … … 94 96 (*(registerfile->out_READ_WRITE_ACK [i])) (READ_WRITE_ACK [i]); 95 97 (*(registerfile-> in_READ_WRITE_RW [i])) (READ_WRITE_RW [i]); 98 if (_param->_have_port_address) 96 99 (*(registerfile-> in_READ_WRITE_ADDRESS [i])) (READ_WRITE_ADDRESS [i]); 97 100 (*(registerfile-> in_READ_WRITE_WDATA [i])) (READ_WRITE_WDATA [i]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h
r55 r62 27 27 public : const uint32_t _size_word ; 28 28 public : const uint32_t _size_address ; 29 public : const bool _have_port_address; 29 30 30 31 public : Parameters (uint32_t nb_port_read , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp
r55 r62 25 25 _nb_word (nb_word ), 26 26 _size_word (size_word ), 27 _size_address (static_cast<uint32_t>(log2(_nb_word))) 27 _size_address (static_cast<uint32_t>(log2(_nb_word))), 28 _have_port_address (_size_address != 0) 29 28 30 { 29 31 test(); … … 36 38 _nb_word (param._nb_word ), 37 39 _size_word (param._size_word ), 38 _size_address (param._size_address ) 40 _size_address (param._size_address ), 41 _have_port_address (param._have_port_address) 39 42 { 40 43 test(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_msg_error.cpp
r55 r62 50 50 msg += " * nb_port_read_write : " + toString(_nb_port_read_write) + "\n"; 51 51 } 52 if (_nb_word < 2)53 {54 msg += " - nb_word must be >= 2\n";55 msg += " * nb_word : " + toString(_nb_word) + "\n";56 }52 // if (_nb_word < 2) 53 // { 54 // msg += " - nb_word must be >= 2\n"; 55 // msg += " * nb_word : " + toString(_nb_word) + "\n"; 56 // } 57 57 58 58 return msg; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp
r58 r62 58 58 sensitive_neg << *(in_CLOCK); 59 59 for (uint32_t i=0; i<_param->_nb_port_read; i++) 60 sensitive << *(in_READ_VAL [i]) 61 << *(in_READ_ADDRESS [i]); 60 { 61 sensitive << *(in_READ_VAL [i]); 62 if (_param->_have_port_address) 63 sensitive << *(in_READ_ADDRESS [i]); 64 } 62 65 for (uint32_t i=0; i<_param->_nb_port_read_write; i++) 63 sensitive << *(in_READ_WRITE_VAL [i]) 64 << *(in_READ_WRITE_RW [i]) 65 << *(in_READ_WRITE_ADDRESS [i]); 66 { 67 sensitive << *(in_READ_WRITE_VAL [i]) 68 << *(in_READ_WRITE_RW [i]); 69 if (_param->_have_port_address) 70 sensitive << *(in_READ_WRITE_ADDRESS [i]); 71 } 66 72 67 73 # ifdef SYSTEMCASS_SPECIFIC … … 70 76 { 71 77 (*(out_READ_DATA [i])) (*( in_READ_VAL [i])); 72 (*(out_READ_DATA [i])) (*( in_READ_ADDRESS [i])); 78 if (_param->_have_port_address) 79 (*(out_READ_DATA [i])) (*( in_READ_ADDRESS [i])); 73 80 } 74 81 for (uint32_t i=0; i<_param->_nb_port_read_write; i++) … … 76 83 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_VAL [i])); 77 84 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_RW [i])); 78 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_ADDRESS [i])); 85 if (_param->_have_port_address) 86 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_ADDRESS [i])); 79 87 } 80 88 # endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
r57 r62 44 44 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read]; 45 45 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read]; 46 if (_param->_have_port_address) 46 47 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read]; 47 48 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param->_nb_port_read]; … … 59 60 in_READ_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 60 61 out_READ_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 62 if (_param->_have_port_address) 61 63 in_READ_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param->_size_address); 62 64 out_READ_DATA [i] = interface->set_signal_out <Tdata_t > ("data" , _param->_size_word); … … 67 69 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_write]; 68 70 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_write]; 71 if (_param->_have_port_address) 69 72 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_write]; 70 73 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param->_nb_port_write]; … … 82 85 in_WRITE_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 83 86 out_WRITE_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 87 if (_param->_have_port_address) 84 88 in_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param->_size_address); 85 89 in_WRITE_DATA [i] = interface->set_signal_in <Tdata_t > ("data" , _param->_size_word); … … 91 95 out_READ_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read_write]; 92 96 in_READ_WRITE_RW = new SC_IN (Tcontrol_t) * [_param->_nb_port_read_write]; 97 if (_param->_have_port_address) 93 98 in_READ_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read_write]; 94 99 in_READ_WRITE_WDATA = new SC_IN (Tdata_t ) * [_param->_nb_port_read_write]; … … 108 113 out_READ_WRITE_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 109 114 in_READ_WRITE_RW [i] = interface->set_signal_valack_in ("rw" , VAL); 115 if (_param->_have_port_address) 110 116 in_READ_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param->_size_address); 111 117 in_READ_WRITE_WDATA [i] = interface->set_signal_in <Tdata_t > ("wdata" , _param->_size_word); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp
r57 r62 25 25 delete [] in_READ_VAL ; 26 26 delete [] out_READ_ACK ; 27 if (_param->_have_port_address) 27 28 delete [] in_READ_ADDRESS; 28 29 delete [] out_READ_DATA ; … … 31 32 delete [] in_WRITE_VAL ; 32 33 delete [] out_WRITE_ACK ; 34 if (_param->_have_port_address) 33 35 delete [] in_WRITE_ADDRESS; 34 36 delete [] in_WRITE_DATA ; … … 38 40 delete [] out_READ_WRITE_ACK ; 39 41 delete [] in_READ_WRITE_RW ; 42 if (_param->_have_port_address) 40 43 delete [] in_READ_WRITE_ADDRESS; 41 44 delete [] in_READ_WRITE_WDATA ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_genMealy_read.cpp
r55 r62 28 28 if ( PORT_READ(in_READ_VAL [i]) == 1) 29 29 { 30 Taddress_t address = PORT_READ(in_READ_ADDRESS[i]); 30 Taddress_t address; 31 if (_param->_have_port_address) 32 address = PORT_READ(in_READ_ADDRESS[i]); 33 else 34 address = 0; 31 35 Tdata_t data = REGISTER_READ(reg_DATA[address]); 32 36 … … 55 59 ) 56 60 { 57 Taddress_t address = PORT_READ(in_READ_WRITE_ADDRESS[i]); 61 Taddress_t address; 62 if (_param->_have_port_address) 63 address = PORT_READ(in_READ_WRITE_ADDRESS[i]); 64 else 65 address = 0; 58 66 59 67 data = REGISTER_READ(reg_DATA[address]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp
r55 r62 30 30 #endif 31 31 32 Taddress_t address = PORT_READ(in_WRITE_ADDRESS[i]); 32 Taddress_t address; 33 if (_param->_have_port_address) 34 address = PORT_READ(in_WRITE_ADDRESS[i]); 35 else 36 address = 0; 37 33 38 Tdata_t data = PORT_READ(in_WRITE_DATA [i]); 34 39 … … 49 54 #endif 50 55 51 Taddress_t address = PORT_READ(in_READ_WRITE_ADDRESS[i]); 56 Taddress_t address; 57 if (_param->_have_port_address) 58 address = PORT_READ(in_READ_WRITE_ADDRESS[i]); 59 else 60 address = 0; 52 61 Tdata_t data = PORT_READ(in_READ_WRITE_WDATA [i]); 53 62 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp
r55 r62 37 37 38 38 for (uint32_t i = 0; i < _param->_nb_port_read; i++) 39 vhdl->set_body ("out_READ_"+toString(i)+"_DATA <= reg_DATA (conv_integer(in_READ_"+toString(i)+"_ADDRESS)) when in_READ_"+toString(i)+"_VAL = '1' else "+std_logic_others(_param->_size_word,0)+";"); 39 { 40 string str_address; 41 if (_param->_have_port_address) 42 str_address = "conv_integer(in_READ_"+toString(i)+"_ADDRESS)"; 43 else 44 str_address = "0"; 40 45 46 vhdl->set_body ("out_READ_"+toString(i)+"_DATA <= reg_DATA ("+str_address+") when in_READ_"+toString(i)+"_VAL = '1' else "+std_logic_others(_param->_size_word,0)+";"); 47 } 41 48 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++) 42 vhdl->set_body ("out_READ_WRITE_"+toString(i)+"_RDATA <= reg_DATA (conv_integer(in_READ_WRITE_"+toString(i)+"_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)+";"); 49 { 50 string str_address; 51 if (_param->_have_port_address) 52 str_address = "conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)"; 53 else 54 str_address = "0"; 55 vhdl->set_body ("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)+";"); 56 } 43 57 44 58 vhdl->set_body (""); … … 54 68 for (uint32_t i = 0; i < _param->_nb_port_write; i++) 55 69 { 56 vhdl->set_body ("\t\tif (in_WRITE_"+toString(i)+"_VAL = '1') then"); 57 vhdl->set_body ("\t\t\treg_DATA(conv_integer(in_WRITE_"+toString(i)+"_ADDRESS)) <= in_WRITE_"+toString(i)+"_DATA;"); 58 vhdl->set_body ("\t\tend if;"); 70 string str_address; 71 if (_param->_have_port_address) 72 str_address = "conv_integer(in_WRITE_"+toString(i)+"_ADDRESS)"; 73 else 74 str_address = "0"; 75 76 vhdl->set_body ("\t\tif (in_WRITE_"+toString(i)+"_VAL = '1') then"); 77 vhdl->set_body ("\t\t\treg_DATA("+str_address+") <= in_WRITE_"+toString(i)+"_DATA;"); 78 vhdl->set_body ("\t\tend if;"); 59 79 } 60 80 for (uint32_t i = 0; i < _param->_nb_port_read_write; i++) 61 81 { 62 vhdl->set_body ("\t\tif (in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_WRITE)+"') then"); 63 vhdl->set_body ("\t\t\treg_DATA(conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)) <= in_READ_WRITE_"+toString(i)+"_WDATA;"); 64 vhdl->set_body ("\t\tend if;"); 82 string str_address; 83 if (_param->_have_port_address) 84 str_address = "conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)"; 85 else 86 str_address = "0"; 87 88 vhdl->set_body ("\t\tif (in_READ_WRITE_"+toString(i)+"_VAL = '1' and in_READ_WRITE_"+toString(i)+"_RW = '"+toString(RW_WRITE)+"') then"); 89 vhdl->set_body ("\t\t\treg_DATA("+str_address+") <= in_READ_WRITE_"+toString(i)+"_WDATA;"); 90 vhdl->set_body ("\t\tend if;"); 65 91 } 66 92 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/src/test.cpp
r58 r62 80 80 (*(_RegisterFile_Multi_Banked-> in_READ_VAL [i])) (READ_VAL [i]); 81 81 (*(_RegisterFile_Multi_Banked->out_READ_ACK [i])) (READ_ACK [i]); 82 if (_param->_have_port_address==true) 82 83 (*(_RegisterFile_Multi_Banked-> in_READ_ADDRESS [i])) (READ_ADDRESS [i]); 83 84 (*(_RegisterFile_Multi_Banked->out_READ_DATA [i])) (READ_DATA [i]); … … 88 89 (*(_RegisterFile_Multi_Banked-> in_WRITE_VAL [i])) (WRITE_VAL [i]); 89 90 (*(_RegisterFile_Multi_Banked->out_WRITE_ACK [i])) (WRITE_ACK [i]); 91 if (_param->_have_port_address==true) 90 92 (*(_RegisterFile_Multi_Banked-> in_WRITE_ADDRESS [i])) (WRITE_ADDRESS [i]); 91 93 (*(_RegisterFile_Multi_Banked-> in_WRITE_DATA [i])) (WRITE_DATA [i]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h
r57 r62 71 71 public : const uint32_t _nb_word_by_bank ; 72 72 73 public : const bool _have_port_address ; 74 public : const bool _have_bank_port_address; 75 73 76 // A lot of table to the partial crossbar 74 77 public : uint32_t * _link_port_read_to_bank_read ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters.cpp
r57 r62 42 42 _num_reg_shift (0), 43 43 _num_reg_mask (gen_mask<Taddress_t>(_size_address_by_bank)), 44 _nb_word_by_bank (_nb_word / _nb_bank) 44 _nb_word_by_bank (_nb_word / _nb_bank), 45 _have_port_address (_size_address != 0), 46 _have_bank_port_address(_size_address_by_bank != 0) 45 47 { 46 48 log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters","Begin"); … … 48 50 if (_crossbar == PARTIAL_CROSSBAR) 49 51 { 50 log_printf( NONE,RegisterFile_Multi_Banked,"Parameters","Case : _crossbar == PARTIAL_CROSSBAR");52 log_printf(TRACE,RegisterFile_Multi_Banked,"Parameters","Case : _crossbar == PARTIAL_CROSSBAR"); 51 53 52 54 // All port_src is connected with one port_dest on each bank … … 68 70 69 71 70 log_printf( NONE,RegisterFile_Multi_Banked,"Parameters"," * _link_port_read_to_bank_read");72 log_printf(TRACE,RegisterFile_Multi_Banked,"Parameters"," * _link_port_read_to_bank_read"); 71 73 for (uint32_t i=0; i<_nb_port_read ;i++) 72 74 { 73 log_printf(NONE,RegisterFile_Multi_Banked,"Parameters"," * Read in [%d] to out [%d]",i,_link_port_read_to_bank_read [i]); 74 printf(" * Read in [%d] to out [%d]\n",i,_link_port_read_to_bank_read [i]); 75 log_printf(TRACE,RegisterFile_Multi_Banked,"Parameters"," * Read in [%d] to out [%d]",i,_link_port_read_to_bank_read [i]); 75 76 } 76 log_printf( NONE,RegisterFile_Multi_Banked,"Parameters"," * _link_port_write_to_bank_write");77 log_printf(TRACE,RegisterFile_Multi_Banked,"Parameters"," * _link_port_write_to_bank_write"); 77 78 for (uint32_t i=0; i<_nb_port_write ;i++) 78 79 { 79 log_printf(NONE,RegisterFile_Multi_Banked,"Parameters"," * Write in [%d] to out [%d]",i,_link_port_write_to_bank_write [i]); 80 printf(" * Write in [%d] to out [%d]\n",i,_link_port_write_to_bank_write [i]); 80 log_printf(TRACE,RegisterFile_Multi_Banked,"Parameters"," * Write in [%d] to out [%d]",i,_link_port_write_to_bank_write [i]); 81 81 } 82 82 } … … 102 102 _num_reg_shift (param._num_reg_shift ), 103 103 _num_reg_mask (param._num_reg_mask ), 104 _nb_word_by_bank (param._nb_word_by_bank ) 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) 105 107 { 106 108 log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters (copy)","Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp
r57 r62 85 85 sensitive_neg << *(in_CLOCK); 86 86 for (uint32_t i=0; i<_param->_nb_port_read; i++) 87 sensitive << *( in_READ_VAL [i]) 88 << *( in_READ_ADDRESS [i]); 87 { 88 sensitive << *( in_READ_VAL [i]); 89 if (_param->_have_port_address == true) 90 sensitive << *( in_READ_ADDRESS [i]); 91 } 89 92 90 93 #ifdef SYSTEMCASS_SPECIFIC … … 93 96 { 94 97 (*(out_READ_ACK [i])) (*( in_READ_VAL [i])); 98 if (_param->_have_port_address == true) 95 99 (*(out_READ_ACK [i])) (*( in_READ_ADDRESS [i])); 96 100 (*(out_READ_DATA [i])) (*( in_READ_VAL [i])); 101 if (_param->_have_port_address == true) 97 102 (*(out_READ_DATA [i])) (*( in_READ_ADDRESS [i])); 98 103 } … … 109 114 sensitive_neg << *(in_CLOCK); 110 115 for (uint32_t i=0; i<_param->_nb_port_write; i++) 111 sensitive << *( in_WRITE_VAL [i]) 112 << *( in_WRITE_ADDRESS [i]) 113 << *( in_WRITE_DATA [i]); 116 { 117 sensitive << *( in_WRITE_VAL [i]) 118 << *( in_WRITE_DATA [i]); 119 if (_param->_have_port_address == true) 120 sensitive << *( in_WRITE_ADDRESS [i]); 121 } 114 122 115 123 #ifdef SYSTEMCASS_SPECIFIC … … 118 126 { 119 127 (*(out_WRITE_ACK [i])) (*( in_WRITE_VAL [i])); 128 if (_param->_have_port_address == true) 120 129 (*(out_WRITE_ACK [i])) (*( in_WRITE_ADDRESS [i])); 121 130 (*(out_WRITE_ACK [i])) (*( in_WRITE_DATA [i])); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
r57 r62 50 50 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read]; 51 51 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read]; 52 if (_param->_have_port_address == true) 52 53 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read]; 53 54 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param->_nb_port_read]; … … 65 66 in_READ_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 66 67 out_READ_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 68 if (_param->_have_port_address == true) 67 69 in_READ_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", static_cast<uint32_t>(log2(_param->_nb_word))); 68 70 out_READ_DATA [i] = interface->set_signal_out <Tdata_t > ("data" , _param->_size_word); … … 73 75 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_write]; 74 76 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_write]; 77 if (_param->_have_port_address == true) 75 78 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_write]; 76 79 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param->_nb_port_write]; … … 88 91 in_WRITE_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 89 92 out_WRITE_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 93 if (_param->_have_port_address == true) 90 94 in_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", static_cast<uint32_t>(log2(_param->_nb_word))); 91 95 in_WRITE_DATA [i] = interface->set_signal_in <Tdata_t > ("data" , _param->_size_word); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_deallocation.cpp
r53 r62 26 26 delete [] in_READ_VAL ; 27 27 delete [] out_READ_ACK ; 28 if (_param->_have_port_address == true) 28 29 delete [] in_READ_ADDRESS; 29 30 delete [] out_READ_DATA ; … … 32 33 delete [] in_WRITE_VAL ; 33 34 delete [] out_WRITE_ACK ; 35 if (_param->_have_port_address == true) 34 36 delete [] in_WRITE_ADDRESS; 35 37 delete [] in_WRITE_DATA ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp
r57 r62 37 37 { 38 38 // Compute the adress of the bank 39 Taddress_t address = PORT_READ(in_READ_ADDRESS[i]); 39 Taddress_t address; 40 if (_param->_have_port_address == true) 41 address = PORT_READ(in_READ_ADDRESS[i]); 42 else 43 address = 0; 44 40 45 log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * address : %d",address); 41 46 Taddress_t bank = address_bank (address); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_write.cpp
r57 r62 38 38 val = false; 39 39 // Compute the adress of the bank 40 Taddress_t address = PORT_READ(in_WRITE_ADDRESS[i]); 40 Taddress_t address; 41 if (_param->_have_port_address == true) 42 address = PORT_READ(in_WRITE_ADDRESS[i]); 43 else 44 address = 0; 41 45 log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_write"," * address : %d",address); 42 46 Taddress_t bank = address_bank (address); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp
r57 r62 37 37 { 38 38 // Compute the adress of the bank 39 Taddress_t address = PORT_READ(in_READ_ADDRESS[i]); 39 Taddress_t address; 40 if (_param->_have_port_address == true) 41 address = PORT_READ(in_READ_ADDRESS[i]); 42 else 43 address = 0; 40 44 log_printf(TRACE,RegisterFile_Multi_Banked,"full_crossbar_genMealy_read"," * address : %d",address); 41 45 Taddress_t bank = address_bank (address); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_write.cpp
r57 r62 37 37 val = false; 38 38 // Compute the adress of the bank 39 Taddress_t address = PORT_READ(in_WRITE_ADDRESS[i]); 39 Taddress_t address; 40 if (_param->_have_port_address == true) 41 address = PORT_READ(in_WRITE_ADDRESS[i]); 42 else 43 address = 0; 40 44 log_printf(TRACE,RegisterFile_Multi_Banked,"partial_crossbar_genMealy_write"," * address : %d",address); 41 45 Taddress_t bank = address_bank (address); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp
r58 r62 51 51 vhdl->set_body("\t, in_READ_"+toString(j)+"_VAL \t=>\tinternal_BANK_READ_"+toString(i)+"_"+toString(j)+"_VAL"); 52 52 vhdl->set_body("\t,out_READ_"+toString(j)+"_ACK \t=>\tinternal_BANK_READ_"+toString(i)+"_"+toString(j)+"_ACK"); 53 if (_param->_have_bank_port_address == true) 53 54 vhdl->set_body("\t, in_READ_"+toString(j)+"_ADDRESS \t=>\tinternal_BANK_READ_"+toString(i)+"_"+toString(j)+"_ADDRESS"); 54 55 vhdl->set_body("\t,out_READ_"+toString(j)+"_DATA \t=>\tinternal_BANK_READ_"+toString(i)+"_"+toString(j)+"_DATA"); … … 58 59 vhdl->set_body("\t, in_WRITE_"+toString(j)+"_VAL \t=>\tinternal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_VAL"); 59 60 vhdl->set_body("\t,out_WRITE_"+toString(j)+"_ACK \t=>\tinternal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_ACK"); 61 if (_param->_have_bank_port_address == true) 60 62 vhdl->set_body("\t, in_WRITE_"+toString(j)+"_ADDRESS \t=>\tinternal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_ADDRESS"); 61 63 vhdl->set_body("\t, in_WRITE_"+toString(j)+"_DATA \t=>\tinternal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_DATA"); … … 154 156 vhdl->set_body("-----------------------------------"); 155 157 vhdl->set_body(""); 158 159 if (_param->_have_bank_port_address == true) 156 160 for (uint32_t i=0; i<_param->_nb_bank; i++) 157 161 { … … 221 225 for (uint32_t j=0; j<_param->_nb_port_read; j ++) 222 226 { 223 string address = (_param->_nb_bank==1)?"":("and (in_READ_"+toString(j)+"_ADDRESS"+std_logic_range(_param->_size_address-1,_param->_size_address_by_bank)+"="+std_logic_conv( _param->_size_address-_param->_size_address_by_bank,i)+") "); 224 225 vhdl->set_body("internal_READ_"+toString(i)+"_"+toString(j)+"_VAL <= '1' when (in_READ_"+toString(j)+"_VAL ='1') "+address+"else '0';"); 227 string str_address; 228 229 if (_param->_have_bank_port_address == true) 230 str_address = (_param->_nb_bank==1)?"":("and (in_READ_"+toString(j)+"_ADDRESS"+std_logic_range(_param->_size_address-1,_param->_size_address_by_bank)+"="+std_logic_conv( _param->_size_address-_param->_size_address_by_bank,i)+") "); 231 else 232 str_address = ""; 233 234 vhdl->set_body("internal_READ_"+toString(i)+"_"+toString(j)+"_VAL <= '1' when (in_READ_"+toString(j)+"_VAL ='1') "+str_address+"else '0';"); 226 235 } 227 236 for (uint32_t j=0; j<_param->_nb_port_write; j ++) 228 237 { 229 string address = (_param->_nb_bank==1)?"":("and (in_WRITE_"+toString(j)+"_ADDRESS"+std_logic_range(_param->_size_address-1,_param->_size_address_by_bank)+"="+std_logic_conv( _param->_size_address-_param->_size_address_by_bank,i)+") "); 230 vhdl->set_body("internal_WRITE_"+toString(i)+"_"+toString(j)+"_VAL <= '1' when (in_WRITE_"+toString(j)+"_VAL='1') "+address+"else '0';"); 238 string str_address; 239 240 if (_param->_have_port_address == true) 241 str_address = (_param->_nb_bank==1)?"":("and (in_WRITE_"+toString(j)+"_ADDRESS"+std_logic_range(_param->_size_address-1,_param->_size_address_by_bank)+"="+std_logic_conv( _param->_size_address-_param->_size_address_by_bank,i)+") "); 242 else 243 str_address = ""; 244 245 vhdl->set_body("internal_WRITE_"+toString(i)+"_"+toString(j)+"_VAL <= '1' when (in_WRITE_"+toString(j)+"_VAL='1') "+str_address+"else '0';"); 231 246 } 232 247 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_declaration.cpp
r58 r62 41 41 vhdl->set_signal ("internal_BANK_READ_"+toString(i)+"_"+toString(j)+"_VAL" ,1); 42 42 vhdl->set_signal ("internal_BANK_READ_"+toString(i)+"_"+toString(j)+"_ACK" ,1); 43 if (_param->_have_bank_port_address == true) 43 44 vhdl->set_signal ("internal_BANK_READ_"+toString(i)+"_"+toString(j)+"_ADDRESS",_param->_size_address_by_bank); 44 45 vhdl->set_signal ("internal_BANK_READ_"+toString(i)+"_"+toString(j)+"_DATA" ,_param->_size_word); … … 64 65 vhdl->set_signal ("internal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_VAL" ,1); 65 66 vhdl->set_signal ("internal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_ACK" ,1); 67 if (_param->_have_bank_port_address == true) 66 68 vhdl->set_signal ("internal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_ADDRESS",_param->_size_address_by_bank); 67 69 vhdl->set_signal ("internal_BANK_WRITE_"+toString(i)+"_"+toString(j)+"_DATA" ,_param->_size_word); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/include/test.h
r53 r62 21 21 using namespace morpheo::behavioural; 22 22 using namespace morpheo::behavioural::generic; 23 24 23 using namespace morpheo::behavioural::generic::registerfile; 25 24 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/main.cpp
r53 r62 50 50 const uint32_t nb_port_write_by_bank = atoi(argv[8]); 51 51 const Tcrossbar_t crossbar = fromString<Tcrossbar_t>(argv[9]); 52 const Tinstance_t instance = (strcmp(argv[10], "0") == 0)?instance_RegisterFile_Monolithic:instance_RegisterFile_Multi_Banked;52 const morpheo::behavioural::generic::registerfile::Tinstance_t instance = (strcmp(argv[10], "0") == 0)?instance_RegisterFile_Monolithic:instance_RegisterFile_Multi_Banked; 53 53 54 54 try … … 60 60 morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * param1 = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters (nb_port_read , 61 61 nb_port_write , 62 0 , 62 63 nb_word , 63 64 size_word ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp
r53 r62 33 33 cout << "<" << name << "> : Simulation SystemC" << endl; 34 34 35 #ifdef STATISTICS 36 morpheo::behavioural::Parameters_Statistics * _param_stat = new morpheo::behavioural::Parameters_Statistics(5,50); 37 #endif 38 35 39 RegisterFile * _RegisterFile = new RegisterFile (name.c_str(), 36 #ifdef STATISTICS 37 morpheo::behavioural::Parameters_Statistics(5,50),40 #ifdef STATISTICS 41 _param_stat, 38 42 #endif 39 *_param);43 _param); 40 44 41 45 #ifdef SYSTEMC … … 74 78 (*(_RegisterFile-> in_READ_VAL [i])) (READ_VAL [i]); 75 79 (*(_RegisterFile->out_READ_ACK [i])) (READ_ACK [i]); 80 if (_param->_have_port_address == true) 76 81 (*(_RegisterFile-> in_READ_ADDRESS [i])) (READ_ADDRESS [i]); 77 82 (*(_RegisterFile->out_READ_DATA [i])) (READ_DATA [i]); … … 82 87 (*(_RegisterFile-> in_WRITE_VAL [i])) (WRITE_VAL [i]); 83 88 (*(_RegisterFile->out_WRITE_ACK [i])) (WRITE_ACK [i]); 89 if (_param->_have_port_address == true) 84 90 (*(_RegisterFile-> in_WRITE_ADDRESS [i])) (WRITE_ADDRESS [i]); 85 91 (*(_RegisterFile-> in_WRITE_DATA [i])) (WRITE_DATA [i]); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h
r53 r62 23 23 instance_RegisterFile_Multi_Banked} Tinstance_t; 24 24 25 26 25 class Parameters : public morpheo::behavioural::Parameters 27 26 { … … 33 32 public : const uint32_t _size_word ; 34 33 public : const uint32_t _size_address ; 34 public : const bool _have_port_address; 35 35 36 public : morpheo::behavioural::generic::registerfile::registerfile_monolithic ::Parameters * _param_registerfile_monolithic; 36 37 public : morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * _param_registerfile_multi_banked; 37 38 38 39 39 //-----[ methods ]----------------------------------------------------------- -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/RegisterFile.h
r53 r62 45 45 // -----[ fields ]---------------------------------------------------- 46 46 // Parameters 47 protected : const string _name;47 protected : const string _name; 48 48 49 protected : const Parameters _param;50 //#ifdef STATISTICS51 // protected : const morpheo::behavioural::Parameters_Statistics_param_statistics;52 //#endif49 protected : const Parameters * _param; 50 #ifdef STATISTICS 51 protected : morpheo::behavioural::Parameters_Statistics * _param_statistics; 52 #endif 53 53 54 54 public : Component * _component; … … 94 94 #endif 95 95 #ifdef STATISTICS 96 morpheo::behavioural::Parameters_Statistics param_statistics,96 morpheo::behavioural::Parameters_Statistics * param_statistics, 97 97 #endif 98 Parameters param );98 Parameters * param ); 99 99 100 public : RegisterFile (Parameters param );101 100 public : ~RegisterFile (void); 102 101 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp
r53 r62 20 20 _nb_word (param->_nb_word ), 21 21 _size_word (param->_size_word ), 22 _size_address (param->_size_address ) 22 _size_address (param->_size_address ), 23 _have_port_address (param->_have_port_address) 23 24 { 24 25 log_printf(FUNC,RegisterFile,"Parameters","Begin"); … … 37 38 _nb_word (param->_nb_word ), 38 39 _size_word (param->_size_word ), 39 _size_address (param->_size_address ) 40 _size_address (param->_size_address ), 41 _have_port_address (param->_have_port_address) 40 42 { 41 43 log_printf(FUNC,RegisterFile,"Parameters","Begin"); … … 54 56 _nb_word (param._nb_word ), 55 57 _size_word (param._size_word ), 56 _size_address (param._size_address ) 58 _size_address (param._size_address ), 59 _have_port_address (param._have_port_address) 57 60 { 58 61 log_printf(FUNC,RegisterFile,"Parameters (copy)","Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile.cpp
r53 r62 20 20 #endif 21 21 #ifdef STATISTICS 22 morpheo::behavioural::Parameters_Statistics param_statistics,22 morpheo::behavioural::Parameters_Statistics * param_statistics, 23 23 #endif 24 morpheo::behavioural::generic::registerfile::Parameters param ):24 morpheo::behavioural::generic::registerfile::Parameters * param ): 25 25 _name (name) 26 26 ,_param (param) 27 //#ifdef STATISTICS28 //,_param_statistics (param_statistics)29 //#endif27 #ifdef STATISTICS 28 ,_param_statistics (param_statistics) 29 #endif 30 30 { 31 31 log_printf(FUNC,RegisterFile,"RegisterFile","Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_allocation.cpp
r53 r62 28 28 // ~~~~~[ Interface : "read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 29 30 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param._nb_port_read]; 31 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param._nb_port_read]; 32 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param._nb_port_read]; 33 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param._nb_port_read]; 30 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read]; 31 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read]; 32 if (_param->_have_port_address == true) 33 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read]; 34 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param->_nb_port_read]; 34 35 35 for (uint32_t i=0; i<_param ._nb_port_read; i++)36 for (uint32_t i=0; i<_param->_nb_port_read; i++) 36 37 { 37 38 rename = "in_READ_"+toString(i)+"_VAL" ; … … 39 40 rename = "out_READ_"+toString(i)+"_ACK" ; 40 41 out_READ_ACK [i] = new SC_OUT(Tcontrol_t) (rename.c_str()); 42 if (_param->_have_port_address == true) 43 { 41 44 rename = "in_READ_"+toString(i)+"_ADDRESS"; 42 45 in_READ_ADDRESS [i] = new SC_IN (Taddress_t) (rename.c_str()); 46 } 43 47 rename = "out_READ_"+toString(i)+"_DATA" ; 44 48 out_READ_DATA [i] = new SC_OUT(Tdata_t ) (rename.c_str()); … … 47 51 // ~~~~~[ Interface : "write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 52 49 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param._nb_port_write]; 50 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param._nb_port_write]; 51 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param._nb_port_write]; 52 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param._nb_port_write]; 53 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_write]; 54 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_write]; 55 if (_param->_have_port_address == true) 56 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_write]; 57 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param->_nb_port_write]; 53 58 54 for (uint32_t i=0; i<_param ._nb_port_write; i++)59 for (uint32_t i=0; i<_param->_nb_port_write; i++) 55 60 { 56 61 rename = "in_WRITE_"+toString(i)+"_VAL" ; … … 58 63 rename = "out_WRITE_"+toString(i)+"_ACK" ; 59 64 out_WRITE_ACK [i] = new SC_OUT(Tcontrol_t) (rename.c_str()); 65 if (_param->_have_port_address == true) 66 { 60 67 rename = "in_WRITE_"+toString(i)+"_ADDRESS"; 61 68 in_WRITE_ADDRESS [i] = new SC_IN (Taddress_t) (rename.c_str()); 69 } 62 70 rename = "in_WRITE_"+toString(i)+"_DATA" ; 63 71 in_WRITE_DATA [i] = new SC_IN (Tdata_t ) (rename.c_str()); … … 65 73 66 74 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67 if (_param ._instance == instance_RegisterFile_Monolithic)75 if (_param->_instance == instance_RegisterFile_Monolithic) 68 76 // =====[ component_RegisterFile_Monolithic ]========================= 69 77 { … … 72 80 ,_param_statistics 73 81 #endif 74 , *(_param._param_registerfile_monolithic)82 ,_param->_param_registerfile_monolithic 75 83 ); 76 84 … … 83 91 ,_param_statistics 84 92 #endif 85 , *(_param._param_registerfile_multi_banked)93 ,_param->_param_registerfile_multi_banked 86 94 ); 87 95 … … 89 97 // ~~~~~[ Component - Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 98 91 if (_param ._instance == instance_RegisterFile_Monolithic)99 if (_param->_instance == instance_RegisterFile_Monolithic) 92 100 // =====[ Component_RegisterFile_Monolithic - Instanciation ]========= 93 101 { … … 95 103 (*(component_RegisterFile_Monolithic ->in_NRESET)) (*(in_NRESET)); 96 104 97 for (uint32_t i=0; i<_param ._nb_port_read; i++)105 for (uint32_t i=0; i<_param->_nb_port_read; i++) 98 106 { 99 107 (*(component_RegisterFile_Monolithic -> in_READ_VAL [i])) (*( in_READ_VAL [i])); 100 108 (*(component_RegisterFile_Monolithic ->out_READ_ACK [i])) (*(out_READ_ACK [i])); 109 if (_param->_have_port_address == true) 101 110 (*(component_RegisterFile_Monolithic -> in_READ_ADDRESS [i])) (*( in_READ_ADDRESS [i])); 102 111 (*(component_RegisterFile_Monolithic ->out_READ_DATA [i])) (*(out_READ_DATA [i])); 103 112 } 104 113 105 for (uint32_t i=0; i<_param ._nb_port_write; i++)114 for (uint32_t i=0; i<_param->_nb_port_write; i++) 106 115 { 107 116 (*(component_RegisterFile_Monolithic -> in_WRITE_VAL [i])) (*( in_WRITE_VAL [i])); 108 117 (*(component_RegisterFile_Monolithic ->out_WRITE_ACK [i])) (*(out_WRITE_ACK [i])); 118 if (_param->_have_port_address == true) 109 119 (*(component_RegisterFile_Monolithic -> in_WRITE_ADDRESS [i])) (*( in_WRITE_ADDRESS [i])); 110 120 (*(component_RegisterFile_Monolithic -> in_WRITE_DATA [i])) (*( in_WRITE_DATA [i])); … … 117 127 (*(component_RegisterFile_Multi_Banked->in_NRESET)) (*(in_NRESET)); 118 128 119 for (uint32_t i=0; i<_param ._nb_port_read; i++)129 for (uint32_t i=0; i<_param->_nb_port_read; i++) 120 130 { 121 131 (*(component_RegisterFile_Multi_Banked-> in_READ_VAL [i])) (*( in_READ_VAL [i])); 122 132 (*(component_RegisterFile_Multi_Banked->out_READ_ACK [i])) (*(out_READ_ACK [i])); 133 if (_param->_have_port_address == true) 123 134 (*(component_RegisterFile_Multi_Banked-> in_READ_ADDRESS [i])) (*( in_READ_ADDRESS [i])); 124 135 (*(component_RegisterFile_Multi_Banked->out_READ_DATA [i])) (*(out_READ_DATA [i])); 125 136 } 126 137 127 for (uint32_t i=0; i<_param ._nb_port_write; i++)138 for (uint32_t i=0; i<_param->_nb_port_write; i++) 128 139 { 129 140 (*(component_RegisterFile_Multi_Banked-> in_WRITE_VAL [i])) (*( in_WRITE_VAL [i])); 130 141 (*(component_RegisterFile_Multi_Banked->out_WRITE_ACK [i])) (*(out_WRITE_ACK [i])); 142 if (_param->_have_port_address == true) 131 143 (*(component_RegisterFile_Multi_Banked-> in_WRITE_ADDRESS [i])) (*( in_WRITE_ADDRESS [i])); 132 144 (*(component_RegisterFile_Multi_Banked-> in_WRITE_DATA [i])) (*( in_WRITE_DATA [i])); … … 134 146 } 135 147 136 if (_param ._instance == instance_RegisterFile_Monolithic)148 if (_param->_instance == instance_RegisterFile_Monolithic) 137 149 _component = component_RegisterFile_Monolithic ->_component; 138 150 else -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_deallocation.cpp
r53 r62 24 24 delete [] in_READ_VAL ; 25 25 delete [] out_READ_ACK ; 26 if (_param->_have_port_address == true) 26 27 delete [] in_READ_ADDRESS; 27 28 delete [] out_READ_DATA ; … … 30 31 delete [] in_WRITE_VAL ; 31 32 delete [] out_WRITE_ACK ; 33 if (_param->_have_port_address == true) 32 34 delete [] in_WRITE_ADDRESS; 33 35 delete [] in_WRITE_DATA ; … … 37 39 // delete _component; 38 40 39 if (_param ._instance == instance_RegisterFile_Monolithic)41 if (_param->_instance == instance_RegisterFile_Monolithic) 40 42 delete component_RegisterFile_Monolithic ; 41 43 else -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_statistics.cpp
r53 r62 19 19 log_printf(FUNC,RegisterFile,"statistics","Begin"); 20 20 21 if (_param->_instance == instance_RegisterFile_Monilithic) 22 component_RegisterFile_Monolithic ->statistics(depth); 21 string txt; 22 23 if (_param->_instance == instance_RegisterFile_Monolithic) 24 txt = component_RegisterFile_Monolithic ->statistics(depth); 23 25 else 24 component_RegisterFile_Multi_Banked->statistics(depth); 25 26 string txt = _stat->print(depth); 26 txt = component_RegisterFile_Multi_Banked->statistics(depth); 27 27 28 28 log_printf(FUNC,RegisterFile,"statistics","End"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info
r57 r62 3 3 target_dep all Select_Priority_Fixed_0.ngc 4 4 target_dep Select_Priority_Fixed_0.ngc Select_Priority_Fixed_0.prj 5 target_dep Select_Priority_Fixed_0.prj Select_Priority_Fixed_0_Pack.vhdl Select_Priority_Fixed_0.vhdl 5 target_dep Select_Priority_Fixed_0.prj Select_Priority_Fixed_0.vhdl Select_Priority_Fixed_0_Pack.vhdl 6 7 # Select_Priority_Fixed_1 8 target_dep all Select_Priority_Fixed_1.ngc 9 target_dep Select_Priority_Fixed_1.ngc Select_Priority_Fixed_1.prj 10 target_dep Select_Priority_Fixed_1.prj Select_Priority_Fixed_1.vhdl Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_1_Pack.vhdl 6 11 7 12 # Select_Priority_Fixed_10 8 13 target_dep all Select_Priority_Fixed_10.ngc 9 14 target_dep Select_Priority_Fixed_10.ngc Select_Priority_Fixed_10.prj 10 target_dep Select_Priority_Fixed_10.prj Select_Priority_Fixed_10 _Pack.vhdl Select_Priority_Fixed_10.vhdl15 target_dep Select_Priority_Fixed_10.prj Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_10_Pack.vhdl 11 16 12 17 # Select_Priority_Fixed_11 13 18 target_dep all Select_Priority_Fixed_11.ngc 14 19 target_dep Select_Priority_Fixed_11.ngc Select_Priority_Fixed_11.prj 15 target_dep Select_Priority_Fixed_11.prj Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl 16 17 # Select_Priority_Fixed_1 18 target_dep all Select_Priority_Fixed_1.ngc 19 target_dep Select_Priority_Fixed_1.ngc Select_Priority_Fixed_1.prj 20 target_dep Select_Priority_Fixed_1.prj Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_1_Pack.vhdl Select_Priority_Fixed_1.vhdl 20 target_dep Select_Priority_Fixed_11.prj Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_11_Pack.vhdl 21 21 22 22 # Select_Priority_Fixed_2 23 23 target_dep all Select_Priority_Fixed_2.ngc 24 24 target_dep Select_Priority_Fixed_2.ngc Select_Priority_Fixed_2.prj 25 target_dep Select_Priority_Fixed_2.prj Select_Priority_Fixed_2 _Pack.vhdl Select_Priority_Fixed_2.vhdl25 target_dep Select_Priority_Fixed_2.prj Select_Priority_Fixed_2.vhdl Select_Priority_Fixed_2_Pack.vhdl 26 26 27 27 # Select_Priority_Fixed_3 28 28 target_dep all Select_Priority_Fixed_3.ngc 29 29 target_dep Select_Priority_Fixed_3.ngc Select_Priority_Fixed_3.prj 30 target_dep Select_Priority_Fixed_3.prj Select_Priority_Fixed_3 _Pack.vhdl Select_Priority_Fixed_3.vhdl30 target_dep Select_Priority_Fixed_3.prj Select_Priority_Fixed_3.vhdl Select_Priority_Fixed_3_Pack.vhdl 31 31 32 32 # Select_Priority_Fixed_4 33 33 target_dep all Select_Priority_Fixed_4.ngc 34 34 target_dep Select_Priority_Fixed_4.ngc Select_Priority_Fixed_4.prj 35 target_dep Select_Priority_Fixed_4.prj Select_Priority_Fixed_4 _Pack.vhdl Select_Priority_Fixed_4.vhdl35 target_dep Select_Priority_Fixed_4.prj Select_Priority_Fixed_4.vhdl Select_Priority_Fixed_4_Pack.vhdl 36 36 37 37 # Select_Priority_Fixed_5 38 38 target_dep all Select_Priority_Fixed_5.ngc 39 39 target_dep Select_Priority_Fixed_5.ngc Select_Priority_Fixed_5.prj 40 target_dep Select_Priority_Fixed_5.prj Select_Priority_Fixed_5 _Pack.vhdl Select_Priority_Fixed_5.vhdl40 target_dep Select_Priority_Fixed_5.prj Select_Priority_Fixed_5.vhdl Select_Priority_Fixed_5_Pack.vhdl 41 41 42 42 # Select_Priority_Fixed_6 43 43 target_dep all Select_Priority_Fixed_6.ngc 44 44 target_dep Select_Priority_Fixed_6.ngc Select_Priority_Fixed_6.prj 45 target_dep Select_Priority_Fixed_6.prj Select_Priority_Fixed_6 _Pack.vhdl Select_Priority_Fixed_6.vhdl45 target_dep Select_Priority_Fixed_6.prj Select_Priority_Fixed_6.vhdl Select_Priority_Fixed_6_Pack.vhdl 46 46 47 47 # Select_Priority_Fixed_7 48 48 target_dep all Select_Priority_Fixed_7.ngc 49 49 target_dep Select_Priority_Fixed_7.ngc Select_Priority_Fixed_7.prj 50 target_dep Select_Priority_Fixed_7.prj Select_Priority_Fixed_7 _Pack.vhdl Select_Priority_Fixed_7.vhdl50 target_dep Select_Priority_Fixed_7.prj Select_Priority_Fixed_7.vhdl Select_Priority_Fixed_7_Pack.vhdl 51 51 52 52 # Select_Priority_Fixed_8 53 53 target_dep all Select_Priority_Fixed_8.ngc 54 54 target_dep Select_Priority_Fixed_8.ngc Select_Priority_Fixed_8.prj 55 target_dep Select_Priority_Fixed_8.prj Select_Priority_Fixed_8 _Pack.vhdl Select_Priority_Fixed_8.vhdl55 target_dep Select_Priority_Fixed_8.prj Select_Priority_Fixed_8.vhdl Select_Priority_Fixed_8_Pack.vhdl 56 56 57 57 # Select_Priority_Fixed_9 58 58 target_dep all Select_Priority_Fixed_9.ngc 59 59 target_dep Select_Priority_Fixed_9.ngc Select_Priority_Fixed_9.prj 60 target_dep Select_Priority_Fixed_9.prj Select_Priority_Fixed_9 _Pack.vhdl Select_Priority_Fixed_9.vhdl60 target_dep Select_Priority_Fixed_9.prj Select_Priority_Fixed_9.vhdl Select_Priority_Fixed_9_Pack.vhdl 61 61
Note: See TracChangeset
for help on using the changeset viewer.