Introduction to Digital Logic with Laboratory Exercises