This document provides an overview of FPGAs and VHDL. It describes what an FPGA is and its advantages over an integrated circuit. It explains the basic architecture of an FPGA including configurable logic blocks, slices, look-up tables, multiplexers, carry chains and flip-flops. It also discusses VHDL in terms of abstraction levels, behavioral and register transfer level descriptions. Examples of combinational and sequential logic blocks in VHDL are provided including a 3-to-8 decoder and an ALU.