Next: References
Up: Behavioral Level Synthesis Targeting
Previous: Power Optimal Module Allocation
We present a dynamic programming technique for solving the multiple
supply voltage scheduling problem in both non-pipelined and functionally
pipelined data-paths. The scheduling problem refers to the
assignment
of a supply voltage level (selected from a fixed and known
number of voltage levels) to each operation in a data flow graph
so as to minimize the
average energy consumption for given computation time or
throughput constraints or both. The energy model is accurate and
accounts for the input pattern dependencies, re-convergent
fanout induced dependencies, and the energy cost of level
shifters.
Experimental results show that using four supply
voltage levels on a number of standard benchmarks,
an average energy saving of 43.74%
(with a computation time constraint of
1.5 times the critical path delay)
can be obtained compared to using a single supply voltage level.
The published version of this work
appears in [ChPe96b].
The summary and contributions of this work are as follows.
- We presented a dynamic programming approach for assigning voltage levels
to the modules in non-pipelined and functionally pipelined data-paths
- Although one can reduce the energy consumption by using a single lowered
supply voltage on the circuit and use pipelining or parallelism on
whole or part of the circuit to recover performance when the
computation time constraint is violated. The area overhead can be
very large
- When multiple voltages are used, one can instead lower the supply
voltages of operations which are not on the critical path while
keeping the supply voltages of operations on the critical path at
a maximum. The computation time constraint for non-pipelined
data-path will be thus achieved with lower area overhead
- We discover the absolute lower bound on the number of modules for
a multi-frame operation in a functionally pipelined data-path
is necessary to maintain the throughput. This lower bound is then
used in the revolving schedule for scheduling the multi-frame
operation in a functionally pipelined data-path.
Next: References
Up: Behavioral Level Synthesis Targeting
Previous: Power Optimal Module Allocation
Jui-Ming Chang
Thu May 8 18:05:50 CDT 1997