Changes in sources/src/schedulers.cc [27:17]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/src/schedulers.cc
r27 r17 35 35 */ 36 36 37 #include "sc_module.h" // method_process_t 38 #include "gen_code.h" // gen_scheduling_code_for_dynamic_link & gen_scheduling_code_for_static_func 39 #include "internal.h" // dump_all_graph 40 #include "graph_cass.h" // makegraph 41 #include "process_dependency.h" // MakeProcessDependencyList 42 #include "signal_dependency.h" // MakeSignalDependencyGraph 43 #include "mouchard_scheduling.h" // MakeMouchardScheduling 44 #include "graph_signals.h" // makegraph 45 //#include "module_hierarchy2dot.h" 46 47 #include <cassert> 48 #include <iostream> 49 #include <algorithm> //std::sort 50 51 #ifdef HAVE_CONFIG_H 52 #include "config.h" 53 #endif 37 #include<iostream> 38 #include<algorithm> //std::sort 39 #include"sc_module.h" // method_process_t 40 #include"gen_code.h" // gen_scheduling_code_for_dynamic_link & gen_scheduling_code_for_static_func 41 #include"internal.h" // dump_all_graph 42 #include"graph_cass.h" // makegraph 43 #include"process_dependency.h" // MakeProcessDependencyList 44 #include"signal_dependency.h" // MakeSignalDependencyGraph 45 #include"mouchard_scheduling.h" // MakeMouchardScheduling 46 #include"graph_signals.h" // makegraph 47 //#include"module_hierarchy2dot.h" 48 #include"assert.h" 54 49 55 50 using namespace std; … … 100 95 const method_process_t *a2) 101 96 { 102 assert(a1 != NULL);103 assert(a2 != NULL);97 ASSERT(a1 != NULL); 98 ASSERT(a2 != NULL); 104 99 sc_module *m1 = a1->module; 105 100 sc_module *m2 = a2->module; … … 119 114 addr1.func = a1->func; 120 115 addr2.func = a2->func; 121 assert(addr1.addr_ll != addr2.addr_ll);116 ASSERT(addr1.addr_ll != addr2.addr_ll); 122 117 if ( sizeof(SC_ENTRY_FUNC) == 4 ) { 123 118 return (addr1.addr_l < addr2.addr_l); … … 135 130 const method_process_t *a2) 136 131 { 137 assert(a1 != NULL);138 assert(a2 != NULL);132 ASSERT(a1 != NULL); 133 ASSERT(a2 != NULL); 139 134 return (a1->module < a2->module); 140 135 } … … 145 140 const method_process_t *a2) 146 141 { 147 assert(a1 != NULL);148 assert(a2 != NULL);142 ASSERT(a1 != NULL); 143 ASSERT(a2 != NULL); 149 144 union { 150 145 SC_ENTRY_FUNC func; … … 242 237 { 243 238 SignalDependencyGraph *sig_graph = MakeAcyclicSignalDependencyGraph (); 244 assert(sig_graph != NULL);239 ASSERT(sig_graph != NULL); 245 240 // Create the process evaluation list 246 241 ProcessDependencyList* process_list = MakeMouchardScheduling (*sig_graph); 247 assert(process_list != NULL);242 ASSERT(process_list != NULL); 248 243 249 244 if (dump_all_graph) … … 289 284 // Uses port dependancies like Dr. Mouchard. 290 285 ProcessDependencyList* process_list = BuchmannScheduling (); 291 if (dynamic_link_of_scheduling_code) 292 base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list); 293 else 294 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list); 286 base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list); 287 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list); 295 288 break; 296 289 } … … 302 295 // and does not use an event-driven scheduler. 303 296 ProcessDependencyList* process_list = MouchardScheduling (); 304 if (dynamic_link_of_scheduling_code) 305 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list); 306 else 307 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list); 297 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list); 298 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list); 308 299 break; 309 300 } … … 316 307 graph2dot("module_graph", *g); 317 308 strong_component_list_t *strong_list = strong_component (g); 318 if (dynamic_link_of_scheduling_code) 319 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list); 320 else 321 gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list); 309 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list); 310 gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list); 322 311 break; 323 312 }
Note: See TracChangeset
for help on using the changeset viewer.