Synthesis

The Synthesis page is your starting point for generating mappings from tasks to hardware execution units or to generate strictly time-triggered task schedules. Therefore, it allows to select constraints and objectives to define the design space and optimization goals that can be launched from this view.

1. Selecting a Synthesis Type

First, a synthesis type such as deployment (of tasks onto execution units) or (task) scheduling is selected at the top of the view. Afterwards, the constraints and objectives that are applicable for the selected synthesis types become visible. If multiple synthesis types are selected, the selected solver performs a joint synthesis.

2. Creating Rule Sets

Before a synthesis is launched, so-called rule sets are typically created. They group constraints and objectives, respectively. For instance, constraints on the allocation of tasks to execution units can be grouped together.

To create a rule set, the constraints or objectives constituting a rule set must be selected in the left-hand tables. Then, the "Create Rule Set" button must be pressed to create one and let it appear in the corresponding table on the right-hand side. There, it can be renamed to carry an expressive name.

3. Launching a Synthesis

Two different exploration types to perform a synthesis are supported: A constraint-satisfying synthesis and an optimizing one that optimizes the system towards the selected design goals (i.e., objectives).

A constraint-satisfying synthesis is started by selecting rules sets from the table in the blue box. In the green box, a solver must be selected that actually performs the synthesis. By clicking the button "Configure", the solver can be configured and termination criteria such as timeouts can be defined (see below). By clicking "Check Feasibility", a constraint-satisfying synthesis is launched.

To launch an optimizing synthesis, similar steps apply that are described in the following.

In order to define the design space and goals for an optimizing, rule sets from both tables that are surrounded by the blue box must be selected. Again, a solver must be selected that can also be configured (green box). By clicking "Optimize", the optimizing synthesis is launched.