Digital Systems: Principles and Design