Changeset 114
- Timestamp:
- Apr 17, 2009, 12:35:37 AM (16 years ago)
- Location:
- trunk
- Files:
-
- 29 added
- 1 deleted
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/Environment/Cache/src/Cache_MultiLevel_update_access.cpp
r81 r114 20 20 // if (latence != 0) 21 21 // { 22 // std::cout << "<Cache_MultiLevel::update_access> after all update, latence must be null." << std::endl;22 // _cout(CACHE,"after all update, latence must be null.\n"); 23 23 // exit(1); 24 24 // } -
trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access.cpp
r101 r114 30 30 case SYNCHRONIZATION : return access_synchronization (num_port,address,trdid ); break; 31 31 case CACHED : return access_cached (num_port,address,trdid,dir); break; 32 default : std::cout << "<Cache_Onelevel.access> unknow type : " << std::endl; exit(1); break;32 default : _cerr("<Cache_Onelevel.access> unknow type\n"); exit(1); break; 33 33 } 34 34 } -
trunk/IPs/systemC/Environment/Common/include/Debug.h
r88 r114 11 11 #define DEBUG_TTY true 12 12 13 // #ifdef DEBUG14 13 # define _cout(component, str...) \ 15 14 do \ … … 21 20 } \ 22 21 while(0) 23 // #else 24 // # define _cout(component, str...) 25 // do 26 // { 27 // } 28 // while(0) 29 // #endif 22 23 # define _cerr(str...) \ 24 do \ 25 { \ 26 fprintf(stderr,str); \ 27 } \ 28 while(0) 30 29 31 30 #endif -
trunk/IPs/systemC/Environment/Makefile
r113 r114 45 45 all : 46 46 @\ 47 $(MAKE) all_environment; \48 47 $(MAKE) --directory=$(DIR_CACHE) all; \ 49 48 $(MAKE) --directory=$(DIR_DATA) all; \ … … 56 55 57 56 58 $(LIBRARY_FILE) : $( Environment_OBJECTS_DEPS)57 $(LIBRARY_FILE) : $(DIR_LIB) $(Environment_OBJECTS_DEPS) 59 58 @\ 60 59 $(ECHO) "Archive : $@";\ 61 $(ECHO) "Archive : $@";\62 $(MKDIR) $(DIR_LIB);\63 60 $(AR) -r $@ $(Environment_OBJECTS_DEPS);\ 64 61 $(RANLIB) $@; -
trunk/IPs/systemC/Environment/Makefile.Environment
r113 r114 29 29 $(CXX) $(MORPHEO_L_FLAGS) -o $@ $^ $(LIBNAME); 30 30 31 $(DIR_OBJ) 31 $(DIR_OBJ) $(DIR_BIN) : 32 32 @\ 33 33 $(ECHO) "Create directory : $@";\ 34 34 $(MKDIR) $@ 35 36 $(DIR_BIN) :37 @\38 $(ECHO) "Create directory : $@";\39 $(MKDIR) $@40 41 35 42 36 exe : all $(DIR_BIN) -
trunk/IPs/systemC/Environment/src/Environment_transition.cpp
r101 r114 130 130 if (bus_error == true) 131 131 { 132 std::cout << "Icache : have a bus error" << std::endl 133 << " * entity : " << i << std::endl 134 << " * port : " << j << std::endl 135 << std::hex 136 << " * req_addr : " << address << std::endl 137 << std::dec 138 << " * req_trdid : " << context << std::endl 139 << " * req_pktid : " << packet << std::endl; 132 _cout(ENVIRONMENT," * Icache : have a bus error\n"); 133 _cout(ENVIRONMENT," * entity : %d\n",i); 134 _cout(ENVIRONMENT," * port : %d\n",j); 135 _cout(ENVIRONMENT," * req_addr : %x\n",address); 136 _cout(ENVIRONMENT," * req_trdid : %d\n",context); 137 _cout(ENVIRONMENT," * req_pktid : %d\n",packet ); 140 138 141 139 // Write in instruction [0] the bad address (only 32bit ....) … … 211 209 data::Entity entity = component_data->entity(static_cast<uint32_t>(address),nb_bytes); 212 210 213 std::cout << entity << std::endl;211 // std::cout << entity << std::endl; 214 212 215 213 // Test the type of the address … … 377 375 if (must_write == false) 378 376 { 379 std::cerr << "<Environment::transition> SIM2OS[0] is not accessible in Read" << std::endl;377 _cerr("<Environment::transition> SIM2OS[0] is not accessible in Read\n"); 380 378 bus_error = true; 381 379 } … … 391 389 if (must_read == false) 392 390 { 393 std::cerr << "<Environment::transition> SIM2OS[1] is not accessible in Write" << std::endl;391 _cerr("<Environment::transition> SIM2OS[1] is not accessible in Write\n"); 394 392 bus_error = true; 395 393 } … … 408 406 if (must_read == false) 409 407 { 410 std::cerr << "<Environment::transition> SIM2OS[2] is not accessible in Write" << std::endl;408 _cerr("<Environment::transition> SIM2OS[2] is not accessible in Write\n"); 411 409 bus_error = true; 412 410 } … … 426 424 if (must_write == false) 427 425 { 428 std::cerr << "<Environment::transition> SIM2OS[" << num_reg << "] is not accessible in Read" << std::endl;426 _cerr("<Environment::transition> SIM2OS[%d] is not accessible in Read\n",num_reg); 429 427 bus_error = true; 430 428 } … … 443 441 default : 444 442 { 445 std::cerr << "<Environment::transition> Dcache_req : Unknow type" << std::endl;443 _cerr("<Environment::transition> Dcache_req : Unknow type\n"); 446 444 exit(1); 447 445 break; … … 482 480 if (bus_error == true) 483 481 { 484 std::cout << "Dcache : have a bus error" << std::endl 485 << " * entity : " << i << std::endl 486 << " * port : " << j << std::endl 487 << std::hex 488 << " * req_addr : 0x" << address << std::endl 489 << std::dec 490 << " * req_trdid : " << context << std::endl 491 << " * req_pktid : " << packet << std::endl; 482 _cout(ENVIRONMENT," * Dcache : have a bus error\n"); 483 _cout(ENVIRONMENT," * entity : %d\n",i); 484 _cout(ENVIRONMENT," * port : %d\n",j); 485 _cout(ENVIRONMENT," * req_addr : 0x%x\n",address); 486 _cout(ENVIRONMENT," * req_trdid : %d\n",context); 487 _cout(ENVIRONMENT," * req_pktid : %d\n",packet ); 492 488 493 489 // Write in data [0] the bad address (32bit or 64bits ) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration.cpp
r110 r114 66 66 if (fromString<bool>(_simulator->getParam("use_statistics"))) 67 67 _usage = usage_set(_usage, USE_STATISTICS); 68 if (fromString<bool>(_simulator->getParam("use_information")))69 _usage = usage_set(_usage, USE_INFORMATION);68 // if (fromString<bool>(_simulator->getParam("use_information"))) 69 // _usage = usage_set(_usage, USE_INFORMATION); 70 70 if (fromString<bool>(_simulator->getParam("use_header"))) 71 71 _usage = usage_set(_usage, USE_HEADER); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp
r113 r114 141 141 142 142 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 _param_queue = new morpheo::behavioural::generic::queue::Parameters 144 (_param->_size_queue, 145 _param->_size_internal_queue, 146 _param->_nb_bypass_write, 147 false, 148 false 149 ); 150 151 std::string queue_name = _name + "_queue"; 152 _component_queue = new morpheo::behavioural::generic::queue::Queue 153 (queue_name.c_str() 143 #ifdef VHDL 144 if (usage_is_set(_usage,USE_VHDL)) 145 { 146 _param_queue = new morpheo::behavioural::generic::queue::Parameters 147 (_param->_size_queue, 148 _param->_size_internal_queue, 149 _param->_nb_bypass_write, 150 false, 151 false 152 ); 153 154 std::string queue_name = _name + "_queue"; 155 _component_queue = new morpheo::behavioural::generic::queue::Queue 156 (queue_name.c_str() 154 157 #ifdef STATISTICS 155 ,NULL158 ,NULL 156 159 #endif 157 ,_param_queue158 ,USE_VHDL);159 160 _component->set_component(_component_queue->_component160 ,_param_queue 161 ,USE_VHDL); 162 163 _component->set_component(_component_queue->_component 161 164 #ifdef POSITION 162 , 50, 50, 50, 50165 , 50, 50, 50, 50 163 166 #endif 164 , INSTANCE_LIBRARY 165 ); 167 , INSTANCE_LIBRARY 168 ); 169 } 170 #endif 166 171 167 172 #ifdef POSITION -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp
r113 r114 427 427 instruction_log_file [num_thread] 428 428 << "[" << simulation_cycle() << "] " 429 << "{" << ((retire_ok)?" OK ":"!KO!") << "} "430 429 << std::hex 431 << "0x" << entry->address << " (0x" << (entry->address<<2) << ") "430 << (entry->address<<2) << " (" << (entry->address) << ") " 432 431 << std::dec 433 432 << "[" << entry->cycle_rob_in << ", " << entry->cycle_commit << "] " 433 << "{" << ((retire_ok)?" OK ":"!KO!") << "} " 434 434 << std::endl; 435 435 #endif -
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h
r113 r114 10 10 #define MORPHEO_MAJOR_VERSION "0" 11 11 #define MORPHEO_MINOR_VERSION "2" 12 #define MORPHEO_REVISION "11 3"12 #define MORPHEO_REVISION "114" 13 13 #define MORPHEO_CODENAME "Castor" 14 14 15 #define MORPHEO_DATE_DAY "1 4"15 #define MORPHEO_DATE_DAY "17" 16 16 #define MORPHEO_DATE_MONTH "04" 17 17 #define MORPHEO_DATE_YEAR "2009" -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
r112 r114 1 1 <?xml version="1.0" encoding="ISO-8859-1" ?> 2 2 3 <core name="Instance_ debug">3 <core name="Instance_min"> 4 4 5 5 <thread id="0"> 6 <parameter name="size_ifetch_queue" value=" 32" />7 <parameter name="nb_inst_fetch" value=" 8" />8 <parameter name="ras_size_queue" value=" 8" />9 <parameter name="upt_size_queue" value=" 8" />10 <parameter name="ufpt_size_queue" value=" 4" />6 <parameter name="size_ifetch_queue" value="1" /> 7 <parameter name="nb_inst_fetch" value="1" /> 8 <parameter name="ras_size_queue" value="2" /> 9 <parameter name="upt_size_queue" value="1" /> 10 <parameter name="ufpt_size_queue" value="1" /> 11 11 12 12 <group id="0"> … … 16 16 17 17 <decod_bloc id="0"> 18 <parameter name="size_decod_queue" value="1 6"/>19 <parameter name="decod_queue_scheme" value=" 1" />20 <parameter name="nb_inst_decod" value=" 4" />18 <parameter name="size_decod_queue" value="1" /> 19 <parameter name="decod_queue_scheme" value="0" /> 20 <parameter name="nb_inst_decod" value="1" /> 21 21 <parameter name="nb_context_select" value="1" /> 22 22 <parameter name="context_select_priority" value="1" /> … … 25 25 26 26 <rename_bloc id="0"> 27 <parameter name="nb_inst_insert" value=" 4" />28 <parameter name="nb_inst_retire" value=" 4" />27 <parameter name="nb_inst_insert" value="1" /> 28 <parameter name="nb_inst_retire" value="1" /> 29 29 <parameter name="rename_select_priority" value="1" /> 30 30 <parameter name="rename_select_load_balancing" value="1" /> 31 31 <parameter name="rename_select_nb_front_end_select" value="1" /> 32 <parameter name="nb_general_register" value=" 256"/>33 <parameter name="nb_special_register" value=" 128" />34 <parameter name="nb_reg_free" value=" 8" />35 <parameter name="nb_rename_unit_bank" value=" 8" />32 <parameter name="nb_general_register" value="64"/> 33 <parameter name="nb_special_register" value="4" /> 34 <parameter name="nb_reg_free" value="1" /> 35 <parameter name="nb_rename_unit_bank" value="1" /> 36 36 </rename_bloc> 37 37 38 <read_bloc id="0 ,1,2,3">39 <parameter name="size_read_queue" value=" 4" />40 <parameter name="size_reservation_station" value=" 4" />38 <read_bloc id="0"> 39 <parameter name="size_read_queue" value="1" /> 40 <parameter name="size_reservation_station" value="1" /> 41 41 <parameter name="nb_inst_retire_reservation_station" value="1" /> 42 42 </read_bloc> 43 44 <write_bloc id="0 ,1,2,3,4,5,6">45 <parameter name="size_write_queue" value=" 4" />46 <parameter name="size_execute_queue" value=" 4" />43 44 <write_bloc id="0"> 45 <parameter name="size_write_queue" value="1" /> 46 <parameter name="size_execute_queue" value="1" /> 47 47 <parameter name="nb_bypass_write" value="0" /> 48 48 </write_bloc> 49 49 50 50 <load_store_unit id="0"> 51 <parameter name="size_store_queue" value=" 16" />52 <parameter name="size_load_queue" value=" 8" />53 <parameter name="size_speculative_access_queue" value=" 4" />54 <parameter name="nb_port_check" value=" 4" />51 <parameter name="size_store_queue" value="2" /> 52 <parameter name="size_load_queue" value="1" /> 53 <parameter name="size_speculative_access_queue" value="1" /> 54 <parameter name="nb_port_check" value="1" /> 55 55 <parameter name="speculative_load" value="2" /> 56 56 <parameter name="nb_bypass_memory" value="0" /> … … 59 59 </load_store_unit> 60 60 61 <functionnal_unit id="0 ,1">61 <functionnal_unit id="0"> 62 62 <parameter name="nb_inst_functionnal_unit" value="1" /> 63 63 … … 69 69 <timing type="6" latence="1" delay="1" /> 70 70 <timing type="7" latence="1" delay="1" /> 71 </functionnal_unit>72 73 <functionnal_unit id="2">74 <parameter name="nb_inst_functionnal_unit" value="1" />75 76 71 <timing type="8" latence="1" delay="1" /> 77 72 <timing type="10" latence="1" delay="1" /> … … 83 78 <parameter name="nb_inst_branch_decod" value="1" /> 84 79 <parameter name="nb_inst_branch_update" value="1" /> 85 <parameter name="btb_size_queue" value=" 256" />86 <parameter name="btb_associativity" value=" 8" />80 <parameter name="btb_size_queue" value="1" /> 81 <parameter name="btb_associativity" value="1" /> 87 82 <parameter name="btb_size_counter" value="2" /> 88 <parameter name="btb_victim_scheme" value=" 3" />89 <parameter name="dir_predictor_scheme" value=" 4" />83 <parameter name="btb_victim_scheme" value="1" /> 84 <parameter name="dir_predictor_scheme" value="1" /> 90 85 91 86 <predictor id="0"> 92 <parameter name="dir_have_bht" value="0" /> 93 <parameter name="dir_bht_size_shifter" value="1" /> 94 <parameter name="dir_bht_nb_shifter" value="64" /> 95 <parameter name="dir_have_pht" value="1" /> 96 <parameter name="dir_pht_size_counter" value="2" /> 97 <parameter name="dir_pht_nb_counter" value="16" /> 98 <parameter name="dir_pht_size_address_share" value="0" /> 87 <parameter name="dir_have_bht" value="0" /> 88 <parameter name="dir_have_pht" value="0" /> 99 89 </predictor> 90 100 91 <predictor id="1"> 101 <parameter name="dir_have_bht" value="1" /> 102 <parameter name="dir_bht_size_shifter" value="4" /> 103 <parameter name="dir_bht_nb_shifter" value="1" /> 104 <parameter name="dir_have_pht" value="1" /> 105 <parameter name="dir_pht_size_counter" value="2" /> 106 <parameter name="dir_pht_nb_counter" value="64" /> 107 <parameter name="dir_pht_size_address_share" value="0" /> 92 <parameter name="dir_have_bht" value="0" /> 93 <parameter name="dir_have_pht" value="0" /> 108 94 </predictor> 95 109 96 <predictor id="2"> 110 97 <parameter name="dir_have_bht" value="0" /> 111 <parameter name="dir_have_pht" value="1" /> 112 <parameter name="dir_pht_size_counter" value="2" /> 113 <parameter name="dir_pht_nb_counter" value="128" /> 114 <parameter name="dir_pht_size_address_share" value="0" /> 115 </predictor> 98 <parameter name="dir_have_pht" value="0" /> 99 </predictor> 116 100 </front_end> 117 101 118 102 <ooo_engine id="0"> 119 103 <parameter name="nb_rename_unit" value="1" /> 120 <parameter name="nb_inst_issue" value=" 4" />104 <parameter name="nb_inst_issue" value="1" /> 121 105 <parameter name="nb_inst_reexecute" value="1" /> 122 <parameter name="nb_inst_commit" value=" 4" />106 <parameter name="nb_inst_commit" value="1" /> 123 107 <parameter name="nb_inst_branch_complete" value="1" /> 124 108 <parameter name="nb_rename_unit_select" value="1" /> 125 109 <parameter name="nb_execute_loop_select" value="1" /> 126 <parameter name="size_re_order_buffer" value=" 64"/>127 <parameter name="nb_re_order_buffer_bank" value=" 64" />110 <parameter name="size_re_order_buffer" value="1" /> 111 <parameter name="nb_re_order_buffer_bank" value="1" /> 128 112 <parameter name="commit_priority" value="1" /> 129 113 <parameter name="commit_load_balancing" value="1" /> 130 <parameter name="size_issue_queue" value=" 8" />131 <parameter name="nb_issue_queue_bank" value=" 4" />114 <parameter name="size_issue_queue" value="1" /> 115 <parameter name="nb_issue_queue_bank" value="1" /> 132 116 <parameter name="issue_queue_scheme" value="0" /> 133 117 <parameter name="issue_priority" value="1" /> 134 118 <parameter name="issue_load_balancing" value="1" /> 135 <parameter name="size_reexecute_queue" value=" 4" />119 <parameter name="size_reexecute_queue" value="1" /> 136 120 <parameter name="reexecute_priority" value="1" /> 137 121 <parameter name="reexecute_load_balancing" value="1" /> … … 139 123 140 124 <execute_loop id="0"> 141 <parameter name="nb_read_unit" value="4" /> 142 <parameter name="nb_write_unit" value="7" /> 143 <parameter name="nb_execute_unit" value="4" /> 125 <parameter name="nb_read_unit" value="1" /> 126 <parameter name="nb_write_unit" value="1" /> 144 127 <parameter name="nb_gpr_bank" value="1" /> 145 <parameter name="nb_gpr_port_read_by_bank" value=" 8" />146 <parameter name="nb_gpr_port_write_by_bank" value=" 4" />128 <parameter name="nb_gpr_port_read_by_bank" value="1" /> 129 <parameter name="nb_gpr_port_write_by_bank" value="1" /> 147 130 <parameter name="nb_spr_bank" value="1" /> 148 <parameter name="nb_spr_port_read_by_bank" value=" 4" />149 <parameter name="nb_spr_port_write_by_bank" value=" 4" />131 <parameter name="nb_spr_port_read_by_bank" value="1" /> 132 <parameter name="nb_spr_port_write_by_bank" value="1" /> 150 133 <parameter name="execution_unit_to_write_unit_priority" value="1" /> 151 134 <parameter name="read_unit_to_execution_unit_priority" value="1" /> 135 136 <execute_unit id="1"> 137 <link name="link_execute_unit_with_load_store_unit" src="0"/> 138 </execute_unit> 139 <execute_unit id="0"> 140 <link name="link_execute_unit_with_functionnal_unit" src="0"/> 141 </execute_unit> 142 152 143 </execute_loop> 153 144 … … 168 159 <link name="link_rename_unit_with_rename_bloc" src="0" dest="0.0" /> 169 160 <link name="link_read_unit_with_read_bloc" src="0" dest="0.0" /> 170 <link name="link_read_unit_with_read_bloc" src="1" dest="0.1" />171 <link name="link_read_unit_with_read_bloc" src="2" dest="0.2" />172 <link name="link_read_unit_with_read_bloc" src="3" dest="0.3" />173 161 <link name="link_write_unit_with_write_bloc" src="0" dest="0.0" /> 174 <link name="link_write_unit_with_write_bloc" src="1" dest="0.1" />175 <link name="link_write_unit_with_write_bloc" src="2" dest="0.2" />176 <link name="link_write_unit_with_write_bloc" src="3" dest="0.3" />177 <link name="link_write_unit_with_write_bloc" src="4" dest="0.4" />178 <link name="link_write_unit_with_write_bloc" src="5" dest="0.5" />179 <link name="link_write_unit_with_write_bloc" src="6" dest="0.6" />180 162 <link name="link_decod_bloc_with_thread" src="0" dest="0" /> 181 163 <link name="link_rename_bloc_with_front_end" src="0" dest="0" /> 182 164 <link name="link_load_store_unit_with_thread" src="0" dest="0" /> 183 184 <link name="link_execute_unit_with_load_store_unit" src="0" dest="0.0"/>185 <link name="link_execute_unit_with_functionnal_unit" src="0" dest="0.1"/>186 <link name="link_execute_unit_with_functionnal_unit" src="1" dest="0.2"/>187 <link name="link_execute_unit_with_functionnal_unit" src="2" dest="0.3"/>188 165 189 166 <link name="link_icache_port_with_thread" src="0" dest="0" /> … … 191 168 192 169 <link name="table_dispatch" src="0.0.0" dest="1" /> 193 <link name="table_dispatch" src="0.1.0" dest="0" />194 <link name="table_dispatch" src="0.2.0" dest="0" />195 <link name="table_dispatch" src="0.3.0" dest="0" />196 197 <link name="table_dispatch" src="0.0.1" dest="0" />198 <link name="table_dispatch" src="0.1.1" dest="1" />199 <link name="table_dispatch" src="0.2.1" dest="0" />200 <link name="table_dispatch" src="0.3.1" dest="0" />201 202 <link name="table_dispatch" src="0.0.2" dest="0" />203 <link name="table_dispatch" src="0.1.2" dest="0" />204 <link name="table_dispatch" src="0.2.2" dest="1" />205 <link name="table_dispatch" src="0.3.2" dest="0" />206 207 <link name="table_dispatch" src="0.0.3" dest="0" />208 <link name="table_dispatch" src="0.1.3" dest="0" />209 <link name="table_dispatch" src="0.2.3" dest="0" />210 <link name="table_dispatch" src="0.3.3" dest="1" />211 212 170 <link name="link_read_bloc_and_load_store_unit" src="0.0" dest="1" /> 213 <link name="link_read_bloc_and_load_store_unit" src="1.0" dest="0" /> 214 <link name="link_read_bloc_and_load_store_unit" src="2.0" dest="0" /> 215 <link name="link_read_bloc_and_load_store_unit" src="3.0" dest="0" /> 216 <link name="link_read_bloc_and_functionnal_unit" src="0.0" dest="0" /> 217 <link name="link_read_bloc_and_functionnal_unit" src="1.0" dest="1" /> 218 <link name="link_read_bloc_and_functionnal_unit" src="2.0" dest="1" /> 219 <link name="link_read_bloc_and_functionnal_unit" src="3.0" dest="0" /> 220 <link name="link_read_bloc_and_functionnal_unit" src="0.1" dest="0" /> 221 <link name="link_read_bloc_and_functionnal_unit" src="1.1" dest="1" /> 222 <link name="link_read_bloc_and_functionnal_unit" src="2.1" dest="1" /> 223 <link name="link_read_bloc_and_functionnal_unit" src="3.1" dest="0" /> 224 <link name="link_read_bloc_and_functionnal_unit" src="0.2" dest="0" /> 225 <link name="link_read_bloc_and_functionnal_unit" src="1.2" dest="0" /> 226 <link name="link_read_bloc_and_functionnal_unit" src="2.2" dest="0" /> 227 <link name="link_read_bloc_and_functionnal_unit" src="3.2" dest="1" /> 171 <link name="link_read_bloc_and_functionnal_unit" src="0.0" dest="1" /> 228 172 <link name="link_write_bloc_and_load_store_unit" src="0.0" dest="1" /> 229 <link name="link_write_bloc_and_load_store_unit" src="1.0" dest="1" /> 230 <link name="link_write_bloc_and_load_store_unit" src="2.0" dest="0" /> 231 <link name="link_write_bloc_and_load_store_unit" src="3.0" dest="0" /> 232 <link name="link_write_bloc_and_load_store_unit" src="4.0" dest="0" /> 233 <link name="link_write_bloc_and_load_store_unit" src="5.0" dest="0" /> 234 <link name="link_write_bloc_and_load_store_unit" src="6.0" dest="0" /> 235 <link name="link_write_bloc_and_functionnal_unit" src="0.0" dest="0" /> 236 <link name="link_write_bloc_and_functionnal_unit" src="1.0" dest="0" /> 237 <link name="link_write_bloc_and_functionnal_unit" src="2.0" dest="1" /> 238 <link name="link_write_bloc_and_functionnal_unit" src="3.0" dest="1" /> 239 <link name="link_write_bloc_and_functionnal_unit" src="4.0" dest="1" /> 240 <link name="link_write_bloc_and_functionnal_unit" src="5.0" dest="0" /> 241 <link name="link_write_bloc_and_functionnal_unit" src="6.0" dest="0" /> 242 <link name="link_write_bloc_and_functionnal_unit" src="0.1" dest="0" /> 243 <link name="link_write_bloc_and_functionnal_unit" src="1.1" dest="0" /> 244 <link name="link_write_bloc_and_functionnal_unit" src="2.1" dest="1" /> 245 <link name="link_write_bloc_and_functionnal_unit" src="3.1" dest="1" /> 246 <link name="link_write_bloc_and_functionnal_unit" src="4.1" dest="1" /> 247 <link name="link_write_bloc_and_functionnal_unit" src="5.1" dest="0" /> 248 <link name="link_write_bloc_and_functionnal_unit" src="6.1" dest="0" /> 249 <link name="link_write_bloc_and_functionnal_unit" src="0.2" dest="0" /> 250 <link name="link_write_bloc_and_functionnal_unit" src="1.2" dest="0" /> 251 <link name="link_write_bloc_and_functionnal_unit" src="2.2" dest="0" /> 252 <link name="link_write_bloc_and_functionnal_unit" src="3.2" dest="0" /> 253 <link name="link_write_bloc_and_functionnal_unit" src="4.2" dest="0" /> 254 <link name="link_write_bloc_and_functionnal_unit" src="5.2" dest="1" /> 255 <link name="link_write_bloc_and_functionnal_unit" src="6.2" dest="1" /> 256 173 <link name="link_write_bloc_and_functionnal_unit" src="0.0" dest="1" /> 257 174 <link name="link_thread_and_functionnal_unit" src="0.0" dest="1" /> 258 <link name="link_thread_and_functionnal_unit" src="0.1" dest="1" />259 <link name="link_thread_and_functionnal_unit" src="0.2" dest="1" />260 175 261 176 </core> -
trunk/IPs/systemC/processor/Morpheo/Files/Instance_min.cfg
r112 r114 17 17 <decod_bloc id="0"> 18 18 <parameter name="size_decod_queue" value="1" /> 19 <parameter name="decod_queue_scheme" value="0" /> 19 20 <parameter name="nb_inst_decod" value="1" /> 20 21 <parameter name="nb_context_select" value="1" /> … … 61 62 <parameter name="nb_inst_functionnal_unit" value="1" /> 62 63 63 <timing type="0" latence="1" delay="1" /> 64 <timing type="0" latence="1" delay="1" /> 65 <timing type="1" latence="1" delay="1" /> 66 <timing type="2" latence="1" delay="1" /> 67 <timing type="3" latence="1" delay="1" /> 68 <timing type="4" latence="1" delay="1" /> 69 <timing type="6" latence="1" delay="1" /> 70 <timing type="7" latence="1" delay="1" /> 71 <timing type="8" latence="1" delay="1" /> 72 <timing type="10" latence="1" delay="1" /> 64 73 </functionnal_unit> 65 74 … … 76 85 77 86 <predictor id="0"> 78 <parameter name="dir_have_bht" value="1" /> 79 <parameter name="dir_bht_size_shifter" value="1" /> 80 <parameter name="dir_bht_nb_shifter" value="1" /> 81 <parameter name="dir_have_pht" value="1" /> 82 <parameter name="dir_pht_size_counter" value="1" /> 83 <parameter name="dir_pht_nb_counter" value="1" /> 84 <parameter name="dir_pht_size_address_share" value="1" /> 87 <parameter name="dir_have_bht" value="0" /> 88 <parameter name="dir_have_pht" value="0" /> 85 89 </predictor> 86 90 87 91 <predictor id="1"> 88 <parameter name="dir_have_bht" value="1" /> 89 <parameter name="dir_bht_size_shifter" value="1" /> 90 <parameter name="dir_bht_nb_shifter" value="1" /> 91 <parameter name="dir_have_pht" value="1" /> 92 <parameter name="dir_pht_size_counter" value="1" /> 93 <parameter name="dir_pht_nb_counter" value="1" /> 94 <parameter name="dir_pht_size_address_share" value="1" /> 92 <parameter name="dir_have_bht" value="0" /> 93 <parameter name="dir_have_pht" value="0" /> 95 94 </predictor> 96 95 97 96 <predictor id="2"> 98 <parameter name="dir_have_bht" value="1" /> 99 <parameter name="dir_bht_size_shifter" value="1" /> 100 <parameter name="dir_bht_nb_shifter" value="1" /> 101 <parameter name="dir_have_pht" value="1" /> 102 <parameter name="dir_pht_size_counter" value="1" /> 103 <parameter name="dir_pht_nb_counter" value="1" /> 104 <parameter name="dir_pht_size_address_share" value="1" /> 97 <parameter name="dir_have_bht" value="0" /> 98 <parameter name="dir_have_pht" value="0" /> 105 99 </predictor> 106 100 </front_end> … … 120 114 <parameter name="size_issue_queue" value="1" /> 121 115 <parameter name="nb_issue_queue_bank" value="1" /> 116 <parameter name="issue_queue_scheme" value="0" /> 122 117 <parameter name="issue_priority" value="1" /> 123 118 <parameter name="issue_load_balancing" value="1" /> -
trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.sim
r113 r114 8 8 <parameter name="use_vhdl_testbench_assert" value="0" /> 9 9 <parameter name="use_position" value="0" /> 10 <parameter name="use_statistics" value=" 0" />10 <parameter name="use_statistics" value="1" /> 11 11 <parameter name="use_information" value="0" /> 12 <parameter name="use_header" value=" 0" />12 <parameter name="use_header" value="1" /> 13 13 14 14 <parameter name="statistics_cycle_start" value="5" /> 15 15 <parameter name="statistics_period" value="0" /> 16 16 17 <parameter name="simulation_nb_cycle" value="100000 "/>17 <parameter name="simulation_nb_cycle" value="10000000"/> 18 18 <parameter name="simulation_nb_instruction" value="0" /> 19 19 … … 24 24 25 25 <parameter name="debug_level" value="0" /> 26 <parameter name="debug_cycle_start" value=" 300" />27 <parameter name="debug_cycle_stop" value=" 450" />26 <parameter name="debug_cycle_start" value="600" /> 27 <parameter name="debug_cycle_stop" value="827" /> 28 28 <parameter name="debug_have_log_file" value="0" /> 29 29 <parameter name="debug_idle_cycle" value="100" /> -
trunk/Makefile.flags
r113 r114 6 6 7 7 #-----[ Simulator ]---------------------------------------- 8 #SIMULATOR ?= modelsim9 8 SIMULATOR ?= systemcass 10 9 … … 18 17 MORPHEO_FLAGS = -DSYSTEMC \ 19 18 -DDEBUG=DEBUG_TRACE \ 20 -DDEBUG_MEMORY_LEAK \21 19 -DSTATISTICS \ 22 20 -DVHDL \ … … 27 25 # -DPRINT_COLOR \ 28 26 # -DPOSITION \ 29 # 27 # -DDEBUG_MEMORY_LEAK \ 28 30 29 31 30 -
trunk/Makefile.tools
r113 r114 38 38 MSGFMT = msgfmt 39 39 DISTCC = /users/chaos/kane/Softwares/distcc/bin/distcc 40 CC_PREFIX = $(DISTCC) 40 #CC_PREFIX = $(DISTCC) 41 CC_PREFIX = 41 42 CC_FLAGS_COMMON = -O2 \ 42 43 -Wall \ -
trunk/Makefile.tools_path
r113 r114 33 33 MODELTECH = /users/outil/m1archi/M2/modeltech 34 34 MODELTECH_LICENCE = /users/soft/mentor/mgls_v8-5_0-5-0.ss5/etc/cust/mgc/license.anacad.2008 35 OR1K = /users/c ao/kane/Softwares/or32-elf35 OR1K = /users/chaos/kane/Softwares/or32-elf 36 36 NEWLIB = /users/chaos/kane/Softwares/newlib/or32-elf 37 37 QT = /dsk/l1/misc/kane/qt-x11-opensource-4.2.3 -
trunk/Platforms/Test/Makefile
r113 r114 29 29 #---------------------------------------------------------- 30 30 ENTITY = Test 31 SIMULATOR = modelsim32 31 33 32 DIR_TMP = $(MORPHEO_TMP) -
trunk/Platforms/Test/src/test.cpp
r112 r114 322 322 sc_clock * CLOCK = new sc_clock ("clock", 1.0, 0.5); 323 323 sc_signal<Tcontrol_t> * NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 324 325 sc_signal<Tcontrol_t > ** ICACHE_REQ_VAL ; 326 sc_signal<Tcontrol_t > ** ICACHE_REQ_ACK ; 327 sc_signal<Ticache_context_t > ** ICACHE_REQ_THREAD_ID ; 328 sc_signal<Ticache_packet_t > ** ICACHE_REQ_PACKET_ID ; 329 sc_signal<Ticache_address_t > ** ICACHE_REQ_ADDRESS ; 330 sc_signal<Ticache_type_t > ** ICACHE_REQ_TYPE ; 331 332 sc_signal<Tcontrol_t > ** ICACHE_RSP_VAL ; 333 sc_signal<Tcontrol_t > ** ICACHE_RSP_ACK ; 334 sc_signal<Ticache_context_t > ** ICACHE_RSP_THREAD_ID ; 335 sc_signal<Ticache_packet_t > ** ICACHE_RSP_PACKET_ID ; 336 sc_signal<Ticache_instruction_t> *** ICACHE_RSP_INSTRUCTION; 337 sc_signal<Ticache_error_t > ** ICACHE_RSP_ERROR ; 338 339 sc_signal<Tcontrol_t > ** DCACHE_REQ_VAL ; 340 sc_signal<Tcontrol_t > ** DCACHE_REQ_ACK ; 341 sc_signal<Tdcache_context_t > ** DCACHE_REQ_THREAD_ID ; 342 sc_signal<Tdcache_packet_t > ** DCACHE_REQ_PACKET_ID ; 343 sc_signal<Tdcache_address_t > ** DCACHE_REQ_ADDRESS ; 344 sc_signal<Tdcache_data_t > ** DCACHE_REQ_WDATA ; 345 sc_signal<Tdcache_type_t > ** DCACHE_REQ_TYPE ; 346 347 sc_signal<Tcontrol_t > ** DCACHE_RSP_VAL ; 348 sc_signal<Tcontrol_t > ** DCACHE_RSP_ACK ; 349 sc_signal<Tdcache_context_t > ** DCACHE_RSP_THREAD_ID ; 350 sc_signal<Tdcache_packet_t > ** DCACHE_RSP_PACKET_ID ; 351 sc_signal<Tdcache_data_t > ** DCACHE_RSP_RDATA ; 352 sc_signal<Tdcache_error_t > ** DCACHE_RSP_ERROR ; 353 354 sc_signal<Tcontrol_t > ** INTERRUPT_ENABLE ; 324 355 325 356 ALLOC1_SC_SIGNAL(ICACHE_REQ_VAL ,"ICACHE_REQ_VAL ",Tcontrol_t ,morpheo->_nb_icache_port); -
trunk/Softwares/Dhrystone/src/c/dhry21a.c
r112 r114 255 255 User_Time = End_Time - Begin_Time; 256 256 257 if (User_Time < Too_Small_Time) 257 // if (User_Time < Too_Small_Time) 258 // { 259 //#ifdef HAVE_DOUBLE 260 // printf ("Measured time too small to obtain meaningful results : %f\n",User_Time); 261 //#else 262 // printf ("Measured time too small to obtain meaningful results : %d\n",User_Time); 263 //#endif 264 // printf ("Please increase number of runs\n"); 265 // printf ("\n"); 266 // } 267 // else 258 268 { 259 printf ("Measured time too small to obtain meaningful results : %f\n",User_Time); 260 printf ("Please increase number of runs\n"); 261 printf ("\n"); 262 } 263 else 264 { 269 #ifdef HAVE_DOUBLE 265 270 Microseconds = User_Time * Mic_secs_Per_Second / (DOUBLE) Number_Of_Runs; 266 271 Dhrystones_Per_Second = (DOUBLE) Number_Of_Runs / User_Time; 267 272 Vax_Mips = Dhrystones_Per_Second / 1757.0; 273 #else 274 Microseconds = User_Time / (DOUBLE) Number_Of_Runs; 275 #endif 268 276 269 277 #ifdef ROPT … … 274 282 #endif 275 283 284 #ifdef HAVE_DOUBLE 276 285 printf ("Microseconds for one run through Dhrystone : %.1lf \n",Microseconds); 277 286 printf ("Dhrystones per Second : %.1lf \n",Dhrystones_Per_Second); 278 287 printf ("VAX MIPS rating : %.3lf \n",Vax_Mips); 288 #else 289 printf ("Begin_Time : %d\n",Begin_Time); 290 printf ("End_Time : %d\n",End_Time ); 291 printf ("User_Time : %d\n",User_Time ); 292 printf ("Numbers of cycle for one run through Dhrystone : %d \n",Microseconds); 293 #endif 279 294 printf ("\n"); 280 295 … … 283 298 fprintf(Ap,"%s\n",Reg_Define); 284 299 300 #ifdef HAVE_DOUBLE 285 301 fprintf(Ap,"Microseconds for one loop : %.1lf\n",Microseconds); 286 302 fprintf(Ap,"Dhrystones per second : %.1lf\n",Dhrystones_Per_Second); 287 303 fprintf(Ap,"VAX MIPS rating : %.3lf\n",Vax_Mips); 304 #else 305 fprintf(Ap,"Numbers of cycle for one loop : %.1d\n",Microseconds); 306 #endif 288 307 } 289 308 fclose(Ap); 290 309 return 0; 291 292 310 } 293 311 -
trunk/Softwares/Dhrystone/src/c/dtime.c
r112 r114 65 65 66 66 #ifndef MHZ 67 #define MHZ (1000000 )67 #define MHZ (1000000.0) 68 68 #endif //!MHZ 69 69 … … 72 72 #endif //!FRQ 73 73 74 #ifndef DOUBLE75 #define double76 #endif77 78 74 DOUBLE dtime() 79 75 { 80 76 DOUBLE q; 81 77 82 /* q = (DOUBLE)(my_times())/(DOUBLE)FRQ; */ 78 #ifdef HAVE_DOUBLE 79 q = (DOUBLE)(my_times())/(DOUBLE)FRQ; 80 #else 83 81 q = (DOUBLE)(my_times()); 84 82 #endif 83 85 84 return (q); 86 85 } -
trunk/Softwares/Dhrystone/src/c/main.c
r112 r114 12 12 int main() 13 13 { 14 printf("cycle : %f\n",dtime()); 15 16 /* dhry21(100); */ 17 18 14 dhry21(100); 15 19 16 exit (0); 20 17 -
trunk/Softwares/Dhrystone/src/include/dhry.h
r112 r114 338 338 /* Compiler and system dependent definitions: */ 339 339 340 #define DOUBLE float 341 #define Mic_secs_Per_Second 1000000.0 340 #ifndef Morpheo 341 # define HAVE_DOUBLE 342 #endif 343 344 #ifdef HAVE_DOUBLE 345 # define DOUBLE float 346 # define Mic_secs_Per_Second 1000000.0 347 #else 348 # define DOUBLE unsigned int 349 # define Mic_secs_Per_Second 1000000 350 #endif 342 351 343 352 DOUBLE dtime (); -
trunk/Softwares/Makefile.Software
r112 r114 81 81 $(OR32_LD) -o $@ $^ $(OR32_LD_OPT); \ 82 82 $(ECHO) "List symbols : $*.x.nm"; \ 83 $(OR32_NM) $(OR32_NM_OPT) $ ^> $@.nm; \83 $(OR32_NM) $(OR32_NM_OPT) $@ > $@.nm; \ 84 84 $(ECHO) "Display info : $*.x.txt"; \ 85 85 $(OR32_OBJDUMP) $(OR32_OBJDUMP_OPT) $@ > $@.txt;\ -
trunk/Softwares/Test/Test_066/src/c/main.c
r112 r114 14 14 int main() 15 15 { 16 /* printf("Hello World !!!\n"); */ 16 printf("Hello World !!!\n"); 17 17 18 for (int i=0; i<20; ++i)19 printf("i : %d\n",i);20 21 18 exit (0); 22 19 -
trunk/Softwares/Test/Test_067/src/c/main.c
r112 r114 14 14 int main() 15 15 { 16 FILE * file = fopen("Test_067.txt","w"); 17 18 if (file == NULL) 19 exit (1); 20 21 fprintf(file,"Hello World !!!\n"); 22 23 if (fclose (file) != 0) 24 exit (2); 16 for (int i=0; i<10; ++i) 17 printf("i : %d\n",i); 25 18 26 19 exit (0);
Note: See TracChangeset
for help on using the changeset viewer.