added the VHDL code