VLSI Design Techniques for Analog and Digital Circuits