29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

248 Chapter 19<br />

the associated control <strong>de</strong>pen<strong>de</strong>nce corresponds to a data <strong>de</strong>pen<strong>de</strong>nce on the<br />

predicate values(<strong>de</strong>noted p and p!). Accordingly, the operations shown in bold<br />

in Figure 19-1, Figure 19-2 and Figure 19-3 show operations that are predicated<br />

on the predicate values(either p or p!).<br />

Also note that speculation modifies the original CDFG. Consi<strong>de</strong>r, <strong>for</strong><br />

example, the CDFG shown in Figure 19-2(a) and its modified version shown<br />

in Figure 19-3(a) obtained by speculating an addition operation (labeled a)<br />

using the SSA-PS trans<strong>for</strong>mation [9]. As can be seen in Figure 19-3(a), the<br />

data <strong>de</strong>pen<strong>de</strong>nce of that addition operation to predicate p was eliminated and<br />

a operation, reconciling the renamed variable to its original value, was<br />

ad<strong>de</strong>d. For more <strong>de</strong>tails on the SSA-PS trans<strong>for</strong>mation, see [9].<br />

To illustrate how the load profiles used in the optimization process are<br />

calculated, consi<strong>de</strong>r again the CDFG in Figure 19-1. Note that the load profile<br />

is calculated <strong>for</strong> a given target profile latency(greater than the critical path of<br />

the CDFG). First, As Soon As Possible (ASAP) and As Late As Possible<br />

(ALAP) scheduling is per<strong>for</strong>med to <strong>de</strong>termine the scheduling range of each<br />

operation. For the example, operation a in Figure 19-1 has a scheduling range<br />

of 2 steps (i.e. step 1 and step 2), while all other operations have a scheduling<br />

range of a single step. The mobility of an operation is <strong>de</strong>fined as

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!