Digital System Principles and Application