Changeset 129
- Timestamp:
- Jun 29, 2009, 6:38:40 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 5 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/SelfTest/src/test.cpp
r128 r129 30 30 31 31 simulation_init(0,0,0,false,false); 32 _model.set_model(NAME_Commit_unit, MODEL_SYSTEMC, true); 32 33 33 34 debug_idle_cycle = CYCLE_MAX; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMealy_commit.cpp
r123 r129 45 45 for (uint32_t i=0; i<_param->_nb_inst_commit; i++) 46 46 { 47 commit_ack 47 commit_ack [i] = false; 48 48 49 49 // Test if have valid instruction … … 51 51 { 52 52 // packet_id number can 53 Tpacket_t packet_id = (_param->_have_port_rob_ptr 53 Tpacket_t packet_id = (_param->_have_port_rob_ptr)?PORT_READ(in_COMMIT_PACKET_ID [i]):0; 54 54 uint32_t num_bank = packet_id & _param->_mask_num_bank; 55 55 uint32_t num_bank_access = bank_nb_access [num_bank]; … … 59 59 { 60 60 // find 61 bank_nb_access 62 commit_ack 61 bank_nb_access [num_bank] ++; 62 commit_ack [i] = true; 63 63 64 64 internal_BANK_COMMIT_VAL [num_bank][num_bank_access] = true; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_genMoore.cpp
r124 r129 30 30 // =================================================================== 31 31 { 32 uint32_t n b_scan_bank = 0; // last scan bank32 uint32_t num_scan_bank = 0; // last scan bank 33 33 bool can_continue = true; 34 34 … … 48 48 Tcontrol_t val = false; 49 49 50 for (uint32_t j=n b_scan_bank; j<_param->_nb_bank; j++)50 for (uint32_t j=num_scan_bank; j<_param->_nb_bank; j++) 51 51 { 52 n b_scan_bank ++;52 num_scan_bank ++; 53 53 54 54 // translate bank number … … 82 82 ); 83 83 84 event_nb_inst [front_end_id][context_id] ++; 85 84 86 can_continue &= (((state == ROB_STORE_OK ) or 85 87 (state == ROB_STORE_OK_WAIT_END ) or … … 90 92 (reg_EVENT_PACKET[front_end_id][context_id] == num_packet)) and 91 93 not ((reg_EVENT_NB_INST [front_end_id][context_id] > 0) and 92 (( ++event_nb_inst [front_end_id][context_id]) >= reg_EVENT_NB_INST [front_end_id][context_id]))94 ((event_nb_inst [front_end_id][context_id]) >= reg_EVENT_NB_INST [front_end_id][context_id])) 93 95 ); 94 96 … … 129 131 // Branchement must be send at the prediction unit 130 132 131 uint32_t n b_scan_bank = 0; // last scan bank133 uint32_t num_scan_bank = 0; // last scan bank 132 134 133 135 // for each port, find a valid branchement. … … 138 140 Tcontrol_t val = false; 139 141 140 for (uint32_t j=n b_scan_bank; j<_param->_nb_bank; j++)142 for (uint32_t j=num_scan_bank; j<_param->_nb_bank; j++) 141 143 { 142 n b_scan_bank ++;144 num_scan_bank ++; 143 145 144 146 // translate bank number -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/SelfTest/src/test.cpp
r128 r129 18 18 morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX); 19 19 #endif 20 21 simulation_init(0,0,0,false,false); 22 _model.set_model(NAME_Rename_unit , MODEL_SYSTEMC, true); 23 _model.set_model(NAME_Load_Store_pointer_unit , MODEL_SYSTEMC, true); 24 _model.set_model(NAME_Register_translation_unit , MODEL_SYSTEMC, true); 25 _model.set_model(NAME_Dependency_checking_unit , MODEL_SYSTEMC, true); 26 _model.set_model(NAME_Free_List_unit , MODEL_SYSTEMC, true); 27 _model.set_model(NAME_Register_Address_Translation_unit, MODEL_SYSTEMC, true); 28 _model.set_model(NAME_Register_translation_unit_Glue , MODEL_SYSTEMC, true); 29 _model.set_model(NAME_Stat_List_unit , MODEL_SYSTEMC, true); 30 _model.set_model(NAME_Rename_select , MODEL_SYSTEMC, true); 31 _model.set_model(NAME_Rename_unit_Glue , MODEL_SYSTEMC, true); 20 32 21 33 Tusage_t _usage = USE_ALL; … … 386 398 in_NRESET->write(1); 387 399 400 #ifdef SELFTEST 388 401 LABEL("Loop of Test"); 389 402 … … 394 407 SC_START(1); 395 408 } 409 #else 410 SC_START(1000); 411 #endif 396 412 397 413 /******************************************************** -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h
r113 r129 23 23 #include "Behavioural/include/Direction.h" 24 24 #include "Behavioural/include/XML.h" 25 #include "Behavioural/include/Debug_signal.h" 25 26 #include "Common/include/ErrorMorpheo.h" 26 27 #include "Common/include/ToBase2.h" … … 159 160 _sc_signal = sc_signal; 160 161 _sc_signal_map = sc_signal; 162 163 DEBUG_SIGNAL_ADD(sc_signal); 161 164 162 165 if (typeid(T) == typeid(bool )) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h
r128 r129 10 10 #define MORPHEO_MAJOR_VERSION "0" 11 11 #define MORPHEO_MINOR_VERSION "2" 12 #define MORPHEO_REVISION "12 8"12 #define MORPHEO_REVISION "129" 13 13 #define MORPHEO_CODENAME "Castor" 14 14 15 #define MORPHEO_DATE_DAY "2 6"15 #define MORPHEO_DATE_DAY "29" 16 16 #define MORPHEO_DATE_MONTH "06" 17 17 #define MORPHEO_DATE_YEAR "2009" -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Model.cpp
r118 r129 16 16 Model::Model (void) 17 17 { 18 log_begin(Behavioural,FUNCTION);18 // log_begin(Behavioural,FUNCTION); 19 19 20 20 set_model(NAME_true ,MODEL_SYSTEMC,true ); 21 21 set_model(NAME_false,MODEL_SYSTEMC,false); 22 22 23 log_end(Behavioural,FUNCTION);23 // log_end(Behavioural,FUNCTION); 24 24 } 25 25 … … 28 28 Model::~Model(void) 29 29 { 30 log_begin(Behavioural,FUNCTION);31 log_end(Behavioural,FUNCTION);30 // log_begin(Behavioural,FUNCTION); 31 // log_end(Behavioural,FUNCTION); 32 32 } 33 33 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Model_get_debug.cpp
r118 r129 16 16 bool Model::get_debug (std::string component) 17 17 { 18 log_begin(Behavioural,FUNCTION);18 // log_begin(Behavioural,FUNCTION); 19 19 20 20 bool _return; … … 27 27 _return = default_debug; 28 28 29 log_end(Behavioural,FUNCTION);29 // log_end(Behavioural,FUNCTION); 30 30 31 31 return _return; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Model_get_type.cpp
r118 r129 16 16 model_type_t Model::get_type (std::string component) 17 17 { 18 log_begin(Behavioural,FUNCTION);18 // log_begin(Behavioural,FUNCTION); 19 19 20 20 model_type_t _return; … … 27 27 _return = default_type; 28 28 29 log_end(Behavioural,FUNCTION);29 // log_end(Behavioural,FUNCTION); 30 30 31 31 return _return; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Model_print.cpp
r118 r129 16 16 void Model::print (void) 17 17 { 18 log_begin(Behavioural,FUNCTION);18 // log_begin(Behavioural,FUNCTION); 19 19 20 20 msgInformation("Model Information [type, model simulation, debug verbosity]\n"); … … 24 24 msgInformation(" * %s\t%s\t%s\n",(it->first).c_str(), toString(it->second.type).c_str(), toString(it->second.debug).c_str()); 25 25 26 log_end(Behavioural,FUNCTION);26 // log_end(Behavioural,FUNCTION); 27 27 } 28 28 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Model_set_model.cpp
r118 r129 16 16 void Model::set_model (std::string component, model_type_t type, bool debug) 17 17 { 18 log_begin(Behavioural,FUNCTION);18 // log_begin(Behavioural,FUNCTION); 19 19 20 20 model_t model; … … 24 24 models [component] = model; 25 25 26 log_end(Behavioural,FUNCTION);26 // log_end(Behavioural,FUNCTION); 27 27 } 28 28 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_link.cpp
r128 r129 27 27 throw (ERRORMORPHEO (FUNCTION,"Signal \""+_name+"\", can't map with signal \""+ get_name()+"\", because the first signal is not already allocate.")); 28 28 if (signal_dest->_is_allocate == false) 29 throw (ERRORMORPHEO (FUNCTION,"Signal \""+_name+"\", can't map with signal \""+signal_dest->get_name()+"\", because the second signal is not already allocate. "));29 throw (ERRORMORPHEO (FUNCTION,"Signal \""+_name+"\", can't map with signal \""+signal_dest->get_name()+"\", because the second signal is not already allocate.\n")); 30 30 31 31 // Test if type is compatible 32 32 if (_type_info != signal_dest->_type_info) 33 throw (ERRORMORPHEO (FUNCTION,toString(_("Signal \"%s\" can't been linked with signal \"%s\" : incompatible type (%s != %s). "),33 throw (ERRORMORPHEO (FUNCTION,toString(_("Signal \"%s\" can't been linked with signal \"%s\" : incompatible type (%s != %s).\n"), 34 34 _name.c_str(), 35 35 signal_dest->get_name().c_str(), … … 54 54 throw (ERRORMORPHEO (FUNCTION,"Signal \""+_name+"\" can't been linked with signal \""+signal_dest->get_name()+"\" : illegal direction ("+toString(signal_src->_direction)+" with "+toString(signal_dest->_direction)+").")); 55 55 56 57 if (_size != signal_dest->get_size()) 58 msgWarning(_("The size of the signal \"%s\" (%d) is different with the signal \"%s\" (%d).\n"), 59 _name.c_str(), 60 _size, 61 signal_dest->get_name().c_str(), 62 signal_dest->get_size()); 56 63 57 64 // Multi consumer is authorized , no to multi producer! -
trunk/IPs/systemC/processor/Morpheo/Common/include/Debug.h
r118 r129 81 81 debug_init(); \ 82 82 \ 83 if (debug_test_simulation_time) \ 84 if ((debug == DEBUG_ALL ) or \ 85 (DEBUG_ ## level == DEBUG_NONE) or \ 86 (( DEBUG_ ## level <= debug) and \ 87 ( morpheo::behavioural::_model.get_debug(NAME_ ## component))) ) \ 88 { \ 89 if (DEBUG_ ## level <= DEBUG_INFO) \ 90 { \ 91 msg("%s ",MSG_INFORMATION); \ 92 } \ 93 else \ 94 { \ 95 msg("%s ",MSG_DEBUG); \ 96 } \ 83 if (debug_test_simulation_time and \ 84 ((debug == DEBUG_ALL ) or \ 85 (( DEBUG_ ## level <= debug) and \ 86 ( morpheo::behavioural::_model.get_debug(NAME_ ## component))))) \ 87 { \ 88 if (DEBUG_ ## level <= DEBUG_INFO) \ 89 { \ 90 msg("%s ",MSG_INFORMATION); \ 91 } \ 92 else \ 93 { \ 94 msg("%s ",MSG_DEBUG); \ 95 } \ 97 96 \ 98 if (debug >= DEBUG_ALL ) \ 99 { \ 100 switch (DEBUG_ ## level) \ 101 { \ 102 case DEBUG_NONE : msg(_("(none ) ")); break; \ 103 case DEBUG_INFO : msg(_("(information) ")); break; \ 104 case DEBUG_TRACE : msg(_("(trace ) ")); break; \ 105 case DEBUG_FUNC : msg(_("(function ) ")); break; \ 106 case DEBUG_ALL : msg(_("(all ) ")); break; \ 107 default : msg(_("(undefine ) ")); break; \ 108 } \ 109 } \ 110 if (debug >= DEBUG_FUNC) \ 111 { \ 112 msg( "<%s> " ,func); \ 113 msg(_("In file %s, "),__FILE__); \ 114 msg(_("at line %d " ),__LINE__); \ 115 msg( ": " ); \ 116 } \ 117 msg(str); \ 118 msg("\n"); \ 119 } \ 97 if (debug >= DEBUG_FUNC) \ 98 { \ 99 msg( "<%s> " ,func); \ 100 msg(_("In file %s, "),__FILE__); \ 101 msg(_("at line %d " ),__LINE__); \ 102 msg( ": " ); \ 103 } \ 104 msg(str); \ 105 msg("\n"); \ 106 } \ 120 107 } while(0) 121 108 -
trunk/IPs/systemC/processor/Morpheo/Common/include/Types.h
r88 r129 10 10 11 11 #include <stdint.h> 12 #include "Behavioural/include/Debug_signal.h" 12 13 13 14 namespace morpheo { … … 41 42 # define SC_OUT(type) sc_out <type > 42 43 43 # define PORT_READ(sig) sig->read()44 # define PORT_WRITE(sig,val) sig->write(val)44 # define PORT_READ(sig) sig->read() 45 # define PORT_WRITE(sig,val) do {DEBUG_SIGNAL_ACCESS(sig); sig->write(val);} while(0) 45 46 //#define INTERNAL_READ(sig) (*sig) 46 47 //#define INTERNAL_WRITE(sig,val) (*sig) = val -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_x1_w8_2.cfg
r128 r129 7 7 <parameter name="nb_inst_fetch" value="8" /> 8 8 <parameter name="ras_size_queue" value="16" /> 9 <parameter name="upt_size_queue" value=" 16" />9 <parameter name="upt_size_queue" value="8" /> 10 10 <parameter name="ufpt_size_queue" value="8" /> 11 11 -
trunk/IPs/systemC/processor/Morpheo/Files/debug.sim
r128 r129 25 25 <parameter name="simulation_file_with_date" value="0" /> 26 26 27 <parameter name="debug_level" value=" 3" />27 <parameter name="debug_level" value="2" /> 28 28 <parameter name="debug_cycle_start" value="0" /> 29 29 <parameter name="debug_cycle_stop" value="100" /> … … 109 109 110 110 <component name="Behavioural" model="systemc" debug="1" /> 111 <component name="Interface" model="systemc" debug=" 1" />112 <component name="Allocation" model="systemc" debug=" 1" />111 <component name="Interface" model="systemc" debug="0" /> 112 <component name="Allocation" model="systemc" debug="0" /> 113 113 114 114 </parameters> -
trunk/Makefile.flags
r117 r129 20 20 #-----[ Flags ]-------------------------------------------- 21 21 MORPHEO_FLAGS = -DSYSTEMC \ 22 -DDEBUG=DEBUG_TRACE \ 22 -DDEBUG=DEBUG_FUNC \ 23 -DDEBUG_SIGNAL \ 23 24 -DSTATISTICS \ 24 25 -DTRANSLATION -
trunk/Makefile.tools
r128 r129 104 104 SYSTEMC_LIBDIR_systemcass_deps = $(SYSTEMC_LIBDIR_systemcass) 105 105 106 SYSTEMC_LIBNAME_systemcass = -lsystemc_g++ -ldl106 SYSTEMC_LIBNAME_systemcass = -lsystemc_g++-d -ldl 107 107 SYSTEMC_LIBNAME_systemcass_deps = $(SYSTEMC_LIBNAME_systemcass) 108 108 -
trunk/Platforms/Test/Makefile
r128 r129 76 76 EXEC = $(PATH_BIN)/soft.x 77 77 EXEC_PREFIX = $(NICE) -n $(PRIORITY) 78 # $(VALGRIND)78 # $(VALGRIND) 79 79 EXEC_PARAMS = $(SYSTEMC_EXEC_PARAMS_$(SIMULATOR_SYSTEMC)) 80 80 … … 175 175 distexe : 176 176 @\ 177 $(ECHO) -n "Generate : $(SCRIPT) ";\ 177 178 $(RM) $(SCRIPT); \ 178 179 for log in $(LOGS); do \ 179 $(ECHO) -n "cd $(MORPHEO_TOPLEVEL); source environment.sh; cd -; path=\"${PWD}\"; " >> $(SCRIPT); \ 180 $(ECHO) -n "."; \ 181 $(ECHO) -n "cd $(MORPHEO_TOPLEVEL); source environment.sh; cd -; path=\"${PWD}\"; " >> $(SCRIPT);\ 180 182 if $(TEST) $(CLEAN) -ne 0; then \ 181 183 $(ECHO) -n "$(RM) $${log}; " >> $(SCRIPT); \ … … 183 185 $(ECHO) "$(MAKE) -C "'$${path}'" $${log} PRIORITY=$(PRIORITY);" >> $(SCRIPT); \ 184 186 done; \ 185 $(CHMOD) +x $(SCRIPT); 187 $(CHMOD) +x $(SCRIPT); \ 188 $(ECHO) " done"; 189 186 190 187 191 $(PATH_LOG)/%.log : $(PATH_DATA)/%.cfg $(EXEC) $(PATH_LOGS) -
trunk/Platforms/Test/data/debug/debug.cfg
r128 r129 2 2 ${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Files/Morpheo.gen 3 3 ${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Files/Instance_x1_w1_0.cfg 4 ${MORPHEO_TOPLEVEL}/Softwares/Test/Test_00 1/bin/soft.x4 ${MORPHEO_TOPLEVEL}/Softwares/Test/Test_000/bin/soft.x 5 5 0 6 6 0 -
trunk/Softwares/MiBench/Makefile
r124 r129 25 25 MIBENCH_DATA_PATH = $(MORPHEO_TOPLEVEL)/Softwares/MiBench/data 26 26 27 FLAGS = -DMIBENCH_DATA_PATH=\"$(MIBENCH_DATA_PATH)\" -DNB_THREAD_MAX=$(NB_THREAD_MAX) 27 FLAGS = -DMIBENCH_DATA_PATH=\"$(MIBENCH_DATA_PATH)\" -DNB_THREAD_MAX=$(NB_THREAD_MAX) $(BENCHS_TYPE) 28 28 29 29 #-----[ Files ]------------------------------------------------------------------- -
trunk/Softwares/MiBench/Makefile.defs
r124 r129 18 18 security.sha \ 19 19 none 20 21 BENCHS_TYPE = -DMIBENCH_SMALL -
trunk/Softwares/MiBench/src/c/benchmark.c
r118 r129 9 9 #endif 10 10 11 #define MiBench_small 12 //#define MiBench_large 11 #if !defined(MIBENCH_SMALL) && !defined(MIBENCH_LARGE) 12 # error "MIBENCH_SMALL or MIBENCH_LARGE must be defined" 13 #endif 13 14 14 15 //-----[ automative ]----------------------------- … … 43 44 printf("***** automative.basicmath - Begin *****\n"); 44 45 45 #ifdef M iBench_small46 #ifdef MIBENCH_SMALL 46 47 main_basicmath_small (); 47 48 #endif 48 #ifdef M iBench_large49 #ifdef MIBENCH_LARGE 49 50 main_basicmath_large (); 50 51 #endif … … 56 57 // [ run_automative_bitcount ] 57 58 //======================================================================================= 58 #ifdef M iBench_small59 #ifdef MIBENCH_SMALL 59 60 void main_bitcount_small (void) 60 61 { … … 81 82 #endif 82 83 83 #ifdef M iBench_large84 #ifdef MIBENCH_LARGE 84 85 void main_bitcount_large (void) 85 86 { … … 110 111 printf("***** automative.bitcount - Begin *****\n"); 111 112 112 #ifdef M iBench_small113 #ifdef MIBENCH_SMALL 113 114 main_bitcount_small (); 114 115 #endif 115 #ifdef M iBench_large116 #ifdef MIBENCH_LARGE 116 117 main_bitcount_large (); 117 118 #endif … … 123 124 // [ run_automative_qsort ] 124 125 //======================================================================================= 125 #ifdef M iBench_small126 #ifdef MIBENCH_SMALL 126 127 void _main_qsort_small (void) 127 128 { … … 150 151 #endif 151 152 152 #ifdef M iBench_large153 #ifdef MIBENCH_LARGE 153 154 void _main_qsort_large (void) 154 155 { … … 181 182 printf("***** automative.qsort - Begin *****\n"); 182 183 183 #ifdef M iBench_small184 #ifdef MIBENCH_SMALL 184 185 _main_qsort_small (); 185 186 #endif 186 #ifdef M iBench_large187 #ifdef MIBENCH_LARGE 187 188 _main_qsort_large (); 188 189 #endif … … 194 195 // [ run_automative_susan ] 195 196 //======================================================================================= 196 #ifdef M iBench_small197 #ifdef MIBENCH_SMALL 197 198 void main_susan_small (void) 198 199 { … … 261 262 #endif 262 263 263 #ifdef M iBench_large264 #ifdef MIBENCH_LARGE 264 265 void main_susan_large (void) 265 266 { … … 332 333 printf("***** automative.susan - Begin *****\n"); 333 334 334 #ifdef M iBench_small335 #ifdef MIBENCH_SMALL 335 336 main_susan_small (); 336 337 #endif 337 #ifdef M iBench_large338 #ifdef MIBENCH_LARGE 338 339 main_susan_large (); 339 340 #endif … … 346 347 //======================================================================================= 347 348 348 #ifdef M iBench_small349 #ifdef MIBENCH_SMALL 349 350 void main_dijkstra_small (void) 350 351 { … … 379 380 380 381 381 #ifdef M iBench_large382 #ifdef MIBENCH_LARGE 382 383 void main_dijkstra_large (void) 383 384 { … … 415 416 printf("***** network.dijkstra - Begin *****\n"); 416 417 417 #ifdef M iBench_small418 #ifdef MIBENCH_SMALL 418 419 main_dijkstra_small (); 419 420 #endif 420 #ifdef M iBench_large421 #ifdef MIBENCH_LARGE 421 422 main_dijkstra_large (); 422 423 #endif … … 432 433 printf("***** office.stringsearch - Begin *****\n"); 433 434 434 #ifdef M iBench_small435 #ifdef MIBENCH_SMALL 435 436 main_stringsearch_small (); 436 437 #endif 437 #ifdef M iBench_large438 #ifdef MIBENCH_LARGE 438 439 main_stringsearch_large (); 439 440 #endif … … 445 446 // [ run_security_sha ] 446 447 //======================================================================================= 447 #ifdef M iBench_small448 #ifdef MIBENCH_SMALL 448 449 void main_sha_small (void) 449 450 { … … 472 473 #endif 473 474 474 #ifdef M iBench_large475 #ifdef MIBENCH_LARGE 475 476 void main_sha_large (void) 476 477 { … … 503 504 printf("***** security.sha - Begin *****\n"); 504 505 505 #ifdef M iBench_small506 #ifdef MIBENCH_SMALL 506 507 main_sha_small (); 507 508 #endif 508 #ifdef M iBench_large509 #ifdef MIBENCH_LARGE 509 510 main_sha_large (); 510 511 #endif
Note: See TracChangeset
for help on using the changeset viewer.