Changeset 57 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.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_Monolithic/src/RegisterFile_Monolithic.cpp
r55 r57 14 14 namespace registerfile_monolithic { 15 15 16 RegisterFile_Monolithic::RegisterFile_Monolithic ( 16 RegisterFile_Monolithic::RegisterFile_Monolithic 17 ( 17 18 #ifdef SYSTEMC 18 19 sc_module_name name, 19 20 #else 20 21 string name , 21 22 #endif 22 23 #ifdef STATISTICS 23 24 morpheo::behavioural::Parameters_Statistics * param_statistics, 24 25 #endif 25 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters * param ): 26 _name (name), 27 _param (param) 26 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters * param, 27 morpheo::behavioural::Tusage_t usage 28 ): 29 _name (name), 30 _param (param), 31 _usage (usage) 28 32 { 29 33 log_printf(FUNC,RegisterFile_Monolithic,"RegisterFile_Monolithic","Begin"); 30 34 31 #ifdef SYSTEMC32 35 log_printf(INFO,RegisterFile_Monolithic,"RegisterFile_Monolithic","Allocation"); 33 34 36 allocation (); 35 #endif36 37 37 38 #ifdef STATISTICS … … 47 48 48 49 #ifdef SYSTEMC 49 SC_METHOD (transition); 50 dont_initialize (); 51 sensitive_pos << *(in_CLOCK); 50 if (_usage & USE_SYSTEMC) 51 { 52 SC_METHOD (transition); 53 dont_initialize (); 54 sensitive_pos << *(in_CLOCK); 55 56 SC_METHOD (genMealy_read); 57 dont_initialize (); 58 sensitive_neg << *(in_CLOCK); 59 for (uint32_t i=0; i<_param->_nb_port_read; i++) 60 sensitive << *(in_READ_VAL [i]) 61 << *(in_READ_ADDRESS [i]); 62 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 # ifdef SYSTEMCASS_SPECIFIC 68 // List dependency information 69 for (uint32_t i=0; i<_param->_nb_port_read; i++) 70 { 71 (*(out_READ_DATA [i])) (*( in_READ_VAL [i])); 72 (*(out_READ_DATA [i])) (*( in_READ_ADDRESS [i])); 73 } 74 for (uint32_t i=0; i<_param->_nb_port_read_write; i++) 75 { 76 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_VAL [i])); 77 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_RW [i])); 78 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_ADDRESS [i])); 79 } 80 # endif 81 82 for (uint32_t i=0; i<_param->_nb_port_read ; i++) 83 PORT_WRITE(out_READ_ACK [i], 1); 84 for (uint32_t i=0; i<_param->_nb_port_write ; i++) 85 PORT_WRITE(out_WRITE_ACK [i], 1); 86 for (uint32_t i=0; i<_param->_nb_port_read_write ; i++) 87 PORT_WRITE(out_READ_WRITE_ACK [i], 1); 88 } 89 #endif 52 90 53 SC_METHOD (genMealy_read);54 dont_initialize ();55 sensitive_neg << *(in_CLOCK);56 for (uint32_t i=0; i<_param->_nb_port_read; i++)57 sensitive << *(in_READ_VAL [i])58 << *(in_READ_ADDRESS [i]);59 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)60 sensitive << *(in_READ_WRITE_VAL [i])61 << *(in_READ_WRITE_RW [i])62 << *(in_READ_WRITE_ADDRESS [i]);63 64 #ifdef SYSTEMCASS_SPECIFIC65 // List dependency information66 for (uint32_t i=0; i<_param->_nb_port_read; i++)67 {68 (*(out_READ_DATA [i])) (*( in_READ_VAL [i]));69 (*(out_READ_DATA [i])) (*( in_READ_ADDRESS [i]));70 }71 for (uint32_t i=0; i<_param->_nb_port_read_write; i++)72 {73 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_VAL [i]));74 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_RW [i]));75 (*(out_READ_WRITE_RDATA [i])) (*( in_READ_WRITE_ADDRESS [i]));76 }77 #endif78 79 for (uint32_t i=0; i<_param->_nb_port_read ; i++)80 PORT_WRITE(out_READ_ACK [i], 1);81 for (uint32_t i=0; i<_param->_nb_port_write ; i++)82 PORT_WRITE(out_WRITE_ACK [i], 1);83 for (uint32_t i=0; i<_param->_nb_port_read_write ; i++)84 PORT_WRITE(out_READ_WRITE_ACK [i], 1);85 #endif86 87 91 log_printf(FUNC,RegisterFile_Monolithic,"RegisterFile_Monolithic","End"); 88 92 }; … … 95 99 #endif 96 100 97 #ifdef SYSTEMC98 101 deallocation (); 99 #endif100 102 }; 101 103
Note: See TracChangeset
for help on using the changeset viewer.