Appendix A - DFG File Format for SCHEDULER:

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_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

  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

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  = Board1Mcm0Pe0
These 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: