FPGA boards, or Field-Programmable Gate Arrays, are a common type of hardware used for reconfiguration
and programming. This programmable logic was originally used to specify the configurations, a technique that
has increasingly fallen into disuse.
FPGA boards were the lovechild of programmable logic devices and programmable read-only memory and
surfaced through the use of RAM blocks to create a board that could configure intricate digital combinational
functions. By the time of the 19803, computers were set to develop to include 600,000 reprogrammable
gates; requiring a system that could handle a heavy configuration via memory function. The FPGA
semiconductor devices necessary for this task became a huge success, with companies founding their
research on developing a whole new brand of accessible programmable logic, e.g. directics.com/xilinx-fpga/.
The beauty of FPGA boards lies in their ability to be reprogrammed to suit almost any application. ASICS, or
Application Specific Integrated Circuits, the prior alternative to the FPGA, did not offer such enticing mobility.
The many reconfigurable features of the even the most basic FPGAs made them a popular choice for many
hardware engineers and programmers, as most boards are SRAM based and evolve with the design and
configured duties saved to the memory system. The value of both ASICS and FPGAs is retained, meaning
they perform different functions aptly, but the popularity FPGAs have enjoyed among beginners, hobbyists
and professionals alike is unparalleled.
An ideal board for many different uses and markets, the FPGA can aid many industries. Found in audio
production, automotive systems, ASIC prototyping, medical monitors and diagnostic applications, image
processing, aerospace and defence forces, FPGAs cover a broad range of duties. The FPGA’s highly
configurable interface allows it to act as a blank slate in many cases – meaning it can cover all bases with
ease as soon as it is configured. Its flexibility and ability to be reconfigured multiple times makes it a popular
choice when compared to most ASICS.
Unlike microcontrollers such as Arduinos, the chip in an FPGA is already designed for user accessibility.
Writing the software through methods such as C or C++ programming, you can create a hex file that is easily
loadable onto the microcontroller. The memory storage integrated within the FPGA allows the user to control
the software until they choose to erase or alter the configuration of the board. FPGAs do not come with
processors to run the software, and the method of using an FPGA must start from scratch if you wish to
succeed. Should you design a processor that is configurable to the FPGA board, it will run smoothly – but it’s
up to you to do it in the first place! This is just another feature that makes the FPGA superior. There is almost
no limit to customisation, though there are also no shortcuts to FPGA success.
By writing in hardware description language you can create a software program that aptly fits your
application, usually by using VHDL or Verilog to launch the program and connect it to the FPGA board. Using
your customised program as a bit file, you can configure the FPGA to perform any number of wonders. Being
able to create the circuit from the start allows you to customise pins for the serial port, leaving you with an
unlimited number of serial ports for your usage. Many companies use FPGAs to prototype chips as the
reconfiguration – and fun – is virtually limitless.