Changeset 113 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Timestamp:
- Apr 14, 2009, 8:39:12 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic
- Files:
-
- 15 added
- 1 deleted
- 49 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/Makefile.defs
r112 r113 7 7 # 8 8 9 ENTITY = Comparator 10 9 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/SelfTest/include/test.h
r112 r113 11 11 #endif 12 12 13 #define NB_ITERATION 1 13 #define NB_ITERATION 1024 14 14 #define CYCLE_MAX (1024*NB_ITERATION) 15 15 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/SelfTest/src/main.cpp
r112 r113 19 19 err (_(" * type (Tcomparator_scheme_t)\n")); 20 20 21 22 21 exit (1); 23 22 } … … 34 33 uint32_t x = 1; 35 34 35 string name = argv[x++]; 36 36 uint32_t _size_data; 37 37 bool _is_signed; … … 41 41 SELFTEST0(_is_signed,bool ,argv,x); 42 42 SELFTEST0(_type ,Tcomparator_scheme_t,argv,x); 43 44 string name = argv[x++];45 43 46 44 int _return = EXIT_SUCCESS; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/SelfTest/src/test.cpp
r112 r113 9 9 #include "Behavioural/Generic/Comparator/SelfTest/include/test.h" 10 10 #include "Behavioural/include/Allocation.h" 11 #include "Common/include/BitManipulation.h" 11 12 12 13 void test (string name, … … 50 51 sc_clock * in_CLOCK = new sc_clock ("clock", 1.0, 0.5); 51 52 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 53 54 sc_signal<Tdata_t > * in_COMPARE_DATA_0; 55 sc_signal<Tdata_t > * in_COMPARE_DATA_1; 56 sc_signal<Tcontrol_t> * out_COMPARE_TEST ; 57 58 ALLOC0_SC_SIGNAL( in_COMPARE_DATA_0," in_COMPARE_DATA_0",Tdata_t ); 59 ALLOC0_SC_SIGNAL( in_COMPARE_DATA_1," in_COMPARE_DATA_1",Tdata_t ); 60 ALLOC0_SC_SIGNAL(out_COMPARE_TEST ,"out_COMPARE_TEST ",Tcontrol_t); 52 61 53 62 /******************************************************** … … 60 69 (*(_Comparator->in_NRESET)) (*(in_NRESET)); 61 70 62 71 INSTANCE0_SC_SIGNAL(_Comparator, in_COMPARE_DATA_0); 72 INSTANCE0_SC_SIGNAL(_Comparator, in_COMPARE_DATA_1); 73 INSTANCE0_SC_SIGNAL(_Comparator,out_COMPARE_TEST ); 74 63 75 msg(_("<%s> : Start Simulation ............\n"),name.c_str()); 64 76 … … 90 102 LABEL("Iteration %d",iteration); 91 103 104 uint64_t data0 = range<uint64_t>(rand(),_param->_size_data); 105 uint64_t data1 = range<uint64_t>(rand(),_param->_size_data); 106 107 in_COMPARE_DATA_0->write(static_cast<Tdata_t>(data0)); 108 in_COMPARE_DATA_1->write(static_cast<Tdata_t>(data1)); 109 110 SC_START(0); 111 112 Tcontrol_t test = false; 113 switch (_param->_size_data) 114 { 115 case 8 : 116 { 117 if (_param->_is_signed) 118 switch (_param->_type) 119 { 120 case COMPARATOR_EQUAL : test = static_cast< int8_t>(data0) == static_cast< int8_t>(data1); break; 121 case COMPARATOR_NOT_EQUAL : test = static_cast< int8_t>(data0) != static_cast< int8_t>(data1); break; 122 case COMPARATOR_GREATER : test = static_cast< int8_t>(data0) > static_cast< int8_t>(data1); break; 123 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast< int8_t>(data0) >= static_cast< int8_t>(data1); break; 124 case COMPARATOR_LESS : test = static_cast< int8_t>(data0) < static_cast< int8_t>(data1); break; 125 case COMPARATOR_LESS_OR_EQUAL : test = static_cast< int8_t>(data0) <= static_cast< int8_t>(data1); break; 126 } 127 else 128 switch (_param->_type) 129 { 130 case COMPARATOR_EQUAL : test = static_cast<uint8_t>(data0) == static_cast<uint8_t>(data1); break; 131 case COMPARATOR_NOT_EQUAL : test = static_cast<uint8_t>(data0) != static_cast<uint8_t>(data1); break; 132 case COMPARATOR_GREATER : test = static_cast<uint8_t>(data0) > static_cast<uint8_t>(data1); break; 133 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast<uint8_t>(data0) >= static_cast<uint8_t>(data1); break; 134 case COMPARATOR_LESS : test = static_cast<uint8_t>(data0) < static_cast<uint8_t>(data1); break; 135 case COMPARATOR_LESS_OR_EQUAL : test = static_cast<uint8_t>(data0) <= static_cast<uint8_t>(data1); break; 136 } 137 break; 138 } 139 case 16 : 140 { 141 if (_param->_is_signed) 142 switch (_param->_type) 143 { 144 case COMPARATOR_EQUAL : test = static_cast< int16_t>(data0) == static_cast< int16_t>(data1); break; 145 case COMPARATOR_NOT_EQUAL : test = static_cast< int16_t>(data0) != static_cast< int16_t>(data1); break; 146 case COMPARATOR_GREATER : test = static_cast< int16_t>(data0) > static_cast< int16_t>(data1); break; 147 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast< int16_t>(data0) >= static_cast< int16_t>(data1); break; 148 case COMPARATOR_LESS : test = static_cast< int16_t>(data0) < static_cast< int16_t>(data1); break; 149 case COMPARATOR_LESS_OR_EQUAL : test = static_cast< int16_t>(data0) <= static_cast< int16_t>(data1); break; 150 } 151 else 152 switch (_param->_type) 153 { 154 case COMPARATOR_EQUAL : test = static_cast<uint16_t>(data0) == static_cast<uint16_t>(data1); break; 155 case COMPARATOR_NOT_EQUAL : test = static_cast<uint16_t>(data0) != static_cast<uint16_t>(data1); break; 156 case COMPARATOR_GREATER : test = static_cast<uint16_t>(data0) > static_cast<uint16_t>(data1); break; 157 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast<uint16_t>(data0) >= static_cast<uint16_t>(data1); break; 158 case COMPARATOR_LESS : test = static_cast<uint16_t>(data0) < static_cast<uint16_t>(data1); break; 159 case COMPARATOR_LESS_OR_EQUAL : test = static_cast<uint16_t>(data0) <= static_cast<uint16_t>(data1); break; 160 } 161 break; 162 } 163 case 32 : 164 { 165 if (_param->_is_signed) 166 switch (_param->_type) 167 { 168 case COMPARATOR_EQUAL : test = static_cast< int32_t>(data0) == static_cast< int32_t>(data1); break; 169 case COMPARATOR_NOT_EQUAL : test = static_cast< int32_t>(data0) != static_cast< int32_t>(data1); break; 170 case COMPARATOR_GREATER : test = static_cast< int32_t>(data0) > static_cast< int32_t>(data1); break; 171 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast< int32_t>(data0) >= static_cast< int32_t>(data1); break; 172 case COMPARATOR_LESS : test = static_cast< int32_t>(data0) < static_cast< int32_t>(data1); break; 173 case COMPARATOR_LESS_OR_EQUAL : test = static_cast< int32_t>(data0) <= static_cast< int32_t>(data1); break; 174 } 175 else 176 switch (_param->_type) 177 { 178 case COMPARATOR_EQUAL : test = static_cast<uint32_t>(data0) == static_cast<uint32_t>(data1); break; 179 case COMPARATOR_NOT_EQUAL : test = static_cast<uint32_t>(data0) != static_cast<uint32_t>(data1); break; 180 case COMPARATOR_GREATER : test = static_cast<uint32_t>(data0) > static_cast<uint32_t>(data1); break; 181 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast<uint32_t>(data0) >= static_cast<uint32_t>(data1); break; 182 case COMPARATOR_LESS : test = static_cast<uint32_t>(data0) < static_cast<uint32_t>(data1); break; 183 case COMPARATOR_LESS_OR_EQUAL : test = static_cast<uint32_t>(data0) <= static_cast<uint32_t>(data1); break; 184 } 185 break; 186 } 187 case 64 : 188 { 189 if (_param->_is_signed) 190 switch (_param->_type) 191 { 192 case COMPARATOR_EQUAL : test = static_cast< int64_t>(data0) == static_cast< int64_t>(data1); break; 193 case COMPARATOR_NOT_EQUAL : test = static_cast< int64_t>(data0) != static_cast< int64_t>(data1); break; 194 case COMPARATOR_GREATER : test = static_cast< int64_t>(data0) > static_cast< int64_t>(data1); break; 195 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast< int64_t>(data0) >= static_cast< int64_t>(data1); break; 196 case COMPARATOR_LESS : test = static_cast< int64_t>(data0) < static_cast< int64_t>(data1); break; 197 case COMPARATOR_LESS_OR_EQUAL : test = static_cast< int64_t>(data0) <= static_cast< int64_t>(data1); break; 198 } 199 else 200 switch (_param->_type) 201 { 202 case COMPARATOR_EQUAL : test = static_cast<uint64_t>(data0) == static_cast<uint64_t>(data1); break; 203 case COMPARATOR_NOT_EQUAL : test = static_cast<uint64_t>(data0) != static_cast<uint64_t>(data1); break; 204 case COMPARATOR_GREATER : test = static_cast<uint64_t>(data0) > static_cast<uint64_t>(data1); break; 205 case COMPARATOR_GREATER_OR_EQUAL : test = static_cast<uint64_t>(data0) >= static_cast<uint64_t>(data1); break; 206 case COMPARATOR_LESS : test = static_cast<uint64_t>(data0) < static_cast<uint64_t>(data1); break; 207 case COMPARATOR_LESS_OR_EQUAL : test = static_cast<uint64_t>(data0) <= static_cast<uint64_t>(data1); break; 208 } 209 break; 210 } 211 default : 212 { 213 TEST_KO("Invalid size for the test."); 214 } 215 } 216 217 TEST(Tcontrol_t,out_COMPARE_TEST->read(),test); 218 92 219 SC_START(1); 93 220 } … … 104 231 delete in_CLOCK; 105 232 delete in_NRESET; 233 DELETE0_SC_SIGNAL( in_COMPARE_DATA_0); 234 DELETE0_SC_SIGNAL( in_COMPARE_DATA_1); 235 DELETE0_SC_SIGNAL(out_COMPARE_TEST ); 106 236 } 107 237 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/include/Comparator.h
r112 r113 64 64 public : SC_IN (Tdata_t ) * in_COMPARE_DATA_0; 65 65 public : SC_IN (Tdata_t ) * in_COMPARE_DATA_1; 66 public : SC_OUT(Tcontrol_t) * in_COMPARE_TEST ; 67 66 public : SC_OUT(Tcontrol_t) * out_COMPARE_TEST ; 68 67 69 68 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 105 104 #ifdef SYSTEMC 106 105 public : void transition (void); 107 //public : void genMoore(void);106 public : void genMealy (void); 108 107 #endif 109 108 … … 112 111 private : void vhdl_declaration (Vhdl * & vhdl); 113 112 private : void vhdl_body (Vhdl * & vhdl); 113 114 private : void vhdl_xilinx_declaration (Vhdl * & vhdl); 115 private : void vhdl_xilinx_body (Vhdl * & vhdl); 114 116 #endif 115 117 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/include/Parameters.h
r112 r113 26 26 public : Tcomparator_scheme_t _type; 27 27 28 public : int64_t _extends; 29 public : int64_t _mask_sign; 30 28 31 //-----[ methods ]----------------------------------------------------------- 29 32 public : Parameters (uint32_t size_data, -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator.cpp
r112 r113 77 77 # endif 78 78 79 // log_printf(INFO,Comparator,FUNCTION,_("<%s> : Method - genMoore"),_name.c_str());79 log_printf(INFO,Comparator,FUNCTION,_("<%s> : Method - genMealy"),_name.c_str()); 80 80 81 // SC_METHOD (genMoore); 82 // dont_initialize (); 83 // sensitive << (*(in_CLOCK)).neg(); // need internal register 81 SC_METHOD (genMealy); 82 dont_initialize (); 83 // sensitive << (*(in_CLOCK)).neg(); // don't need internal register 84 sensitive << (*(in_COMPARE_DATA_0)) 85 << (*(in_COMPARE_DATA_1)); 84 86 85 //# ifdef SYSTEMCASS_SPECIFIC86 //// List dependency information87 //# endif87 # ifdef SYSTEMCASS_SPECIFIC 88 // List dependency information 89 # endif 88 90 89 91 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_allocation.cpp
r112 r113 53 53 in_NRESET = interface->set_signal_in <Tcontrol_t> ("nreset",1, RESET_VHDL_YES); 54 54 } 55 56 // ~~~~~[ Interface : "compare" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 { 58 ALLOC0_INTERFACE_BEGIN("compare",IN,SOUTH,_("Compare interface")); 59 60 ALLOC0_SIGNAL_IN ( in_COMPARE_DATA_0,"DATA_0",Tdata_t ,_param->_size_data); 61 ALLOC0_SIGNAL_IN ( in_COMPARE_DATA_1,"DATA_1",Tdata_t ,_param->_size_data); 62 ALLOC0_SIGNAL_OUT(out_COMPARE_TEST ,"TEST" ,Tcontrol_t,1); 63 64 ALLOC0_INTERFACE_END(); 65 } 66 55 67 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 68 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_deallocation.cpp
r112 r113 25 25 delete in_CLOCK ; 26 26 delete in_NRESET; 27 28 DELETE0_SIGNAL( in_COMPARE_DATA_0,_param->_size_data); 29 DELETE0_SIGNAL( in_COMPARE_DATA_1,_param->_size_data); 30 DELETE0_SIGNAL(out_COMPARE_TEST ,1); 27 31 } 28 32 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_vhdl.cpp
r112 r113 27 27 _component->vhdl_instance(vhdl); 28 28 29 // default architecture 29 30 vhdl_declaration (vhdl); 30 31 vhdl_body (vhdl); 32 33 // Xilinx architecture 34 vhdl->set_architecture("xilinx"); 35 vhdl_xilinx_declaration (vhdl); 36 vhdl_xilinx_body (vhdl); 31 37 32 38 vhdl->generate_file(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Parameters.cpp
r112 r113 7 7 8 8 #include "Behavioural/Generic/Comparator/include/Parameters.h" 9 #include "Common/include/BitManipulation.h" 9 10 10 11 namespace morpheo { … … 12 13 namespace generic { 13 14 namespace comparator { 14 15 15 16 16 #undef FUNCTION … … 28 28 29 29 test(); 30 31 _extends = gen_mask_not<int64_t>(_size_data); 32 _mask_sign = (1<<(_size_data-1)); 30 33 31 34 if (is_toplevel) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Parameters_msg_error.cpp
r112 r113 24 24 Parameters_test test ("Comparator"); 25 25 26 if (_size_data > 64) 27 test.error(_("Max size is 64 bits.\n")); 28 26 29 log_end(Comparator,FUNCTION); 27 30 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = Counter 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/SelfTest/include/top.h
r112 r113 2 2 * $Id$ 3 3 * 4 * [ 4 * [ Description ] 5 5 * 6 * Test " RegisterFile"6 * Test "Counter" 7 7 */ 8 8 … … 11 11 #endif 12 12 13 # include <string>14 # include <iostream>13 #define NB_ITERATION 1024 14 #define CYCLE_MAX (1024*NB_ITERATION) 15 15 16 #include "Common/include/Test.h" 16 17 #include "Common/include/Time.h" 17 18 #include "Behavioural/Generic/Counter/include/Counter.h" … … 21 22 using namespace morpheo::behavioural; 22 23 using namespace morpheo::behavioural::generic; 23 24 24 using namespace morpheo::behavioural::generic::counter; 25 25 26 void test (string name, 27 morpheo::behavioural::generic::counter::Parameters param); 26 SC_MODULE(top) 27 { 28 #ifdef SYSTEMC 29 private: sc_clock * in_CLOCK ; 30 private: sc_signal<Tcontrol_t> * in_NRESET; 31 private: sc_signal<Tdata_t> ** in_COUNTER_DATA ;// [param->_nb_port] 32 private: sc_signal<Tcontrol_t> ** in_COUNTER_ADDSUB;// [param->_nb_port] 33 private: sc_signal<Tdata_t> ** out_COUNTER_DATA ;// [param->_nb_port] 34 #endif 35 36 private: std::string name ; 37 private: morpheo::behavioural::generic::counter::Parameters * param; 38 #ifdef STATISTICS 39 private: morpheo::behavioural::Parameters_Statistics * param_stat; 40 #endif 41 private: Counter * component; 42 43 private: void usage (string exec); 44 private: void allocation (void); 45 private: void deallocation (void); 46 public : void test (void); 47 48 #ifdef MTI_SYSTEMC 49 SC_CTOR(top::top); 50 #else 51 public : top (sc_module_name module_name,int argc, char * argv[]); 52 #endif 53 public : ~top(void); 54 }; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/SelfTest/src/main.cpp
r81 r113 2 2 * $Id$ 3 3 * 4 * [ 4 * [ Description ] 5 5 * 6 6 */ 7 7 8 #include "Behavioural/Generic/Counter/SelfTest/include/t est.h"8 #include "Behavioural/Generic/Counter/SelfTest/include/top.h" 9 9 10 #define NB_PARAMS 2 10 #ifndef MTI_SYSTEMC 11 # ifndef SYSTEMC 12 int main (int argc, char * argv[]) 13 # else 14 int sc_main (int argc, char * argv[]) 15 # endif 16 { 17 int _return = EXIT_SUCCESS; 11 18 12 void usage (string exec) 13 { 14 cerr << "<Usage> " << exec << " name_instance list_params" << endl 15 << "list_params is :" << endl 16 << " - size_data (unsigned int)" << endl 17 << " - nb_port (unsigned int)" << endl; 19 try 20 { 21 top * my_top = new top ("my_top",argc,argv); 18 22 19 exit (1); 23 my_top->test(); 24 25 delete my_top; 26 } 27 catch (morpheo::ErrorMorpheo & error) 28 { 29 msg (_("%s\n"),error.what ()); 30 _return = EXIT_FAILURE; 31 } 32 33 try 34 { 35 if (_return == EXIT_SUCCESS) 36 TEST_OK("Counter : no error"); 37 else 38 TEST_KO("Counter : a lot of error"); 39 } 40 catch (morpheo::ErrorMorpheo & error) 41 { 42 // msg (_("<%s> :\n%s"),name.c_str(), error.what ()); 43 _return = EXIT_FAILURE; 44 } 45 46 return _return; 20 47 } 21 22 #ifndef SYSTEMC23 int main (int argc, char * argv[])24 #else25 int sc_main (int argc, char * argv[])26 48 #endif 27 {28 if (argc != 2+NB_PARAMS)29 usage (argv[0]);30 31 cout << "<test0> : Classic usage" << endl;32 cout << "<test0> : Typical parameters" << endl;33 const string name = argv[1];34 const uint32_t size_data = atoi(argv[2]);35 const uint32_t nb_port = atoi(argv[3]);36 37 morpheo::behavioural::generic::counter::Parameters param (size_data,38 nb_port );39 40 test (name,param);41 42 return (EXIT_SUCCESS);43 }44 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/SelfTest/src/top_test.cpp
r112 r113 7 7 */ 8 8 9 #define NB_ITERATION 1024 10 #define CYCLE_MAX 1024*NB_ITERATION 9 #include "Behavioural/Generic/Counter/SelfTest/include/top.h" 11 10 12 #include "Behavioural/Generic/Counter/SelfTest/include/test.h" 13 #include "Common/include/Test.h" 14 15 void test (string name, 16 morpheo::behavioural::generic::counter::Parameters param) 11 void top::test (void) 17 12 { 18 cout << "<" << name << "> : Simulation SystemC" << endl;19 20 try21 {22 cout << param.print(1);23 param.test();24 }25 catch (morpheo::ErrorMorpheo & error)26 {27 cout << "<" << name << "> : " << error.what ();28 return;29 }30 catch (...)31 {32 cerr << "<" << name << "> : This test must generate a error" << endl;33 exit (EXIT_FAILURE);34 }35 #ifdef STATISTICS36 morpheo::behavioural::Parameters_Statistics * param_stat = new morpheo::behavioural::Parameters_Statistics (5,50);37 #endif38 39 Tusage_t _usage = USE_ALL;40 41 // _usage = usage_unset(_usage,USE_SYSTEMC );42 // _usage = usage_unset(_usage,USE_VHDL );43 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH );44 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);45 // _usage = usage_unset(_usage,USE_POSITION );46 // _usage = usage_unset(_usage,USE_STATISTICS );47 // _usage = usage_unset(_usage,USE_INFORMATION );48 49 Counter * _Counter = new Counter (name.c_str(),50 #ifdef STATISTICS51 param_stat,52 #endif53 param,54 _usage);55 56 13 #ifdef SYSTEMC 57 /*********************************************************************58 * Déclarations des signaux59 *********************************************************************/60 sc_clock CLOCK ("clock", 1.0, 0.5);61 sc_signal<Tcontrol_t> RESET;62 sc_signal<Tdata_t> DATA_IN [param._nb_port];63 sc_signal<Tcontrol_t> ADDSUB [param._nb_port];64 sc_signal<Tdata_t> DATA_OUT [param._nb_port];65 66 /********************************************************67 * Instanciation68 ********************************************************/69 70 cout << "<" << name << "> Instanciation of _Counter" << endl;71 72 (*(_Counter->in_CLOCK)) (CLOCK);73 (*(_Counter->in_NRESET)) (RESET);74 75 for (uint32_t i=0; i<param._nb_port; i++)76 {77 (*(_Counter-> in_COUNTER_DATA [i])) (DATA_IN [i]);78 (*(_Counter-> in_COUNTER_ADDSUB[i])) (ADDSUB [i]);79 (*(_Counter->out_COUNTER_DATA [i])) (DATA_OUT [i]);80 }81 82 14 Time * _time = new Time(); 83 15 … … 92 24 //srand(TIME(NULL)); 93 25 94 Tdata_t data_in [param ._nb_port];95 Tdata_t data_out [param ._nb_port];96 Tcontrol_t addsub [param ._nb_port];26 Tdata_t data_in [param->_nb_port]; 27 Tdata_t data_out [param->_nb_port]; 28 Tcontrol_t addsub [param->_nb_port]; 97 29 98 sc_start(0);30 SC_CYCLE(0); 99 31 100 RESET.write(1);32 in_NRESET->write(1); 101 33 102 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} Initialisation" << endl;34 LABEL("Initialisation"); 103 35 104 cout << "{"+toString(static_cast<uint32_t>(sc_simulation_time()))+"} Loop of Test" << endl;36 LABEL("Loop of Test"); 105 37 106 38 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) 107 39 { 108 cout << "{" << static_cast<uint32_t>(sc_simulation_time()) << "} Itération " << iteration << endl; 109 for (uint32_t i=0; i<param._nb_port; i++) 40 LABEL("Iteration %d",iteration); 41 42 for (uint32_t i=0; i<param->_nb_port; i++) 110 43 { 111 Tdata_t data = rand()%param ._data_max;44 Tdata_t data = rand()%param->_data_max; 112 45 data_in [i] = data; 113 46 addsub [i] = (rand()%2)==1; 114 47 115 DATA_IN [i].write(data );116 ADDSUB [i].write(addsub [i]);48 LABEL("in_COUNTER_DATA [%d] = %d",i,data ); 49 LABEL("in_COUNTER_ADDSUB [%d] = %d" ,i,addsub [i]); 117 50 118 data_out [i] = (addsub[i]==1)?((data<param._data_max)?data+1:data):((data>0)?data-1:data); 51 in_COUNTER_DATA [i]->write(data ); 52 in_COUNTER_ADDSUB [i]->write(addsub [i]); 53 54 data_out [i] = (addsub[i]==1)?((data<param->_data_max)?data+1:data):((data>0)?data-1:data); 119 55 } 120 56 121 sc_start(0);122 123 for (uint32_t i=0; i<param ._nb_port; i++)57 SC_CYCLE(0); 58 59 for (uint32_t i=0; i<param->_nb_port; i++) 124 60 { 125 cout << hex 126 << " [" << i << "] " 127 << data_in [i]; 61 string op = (addsub[i] == 1)?"++":"--"; 62 LABEL("0x%d %s = 0x%d",i,op.c_str(),out_COUNTER_DATA [i]->read()); 128 63 129 if (addsub[i] == 1) 130 cout << " ++"; 131 else 132 cout << " --"; 133 134 cout << " = " 135 << DATA_OUT [i].read(); 136 137 TEST(Tdata_t,DATA_OUT [i].read(),data_out [i]); 138 139 cout << std::dec << endl; 64 TEST(Tdata_t,out_COUNTER_DATA [i]->read(),data_out [i]); 140 65 } 141 66 142 sc_start(1);67 SC_CYCLE(1); 143 68 } 144 69 145 sc_start(1);70 SC_CYCLE(1); 146 71 147 72 /******************************************************** … … 149 74 ********************************************************/ 150 75 76 sc_stop(); 77 151 78 delete _time; 152 79 153 80 cout << "<" << name << "> ............ Stop Simulation" << endl; 154 155 81 #endif 156 157 delete _Counter;158 #ifdef STATISTICS159 delete param_stat;160 #endif161 162 82 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Counter.h
r88 r113 40 40 // -----[ fields ]---------------------------------------------------- 41 41 // Parameters 42 protected : const std::string _name;43 protected : const Parameters _param;44 private : const Tusage_t _usage;42 protected : const std::string _name; 43 protected : const Parameters * _param; 44 private : const Tusage_t _usage; 45 45 46 46 #ifdef STATISTICS … … 79 79 morpheo::behavioural::Parameters_Statistics * param_statistics, 80 80 #endif 81 Parameters param,82 Tusage_t usage);81 Parameters * param, 82 Tusage_t usage); 83 83 84 84 // public : Counter (Parameters param ); 85 85 public : ~Counter (void); 86 86 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter.cpp
r88 r113 13 13 namespace counter { 14 14 15 15 #undef FUNCTION 16 #define FUNCTION "Counter::Counter" 16 17 Counter::Counter 17 18 ( … … 24 25 morpheo::behavioural::Parameters_Statistics * param_statistics, 25 26 #endif 26 morpheo::behavioural::generic::counter::Parameters param,27 morpheo::behavioural::generic::counter::Parameters * param, 27 28 Tusage_t usage): 28 29 _name (name), … … 30 31 _usage (usage) 31 32 { 32 log_ printf(FUNC,Counter,"Counter","Begin");33 log_begin(Counter,FUNCTION); 33 34 34 #if DEBUG_Counter == true35 log_printf(INFO,Counter,FUNCTION,_("<%s> Parameters"),_name.c_str());35 // #if DEBUG_Counter == true 36 // log_printf(INFO,Counter,FUNCTION,_("<%s> Parameters"),_name.c_str()); 36 37 37 std::cout <<param << std::endl;38 #endif38 // std::cout << *param << std::endl; 39 // #endif 39 40 40 41 log_printf(INFO,Core,FUNCTION,_("<%s> Allocation"),_name.c_str()); … … 76 77 SC_METHOD (genMealy); 77 78 dont_initialize (); 78 for (uint32_t i=0; i<_param ._nb_port; i++)79 for (uint32_t i=0; i<_param->_nb_port; i++) 79 80 sensitive << *(in_COUNTER_DATA [i]) 80 81 << *(in_COUNTER_ADDSUB [i]); … … 82 83 #ifdef SYSTEMCASS_SPECIFIC 83 84 // List dependency information 84 for (uint32_t i=0; i<_param ._nb_port; i++)85 for (uint32_t i=0; i<_param->_nb_port; i++) 85 86 { 86 87 (*(out_COUNTER_DATA [i])) (*(in_COUNTER_DATA [i])); … … 91 92 92 93 #endif 93 log_ printf(FUNC,Counter,"Counter","End");94 log_end(Counter,FUNCTION); 94 95 }; 95 96 97 #undef FUNCTION 98 #define FUNCTION "Counter::~Counter" 96 99 Counter::~Counter (void) 97 100 { 98 log_ printf(FUNC,Counter,"~Counter","Begin");101 log_begin(Counter,FUNCTION); 99 102 100 103 #ifdef STATISTICS … … 108 111 deallocation (); 109 112 110 log_ printf(FUNC,Counter,"~Counter","End");113 log_end(Counter,FUNCTION); 111 114 }; 112 115 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_allocation.cpp
r112 r113 21 21 22 22 Entity * entity = _component->set_entity (_name 23 , "Counter"23 ,_param->_type 24 24 #ifdef POSITION 25 25 ,COMBINATORY … … 45 45 // ~~~~~[ Interface : "counter" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 46 46 { 47 ALLOC1_INTERFACE_BEGIN("counter", IN, SOUTH, _("Counter interface"), _param ._nb_port);47 ALLOC1_INTERFACE_BEGIN("counter", IN, SOUTH, _("Counter interface"), _param->_nb_port); 48 48 49 ALLOC1_SIGNAL_IN ( in_COUNTER_DATA ,"data" ,Tdata_t ,_param ._size_data);49 ALLOC1_SIGNAL_IN ( in_COUNTER_DATA ,"data" ,Tdata_t ,_param->_size_data); 50 50 ALLOC1_SIGNAL_IN ( in_COUNTER_ADDSUB,"addsub",Tcontrol_t,1 ); 51 ALLOC1_SIGNAL_OUT(out_COUNTER_DATA ,"data" ,Tdata_t ,_param ._size_data);51 ALLOC1_SIGNAL_OUT(out_COUNTER_DATA ,"data" ,Tdata_t ,_param->_size_data); 52 52 53 ALLOC1_INTERFACE_END(_param ._nb_port);53 ALLOC1_INTERFACE_END(_param->_nb_port); 54 54 } 55 55 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_deallocation.cpp
r112 r113 24 24 delete in_NRESET; 25 25 26 DELETE1_SIGNAL( in_COUNTER_DATA , _param ._nb_port,_param._size_data);27 DELETE1_SIGNAL( in_COUNTER_ADDSUB, _param ._nb_port,1 );28 DELETE1_SIGNAL(out_COUNTER_DATA , _param ._nb_port,_param._size_data);26 DELETE1_SIGNAL( in_COUNTER_DATA , _param->_nb_port,_param->_size_data); 27 DELETE1_SIGNAL( in_COUNTER_ADDSUB, _param->_nb_port,1 ); 28 DELETE1_SIGNAL(out_COUNTER_DATA , _param->_nb_port,_param->_size_data); 29 29 } 30 30 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_genMealy.cpp
r81 r113 18 18 log_printf(FUNC,Counter,"genMealy","Begin"); 19 19 20 for (uint32_t i=0; i<_param ._nb_port; i++)20 for (uint32_t i=0; i<_param->_nb_port; i++) 21 21 { 22 22 Tcontrol_t addsub = PORT_READ(in_COUNTER_ADDSUB [i]); … … 28 28 if (addsub == 1) 29 29 { 30 if (data_out < _param ._data_max)30 if (data_out < _param->_data_max) 31 31 data_out++; 32 32 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_statistics_declaration.cpp
r81 r113 21 21 22 22 _stat = new Stat (static_cast<std::string>(_name), 23 "Counter",23 _param->_type, 24 24 param_statistics); 25 25 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_vhdl_body.cpp
r81 r113 19 19 vhdl->set_body (""); 20 20 21 for (uint32_t i=0; i<_param ._nb_port; i++)21 for (uint32_t i=0; i<_param->_nb_port; i++) 22 22 { 23 23 std::string counter_inc, counter_dec; 24 24 25 if (_param ._size_data > 1)25 if (_param->_size_data > 1) 26 26 { 27 27 counter_inc = "in_COUNTER_"+toString(i)+"_DATA+1"; … … 35 35 36 36 vhdl->set_body ("out_COUNTER_"+toString(i)+"_DATA <="); 37 if (_param ._size_data > 1)37 if (_param->_size_data > 1) 38 38 { 39 39 vhdl->set_body ("\tin_COUNTER_"+toString(i)+"_DATA+1 when in_COUNTER_"+toString(i)+"_ADDSUB = '1' and in_COUNTER_"+toString(i)+"_DATA < cst_max else"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_vhdl_declaration.cpp
r81 r113 19 19 log_printf(FUNC,Counter,"vhdl_declaration","Begin"); 20 20 21 if (_param ._size_data > 1)21 if (_param->_size_data > 1) 22 22 { 23 vhdl->set_constant ("cst_min",_param ._size_data,std_logic_others(_param._size_data,0));24 vhdl->set_constant ("cst_max",_param ._size_data,std_logic_others(_param._size_data,1));23 vhdl->set_constant ("cst_min",_param->_size_data,std_logic_others(_param->_size_data,0)); 24 vhdl->set_constant ("cst_max",_param->_size_data,std_logic_others(_param->_size_data,1)); 25 25 } 26 26 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters.cpp
r88 r113 16 16 Parameters::Parameters (uint32_t size_data, 17 17 uint32_t nb_port ): 18 behavioural::Parameters("Counter"), 18 19 _size_data(size_data), 19 20 _nb_port (nb_port ), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Divider/Makefile.defs
r112 r113 7 7 # 8 8 9 ENTITY = Divider 10 9 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/Makefile.defs
r112 r113 7 7 # 8 8 9 ENTITY = Multiplier 10 9 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Priority/Makefile.defs
r88 r113 7 7 # 8 8 9 ENTITY = Priority 10 9 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = Queue 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/main.cpp
r101 r113 2 2 * $Id$ 3 3 * 4 * [ 4 * [ Description ] 5 5 * 6 6 */ 7 7 8 #include "Behavioural/Generic/Queue/SelfTest/include/t est.h"8 #include "Behavioural/Generic/Queue/SelfTest/include/top.h" 9 9 10 #define NB_PARAMS 5 10 #ifndef MTI_SYSTEMC 11 # ifndef SYSTEMC 12 int main (int argc, char * argv[]) 13 # else 14 int sc_main (int argc, char * argv[]) 15 # endif 16 { 17 int _return = EXIT_SUCCESS; 11 18 12 void usage (int argc, char * argv[])13 {14 cerr << "<Usage> " << argv[0] << " name_instance list_params" << endl15 << "list_params is :" << endl16 << " - size_queue (uint32_t)" << endl17 << " - size_data (uint32_t)" << endl18 << " - nb_port_slot (uint32_t)" << endl19 << " - have_port_write (bool )" << endl20 << " - have_port_read (bool )" << endl21 << "" << endl;22 23 for (int i=0; i<argc; i++)24 cerr << argv[i] << " ";25 cerr << endl;26 27 exit (1);28 }29 30 #ifndef SYSTEMC31 int main (int argc, char * argv[])32 #else33 int sc_main (int argc, char * argv[])34 #endif35 {36 if (argc != 2+NB_PARAMS)37 usage (argc, argv);38 39 uint32_t x = 1;40 41 const string name = argv[x++];42 const uint32_t size_queue = fromString<uint32_t>(argv[x++]);43 const uint32_t size_data = fromString<uint32_t>(argv[x++]);44 const uint32_t nb_port_slot = fromString<uint32_t>(argv[x++]);45 const bool have_port_write = fromString<bool>(argv[x++]);46 const bool have_port_read = fromString<bool>(argv[x++]);47 19 try 48 20 { 49 morpheo::behavioural::generic::queue::Parameters * param = new morpheo::behavioural::generic::queue::Parameters 50 (size_queue, 51 size_data , 52 nb_port_slot, 53 have_port_write, 54 have_port_read 55 ); 56 57 cout << param->print(1); 58 59 test (name,param); 21 top * my_top = new top ("my_top",argc,argv); 22 23 my_top->test(); 24 25 delete my_top; 60 26 } 61 27 catch (morpheo::ErrorMorpheo & error) 62 28 { 63 cout << "<" << name << "> : " << error.what ();64 exit (EXIT_FAILURE);29 msgError(_("%s\n"),error.what ()); 30 _return = EXIT_FAILURE; 65 31 } 66 catch (...) 32 33 try 67 34 { 68 cerr << "<" << name << "> : This test must generate a error" << endl; 69 exit (EXIT_FAILURE); 35 if (_return == EXIT_SUCCESS) 36 TEST_OK("Queue : no error"); 37 else 38 TEST_KO("Queue : a lot of error"); 39 } 40 catch (morpheo::ErrorMorpheo & error) 41 { 42 // msgError(_("<%s> :\n%s"),name.c_str(), error.what ()); 43 _return = EXIT_FAILURE; 70 44 } 71 45 72 return (EXIT_SUCCESS);46 return _return; 73 47 } 74 48 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_test.cpp
r111 r113 7 7 */ 8 8 9 # define NB_ITERATION 110 # define CYCLE_MAX (2048*NB_ITERATION)9 #include "Behavioural/Generic/Queue/SelfTest/include/top.h" 10 #include "Behavioural/include/Allocation.h" 11 11 12 #include "Behavioural/Generic/Queue/SelfTest/include/test.h" 13 #include "Behavioural/include/Allocation.h" 14 #include "Common/include/Test.h" 15 16 void test (string name, 17 morpheo::behavioural::generic::queue::Parameters * _param) 12 void top::test (void) 18 13 { 19 cout << "<" << name << "> : Simulation SystemC" << endl;20 21 #ifdef STATISTICS22 morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);23 #endif24 25 Tusage_t _usage = USE_ALL;26 27 // _usage = usage_unset(_usage,USE_SYSTEMC );28 // _usage = usage_unset(_usage,USE_VHDL );29 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH );30 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);31 // _usage = usage_unset(_usage,USE_POSITION );32 // _usage = usage_unset(_usage,USE_STATISTICS );33 // _usage = usage_unset(_usage,USE_INFORMATION );34 35 Queue * _Queue = new Queue36 (name.c_str(),37 #ifdef STATISTICS38 _parameters_statistics,39 #endif40 _param,41 _usage);42 43 14 #ifdef SYSTEMC 44 /********************************************************************* 45 * Déclarations des signaux 46 *********************************************************************/ 47 string rename; 48 49 sc_clock * in_CLOCK = new sc_clock ("clock", 1.0, 0.5); 50 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 51 52 ALLOC0_SC_SIGNAL( in_INSERT_VAL , "in_INSERT_VAL" ,Tcontrol_t); 53 ALLOC0_SC_SIGNAL(out_INSERT_ACK ,"out_INSERT_ACK" ,Tcontrol_t); 54 ALLOC0_SC_SIGNAL( in_INSERT_DATA, "in_INSERT_DATA",Tdata_t ); 55 ALLOC0_SC_SIGNAL(out_RETIRE_VAL ,"out_RETIRE_VAL" ,Tcontrol_t); 56 ALLOC0_SC_SIGNAL( in_RETIRE_ACK , "in_RETIRE_ACK" ,Tcontrol_t); 57 ALLOC0_SC_SIGNAL(out_RETIRE_DATA,"out_RETIRE_DATA",Tdata_t ); 58 ALLOC1_SC_SIGNAL(out_SLOT_VAL ,"out_SLOT_VAL" ,Tcontrol_t,_param->_nb_port_slot); 59 ALLOC1_SC_SIGNAL(out_SLOT_DATA ,"out_SLOT_DATA" ,Tdata_t ,_param->_nb_port_slot); 60 ALLOC0_SC_SIGNAL(out_PTR_WRITE ,"out_PTR_WRITE" ,Tptr_t ); 61 ALLOC0_SC_SIGNAL(out_PTR_READ ,"out_PTR_READ" ,Tptr_t ); 62 63 /******************************************************** 64 * Instanciation 65 ********************************************************/ 66 67 cout << "<" << name << "> Instanciation of _Queue" << endl; 68 69 (*(_Queue->in_CLOCK)) (*(in_CLOCK)); 70 (*(_Queue->in_NRESET)) (*(in_NRESET)); 71 72 INSTANCE0_SC_SIGNAL(_Queue, in_INSERT_VAL ); 73 INSTANCE0_SC_SIGNAL(_Queue,out_INSERT_ACK ); 74 INSTANCE0_SC_SIGNAL(_Queue, in_INSERT_DATA); 75 INSTANCE0_SC_SIGNAL(_Queue,out_RETIRE_VAL ); 76 INSTANCE0_SC_SIGNAL(_Queue, in_RETIRE_ACK ); 77 INSTANCE0_SC_SIGNAL(_Queue,out_RETIRE_DATA); 78 INSTANCE1_SC_SIGNAL(_Queue,out_SLOT_VAL ,_param->_nb_port_slot); 79 INSTANCE1_SC_SIGNAL(_Queue,out_SLOT_DATA ,_param->_nb_port_slot); 80 if (_param->_have_port_ptr_write) 81 INSTANCE0_SC_SIGNAL(_Queue,out_PTR_WRITE ); 82 if (_param->_have_port_ptr_read ) 83 INSTANCE0_SC_SIGNAL(_Queue,out_PTR_READ ); 84 85 cout << "<" << name << "> Start Simulation ............" << endl; 86 Time * _time = new Time(); 87 88 /******************************************************** 89 * Simulation - Begin 90 ********************************************************/ 91 92 // Initialisation 93 const int32_t percent_insert_transaction = 75; 94 const int32_t percent_retire_transaction = 75; 95 const uint32_t nb_request = 3*_param->_size_queue; 96 97 const uint32_t seed = 0; 98 //const uint32_t seed = static_cast<uint32_t>(time(NULL)); 99 100 srand(seed); 101 102 SC_START(0); 103 LABEL("Initialisation"); 104 105 in_INSERT_VAL -> write(0); 106 in_RETIRE_ACK -> write(0); 107 108 LABEL("Reset"); 109 in_NRESET->write(0); 110 SC_START(5); 111 in_NRESET->write(1); 112 113 LABEL("Loop of Test"); 114 115 uint32_t data_in = 0; 116 uint32_t data_out = 0; 117 uint32_t nb_elt = 0; 118 119 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) 15 if (usage_is_set(_usage,USE_SYSTEMC)) 120 16 { 121 LABEL("Iteration %d",iteration); 122 123 while (data_out <= nb_request) 124 { 125 in_INSERT_VAL -> write((rand()%100)<percent_insert_transaction); 126 in_INSERT_DATA -> write(data_in); 127 in_RETIRE_ACK -> write((rand()%100)<percent_retire_transaction); 128 129 SC_START(0); // genMoore 130 131 for (uint32_t i=0; i<_param->_nb_port_slot; ++i) 17 msgInformation(_("<%s> : Start Simulation ............\n"),name.c_str()); 18 19 Time * _time = new Time(); 20 21 /******************************************************** 22 * Simulation - Begin 23 ********************************************************/ 24 25 // Initialisation 26 const int32_t percent_insert_transaction = 75; 27 const int32_t percent_retire_transaction = 75; 28 const uint32_t nb_request = 3*_param->_size_queue; 29 30 const uint32_t seed = 0; 31 //const uint32_t seed = static_cast<uint32_t>(time(NULL)); 32 33 srand(seed); 34 35 SC_CYCLE(0); 36 LABEL("Initialisation"); 37 38 in_INSERT_VAL -> write(0); 39 in_RETIRE_ACK -> write(0); 40 41 LABEL("Reset"); 42 in_NRESET->write(0); 43 SC_CYCLE(5); 44 in_NRESET->write(1); 45 46 LABEL("Loop of Test"); 47 48 uint32_t data_in = 0; 49 uint32_t data_out = 0; 50 uint32_t nb_elt = 0; 51 52 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) 53 { 54 LABEL("Iteration %d",iteration); 55 56 while (data_out <= nb_request) 132 57 { 133 TEST(Tcontrol_t, out_SLOT_VAL [i]->read(), (i<nb_elt)); 134 if (i<nb_elt) 135 TEST(Tdata_t , out_SLOT_DATA[i]->read(), data_out+i); 136 58 in_INSERT_VAL -> write((rand()%100)<percent_insert_transaction); 59 in_INSERT_DATA -> write(data_in); 60 in_RETIRE_ACK -> write((rand()%100)<percent_retire_transaction); 61 62 SC_CYCLE(0); // genMoore 63 64 for (uint32_t i=0; i<_param->_nb_port_slot; ++i) 65 { 66 TEST(Tcontrol_t, out_SLOT_VAL [i]->read(), (i<nb_elt)); 67 if (i<nb_elt) 68 TEST(Tdata_t , out_SLOT_DATA[i]->read(), data_out+i); 69 70 } 71 72 if ( in_INSERT_VAL->read() and out_INSERT_ACK->read()) 73 { 74 LABEL ("Transaction with interface : INSERT"); 75 data_in ++; 76 nb_elt ++; 77 } 78 if (out_RETIRE_VAL->read() and in_RETIRE_ACK->read()) 79 { 80 LABEL ("Transaction with interface : RETIRE"); 81 TEST(Tdata_t, out_RETIRE_DATA->read(), data_out); 82 data_out++; 83 nb_elt --; 84 } 85 86 SC_CYCLE(1); 137 87 } 138 139 if ( in_INSERT_VAL->read() and out_INSERT_ACK->read()) 140 { 141 LABEL ("Transaction with interface : INSERT"); 142 data_in ++; 143 nb_elt ++; 144 } 145 if (out_RETIRE_VAL->read() and in_RETIRE_ACK->read()) 146 { 147 LABEL ("Transaction with interface : RETIRE"); 148 TEST(Tdata_t, out_RETIRE_DATA->read(), data_out); 149 data_out++; 150 nb_elt --; 151 } 152 153 SC_START(1); 154 } 88 } 89 90 /******************************************************** 91 * Simulation - End 92 ********************************************************/ 93 94 TEST_OK (""); 95 96 sc_stop(); 97 delete _time; 98 99 msgInformation(_("<%s> : ............ Stop Simulation\n"),name.c_str()); 155 100 } 156 157 /********************************************************158 * Simulation - End159 ********************************************************/160 161 TEST_OK ("End of Simulation");162 delete _time;163 cout << "<" << name << "> ............ Stop Simulation" << endl;164 165 delete in_CLOCK;166 delete in_NRESET;167 168 DELETE0_SC_SIGNAL( in_INSERT_VAL );169 DELETE0_SC_SIGNAL(out_INSERT_ACK );170 DELETE0_SC_SIGNAL( in_INSERT_DATA);171 DELETE0_SC_SIGNAL(out_RETIRE_VAL );172 DELETE0_SC_SIGNAL( in_RETIRE_ACK );173 DELETE0_SC_SIGNAL(out_RETIRE_DATA);174 DELETE1_SC_SIGNAL(out_SLOT_VAL ,_param->_nb_port_slot);175 DELETE1_SC_SIGNAL(out_SLOT_DATA ,_param->_nb_port_slot);176 DELETE0_SC_SIGNAL(out_PTR_WRITE );177 DELETE0_SC_SIGNAL(out_PTR_READ );178 #endif179 180 delete _Queue;181 #ifdef STATISTICS182 delete _parameters_statistics;183 101 #endif 184 102 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters.cpp
r101 r113 21 21 bool have_port_ptr_write, 22 22 bool have_port_ptr_read ): 23 behavioural::Parameters("Queue"), 23 24 _size_queue (size_queue), 24 25 _size_data (size_data ), -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp
r88 r113 33 33 ,_usage (usage) 34 34 { 35 log_printf(FUNC,Queue,FUNCTION,"Begin"); 35 log_begin(Queue,FUNCTION); 36 37 // #if DEBUG_Core == true 38 // log_printf(INFO,Core,FUNCTION,_("<%s> Parameters"),_name.c_str()); 36 39 37 #if DEBUG_Core == true 38 log_printf(INFO,Core,FUNCTION,_("<%s> Parameters"),_name.c_str()); 40 // std::cout << *param << std::endl; 41 // #endif 39 42 40 std::cout << *param << std::endl; 41 #endif 42 43 log_printf(INFO,Queue,FUNCTION,"Allocation"); 43 log_printf(INFO,Queue,FUNCTION,_("<%s> Allocation"),_name.c_str()); 44 44 allocation (); 45 45 … … 47 47 if (usage_is_set(_usage,USE_STATISTICS)) 48 48 { 49 log_printf(INFO,Queue,FUNCTION, "Allocation of statistics");49 log_printf(INFO,Queue,FUNCTION,_("<%s> Allocation of statistics"),_name.c_str()); 50 50 51 51 statistics_declaration(param_statistics); … … 57 57 { 58 58 // generate the vhdl 59 log_printf(INFO,Queue,FUNCTION, "Generate the vhdl");59 log_printf(INFO,Queue,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 60 60 61 61 vhdl(); … … 66 66 if (usage_is_set(_usage,USE_SYSTEMC)) 67 67 { 68 log_printf(INFO,Queue,FUNCTION, "Method - transition");68 log_printf(INFO,Queue,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 69 69 70 70 SC_METHOD (transition); … … 76 76 # endif 77 77 78 log_printf(INFO,Queue,FUNCTION, "Method - genMoore");78 log_printf(INFO,Queue,FUNCTION,_("<%s> Method - genMoore"),_name.c_str()); 79 79 80 80 SC_METHOD (genMoore); … … 88 88 #endif 89 89 } 90 log_ printf(FUNC,Queue,FUNCTION,"End");90 log_end(Queue,FUNCTION); 91 91 }; 92 92 … … 95 95 Queue::~Queue (void) 96 96 { 97 log_ printf(FUNC,Queue,FUNCTION,"Begin");97 log_begin(Queue,FUNCTION); 98 98 99 99 #ifdef STATISTICS 100 100 if (usage_is_set(_usage,USE_STATISTICS)) 101 101 { 102 log_printf(INFO,Queue,FUNCTION, "Generate Statistics file");102 log_printf(INFO,Queue,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 103 103 104 104 delete _stat; … … 106 106 #endif 107 107 108 log_printf(INFO,Queue,FUNCTION, "Deallocation");108 log_printf(INFO,Queue,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 109 109 deallocation (); 110 110 111 log_ printf(FUNC,Queue,FUNCTION,"End");111 log_end(Queue,FUNCTION); 112 112 }; 113 113 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp
r112 r113 9 9 #include "Behavioural/include/Allocation.h" 10 10 11 namespace morpheo 11 namespace morpheo { 12 12 namespace behavioural { 13 13 namespace generic { 14 14 namespace queue { 15 16 17 15 18 16 #undef FUNCTION … … 25 23 26 24 Entity * entity = _component->set_entity (_name 27 , "Queue"25 ,_param->_type 28 26 #ifdef POSITION 29 27 ,COMBINATORY … … 111 109 }; // end namespace queue 112 110 }; // end namespace generic 113 114 111 }; // end namespace behavioural 115 112 }; // end namespace morpheo -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_deallocation.cpp
r101 r113 21 21 log_printf(FUNC,Queue,FUNCTION,"Begin"); 22 22 23 if (usage_is_set(_usage,USE_SYSTEMC))23 // if (usage_is_set(_usage,USE_SYSTEMC)) 24 24 { 25 delete in_CLOCK;26 delete in_NRESET;25 DELETE0_SIGNAL( in_CLOCK ,1); 26 DELETE0_SIGNAL( in_NRESET,1); 27 27 28 28 DELETE0_SIGNAL( in_INSERT_VAL ,1); … … 41 41 if (_param->_have_port_ptr_read ) 42 42 DELETE0_SIGNAL(out_PTR_READ ,_param->_size_ptr); 43 } 43 44 44 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45 if (usage_is_set(_usage,USE_SYSTEMC)) 46 { 47 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 45 48 delete _queue_control; 46 49 delete _queue_data; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_statistics_declaration.cpp
r81 r113 21 21 22 22 _stat = new Stat (static_cast<std::string>(_name), 23 "Queue",23 _param->_type, 24 24 param_statistics); 25 25 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile
r81 r113 8 8 9 9 #-----[ Directory ]---------------------------------------- 10 DIR_MORPHEO = ../../.. 10 DIR_COMPONENT = ./ 11 include $(DIR_COMPONENT)/Makefile.defs 11 12 12 13 #-----[ Library ]------------------------------------------ 13 14 LIBRARY = $(DIR_LIB)/libQueue_Control.a 14 15 16 15 17 #-----[ include ]------------------------------------------ 16 18 17 all : $(LIBRARY_NEED)19 all : 18 20 @$(MAKE) all_component 19 21 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile.deps
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile … … 8 8 # DIR_MORPHEO must be defined 9 9 10 Queue_Control 10 Queue_Control = yes 11 11 12 #-----[ Library ]------------------------------------------ 13 Queue_Control_LIBRARY = -lQueue_Control 12 ifndef Behavioural 13 include $(DIR_MORPHEO)/Behavioural/Makefile.deps 14 endif 14 15 15 Queue_Control_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control/lib 16 #-----[ Library ]------------------------------------------ 17 Queue_Control_LIBRARY = -lQueue_Control \ 18 $(Behavioural_LIBRARY) 16 19 17 #-----[ Rules ]-------------------------------------------- 20 Queue_Control_DIR_LIBRARY = -L$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control/lib \ 21 $(Behavioural_DIR_LIBRARY) 22 23 #-----[ Rules ]-------------------------------------------- 24 25 #.NOTPARALLEL : Queue_Control_library Queue_Control_library_clean 18 26 19 27 Queue_Control_library : 20 28 @\ 21 $(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control --makefile=Makefile ; 22 29 $(MAKE) Behavioural_library;\ 30 $(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control --makefile=Makefile; 31 23 32 Queue_Control_library_clean : 24 33 @\ 34 $(MAKE) Behavioural_library_clean;\ 25 35 $(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control --makefile=Makefile clean; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = RegisterFile 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = RegisterFile_Monolithic 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp
r94 r113 159 159 while (nb_ack < _param->_nb_word) 160 160 { 161 cout << "cycle : " << static_cast<uint32_t> (s c_simulation_time()) << endl;161 cout << "cycle : " << static_cast<uint32_t> (simulation_cycle()) << endl; 162 162 163 163 for (uint32_t num_port=0; num_port < _param->_nb_port_write; num_port ++) … … 232 232 while (nb_ack < _param->_nb_word) 233 233 { 234 cout << "cycle : " << static_cast<uint32_t> (s c_simulation_time()) << endl;234 cout << "cycle : " << static_cast<uint32_t> (simulation_cycle()) << endl; 235 235 236 236 for (uint32_t num_port=0; num_port < _param->_nb_port_read; num_port ++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = RegisterFile_Multi_Banked 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/src/test.cpp
r88 r113 136 136 while (nb_ack < nb_request) 137 137 { 138 cout << "cycle : " << static_cast<uint32_t> (s c_simulation_time()) << endl;138 cout << "cycle : " << static_cast<uint32_t> (simulation_cycle()) << endl; 139 139 140 140 for (uint32_t num_port=0; num_port < _param->_nb_port_write; num_port ++) … … 183 183 while (nb_ack < nb_request) 184 184 { 185 cout << "cycle : " << static_cast<uint32_t> (s c_simulation_time()) << endl;185 cout << "cycle : " << static_cast<uint32_t> (simulation_cycle()) << endl; 186 186 187 187 for (uint32_t num_port=0; num_port < _param->_nb_port_read; num_port ++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp
r88 r113 136 136 while (nb_ack < nb_request) 137 137 { 138 cout << "cycle : " << static_cast<uint32_t> (s c_simulation_time()) << endl;138 cout << "cycle : " << static_cast<uint32_t> (simulation_cycle()) << endl; 139 139 140 140 for (uint32_t num_port=0; num_port < _param->_nb_port_write; num_port ++) … … 184 184 while (nb_ack < nb_request) 185 185 { 186 cout << "cycle : " << static_cast<uint32_t> (s c_simulation_time()) << endl;186 cout << "cycle : " << static_cast<uint32_t> (simulation_cycle()) << endl; 187 187 188 188 for (uint32_t num_port=0; num_port < _param->_nb_port_read; num_port ++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = Select_Priority_Fixed 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/test.cpp
r97 r113 108 108 109 109 sc_start(0); 110 //cout << "{"+toString(static_cast<uint32_t>(s c_simulation_time()))+"} Initialisation" << endl;110 //cout << "{"+toString(static_cast<uint32_t>(simulation_cycle()))+"} Initialisation" << endl; 111 111 112 cout << "{"+toString(static_cast<uint32_t>(s c_simulation_time()))+"} Loop of Test" << endl;112 cout << "{"+toString(static_cast<uint32_t>(simulation_cycle()))+"} Loop of Test" << endl; 113 113 114 114 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = Shifter 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp
r112 r113 147 147 if (param._have_shift_logic_left) 148 148 { 149 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} Test Shift Left Logic" << endl;149 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} Test Shift Left Logic" << endl; 150 150 direction = _left ; 151 151 type = _shift; … … 156 156 else 157 157 { 158 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} No Test Shift Left Logic" << endl;158 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} No Test Shift Left Logic" << endl; 159 159 continue; 160 160 } … … 162 162 if (param._have_shift_logic_right) 163 163 { 164 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} Test Shift Right Logic" << endl;164 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} Test Shift Right Logic" << endl; 165 165 direction = _right; 166 166 type = _shift; … … 171 171 else 172 172 { 173 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} No Test Shift Right Logic" << endl;173 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} No Test Shift Right Logic" << endl; 174 174 continue; 175 175 } … … 177 177 if (param._have_shift_arithmetic_left) 178 178 { 179 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} Test Shift Left Arithmetic" << endl;179 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} Test Shift Left Arithmetic" << endl; 180 180 direction = _left ; 181 181 type = _shift ; … … 186 186 else 187 187 { 188 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} No Test Shift Left Arithmetic" << endl;188 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} No Test Shift Left Arithmetic" << endl; 189 189 continue; 190 190 } … … 192 192 if (param._have_shift_arithmetic_right) 193 193 { 194 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} Test Shift Right Arithmetic" << endl;194 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} Test Shift Right Arithmetic" << endl; 195 195 direction = _right; 196 196 type = _shift; … … 201 201 else 202 202 { 203 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} No Test Shift Right Arithmetic" << endl;203 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} No Test Shift Right Arithmetic" << endl; 204 204 continue; 205 205 } … … 207 207 if ( param._have_rotate_left) 208 208 { 209 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} Test Rotate Left" << endl;209 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} Test Rotate Left" << endl; 210 210 direction = _left ; 211 211 type = _rotate; … … 216 216 else 217 217 { 218 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} No Test Rotate Left" << endl;218 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} No Test Rotate Left" << endl; 219 219 continue; 220 220 } … … 222 222 if (param._have_rotate_right) 223 223 { 224 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} Test Rotate Right" << endl;224 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} Test Rotate Right" << endl; 225 225 direction = _right; 226 226 type = _rotate; … … 231 231 else 232 232 { 233 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "} No Test Rotate Right" << endl;233 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "} No Test Rotate Right" << endl; 234 234 continue; 235 235 } … … 283 283 sc_start(0); 284 284 285 cout << "{" << static_cast<uint32_t>(s c_simulation_time()) << "}" << endl;285 cout << "{" << static_cast<uint32_t>(simulation_cycle()) << "}" << endl; 286 286 287 287 for (uint32_t i=0; i<param._nb_port; i++) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/Makefile.defs
r81 r113 7 7 # 8 8 9 ENTITY = Sort 10 9 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Makefile.defs
r81 r113 7 7 # 8 8 9 ENTITY = Victim 10 9 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../.. -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/Makefile.defs
r81 r113 2 2 # $Id$ 3 3 # 4 # [ 4 # [ Description ] 5 5 # 6 6 # Makefile 7 7 # 8 8 9 #-----[ Directory ]---------------------------------------- 9 ENTITY = Victim_Pseudo_LRU 10 11 #-----[ Directory ]---------------------------------------- 10 12 DIR_COMPONENT_MORPHEO = ../../../.. 11 13 DIR_MORPHEO = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/src/test.cpp
r95 r113 119 119 for (uint32_t k=0; k<param._nb_entity; k++) 120 120 { 121 cout << "time : " << static_cast<uint32_t>(s c_simulation_time()) << endl;121 cout << "time : " << static_cast<uint32_t>(simulation_cycle()) << endl; 122 122 for (uint32_t i=0; i<param._nb_access; i++) 123 123 { … … 165 165 { 166 166 167 cout << "time : " << static_cast<uint32_t>(s c_simulation_time()) << endl;167 cout << "time : " << static_cast<uint32_t>(simulation_cycle()) << endl; 168 168 for (uint32_t i=0; i<param._nb_access; i++) 169 169 {
Note: See TracChangeset
for help on using the changeset viewer.