VHDL Programming
Basics
VHDL is a hardware description language that allows you to describe hardware on parts like an FPGA.
Typically, the process looks like this:
1. Requirements for the project
2. Architecture and design
3. Coding it in a text editor
4. Attaching source files to a project in the part manufacturer's tools
5. Synthesis of your source files
6. Mapping the design to the part
7. Routing the design connections
8. Optimizations
9. Generating a binary file(s)
10. Programming the FPGA
How To Get Started
The best way to get started is to get a development board that you can afford that will allow you to tackle some projects that you are interested in doing.
Development boards usually have simple interfaces like switches, LEDs, and push buttons that are a great way to get your first few designs up and running. Because by implementing even simple designs, you have to go through the entire process laid out above.
Then you can venture out into more complicated interfaces on that same development board like segment displays, memories, etc.
Xilinx FPGA parts are the most popular right now, so they are a great one to jump into first. Altera by Intel is the second most popular.
A great Xilinx board to start out with is the Arty A7, here:
https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/The Arty A7 has LEDs, buttons, switches, DDR3, ethernet, etc. It also has some PMOD connectors where you can buy all sorts of add-ons, as well as an Arduino shield connector setup where you can buy add on boards for that as well. Digilent has been a go to site for me during my learning years. They sell great boards and add-ons, and have great documentation and tutorials.