FPGAs vs. CPU: What’s Best for Data Acquisition?


CPUs and FPGAs are the traditional workhorse technologies employed in Data Acquisition Units (DAU). Both technologies have their advantages and disadvantages and over the last few years the amount of persistent storage, working memory and processing power available to such embedded devices has increased exponentially. This has opened up the possibility of deploying ever more complex and intelligent software based services on to the DAUs themselves. So which is best?

Broadly speaking, CPUs have the advantage of being more flexible and faster to develop for but this very flexibility means verification is more difficult and their start-up delays can be troublesome in aerospace environments. FPGAs don’t have a CPU’s flexibility but they are far more robust. There is however a third option – a hybrid approach. This combines the advantages of both at the cost of increasing complexity.

Technology Advantages Disadvantages
 CPU  Flexibility, Faster development  Slower boot times, Less deterministic, More complex
 FPGA  Live on power-up, Deterministic  Less flexibility, Less performance
 Hybrid  Flexibility, Performance, More deterministic  More complex

A hybrid approach is one where a CPU and an FPGA perform different services best suited to their strengths. A DAU services hierarchy where, broadly speaking, there are two levels or criticality: mission critical services and non-mission critical services (core, debug and value add). In essence, if non-mission critical services fail during a flight test, the mission data is still acquired, transmitted and stored.

Splitting jobs like this then allows for the advantages of an FPGA to be used for the critical data gathering while the CPU can make life easier for users and add value through a number of useful services that would be more difficult to run on an FPGA. These possibilities include embedded desktop-like browser based configuration and setup, advanced diagnostics, the ability to ingest Gigabits of data and seamless integration with data processing infrastructure. If you’d like to learn more about hybrid CPU/FPGA implementations and the services these can deliver, you can read the “The Killer App – Combining Embedded Processors, FPGAs and Smart Software” white paper.