Good way to start is to learn one of the hardware description languages.
I liked the book by Pong P. Chu "FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version".
The same book is also available for Verilog, which is another HDL.
Later on you can take a look into higher level HDLs, since creating hardware in VHDL and Verilog is tedious.