Having fairly recently gone through the same process the steps I took are still fresh in my mind. I would recommend doing the following:
-Get a good understanding of digital electronics, you need to understand the building blocks that HDL languages such as Verilog and VHDL describe. Learn about flip flops, latches, counters, shift registers, and memories. With HDL you are describing how these basic building blocks connect rather than the sequential programming you may be used to. So go to Amazon and buy several used books on "Digital Electronics" or "Digital Fundamentals". You will be using these concepts to solve problems with HDL so it is important. Think of it as the equivalent of a "Data Structures and Algorithms" book for programming.
-Once you have a basic understanding of Digital Electronics then it is time to start learning an HDL. One of the biggest trip ups that I ran into while learning VHDL was the distinction between VHDL for simulation and VHDL for RTL synthesis. I was finding VHDL examples and tutorials on the web that did not explain the difference. There are many VHDL examples on the web that are only valid for simulation but do not work for RTL synthesis. So I ended up writing VHDL code that worked great in simulation but would blow up when I tried to synthesize it to run on a board. I wasted many, many hours before I found a book that clearly explained the difference. So get a book that focuses on RTL synthesis to avoid confusion in the beginning. The book that I found very helpful was Essential VHDL RTL Synthesis Done Right by Sundar Rajan. This book truly was the key, for me, to being successful with VHDL. (Search around for a better price, I did not pay over $100 for the book)
-Another great book that isn't necessarily important for HDL learning but has many easy to understand electronics solutions is Practical Electronics for Inventors by Paul Scherz.
Finally, get involved with open source FPGA projects, there is nothing like studying the code of working projects. Head over to http://www.gadgetgactory.net/ which is a new FPGA Open Source community trying to make FPGA's more useful and accessible. You will find:
-A completely open source FPGA circuit design, the Butterfly Platform, that you can build yourself or purchase pre-assembled and tested. This board can fulfill your development needs and has the advantage of being actively developed for. Most dev boards on the market have examples that you can work through but once you get through all of them you are on your own. The goal of the Butterfly Platform is to find the best FPGA open source projects available and get them all running on this board.
-An open source Logic Analyzer design that is both useful for your electronics workbench but is also an amazing example to help with learning VHDL.
-An AVR compatible processor that supports the avr-gcc toolchain for C development. (Still a work in progress)
-Tutorials and Screencasts for basic FPGA tasks.
Take a look around and see if there is anything helpful. The site is in heavy development right now so keep checking back for more projects, tutorials, and FPGA wiki's.
Having fairly recently gone through the same process the steps I took are still fresh in my mind. I would recommend doing the following:
-Get a good understanding of digital electronics, you need to understand the building blocks that HDL languages such as Verilog and VHDL describe. Learn about flip flops, latches, counters, shift registers, and memories. With HDL you are describing how these basic building blocks connect rather than the sequential programming you may be used to. So go to Amazon and buy several used books on "Digital Electronics" or "Digital Fundamentals". You will be using these concepts to solve problems with HDL so it is important. Think of it as the equivalent of a "Data Structures and Algorithms" book for programming.
-Once you have a basic understanding of Digital Electronics then it is time to start learning an HDL. One of the biggest trip ups that I ran into while learning VHDL was the distinction between VHDL for simulation and VHDL for RTL synthesis. I was finding VHDL examples and tutorials on the web that did not explain the difference. There are many VHDL examples on the web that are only valid for simulation but do not work for RTL synthesis. So I ended up writing VHDL code that worked great in simulation but would blow up when I tried to synthesize it to run on a board. I wasted many, many hours before I found a book that clearly explained the difference. So get a book that focuses on RTL synthesis to avoid confusion in the beginning. The book that I found very helpful was Essential VHDL RTL Synthesis Done Right by Sundar Rajan. This book truly was the key, for me, to being successful with VHDL. (Search around for a better price, I did not pay over $100 for the book)
-Another great book that isn't necessarily important for HDL learning but has many easy to understand electronics solutions is Practical Electronics for Inventors by Paul Scherz.
Finally, get involved with open source FPGA projects, there is nothing like studying the code of working projects. Head over to http://www.gadgetgactory.net/ which is a new FPGA Open Source community trying to make FPGA's more useful and accessible. You will find:
-A completely open source FPGA circuit design, the Butterfly Platform, that you can build yourself or purchase pre-assembled and tested. This board can fulfill your development needs and has the advantage of being actively developed for. Most dev boards on the market have examples that you can work through but once you get through all of them you are on your own. The goal of the Butterfly Platform is to find the best FPGA open source projects available and get them all running on this board.
-An open source Logic Analyzer design that is both useful for your electronics workbench but is also an amazing example to help with learning VHDL.
-An AVR compatible processor that supports the avr-gcc toolchain for C development. (Still a work in progress)
-Tutorials and Screencasts for basic FPGA tasks.
Take a look around and see if there is anything helpful. The site is in heavy development right now so keep checking back for more projects, tutorials, and FPGA wiki's.
Jack.