Digital Electronics: A Practical Approach with VHDL