Digital Principles and System Design