Changeset 15 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Timestamp:
- Apr 5, 2007, 4:17:30 PM (18 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Files:
-
- 3 added
- 1 deleted
- 136 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 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/Makefile
r10 r15 11 11 12 12 #-----[ Library ]------------------------------------------ 13 LIBRARY = $(DIR_LIB)/lib Priority_Fixed.a13 LIBRARY = $(DIR_LIB)/libSelect_Priority_Fixed.a 14 14 15 15 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/Makefile.deps
r10 r15 12 12 endif 13 13 14 Priority_Fixed = yes14 Select_Priority_Fixed = yes 15 15 16 16 #-----[ Library ]------------------------------------------ 17 Priority_Fixed_LIBRARY = -lPriority_Fixed \17 Select_Priority_Fixed_LIBRARY = -lSelect_Priority_Fixed \ 18 18 $(Behavioural_LIBRARY) 19 19 20 Priority_Fixed_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/Select/Priority_Fixed/lib \20 Select_Priority_Fixed_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/Select/Select_Priority_Fixed/lib \ 21 21 $(Behavioural_DIR_LIBRARY) 22 22 23 23 #-----[ Rules ]-------------------------------------------- 24 24 25 Priority_Fixed_library :25 Select_Priority_Fixed_library : 26 26 @$(MAKE) Behavioural_library 27 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Select/ Priority_Fixed --makefile=Makefile27 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Select/Select_Priority_Fixed --makefile=Makefile 28 28 29 Priority_Fixed_library_clean :29 Select_Priority_Fixed_library_clean : 30 30 @$(MAKE) Behavioural_library_clean 31 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Select/ Priority_Fixed --makefile=Makefile clean31 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Select/Select_Priority_Fixed --makefile=Makefile clean -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/Makefile
r10 r15 10 10 DIR_MORPHEO = ../../../../.. 11 11 12 LIBRARY = $( Priority_Fixed_LIBRARY)12 LIBRARY = $(Select_Priority_Fixed_LIBRARY) 13 13 14 DIR_LIBRARY = $( Priority_Fixed_DIR_LIBRARY)14 DIR_LIBRARY = $(Select_Priority_Fixed_DIR_LIBRARY) 15 15 16 16 #-----[ include ]------------------------------------------ … … 19 19 @$(MAKE) all_selftest 20 20 21 library : Priority_Fixed_library21 library : Select_Priority_Fixed_library 22 22 23 library_clean : Priority_Fixed_library_clean23 library_clean : Select_Priority_Fixed_library_clean 24 24 25 25 include ../Makefile.deps -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/configuration.cfg
r10 r15 1 Priority_Fixed1 Select_Priority_Fixed 2 2 2 16 *2 # nb_entity 3 3 0 1 +1 # encoding_one_hot -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/include/test.h
r10 r15 14 14 #include <iostream> 15 15 16 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"16 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 17 17 18 18 using namespace std; … … 22 22 using namespace morpheo::behavioural::generic::select; 23 23 24 using namespace morpheo::behavioural::generic::select:: priority_fixed;24 using namespace morpheo::behavioural::generic::select::select_priority_fixed; 25 25 26 26 void test (string name, 27 morpheo::behavioural::generic::select:: priority_fixed::Parameters param);27 morpheo::behavioural::generic::select::select_priority_fixed::Parameters param); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info
r10 r15 1 1 2 # Priority_Fixed_03 target_dep all Priority_Fixed_0.ngc4 target_dep Priority_Fixed_0.ngcPriority_Fixed_0.prj5 target_dep Priority_Fixed_0.prj Priority_Fixed_0_Pack.vhdlPriority_Fixed_0.vhdl2 # Select_Priority_Fixed_0 3 target_dep all Select_Priority_Fixed_0.ngc 4 target_dep Select_Priority_Fixed_0.ngc Select_Priority_Fixed_0.prj 5 target_dep Select_Priority_Fixed_0.prj Select_Priority_Fixed_0_Pack.vhdl Select_Priority_Fixed_0.vhdl 6 6 7 # Priority_Fixed_18 target_dep all Priority_Fixed_1.ngc9 target_dep Priority_Fixed_1.ngcPriority_Fixed_1.prj10 target_dep Priority_Fixed_1.prj Priority_Fixed_1_Pack.vhdlPriority_Fixed_1.vhdl7 # Select_Priority_Fixed_1 8 target_dep all Select_Priority_Fixed_1.ngc 9 target_dep Select_Priority_Fixed_1.ngc Select_Priority_Fixed_1.prj 10 target_dep Select_Priority_Fixed_1.prj Select_Priority_Fixed_1_Pack.vhdl Select_Priority_Fixed_1.vhdl 11 11 12 # Priority_Fixed_213 target_dep all Priority_Fixed_2.ngc14 target_dep Priority_Fixed_2.ngcPriority_Fixed_2.prj15 target_dep Priority_Fixed_2.prj Priority_Fixed_2_Pack.vhdlPriority_Fixed_2.vhdl12 # Select_Priority_Fixed_2 13 target_dep all Select_Priority_Fixed_2.ngc 14 target_dep Select_Priority_Fixed_2.ngc Select_Priority_Fixed_2.prj 15 target_dep Select_Priority_Fixed_2.prj Select_Priority_Fixed_2_Pack.vhdl Select_Priority_Fixed_2.vhdl 16 16 17 # Priority_Fixed_318 target_dep all Priority_Fixed_3.ngc19 target_dep Priority_Fixed_3.ngcPriority_Fixed_3.prj20 target_dep Priority_Fixed_3.prj Priority_Fixed_3_Pack.vhdlPriority_Fixed_3.vhdl17 # Select_Priority_Fixed_3 18 target_dep all Select_Priority_Fixed_3.ngc 19 target_dep Select_Priority_Fixed_3.ngc Select_Priority_Fixed_3.prj 20 target_dep Select_Priority_Fixed_3.prj Select_Priority_Fixed_3_Pack.vhdl Select_Priority_Fixed_3.vhdl 21 21 22 # Priority_Fixed_423 target_dep all Priority_Fixed_4.ngc24 target_dep Priority_Fixed_4.ngcPriority_Fixed_4.prj25 target_dep Priority_Fixed_4.prj Priority_Fixed_4_Pack.vhdlPriority_Fixed_4.vhdl22 # Select_Priority_Fixed_4 23 target_dep all Select_Priority_Fixed_4.ngc 24 target_dep Select_Priority_Fixed_4.ngc Select_Priority_Fixed_4.prj 25 target_dep Select_Priority_Fixed_4.prj Select_Priority_Fixed_4_Pack.vhdl Select_Priority_Fixed_4.vhdl 26 26 27 # Priority_Fixed_528 target_dep all Priority_Fixed_5.ngc29 target_dep Priority_Fixed_5.ngcPriority_Fixed_5.prj30 target_dep Priority_Fixed_5.prj Priority_Fixed_5_Pack.vhdlPriority_Fixed_5.vhdl27 # Select_Priority_Fixed_5 28 target_dep all Select_Priority_Fixed_5.ngc 29 target_dep Select_Priority_Fixed_5.ngc Select_Priority_Fixed_5.prj 30 target_dep Select_Priority_Fixed_5.prj Select_Priority_Fixed_5_Pack.vhdl Select_Priority_Fixed_5.vhdl 31 31 32 # Priority_Fixed_633 target_dep all Priority_Fixed_6.ngc34 target_dep Priority_Fixed_6.ngcPriority_Fixed_6.prj35 target_dep Priority_Fixed_6.prj Priority_Fixed_6_Pack.vhdlPriority_Fixed_6.vhdl32 # Select_Priority_Fixed_6 33 target_dep all Select_Priority_Fixed_6.ngc 34 target_dep Select_Priority_Fixed_6.ngc Select_Priority_Fixed_6.prj 35 target_dep Select_Priority_Fixed_6.prj Select_Priority_Fixed_6_Pack.vhdl Select_Priority_Fixed_6.vhdl 36 36 37 # Priority_Fixed_738 target_dep all Priority_Fixed_7.ngc39 target_dep Priority_Fixed_7.ngcPriority_Fixed_7.prj40 target_dep Priority_Fixed_7.prj Priority_Fixed_7_Pack.vhdlPriority_Fixed_7.vhdl37 # Select_Priority_Fixed_7 38 target_dep all Select_Priority_Fixed_7.ngc 39 target_dep Select_Priority_Fixed_7.ngc Select_Priority_Fixed_7.prj 40 target_dep Select_Priority_Fixed_7.prj Select_Priority_Fixed_7_Pack.vhdl Select_Priority_Fixed_7.vhdl 41 41 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/main.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Select/ Priority_Fixed/SelfTest/include/test.h"8 #include "Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/include/test.h" 9 9 10 10 #define NB_PARAMS 3 … … 42 42 try 43 43 { 44 morpheo::behavioural::generic::select:: priority_fixed::Parameters param (nb_entity ,44 morpheo::behavioural::generic::select::select_priority_fixed::Parameters param (nb_entity , 45 45 encoding_one_hot, 46 46 encoding_compact); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/test.cpp
r10 r15 9 9 #define NB_ITERATION 512 10 10 11 #include "Behavioural/Generic/Select/ Priority_Fixed/SelfTest/include/test.h"11 #include "Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/include/test.h" 12 12 #include "Include/Test.h" 13 13 14 14 void test (string name, 15 morpheo::behavioural::generic::select:: priority_fixed::Parameters _param)15 morpheo::behavioural::generic::select::select_priority_fixed::Parameters _param) 16 16 { 17 17 cout << "<" << name << "> : Simulation SystemC" << endl; 18 18 19 Priority_Fixed * _Priority_Fixed = newPriority_Fixed (name.c_str(),19 Select_Priority_Fixed * _Select_Priority_Fixed = new Select_Priority_Fixed (name.c_str(), 20 20 #ifdef STATISTICS 21 21 morpheo::behavioural::Parameters_Statistics(5,50), … … 28 28 *********************************************************************/ 29 29 sc_clock * CLOCK ; 30 sc_signal<Tcontrol_t> * NRESET; 30 31 sc_signal<Tcontrol_t> ** VAL ; 31 32 sc_signal<Tcontrol_t> ** ACK ; … … 36 37 37 38 CLOCK = new sc_clock ("clock", 1.0, 0.5); 39 NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 38 40 VAL = new sc_signal<Tcontrol_t> * [_param._nb_entity]; 39 41 ACK = new sc_signal<Tcontrol_t> * [_param._nb_entity]; … … 54 56 ********************************************************/ 55 57 56 cout << "<" << name << "> Instanciation of _ Priority_Fixed" << endl;58 cout << "<" << name << "> Instanciation of _Select_Priority_Fixed" << endl; 57 59 58 (*(_Priority_Fixed->in_CLOCK)) (*(CLOCK)); 60 (*(_Select_Priority_Fixed->in_CLOCK )) (*(CLOCK )); 61 (*(_Select_Priority_Fixed->in_NRESET)) (*(NRESET)); 62 59 63 for (uint32_t i=0; i<_param._nb_entity; i++) 60 64 { 61 (*(_ Priority_Fixed-> in_VAL [i])) (*(VAL [i]));65 (*(_Select_Priority_Fixed-> in_VAL [i])) (*(VAL [i])); 62 66 if (_param._encoding_one_hot) 63 (*(_ Priority_Fixed->out_ACK [i])) (*(ACK [i]));67 (*(_Select_Priority_Fixed->out_ACK [i])) (*(ACK [i])); 64 68 } 65 69 if (_param._encoding_compact) 66 70 { 67 (*(_ Priority_Fixed->out_ENTITY )) (*(ENTITY ));68 (*(_ Priority_Fixed->out_ENTITY_ACK)) (*(ENTITY_ACK));71 (*(_Select_Priority_Fixed->out_ENTITY )) (*(ENTITY )); 72 (*(_Select_Priority_Fixed->out_ENTITY_ACK)) (*(ENTITY_ACK)); 69 73 } 70 74 /******************************************************** … … 86 90 87 91 sc_start(0); 88 //_ Priority_Fixed->vhdl_testbench_label("Initialisation");92 //_Select_Priority_Fixed->vhdl_testbench_label("Initialisation"); 89 93 //cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} Initialisation" << endl; 90 94 91 _ Priority_Fixed->vhdl_testbench_label("Loop of Test");95 _Select_Priority_Fixed->vhdl_testbench_label("Loop of Test"); 92 96 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} Loop of Test" << endl; 93 97 94 98 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) 95 99 { 96 _ Priority_Fixed->vhdl_testbench_label("Iteration "+toString(iteration));100 _Select_Priority_Fixed->vhdl_testbench_label("Iteration "+toString(iteration)); 97 101 98 102 entity = 0; … … 133 137 cout << "<" << name << "> ............ Stop Simulation" << endl; 134 138 139 delete CLOCK; 140 delete NRESET; 135 141 136 137 delete CLOCK; 138 142 for (uint32_t i=0; i<_param._nb_entity; i++) 143 { 144 delete VAL [i]; 145 delete ACK [i]; 146 } 147 148 delete VAL ; 149 delete ACK ; 150 delete ENTITY ; 151 delete ENTITY_ACK; 139 152 #endif 140 153 141 delete _ Priority_Fixed;154 delete _Select_Priority_Fixed; 142 155 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h
r10 r15 1 #ifndef morpheo_behavioural_generic_select_ priority_fixed_Parameters_h2 #define morpheo_behavioural_generic_select_ priority_fixed_Parameters_h1 #ifndef morpheo_behavioural_generic_select_select_priority_fixed_Parameters_h 2 #define morpheo_behavioural_generic_select_select_priority_fixed_Parameters_h 3 3 4 4 /* … … 17 17 namespace generic { 18 18 namespace select { 19 namespace priority_fixed {19 namespace select_priority_fixed { 20 20 21 21 class Parameters : public morpheo::behavioural::Parameters … … 38 38 public : string print (uint32_t depth); 39 39 public : friend ostream& operator<< (ostream& output_stream, 40 morpheo::behavioural::generic::select:: priority_fixed::Parameters & x);40 morpheo::behavioural::generic::select::select_priority_fixed::Parameters & x); 41 41 }; 42 42 43 }; // end namespace priority_fixed43 }; // end namespace select_priority_fixed 44 44 }; // end namespace select 45 45 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h
r10 r15 1 #ifndef morpheo_behavioural_generic_select_ priority_fixed_Priority_Fixed_h2 #define morpheo_behavioural_generic_select_ priority_fixed_Priority_Fixed_h1 #ifndef morpheo_behavioural_generic_select_select_priority_fixed_Select_Priority_Fixed_h 2 #define morpheo_behavioural_generic_select_select_priority_fixed_Select_Priority_Fixed_h 3 3 4 4 /* … … 17 17 #include "Include/Debug.h" 18 18 19 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Parameters.h"20 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Types.h"19 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h" 20 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h" 21 21 #ifdef STATISTICS 22 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Statistics.h"22 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h" 23 23 #endif 24 24 #ifdef VHDL … … 35 35 namespace generic { 36 36 namespace select { 37 namespace priority_fixed {37 namespace select_priority_fixed { 38 38 39 39 40 class Priority_Fixed40 class Select_Priority_Fixed 41 41 #if SYSTEMC 42 42 : public sc_module … … 65 65 66 66 public : SC_CLOCK * in_CLOCK ; 67 public : SC_IN (Tcontrol_t) * in_NRESET ; 68 67 69 public : SC_IN (Tcontrol_t) ** in_VAL ; 68 70 public : SC_OUT(Tcontrol_t) ** out_ACK ; … … 80 82 81 83 #ifdef SYSTEMC 82 SC_HAS_PROCESS ( Priority_Fixed);84 SC_HAS_PROCESS (Select_Priority_Fixed); 83 85 #endif 84 public : Priority_Fixed (86 public : Select_Priority_Fixed ( 85 87 #ifdef SYSTEMC 86 88 sc_module_name name, … … 93 95 Parameters param ); 94 96 95 public : Priority_Fixed (Parameters param );96 public : ~ Priority_Fixed (void);97 public : Select_Priority_Fixed (Parameters param ); 98 public : ~Select_Priority_Fixed (void); 97 99 98 100 #ifdef SYSTEMC … … 122 124 }; 123 125 124 }; // end namespace priority_fixed126 }; // end namespace select_priority_fixed 125 127 }; // end namespace select 126 128 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h
r10 r15 1 1 #ifdef STATISTICS 2 #ifndef morpheo_behavioural_generic_select_ priority_fixed_Statistics_h3 #define morpheo_behavioural_generic_select_ priority_fixed_Statistics_h2 #ifndef morpheo_behavioural_generic_select_select_priority_fixed_Statistics_h 3 #define morpheo_behavioural_generic_select_select_priority_fixed_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/Select/ Priority_Fixed/include/Parameters.h"16 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h" 17 17 18 18 //using namespace morpheo::behavioural::generic::group; … … 22 22 namespace generic { 23 23 namespace select { 24 namespace priority_fixed {24 namespace select_priority_fixed { 25 25 26 26 … … 47 47 }; 48 48 49 }; // end namespace priority_fixed49 }; // end namespace select_priority_fixed 50 50 }; // end namespace select 51 51 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h
r10 r15 1 #ifndef morpheo_behavioural_generic_select_ priority_fixed_Type_h2 #define morpheo_behavioural_generic_select_ priority_fixed_Type_h1 #ifndef morpheo_behavioural_generic_select_select_priority_fixed_Type_h 2 #define morpheo_behavioural_generic_select_select_priority_fixed_Type_h 3 3 4 4 /* … … 15 15 namespace generic { 16 16 namespace select { 17 namespace priority_fixed {17 namespace select_priority_fixed { 18 18 19 19 typedef uint32_t Tentity_t; 20 20 21 }; // end namespace priority_fixed21 }; // end namespace select_priority_fixed 22 22 }; // end namespace select 23 23 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Parameters.h"8 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace select { 14 namespace priority_fixed {14 namespace select_priority_fixed { 15 15 16 16 … … 23 23 _size_entity (static_cast<uint32_t> (ceil(log2(nb_entity)))) 24 24 { 25 log_printf(FUNC, Priority_Fixed,"Parameters","Begin");25 log_printf(FUNC,Select_Priority_Fixed,"Parameters","Begin"); 26 26 test(); 27 log_printf(FUNC, Priority_Fixed,"Parameters","End");27 log_printf(FUNC,Select_Priority_Fixed,"Parameters","End"); 28 28 }; 29 29 … … 34 34 _size_entity (param._size_entity ) 35 35 { 36 log_printf(FUNC, Priority_Fixed,"Parameters","Begin");36 log_printf(FUNC,Select_Priority_Fixed,"Parameters","Begin"); 37 37 test(); 38 log_printf(FUNC, Priority_Fixed,"Parameters","End");38 log_printf(FUNC,Select_Priority_Fixed,"Parameters","End"); 39 39 }; 40 40 41 41 Parameters::~Parameters () 42 42 { 43 log_printf(FUNC, Priority_Fixed,"~Parameters","Begin");44 log_printf(FUNC, Priority_Fixed,"~Parameters","End");43 log_printf(FUNC,Select_Priority_Fixed,"~Parameters","Begin"); 44 log_printf(FUNC,Select_Priority_Fixed,"~Parameters","End"); 45 45 }; 46 46 47 }; // end namespace priority_fixed47 }; // end namespace select_priority_fixed 48 48 }; // end namespace select 49 49 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_msg_error.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Parameters.h"9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Types.h"8 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h" 9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h" 10 10 #include <sstream> 11 11 using namespace std; … … 15 15 namespace generic { 16 16 namespace select { 17 namespace priority_fixed {17 namespace select_priority_fixed { 18 18 19 19 20 20 string Parameters::msg_error(void) 21 21 { 22 log_printf(FUNC, Priority_Fixed,"msg_error","Begin");22 log_printf(FUNC,Select_Priority_Fixed,"msg_error","Begin"); 23 23 24 24 string msg = ""; … … 33 33 return msg; 34 34 35 log_printf(FUNC, Priority_Fixed,"msg_error","End");35 log_printf(FUNC,Select_Priority_Fixed,"msg_error","End"); 36 36 }; 37 37 38 }; // end namespace priority_fixed38 }; // end namespace select_priority_fixed 39 39 }; // end namespace select 40 40 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_print.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Parameters.h"8 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h" 9 9 #include "Behavioural/include/XML.h" 10 10 using namespace std; … … 14 14 namespace generic { 15 15 namespace select { 16 namespace priority_fixed {16 namespace select_priority_fixed { 17 17 18 18 string Parameters::print (uint32_t depth) 19 19 { 20 log_printf(FUNC, Priority_Fixed,"print","Begin");20 log_printf(FUNC,Select_Priority_Fixed,"print","Begin"); 21 21 22 XML xml (" priority_fixed");22 XML xml ("select_priority_fixed"); 23 23 24 xml.balise_open(" priority_fixed");24 xml.balise_open("select_priority_fixed"); 25 25 xml.singleton_begin("nb_entity "); xml.attribut("value",toString(_nb_entity )); xml.singleton_end(); 26 26 xml.singleton_begin("encoding_one_hot"); xml.attribut("value",toString(_encoding_one_hot)); xml.singleton_end(); … … 28 28 xml.balise_close(); 29 29 30 log_printf(FUNC, Priority_Fixed,"print","End");30 log_printf(FUNC,Select_Priority_Fixed,"print","End"); 31 31 32 32 return xml.get_body(depth); … … 34 34 35 35 ostream& operator<< (ostream& output_stream , 36 morpheo::behavioural::generic::select:: priority_fixed::Parameters & x)36 morpheo::behavioural::generic::select::select_priority_fixed::Parameters & x) 37 37 { 38 38 output_stream << x.print(0); … … 41 41 }; 42 42 43 }; // end namespace priority_fixed43 }; // end namespace select_priority_fixed 44 44 }; // end namespace select 45 45 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"8 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace select { 14 namespace priority_fixed {14 namespace select_priority_fixed { 15 15 16 16 17 17 #ifdef SYSTEMC 18 Priority_Fixed::Priority_Fixed (sc_module_name name,18 Select_Priority_Fixed::Select_Priority_Fixed (sc_module_name name, 19 19 #else 20 Priority_Fixed::Priority_Fixed (string name,20 Select_Priority_Fixed::Select_Priority_Fixed (string name, 21 21 #endif 22 22 #ifdef STATISTICS 23 23 morpheo::behavioural::Parameters_Statistics param_statistics, 24 24 #endif 25 morpheo::behavioural::generic::select:: priority_fixed::Parameters param ):25 morpheo::behavioural::generic::select::select_priority_fixed::Parameters param ): 26 26 _name (name) 27 27 ,_param (param) … … 30 30 // #endif 31 31 { 32 log_printf(FUNC, Priority_Fixed,"Priority_Fixed","Begin");32 log_printf(FUNC,Select_Priority_Fixed,"Select_Priority_Fixed","Begin"); 33 33 34 34 #ifdef STATISTICS 35 log_printf(INFO, Priority_Fixed,"Priority_Fixed","Allocation of statistics");35 log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Allocation of statistics"); 36 36 37 37 // Allocation of statistics … … 42 42 43 43 #ifdef VHDL_TESTBENCH 44 log_printf(INFO, Priority_Fixed,"Priority_Fixed","Creation of a testbench");44 log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Creation of a testbench"); 45 45 46 46 // Creation of a testbench … … 53 53 #ifdef VHDL 54 54 // generate the vhdl 55 log_printf(INFO, Priority_Fixed,"Priority_Fixed","Generate the vhdl");55 log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Generate the vhdl"); 56 56 57 57 vhdl(); … … 59 59 60 60 #ifdef VHDL_TESTBENCH 61 _vhdl_testbench->set_clock ("in_CLOCK", false);61 _vhdl_testbench->set_clock ("in_CLOCK",true); 62 62 #endif 63 63 64 64 #ifdef SYSTEMC 65 log_printf(INFO, Priority_Fixed,"Priority_Fixed","Allocation");65 log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Allocation"); 66 66 67 67 allocation (); 68 68 69 69 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 70 log_printf(INFO, Priority_Fixed,"Priority_Fixed","Method - transition");70 log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Method - transition"); 71 71 72 72 SC_METHOD (transition); … … 75 75 #endif 76 76 77 log_printf(INFO, Priority_Fixed,"Priority_Fixed","Method - genMealy_entity");77 log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Method - genMealy_entity"); 78 78 79 79 SC_METHOD (genMealy_entity); … … 100 100 101 101 #endif 102 log_printf(FUNC, Priority_Fixed,"Priority_Fixed","End");102 log_printf(FUNC,Select_Priority_Fixed,"Select_Priority_Fixed","End"); 103 103 }; 104 104 105 Priority_Fixed::~Priority_Fixed (void)105 Select_Priority_Fixed::~Select_Priority_Fixed (void) 106 106 { 107 log_printf(FUNC, Priority_Fixed,"~Priority_Fixed","Begin");107 log_printf(FUNC,Select_Priority_Fixed,"~Select_Priority_Fixed","Begin"); 108 108 109 109 #ifdef VHDL_TESTBENCH 110 log_printf(INFO, Priority_Fixed,"~Priority_Fixed","Generate Testbench file");110 log_printf(INFO,Select_Priority_Fixed,"~Select_Priority_Fixed","Generate Testbench file"); 111 111 112 112 // generate the test bench … … 116 116 117 117 #ifdef STATISTICS 118 log_printf(INFO, Priority_Fixed,"~Priority_Fixed","Generate Statistics file");118 log_printf(INFO,Select_Priority_Fixed,"~Select_Priority_Fixed","Generate Statistics file"); 119 119 120 120 _stat->generate_file(statistics(0)); … … 124 124 125 125 #ifdef SYSTEMC 126 log_printf(INFO, Priority_Fixed,"~Priority_Fixed","Deallocation");126 log_printf(INFO,Select_Priority_Fixed,"~Select_Priority_Fixed","Deallocation"); 127 127 128 128 deallocation (); 129 129 #endif 130 130 131 log_printf(FUNC, Priority_Fixed,"~Priority_Fixed","End");131 log_printf(FUNC,Select_Priority_Fixed,"~Select_Priority_Fixed","End"); 132 132 }; 133 133 134 }; // end namespace priority_fixed134 }; // end namespace select_priority_fixed 135 135 }; // end namespace select 136 136 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_allocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 18 void Priority_Fixed::allocation (void)18 void Select_Priority_Fixed::allocation (void) 19 19 { 20 20 string rename; 21 21 22 log_printf(FUNC, Priority_Fixed,"allocation","Begin");22 log_printf(FUNC,Select_Priority_Fixed,"allocation","Begin"); 23 23 24 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 25 in_CLOCK = new SC_CLOCK ("in_CLOCK"); 26 #endif 27 24 in_CLOCK = new SC_CLOCK ("in_CLOCK "); 25 in_NRESET = new SC_IN (Tcontrol_t) ("in_NRESET"); 26 28 27 in_VAL = new SC_IN (Tcontrol_t) * [_param._nb_entity]; 29 28 if (_param._encoding_one_hot) … … 49 48 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50 49 51 log_printf(FUNC, Priority_Fixed,"allocation","End");50 log_printf(FUNC,Select_Priority_Fixed,"allocation","End"); 52 51 }; 53 52 54 }; // end namespace priority_fixed53 }; // end namespace select_priority_fixed 55 54 }; // end namespace select 56 55 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_deallocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 18 void Priority_Fixed::deallocation (void)18 void Select_Priority_Fixed::deallocation (void) 19 19 { 20 log_printf(FUNC, Priority_Fixed,"deallocation","Begin");20 log_printf(FUNC,Select_Priority_Fixed,"deallocation","Begin"); 21 21 22 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)23 22 delete in_CLOCK; 24 //#endif 23 delete in_NRESET; 25 24 26 25 for (uint32_t i=0; i<_param._nb_entity; i++) … … 41 40 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 42 41 43 log_printf(FUNC, Priority_Fixed,"deallocation","End");42 log_printf(FUNC,Select_Priority_Fixed,"deallocation","End"); 44 43 }; 45 44 46 }; // end namespace priority_fixed45 }; // end namespace select_priority_fixed 47 46 }; // end namespace select 48 47 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_genMealy_entity.cpp
r10 r15 8 8 */ 9 9 10 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"10 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 11 11 12 12 namespace morpheo { … … 14 14 namespace generic { 15 15 namespace select { 16 namespace priority_fixed {16 namespace select_priority_fixed { 17 17 18 18 19 void Priority_Fixed::genMealy_entity (void)19 void Select_Priority_Fixed::genMealy_entity (void) 20 20 { 21 log_printf(FUNC, Priority_Fixed,"genMealy_entity","Begin");21 log_printf(FUNC,Select_Priority_Fixed,"genMealy_entity","Begin"); 22 22 23 23 // init … … 31 31 ack [i] = 0; 32 32 33 log_printf(TRACE, Priority_Fixed,"genMealy_entity","Scearch...");33 log_printf(TRACE,Select_Priority_Fixed,"genMealy_entity","Scearch..."); 34 34 for (entity=0; entity<_param._nb_entity; entity++) 35 35 { 36 36 if (PORT_READ(in_VAL [entity]) == 1) 37 37 { 38 log_printf(TRACE, Priority_Fixed,"genMealy_entity","Find! entity %d",entity);38 log_printf(TRACE,Select_Priority_Fixed,"genMealy_entity","Find! entity %d",entity); 39 39 if (_param._encoding_one_hot) 40 40 ack [entity] = 1; … … 54 54 PORT_WRITE(out_ENTITY_ACK, find ); 55 55 } 56 log_printf(FUNC, Priority_Fixed,"genMealy_entity","End");56 log_printf(FUNC,Select_Priority_Fixed,"genMealy_entity","End"); 57 57 }; 58 58 59 }; // end namespace priority_fixed59 }; // end namespace select_priority_fixed 60 60 }; // end namespace select 61 61 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 18 string Priority_Fixed::statistics (uint32_t depth)18 string Select_Priority_Fixed::statistics (uint32_t depth) 19 19 { 20 log_printf(FUNC, Priority_Fixed,"statistics","Begin");20 log_printf(FUNC,Select_Priority_Fixed,"statistics","Begin"); 21 21 22 22 string txt = _stat->print(depth); 23 23 24 log_printf(FUNC, Priority_Fixed,"statistics","End");24 log_printf(FUNC,Select_Priority_Fixed,"statistics","End"); 25 25 26 26 return txt; 27 27 }; 28 28 29 }; // end namespace priority_fixed29 }; // end namespace select_priority_fixed 30 30 }; // end namespace select 31 31 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_transition.cpp
r10 r15 8 8 */ 9 9 10 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"10 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 11 11 12 12 namespace morpheo { … … 14 14 namespace generic { 15 15 namespace select { 16 namespace priority_fixed {16 namespace select_priority_fixed { 17 17 18 18 19 void Priority_Fixed::transition (void)19 void Select_Priority_Fixed::transition (void) 20 20 { 21 log_printf(FUNC, Priority_Fixed,"transition","Begin");21 log_printf(FUNC,Select_Priority_Fixed,"transition","Begin"); 22 22 23 23 #ifdef STATISTICS … … 29 29 #endif 30 30 31 log_printf(FUNC, Priority_Fixed,"transition","End");31 log_printf(FUNC,Select_Priority_Fixed,"transition","End"); 32 32 }; 33 33 34 }; // end namespace priority_fixed34 }; // end namespace select_priority_fixed 35 35 }; // end namespace select 36 36 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 #include "Behavioural/include/Vhdl.h" 11 11 … … 14 14 namespace generic { 15 15 namespace select { 16 namespace priority_fixed {16 namespace select_priority_fixed { 17 17 18 18 19 void Priority_Fixed::vhdl (void)19 void Select_Priority_Fixed::vhdl (void) 20 20 { 21 log_printf(FUNC, Priority_Fixed,"vhdl","Begin");21 log_printf(FUNC,Select_Priority_Fixed,"vhdl","Begin"); 22 22 Vhdl vhdl (_name); 23 23 … … 29 29 30 30 vhdl.generate_file(); 31 log_printf(FUNC, Priority_Fixed,"vhdl","End");31 log_printf(FUNC,Select_Priority_Fixed,"vhdl","End"); 32 32 33 33 }; 34 34 35 }; // end namespace priority_fixed35 }; // end namespace select_priority_fixed 36 36 }; // end namespace select 37 37 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 18 void Priority_Fixed::vhdl_body (Vhdl & vhdl)18 void Select_Priority_Fixed::vhdl_body (Vhdl & vhdl) 19 19 { 20 log_printf(FUNC, Priority_Fixed,"vhdl_body","Begin");20 log_printf(FUNC,Select_Priority_Fixed,"vhdl_body","Begin"); 21 21 vhdl.set_body (""); 22 22 … … 42 42 } 43 43 44 log_printf(FUNC, Priority_Fixed,"vhdl_body","End");44 log_printf(FUNC,Select_Priority_Fixed,"vhdl_body","End"); 45 45 }; 46 46 47 }; // end namespace priority_fixed47 }; // end namespace select_priority_fixed 48 48 }; // end namespace select 49 49 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_declaration.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 18 void Priority_Fixed::vhdl_declaration (Vhdl & vhdl)18 void Select_Priority_Fixed::vhdl_declaration (Vhdl & vhdl) 19 19 { 20 log_printf(FUNC, Priority_Fixed,"vhdl_declaration","Begin");20 log_printf(FUNC,Select_Priority_Fixed,"vhdl_declaration","Begin"); 21 21 22 22 vhdl.set_signal("internal_entity",_param._size_entity+1); 23 23 24 log_printf(FUNC, Priority_Fixed,"vhdl_declaration","End");24 log_printf(FUNC,Select_Priority_Fixed,"vhdl_declaration","End"); 25 25 }; 26 26 27 }; // end namespace priority_fixed27 }; // end namespace select_priority_fixed 28 28 }; // end namespace select 29 29 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_port.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 #ifdef VHDL_TESTBENCH … … 19 19 namespace generic { 20 20 namespace select { 21 namespace priority_fixed {21 namespace select_priority_fixed { 22 22 23 23 24 void Priority_Fixed::vhdl_port (Vhdl & vhdl)24 void Select_Priority_Fixed::vhdl_port (Vhdl & vhdl) 25 25 { 26 log_printf(FUNC, Priority_Fixed,"vhdl_port","Begin");26 log_printf(FUNC,Select_Priority_Fixed,"vhdl_port","Begin"); 27 27 28 vhdl.set_port (" in_CLOCK ", IN, 1); 29 VHDL_SET_PORT (" in_NRESET", IN, 1); 30 28 31 for (uint32_t i=0; i<_param._nb_entity; i++) 29 32 { … … 37 40 VHDL_SET_PORT ("out_ENTITY_ACK",OUT,1); 38 41 } 39 log_printf(FUNC, Priority_Fixed,"vhdl_port","End");42 log_printf(FUNC,Select_Priority_Fixed,"vhdl_port","End"); 40 43 }; 41 44 42 }; // end namespace priority_fixed45 }; // end namespace select_priority_fixed 43 46 }; // end namespace select 44 47 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_testbench_label.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"8 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace select { 14 namespace priority_fixed {14 namespace select_priority_fixed { 15 15 16 16 17 void Priority_Fixed::vhdl_testbench_label (string label)17 void Select_Priority_Fixed::vhdl_testbench_label (string label) 18 18 { 19 log_printf(FUNC, Priority_Fixed,"vhdl_testbench_label","Begin");19 log_printf(FUNC,Select_Priority_Fixed,"vhdl_testbench_label","Begin"); 20 20 21 21 #ifdef VHDL_TESTBENCH … … 23 23 #endif 24 24 25 log_printf(FUNC, Priority_Fixed,"vhdl_testbench_label","End");25 log_printf(FUNC,Select_Priority_Fixed,"vhdl_testbench_label","End"); 26 26 }; 27 27 28 }; // end namespace priority_fixed28 }; // end namespace select_priority_fixed 29 29 }; // end namespace select 30 30 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_testbench_transition.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Priority_Fixed.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 18 void Priority_Fixed::vhdl_testbench_transition ()18 void Select_Priority_Fixed::vhdl_testbench_transition () 19 19 { 20 log_printf(FUNC, Priority_Fixed,"vhdl_testbench_transition","Begin");20 log_printf(FUNC,Select_Priority_Fixed,"vhdl_testbench_transition","Begin"); 21 21 22 22 // Evaluation before read the ouput signal 23 23 sc_start(0); 24 24 25 // In order with file Priority_Fixed_vhdl_testbench_port.cpp25 // In order with file Select_Priority_Fixed_vhdl_testbench_port.cpp 26 26 // Warning : if a output depend of a subcomponent, take directly the port of subcomponent 27 27 // (because we have no control on the ordonnancer's policy) 28 28 29 _vhdl_testbench->add_input (PORT_READ( in_NRESET)); 30 29 31 for (uint32_t i=0; i<_param._nb_entity; i++) 30 32 { … … 46 48 _vhdl_testbench->new_cycle (); // always at the end 47 49 48 log_printf(FUNC, Priority_Fixed,"vhdl_testbench_transition","End");50 log_printf(FUNC,Select_Priority_Fixed,"vhdl_testbench_transition","End"); 49 51 }; 50 52 51 }; // end namespace priority_fixed53 }; // end namespace select_priority_fixed 52 54 }; // end namespace select 53 55 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Statistics.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace select { 15 namespace priority_fixed {15 namespace select_priority_fixed { 16 16 17 17 … … 24 24 _parameters(parameters) 25 25 { 26 log_printf(FUNC, Priority_Fixed,"Statistics","Begin");27 log_printf(FUNC, Priority_Fixed,"Statistics","End");26 log_printf(FUNC,Select_Priority_Fixed,"Statistics","Begin"); 27 log_printf(FUNC,Select_Priority_Fixed,"Statistics","End"); 28 28 }; 29 29 30 30 Statistics::~Statistics () 31 31 { 32 log_printf(FUNC, Priority_Fixed,"~Statistics","Begin");33 log_printf(FUNC, Priority_Fixed,"~Statistics","End");32 log_printf(FUNC,Select_Priority_Fixed,"~Statistics","Begin"); 33 log_printf(FUNC,Select_Priority_Fixed,"~Statistics","End"); 34 34 }; 35 35 36 }; // end namespace priority_fixed36 }; // end namespace select_priority_fixed 37 37 }; // end namespace select 38 38 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_add.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Statistics.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace select { 18 namespace priority_fixed {18 namespace select_priority_fixed { 19 19 20 20 21 21 void Statistics::add () 22 22 { 23 log_printf(FUNC, Priority_Fixed,"add","Begin");24 log_printf(FUNC, Priority_Fixed,"add","End");23 log_printf(FUNC,Select_Priority_Fixed,"add","Begin"); 24 log_printf(FUNC,Select_Priority_Fixed,"add","End"); 25 25 }; 26 26 27 }; // end namespace priority_fixed27 }; // end namespace select_priority_fixed 28 28 }; // end namespace select 29 29 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_print.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Statistics.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace select { 18 namespace priority_fixed {18 namespace select_priority_fixed { 19 19 20 20 21 21 string Statistics::print (uint32_t depth) 22 22 { 23 log_printf(FUNC, Priority_Fixed,"print","Begin");23 log_printf(FUNC,Select_Priority_Fixed,"print","Begin"); 24 24 25 25 string tab = string(depth,'\t'); 26 26 ostringstream msg; 27 27 28 msg << tab << "< priority_fixed name=\"" << _name << "\" >" << endl28 msg << tab << "<select_priority_fixed name=\"" << _name << "\" >" << endl 29 29 << print_body(depth+1) << endl 30 << tab << "</ priority_fixed>" << endl;30 << tab << "</select_priority_fixed>" << endl; 31 31 32 log_printf(FUNC, Priority_Fixed,"print","End");32 log_printf(FUNC,Select_Priority_Fixed,"print","End"); 33 33 34 34 return msg.str(); … … 36 36 37 37 ostream& operator<< (ostream& output_stream , 38 morpheo::behavioural::generic::select:: priority_fixed::Statistics & x)38 morpheo::behavioural::generic::select::select_priority_fixed::Statistics & x) 39 39 { 40 40 output_stream << x.print(0); … … 43 43 }; 44 44 45 }; // end namespace priority_fixed45 }; // end namespace select_priority_fixed 46 46 }; // end namespace select 47 47 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_print_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Select/ Priority_Fixed/include/Statistics.h"9 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace select { 18 namespace priority_fixed {18 namespace select_priority_fixed { 19 19 20 20 21 21 string Statistics::print_body (uint32_t depth) 22 22 { 23 log_printf(FUNC, Priority_Fixed,"print_body","Begin");23 log_printf(FUNC,Select_Priority_Fixed,"print_body","Begin"); 24 24 25 25 string tab = string(depth,'\t'); … … 28 28 msg << tab << ""; 29 29 30 log_printf(FUNC, Priority_Fixed,"print_body","End");30 log_printf(FUNC,Select_Priority_Fixed,"print_body","End"); 31 31 32 32 return msg.str(); 33 33 }; 34 34 35 }; // end namespace priority_fixed35 }; // end namespace select_priority_fixed 36 36 }; // end namespace select 37 37 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/Makefile
r10 r15 11 11 12 12 #-----[ Library ]------------------------------------------ 13 LIBRARY = $(DIR_LIB)/libPseudo_LRU.a 14 13 LIBRARY = $(DIR_LIB)/libVictim_Pseudo_LRU.a 15 14 16 15 #-----[ include ]------------------------------------------ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/Makefile.deps
r10 r15 15 15 endif 16 16 17 Pseudo_LRU = yes17 Victim_Pseudo_LRU = yes 18 18 #-----[ Library ]------------------------------------------ 19 Pseudo_LRU_LIBRARY = -lPseudo_LRU \20 $(Group_LIBRARY)\21 $(Behavioural_LIBRARY)19 Victim_Pseudo_LRU_LIBRARY = -lVictim_Pseudo_LRU \ 20 $(Group_LIBRARY) \ 21 $(Behavioural_LIBRARY) 22 22 23 Pseudo_LRU_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/Victim/Pseudo_LRU/lib \24 $(Group_DIR_LIBRARY)\25 $(Behavioural_DIR_LIBRARY)23 Victim_Pseudo_LRU_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/Victim/Victim_Pseudo_LRU/lib \ 24 $(Group_DIR_LIBRARY) \ 25 $(Behavioural_DIR_LIBRARY) 26 26 27 27 #-----[ Rules ]-------------------------------------------- 28 28 29 Pseudo_LRU_library :29 Victim_Pseudo_LRU_library : 30 30 @$(MAKE) Behavioural_library 31 31 @$(MAKE) Group_library 32 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Victim/ Pseudo_LRU --makefile=Makefile32 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Victim/Victim_Pseudo_LRU --makefile=Makefile 33 33 34 Pseudo_LRU_library_clean :34 Victim_Pseudo_LRU_library_clean : 35 35 @$(MAKE) Behavioural_library_clean 36 36 @$(MAKE) Group_library_clean 37 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Victim/ Pseudo_LRU --makefile=Makefile clean37 @$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Victim/Victim_Pseudo_LRU --makefile=Makefile clean -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/Makefile
r10 r15 10 10 DIR_MORPHEO = ../../../../.. 11 11 12 LIBRARY = $( Pseudo_LRU_LIBRARY)12 LIBRARY = $(Victim_Pseudo_LRU_LIBRARY) 13 13 14 DIR_LIBRARY = $( Pseudo_LRU_DIR_LIBRARY)14 DIR_LIBRARY = $(Victim_Pseudo_LRU_DIR_LIBRARY) 15 15 16 16 #-----[ include ]------------------------------------------ … … 19 19 @$(MAKE) all_selftest 20 20 21 library : Pseudo_LRU_library21 library : Victim_Pseudo_LRU_library 22 22 23 library_clean : Pseudo_LRU_library_clean23 library_clean : Victim_Pseudo_LRU_library_clean 24 24 25 25 include ../Makefile.deps -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/configuration.cfg
r10 r15 1 Pseudo_LRU1 Victim_Pseudo_LRU 2 2 4 4 *2 # nb_entity 3 3 1 1 +2 # nb_access -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/include/test.h
r10 r15 4 4 * [ Description ] 5 5 * 6 * Test "RegisterFile"7 6 */ 8 7 … … 14 13 #include <iostream> 15 14 16 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"15 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 17 16 18 17 using namespace std; … … 22 21 using namespace morpheo::behavioural::generic::victim; 23 22 24 using namespace morpheo::behavioural::generic::victim:: pseudo_lru;23 using namespace morpheo::behavioural::generic::victim::victim_pseudo_lru; 25 24 26 25 void test (string name, 27 morpheo::behavioural::generic::victim:: pseudo_lru::Parameters param);26 morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters param); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/src/main.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Victim/ Pseudo_LRU/SelfTest/include/test.h"8 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/include/test.h" 9 9 10 10 #define NB_PARAMS 4 … … 36 36 const uint32_t size_table = atoi(argv[5]); 37 37 38 morpheo::behavioural::generic::victim:: pseudo_lru::Parameters param (nb_entity ,38 morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters param (nb_entity , 39 39 nb_access , 40 40 nb_update , -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/src/test.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/SelfTest/include/test.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/include/test.h" 10 10 #include "Include/Test.h" 11 11 12 12 void test (string name, 13 morpheo::behavioural::generic::victim:: pseudo_lru::Parameters param)13 morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters param) 14 14 { 15 15 cout << "<" << name << "> : Simulation SystemC" << endl; … … 36 36 exit (EXIT_FAILURE); 37 37 } 38 Pseudo_LRU * _Pseudo_LRU = newPseudo_LRU (name.c_str(),38 Victim_Pseudo_LRU * _Victim_Pseudo_LRU = new Victim_Pseudo_LRU (name.c_str(), 39 39 #ifdef STATISTICS 40 40 morpheo::behavioural::Parameters_Statistics(5,50), … … 46 46 * Déclarations des signaux 47 47 *********************************************************************/ 48 sc_clock CLOCK ("clock", 1.0, 0.5); 48 sc_clock CLOCK ("clock", 1.0, 0.5); 49 sc_signal<Tcontrol_t> NRESET ("NRESET"); 49 50 50 51 sc_signal<Tcontrol_t> ACCESS_VAL [param._nb_access]; … … 62 63 ********************************************************/ 63 64 64 cout << "<" << name << "> Instanciation of _Pseudo_LRU" << endl; 65 66 (*(_Pseudo_LRU->in_CLOCK)) (CLOCK); 65 cout << "<" << name << "> Instanciation of _Victim_Pseudo_LRU" << endl; 66 67 (*(_Victim_Pseudo_LRU->in_CLOCK)) (CLOCK); 68 (*(_Victim_Pseudo_LRU->in_NRESET)) (NRESET); 67 69 68 70 for (uint32_t i=0; i<param._nb_access; i++) 69 71 { 70 (*(_ Pseudo_LRU-> in_ACCESS_VAL [i])) (ACCESS_VAL [i]);71 (*(_ Pseudo_LRU->out_ACCESS_ACK [i])) (ACCESS_ACK [i]);72 (*(_Victim_Pseudo_LRU-> in_ACCESS_VAL [i])) (ACCESS_VAL [i]); 73 (*(_Victim_Pseudo_LRU->out_ACCESS_ACK [i])) (ACCESS_ACK [i]); 72 74 if (param._size_table>1) 73 (*(_ Pseudo_LRU-> in_ACCESS_ADDRESS [i])) (ACCESS_ADDRESS [i]);74 (*(_ Pseudo_LRU->out_ACCESS_ENTITY [i])) (ACCESS_ENTITY [i]);75 (*(_Victim_Pseudo_LRU-> in_ACCESS_ADDRESS [i])) (ACCESS_ADDRESS [i]); 76 (*(_Victim_Pseudo_LRU->out_ACCESS_ENTITY [i])) (ACCESS_ENTITY [i]); 75 77 } 76 78 77 79 for (uint32_t i=0; i<param._nb_update; i++) 78 80 { 79 (*(_ Pseudo_LRU-> in_UPDATE_VAL [i])) (UPDATE_VAL [i]);80 (*(_ Pseudo_LRU->out_UPDATE_ACK [i])) (UPDATE_ACK [i]);81 (*(_Victim_Pseudo_LRU-> in_UPDATE_VAL [i])) (UPDATE_VAL [i]); 82 (*(_Victim_Pseudo_LRU->out_UPDATE_ACK [i])) (UPDATE_ACK [i]); 81 83 if (param._size_table>1) 82 (*(_ Pseudo_LRU-> in_UPDATE_ADDRESS [i])) (UPDATE_ADDRESS [i]);83 (*(_ Pseudo_LRU-> in_UPDATE_ENTITY [i])) (UPDATE_ENTITY [i]);84 (*(_Victim_Pseudo_LRU-> in_UPDATE_ADDRESS [i])) (UPDATE_ADDRESS [i]); 85 (*(_Victim_Pseudo_LRU-> in_UPDATE_ENTITY [i])) (UPDATE_ENTITY [i]); 84 86 } 85 87 /******************************************************** … … 204 206 #endif 205 207 206 delete _ Pseudo_LRU;208 delete _Victim_Pseudo_LRU; 207 209 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h
r10 r15 1 #ifndef morpheo_behavioural_generic_victim_ pseudo_lru_Parameters_h2 #define morpheo_behavioural_generic_victim_ pseudo_lru_Parameters_h1 #ifndef morpheo_behavioural_generic_victim_victim_pseudo_lru_Parameters_h 2 #define morpheo_behavioural_generic_victim_victim_pseudo_lru_Parameters_h 3 3 4 4 /* … … 16 16 namespace generic { 17 17 namespace victim { 18 namespace pseudo_lru {18 namespace victim_pseudo_lru { 19 19 20 20 … … 25 25 public : const uint32_t _nb_access ; // number of port to select an entity 26 26 public : const uint32_t _nb_update ; // number of port to update the internal entity 27 public : const uint32_t _size_table; // Size of pseudo_LRU's table27 public : const uint32_t _size_table; // Size of victim_pseudo_lru's table 28 28 29 29 //-----[ methods ]----------------------------------------------------------- … … 39 39 public : string print (uint32_t depth); 40 40 public : friend ostream& operator<< (ostream& output_stream, 41 morpheo::behavioural::generic::victim:: pseudo_lru::Parameters & x);41 morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters & x); 42 42 }; 43 43 44 }; // end namespace pseudo_lru44 }; // end namespace victim_pseudo_lru 45 45 }; // end namespace victim 46 46 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h
r10 r15 1 1 #ifdef STATISTICS 2 #ifndef morpheo_behavioural_generic_victim_ pseudo_lru_Statistics_h3 #define morpheo_behavioural_generic_victim_ pseudo_lru_Statistics_h2 #ifndef morpheo_behavioural_generic_victim_victim_pseudo_lru_Statistics_h 3 #define morpheo_behavioural_generic_victim_victim_pseudo_lru_Statistics_h 4 4 5 5 /* … … 13 13 #include "Behavioural/include/Parameters_Statistics.h" 14 14 #include "Behavioural/Generic/Group/include/Statistics.h" 15 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Parameters.h"15 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h" 16 16 17 17 using namespace morpheo::behavioural::generic::group; … … 21 21 namespace generic { 22 22 namespace victim { 23 namespace pseudo_lru {23 namespace victim_pseudo_lru { 24 24 25 25 … … 49 49 }; 50 50 51 }; // end namespace pseudo_lru51 }; // end namespace victim_pseudo_lru 52 52 }; // end namespace victim 53 53 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h
r10 r15 1 #ifndef morpheo_behavioural_generic_victim_ pseudo_lru_Type_h2 #define morpheo_behavioural_generic_victim_ pseudo_lru_Type_h1 #ifndef morpheo_behavioural_generic_victim_victim_pseudo_lru_Type_h 2 #define morpheo_behavioural_generic_victim_victim_pseudo_lru_Type_h 3 3 4 4 /* … … 15 15 namespace generic { 16 16 namespace victim { 17 namespace pseudo_lru {17 namespace victim_pseudo_lru { 18 18 19 19 typedef uint32_t Taddress_t; 20 20 typedef uint32_t Tentity_t; 21 21 22 }; // end namespace pseudo._lru22 }; // end namespace victim_pseudo_lru 23 23 }; // end namespace victim 24 24 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h
r10 r15 1 #ifndef morpheo_behavioural_generic_victim_ pseudo_lru_Pseudo_LRU_h2 #define morpheo_behavioural_generic_victim_ pseudo_lru_Pseudo_LRU_h1 #ifndef morpheo_behavioural_generic_victim_victim_pseudo_lru_Victim_Pseudo_LRU_h 2 #define morpheo_behavioural_generic_victim_victim_pseudo_lru_Victim_Pseudo_LRU_h 3 3 4 4 /* … … 32 32 #include "Include/Debug.h" 33 33 34 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Parameters.h"35 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Types.h"36 #ifdef STATISTICS 37 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Statistics.h"34 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h" 35 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h" 36 #ifdef STATISTICS 37 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h" 38 38 #endif 39 39 #ifdef VHDL … … 50 50 namespace generic { 51 51 namespace victim { 52 namespace pseudo_lru {53 54 class Pseudo_LRU52 namespace victim_pseudo_lru { 53 54 class Victim_Pseudo_LRU 55 55 #if SYSTEMC 56 56 : public sc_module … … 60 60 protected : class entry_t 61 61 { 62 // Numerotation of pseudo_LRU's tree62 // Numerotation of victim_pseudo_lru's tree 63 63 // Tree of Pseudo-LRU 64 64 // … … 183 183 // Interface 184 184 public : SC_CLOCK * in_CLOCK ; 185 public : SC_IN (Tcontrol_t) * in_NRESET ; 185 186 186 187 // Interface access … … 206 207 207 208 #ifdef SYSTEMC 208 SC_HAS_PROCESS ( Pseudo_LRU);209 #endif 210 211 public : Pseudo_LRU (209 SC_HAS_PROCESS (Victim_Pseudo_LRU); 210 #endif 211 212 public : Victim_Pseudo_LRU ( 212 213 #ifdef SYSTEMC 213 214 sc_module_name name, … … 220 221 Parameters param ); 221 222 222 public : Pseudo_LRU (Parameters param );223 public : ~ Pseudo_LRU (void);223 public : Victim_Pseudo_LRU (Parameters param ); 224 public : ~Victim_Pseudo_LRU (void); 224 225 225 226 #ifdef SYSTEMC … … 249 250 }; 250 251 251 }; // end namespace pseudo_lru252 }; // end namespace victim_pseudo_lru 252 253 }; // end namespace victim 253 254 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Parameters.h"8 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace victim { 14 namespace pseudo_lru {14 namespace victim_pseudo_lru { 15 15 16 16 … … 39 39 { }; 40 40 41 }; // end namespace pseudo_lru41 }; // end namespace victim_pseudo_lru 42 42 }; // end namespace victim 43 43 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_msg_error.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Parameters.h"9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Types.h"8 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h" 9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h" 10 10 #include <sstream> 11 11 using namespace std; … … 15 15 namespace generic { 16 16 namespace victim { 17 namespace pseudo_lru {17 namespace victim_pseudo_lru { 18 18 19 19 string Parameters::msg_error(void) … … 65 65 }; 66 66 67 }; // end namespace pseudo_lru67 }; // end namespace victim_pseudo_lru 68 68 }; // end namespace victim 69 69 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_print.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Parameters.h"8 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h" 9 9 #include <sstream> 10 10 using namespace std; … … 14 14 namespace generic { 15 15 namespace victim { 16 namespace pseudo_lru {16 namespace victim_pseudo_lru { 17 17 18 18 string Parameters::print (uint32_t depth) … … 20 20 string tab = string(depth,'\t'); 21 21 ostringstream msg; 22 msg << tab << "< pseudo_lru>" << endl22 msg << tab << "<victim_pseudo_lru>" << endl 23 23 << tab << "\t<nb_entity value=\"" << _nb_entity << "\" />" << endl 24 24 << tab << "\t<nb_access value=\"" << _nb_access << "\" />" << endl 25 25 << tab << "\t<nb_update value=\"" << _nb_update << "\" />" << endl 26 26 << tab << "\t<size_table value=\"" << _size_table << "\" />" << endl 27 << tab << "</ pseudo_lru>" << endl;27 << tab << "</victim_pseudo_lru>" << endl; 28 28 29 29 return msg.str(); … … 31 31 32 32 ostream& operator<< (ostream& output_stream , 33 morpheo::behavioural::generic::victim:: pseudo_lru::Parameters & x)33 morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters & x) 34 34 { 35 35 output_stream << x.print(0); … … 38 38 }; 39 39 40 }; // end namespace pseudo_lru40 }; // end namespace victim_pseudo_lru 41 41 }; // end namespace victim 42 42 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Statistics.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 17 … … 38 38 }; 39 39 40 }; // end namespace pseudo_lru40 }; // end namespace victim_pseudo_lru 41 41 }; // end namespace victim 42 42 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_add.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Statistics.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace victim { 18 namespace pseudo_lru {18 namespace victim_pseudo_lru { 19 19 20 20 void Statistics::add (uint32_t nb_access, … … 25 25 }; 26 26 27 }; // end namespace pseudo_lru27 }; // end namespace victim_pseudo_lru 28 28 }; // end namespace victim 29 29 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_print.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Statistics.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace victim { 18 namespace pseudo_lru {18 namespace victim_pseudo_lru { 19 19 20 20 … … 24 24 ostringstream msg; 25 25 26 msg << tab << "< pseudo_lru name=\"" << _name << "\" >" << endl26 msg << tab << "<victim_pseudo_lru name=\"" << _name << "\" >" << endl 27 27 << print_body (depth+1) 28 << tab << "</ pseudo_lru>" << endl;28 << tab << "</victim_pseudo_lru>" << endl; 29 29 30 30 return msg.str(); … … 32 32 33 33 ostream& operator<< (ostream& output_stream , 34 morpheo::behavioural::generic::victim:: pseudo_lru::Statistics & x)34 morpheo::behavioural::generic::victim::victim_pseudo_lru::Statistics & x) 35 35 { 36 36 output_stream << x.print(0); … … 39 39 }; 40 40 41 }; // end namespace pseudo_lru41 }; // end namespace victim_pseudo_lru 42 42 }; // end namespace victim 43 43 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_print_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Statistics.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h" 10 10 11 11 #include <sstream> … … 16 16 namespace generic { 17 17 namespace victim { 18 namespace pseudo_lru {18 namespace victim_pseudo_lru { 19 19 20 20 … … 30 30 }; 31 31 32 }; // end namespace pseudo_lru32 }; // end namespace victim_pseudo_lru 33 33 }; // end namespace victim 34 34 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp
r10 r15 6 6 */ 7 7 8 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"8 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 9 9 10 10 namespace morpheo { … … 12 12 namespace generic { 13 13 namespace victim { 14 namespace pseudo_lru {14 namespace victim_pseudo_lru { 15 15 16 16 #ifdef SYSTEMC 17 Pseudo_LRU::Pseudo_LRU (sc_module_name name,17 Victim_Pseudo_LRU::Victim_Pseudo_LRU (sc_module_name name, 18 18 #else 19 Pseudo_LRU::Pseudo_LRU (string name,19 Victim_Pseudo_LRU::Victim_Pseudo_LRU (string name, 20 20 #endif 21 21 #ifdef STATISTICS 22 22 morpheo::behavioural::Parameters_Statistics param_statistics, 23 23 #endif 24 morpheo::behavioural::generic::victim:: pseudo_lru::Parameters param ):24 morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters param ): 25 25 _name (name) 26 26 ,_param (param) 27 27 { 28 log_printf(FUNC, Pseudo_LRU,"Pseudo_LRU","Begin");28 log_printf(FUNC,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Begin"); 29 29 30 30 #ifdef STATISTICS 31 log_printf(TRACE, Pseudo_LRU,"Pseudo_LRU","Allocation of statistics");31 log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Allocation of statistics"); 32 32 33 33 // Allocation of statistics … … 41 41 // -> port 42 42 // -> clock's signals 43 log_printf(TRACE, Pseudo_LRU,"Pseudo_LRU","Creation of Testbench");43 log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Creation of Testbench"); 44 44 _vhdl_testbench = new Vhdl_Testbench (_name); 45 45 vhdl_testbench_port (*_vhdl_testbench); … … 49 49 #ifdef VHDL 50 50 // generate the vhdl 51 log_printf(TRACE, Pseudo_LRU,"Pseudo_LRU","Generation of VHDL");51 log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Generation of VHDL"); 52 52 vhdl(); 53 53 #endif 54 54 55 55 #ifdef SYSTEMC 56 log_printf(TRACE, Pseudo_LRU,"Pseudo_LRU","Allocation");56 log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Allocation"); 57 57 allocation (); 58 58 59 log_printf(TRACE, Pseudo_LRU,"Pseudo_LRU","Definition of sc_method");59 log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Definition of sc_method"); 60 60 SC_METHOD (transition); 61 61 dont_initialize (); … … 73 73 74 74 #ifdef SYSTEMCASS_SPECIFIC 75 log_printf(TRACE, Pseudo_LRU,"Pseudo_LRU","List dependency information");75 log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","List dependency information"); 76 76 // List dependency information 77 77 for (uint32_t i=0; i<_param._nb_access; i++) … … 90 90 91 91 #endif 92 log_printf(FUNC, Pseudo_LRU,"Pseudo_LRU","End");92 log_printf(FUNC,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","End"); 93 93 }; 94 94 95 Pseudo_LRU::~Pseudo_LRU (void)95 Victim_Pseudo_LRU::~Victim_Pseudo_LRU (void) 96 96 { 97 log_printf(FUNC, Pseudo_LRU,"~Pseudo_LRU","Begin");97 log_printf(FUNC,Victim_Pseudo_LRU,"~Victim_Pseudo_LRU","Begin"); 98 98 #ifdef SYSTEMC 99 99 deallocation (); … … 111 111 delete _stat; 112 112 #endif 113 log_printf(FUNC, Pseudo_LRU,"~Pseudo_LRU","End");113 log_printf(FUNC,Victim_Pseudo_LRU,"~Victim_Pseudo_LRU","End"); 114 114 }; 115 115 116 }; // end namespace pseudo_lru116 }; // end namespace victim_pseudo_lru 117 117 }; // end namespace victim 118 118 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_allocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 void Pseudo_LRU::allocation (void)17 void Victim_Pseudo_LRU::allocation (void) 18 18 { 19 19 in_CLOCK = new SC_CLOCK ("in_CLOCK"); 20 in_NRESET = new SC_IN (Tcontrol_t) ("in_NRESET"); 20 21 21 22 // -----[ Interface access ]------------------------------------------- … … 82 83 }; 83 84 84 }; // end namespace pseudo_lru85 }; // end namespace victim_pseudo_lru 85 86 }; // end namespace victim 86 87 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_deallocation.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 void Pseudo_LRU::deallocation (void)17 void Victim_Pseudo_LRU::deallocation (void) 18 18 { 19 19 delete in_CLOCK; 20 20 delete in_NRESET; 21 21 // -----[ Interface access ]------------------------------------------- 22 22 for (uint32_t i=0; i<_param._nb_access; i++) … … 61 61 }; 62 62 63 }; // end namespace pseudo_lru63 }; // end namespace victim_pseudo_lru 64 64 }; // end namespace victim 65 65 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_genMealy_access.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 void Pseudo_LRU::genMealy_access (void)17 void Victim_Pseudo_LRU::genMealy_access (void) 18 18 { 19 19 for (uint32_t i=0; i<_param._nb_access; i++) … … 39 39 }; 40 40 41 }; // end namespace pseudo_lru41 }; // end namespace victim_pseudo_lru 42 42 }; // end namespace victim 43 43 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_statistics.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 17 18 string Pseudo_LRU::statistics (uint32_t depth)18 string Victim_Pseudo_LRU::statistics (uint32_t depth) 19 19 { 20 20 return _stat->print(depth); 21 21 }; 22 22 23 }; // end namespace pseudo_lru23 }; // end namespace victim_pseudo_lru 24 24 }; // end namespace victim 25 25 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 void Pseudo_LRU::transition (void)17 void Victim_Pseudo_LRU::transition (void) 18 18 { 19 19 #ifdef STATISTICS … … 71 71 }; 72 72 73 }; // end namespace pseudo_lru73 }; // end namespace victim_pseudo_lru 74 74 }; // end namespace victim 75 75 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 #include "Behavioural/include/Vhdl.h" 11 11 … … 14 14 namespace generic { 15 15 namespace victim { 16 namespace pseudo_lru {16 namespace victim_pseudo_lru { 17 17 18 18 19 void Pseudo_LRU::vhdl (void)19 void Victim_Pseudo_LRU::vhdl (void) 20 20 { 21 log_printf(FUNC, Pseudo_LRU,"vhdl","Begin");21 log_printf(FUNC,Victim_Pseudo_LRU,"vhdl","Begin"); 22 22 23 log_printf(TRACE, Pseudo_LRU,"vhdl","Construction of vhdl");23 log_printf(TRACE,Victim_Pseudo_LRU,"vhdl","Construction of vhdl"); 24 24 Vhdl vhdl (_name); 25 25 26 log_printf(TRACE, Pseudo_LRU,"vhdl","Set library");26 log_printf(TRACE,Victim_Pseudo_LRU,"vhdl","Set library"); 27 27 vhdl.set_library_work (_name + "_Pack"); 28 28 29 log_printf(TRACE, Pseudo_LRU,"vhdl","Set port");29 log_printf(TRACE,Victim_Pseudo_LRU,"vhdl","Set port"); 30 30 vhdl_port (vhdl); 31 log_printf(TRACE, Pseudo_LRU,"vhdl","Set declaration");31 log_printf(TRACE,Victim_Pseudo_LRU,"vhdl","Set declaration"); 32 32 vhdl_declaration (vhdl); 33 log_printf(TRACE, Pseudo_LRU,"vhdl","Set body");33 log_printf(TRACE,Victim_Pseudo_LRU,"vhdl","Set body"); 34 34 vhdl_body (vhdl); 35 log_printf(TRACE, Pseudo_LRU,"vhdl","Generate File");35 log_printf(TRACE,Victim_Pseudo_LRU,"vhdl","Generate File"); 36 36 vhdl.generate_file(); 37 log_printf(FUNC, Pseudo_LRU,"vhdl","End");37 log_printf(FUNC,Victim_Pseudo_LRU,"vhdl","End"); 38 38 }; 39 39 40 }; // end namespace pseudo_lru40 }; // end namespace victim_pseudo_lru 41 41 }; // end namespace victim 42 42 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_body.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {16 17 void Pseudo_LRU::vhdl_body (Vhdl & vhdl)15 namespace victim_pseudo_lru { 16 17 void Victim_Pseudo_LRU::vhdl_body (Vhdl & vhdl) 18 18 { 19 19 vhdl.set_body (""); … … 219 219 }; 220 220 221 }; // end namespace pseudo_lru221 }; // end namespace victim_pseudo_lru 222 222 }; // end namespace victim 223 223 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_declaration.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 17 18 void Pseudo_LRU::vhdl_declaration (Vhdl & vhdl)18 void Victim_Pseudo_LRU::vhdl_declaration (Vhdl & vhdl) 19 19 { 20 20 vhdl.set_type ("Ttable", "array (" + toString(_param._size_table-1) + " downto 0) of "+std_logic(_param._nb_entity-1)); … … 35 35 }; 36 36 37 }; // end namespace pseudo_lru37 }; // end namespace victim_pseudo_lru 38 38 }; // end namespace victim 39 39 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_port.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 17 18 void Pseudo_LRU::vhdl_port (Vhdl & vhdl)18 void Victim_Pseudo_LRU::vhdl_port (Vhdl & vhdl) 19 19 { 20 vhdl.set_port ("in_CLOCK" , IN, "std_logic"); 20 vhdl.set_port ("in_CLOCK ", IN, 1); 21 vhdl.set_port ("in_NRESET", IN, 1); 21 22 22 23 for (uint32_t i = 0; i < _param._nb_access; i ++) … … 39 40 }; 40 41 41 }; // end namespace pseudo_lru42 }; // end namespace victim_pseudo_lru 42 43 }; // end namespace victim 43 44 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_testbench_port.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 17 18 void Pseudo_LRU::vhdl_testbench_port (Vhdl_Testbench & vhdl_testbench)18 void Victim_Pseudo_LRU::vhdl_testbench_port (Vhdl_Testbench & vhdl_testbench) 19 19 { 20 vhdl_testbench.set_port (" in_NRESET",IN ,1); 20 21 for (uint32_t i = 0; i < _param._nb_access; i ++) 21 22 { … … 37 38 }; 38 39 39 }; // end namespace pseudo_lru40 }; // end namespace victim_pseudo_lru 40 41 }; // end namespace victim 41 42 }; // end namespace generic -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_testbench_transition.cpp
r10 r15 7 7 */ 8 8 9 #include "Behavioural/Generic/Victim/ Pseudo_LRU/include/Pseudo_LRU.h"9 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h" 10 10 11 11 namespace morpheo { … … 13 13 namespace generic { 14 14 namespace victim { 15 namespace pseudo_lru {15 namespace victim_pseudo_lru { 16 16 17 17 18 void Pseudo_LRU::vhdl_testbench_transition (Vhdl_Testbench & vhdl_testbench)18 void Victim_Pseudo_LRU::vhdl_testbench_transition (Vhdl_Testbench & vhdl_testbench) 19 19 { 20 20 #ifndef SYSTEMCASS_SPECIFIC 21 21 sc_cycle(0); 22 22 #endif 23 vhdl_testbench.add_input (PORT_READ(in_NRESET)); 23 24 24 25 for (uint32_t i = 0; i < _param._nb_access; i ++) … … 45 46 }; 46 47 47 }; // end namespace pseudo_lru48 }; // end namespace victim_pseudo_lru 48 49 }; // end namespace victim 49 50 }; // end namespace generic
Note: See TracChangeset
for help on using the changeset viewer.