Changeset 38 for sources/src/schedulers.cc
- Timestamp:
- Jul 21, 2009, 3:28:11 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/src/schedulers.cc
r33 r38 201 201 } 202 202 203 203 SignalDependencyGraph* sig_graph = MakeSignalDependencyGraph (); 204 204 205 205 if (dump_all_graph) 206 206 SignalDependencyGraph2dot ("signal_graph",*sig_graph); 207 207 208 209 210 208 if (!Check (*sig_graph)) 209 { 210 cerr << "The signal dependency graph is not valid.\n"; 211 211 exit (29092004); 212 212 } 213 213 214 214 #if 1 … … 219 219 } 220 220 #endif 221 222 221 222 // There is a cycle in the signal dependency graph ? 223 223 Graph *sig_knuth = makegraph (*sig_graph); 224 224 strong_component_list_t *s = strong_component(sig_knuth); 225 225 226 226 if (dump_all_graph) 227 227 SignalDependencyOrder2txt ("signal_order",*s); 228 228 229 230 231 229 if (has_cycle (*s)) 230 { 231 cerr << "Error : There is a cycle in the signal dependency graph.\n"; 232 232 #if 0 233 233 print_cycle (cerr, get_cycle (*s)); 234 234 #endif 235 235 exit (24092004); 236 236 } 237 237 return sig_graph; 238 238 } … … 249 249 250 250 if (dump_all_graph) 251 252 253 251 ProcessDependencyList2dot ("process_order",*process_list); 252 253 return process_list; 254 254 } 255 255 … … 260 260 SignalDependencyGraph *sig_graph = MakeAcyclicSignalDependencyGraph (); 261 261 // Create the process evaluation list 262 262 ProcessDependencyList* process_list = MakeProcessDependencyList (*sig_graph); 263 263 264 264 if (dump_all_graph) 265 266 267 265 ProcessDependencyList2dot ("process_order",*process_list); 266 267 return process_list; 268 268 } 269 269 … … 290 290 // Uses port dependancies like Dr. Mouchard. 291 291 ProcessDependencyList* process_list = BuchmannScheduling (); 292 293 294 295 292 if (dynamic_link_of_scheduling_code) 293 base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list); 294 else 295 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list); 296 296 break; 297 297 } … … 303 303 // and does not use an event-driven scheduler. 304 304 ProcessDependencyList* process_list = MouchardScheduling (); 305 306 307 308 305 if (dynamic_link_of_scheduling_code) 306 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list); 307 else 308 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list); 309 309 break; 310 310 } … … 317 317 graph2dot("module_graph", *g); 318 318 strong_component_list_t *strong_list = strong_component (g); 319 320 321 322 319 if (dynamic_link_of_scheduling_code) 320 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list); 321 else 322 gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list); 323 323 break; 324 324 }
Note: See TracChangeset
for help on using the changeset viewer.