Changeset 57 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
- Timestamp:
- Sep 28, 2007, 2:58:08 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
r53 r57 48 48 // ~~~~~[ Interface : "read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49 49 50 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param ._nb_port_read];51 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param ._nb_port_read];52 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param ._nb_port_read];53 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param ._nb_port_read];50 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read]; 51 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read]; 52 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read]; 53 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param->_nb_port_read]; 54 54 55 for (uint32_t i=0; i<_param ._nb_port_read; i++)55 for (uint32_t i=0; i<_param->_nb_port_read; i++) 56 56 { 57 57 Interface_fifo * interface = _interfaces->set_interface("read_"+toString(i) … … 65 65 in_READ_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 66 66 out_READ_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 67 in_READ_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", static_cast<uint32_t>(log2(_param ._nb_word)));68 out_READ_DATA [i] = interface->set_signal_out <Tdata_t > ("data" , _param ._size_word);67 in_READ_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", static_cast<uint32_t>(log2(_param->_nb_word))); 68 out_READ_DATA [i] = interface->set_signal_out <Tdata_t > ("data" , _param->_size_word); 69 69 } 70 70 71 71 // ~~~~~[ Interface : "write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 72 73 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param ._nb_port_write];74 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param ._nb_port_write];75 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param ._nb_port_write];76 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param ._nb_port_write];73 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_write]; 74 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_write]; 75 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_write]; 76 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param->_nb_port_write]; 77 77 78 for (uint32_t i=0; i<_param ._nb_port_write; i++)78 for (uint32_t i=0; i<_param->_nb_port_write; i++) 79 79 { 80 80 Interface_fifo * interface = _interfaces->set_interface("write_"+toString(i) … … 88 88 in_WRITE_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 89 89 out_WRITE_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 90 in_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", static_cast<uint32_t>(log2(_param ._nb_word)));91 in_WRITE_DATA [i] = interface->set_signal_in <Tdata_t > ("data" , _param ._size_word);90 in_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", static_cast<uint32_t>(log2(_param->_nb_word))); 91 in_WRITE_DATA [i] = interface->set_signal_in <Tdata_t > ("data" , _param->_size_word); 92 92 } 93 93 94 94 // ~~~~~[ Registers ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 95 96 reg_DATA = new SC_REGISTER (Tdata_t) ** [_param ._nb_bank];96 reg_DATA = new SC_REGISTER (Tdata_t) ** [_param->_nb_bank]; 97 97 98 for (uint32_t i=0; i<_param ._nb_bank; i++)98 for (uint32_t i=0; i<_param->_nb_bank; i++) 99 99 { 100 reg_DATA [i] = new SC_REGISTER (Tdata_t) * [_param ._nb_word];100 reg_DATA [i] = new SC_REGISTER (Tdata_t) * [_param->_nb_word]; 101 101 102 for (uint32_t j=0; j<_param ._nb_word; j++)102 for (uint32_t j=0; j<_param->_nb_word; j++) 103 103 { 104 104 string rename = "reg_DATA_" + toString(i) + "_" + toString(j); … … 108 108 109 109 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 110 internal_WRITE_VAL = new bool [_param ._nb_port_write];111 internal_WRITE_BANK = new Taddress_t [_param ._nb_port_write];112 internal_WRITE_NUM_REG = new Taddress_t [_param ._nb_port_write];110 internal_WRITE_VAL = new bool [_param->_nb_port_write]; 111 internal_WRITE_BANK = new Taddress_t [_param->_nb_port_write]; 112 internal_WRITE_NUM_REG = new Taddress_t [_param->_nb_port_write]; 113 113 114 114 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: See TracChangeset
for help on using the changeset viewer.