Changeset 128 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src
- Timestamp:
- Jun 26, 2009, 10:43:23 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp
r111 r128 22 22 log_function(RegisterFile_Monolithic,FUNCTION,_name.c_str()); 23 23 24 if ( _param->_have_init_value and (PORT_READ(in_NRESET) == 0))24 if (PORT_READ(in_NRESET) == 0) 25 25 { 26 for (uint32_t i=0; i<_param->_nb_word; ++i) 27 reg_DATA[i] = fromString<Tdata_t>(_param->_init_value); 26 if (_param->_have_init_value) 27 { 28 for (uint32_t i=0; i<_param->_nb_word; ++i) 29 reg_DATA[i] = fromString<Tdata_t>(_param->_init_value); 30 } 31 else 32 { 33 for (uint32_t i=0; i<_param->_nb_word; ++i) 34 reg_DATA[i] = 0; 35 } 28 36 } 29 37 else … … 31 39 for (uint32_t i=0; i<_param->_nb_port_write; i++) 32 40 { 41 log_printf(TRACE,RegisterFile,FUNCTION," * WRITE [%d] : %d",i,PORT_READ(in_WRITE_VAL[i])); 42 33 43 // Have a write? 34 44 if ( PORT_READ(in_WRITE_VAL[i]) == true) … … 38 48 (*_stat_nb_write) ++; 39 49 #endif 40 50 41 51 Taddress_t address = (_param->_have_port_address)?PORT_READ(in_WRITE_ADDRESS[i]):0; 42 52 Tdata_t data = PORT_READ(in_WRITE_DATA [i]); 53 54 log_printf(TRACE,RegisterFile,FUNCTION," * address : %d",address); 55 log_printf(TRACE,RegisterFile,FUNCTION," * gloup"); 56 log_printf(TRACE,RegisterFile,FUNCTION," * data : %d",data); 43 57 44 58 log_printf(TRACE,RegisterFile,FUNCTION," * [%d] <- %.8x",static_cast<uint32_t>(address),static_cast<uint32_t>(data)); 59 60 #ifdef DEBUG_TEST 61 if (address >= _param->_nb_word) 62 throw ERRORMORPHEO(FUNCTION,toString(_("Address (%d) is invalid (size : %d).\n"),address,_param->_nb_word)); 63 #endif 45 64 46 65 // Write in registerFile … … 50 69 for (uint32_t i=0; i<_param->_nb_port_read_write; i++) 51 70 { 71 log_printf(TRACE,RegisterFile,FUNCTION," * READ_WRITE [%d] : %d",i,PORT_READ(in_READ_WRITE_VAL[i])); 72 52 73 // Have a read_write? 53 74 if (PORT_READ(in_READ_WRITE_VAL[i]) == true) … … 65 86 log_printf(TRACE,RegisterFile,FUNCTION," * [%d] <- %.8x",static_cast<uint32_t>(address),static_cast<uint32_t>(data)); 66 87 88 89 #ifdef DEBUG_TEST 90 if (address >= _param->_nb_word) 91 throw ERRORMORPHEO(FUNCTION,toString(_("Address (%d) is invalid (size : %d).\n"),address,_param->_nb_word)); 92 #endif 93 67 94 // Write in registerFile 68 95 reg_DATA[address] = data;
Note: See TracChangeset
for help on using the changeset viewer.