The problem of allocation and scheduling of SDF actors over the target hardware platform is address by a Constraint Programming (CP) based solver. This component tackles the allocation and scheduling problem in a single stage, using a complete approach: it always finds the optimal solution (max throughput) if given enough time, while sub-optimal, high-quality solutions are returned if the process is stopped earlier.
The Solver requires an input description of hardware, software and cross-domain data in the form of ADL, GDL and MDL documents. A pre-processing step transforms the input SDF graph into the corresponding HSDF graph, with unary rates in GDL start/end endpoints.
The basic idea of the implemented algorithm is to model the effects of mapping choices by means of graph modifications: during the search process, whenever allocation and scheduling decisions are taken, the graph is modified accordingly.
The stage output consists of one more GDL document (referred to as GDL+), which is essentially the input GDL with the addition of allocation and scheduling information: