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.
|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.