So, for example, optimizing together delay and power, i.e.
minimizing both, it is not possible: the power is minimized when
all the transistors are at minimum width, while minimizing
the delay involves to have some transistors (maybe all) at
a width greater than the minimum.
This disagreement among some optimization targets leads to new possible definition(s)
of ``multi-objective'' optimization:
The most suitable policy is the second, because it gives to each target the same priority with different importance. The first alternatives leads to a sub-optimal optimization since: first, the designer must know which are the order of magnitude of the targets, in order to impose a limit on them; second, not the whole space of solutions may be explored with such constraints.
In the case of primary target with relative weights, we have chosen the
sum of relative weights to represents the entire normalized objective
function, that is the sum of relative weights must be equal to one.
Given the results of §4.1.2 (page
) then the
total objective function to be minimized is a linear combination of the
delay (
), power (
) and area (
):
From the point of view of the user of the optimizer, specifying this kind
of weights means to have the possibility to see this weights as a measure of how
much the corresponding target matters in the final solution: for example
specifying
,
and
means that we want to
optimize the delay at the
and the power at the
.
The subtle point in the eq. (5.4) is that the quantities
,
and
are not
commensurable, that is order of magnitude of the quantities may not
be same. Let's think only to the unit of measure: if, for example,
the delay is measured in picosecond (e.g. 1000 ps),
the power is measured in Joule (e.g.
J).
When one quantity is very greater than the others, then
all the changes in the latter quantities disappear in the total sum.
In order to overcome the problem of the non-commensurable quantities
in eq. (5.4), all the terms comprising the sum should be
normalized. The mathematical theory of optimization states that
each term should be normalized dividing them by the optimum
found optimizing only that particular term. This implies an a-priori
knowledge of the optimum of each term, and so of the total weighted sum.
At every moment of the optimization run is possible to know the distance
between the actual solution and the optimum.
This is not practically feasible for a circuit optimization,
since it would involve the run of mono-objective optimizations, one
for each term of the sum, and then the run of the final multi-objective
optimization. This would lead to a total session
of the optimization unacceptable, both for the time it will takes and for
the resources it will occupy.
Thus the normalization applied here is the division of each quantity for its corresponding maximum: a maximum of the delay occurs when all the transistors are at minimum width, while the maximum of the power and of the area is measured when all the transistors are at the maximum allowed width in the optimization session (being careful that choosing a too large maximum allowed width will result in a power and area term too little).
The total normalized optimization objective function becomes then:
Choosing all the combinations of the parameters
,
and
it is possible to obtain
an optimized circuit in which the delay, the power consumption and the area
occupancy account more or less.
| Delay [ps] | Energy [pJ] | Area [
|
||||
| Full-adder | Pre-opt. | Post-opt. | Pre-opt. | Post-opt. | Pre-opt. | Post-opt. |
| 41.2inStatic |
|
|||||
| 1781 | 1156 | 6.475 | 22.34 | 43 | 110.5 | |
|
|
||||||
| 571.3 | 429.5 | 3.155 | 13.63 | 17 | 83.12 | |
| 41.2inTSPC (one-stage) |
|
|||||
| 930.6 | 744.1 | 2.168 | 3.921 | 26 | 62.8 | |
|
|
||||||
| 276.7 | 187.1 | 0.641 | 1.879 | 13 | 41.6 | |
|
|
|
|
||||
| Full-adder |
|
|
|
|
|
|
| 40.8inStatic |
|
|||||
| |
|
|
|
|
||
|
|
||||||
| |
|
|
|
|
|
|
| 40.8inTSPC (one-stage) |
|
|||||
| |
|
|
|
|
||
|
|
||||||
| |
|
|
|
|
||
If for, for example the same full-adder of table 5.3
(page
) are
optimized both for delay and for power in the same measure, i.e.
in equation (5.5)
,
and
, we
obtain the results of table 5.5.
The comparison of the full delay optimization (mono-objective) and
delay-power optimization (multi-objective) is sketched in
table 5.6:
as we can see between the full-delay
optimization and the power-delay optimization (50%-50%) there is
a slightly worsening in the delay of the final circuit (from 5.2% to
46.9%);
at the same time there is
an effective improvement in the power consumption: the power dissipation
decreases from
to
.
A more complete survey of the optimization results of the circuit presented
in this chapter can be found in chapter 7
(page
).