VLSI Design and Automation