The gateway labs developed by Tom Clayton and Kkaled Benkrid at the University of Edinburgh provide a step-by-step introduction to using the verilog HDL (hardware description language) to design synchronous logic using FPGAs. The exercises are based around the Digilent BASYS2 board which has a Xilinx Spartan 3 FPGA. See fpga for tool setup and resources.
The exercises consist of the following