If you are looking to get into FPGA design and programming, I would suggest purchasing a cheap evaluation kit. Most evaluation kits come with code examples and tutorials that will help you get started with VHDL/Verilog programming on FPGAs.
I have included links to some books that I have used previously and found very useful...
The last book in Willis' list has a 'Verilog' counterpart called 'FPGA Prototyping By Verilog Examples: Xilinx Spartan-3 Version': https://www.amazon.com/FPGA-Prototyping-Verilog-Examples-Spartan-3/dp/0470185325/ref=pd_sim_b_1
I too found this book very helpful as I'm studying Verilog instead of VHDL. I believe you have to decide first which way to go. Verilog or VHDL or both. Then the appropriate version of the book 'FPGA Prototyping By xxxx Examples: Xilinx Spartan-3 Version' will suffice imo.
To start learning "How FPGAs work" you should start with sometthing like fpga wiki to get an idea of what an FPGA is -- the architecture section will get you up to this.
Then you will need a good book. something like: learning by example. The last one recommended by Willis should be just great.
And then get a developement board for an FPGA (100$ or so) get the tools and try out
Mmmmm... nice adventure faces you