Digital Design: Principles and Practices (4th Edition)