Digital Electronics: A Practical Approach