Techniques for Effective VLSI Design