Using Practical Examples in Teaching Digital Logic Design