SoC FPGA application design challenges, risks, and solutions

When you’re ready to start designing a new high-performance product you may be considering using an integrated solution such as Xilinx Zynq MPSoC or Intel SoC FPGAs. It’s important to consider the challenges and technical risks that come with these solutions.  

In this article, we’ll discuss how to overcome challenges and minimize risks for projects using high-end versions of SoC FPGAs.

Topics:

What are SoC FPGAs?

4 challenges engineers face when designing SoC FPGA applications 

Mitigating risk when designing SoC FPGA solutions

What are SoC FPGAs?

We’ll use the Xilinx Zynq UltraScale+ MPSoC family as an example to explain what FPGA SoCs are. In a single device, these products integrate an FPGA programmable fabric with a processing system (PS) that includes a 64-bit quad-core or dual-core Arm® Cortex™-A53 and a dual-core Arm Cortex-R5.  Also included in high-end versions are an ARM Mali™-400MP Graphics Processor, H.265/264 Video Codec Unit, multiport external memory interfaces and a rich set of peripheral connectivity interfaces.

Learn more about Using FPGAs for Demanding Applications.

Designing applications that take advantage of the features and flexibility provided by SoC FPGAs requires an understanding of their complexity and the challenges that must be considered in early planning stages.

4 challenges engineers face when designing SoC FPGA applications

SoC FPGA manufacturers generally provide reference solutions, complete and accurate documentation and offer technical support; however, the devil is in the details. 

Below are 4 challenges that engineers should be prepared for when designing SoC FPGA solutions, and how to mitigate technical risks.

 

1. Power Management

Often overlooked, power management is probably one of the most critical parts of the design that requires special attention to ensure a reliable and robust design in production.  

Technical risk: SoC FPGA solutions commonly need more than 12 power rails, each having requirements such as load steps, slew rate, voltage limit, noise, sequencing, etc. And, different power architecture options allow for trade-offs between performance and flexibility.  

Risk mitigation: To maximize your chances of success, you must take time to design and validate power management and rely on power solutions that have been previously qualified.  If you need to accelerate your development schedule, you can partner with designers who have extensive expertise and have already worked with SoC FPGA power management solutions. 

 

2. Moving Data Between the FPGA Fabric and the System Processors

SoC FPGAs contain multiple interconnect interfaces with configurable data bus sizes, dedicated interfaces to some peripherals, address translation, traffic QoS, etc.  

Technical risk: Moving data between the FPGA fabric, the host processor memory, and the various peripherals of each system is complicated.  Interconnect interfaces must be configured properly to work under all system conditions and configurations.   

Risk mitigation: If the product you want to design needs to move a lot of data between different interfaces quickly, it is critical that you have a well thought-out, solid approach.  You could end up with serious performance limitations if you rush or lack expertise.  Consider reaching out to multi-disciplinary experts who have faced similar challenges and are able to confidently recommend end-to-end solutions.

 

3. Operating Systems (OS) for Safety Critical Applications

Industries where functional safety is paramount frequently require the use of RTOS (e.g. QNX, Nucleus) and development tools specifically designed for safety-critical applications. Industrial, aerospace, medical, automotive and automotive industries will often have this requirement.  

Technical risk: To deploy a solution quickly, designers may try to take advantage of a reference framework based on Linux Operating System (OS). It’s possible to deploy a different OS on different cores to take advantage of the benefits of each of them.  An example of such an application would be to use three cores to run an RTOS responsible for all safety-critical software aspects while a fourth core could be running Linux to provide networking services such as WiFi or TCP/IP stacks to communicate with the outside world.

To design safety-critical applications, it is essential to properly architect the different software components since several resources can be shared between the different cores.

Risk mitigation:   In-depth knowledge of the different SoC resources (memory, interrupt controller, peripherals, FPGA fabric) as well as the functionalities and configurations of each OS is needed to design these solutions.

 

4. Signal Integrity

SoC FPGAs have several high-speed interfaces to move large amounts of data quickly, from SERDES links running at more than 25Gbps to DDR-4 memory interfaces, operating at 2666MT/s. 

Technical risk: If you do not take enough time to ensure the signal integrity of your PCBs, you may waste a lot of time troubleshooting afterwards.

Risk mitigation: Analyze signal integrity using simulation tools capable of accurately modeling PCBs, electronic packages, and interconnects.  Ensure that your design has enough margin over process, voltage and temperature variations.

