Commit 246fdef9 authored by Simon Barner's avatar Simon Barner
Browse files

YELLOW

Issue-Ref: 4230
Issue-Url: af3#4230

Signed-off-by: Tiziano Munaro's avatarTiziano Munaro <munaro@fortiss.org>
parent 226c1a71
deployment_synthesis.html abec1553fa6b0861b84eacb414695421ad38ede7 RED
deployment_synthesis.html 9e904a05050b9e3ffc104a212f46b293b3e7fc8d YELLOW
dse.MainPage.html 5d36c9d4d962b848dd1451e0fef485b0ea2570c8 GREEN
dse_dashboard.html 29e2e51725134a8cffbae8da580c9f2a212fd8ec GREEN
dse_perspective.html 51a34d5048498d4834ea5a64d9203563db94f364 GREEN
scheduling_synthesis.html 724d40843bd951acc106156b6dc2599a6adf1626 GREEN
synthesis.html 3edffbb53d550c8e12a403083086b0515a8a24ce RED
synthesis.html 3edffbb53d550c8e12a403083086b0515a8a24ce YELLOW
visualization.html 2f4f8ce6c358f630d16713da1ee7732e1c27065a GREEN
......@@ -30,43 +30,72 @@
<p> The <b>deployment synthesis</b> enables to explore the allocation of tasks to execution
units w.r.t. to the constraints and objectives described on this page.
</p>
<p>
As you can notice from some of the figures below, the defined constraints/objectives
are listed as <i>Target Definition</i> in the <i>DSE Navigator</i> on the left.
</p>
<h2>Constraints</h2>
<h3>Allocation</h3>
<img src="pictures/Allocation.png", width = "100%"/>
<p>
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.
By selecting a task in the table on the left, and a (HW) execution unit on the right
you can add an <b>Allocation</b> or <b>Dislocation</b> constraint.
<ul>
<li><b>Allocation</b>: the selected task(s) must be mapped to one of the selected hardware units.</li>
<li><b>Dislocation</b>: the selected task(s) must NOT be mapped to any of the selected hardware units.</li>
</ul>
In the figure above, we are creating a constraint that requires the allocation of <i>Task_Component</i> to either <i>Core01</i> or <i>Core02</i>.
In the figure above, we have created a constraint that requires the allocation of <i>Task_AccelerationControl</i>
to <i>PowertrainECU</i>, and that disallows the allocation of <i>Task_DistanceControl</i> to <i>HeadUnitECU</i>.
</p>
<h3>Function Coupling</h3>
<img src="pictures/Coupling.png", width = "100%"/>
<p>
In the <b>Function Coupling</b> 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.
The <b>Function Coupling</b> Pattern you allows to force some tasks to be deployed
into the same/distinct (HW) execution units. Note that the constraint does not specify
to which HW execution unit the tasks should be allocated.
</p>
<p>
First select a set of tasks in the table on the left, and then select either <b>Coupling</b>
or <b>Decoupling</b> in the option button on the right.
<ul>
<li><b>Coupling</b>: the selected tasks must be mapped to the same execution unit.</li>
<li><b>Decoupling</b>: the selected tasks must be to distinct execution units.</li>
</ul>
In the figure above, e.g., we are <i>coupling</i> the tasks <i>Task_Component</i> and <i>Task_Component1</i>.
In the figure above, e.g., we are coupling the tasks <i>Task_DistanceControl</i>
and <i>Task_AccellerationControl</i>.
</p>
<h3>Memory Utilization</h3>
<img src="pictures/Memory.png", width = "100%"/>
<p>
In the <b>Memory Utilization</b> 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 <i>Core01</i> 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.
The <b>Memory Utilization</b> Pattern allows to specify the percentage of flash memory
that may be used by tasks allocated to a given execution unit.
As a prerequisite, the pattern requires the specification of the amount of available
flash memory in the respective annotation of the execution units, and the
flash requirements of Tasks in the <i>Task Memory Mapping</i> table, respectively
(both in the <i>Modelling Perspective</i>). The admissible memory utilization ratio
considered for the application of the constraint has to entered into the second column
of the table.
</p>
<p>
In the figure above, e.g., we are specifying that the tasks allocated to <i>HeadUnitECU</i>
may only use up to 60% of the available 104876 bytes of flash memory.
</p>
<h3>Safety Level</h3>
<img src="pictures/Safety.png", width = "100%"/>
<p>
In the <b>Safety Level</b> 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 <i>Core03</i> must be lower than SIL2, a constraint is created that forces all tasks deployed into <i>Core03</i> to have a safety level lower than SIL2.
The <b>Safety Level</b> Pattern allows to specify the ECUs for which the safety level
constraint should be enabled. This means that no tasks referring to components with a
safety level higher than specified in the <i>safety integratity level</i> annotation
of the respective execution may be deployed onto them.
</p>
<p> In the example above, only tasks with an ASIL of up to ASIL-C may be allocated
to <i>HeadUnitECU</i> (ASIL-D for <i>PowertrainECU</i>).
</p>
<h2>Objectives</h2>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment