The input to the SCHEDULER is an ASCII DFG text file. The format of the DFG input file is a published open-spec described below that can be generated by the CSIM GUI.
The basic format of a DFG file is as follows: (Keywords are in all-caps.)
DEFINE_SUPERNODE: graph_name DEFINE_NODE_INSTANCES: /* This defines the nodes. */ START = task_type compute_time iteration_cnt map_pe node_name1 = task_type compute_time iteration_cnt map_pes node_name2 = task_type compute_time iteration_cnt map_pes EXIT = task_type compute_time iteration_cnt map_pe END_DEFINE_NODE_INSTANCES. DEFINE_GRAPH: /* This defines the arcs and their connections. */ START prt node_name1 prt produce_amt threshold_amt consume_amt init_amt node_name1 prt node_name2 prt produce_amt threshold_amt consume_amt init_amt node_name prt EXIT prt produce_amt threshold_amt consume_amt init_amt END_DEFINE_GRAPH. END_DEFINE_SUPERNODE.To support manual mapping of DFG Nodes to PEs, you may optionally specify the map_PE that you want a node to execute on by specifying the PE (name or number) as an optional parameter.
You can specify a DFG node to execute on a series of PEs by listing the PE sequence instead of specifying a single PE. This can be used to specify round-robin type mappings, and etc..
A macro substitution feature allows you to define frequently referenced constants at the top of your DFG file. This provides an easy way to modify parameters. To define a macro, use the keyword, macro, followed by the macro name you wish to define, followed by an equals sign, and then the value you wish to define it as. For example:
macro FFT_Delay = 0.68 macro FFT_Size = 4096 macro FIR_Node = FFT_Delay macro MATMUL = FFT_DELAY * 40.7 + 2.3 macro PE2 = Board1Mcm0Pe0These macros can then be used anywhere in the DFG file. Their values will be replaced prior to evaluating the DFG. Arbitrary arithmetic expressions will be evaluated for macros.
Comments may be placed anywhere by using the regular C comment syntax; /* comment */.
(Questions, Comments, & Suggestions: admin@csim.com)