FINAL VHDL