I have a background in electronic engineering, and did a fair bit of digital design related courses so large bits of it were in my skill-set, but mainly work with C in an embedded context. This project has been going on for years, but I only spend time on it now and again, a lot of that is rewriting sections of the code base I do not like or trying out different things.
I think the main piece of advice is persistence. Doing anything on an FPGA is much harder than doing it on CPU, but as a consequence of that the designs tend to be a lot less complex. It is not only a new language to learn, but it's a new paradigm. VHDL and Verilog might look like programming languages at first glance, but they are not. They are hardware description languages.
Also the vendor supplied tooling sucks.
For the more practical side of things, you can get a cheap development board for less than $50 that will run an open source tool-chain (see http://www.clifford.at/icestorm/), although I do not use them myself. You will want to do your research first.
I think the main piece of advice is persistence. Doing anything on an FPGA is much harder than doing it on CPU, but as a consequence of that the designs tend to be a lot less complex. It is not only a new language to learn, but it's a new paradigm. VHDL and Verilog might look like programming languages at first glance, but they are not. They are hardware description languages.
Also the vendor supplied tooling sucks.
For the more practical side of things, you can get a cheap development board for less than $50 that will run an open source tool-chain (see http://www.clifford.at/icestorm/), although I do not use them myself. You will want to do your research first.
One final piece of advice.
Do not ignore any warnings about latches.