As FPGA designs have gone from manageable to humongous, the demands on design tools and design tool expertise has risen exponentially. Long gone are the days when an applications engineer could waltz into your lab, click a few magic keys on a laptop, and walk out an hour later, having helped you achieve timing closure on your problematic FPGA design. Now, FPGA tools demand massive amounts of compute power and considerable expertise in order to achieve the best results for your design.
Singapore-based Plunify has spent the last several years working to answer those challenges. The company was started as a provider of on-demand cloud-based FPGA tool services, but it quickly pivoted into the business of applying advanced techniques to optimizing challenging FPGA designs. Now, the company has come full circle, partnering with Xilinx to deliver a cloud-based tools-as-a-service program for Xilinx FPGAs called “Plunify Cloud.”.
Plunify says that Plunify Cloud “is a platform that simplifies the technical and security management aspects of accessing a cloud infrastructure for FPGA designers.” Plunify provides free tools to access their cloud-based services, and they use a pre-paid credit system to charge for usage. Pre-paid credits cover the cost for cloud server use, cloud data storage, cloud bandwidth, tool licenses for both Plunify and Xilinx tools, and they include free use of client tools. Credits cost $0.084 each, and various classes of servers cost between 6 and 200 credits per hour of use.
There are several ways to use Plunify Cloud. If you are already using Xilinx Vivado and have it installed locally, you can use a Vivado plug-in called “FPGA Expansion Pack,” which offloads builds to the cloud, and potentially up to hundreds of servers. This lets you harness enormous amounts of compute power and licenses on demand without the usual challenges associated with cloud-based design. Since you’re still managing and controlling your design through Vivado, this option will be the easiest for most experienced design teams, effectively scaling the compute resources as needed without having to own and maintain large numbers of servers. FPGA Expansion Pack is integrated into Vivado, giving you a toolbar with options such as “compile in the cloud,”, “query status,”, “download results,”, and so forth. If you are doing an FPGA design for deployment in an Amazon AWS F1 (FPGA) instance, you can actually deploy your design directly from within Vivado -, a pretty neat trick.
Another alternative is what Plunify calls (curiously) “AI Lab.” AI lab is a fully cloud-based design environment that can be operated from your web browser without the need to install design tools locally. AI Lab allows you to launch a virtual desktop which that is pre-installed with FPGA tools. This can be accessed with a remote desktop client and Wi-Fi connection, so you can design from just about any machine, anywhere, with no software installation required. This means even non-supported compute platforms could be used. Yep, you can run Vivado from your Macbook.
Regardless of which interface you use, the Plunify solution really shines when you get to “InTime.”. According to Plunify, InTime is “machine learning software that optimizes FPGA timing and performance. InTime does this by identifying optimized strategies for synthesis and place-and-route. It actively learns – from multiple build results – to improve over time, extracting up to 50% increase in design performance from the FPGA tools.” InTime essentially gives you a one-button FPGA tool guru with the ability to tweak the settings specifically for your design, and to run a large number of experiments in order to achieve the best possible results.
Synthesis and place-and-route have countless optimization options that can take years to master, and there is no “one formula fits all” approach to achieving optimized design. Plunify’s InTime combines AI with brute-force experimentation to give the benefits of having an on-staff FPGA expert, but with far less pizza and Mt. Dew required. Plunify claims their improved results are achieved with no modification of the RTL. Combining this automated optimization with the massive compute power of Plunify Cloud provides a new level of “get this design done NOW!” that hasn’t been available to most FPGA engineering teams. This would seem to make the Plunify offering a remarkable option for managing project schedule and risk.
One advantage of Plunify is the on-demand scalability. You don’t have to predict in advance how many tool licenses you’ll need or buy servers to handle your anticipated peak demand. Plunify allows you to increase or decrease your tool and compute resources as project demands change, so you’re not mid-project trying to justify increased investment in tools or equipment (and getting turned down) while your project schedule ticks mercilessly by and your team is working night shifts in order to ration scarce tool resources.
Put another way, for the accountants in our audience, Plunify explains that Plunify Cloud converts your design tool IT cost into an operating expenditure, eliminating (yawn) capital expenditure and on-premise maint… zzzzZzzzzZzzz…
Oh, sorry. We’re back now. For years, the key challenge for cloud-based EDA has been trust. Many companies have historically been reluctant, or just downright refused, to allow their design IP to be uploaded to the cloud, or to even leave the premises, for that matter. However, with the AWS hosting and Plunify’s security infrastructure, many of those concerns are beginning to ease. Plus, there is no clear evidence in today’s heavily-connected environment that systems companies are any better equipped to maintain security than providers such as Amazon/AWS and Plunify. Plunify has invested a great deal in creating a flow that is secure, and it has made numerous adaptations for security. All design files are encrypted and securely transferred to and from the cloud by the Plunify tools (such as FPGA Expansion Pack), making the bad guys’ jobs quite a bit more difficult.
While the Plunify Cloud and AI Lab announcement applies to Xilinx Vivado tools and Xilinx devices, Plunify InTime services are available for both Xilinx and Intel (Altera) FPGAs, and they can be a lifesaver if you’re stuck trying to meet your timing (or other) design constraints on schedule. Plunify offers InTime as “A turnkey optimization service that gives you results in days rather than weeks or months.” There are no up-front fees. You provide Plunify with an archive, checkpoint or snapshot of your design and they “guarantee” they will deliver the required FMax or timing results, or you don’t pay. You also get a handy set of kitchen knives. (OK, we made that last part up.) The process takes from 2-7 days, depending on what FPGA you are using. If your FPGA project is in trouble, it’s an excellent secret weapon.