FPGA Prototyping by Verilog Examples: Xilinx Spartan-3 Version