A field-programmable gate array (FPGA) is a computer logic chip that is not hardwired by the manufacturer. This means that it can be programmed after purchase. There are thousands of options for customization available on a typical FPGA. These programmable entities are the gates, also known as logic blocks or look-up table (LUT) files.
As the number of logic blocks on a FPGA are too numerous to be created manually, they are generated via a software program. Programmers can then pick from a variety of categories in order to customize them for a particular system. They can use their own programs to interact with the program on the FPGA chip and make the changes.
When programming an FPGA, several interconnected elements may be used to configure logic blocks as needed. The contents of LUTs vary, depending on the way they’ve been programmed. Some perform single functions while others are capable of a more complex array of tasks. Some FPGAs may also contain both analog and digital elements. These chips often also have the capability allow these elements to function together.
The LUTs are connected by a network of wires. Depending on the function required, the wires can run through the files in a straight line, or a more complex network of diagonal connections. A LUT may be connected to several other files via multiple wire connections. The files may also be connected by a series of wires called carry or dedicated routing chains which help to move only certain kinds of information so that it may be processed more quickly.
In order to program a logic function with an FPGA, it must first be outlined in text or visual files. Then the information is downloaded into the software that comes with the FPGA. Once that process is complete, the function is usually operational.
Though an FPGA is more expensive than a hardwired logic chip, it can help to save resources as users can program to fit their specific requirements. This can reduce the need for extra work and the additional time needed to accommodate a chip that is not custom made. A programmable chip can also be easier to use, as its user functions, such as menus, can be customized.
Field-programmable gate array circuits are an alternative to the application-specific integrated circuit (ASIC). These circuits are hardwired before the leave the factory. They are board level components, as opposed to the field-programmable gate level elements.