Best Way To Learn VHDL
Here's what I recommend that you do to learn VHDL:
1. Take a class, if you are in school see if there is one available and take it. The structured learning approach is one of the best ways to learn under the direct guidance of a teacher. Plus, getting a grade will drive you to complete the course.
2. If classes aren't avaible, take an online course. There are plenty of great courses out there on the internet where you can learn a new language. Of course, it will be up to you to complete the lessons and do the exercises. Plus, you probably won't have direct guidance or someone that you can ask questions and get thorough responses.
3. Buy a book on VHDL. There are a few good ones out there, but they are a bit outdated. When I was learning, I personally used these and found them helpful:
a) Circuit Design with VHDL by Pedroni
b) FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version by Chu
c) Coworkers have used VHDL Primer by Bhasker
Naturally, these are a little bit out of date. And the Spartan-3 is pretty old and not recommended for new designs. The code in the books is still relevant though.
4. Buy a development board. Yes, they are expensive for FPGAs, so what? The skill pays a lot of money too! Digilent Inc is one of my favorite websites for getting some cool dev boards and add ons.
For a beginner, consider the Arty A7 board:
https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/ It's got simple interfaces like switches, buttons, and LEDs, as well as DDR3 and Ethernet. Plus, you can buy some add ons to do whatever you want through that website.
5. If you work somewhere that has people that do VHDL, then go ask them to cut you off a small project that you can tackle by yourself. Part of the journey of being an FPGA designer is completing the circle by giving back and teaching newer folks. So there are experienced people in your work place that have a need to teach so that they can close the loop on their own journey. Engage them.
6. Do a home project. The best way to learn is usually by self directed projects. Only you know what you're good at and what your limitations are, so by doing a home project, you can really push your limits without the risk of messing up in your job. This is the method I have used for decades to learn.
7. Read through and participate in the questions and answers on this website. It's a great way to test your understanding and grow your knowledge.