The Constraint page is your starting point for any constraint modeling activity. Some patterns are provided to facilitate the definition of constraints.
Below, we give an overview of the constraint patterns available so far:
- Allocation;
- Function Coupling;
- Safety Level;
- Memory Utilization.
Allocation
By selecting a task in the table on the left, and a (HW) execution unit on the right you can add an allocation or dislocation constraint.
Allocation: the selected task(s) must be mapped to one of the selected hardware units.
Dislocation: the selected task(s) must NOT be mapped to any of the selected hardware units.
In the figure above, we are creating a constraint that requires the allocation of Task_Component to either Core01 or Core02.
Function Coupling
In the Function Coupling Pattern you are allowed to force some tasks to be deployed into the same/distinct (HW) execution units.
First select a set of tasks in the table on the left, and then select either Coupling or Decoupling in the option button on the right.
Coupling: the selected tasks must be mapped to the same execution unit.
Decoupling: the selected tasks must be to distinct execution units.
In the figure above, e.g., we are coupling the tasks Task_Component and Task_Component1.
Safety Level
In the Safety Level Pattern you are allowed to specify the allocated safety level of each HW execution unit by modifying the values in the table. E.g., if you specify that Core03 must be lower than SIL2, a constraint is created that forces all tasks deployed into Core03 to have a safety level lower than SIL2.
Memory Utilization
In the Memory Utilization Pattern you are allowed to specify (as a percentage value) the amount of memory that can be used by tasks allocated to a given execution unit. In order to do so, just modify the values in the last column of the table. In the figure above, e.g., we are specifying that the tasks allocated to Core01 can only use 50% of its memory.
As you can notice from the figure, in the DSE Navigator on the left the constraints just defined appear listed as Target Definition steps.