They are the the semiconductor devices that are completely programmable and can be re-programmed.A circuit card or board bearing an FPGA if programmed at the time of manufacturing canagain be reprogrammed when needed any change and hence the name Field Programmable is derrived.They contain gate matrix having programming logic gates to memory elements to block of memories.Its internal structure contains mainly 2 elements:-1) An array of common logic blocks - this part can be implemented in various ways by varying number of inputs and outputs, genearal complexity of logic block and number of transistors used. That defines the amount of space consumed on the chip and hence the size of chip.2) Routing channels- Wires are interconnected using electrically configurable switches.The different points on the chip are linked together that way and the common logic blocks are connected in whatever way is needed.To reduce the complexity,software is used to design the function of an FPGA. The user provides a hardware description language or schematic design. The next step in FPGA design process is to produce a netlist generated for particular FPGA family being used which will describe the connectivity within the FPGA and is generated using automation tool.A place and route software can then be used to fit the netlist to the actual FPGA architecture.