FPGA and SoC
Overview of FPGA and SoC technologies we have used in projects for data-intensive and time-critical applications.
FPGA
An FPGA (“Field-Programmable Gate Array”) consists of a large number of configurable logic cells that are interconnected via software to implement a desired function.
The strength of FPGAs lies in their deterministic system behavior combined with very high data throughput enabled by pipelining. This allows logic operations to be efficiently parallelized and, with sufficient processing depth, to achieve significantly higher effective data rates than sequential CPU architectures.
In contrast to traditional processors, operations are not executed sequentially but are implemented in parallel in hardware, resulting in very high overall performance even at moderate clock frequencies.
Another advantage is the high flexibility in interfacing with external components.
Many interfaces can be implemented directly in the FPGA and adapted to specific requirements.
In addition, FPGAs allow for extensive functional verification in simulation, enabling early detection and correction of errors.
We have been working with FPGAs since 2002, starting with a Xilinx Spartan-3. Since then, we have continuously developed logic across a variety of platforms.
Platforms used:
- AMD / Xilinx
- Intel / Altera
- Lattice
- Efinix
FPGA SoC
An FPGA SoC combines FPGA logic and a processor within a single chip (“System-on-Chip”).
Typically, ARM-based multicore processors are used, capable of running operating systems such as Linux. This enables a tight integration of hardware-accelerated data processing and software-based control.
This architecture allows for powerful embedded systems, particularly in applications with complex data flows and demanding interfaces.
Our first project in this field was in 2014, based on a Xilinx Zynq-7000 running embedded Linux. Since then, we have successfully implemented multiple FPGA SoC projects.
Platforms used:
- AMD / Xilinx SoCs (Zynq-7000, Zynq UltraScale+)
- Intel / Altera SoCs (Cyclone V, Arria 10)