Mitigating risks when designing SoC FPGA solutions

Mitigating risks requires a top-notch multi-disciplinary R&D team.

Before starting an SoC FPGA project, ensure that your team has the expertise and confidence to overcome these challenges and more.  

For help with certain aspects of your SoC FPGA project or to learn more about these types of solutions, contact us.

Using FPGAs for demanding applications

Wherever you see incredibly fast, leading-edge technology like autonomous driving, electronic trading, and satellite communications, look for FPGAs. The processing capabilities, massive bandwidth, and energy efficiency of FPGAs is allowing designers to create increasingly high-performance solutions for many market segments and industries. 

In this article we’ll explore what you need to know about deciding when and where to use FPGAs:

How the FPGA landscape is changing rapidly

Pros and Cons of FPGAs 

How different industries are using FPGAs in high-performance applications 

When to Use FPGAs or CPUs

 

How the FPGA landscape is changing rapidly

Look at what’s happened in just a few years:

The global FPGA market in 2019 was valued at $9B and is projected to grow near 10% CAGR over the next 7 years.  

The January 2020 article Could FPGAs Outweigh CPUs in Compute Share? from nextplatform.com says, "According to Xilinx CTO, Ivo Bolsens … FPGAs won’t just gain incremental momentum, they will put the CPU out of work almost entirely. ‘In the future you will see more FPGA nodes than CPU nodes. The ratio might be something like one CPU to 16 FPGAs,’ Bolsens predicts, adding that it’s not just a matter of device numbers, ‘acceleration will outweigh general compute in the CPU."

 

Pros and Cons of FPGAs

When an application requires a lot of information to be processed quickly, FPGA solutions offer higher performance compared to standard CPUs. Although the use of standard CPU platforms is still the most flexible option, in some demanding applications the use of FPGA solutions is fully justified.  

Pro FPGA

The main reasons for using FPGAs instead of CPU-based solutions are:

How do FPGAs deliver such high performance? As explained in The Principles of FPGAs on electronic design.com, "Unlike processors, FPGAs are truly parallel in nature. Each independent processing task is assigned to a dedicated section of the chip. Therefore, the performance of one part of the application is not affected when more processing tasks are added."

Spider chart comparing CPU and FPGA

FPGA Cons

Despite all the advantages, there are factors that limit the use of FPGAs on a larger scale:

The High-End FPGA Showdown series (part 3 Design Tools – Where it All Begins) on eejournal.com states, "Engineers with software-only backgrounds often fail to appreciate the complexity involved in using these devices and the long learning curve required to gain enough proficiency to use FPGAs near their capability…Taking full advantage of FPGAs requires digital logic to be designed, and, despite decades of progress, we are not yet at the point where FPGAs can be optimally used without at least some degree of hardware expertise in the design process."

To overcome these challenges, the two main FPGA manufacturers, Xilinx and Intel, are trying to democratize access to FPGAs by offering design tools that allow FPGAs to be programmed using more standard programming languages, such as C, C++ and Python, accessible to a larger pool of developers. 

And, there is a growing ecosystem of solutions available that allow developers to accelerate development times without having to reinvent the wheel.  Some vendors now offer complete framework solutions that integrate multiple FPGA modules (cores) along with software drivers and libraries enabling system developers to focus their development on their applications and differentiators.

 

How different industries are using FPGAs in high-performance applications

FPGAs have been deployed at massive scale in data centers, military and aerospace applications, telecommunication infrastructure, healthcare, and now in ADAS and autonomous vehicles. 

Which applications are best suited to use FPGAs?  We’ll provide a few examples for each of these key verticals:    

 

Aerospace & Defense

The aerospace and defense market is generally less sensitive to cost compared to consumer applications, making FPGAs even more likely to be adopted by manufacturers in this segment.

Examples of Aerospace & Defense FPGA applications:

Find out how programmable 4G technology was leveraged into FPGA and Network Processors to develop high-capacity multichannel, multiband, point-to-point (PTP), point-to-multipoint (PMP) and mesh radio systems used in public safety and defense applications in this case study.

 

Telecommunication Infrastructure

As we enter the 5G communication era, the next generation of wireless technology will present huge opportunities for businesses, industry, and consumers. 

We’re seeing 5G communication offering multiple capabilities, including

