Digital Design and Simulation