Design Techniques for Timing Circuits in Wireline and Wireless Communication Systems