- Timestamp:
- Apr 5, 2007, 4:17:30 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile
- Files:
-
- 3 added
- 75 edited
- 13 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/Makefile
r2 r15 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../.. 10 DIR_MORPHEO = ../../../.. 11 11 12 12 #-----[ Library ]------------------------------------------ 13 LIBRARY = $(DIR_LIB)/libRegisterFile .a13 LIBRARY = $(DIR_LIB)/libRegisterFile_Monolithic.a 14 14 15 15 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/Makefile.deps
r2 r15 15 15 endif 16 16 17 RegisterFile = yes17 RegisterFile_Monolithic = yes 18 18 #-----[ Library ]------------------------------------------ 19 RegisterFile_ LIBRARY = -lRegisterFile\19 RegisterFile_Monolithic_LIBRARY = -lRegisterFile_Monolithic \ 20 20 $(Group_LIBRARY) \ 21 21 $(Behavioural_LIBRARY) 22 22 23 RegisterFile_ DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/lib \23 RegisterFile_Monolithic_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/lib \ 24 24 $(Group_DIR_LIBRARY) \ 25 25 $(Behavioural_DIR_LIBRARY) … … 27 27 #-----[ Rules ]-------------------------------------------- 28 28 29 RegisterFile_ library :29 RegisterFile_Monolithic_library : 30 30 @$(MAKE) Behavioural_library 31 31 @$(MAKE) Group_library 32 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile --makefile=Makefile32 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic --makefile=Makefile 33 33 34 RegisterFile_ library_clean :34 RegisterFile_Monolithic_library_clean : 35 35 @$(MAKE) Behavioural_library_clean 36 36 @$(MAKE) Group_library_clean 37 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile --makefile=Makefile clean37 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic --makefile=Makefile clean -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile
r2 r15 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../../.. 10 DIR_MORPHEO = ../../../../.. 11 11 12 LIBRARY = $(RegisterFile_ LIBRARY)12 LIBRARY = $(RegisterFile_Monolithic_LIBRARY) 13 13 14 DIR_LIBRARY = $(RegisterFile_ DIR_LIBRARY)14 DIR_LIBRARY = $(RegisterFile_Monolithic_DIR_LIBRARY) 15 15 16 16 #-----[ include ]------------------------------------------ … … 19 19 @$(MAKE) all_selftest 20 20 21 library : RegisterFile_ library21 library : RegisterFile_Monolithic_library 22 22 23 library_clean : RegisterFile_ library_clean23 library_clean : RegisterFile_Monolithic_library_clean 24 24 25 25 include ../Makefile.deps -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/configuration.cfg
r6 r15 1 RegisterFile 1 RegisterFile_Monolithic 2 2 1 8 *2 # nb_port_read 3 3 1 4 *2 # nb_port_write -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/include/test.h
r2 r15 4 4 * [ Description ] 5 5 * 6 * Test "RegisterFile"7 6 */ 8 7 … … 14 13 #include <iostream> 15 14 16 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"15 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 17 16 18 17 using namespace std; … … 21 20 using namespace morpheo::behavioural::generic; 22 21 using namespace morpheo::behavioural::generic::registerfile; 22 using namespace morpheo::behavioural::generic::registerfile::registerfile_monolithic; 23 23 24 24 void test (string name, 25 morpheo::behavioural::generic::registerfile:: Parameters param);25 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters param); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/main.cpp
r6 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile/ SelfTest/include/test.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/include/test.h" 9 9 10 10 #define NB_PARAMS 4 … … 36 36 const uint32_t size_word = atoi(argv[5]); 37 37 38 morpheo::behavioural::generic::registerfile:: Parameters param (nb_port_read ,39 nb_port_write,38 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters param (nb_port_read , 39 nb_port_write, 40 40 nb_word , 41 41 size_word ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp
r6 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ SelfTest/include/test.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/include/test.h" 10 10 #include "Include/Test.h" 11 11 12 12 void test (string name, 13 morpheo::behavioural::generic::registerfile:: Parameters param)13 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters param) 14 14 { 15 15 cout << "<" << name << "> : Simulation SystemC" << endl; … … 31 31 } 32 32 33 RegisterFile * registerfile = new RegisterFile(name.c_str(),33 RegisterFile_Monolithic * registerfile = new RegisterFile_Monolithic (name.c_str(), 34 34 #ifdef STATISTICS 35 35 morpheo::behavioural::Parameters_Statistics(5,50), 36 36 #endif 37 37 param); 38 38 39 39 #ifdef SYSTEMC … … 58 58 ********************************************************/ 59 59 60 cout << "<" << name << "> Instanciation of register File" << endl;60 cout << "<" << name << "> Instanciation of registerfile" << endl; 61 61 62 62 (*(registerfile->in_CLOCK)) (CLOCK); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h
r2 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ Parameters_h2 #define morpheo_behavioural_generic_registerfile_ Parameters_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_monolithic_Parameters_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_monolithic_Parameters_h 3 3 4 4 /* … … 17 17 namespace generic { 18 18 namespace registerfile { 19 namespace registerfile_monolithic { 19 20 20 21 class Parameters : public morpheo::behavioural::Parameters … … 36 37 public : string print (uint32_t depth); 37 38 public : friend ostream& operator<< (ostream& output_stream, 38 morpheo::behavioural::generic::registerfile:: Parameters & x);39 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters & x); 39 40 }; 40 41 42 }; // end namespace registerfile_monolithic 41 43 }; // end namespace registerfile 42 44 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h
r9 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ RegisterFile2 #define morpheo_behavioural_generic_registerfile_ RegisterFile1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_monolithic_RegisterFile_Monolithic 2 #define morpheo_behavioural_generic_registerfile_registerfile_monolithic_RegisterFile_Monolithic 3 3 4 4 /* … … 18 18 using namespace std; 19 19 20 #include "Behavioural/Generic/RegisterFile/ include/Parameters.h"21 #include "Behavioural/Generic/RegisterFile/ include/Types.h"20 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h" 21 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Types.h" 22 22 #ifdef STATISTICS 23 #include "Behavioural/Generic/RegisterFile/ include/Statistics.h"23 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h" 24 24 #endif 25 25 #ifdef VHDL … … 36 36 namespace generic { 37 37 namespace registerfile { 38 namespace registerfile_monolithic { 38 39 39 class RegisterFile 40 class RegisterFile_Monolithic 40 41 #if SYSTEMC 41 42 : public sc_module … … 85 86 86 87 #ifdef SYSTEMC 87 SC_HAS_PROCESS (RegisterFile );88 SC_HAS_PROCESS (RegisterFile_Monolithic); 88 89 #endif 89 90 90 public : RegisterFile 91 public : RegisterFile_Monolithic ( 91 92 #ifdef SYSTEMC 92 93 sc_module_name name, … … 99 100 Parameters param ); 100 101 101 public : RegisterFile 102 public : ~RegisterFile 102 public : RegisterFile_Monolithic (Parameters param ); 103 public : ~RegisterFile_Monolithic (void); 103 104 104 105 #ifdef SYSTEMC … … 130 131 }; 131 132 133 }; // end namespace registerfile_monolithic 132 134 }; // end namespace registerfile 133 135 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h
r2 r15 1 1 #ifdef STATISTICS 2 #ifndef morpheo_behavioural_generic_registerfile_ Statistics_h3 #define morpheo_behavioural_generic_registerfile_ Statistics_h2 #ifndef morpheo_behavioural_generic_registerfile_registerfile_monolithic_Statistics_h 3 #define morpheo_behavioural_generic_registerfile_registerfile_monolithic_Statistics_h 4 4 5 5 /* … … 14 14 #include "Behavioural/include/Parameters_Statistics.h" 15 15 #include "Behavioural/Generic/Group/include/Statistics.h" 16 #include "Behavioural/Generic/RegisterFile/ include/Parameters.h"16 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h" 17 17 18 18 using namespace morpheo::behavioural::generic::group; … … 22 22 namespace generic { 23 23 namespace registerfile { 24 namespace registerfile_monolithic { 24 25 25 26 class Statistics : public morpheo::behavioural::Statistics … … 48 49 }; 49 50 51 }; // end namespace registerfile_monolithic 50 52 }; // end namespace registerfile 51 53 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Types.h
r6 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ Type_h2 #define morpheo_behavioural_generic_registerfile_ Type_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_monolithic_Type_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_monolithic_Type_h 3 3 4 4 /* … … 15 15 namespace generic { 16 16 namespace registerfile { 17 namespace registerfile_monolithic { 17 18 18 19 typedef uint32_t Taddress_t; 19 20 typedef uint32_t Tdata_t; 20 21 22 }; // end namespace registerfile_monolithic 21 23 }; // end namespace registerfile 22 24 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp
r2 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile/ include/Parameters.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace registerfile { 14 namespace registerfile_monolithic { 14 15 15 16 Parameters::Parameters (uint32_t nb_port_read , … … 38 39 { }; 39 40 41 }; // end namespace registerfile_monolithic 40 42 }; // end namespace registerfile 41 43 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_msg_error.cpp
r6 r15 7 7 8 8 #include <stdint.h> 9 #include "Behavioural/Generic/RegisterFile/ include/Parameters.h"10 #include "Behavioural/Generic/RegisterFile/ include/Types.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h" 10 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Types.h" 11 11 #include <sstream> 12 12 using namespace std; … … 16 16 namespace generic { 17 17 namespace registerfile { 18 namespace registerfile_monolithic { 18 19 19 20 string Parameters::msg_error(void) … … 45 46 }; 46 47 48 }; // end namespace registerfile_monolithic 47 49 }; // end namespace registerfile 48 50 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_print.cpp
r2 r15 7 7 8 8 #include <stdint.h> 9 #include "Behavioural/Generic/RegisterFile/ include/Parameters.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h" 10 10 #include <sstream> 11 11 using namespace std; … … 15 15 namespace generic { 16 16 namespace registerfile { 17 namespace registerfile_monolithic { 17 18 18 19 string Parameters::print (uint32_t depth) … … 20 21 string tab = string(depth,'\t'); 21 22 ostringstream msg; 22 msg << tab << "<registerfile >" << endl23 msg << tab << "<registerfile_monolithic>" << endl 23 24 << tab << "\t<nb_port_read value=\"" << _nb_port_read << "\" />" << endl 24 25 << tab << "\t<nb_port_write value=\"" << _nb_port_write << "\" />" << endl 25 26 << tab << "\t<nb_word value=\"" << _nb_word << "\" />" << endl 26 27 << tab << "\t<size_word value=\"" << _size_word << "\" />" << endl 27 << tab << "</registerfile >" << endl;28 << tab << "</registerfile_monolithic>" << endl; 28 29 29 30 return msg.str(); … … 31 32 32 33 ostream& operator<< (ostream& output_stream , 33 morpheo::behavioural::generic::registerfile:: Parameters & x)34 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters & x) 34 35 { 35 36 output_stream << x.print(0); … … 38 39 }; 39 40 41 }; // end namespace registerfile_monolithic 40 42 }; // end namespace registerfile 41 43 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp
r11 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace registerfile { 14 namespace registerfile_monolithic { 14 15 16 RegisterFile_Monolithic::RegisterFile_Monolithic ( 15 17 #ifdef SYSTEMC 16 RegisterFile::RegisterFile (sc_module_name name,18 sc_module_name name, 17 19 #else 18 RegisterFile::RegisterFile (string name ,20 string name , 19 21 #endif 20 22 #ifdef STATISTICS 21 23 morpheo::behavioural::Parameters_Statistics param_statistics, 22 24 #endif 23 morpheo::behavioural::generic::registerfile::Parameters param ):24 _name (name) 25 ,_param (param)25 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters param ): 26 _name (name), 27 _param (param) 26 28 { 27 29 #ifdef STATISTICS … … 72 74 }; 73 75 74 RegisterFile ::~RegisterFile(void)76 RegisterFile_Monolithic::~RegisterFile_Monolithic (void) 75 77 { 76 78 #ifdef SYSTEMC … … 90 92 }; 91 93 94 }; // end namespace registerfile_monolithic 92 95 }; // end namespace registerfile 93 96 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::allocation (void)17 void RegisterFile_Monolithic::allocation (void) 17 18 { 18 19 in_CLOCK = new SC_CLOCK ("in_CLOCK"); … … 75 76 }; 76 77 78 }; // end namespace registerfile_monolithic 77 79 }; // end namespace registerfile 78 80 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::deallocation (void)17 void RegisterFile_Monolithic::deallocation (void) 17 18 { 18 19 delete in_CLOCK; … … 55 56 }; 56 57 58 }; // end namespace registerfile_monolithic 57 59 }; // end namespace registerfile 58 60 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_genMealy_read.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::genMealy_read (void)17 void RegisterFile_Monolithic::genMealy_read (void) 17 18 { 18 19 log_printf(FUNC,Register_File,"genMealy_read","Begin"); … … 48 49 }; 49 50 51 }; // end namespace registerfile_monolithic 50 52 }; // end namespace registerfile 51 53 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 string RegisterFile ::statistics (uint32_t depth)17 string RegisterFile_Monolithic::statistics (uint32_t depth) 17 18 { 18 19 return _stat->print(depth); 19 20 }; 20 21 22 }; // end namespace registerfile_monolithic 21 23 }; // end namespace registerfile 22 24 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 16 void RegisterFile ::transition (void)15 namespace registerfile_monolithic { 16 void RegisterFile_Monolithic::transition (void) 17 17 { 18 18 log_printf(FUNC,Register_File,"transition","Begin"); … … 50 50 }; 51 51 52 }; // end namespace registerfile_monolithic 52 53 }; // end namespace registerfile 53 54 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 #include "Behavioural/include/Vhdl.h" 11 11 #include "Include/ToString.h" … … 14 14 namespace generic { 15 15 namespace registerfile { 16 namespace registerfile_monolithic { 16 17 17 void RegisterFile ::vhdl (void)18 void RegisterFile_Monolithic::vhdl (void) 18 19 { 19 20 Vhdl vhdl (_name); … … 29 30 }; 30 31 32 }; // end namespace registerfile_monolithic 31 33 }; // end namespace registerfile 32 34 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::vhdl_body (Vhdl & vhdl)17 void RegisterFile_Monolithic::vhdl_body (Vhdl & vhdl) 17 18 { 18 19 vhdl.set_body (""); … … 51 52 }; 52 53 54 }; // end namespace registerfile_monolithic 53 55 }; // end namespace registerfile 54 56 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_port.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::vhdl_port (Vhdl & vhdl)17 void RegisterFile_Monolithic::vhdl_port (Vhdl & vhdl) 17 18 { 18 19 vhdl.set_port ("in_CLOCK" , IN, 1); … … 36 37 }; 37 38 39 }; // end namespace registerfile_monolithic 38 40 }; // end namespace registerfile 39 41 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_signal.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::vhdl_signal (Vhdl & vhdl)17 void RegisterFile_Monolithic::vhdl_signal (Vhdl & vhdl) 17 18 { 18 19 vhdl.set_signal ("reg_DATA", "Tregfile"); 19 20 }; 20 21 22 }; // end namespace registerfile_monolithic 21 23 }; // end namespace registerfile 22 24 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_testbench_port.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::vhdl_testbench_port (Vhdl_Testbench & vhdl_testbench)17 void RegisterFile_Monolithic::vhdl_testbench_port (Vhdl_Testbench & vhdl_testbench) 17 18 { 18 19 vhdl_testbench.set_port (" in_NRESET",IN ,1); … … 35 36 }; 36 37 38 }; // end namespace registerfile_monolithic 37 39 }; // end namespace registerfile 38 40 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_testbench_transition.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::vhdl_testbench_transition (Vhdl_Testbench & vhdl_testbench)17 void RegisterFile_Monolithic::vhdl_testbench_transition (Vhdl_Testbench & vhdl_testbench) 17 18 { 18 19 #ifndef SYSTEMCASS_SPECIFIC … … 41 42 }; 42 43 44 }; // end namespace registerfile_monolithic 43 45 }; // end namespace registerfile 44 46 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_type.cpp
r11 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/RegisterFile.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 void RegisterFile ::vhdl_type (Vhdl & vhdl)17 void RegisterFile_Monolithic::vhdl_type (Vhdl & vhdl) 17 18 { 18 19 vhdl.set_type ("Tregfile", "array (" + toString(_param._nb_word-1) + " downto 0) of " + std_logic(_param._size_word)); 19 20 }; 20 21 22 }; // end namespace registerfile_monolithic 21 23 }; // end namespace registerfile 22 24 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Statistics.cpp
r2 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace registerfile { 15 namespace registerfile_monolithic { 15 16 16 17 Statistics::Statistics (string name , … … 43 44 }; 44 45 46 }; // end namespace registerfile_monolithic 45 47 }; // end namespace registerfile 46 48 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Statistics_add.cpp
r2 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace registerfile { 18 namespace registerfile_monolithic { 18 19 19 20 void Statistics::add (uint32_t nb_read, … … 24 25 }; 25 26 27 }; // end namespace registerfile_monolithic 26 28 }; // end namespace registerfile 27 29 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Statistics_print.cpp
r2 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace registerfile { 18 namespace registerfile_monolithic { 18 19 19 20 string Statistics::print (uint32_t depth) … … 22 23 ostringstream msg; 23 24 24 msg << tab << "<registerfile name=\"" << _name << "\" >" << endl25 msg << tab << "<registerfile_monolithic name=\"" << _name << "\" >" << endl 25 26 << print_body(depth+1) 26 << tab << "</ registerfile>" << endl;27 << tab << "</RegisterFile_Monolithic>" << endl; 27 28 28 29 return msg.str(); … … 30 31 31 32 ostream& operator<< (ostream& output_stream , 32 morpheo::behavioural::generic::registerfile:: Statistics & x)33 morpheo::behavioural::generic::registerfile::registerfile_monolithic::Statistics & x) 33 34 { 34 35 output_stream << x.print(0); … … 37 38 }; 38 39 40 }; // end namespace registerfile_monolithic 39 41 }; // end namespace registerfile 40 42 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Statistics_print_body.cpp
r2 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile/ include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace registerfile { 18 namespace registerfile_monolithic { 18 19 19 20 string Statistics::print_body (uint32_t depth) … … 27 28 return msg.str(); 28 29 }; 30 31 }; // end namespace registerfile_monolithic 29 32 }; // end namespace registerfile 30 33 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/Makefile
r10 r15 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../.. 10 DIR_MORPHEO = ../../../.. 11 11 12 12 #-----[ Library ]------------------------------------------ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/Makefile.deps
r10 r15 18 18 $(Behavioural_LIBRARY) 19 19 20 RegisterFile_Multi_Banked_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile _Multi_Banked/lib \20 RegisterFile_Multi_Banked_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/lib \ 21 21 $(Behavioural_DIR_LIBRARY) 22 22 … … 25 25 RegisterFile_Multi_Banked_library : 26 26 @$(MAKE) Behavioural_library 27 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile _Multi_Banked --makefile=Makefile27 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked --makefile=Makefile 28 28 29 29 RegisterFile_Multi_Banked_library_clean : 30 30 @$(MAKE) Behavioural_library_clean 31 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile _Multi_Banked --makefile=Makefile clean31 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked --makefile=Makefile clean -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/Makefile
r10 r15 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../../.. 10 DIR_MORPHEO = ../../../../.. 11 11 12 12 #-----[ Library ]------------------------------------------ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/Makefile.deps
r10 r15 18 18 $(Behavioural_LIBRARY) 19 19 20 RegisterFile_Multi_Banked_Glue_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/lib \20 RegisterFile_Multi_Banked_Glue_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/lib \ 21 21 $(Behavioural_DIR_LIBRARY) 22 22 … … 25 25 RegisterFile_Multi_Banked_Glue_library : 26 26 @$(MAKE) Behavioural_library 27 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue --makefile=Makefile27 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue --makefile=Makefile 28 28 29 29 RegisterFile_Multi_Banked_Glue_library_clean : 30 30 @$(MAKE) Behavioural_library_clean 31 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue --makefile=Makefile clean31 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue --makefile=Makefile clean -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/Makefile
r10 r15 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../../../.. 10 DIR_MORPHEO = ../../../../../.. 11 11 12 12 LIBRARY = $(RegisterFile_Multi_Banked_Glue_LIBRARY) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/configuration.cfg
r10 r15 1 1 RegisterFile_Multi_Banked_Glue 2 2 8*2 # nb_port_read3 24 *2 # nb_port_write4 68 +1 # size_address2 4 4 *2 # nb_port_read 3 4 4 *2 # nb_port_write 4 8 8 +1 # size_address 5 5 32 32 *2 # size_word 6 6 2 2 *2 # nb_bank 7 2 2 *2 # nb_port_read_by_bank 8 2 2 *2 # nb_port_write_by_bank 9 0 1 +1 # crossbar -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/include/test.h
r10 r15 14 14 #include <iostream> 15 15 16 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"16 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 17 17 18 18 using namespace std; … … 20 20 using namespace morpheo::behavioural; 21 21 using namespace morpheo::behavioural::generic; 22 using namespace morpheo::behavioural::generic::registerfile_multi_banked; 22 using namespace morpheo::behavioural::generic::registerfile; 23 using namespace morpheo::behavioural::generic::registerfile::registerfile_multi_banked; 23 24 24 using namespace morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue;25 using namespace morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue; 25 26 26 27 void test (string name, 27 morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue::Parameters param);28 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters param); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/src/main.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/include/test.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/include/test.h" 9 9 10 10 #define NB_PARAMS 5 … … 14 14 cerr << "<Usage> " << argv[0] << " name_instance list_params" << endl 15 15 << "list_params is :" << endl 16 << " - nb_port_read (unsigned int)" << endl 17 << " - nb_port_write (unsigned int)" << endl 18 << " - size_address (unsigned int)" << endl 19 << " - size_word (unsigned int)" << endl 20 << " - nb_bank (unsigned int)" << endl 16 << " - nb_port_read (uint32_t )" << endl 17 << " - nb_port_write (uint32_t )" << endl 18 << " - size_address (uint32_t )" << endl 19 << " - size_word (uint32_t )" << endl 20 << " - nb_bank (uint32_t )" << endl 21 << " - nb_port_read_by_bank (uint32_t )" << endl 22 << " - nb_port_write_by_bank (uint32_t )" << endl 23 << " - crossbar (Tcrossbar_t)" << endl 21 24 << "" << endl; 22 25 … … 37 40 usage (argc, argv); 38 41 39 const string name = argv[1]; 40 const uint32_t nb_port_read = atoi(argv[2]); 41 const uint32_t nb_port_write = atoi(argv[3]); 42 const uint32_t size_address = atoi(argv[4]); 43 const uint32_t size_word = atoi(argv[5]); 44 const uint32_t nb_bank = atoi(argv[6]); 42 const string name = argv[1]; 43 const uint32_t nb_port_read = atoi(argv[2]); 44 const uint32_t nb_port_write = atoi(argv[3]); 45 const uint32_t size_address = atoi(argv[4]); 46 const uint32_t size_word = atoi(argv[5]); 47 const uint32_t nb_bank = atoi(argv[6]); 48 const uint32_t nb_port_read_by_bank = atoi(argv[7]); 49 const uint32_t nb_port_write_by_bank = atoi(argv[8]); 50 const Tcrossbar_t crossbar = fromString<Tcrossbar_t>(argv[9]); 45 51 46 52 try 47 53 { 48 morpheo::behavioural::generic::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters param (nb_port_read , 49 nb_port_write, 50 size_address , 51 size_word , 52 nb_bank ); 53 54 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters param (nb_port_read , 55 nb_port_write , 56 size_address , 57 size_word , 58 nb_bank , 59 nb_port_read_by_bank , 60 nb_port_write_by_bank, 61 crossbar ); 62 54 63 cout << param.print(1); 55 64 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/src/test.cpp
r10 r15 7 7 */ 8 8 9 #define NB_ITERATION 1 10 11 #include "Behavioural/Generic/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/include/test.h" 9 #define NB_ITERATION 16 10 11 #define LABEL(str) do {cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} " << str << endl; _RegisterFile_Multi_Banked_Glue->vhdl_testbench_label(str);} while (0) 12 13 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/SelfTest/include/test.h" 12 14 #include "Include/Test.h" 15 #include "Include/BitManipulation.h" 13 16 14 17 void test (string name, 15 morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue::Parameters _param)18 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters _param) 16 19 { 17 20 cout << "<" << name << "> : Simulation SystemC" << endl; … … 19 22 RegisterFile_Multi_Banked_Glue * _RegisterFile_Multi_Banked_Glue = new RegisterFile_Multi_Banked_Glue (name.c_str(), 20 23 #ifdef STATISTICS 21 24 morpheo::behavioural::Parameters_Statistics(5,50), 22 25 #endif 23 26 _param); 24 27 25 28 #ifdef SYSTEMC … … 33 36 sc_signal<Taddress_t> ** READ_IN_ADDRESS ; 34 37 sc_signal<Tdata_t > ** READ_IN_DATA ; 35 sc_signal<Tcontrol_t> 36 sc_signal<Tcontrol_t> 38 sc_signal<Tcontrol_t> **** READ_SELECT_VAL ; 39 sc_signal<Tcontrol_t> **** READ_SELECT_ACK ; 37 40 sc_signal<Tcontrol_t> *** READ_OUT_VAL ; 38 41 sc_signal<Tcontrol_t> *** READ_OUT_ACK ; … … 41 44 sc_signal<Tcontrol_t> ** WRITE_IN_VAL ; 42 45 sc_signal<Tcontrol_t> ** WRITE_IN_ACK ; 43 sc_signal<Tcontrol_t> ** WRITE_SELECT_VAL ;44 sc_signal<Tcontrol_t> ** WRITE_SELECT_ACK ;45 46 sc_signal<Taddress_t> ** WRITE_IN_ADDRESS ; 46 47 sc_signal<Tdata_t > ** WRITE_IN_DATA ; 48 sc_signal<Tcontrol_t> **** WRITE_SELECT_VAL ; 49 sc_signal<Tcontrol_t> **** WRITE_SELECT_ACK ; 47 50 sc_signal<Tcontrol_t> *** WRITE_OUT_VAL ; 48 51 sc_signal<Tcontrol_t> *** WRITE_OUT_ACK ; … … 58 61 READ_IN_ADDRESS = new sc_signal<Taddress_t> * [_param._nb_port_read]; 59 62 READ_IN_DATA = new sc_signal<Tdata_t > * [_param._nb_port_read]; 60 READ_SELECT_VAL = new sc_signal<Tcontrol_t> * [_param._nb_port_read];61 READ_SELECT_ACK = new sc_signal<Tcontrol_t> * [_param._nb_port_read];62 63 63 64 for (uint32_t i=0; i<_param._nb_port_read; i++) … … 71 72 rename = "READ_IN_DATA_"+toString(i)+" "; 72 73 READ_IN_DATA [i] = new sc_signal<Tdata_t > (rename.c_str()); 73 rename = "READ_SELECT_VAL_"+toString(i)+" "; 74 READ_SELECT_VAL [i] = new sc_signal<Tcontrol_t> (rename.c_str()); 75 rename = "READ_SELECT_ACK_"+toString(i)+" "; 76 READ_SELECT_ACK [i] = new sc_signal<Tcontrol_t> (rename.c_str()); 77 } 74 } 75 76 READ_SELECT_VAL = new sc_signal<Tcontrol_t> *** [_param._nb_bank]; 77 READ_SELECT_ACK = new sc_signal<Tcontrol_t> *** [_param._nb_bank]; 78 79 for (uint32_t i=0; i<_param._nb_bank; i++) 80 { 81 READ_SELECT_VAL [i] = new sc_signal<Tcontrol_t> ** [_param._nb_port_read_by_bank]; 82 READ_SELECT_ACK [i] = new sc_signal<Tcontrol_t> ** [_param._nb_port_read_by_bank]; 83 84 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 85 { 86 READ_SELECT_VAL [i][j] = new sc_signal<Tcontrol_t> * [_param._nb_port_select_by_bank_read_port [j]]; 87 READ_SELECT_ACK [i][j] = new sc_signal<Tcontrol_t> * [_param._nb_port_select_by_bank_read_port [j]]; 88 89 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port [j]; k++) 90 { 91 rename="READ_SELECT_VAL_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" "; 92 READ_SELECT_VAL [i][j][k] = new sc_signal<Tcontrol_t> (rename.c_str()); 93 94 rename="READ_SELECT_ACK_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" "; 95 READ_SELECT_ACK [i][j][k] = new sc_signal<Tcontrol_t> (rename.c_str()); 96 } 97 } 98 } 78 99 79 100 READ_OUT_VAL = new sc_signal<Tcontrol_t> ** [_param._nb_bank]; … … 106 127 WRITE_IN_ADDRESS = new sc_signal<Taddress_t> * [_param._nb_port_write]; 107 128 WRITE_IN_DATA = new sc_signal<Tdata_t > * [_param._nb_port_write]; 108 WRITE_SELECT_VAL = new sc_signal<Tcontrol_t> * [_param._nb_port_write];109 WRITE_SELECT_ACK = new sc_signal<Tcontrol_t> * [_param._nb_port_write];110 111 129 for (uint32_t i=0; i<_param._nb_port_write; i++) 112 130 { … … 119 137 rename = "WRITE_IN_DATA_"+toString(i)+" "; 120 138 WRITE_IN_DATA [i] = new sc_signal<Tdata_t > (rename.c_str()); 121 122 rename = "WRITE_SELECT_VAL_"+toString(i)+" "; 123 WRITE_SELECT_VAL [i] = new sc_signal<Tcontrol_t> (rename.c_str()); 124 rename = "WRITE_SELECT_ACK_"+toString(i)+" "; 125 WRITE_SELECT_ACK [i] = new sc_signal<Tcontrol_t> (rename.c_str()); 126 } 139 } 140 141 WRITE_SELECT_VAL = new sc_signal<Tcontrol_t> *** [_param._nb_bank]; 142 WRITE_SELECT_ACK = new sc_signal<Tcontrol_t> *** [_param._nb_bank]; 143 144 for (uint32_t i=0; i<_param._nb_bank; i++) 145 { 146 WRITE_SELECT_VAL [i] = new sc_signal<Tcontrol_t> ** [_param._nb_port_write_by_bank]; 147 WRITE_SELECT_ACK [i] = new sc_signal<Tcontrol_t> ** [_param._nb_port_write_by_bank]; 148 149 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 150 { 151 WRITE_SELECT_VAL [i][j] = new sc_signal<Tcontrol_t> * [_param._nb_port_select_by_bank_write_port [j]]; 152 WRITE_SELECT_ACK [i][j] = new sc_signal<Tcontrol_t> * [_param._nb_port_select_by_bank_write_port [j]]; 153 154 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port [j]; k++) 155 { 156 rename="WRITE_SELECT_VAL_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" "; 157 WRITE_SELECT_VAL [i][j][k] = new sc_signal<Tcontrol_t> (rename.c_str()); 158 159 rename="WRITE_SELECT_ACK_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" "; 160 WRITE_SELECT_ACK [i][j][k] = new sc_signal<Tcontrol_t> (rename.c_str()); 161 } 162 } 163 } 127 164 128 165 WRITE_OUT_VAL = new sc_signal<Tcontrol_t> ** [_param._nb_bank]; … … 165 202 (*(_RegisterFile_Multi_Banked_Glue-> in_READ_IN_ADDRESS [i])) (*(READ_IN_ADDRESS [i])); 166 203 (*(_RegisterFile_Multi_Banked_Glue->out_READ_IN_DATA [i])) (*(READ_IN_DATA [i])); 167 (*(_RegisterFile_Multi_Banked_Glue-> in_READ_SELECT_VAL [i])) (*(READ_SELECT_VAL [i])); 168 (*(_RegisterFile_Multi_Banked_Glue->out_READ_SELECT_ACK [i])) (*(READ_SELECT_ACK [i])); 169 } 204 } 205 206 for (uint32_t i=0; i<_param._nb_bank; i++) 207 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 208 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++) 209 { 210 (*(_RegisterFile_Multi_Banked_Glue->out_READ_SELECT_VAL [i][j][k])) (*(READ_SELECT_VAL [i][j][k])); 211 (*(_RegisterFile_Multi_Banked_Glue-> in_READ_SELECT_ACK [i][j][k])) (*(READ_SELECT_ACK [i][j][k])); 212 } 213 170 214 for (uint32_t i=0; i<_param._nb_bank; i++) 171 215 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) … … 183 227 (*(_RegisterFile_Multi_Banked_Glue-> in_WRITE_IN_ADDRESS [i])) (*(WRITE_IN_ADDRESS [i])); 184 228 (*(_RegisterFile_Multi_Banked_Glue-> in_WRITE_IN_DATA [i])) (*(WRITE_IN_DATA [i])); 185 (*(_RegisterFile_Multi_Banked_Glue-> in_WRITE_SELECT_VAL [i])) (*(WRITE_SELECT_VAL [i])); 186 (*(_RegisterFile_Multi_Banked_Glue->out_WRITE_SELECT_ACK [i])) (*(WRITE_SELECT_ACK [i])); 187 } 229 } 230 231 for (uint32_t i=0; i<_param._nb_bank; i++) 232 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 233 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port[j]; k++) 234 { 235 (*(_RegisterFile_Multi_Banked_Glue->out_WRITE_SELECT_VAL [i][j][k])) (*(WRITE_SELECT_VAL [i][j][k])); 236 (*(_RegisterFile_Multi_Banked_Glue-> in_WRITE_SELECT_ACK [i][j][k])) (*(WRITE_SELECT_ACK [i][j][k])); 237 } 188 238 189 239 for (uint32_t i=0; i<_param._nb_bank; i++) … … 197 247 198 248 249 cout << "<" << name << "> Start Simulation ............" << endl; 250 199 251 /******************************************************** 200 252 * Simulation - Begin 201 253 ********************************************************/ 202 254 203 cout << "<" << name << "> Start Simulation ............" << endl;204 255 // Initialisation 205 256 … … 210 261 211 262 sc_start(0); 212 _RegisterFile_Multi_Banked_Glue->vhdl_testbench_label("Initialisation"); 213 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} Initialisation" << endl; 214 215 216 _RegisterFile_Multi_Banked_Glue->vhdl_testbench_label("Loop of Test"); 217 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} Loop of Test" << endl; 263 264 LABEL("Initialisation"); 265 266 uint32_t read_in_num_bank [_param._nb_port_read]; // Number of bank 267 //Tcontrol_t read_in_valid [_param._nb_port_read]; 268 Tcontrol_t read_in_ack [_param._nb_port_read]; // to test 269 Tdata_t read_in_data [_param._nb_port_read]; // to test 270 Tcontrol_t read_out_val [_param._nb_bank][_param._nb_port_read_by_bank]; 271 Tcontrol_t read_out_ack [_param._nb_bank][_param._nb_port_read_by_bank]; 272 Taddress_t read_out_address [_param._nb_bank][_param._nb_port_read_by_bank]; 273 Tcontrol_t read_is_busy [_param._nb_port_read]; 274 Tcontrol_t read_select_val [_param._nb_bank][_param._nb_port_read ]; 275 Tcontrol_t read_select_ack [_param._nb_bank][_param._nb_port_read ]; 276 277 LABEL("Loop of Test"); 218 278 219 279 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) 220 280 { 221 _RegisterFile_Multi_Banked_Glue->vhdl_testbench_label("Iteration "+toString(iteration)); 222 281 LABEL("Iteration "+toString(iteration)); 282 283 LABEL("Test read_in"); 284 285 // Write in interface "read_in" 286 for (uint32_t i=0; i<_param._nb_port_read; i++) 287 { 288 read_in_num_bank [i] = rand() % _param._nb_bank; 289 Tcontrol_t read_in_valid = (rand() % 2) != 0; 290 291 Taddress_t address = (read_in_num_bank[i] << _param._shift_address) | (gen_mask<Taddress_t>(_param._size_address-_param._shift_address) & i); 292 293 read_is_busy [i] = (read_in_valid == 0); 294 read_in_ack [i] = 0; 295 read_in_data [i] = 0; 296 READ_IN_VAL [i]->write(read_in_valid); 297 READ_IN_ADDRESS [i]->write(address); 298 299 for (uint32_t j=0; j<_param._nb_bank; j++) 300 read_select_ack [j][i] = 0; 301 } 302 303 for (uint32_t i=0; i<_param._nb_bank; i++) 304 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 305 { 306 read_out_ack [i][j] = (rand() % 2) != 0; 307 READ_OUT_ACK [i][j]->write(read_out_ack [i][j]); 308 READ_OUT_DATA [i][j]->write((j<<1)|1); // (j<<1)|1 afin de n'avoir jamais 0 309 } 310 311 // compute the good read_select 312 for (uint32_t i=0; i<_param._nb_bank; i++) 313 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 314 { 315 bool find = false; // have find a port_in to link with this port_out 316 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++) 317 { 318 319 uint32_t num_port; // number of port 320 321 // compute the good number of port 322 if (_param._crossbar == FULL_CROSSBAR) 323 num_port = k; 324 else 325 num_port = _param._link_port_read [i]; 326 327 read_select_val [i][num_port] = read_out_ack [i][j] && not read_is_busy [num_port]; 328 329 if ((read_out_ack [i][j] == 0) || find) 330 read_select_ack [i][num_port] = 0; // read_out is busy or already find 331 else 332 { 333 // find a busy port? 334 find = not read_is_busy [num_port]; 335 read_is_busy [num_port]|= find; 336 read_select_ack [i][num_port] = find; 337 338 if (find) 339 { 340 read_in_ack [num_port] = 1; 341 read_in_data [num_port] = ((j<<1)|1); 342 read_out_val [i][j] = 1; 343 read_out_address [i][j] = (read_in_num_bank[i] << _param._shift_address) | (gen_mask<Taddress_t>(_param._size_address-_param._shift_address) & i); 344 } 345 } 346 347 READ_SELECT_ACK [i][j][k]->write(read_select_ack [i][num_port]); 348 } 349 } 350 351 // next cycle 223 352 sc_start(1); 353 354 // // lot of test 355 // public : SC_OUT(Tcontrol_t) ** out_READ_IN_ACK ; 356 // public : SC_OUT(Tdata_t ) ** out_READ_IN_DATA ; 357 358 // public : SC_OUT(Tcontrol_t) **** out_READ_SELECT_VAL ; 359 360 // public : SC_OUT(Tcontrol_t) *** out_READ_OUT_VAL ; 361 // public : SC_OUT(Taddress_t) *** out_READ_OUT_ADDRESS ; 362 224 363 } 225 364 … … 238 377 delete READ_IN_ADDRESS [i]; 239 378 delete READ_IN_DATA [i]; 240 delete READ_SELECT_VAL [i];241 delete READ_SELECT_ACK [i];242 379 } 243 380 … … 246 383 delete READ_IN_ADDRESS; 247 384 delete READ_IN_DATA ; 248 delete READ_SELECT_VAL; 249 delete READ_SELECT_ACK; 385 386 for (uint32_t i=0; i<_param._nb_bank; i++) 387 { 388 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 389 { 390 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++) 391 { 392 delete READ_SELECT_VAL [i][j][k]; 393 delete READ_SELECT_ACK [i][j][k]; 394 } 395 delete READ_SELECT_VAL [i][j]; 396 delete READ_SELECT_ACK [i][j]; 397 } 398 delete READ_SELECT_VAL [i]; 399 delete READ_SELECT_ACK [i]; 400 } 401 delete READ_SELECT_VAL; 402 delete READ_SELECT_ACK; 250 403 251 404 for (uint32_t i=0; i<_param._nb_bank; i++) … … 276 429 delete WRITE_IN_ADDRESS [i]; 277 430 delete WRITE_IN_DATA [i]; 278 delete WRITE_SELECT_VAL [i];279 delete WRITE_SELECT_ACK [i];280 431 } 281 432 … … 284 435 delete WRITE_IN_ADDRESS; 285 436 delete WRITE_IN_DATA ; 437 438 for (uint32_t i=0; i<_param._nb_bank; i++) 439 { 440 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 441 { 442 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port[j]; k++) 443 { 444 delete WRITE_SELECT_VAL [i][j][k]; 445 delete WRITE_SELECT_ACK [i][j][k]; 446 } 447 delete WRITE_SELECT_VAL [i][j]; 448 delete WRITE_SELECT_ACK [i][j]; 449 } 450 delete WRITE_SELECT_VAL [i]; 451 delete WRITE_SELECT_ACK [i]; 452 } 286 453 delete WRITE_SELECT_VAL; 287 454 delete WRITE_SELECT_ACK; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h
r10 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_Parameters_h2 #define morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_Parameters_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Parameters_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Parameters_h 3 3 4 4 /* … … 10 10 11 11 #include "Include/Debug.h" 12 #include "Include/FromString.h" 12 13 #include "Behavioural/include/Parameters.h" 13 14 #include <math.h> 14 15 15 16 namespace morpheo { 17 18 typedef enum {PARTIAL_CROSSBAR, 19 FULL_CROSSBAR } Tcrossbar_t; 20 21 template<> inline Tcrossbar_t fromString<Tcrossbar_t> (const std::string& x) 22 { 23 if ( (x.compare("0") == 0) or 24 (x.compare("PARTIAL_CROSSBAR") == 0)) 25 return PARTIAL_CROSSBAR; 26 if ( (x.compare("1") == 0) or 27 (x.compare("FULL_CROSSBAR" ) == 0)) 28 return FULL_CROSSBAR; 29 30 throw (ErrorMorpheo ("<fromString> : Unknow string : \""+x+"\"")); 31 } 32 33 template<> inline std::string toString<Tcrossbar_t> (const Tcrossbar_t& x) 34 { 35 ostringstream out; 36 37 if (x == PARTIAL_CROSSBAR) 38 out << "PARTIAL_CROSSBAR"; 39 if (x == FULL_CROSSBAR) 40 out << "FULL_CROSSBAR"; 41 42 return out.str(); 43 } 44 16 45 namespace behavioural { 17 46 namespace generic { 47 namespace registerfile{ 18 48 namespace registerfile_multi_banked { 19 49 namespace registerfile_multi_banked_glue { 20 21 50 22 51 class Parameters : public morpheo::behavioural::Parameters 23 52 { 24 53 //-----[ fields ]------------------------------------------------------------ 25 public : const uint32_t _nb_port_read ; 26 public : const uint32_t _nb_port_write ; 27 public : const uint32_t _size_address ; 28 public : const uint32_t _size_word ; 29 public : const uint32_t _nb_bank ; 54 public : const uint32_t _nb_port_read ; 55 public : const uint32_t _nb_port_write ; 56 public : const uint32_t _size_address ; 57 public : const uint32_t _size_word ; 58 public : const uint32_t _nb_bank ; 59 public : const uint32_t _nb_port_read_by_bank ; 60 public : const uint32_t _nb_port_write_by_bank; 61 public : const Tcrossbar_t _crossbar ; 30 62 31 public : const uint32_t _nb_port_read_by_bank ; 32 public : const uint32_t _nb_port_write_by_bank; 63 public : const uint32_t _shift_address ; 64 65 public : uint32_t * _link_port_read ; 66 public : uint32_t * _link_port_write ; 67 68 public : uint32_t * _nb_port_select_by_bank_read_port ; 69 public : uint32_t * _nb_port_select_by_bank_write_port; 33 70 34 71 //-----[ methods ]----------------------------------------------------------- 35 public : Parameters (uint32_t nb_port_read , 36 uint32_t nb_port_write, 37 uint32_t size_address , 38 uint32_t size_word , 39 uint32_t nb_bank ); 72 public : Parameters (uint32_t nb_port_read , 73 uint32_t nb_port_write , 74 uint32_t size_address , 75 uint32_t size_word , 76 uint32_t nb_bank , 77 uint32_t nb_port_read_by_bank , 78 uint32_t nb_port_write_by_bank, 79 Tcrossbar_t crossbar ); 80 40 81 public : Parameters (Parameters & param) ; 41 82 public : ~Parameters () ; … … 45 86 public : string print (uint32_t depth); 46 87 public : friend ostream& operator<< (ostream& output_stream, 47 morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue::Parameters & x);88 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters & x); 48 89 }; 49 90 50 91 }; // end namespace registerfile_multi_banked_glue 51 92 }; // end namespace registerfile_multi_banked 93 }; // end namespace registerfile 52 94 }; // end namespace generic 53 95 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h
r10 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_RegisterFile_Multi_Banked_Glue_h2 #define morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_RegisterFile_Multi_Banked_Glue_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_RegisterFile_Multi_Banked_Glue_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_RegisterFile_Multi_Banked_Glue_h 3 3 4 4 /* … … 17 17 #include "Include/Debug.h" 18 18 19 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h"20 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Types.h"21 #ifdef STATISTICS 22 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h"19 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h" 20 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Types.h" 21 #ifdef STATISTICS 22 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h" 23 23 #endif 24 24 #ifdef VHDL … … 34 34 namespace behavioural { 35 35 namespace generic { 36 namespace registerfile{ 36 37 namespace registerfile_multi_banked { 37 38 namespace registerfile_multi_banked_glue { … … 70 71 public : SC_OUT(Tdata_t ) ** out_READ_IN_DATA ; 71 72 72 public : SC_ IN (Tcontrol_t) ** in_READ_SELECT_VAL ;73 public : SC_ OUT(Tcontrol_t) ** out_READ_SELECT_ACK ;73 public : SC_OUT(Tcontrol_t) **** out_READ_SELECT_VAL ; 74 public : SC_IN (Tcontrol_t) **** in_READ_SELECT_ACK ; 74 75 75 76 public : SC_OUT(Tcontrol_t) *** out_READ_OUT_VAL ; … … 83 84 public : SC_IN (Tdata_t ) ** in_WRITE_IN_DATA ; 84 85 85 public : SC_ IN (Tcontrol_t) ** in_WRITE_SELECT_VAL ;86 public : SC_ OUT(Tcontrol_t) ** out_WRITE_SELECT_ACK ;86 public : SC_OUT(Tcontrol_t) **** out_WRITE_SELECT_VAL ; 87 public : SC_IN (Tcontrol_t) **** in_WRITE_SELECT_ACK ; 87 88 88 89 public : SC_OUT(Tcontrol_t) *** out_WRITE_OUT_VAL ; … … 124 125 public : void transition (void); 125 126 #endif 127 public : void genMealy_read_in (void); 128 public : void genMealy_read_out (void); 129 public : void genMealy_read_select (void); 126 130 127 131 #endif … … 145 149 }; // end namespace registerfile_multi_banked_glue 146 150 }; // end namespace registerfile_multi_banked 151 }; // end namespace registerfile 147 152 }; // end namespace generic 148 153 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h
r10 r15 1 1 #ifdef STATISTICS 2 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_Statistics_h3 #define morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_Statistics_h2 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Statistics_h 3 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Statistics_h 4 4 5 5 /* … … 14 14 #include "Behavioural/include/Parameters_Statistics.h" 15 15 //#include "Behavioural/Generic/Group/include/Statistics.h" 16 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h"16 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h" 17 17 18 18 //using namespace morpheo::behavioural::generic::group; … … 21 21 namespace behavioural { 22 22 namespace generic { 23 namespace registerfile{ 23 24 namespace registerfile_multi_banked { 24 25 namespace registerfile_multi_banked_glue { … … 49 50 }; // end namespace registerfile_multi_banked_glue 50 51 }; // end namespace registerfile_multi_banked 52 }; // end namespace registerfile 51 53 }; // end namespace generic 52 54 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Types.h
r10 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_Type_h2 #define morpheo_behavioural_generic_registerfile_ multi_banked_registerfile_multi_banked_glue_Type_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Type_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_registerfile_multi_banked_glue_Type_h 3 3 4 4 /* … … 14 14 namespace behavioural { 15 15 namespace generic { 16 namespace registerfile{ 16 17 namespace registerfile_multi_banked { 17 18 namespace registerfile_multi_banked_glue { … … 22 23 }; // end namespace registerfile_multi_banked_glue 23 24 }; // end namespace registerfile_multi_banked 25 }; // end namespace registerfile 24 26 }; // end namespace generic 25 27 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Parameters.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h" 9 9 10 10 namespace morpheo { 11 11 namespace behavioural { 12 12 namespace generic { 13 namespace registerfile{ 13 14 namespace registerfile_multi_banked { 14 15 namespace registerfile_multi_banked_glue { 15 16 16 Parameters::Parameters (uint32_t nb_port_read , 17 uint32_t nb_port_write, 18 uint32_t size_address , 19 uint32_t size_word , 20 uint32_t nb_bank ): 17 Parameters::Parameters (uint32_t nb_port_read , 18 uint32_t nb_port_write , 19 uint32_t size_address , 20 uint32_t size_word , 21 uint32_t nb_bank , 22 uint32_t nb_port_read_by_bank , 23 uint32_t nb_port_write_by_bank, 24 Tcrossbar_t crossbar ): 21 25 _nb_port_read (nb_port_read ), 22 26 _nb_port_write (nb_port_write ), … … 24 28 _size_word (size_word ), 25 29 _nb_bank (nb_bank ), 26 _nb_port_read_by_bank (nb_port_read /nb_bank), 27 _nb_port_write_by_bank (nb_port_write/nb_bank) 30 _nb_port_read_by_bank (nb_port_read_by_bank ), 31 _nb_port_write_by_bank (nb_port_write_by_bank), 32 _crossbar (crossbar ), 33 _shift_address (static_cast<uint32_t>(ceil(log2(_nb_bank)))) 28 34 { 29 35 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"Parameters","Begin"); 36 37 if (_crossbar == PARTIAL_CROSSBAR) 38 { 39 // All port_src is connected with one port_dest on each bank 40 41 _link_port_read = new uint32_t [_nb_port_read ]; 42 for (uint32_t i=0; i<_nb_port_read ; i++) 43 _link_port_read [i] = i%_nb_port_read_by_bank; 44 45 _link_port_write = new uint32_t [_nb_port_write]; 46 for (uint32_t i=0; i<_nb_port_write; i++) 47 _link_port_write [i] = i%_nb_port_write_by_bank; 48 } 49 // else : don't allocate 50 51 _nb_port_select_by_bank_read_port = new uint32_t [_nb_port_read_by_bank ]; 52 53 if (_crossbar == FULL_CROSSBAR) 54 // All port_src is connected with all port_dest on each bank 55 for (uint32_t i=0; i<_nb_port_read_by_bank ;i++) 56 _nb_port_select_by_bank_read_port [i] = _nb_port_read; 57 else 58 // All port_src is connected with one port_dest on each bank 59 { 60 for (uint32_t i=0; i<_nb_port_read_by_bank ;i++) 61 _nb_port_select_by_bank_read_port [i] = 0; 62 63 for (uint32_t i=0; i<_nb_port_read ;i++) 64 _nb_port_select_by_bank_read_port [_link_port_read [i]] ++; 65 } 66 67 _nb_port_select_by_bank_write_port = new uint32_t [_nb_port_write_by_bank]; 68 69 if (_crossbar == FULL_CROSSBAR) 70 // All port_src is connected with all port_dest on each bank 71 for (uint32_t i=0; i<_nb_port_write_by_bank ;i++) 72 _nb_port_select_by_bank_write_port [i] = _nb_port_write; 73 else 74 // All port_src is connected with one port_dest on each bank 75 { 76 for (uint32_t i=0; i<_nb_port_write_by_bank ;i++) 77 _nb_port_select_by_bank_write_port [i] = 0; 78 79 for (uint32_t i=0; i<_nb_port_write ;i++) 80 _nb_port_select_by_bank_write_port [_link_port_write[i]] ++; 81 } 82 30 83 test(); 31 84 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"Parameters","End"); … … 33 86 34 87 Parameters::Parameters (Parameters & param): 35 _nb_port_read (param._nb_port_read ), 36 _nb_port_write (param._nb_port_write), 37 _size_address (param._size_address ), 38 _size_word (param._size_word ), 39 _nb_bank (param._nb_bank ), 40 _nb_port_read_by_bank (param._nb_port_read ), 41 _nb_port_write_by_bank (param._nb_port_write) 88 _nb_port_read (param._nb_port_read ), 89 _nb_port_write (param._nb_port_write ), 90 _size_address (param._size_address ), 91 _size_word (param._size_word ), 92 _nb_bank (param._nb_bank ), 93 _nb_port_read_by_bank (param._nb_port_read_by_bank ), 94 _nb_port_write_by_bank (param._nb_port_write_by_bank), 95 _crossbar (param._crossbar ), 96 _shift_address (param._shift_address ) 42 97 { 43 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"Parameters","Begin"); 98 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"Parameters (copy)","Begin"); 99 100 _nb_port_select_by_bank_read_port = new uint32_t [_nb_port_read_by_bank ]; 101 for (uint32_t i=0; i<_nb_port_read_by_bank; i++) 102 _nb_port_select_by_bank_read_port [i] = param._nb_port_select_by_bank_read_port [i]; 103 104 _nb_port_select_by_bank_write_port = new uint32_t [_nb_port_write_by_bank ]; 105 for (uint32_t i=0; i<_nb_port_write_by_bank; i++) 106 _nb_port_select_by_bank_write_port[i] = param._nb_port_select_by_bank_write_port [i]; 107 44 108 test(); 45 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"Parameters ","End");109 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"Parameters (copy)","End"); 46 110 }; 47 111 … … 54 118 }; // end namespace registerfile_multi_banked_glue 55 119 }; // end namespace registerfile_multi_banked 120 }; // end namespace registerfile 56 121 }; // end namespace generic 57 122 }; // end namespace behavioural -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Parameters_msg_error.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h"9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Types.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h" 9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Types.h" 10 10 #include <sstream> 11 11 using namespace std; 12 12 13 namespace morpheo 13 namespace morpheo { 14 14 namespace behavioural { 15 15 namespace generic { 16 namespace registerfile{ 16 17 namespace registerfile_multi_banked { 17 18 namespace registerfile_multi_banked_glue { 18 19 19 20 20 string Parameters::msg_error(void) … … 24 24 string msg = ""; 25 25 26 if (_nb_port_read < _nb_port_read_by_bank) 27 { 28 msg += " - Each bank read's port must be higher at number of read port\n"; 29 msg += " * nb_port_read : " + toString(_nb_port_read ) + "\n"; 30 msg += " * nb_port_read_by_bank : " + toString(_nb_port_read_by_bank) + "\n"; 31 } 32 33 if (_nb_port_write < _nb_port_write_by_bank) 34 { 35 msg += " - Each bank write's port must be higher at number of write port\n"; 36 msg += " * nb_port_write : " + toString(_nb_port_write ) + "\n"; 37 msg += " * nb_port_write_by_bank : " + toString(_nb_port_write_by_bank) + "\n"; 38 } 39 40 if (_nb_bank < 1) 41 { 42 msg += " - nb_bank must be higher at 1\n"; 43 msg += " * nb_bank : " + toString(_nb_bank ) + "\n"; 44 } 45 26 46 return msg; 27 47 … … 31 51 }; // end namespace registerfile_multi_banked_glue 32 52 }; // end namespace registerfile_multi_banked 53 }; // end namespace registerfile 33 54 }; // end namespace generic 34 35 55 }; // end namespace behavioural 36 56 }; // end namespace morpheo -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Parameters_print.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Parameters.h" 9 9 #include "Behavioural/include/XML.h" 10 10 using namespace std; … … 13 13 namespace behavioural { 14 14 namespace generic { 15 namespace registerfile{ 15 16 namespace registerfile_multi_banked { 16 17 namespace registerfile_multi_banked_glue { … … 24 25 25 26 xml.balise_open("registerfile_multi_banked_glue"); 26 xml.singleton_begin("nb_port_read "); xml.attribut("value",toString(_nb_port_read )); xml.singleton_end(); 27 xml.singleton_begin("nb_port_write"); xml.attribut("value",toString(_nb_port_write)); xml.singleton_end(); 28 xml.singleton_begin("size_address "); xml.attribut("value",toString(_size_address )); xml.singleton_end(); 29 xml.singleton_begin("size_word "); xml.attribut("value",toString(_size_word )); xml.singleton_end(); 30 xml.singleton_begin("nb_bank "); xml.attribut("value",toString(_nb_bank )); xml.singleton_end(); 27 xml.singleton_begin("nb_port_read "); xml.attribut("value",toString(_nb_port_read )); xml.singleton_end(); 28 xml.singleton_begin("nb_port_write "); xml.attribut("value",toString(_nb_port_write )); xml.singleton_end(); 29 xml.singleton_begin("size_address "); xml.attribut("value",toString(_size_address )); xml.singleton_end(); 30 xml.singleton_begin("size_word "); xml.attribut("value",toString(_size_word )); xml.singleton_end(); 31 xml.singleton_begin("nb_bank "); xml.attribut("value",toString(_nb_bank )); xml.singleton_end(); 32 xml.singleton_begin("nb_port_read_by_bank "); xml.attribut("value",toString(_nb_port_read_by_bank )); xml.singleton_end(); 33 xml.singleton_begin("nb_port_write_by_bank"); xml.attribut("value",toString(_nb_port_write_by_bank)); xml.singleton_end(); 34 xml.singleton_begin("crossbar "); xml.attribut("value",toString(_crossbar )); xml.singleton_end(); 31 35 xml.balise_close(); 32 36 … … 37 41 38 42 ostream& operator<< (ostream& output_stream , 39 morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue::Parameters & x)43 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters & x) 40 44 { 41 45 output_stream << x.print(0); … … 46 50 }; // end namespace registerfile_multi_banked_glue 47 51 }; // end namespace registerfile_multi_banked 52 }; // end namespace registerfile 48 53 }; // end namespace generic 49 54 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 9 9 10 10 namespace morpheo { 11 11 namespace behavioural { 12 12 namespace generic { 13 namespace registerfile{ 13 14 namespace registerfile_multi_banked { 14 15 namespace registerfile_multi_banked_glue { … … 23 24 morpheo::behavioural::Parameters_Statistics param_statistics, 24 25 #endif 25 morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue::Parameters param ):26 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Parameters param ): 26 27 _name (name) 27 28 ,_param (param) … … 66 67 allocation (); 67 68 68 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)69 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 69 70 log_printf(INFO,RegisterFile_Multi_Banked_Glue,"RegisterFile_Multi_Banked_Glue","Method - transition"); 70 71 … … 72 73 dont_initialize (); 73 74 sensitive_pos << *(in_CLOCK); 74 //#endif 75 #endif 76 77 log_printf(INFO,RegisterFile_Multi_Banked_Glue,"RegisterFile_Multi_Banked_Glue","Method - transition"); 78 79 SC_METHOD (genMealy_read_in); 80 dont_initialize (); 81 for (uint32_t l=0; l<_param._nb_port_read; l++) 82 sensitive << (*(in_READ_IN_ADDRESS [l])); 83 for (uint32_t i=0; i<_param._nb_bank; i++) 84 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 85 { 86 sensitive << (*(in_READ_OUT_ACK [i][j])) 87 << (*(in_READ_OUT_DATA [i][j])); 88 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++) 89 sensitive << (*(in_READ_SELECT_ACK [i][j][k])); 90 } 75 91 76 92 #ifdef SYSTEMCASS_SPECIFIC 77 93 // List dependency information 94 for (uint32_t l=0; l<_param._nb_port_read; l++) 95 { 96 (*(out_READ_IN_ACK [l])) (*(in_READ_IN_ADDRESS [l])); 97 (*(out_READ_IN_DATA [l])) (*(in_READ_IN_ADDRESS [l])); 98 99 for (uint32_t i=0; i<_param._nb_bank; i++) 100 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 101 { 102 (*(out_READ_IN_ACK [l])) (*(in_READ_OUT_ACK [i][j])); 103 (*(out_READ_IN_DATA [l])) (*(in_READ_OUT_DATA [i][j])); 104 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++) 105 { 106 (*(out_READ_IN_ACK [l])) (*(in_READ_SELECT_ACK [i][j][k])); 107 (*(out_READ_IN_DATA [l])) (*(in_READ_SELECT_ACK [i][j][k])); 108 } 109 } 110 } 78 111 #endif 79 112 … … 113 146 }; // end namespace registerfile_multi_banked_glue 114 147 }; // end namespace registerfile_multi_banked 148 }; // end namespace registerfile 115 149 }; // end namespace generic 116 150 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_allocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 30 31 in_READ_IN_ADDRESS = new SC_IN (Taddress_t) * [_param._nb_port_read]; 31 32 out_READ_IN_DATA = new SC_OUT(Tdata_t ) * [_param._nb_port_read]; 32 in_READ_SELECT_VAL = new SC_IN (Tcontrol_t) * [_param._nb_port_read];33 out_READ_SELECT_ACK = new SC_OUT(Tcontrol_t) * [_param._nb_port_read];34 33 35 34 for (uint32_t i=0; i<_param._nb_port_read; i++) … … 46 45 rename = "out_READ_IN_DATA_"+toString(i)+" "; 47 46 out_READ_IN_DATA [i] = new SC_OUT(Tdata_t ) (rename.c_str()); 48 49 rename = " in_READ_SELECT_VAL_"+toString(i)+" ";50 in_READ_SELECT_VAL [i] = new SC_IN (Tcontrol_t) (rename.c_str());51 52 rename = "out_READ_SELECT_ACK_"+toString(i)+" ";53 out_READ_SELECT_ACK [i] = new SC_OUT(Tcontrol_t) (rename.c_str());54 47 } 55 48 56 out_READ_OUT_VAL = new SC_OUT(Tcontrol_t) ** [_param._nb_bank]; 57 in_READ_OUT_ACK = new SC_IN (Tcontrol_t) ** [_param._nb_bank]; 58 out_READ_OUT_ADDRESS = new SC_OUT(Taddress_t) ** [_param._nb_bank]; 59 in_READ_OUT_DATA = new SC_IN (Tdata_t ) ** [_param._nb_bank]; 49 out_READ_SELECT_VAL = new SC_OUT(Tcontrol_t) *** [_param._nb_bank]; 50 in_READ_SELECT_ACK = new SC_IN (Tcontrol_t) *** [_param._nb_bank]; 51 52 for (uint32_t i=0; i<_param._nb_bank; i++) 53 { 54 out_READ_SELECT_VAL [i] = new SC_OUT(Tcontrol_t) ** [_param._nb_port_read_by_bank]; 55 in_READ_SELECT_ACK [i] = new SC_IN (Tcontrol_t) ** [_param._nb_port_read_by_bank]; 56 57 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 58 { 59 out_READ_SELECT_VAL [i][j] = new SC_OUT(Tcontrol_t) * [_param._nb_port_select_by_bank_read_port [j]]; 60 in_READ_SELECT_ACK [i][j] = new SC_IN (Tcontrol_t) * [_param._nb_port_select_by_bank_read_port [j]]; 61 62 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port [j]; k++) 63 { 64 rename="out_READ_SELECT_VAL_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" "; 65 out_READ_SELECT_VAL [i][j][k] = new SC_OUT(Tcontrol_t) (rename.c_str()); 66 67 rename=" in_READ_SELECT_ACK_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" "; 68 in_READ_SELECT_ACK [i][j][k] = new SC_IN (Tcontrol_t) (rename.c_str()); 69 } 70 } 71 } 72 73 out_READ_OUT_VAL = new SC_OUT(Tcontrol_t) ** [_param._nb_bank]; 74 in_READ_OUT_ACK = new SC_IN (Tcontrol_t) ** [_param._nb_bank]; 75 out_READ_OUT_ADDRESS = new SC_OUT(Taddress_t) ** [_param._nb_bank]; 76 in_READ_OUT_DATA = new SC_IN (Tdata_t ) ** [_param._nb_bank]; 60 77 61 78 for (uint32_t i=0; i<_param._nb_bank; i++) … … 87 104 in_WRITE_IN_ADDRESS = new SC_IN (Taddress_t) * [_param._nb_port_write]; 88 105 in_WRITE_IN_DATA = new SC_IN (Tdata_t ) * [_param._nb_port_write]; 89 in_WRITE_SELECT_VAL = new SC_IN (Tcontrol_t) * [_param._nb_port_write];90 out_WRITE_SELECT_ACK = new SC_OUT(Tcontrol_t) * [_param._nb_port_write];91 106 92 107 for (uint32_t i=0; i<_param._nb_port_write; i++) … … 103 118 rename = " in_WRITE_IN_DATA_"+toString(i)+" "; 104 119 in_WRITE_IN_DATA [i] = new SC_IN (Tdata_t ) (rename.c_str()); 105 106 rename = " in_WRITE_SELECT_VAL_"+toString(i)+" ";107 in_WRITE_SELECT_VAL [i] = new SC_IN (Tcontrol_t) (rename.c_str());108 109 rename = "out_WRITE_SELECT_ACK_"+toString(i)+" ";110 out_WRITE_SELECT_ACK [i] = new SC_OUT(Tcontrol_t) (rename.c_str());111 120 } 112 121 122 out_WRITE_SELECT_VAL = new SC_OUT(Tcontrol_t) *** [_param._nb_bank]; 123 in_WRITE_SELECT_ACK = new SC_IN (Tcontrol_t) *** [_param._nb_bank]; 124 125 for (uint32_t i=0; i<_param._nb_bank; i++) 126 { 127 out_WRITE_SELECT_VAL [i] = new SC_OUT(Tcontrol_t) ** [_param._nb_port_write_by_bank]; 128 in_WRITE_SELECT_ACK [i] = new SC_IN (Tcontrol_t) ** [_param._nb_port_write_by_bank]; 129 130 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 131 { 132 out_WRITE_SELECT_VAL [i][j] = new SC_OUT(Tcontrol_t) * [_param._nb_port_select_by_bank_write_port [j]]; 133 in_WRITE_SELECT_ACK [i][j] = new SC_IN (Tcontrol_t) * [_param._nb_port_select_by_bank_write_port [j]]; 134 135 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port [j]; k++) 136 { 137 rename="out_WRITE_SELECT_VAL_"+toString(i)+"_"+toString(j)+"_"+toString(k)+""; 138 out_WRITE_SELECT_VAL [i][j][k] = new SC_OUT(Tcontrol_t) (rename.c_str()); 139 140 rename=" in_WRITE_SELECT_ACK_"+toString(i)+"_"+toString(j)+"_"+toString(k)+""; 141 in_WRITE_SELECT_ACK [i][j][k] = new SC_IN (Tcontrol_t) (rename.c_str()); 142 } 143 } 144 } 113 145 114 146 out_WRITE_OUT_VAL = new SC_OUT(Tcontrol_t) ** [_param._nb_bank]; … … 147 179 }; // end namespace registerfile_multi_banked_glue 148 180 }; // end namespace registerfile_multi_banked 181 }; // end namespace registerfile 149 182 }; // end namespace generic 150 183 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_deallocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 29 30 delete in_READ_IN_ADDRESS [i]; 30 31 delete out_READ_IN_DATA [i]; 31 delete in_READ_SELECT_VAL [i];32 delete out_READ_SELECT_ACK [i];33 32 } 34 33 … … 37 36 delete in_READ_IN_ADDRESS; 38 37 delete out_READ_IN_DATA ; 39 delete in_READ_SELECT_VAL; 40 delete out_READ_SELECT_ACK; 41 42 for (uint32_t i=0; i<_param._nb_bank; i++) 38 39 for (uint32_t i=0; i<_param._nb_bank; i++) 40 { 41 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 42 { 43 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++) 44 { 45 delete out_READ_SELECT_VAL [i][j][k]; 46 delete in_READ_SELECT_ACK [i][j][k]; 47 } 48 delete out_READ_SELECT_VAL [i][j]; 49 delete in_READ_SELECT_ACK [i][j]; 50 } 51 delete out_READ_SELECT_VAL [i]; 52 delete in_READ_SELECT_ACK [i]; 53 } 54 delete out_READ_SELECT_VAL; 55 delete in_READ_SELECT_ACK; 56 57 for (uint32_t i=0; i<_param._nb_bank; i++) 43 58 { 44 59 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) … … 67 82 delete in_WRITE_IN_ADDRESS [i]; 68 83 delete in_WRITE_IN_DATA [i]; 69 delete in_WRITE_SELECT_VAL [i];70 delete out_WRITE_SELECT_ACK [i];71 84 } 72 85 … … 75 88 delete in_WRITE_IN_ADDRESS; 76 89 delete in_WRITE_IN_DATA ; 77 delete in_WRITE_SELECT_VAL; 78 delete out_WRITE_SELECT_ACK; 90 91 for (uint32_t i=0; i<_param._nb_bank; i++) 92 { 93 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 94 { 95 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port[j]; k++) 96 { 97 delete out_WRITE_SELECT_VAL [i][j][k]; 98 delete in_WRITE_SELECT_ACK [i][j][k]; 99 } 100 delete out_WRITE_SELECT_VAL [i][j]; 101 delete in_WRITE_SELECT_ACK [i][j]; 102 } 103 delete out_WRITE_SELECT_VAL [i]; 104 delete in_WRITE_SELECT_ACK [i]; 105 } 106 delete out_WRITE_SELECT_VAL; 107 delete in_WRITE_SELECT_ACK; 79 108 80 109 for (uint32_t i=0; i<_param._nb_bank; i++) … … 106 135 }; // end namespace registerfile_multi_banked_glue 107 136 }; // end namespace registerfile_multi_banked 137 }; // end namespace registerfile 108 138 }; // end namespace generic 109 139 }; // end namespace behavioural -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 29 30 }; // end namespace registerfile_multi_banked_glue 30 31 }; // end namespace registerfile_multi_banked 32 }; // end namespace registerfile 31 33 }; // end namespace generic 32 34 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_transition.cpp
r10 r15 1 1 #ifdef SYSTEMC 2 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)2 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 3 3 /* 4 4 * $Id$ … … 8 8 */ 9 9 10 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"10 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 11 11 12 12 namespace morpheo { 13 13 namespace behavioural { 14 14 namespace generic { 15 namespace registerfile{ 15 16 namespace registerfile_multi_banked { 16 17 namespace registerfile_multi_banked_glue { … … 34 35 }; // end namespace registerfile_multi_banked_glue 35 36 }; // end namespace registerfile_multi_banked 37 }; // end namespace registerfile 36 38 }; // end namespace generic 37 38 39 }; // end namespace behavioural 39 40 }; // end namespace morpheo 40 41 #endif 41 //#endif42 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_vhdl.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 #include "Behavioural/include/Vhdl.h" 11 11 … … 13 13 namespace behavioural { 14 14 namespace generic { 15 namespace registerfile{ 15 16 namespace registerfile_multi_banked { 16 17 namespace registerfile_multi_banked_glue { … … 35 36 }; // end namespace registerfile_multi_banked_glue 36 37 }; // end namespace registerfile_multi_banked 38 }; // end namespace registerfile 37 39 }; // end namespace generic 38 40 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_vhdl_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 25 26 }; // end namespace registerfile_multi_banked_glue 26 27 }; // end namespace registerfile_multi_banked 28 }; // end namespace registerfile 27 29 }; // end namespace generic 28 30 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_vhdl_declaration.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 24 25 }; // end namespace registerfile_multi_banked_glue 25 26 }; // end namespace registerfile_multi_banked 27 }; // end namespace registerfile 26 28 }; // end namespace generic 27 29 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_vhdl_port.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 #ifdef VHDL_TESTBENCH … … 18 18 namespace behavioural { 19 19 namespace generic { 20 namespace registerfile{ 20 21 namespace registerfile_multi_banked { 21 22 namespace registerfile_multi_banked_glue { … … 26 27 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"vhdl_port","Begin"); 27 28 29 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","Interface READ_IN"); 28 30 for (uint32_t i=0; i<_param._nb_port_read; i++) 29 31 { … … 32 34 VHDL_SET_PORT(" in_READ_IN_ADDRESS_"+toString(i)+" ", IN, _param._size_address); 33 35 VHDL_SET_PORT("out_READ_IN_DATA_"+toString(i)+" ",OUT, _param._size_word ); 34 VHDL_SET_PORT(" in_READ_SELECT_VAL_"+toString(i)+" ", IN, 1);35 VHDL_SET_PORT("out_READ_SELECT_ACK_"+toString(i)+" ",OUT, 1);36 36 } 37 37 38 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","Interface READ_SELECT"); 39 40 for (uint32_t i=0; i<_param._nb_bank; i++) 41 { 42 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","READ_SELECT[%d]",i); 43 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 44 { 45 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","READ_SELECT[%d][%d]",i,j); 46 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port [j]; k++) 47 { 48 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","READ_SELECT[%d][%d][%d]",i,j,k); 49 VHDL_SET_PORT("out_READ_SELECT_VAL_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" ",OUT, 1); 50 VHDL_SET_PORT(" in_READ_SELECT_ACK_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" ", IN, 1); 51 } 52 } 53 } 54 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","Interface READ_OUT"); 55 38 56 for (uint32_t i=0; i<_param._nb_bank; i++) 39 { 40 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 41 { 42 VHDL_SET_PORT("out_READ_OUT_VAL_"+toString(i)+"_"+toString(j)+" ",OUT, 1); 43 VHDL_SET_PORT(" in_READ_OUT_ACK_"+toString(i)+"_"+toString(j)+" ", IN, 1); 44 VHDL_SET_PORT("out_READ_OUT_ADDRESS_"+toString(i)+"_"+toString(j)+" ",OUT, _param._size_address); 45 VHDL_SET_PORT(" in_READ_OUT_DATA_"+toString(i)+"_"+toString(j)+" ", IN, _param._size_word ); 46 } 47 } 57 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 58 { 59 VHDL_SET_PORT("out_READ_OUT_VAL_"+toString(i)+"_"+toString(j)+" ",OUT, 1); 60 VHDL_SET_PORT(" in_READ_OUT_ACK_"+toString(i)+"_"+toString(j)+" ", IN, 1); 61 VHDL_SET_PORT("out_READ_OUT_ADDRESS_"+toString(i)+"_"+toString(j)+" ",OUT, _param._size_address); 62 VHDL_SET_PORT(" in_READ_OUT_DATA_"+toString(i)+"_"+toString(j)+" ", IN, _param._size_word ); 63 } 48 64 65 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","Interface WRITE_IN"); 66 49 67 for (uint32_t i=0; i<_param._nb_port_write; i++) 50 68 { … … 53 71 VHDL_SET_PORT(" in_WRITE_IN_ADDRESS_"+toString(i)+" ", IN, _param._size_address); 54 72 VHDL_SET_PORT(" in_WRITE_IN_DATA_"+toString(i)+" ", IN, _param._size_word ); 55 VHDL_SET_PORT(" in_WRITE_SELECT_VAL_"+toString(i)+" ", IN, 1);56 VHDL_SET_PORT("out_WRITE_SELECT_ACK_"+toString(i)+" ",OUT, 1);57 73 } 58 74 59 for (uint32_t i=0; i<_param._nb_bank; i++) 60 { 61 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 62 { 63 VHDL_SET_PORT("out_WRITE_OUT_VAL_"+toString(i)+"_"+toString(j)+" ",OUT, 1); 64 VHDL_SET_PORT(" in_WRITE_OUT_ACK_"+toString(i)+"_"+toString(j)+" ", IN, 1); 65 VHDL_SET_PORT("out_WRITE_OUT_ADDRESS_"+toString(i)+"_"+toString(j)+" ",OUT, _param._size_address); 66 VHDL_SET_PORT("out_WRITE_OUT_DATA_"+toString(i)+"_"+toString(j)+" ",OUT, _param._size_word ); 67 } 68 } 75 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","Interface WRITE_SELECT"); 76 77 for (uint32_t i=0; i<_param._nb_bank; i++) 78 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 79 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port [j]; k++) 80 { 81 VHDL_SET_PORT("out_WRITE_SELECT_VAL_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" ",OUT, 1); 82 VHDL_SET_PORT(" in_WRITE_SELECT_ACK_"+toString(i)+"_"+toString(j)+"_"+toString(k)+" ", IN, 1); 83 } 84 85 log_printf(TRACE,RegisterFile_Multi_Banked_Glue,"vhdl_port","Interface WRITE_OUT"); 86 87 for (uint32_t i=0; i<_param._nb_bank; i++) 88 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 89 { 90 VHDL_SET_PORT("out_WRITE_OUT_VAL_"+toString(i)+"_"+toString(j)+" ",OUT, 1); 91 VHDL_SET_PORT(" in_WRITE_OUT_ACK_"+toString(i)+"_"+toString(j)+" ", IN, 1); 92 VHDL_SET_PORT("out_WRITE_OUT_ADDRESS_"+toString(i)+"_"+toString(j)+" ",OUT, _param._size_address); 93 VHDL_SET_PORT("out_WRITE_OUT_DATA_"+toString(i)+"_"+toString(j)+" ",OUT, _param._size_word ); 94 } 69 95 70 96 log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"vhdl_port","End"); … … 73 99 }; // end namespace registerfile_multi_banked_glue 74 100 }; // end namespace registerfile_multi_banked 101 }; // end namespace registerfile 75 102 }; // end namespace generic 76 103 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_vhdl_testbench_label.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 9 9 10 10 namespace morpheo { 11 11 namespace behavioural { 12 12 namespace generic { 13 namespace registerfile{ 13 14 namespace registerfile_multi_banked { 14 15 namespace registerfile_multi_banked_glue { … … 28 29 }; // end namespace registerfile_multi_banked_glue 29 30 }; // end namespace registerfile_multi_banked 31 }; // end namespace registerfile 30 32 }; // end namespace generic 31 33 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/RegisterFile_Multi_Banked_Glue_vhdl_testbench_transition.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 35 36 _vhdl_testbench->add_input (PORT_READ( in_READ_IN_ADDRESS [i])); 36 37 _vhdl_testbench->add_input (PORT_READ(out_READ_IN_DATA [i])); 37 _vhdl_testbench->add_input (PORT_READ( in_READ_SELECT_VAL [i]));38 _vhdl_testbench->add_output(PORT_READ(out_READ_SELECT_ACK [i]));39 38 } 40 39 40 for (uint32_t i=0; i<_param._nb_bank; i++) 41 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) 42 for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port [j]; k++) 43 { 44 _vhdl_testbench->add_output(PORT_READ(out_READ_SELECT_VAL [i][j][k])); 45 _vhdl_testbench->add_input (PORT_READ( in_READ_SELECT_ACK [i][j][k])); 46 } 47 41 48 for (uint32_t i=0; i<_param._nb_bank; i++) 42 49 for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++) … … 54 61 _vhdl_testbench->add_input (PORT_READ( in_WRITE_IN_ADDRESS [i])); 55 62 _vhdl_testbench->add_input (PORT_READ( in_WRITE_IN_DATA [i])); 56 _vhdl_testbench->add_input (PORT_READ( in_WRITE_SELECT_VAL [i]));57 _vhdl_testbench->add_output(PORT_READ(out_WRITE_SELECT_ACK [i]));58 63 } 64 65 for (uint32_t i=0; i<_param._nb_bank; i++) 66 for (uint32_t j=0; j<_param._nb_port_write_by_bank; j++) 67 for (uint32_t k=0; k<_param._nb_port_select_by_bank_write_port [j]; k++) 68 { 69 _vhdl_testbench->add_output(PORT_READ(out_WRITE_SELECT_VAL [i][j][k])); 70 _vhdl_testbench->add_input (PORT_READ( in_WRITE_SELECT_ACK [i][j][k])); 71 } 59 72 60 73 for (uint32_t i=0; i<_param._nb_bank; i++) … … 80 93 }; // end namespace registerfile_multi_banked_glue 81 94 }; // end namespace registerfile_multi_banked 95 }; // end namespace registerfile 82 96 }; // end namespace generic 83 97 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 namespace registerfile_multi_banked_glue { … … 36 37 }; // end namespace registerfile_multi_banked_glue 37 38 }; // end namespace registerfile_multi_banked 39 }; // end namespace registerfile 38 40 }; // end namespace generic 39 41 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Statistics_add.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h" 10 10 11 11 #include <sstream> … … 15 15 namespace behavioural { 16 16 namespace generic { 17 namespace registerfile{ 17 18 namespace registerfile_multi_banked { 18 19 namespace registerfile_multi_banked_glue { … … 27 28 }; // end namespace registerfile_multi_banked_glue 28 29 }; // end namespace registerfile_multi_banked 30 }; // end namespace registerfile 29 31 }; // end namespace generic 30 32 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Statistics_print.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h" 10 10 11 11 #include <sstream> … … 15 15 namespace behavioural { 16 16 namespace generic { 17 namespace registerfile{ 17 18 namespace registerfile_multi_banked { 18 19 namespace registerfile_multi_banked_glue { … … 36 37 37 38 ostream& operator<< (ostream& output_stream , 38 morpheo::behavioural::generic::registerfile _multi_banked::registerfile_multi_banked_glue::Statistics & x)39 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::registerfile_multi_banked_glue::Statistics & x) 39 40 { 40 41 output_stream << x.print(0); … … 45 46 }; // end namespace registerfile_multi_banked_glue 46 47 }; // end namespace registerfile_multi_banked 48 }; // end namespace registerfile 47 49 }; // end namespace generic 48 50 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/src/Statistics_print_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/Statistics.h" 10 10 11 11 #include <sstream> … … 15 15 namespace behavioural { 16 16 namespace generic { 17 namespace registerfile{ 17 18 namespace registerfile_multi_banked { 18 19 namespace registerfile_multi_banked_glue { … … 35 36 }; // end namespace registerfile_multi_banked_glue 36 37 }; // end namespace registerfile_multi_banked 38 }; // end namespace registerfile 37 39 }; // end namespace generic 38 40 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/Makefile
r10 r15 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../../.. 10 DIR_MORPHEO = ../../../../.. 11 11 12 12 LIBRARY = $(RegisterFile_Multi_Banked_LIBRARY) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/include/test.h
r10 r15 14 14 #include <iostream> 15 15 16 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"16 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 17 17 18 18 using namespace std; … … 20 20 using namespace morpheo::behavioural; 21 21 using namespace morpheo::behavioural::generic; 22 23 using namespace morpheo::behavioural::generic::registerfile _multi_banked;22 using namespace morpheo::behavioural::generic::registerfile; 23 using namespace morpheo::behavioural::generic::registerfile::registerfile_multi_banked; 24 24 25 25 void test (string name, 26 morpheo::behavioural::generic::registerfile _multi_banked::Parameters param);26 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters param); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/src/main.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/SelfTest/include/test.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/include/test.h" 9 9 10 10 #define NB_PARAMS 5 … … 46 46 try 47 47 { 48 morpheo::behavioural::generic::registerfile _multi_banked::Parameters param (nb_port_read ,49 50 51 52 48 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters param (nb_port_read , 49 nb_port_write, 50 nb_word , 51 size_word , 52 nb_bank ); 53 53 54 54 cout << param.print(1); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/src/test.cpp
r10 r15 9 9 #define NB_ITERATION 1 10 10 11 #include "Behavioural/Generic/RegisterFile _Multi_Banked/SelfTest/include/test.h"11 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/include/test.h" 12 12 #include "Include/Test.h" 13 13 14 14 void test (string name, 15 morpheo::behavioural::generic::registerfile _multi_banked::Parameters _param)15 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters _param) 16 16 { 17 17 cout << "<" << name << "> : Simulation SystemC" << endl; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h
r10 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_Parameters_h2 #define morpheo_behavioural_generic_registerfile_ multi_banked_Parameters_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Parameters_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Parameters_h 3 3 4 4 /* … … 16 16 namespace behavioural { 17 17 namespace generic { 18 namespace registerfile { 18 19 namespace registerfile_multi_banked { 19 20 … … 43 44 public : string print (uint32_t depth); 44 45 public : friend ostream& operator<< (ostream& output_stream, 45 morpheo::behavioural::generic::registerfile _multi_banked::Parameters & x);46 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x); 46 47 }; 47 48 48 49 }; // end namespace registerfile_multi_banked 50 }; // end namespace registerfile 49 51 }; // end namespace generic 50 52 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h
r10 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_RegisterFile_Multi_Banked_h2 #define morpheo_behavioural_generic_registerfile_ multi_banked_RegisterFile_Multi_Banked_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_RegisterFile_Multi_Banked_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_RegisterFile_Multi_Banked_h 3 3 4 4 /* … … 17 17 #include "Include/Debug.h" 18 18 19 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Parameters.h"20 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Types.h"19 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h" 20 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h" 21 21 #ifdef STATISTICS 22 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Statistics.h"22 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h" 23 23 #endif 24 24 #ifdef VHDL … … 34 34 namespace behavioural { 35 35 namespace generic { 36 namespace registerfile { 36 37 namespace registerfile_multi_banked { 37 38 … … 129 130 130 131 }; // end namespace registerfile_multi_banked 132 }; // end namespace registerfile 131 133 }; // end namespace generic 132 134 }; // end namespace behavioural -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h
r10 r15 1 1 #ifdef STATISTICS 2 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_Statistics_h3 #define morpheo_behavioural_generic_registerfile_ multi_banked_Statistics_h2 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Statistics_h 3 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Statistics_h 4 4 5 5 /* … … 14 14 #include "Behavioural/include/Parameters_Statistics.h" 15 15 //#include "Behavioural/Generic/Group/include/Statistics.h" 16 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Parameters.h"16 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h" 17 17 18 18 //using namespace morpheo::behavioural::generic::group; … … 21 21 namespace behavioural { 22 22 namespace generic { 23 namespace registerfile { 23 24 namespace registerfile_multi_banked { 24 25 … … 47 48 48 49 }; // end namespace registerfile_multi_banked 50 }; // end namespace registerfile 49 51 }; // end namespace generic 50 52 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h
r10 r15 1 #ifndef morpheo_behavioural_generic_registerfile_ multi_banked_Type_h2 #define morpheo_behavioural_generic_registerfile_ multi_banked_Type_h1 #ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Type_h 2 #define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Type_h 3 3 4 4 /* … … 14 14 namespace behavioural { 15 15 namespace generic { 16 namespace registerfile { 16 17 namespace registerfile_multi_banked { 17 18 … … 20 21 21 22 }; // end namespace registerfile_multi_banked 23 }; // end namespace registerfile 22 24 }; // end namespace generic 23 25 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Parameters.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h" 9 9 10 10 namespace morpheo { 11 11 namespace behavioural { 12 12 namespace generic { 13 namespace registerfile { 13 14 namespace registerfile_multi_banked { 14 15 … … 51 52 52 53 }; // end namespace registerfile_multi_banked 54 }; // end namespace registerfile 53 55 }; // end namespace generic 54 56 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_msg_error.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Parameters.h"9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Types.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h" 9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h" 10 10 #include <sstream> 11 11 using namespace std; … … 14 14 namespace behavioural { 15 15 namespace generic { 16 namespace registerfile { 16 17 namespace registerfile_multi_banked { 17 18 … … 81 82 82 83 }; // end namespace registerfile_multi_banked 84 }; // end namespace registerfile 83 85 }; // end namespace generic 84 86 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_print.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Parameters.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h" 9 9 #include "Behavioural/include/XML.h" 10 10 using namespace std; … … 13 13 namespace behavioural { 14 14 namespace generic { 15 namespace registerfile{ 15 16 namespace registerfile_multi_banked { 16 17 … … 36 37 37 38 ostream& operator<< (ostream& output_stream , 38 morpheo::behavioural::generic::registerfile _multi_banked::Parameters & x)39 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x) 39 40 { 40 41 output_stream << x.print(0); … … 44 45 45 46 }; // end namespace registerfile_multi_banked 47 }; // end namespace registerfile 46 48 }; // end namespace generic 47 49 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 9 9 10 10 namespace morpheo { 11 11 namespace behavioural { 12 12 namespace generic { 13 namespace registerfile { 13 14 namespace registerfile_multi_banked { 14 15 … … 22 23 morpheo::behavioural::Parameters_Statistics param_statistics, 23 24 #endif 24 morpheo::behavioural::generic::registerfile _multi_banked::Parameters param ):25 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters param ): 25 26 _name (name) 26 27 ,_param (param) … … 109 110 110 111 }; // end namespace registerfile_multi_banked 112 }; // end namespace registerfile 111 113 }; // end namespace generic 112 114 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 … … 74 75 75 76 }; // end namespace registerfile_multi_banked 77 }; // end namespace registerfile 76 78 }; // end namespace generic 77 79 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_deallocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 … … 58 59 59 60 }; // end namespace registerfile_multi_banked 61 }; // end namespace registerfile 60 62 }; // end namespace generic 61 63 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile { 14 15 namespace registerfile_multi_banked { 15 16 … … 27 28 28 29 }; // end namespace registerfile_multi_banked 30 }; // end namespace registerfile 29 31 }; // end namespace generic 30 32 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp
r10 r15 8 8 */ 9 9 10 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"10 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 11 11 12 12 namespace morpheo { 13 13 namespace behavioural { 14 14 namespace generic { 15 namespace registerfile{ 15 16 namespace registerfile_multi_banked { 16 17 … … 32 33 33 34 }; // end namespace registerfile_multi_banked 35 }; // end namespace registerfile 34 36 }; // end namespace generic 35 37 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 #include "Behavioural/include/Vhdl.h" 11 11 … … 13 13 namespace behavioural { 14 14 namespace generic { 15 namespace registerfile{ 15 16 namespace registerfile_multi_banked { 16 17 … … 33 34 34 35 }; // end namespace registerfile_multi_banked 36 }; // end namespace registerfile 35 37 }; // end namespace generic 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 … … 23 24 24 25 }; // end namespace registerfile_multi_banked 26 }; // end namespace registerfile 25 27 }; // end namespace generic 26 28 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_declaration.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 … … 22 23 23 24 }; // end namespace registerfile_multi_banked 25 }; // end namespace registerfile 24 26 }; // end namespace generic 25 27 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_port.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile { 14 15 namespace registerfile_multi_banked { 15 16 … … 49 50 50 51 }; // end namespace registerfile_multi_banked 52 }; // end namespace registerfile 51 53 }; // end namespace generic 52 54 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_testbench_label.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"8 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 9 9 10 10 namespace morpheo { 11 11 namespace behavioural { 12 12 namespace generic { 13 namespace registerfile{ 13 14 namespace registerfile_multi_banked { 14 15 15 16 16 void RegisterFile_Multi_Banked::vhdl_testbench_label (string label) … … 26 26 27 27 }; // end namespace registerfile_multi_banked 28 }; // end namespace registerfile 28 29 }; // end namespace generic 29 30 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_testbench_transition.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/RegisterFile_Multi_Banked.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 … … 58 59 59 60 }; // end namespace registerfile_multi_banked 61 }; // end namespace registerfile 60 62 }; // end namespace generic 61 63 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h" 10 10 11 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 namespace registerfile{ 14 15 namespace registerfile_multi_banked { 15 16 … … 33 34 }; 34 35 36 }; // end namespace registerfile 35 37 }; // end namespace registerfile_multi_banked 36 38 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_add.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h" 10 10 11 11 #include <sstream> … … 15 15 namespace behavioural { 16 16 namespace generic { 17 namespace registerfile{ 17 18 namespace registerfile_multi_banked { 18 19 … … 25 26 26 27 }; // end namespace registerfile_multi_banked 28 }; // end namespace registerfile 27 29 }; // end namespace generic 28 30 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_print.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h" 10 10 11 11 #include <sstream> … … 15 15 namespace behavioural { 16 16 namespace generic { 17 namespace registerfile{ 17 18 namespace registerfile_multi_banked { 18 19 … … 35 36 36 37 ostream& operator<< (ostream& output_stream , 37 morpheo::behavioural::generic::registerfile _multi_banked::Statistics & x)38 morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Statistics & x) 38 39 { 39 40 output_stream << x.print(0); … … 43 44 44 45 }; // end namespace registerfile_multi_banked 46 }; // end namespace registerfile 45 47 }; // end namespace generic 46 48 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_print_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/RegisterFile _Multi_Banked/include/Statistics.h"9 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h" 10 10 11 11 #include <sstream> … … 15 15 namespace behavioural { 16 16 namespace generic { 17 namespace registerfile{ 17 18 namespace registerfile_multi_banked { 18 19 … … 33 34 34 35 }; // end namespace registerfile_multi_banked 36 }; // end namespace registerfile 35 37 }; // end namespace generic 36 38
Note: See TracChangeset
for help on using the changeset viewer.