RedShark Replay: Although four years old, this, one of our most popular articles is as relevent today as it was back then. FPGAs are modern miracles of technology. They're silicon chips whose hardware configuration can be set up and changed with software. They provide the flexibility of software with the speed of hardware, and are what allow small companies to build products with big capabilities. FPGA expert Tony Cole reports
FPGAs are found in low to medium volume electronic equipment such as Digital Video Converters, Capture Cards and External Video Recorders. Most companies don’t talk about what’s in their products but some do. Atomos, for example:
"The Atomos's Ninja[HD Video Recorder takes uncompressed 10-bit HD/SD video from HDMI, compresses it in to Apple ProRes, and then formats and stores it on HDD/SSD, all in real time."
In their Ninja FAQ Atomos states
“the powerful FPGA deals with input and output, the user interface, the touchscreen and processing the video itself.”
In this article I will describe what FPGAs are, where they came from, what they can do and why they are used.
You can think of FPGAs as circuit boards that can be re-designed every time they reboot. They’re not quite like the analogue printed circuit boards that you find in a transistor radio because they’re digital (which means that they calculate numbers rather than “signals”), but you could say that reprogramming an FPGA is the digital equivalent of taking a vacuum cleaner and reprogramming it to be a toaster.
First some technical stuff (sorry!).
Digital electronic integrated circuits are built from transistors, and today there are millions or even billions of them on one chip. Each transistor is essentially a tiny switch. To make them useful, they are configured into “memory cells” and “logic gates” It only takes a few transistors to make one of these.
A memory cell can hold a 0 or 1. Actually the 0 and 1 are voltage levels within the chip, where 0V or anything up to a threshold of about 0.8V is a 0 and anything above is a 1, but this varies depending upon the device. The point is that the voltage “means” 0 or 1. That is what “digital” means in “digital electronics” - a binary digit, 0 or 1. This is called a bit.
If you use a string of these bits you get a binary number, e.g. 8-bit, 16-bit, 32-bit and 64-bit numbers – you might have seen these numbers in products like Intel’s 32-bit and 64-bit processors.
An 8 bit number can express 256 levels and a 16 bit number can represent 65 536 levels.
Logic gates are an abstract logical or mathematical idea where one or more inputs produce an output depending on the type of gate. These inputs and outputs are considered to be “bits”, 0 or 1: nothing else.
There are only three basic logic gates and from these any other type of logic gate can be constructed by connecting them together in various ways.
An important device in digital electronics is the Clock, which synchronises all the different elements of a chip. You will of heard of Megahertz (MHz) and Gigahertz (GHz): these are the clocking frequencies. Your desktop PC is possibly clocking at 2GHz, which means 2 billion (2,000,000,000) times per second!
Memory cells, logic gates and clocks are the building blocks of digital electronics. Connecting them together, engineers can build all the components of a processor and perform any specific logical task they wish: binary number “adders” and “multipliers”; CPU instruction decoders, registers and caches; as well as bespoke blocks like digital video codecs and image processors, to name a few.