Machine Learning Lessons for FPGA Design Optimization

Cloud, InTime

Machine Learning Lessons for FPGA Design Optimization

In FPGA design optimization, it is practically impossible to predict the effect of every possible placement and route in advance. Exploring the endless combinations of settings to find good ones is like navigating correctly through a teeming traffic thoroughfare. So drawing inspiration from autonomous driving that successfully solved the road navigation problems, how do you give your FPGA design the best chance of achieving your goal of better timing performance in the shortest time possible?

Inspiration from Autonomous Driving

The story of autonomous driving is intuitive - have the vehicle learn to navigate requested routes and actions to perform under different circumstances. Having perfect knowledge of the map, live traffic conditions, pedestrian movements, terrain and weather guarantees a smooth, safe journey. But we all know that it is practically impossible to gather data on all conceivable factors and know everything. Hence machine learning steps in.

Machine learning can be a brute-force data-gathering endeavor until you get to a certain level of confidence required for accurate predictions. If it can be a solution for autonomous driving, it could also be useful in looking for the optimal settings of placement and routing in FPGA designs. Consequently, a major factor in Plunify's design optimization success is combining machine learning with ample compute resources. As you may have heard, this approach is demonstrated by our flagship product, the InTime design optimization software.

Why Cloud Computing is critical for Machine Learning

Machine learning systems were too costly and too complex for most enterprises in the past. The cloud is changing all that.

1. Compute resources open up more possibilities

If you are familiar with InTime's timing closure methodology, you probably know that the software recommends having multiple servers to work on a design. In order for InTime's machine learning to be effective, its data collection and parallel compilation processes require a good supply of compute resources.

Consequently, shifting the workflow into the cloud becomes a desirable solution. InTime runs on Plunify Cloud - a cloud platform based on Amazon Web Services. Using some of the most powerful cloud servers, users can optimize the design in a much shorter period of time. This approach, combining InTime's machine learning algorithms with cloud computing, is also published in the Xilinx Acceleration Zone.

2. Unlimited on-demand Vivado licenses, unlimited potential for your designs

The Plunify Cloud platform provides the only on-demand Vivado licensing solution in the market. This means that when running InTime via Plunify Cloud, you can actually use multiple licenses of Vivado and pay by the hour.

This is especially helpful and convenient for those who have a short-term project to run or want to scale up a project for just a couple of months. Say goodbye to annual licensing fees and embrace flexible by-the-hour on-demand Vivado! You can fire up tens if not hundreds of concurrent builds at the same time, potentially releasing dozens of optimized products per product cycle.

How To Accelerate Timing Closure With Cloud?

Running InTime in the cloud is easy - use the new “Plunify Cloud” Run Target. Follow this 3-minute tutorial to get an idea of how to leverage both machine learning and cloud computing to optimize your FPGA designs.

If you are not an InTime user yet, you are more than welcome to take a free evaluation of this software.

Subscribe to Plunify Blog

Enter your email address and have the latest insights on FPGA, cloud and Machine Learning delivered straight to your inbox.

Leave a Reply