To answer the question of what an embedded field programmable gate array (eFPGA) is, we first have to answer the question of what is an FPGA.
What is an FPGA?
Consider the following two device types:
- A dedicated, hard-wired application-specific integrated circuit (ASIC): For the sake of illustration, think of this as a single-purpose chip that is maximally efficient (in terms of speed, power and size), but is unable to turn its hand to anything other than the single task (or very narrow range of tasks) for which it was designed. As an example, you’d probably find a tiny one of these in your Bluetooth headphones, handling the Bluetooth and signal conversion (and nothing else). This is because such a chip will take up as little space as possible in this tiny product, while consuming a minimal amount of its extremely limited battery power.
- A general purpose computing device such as a CPU: With a highly generalized, widely-capable architecture, a CPU can do almost anything it is told to. As a result, it is larger, less power efficient, and will often perform specific complex tasks much slower than a dedicated ASIC. You’d find a classic CPU at the heart of your laptop.
An FPGA can be both of these things. To oversimplify. an FPGA is a chip that is able to rewire its internal workings in the field whenever instructed, and then operate at hardware (as opposed to software) speeds until such time as it is rewired again. This capability is known as field programmability.
At its most fundamental level, an FPGA consists of an array of programmable logic blocks and memory, connected via a hierarchy of reconfigurable interconnects that allow the blocks to be wired together to perform complex functions. Simply-put, FPGAs are capable of becoming just about any digital circuit.
The trade-off for this extreme versatility is that FPGAs tend to be relatively large and consume more power, as well as being more expensive at piece part price (but much less expensive to develop). That said, the footprint, power consumption and cost of FPGAs have improved by an order of magnitude in recent years.
FPGAs take time and power to rewire their functions, but this tends to be done relatively infrequently. As such, FPGAs are best suited to applications wherein they can carry out a particular computational task, but that task may be partly defined at the design stage, or might change during the lifetime of the product as a standard evolves or a new protocols or features are introduced.
There are a number of reasons to use an FPGA. For one it may not be feasible to lock down functionality in a hard-wired IC (as the functions required may need to be altered at some point in the future). Alternately, a more general-purpose, software-defined device such as a CPU may be too slow or inefficient for the specific function required. Alternately, you may only be creating a limited number of end products, and therefore, find there is insufficient economy of scale to justify designing and manufacturing an ASIC for them.
The logic and memory elements used within FPGAs are best used to carry out particular types of highly parallelized, complex operations, such as signal encoding and decoding, encryption/decryption, image processing, and general high-throughput, low-delay real-time digital signal processing. As a result they are often found in the types of devices that use these kind of functions: the back end of telephone networks, low-volume machine intelligence systems, certain low-volume industrial applications, x-ray machines, and specialist cameras.
So What’s an eFPGA?
An eFPGA is an FPGA that rather than being sold as a packaged chip with all the necessary I/O and power control circuitry built in, it is sold as a block of semiconductor IP (a blueprint, or design, describing the architecture of the FPGA). Others can then license this IP and design it into their own semiconductors, integrating blocks of FPGA fabric into their ASICs to achieve both the advantages of both.
As we shall describe over the coming months, the time of the eFPGA has come. Innovations in eFPGA products such as Achronix’ Speedcore IP, and improvements in size, power consumption, and affordability, mean that chip designers of various hues can now use eFPGA IP to radically improve the performance of their end products, opening up enormous new opportunities for differentiation and profit.