An embedded field-programmable gate array (FPGA) is an IP block that allows a complete FPGA to be incorporated in a system-on-chip (SoC) or any kind of integrated circuit. Embedded FPGAs are new, but the traditional idea of how chips turn into IP blocks has become old: RAM, SERDES, PLL, and processors are all routine IP blocks that used to be standalone chips. Now, FPGA is an IP block, too.
Users of embedded FPGA are NOT users of FPGA chips. Most FPGA chips are employed in lower-volume systems as “quick design, low NRE” ASICs. Embedded FPGAs typically target high-volume chip designs from major chip companies and large systems companies that have the volume to design their own ASICs.
There are several, and very different, ways to take advantage of embedded FPGA:
- Customization: Use embedded FPGA to provide dozens of SKUs instead of $1M mask spins.
- In-system programmability: Use embedded FPGA to allow a chip, and the system it resides in, to be reprogrammed to handle new standards that didn’t exist when the chip was designed.
- Extend battery life.
Customization (and more?)
At older process nodes, such as 90 nm, mask costs were low. Microcontrollers have limited GPIO, but a wide range of serial-interface I/O standards are requested by different customers. So at 90 nm, a microcontroller might have dozens of SKUs where the only variation is whether the interfaces are I2C or SPI or UART or some mix.