A programmable SoC (system on a chip) having optimized power domains and
power islands. The SoC is an integrated circuit device including a
plurality of power domains, each of the power domains having a respective
voltage rail to supply power to the power domain. A plurality of power
islands are included within the integrated circuit device, wherein each
power domain includes at least one power island. A plurality of
functional blocks are included within the integrated circuit device,
wherein each power island includes at least one functional block. Each
functional block is configured to provide a specific device
functionality. The integrated circuit device adjusts power consumption in
relation to a requested device functionality by individually turning on
or turning off power to a selected one or more power domains, and for
each turned on power domain, individually power gating one or more power
islands.