Changeset 55 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
- Timestamp:
- Sep 24, 2007, 2:00:35 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
r53 r55 43 43 // ~~~~~[ Interface : "read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 44 44 45 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param ._nb_port_read];46 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param ._nb_port_read];47 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param ._nb_port_read];48 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param ._nb_port_read];45 in_READ_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read]; 46 out_READ_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read]; 47 in_READ_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read]; 48 out_READ_DATA = new SC_OUT(Tdata_t ) * [_param->_nb_port_read]; 49 49 50 for (uint32_t i=0; i<_param ._nb_port_read; i++)50 for (uint32_t i=0; i<_param->_nb_port_read; i++) 51 51 { 52 52 Interface_fifo * interface = _interfaces->set_interface("read_"+toString(i) … … 60 60 in_READ_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 61 61 out_READ_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 62 in_READ_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param ._size_address);63 out_READ_DATA [i] = interface->set_signal_out <Tdata_t > ("data" , _param ._size_word);62 in_READ_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param->_size_address); 63 out_READ_DATA [i] = interface->set_signal_out <Tdata_t > ("data" , _param->_size_word); 64 64 } 65 65 66 66 // ~~~~~[ Interface : "write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67 67 68 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param ._nb_port_write];69 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param ._nb_port_write];70 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param ._nb_port_write];71 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param ._nb_port_write];68 in_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_write]; 69 out_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_write]; 70 in_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_write]; 71 in_WRITE_DATA = new SC_IN (Tdata_t ) * [_param->_nb_port_write]; 72 72 73 for (uint32_t i=0; i<_param ._nb_port_write; i++)73 for (uint32_t i=0; i<_param->_nb_port_write; i++) 74 74 { 75 75 Interface_fifo * interface = _interfaces->set_interface("write_"+toString(i) … … 83 83 in_WRITE_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 84 84 out_WRITE_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 85 in_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param._size_address); 86 in_WRITE_DATA [i] = interface->set_signal_in <Tdata_t > ("data" , _param._size_word); 85 in_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param->_size_address); 86 in_WRITE_DATA [i] = interface->set_signal_in <Tdata_t > ("data" , _param->_size_word); 87 } 88 89 // ~~~~~[ Interface : "read_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 91 in_READ_WRITE_VAL = new SC_IN (Tcontrol_t) * [_param->_nb_port_read_write]; 92 out_READ_WRITE_ACK = new SC_OUT(Tcontrol_t) * [_param->_nb_port_read_write]; 93 in_READ_WRITE_RW = new SC_IN (Tcontrol_t) * [_param->_nb_port_read_write]; 94 in_READ_WRITE_ADDRESS = new SC_IN (Taddress_t) * [_param->_nb_port_read_write]; 95 in_READ_WRITE_WDATA = new SC_IN (Tdata_t ) * [_param->_nb_port_read_write]; 96 out_READ_WRITE_RDATA = new SC_OUT(Tdata_t ) * [_param->_nb_port_read_write]; 97 98 for (uint32_t i=0; i<_param->_nb_port_read_write; i++) 99 { 100 Interface_fifo * interface = _interfaces->set_interface("read_write_"+toString(i) 101 #ifdef POSITION 102 , IN 103 ,WEST 104 , "Interface Read_Write" 105 #endif 106 ); 107 108 in_READ_WRITE_VAL [i] = interface->set_signal_valack_in ("val" , VAL); 109 out_READ_WRITE_ACK [i] = interface->set_signal_valack_out ("ack" , ACK); 110 in_READ_WRITE_RW [i] = interface->set_signal_valack_in ("rw" , VAL); 111 in_READ_WRITE_ADDRESS [i] = interface->set_signal_in <Taddress_t> ("address", _param->_size_address); 112 in_READ_WRITE_WDATA [i] = interface->set_signal_in <Tdata_t > ("wdata" , _param->_size_word); 113 out_READ_WRITE_RDATA [i] = interface->set_signal_out <Tdata_t > ("rdata" , _param->_size_word); 87 114 } 88 115 89 116 // ----- Register 90 reg_DATA = new SC_REGISTER (Tdata_t) * [_param ._nb_word];117 reg_DATA = new SC_REGISTER (Tdata_t) * [_param->_nb_word]; 91 118 92 for (uint32_t i=0; i<_param ._nb_word; i++)119 for (uint32_t i=0; i<_param->_nb_word; i++) 93 120 { 94 121 string rename = "reg_DATA[" + toString(i) + "]";
Note: See TracChangeset
for help on using the changeset viewer.