To overcome complex technical issues and continuously evolving standards, Xilinx’s latest FPGAs (Versal™) have been used by Samsung to build a universal, flexible, and scalable platform that can address multiple operator requirements.  In this example, FPGAs are used to provide

In the long run, manufacturers of 5G commercial base stations are likely to eventually replace FPGA devices by converting them into ASIC devices.  Such conversions will generally provide power consumption improvement and huge cost reduction savings for commercial base station manufacturers.

 

Data Centers (Hardware Acceleration)

Using FPGA for hardware acceleration in data centers has gained a lot of traction recently.  Hyperscale customers are increasingly adopting FPGA to cope with increasingly complex workloads across compute, storage and networking applications.  

Here are a few emerging applications that take advantage of FPGA in data centers to accelerate their workload:

Achieving maximum throughput and ultra-low latency performance while having the flexibility to reconfigure the hardware is paramount for financial technology and network acceleration applications.  Video, imaging, and HPC applications leverage FPGA technologies for their high throughput, power consumption efficiency and re-configurability to adapt to evolving workloads.

Learn how FPGAs were used to develop ultra-low latency and ultra-low gate count Ethernet MAC/PCS and RS-FEC IP Cores for latency-critical applications including algorithmic trading in this case study.

 

Automotive - Advanced Driver Assistance Systems (ADAS) and Autonomous Driving (AD)

Automated driving systems require the highest level of safety to fully enable the new world of mobility. Automotive-grade FPGAs and MPSoCs (FPGAs with Embedded ARM processors) deliver high performance and low latency to enable safety-critical functionality in the new era of Autonomous Driving.

Discover the 4 challenges engineers face when designing with Xilinx Zynq MPSoC and Intel SoC FPGAs. 

The various sensors in vehicles generate massive amounts of data, all of which must be merged into a single data pipe for real-time processing. The data aggregation, pre-processing and distribution capability of FPGAs and MPSoCs helps improve AI processing by merging sensor data and efficiently preparing it for vehicle control.  

Thanks to their I/O bandwidth, massive computing capabilities, low-latency performance, and reconfigurability, automotive-grade FPGAs and MPSoCs are ideal for implementing ADAS and AD functionalities.

Key examples of Automotive FPGA and MPSoC solutions:

 

Healthcare

Artificial intelligence and machine learning technologies are contributing to smarter, more efficient and effective solutions for the healthcare industry. The quantity of data, calculations, and images that need to be processed quickly make high-performance FPGA applications ideal for medical solutions. 

Examples of Healthcare FPGA solutions:

Find out more about the breakthrough innovation behind a digital mammography detector that uses an FPGA design for a highly programmable image processing engine in this case study.

Additional benefits that FPGAs offer to medical solutions are security and the ability to update functionality. The wired.com article Most Medical Imaging Devices Run Outdated Operating Systems says, "health care providers can make updatability a major priority in procurement to push manufacturers toward more flexible designs."

 

When to Use FPGAs or CPUs

To take advantage of the performance of the FPGA and the flexibility of the CPU, some products combine both.  An example would be to use an FPGA to continuously process, at full line rate, millions of packets per second by decoding each packet and extracting meaningful information that can be effectively presented to multiple Virtual Machines (VM) running on CPUs.  Software solutions can then be deployed on CPUs to enable detailed analysis of the data collected to extract higher level information that can be presented to the end users.

Discover how a cost-effective FPGA/CPU solution was developed for unique cloud-based digital advertising applications in this case study.

 


  1. https://newsroom.intel.com/press-kits/intel-acquisition-of-altera/#gs.f56ae6
  2. https://www.microsoft.com/en-us/research/project/project-catapult/
  3. https://aws.amazon.com/ec2/instance-types/f1/
  4. https://www.grandviewresearch.com/industry-analysis/fpga-market
  5. https://www.xilinx.com/news/press/2019/xilinx-and-samsung-jointly-enable-the-world-s-first-5g-nr-commercial-deployment.html
  6. https://www.xilinx.com/news/press/2019/xilinx-powers-baidu-s-production-ready-acu-advanced-platform-for-automated-valet-parking.html
  7. https://www.xilinx.com/news/press/2020/subaru-selects-xilinx-to-power-new-generation-eyesight-system.html
  8. https://www.xilinx.com/applications/automotive/adas.html#lidar