Design for Variability: Managing Design, Process, and Manufacturing Variations in Physical Design