Cmos Vlsi Design by David Harris, Neil Weste & David Money Harris