This document discusses various methods for low power design in VLSI circuits. It covers reducing dynamic and static power sources. Dynamic power is lowered through reducing supply voltage, glitch elimination, and minimizing switching activity. Static leakage power is decreased using multi-threshold devices and power gating. System level techniques include state encoding, clock gating, and power-efficient processor and memory designs. Challenges in low power design are also addressed.