An embedded system optimally operates with minimal power consumption
without sacrificing performance. Power consumption can be reduced by
independently and dynamically controlling multiple power partitions,
wherein components within a partition can have the same power profile.
States of operation can be programmably defined in a table and enforced
using hardware. Voltages in the table can be dynamically updated during a
runtime of the system using a timing feedback module, which is connected
to a critical path in a partition. The timing feedback module can output
a vector that indicates the timing margin for that critical path. Using
this timing margin, software can increase or decrease the voltage to
optimize power consumption of that partition.