Design of Digital Systems I