This document discusses FPGA prototyping and system on chip (SoC) design using the Xilinx Zynq architecture. It begins with an overview of FPGA prototyping benefits like architecture exploration, software development and validation. Next, it describes the basic elements of a typical SoC like processors, memory and peripherals. It then introduces the Zynq architecture which combines an ARM processor with programmable logic on a single chip. Key aspects of the Zynq such as the processing system, application processing unit, external interfaces and programmable logic resources are explained. Memory mapped and FIFO interfaces for hardware/software communication are also covered. Finally, the basic design flow for Zynq SoC