Changeset 57 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src
- Timestamp:
- Sep 28, 2007, 2:58:08 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src
- Files:
-
- 3 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 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
r55 r57 1 #ifdef SYSTEMC2 1 /* 3 2 * $Id$ … … 17 16 void RegisterFile_Monolithic::allocation (void) 18 17 { 19 _component = new Component ( );18 _component = new Component (_usage); 20 19 21 20 Entity * entity = _component->set_entity (_name … … 133 132 }; // end namespace behavioural 134 133 }; // end namespace morpheo 135 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp
r55 r57 1 #ifdef SYSTEMC2 1 /* 3 2 * $Id$ … … 19 18 delete _component; 20 19 21 delete in_CLOCK; 22 delete in_NRESET; 23 // ----- Interface Read 24 delete [] in_READ_VAL ; 25 delete [] out_READ_ACK ; 26 delete [] in_READ_ADDRESS; 27 delete [] out_READ_DATA ; 28 29 // ----- Interface Write 30 delete [] in_WRITE_VAL ; 31 delete [] out_WRITE_ACK ; 32 delete [] in_WRITE_ADDRESS; 33 delete [] in_WRITE_DATA ; 34 35 // ----- Interface Read_Write 36 delete [] in_READ_WRITE_VAL ; 37 delete [] out_READ_WRITE_ACK ; 38 delete [] in_READ_WRITE_RW ; 39 delete [] in_READ_WRITE_ADDRESS; 40 delete [] in_READ_WRITE_WDATA ; 41 delete [] out_READ_WRITE_RDATA ; 42 43 // ----- Register 44 delete [] reg_DATA; 20 if (_usage & USE_SYSTEMC) 21 { 22 delete in_CLOCK; 23 delete in_NRESET; 24 // ----- Interface Read 25 delete [] in_READ_VAL ; 26 delete [] out_READ_ACK ; 27 delete [] in_READ_ADDRESS; 28 delete [] out_READ_DATA ; 29 30 // ----- Interface Write 31 delete [] in_WRITE_VAL ; 32 delete [] out_WRITE_ACK ; 33 delete [] in_WRITE_ADDRESS; 34 delete [] in_WRITE_DATA ; 35 36 // ----- Interface Read_Write 37 delete [] in_READ_WRITE_VAL ; 38 delete [] out_READ_WRITE_ACK ; 39 delete [] in_READ_WRITE_RW ; 40 delete [] in_READ_WRITE_ADDRESS; 41 delete [] in_READ_WRITE_WDATA ; 42 delete [] out_READ_WRITE_RDATA ; 43 44 // ----- Register 45 delete [] reg_DATA; 46 } 45 47 }; 46 48 … … 50 52 }; // end namespace behavioural 51 53 }; // end namespace morpheo 52 #endif
Note: See TracChangeset
for help on using the changeset viewer.