CPU vhdl