Fundamentals of CMOS VLSI Design