The Cloud… Oh, the Cloud. Always right there, the answer to all our IT problems, and yet… and yet… for designers, the promise seems to remain just out of reach as deal-breakers remain to be solved.
We’ve looked at cloud computing before, and we’ve seen new companies enter and leave the cloud. And opinions are certainly not solidly aligned behind the concept. But the discussions have largely involved EDA companies or other tools. Completely missing from the conversation have been what are probably the most universally used tools of all: FPGA tools.
Yes, Cadence and Synopsys and Mentor sell a lot of tools and have a lot of users. But those are typically pricey offerings that are part of ever-more-complex flows for bringing together all the elements of an SoC. And only a few bits are in the cloud, and the rationalizations for cloudifying – and therefore for which tools belong in the cloud – vary.
But FPGA tools are free. OK, not really, but… yeah, really. And they’re all over the place. And you don’t need a CAD or IT manager to set them up and get permission to use them. So if you were truly going to make a statement regarding design tools in the cloud, FPGA tools would be a worthy messenger.
So which of the two FPGA behemoths would be the first to dive in (if I may use a metaphor wholly unsuited to a cloud)? Well… neither. It’s a small company (4+ employees) in Singapore called Plunify. They’re taking a step-by-step approach to moving FPGA processing into the cloud.
But here we are again deciding what value the cloud is providing (other than, “Look at how ahead of the curve we are!”). Is it for universal access from anywhere? For design sharing? For ease of tool maintenance? For just the processing? Or just the processing when things get too busy in a captive farm? Are there actually “synergies” (sorry) that can be exploited, things that work in the cloud?
Very little of what’s in the cloud now has really achieved all of the cloud’s vaunted potential. Before you can do that, you have to get the basics in place, which more or less means getting the tools to run in the cloud like they do on your own computer. Once you get that going, then you can start waxing fancy.
Today, Plunify isn’t fancy. They’ve been focused on getting the basic IT elements in place, which generally means security, mustering cloud resources, security, uploading/downloading data securely, and security. Oh, and security. They’re in beta with Altera’s Quartus and Xilinx’s ISE and with a tighter integration into Xilinx’s newer Vivado. Not with a full implementation of the tools in the cloud (which would require a browser-based GUI), but with the ability to handle the compilation, which is where the heavy lifting is.
In other words, you create your RTL on your own machine like you always would and then upload (securely) and launch in the cloud. If you’re really concerned about someone sniffing your RTL, then you have an option for uploading the netlist (securely) instead. Good luck perusing one of those… The tighter Vivado integration involves a button in the Vivado GUI that will do the upload (securely) and launch the run.
To answer some of the more common cloud-related questions:
- Files are encrypted when up- and downloaded.
- Internal storage is encrypted; it’s wiped when a job is done.
- Machines are multi-tenanted (although a large setup may end up commandeering an entire box; whether or not this happens is out of the user’s control). Single-tenanting as a requirement (for security) could be made an option in the future.
- The business model involves credits that you purchase and then expend according to the amount of processing you do and the kind of machine you choose to run on.
One of the benefits of the cloud for many other applications is actually a problem for design: the ability for updates to be made quietly in the background with no need to bother you. That doesn’t work so well for designers who rely on consistent algorithms to give them the same results each time. If the place-and-route algorithms, for example, are changing every couple of weeks, you may never converge on a design.
So Plunify allows you to freeze the version being used so that you aren’t impacted by such changes. They say that this was one of the first features that their customers said they needed.
Plunify’s longer-term vision includes channels for complementary third-party utilities and analysis tools. And, joining in one of the main unifying visions for the cloud, they see adding value for designs that fail – by missing timing, for example. They could run analysis in the cloud to figure out why it failed, identify some possible fixes, and then run those fix variants (or the top 10, or whatever), presenting the results to the designer so that he or she can decide which of them works best. Such brute-force design exploration is often viewed as one of the undisputable benefits of the power of the cloud. (It remains to be seen what the bill for all that computing might look like…)
Plunify also thinks that, especially to the extent that many FPGAs represent nascent SoC designs, SoC tools may themselves start to migrate into the cloud. It’s not clear if they’ve completely thought that one through, since SoC tool-flows are inordinately complex, with no two companies using exactly the same flow.
As hard as it might be to realize, SoC tools in the cloud could be quite a game-changer. Plunify’s main target customers are small and medium-sized companies (with most interest lying in North America and China). Such companies will have a harder time amassing their own complete SoC flows; being able to do so online would give them a better chance at competing with their beefier brethren. But my sense is that we’re a long, long way away from that.
Of course, there’s one other element of this that complicates matters. All of the other cloud efforts we’ve looked at involve a company placing their own tools in the cloud. Plunify is placing someone else’s tools in the web. So one obvious question is, what’s in it for Altera and Xilinx? That’s a detail that’s still being worked, but it should be transparent to users since any such charges would be a cost to Plunify, buried in the charges paid to Plunify by designers.
But here’s the real question, and it’s one that tends to come up late and that, as often as not, once asked, torpedoes many a good idea: how will this be supported? The good news for the FPGA guys is that more designers may have access to their tools. But will they suddenly be awash in service calls from the unwashed masses far below that treasured Tier 1 status with which the Big Guys tend to prefer to deal exclusively?
It does sound a bit elitist as each company tries to cherry-pick the best companies to support directly, while pushing everyone else away to a distributor or online resources. Then again, (full disclosure) having been responsible for Altera’s factory-based technical support team myself in a prior life, there’s no doubt that providing direct support requires people: lots of well-trained people who know the tools and, hopefully, have done designs of their own.
And these people cost money. They cost less money in other countries, but then language starts to be a major issue. (Yes, we’re lucky that so much of the world reverts to English for things technical; on the other hand, I’ve become aware of complaints from folks in, say, the US south – folks that have sizeable accents of their own – when they are supported by someone in the US who has a foreign accent, even if fluent.) Companies have tried to off-shore support, but that’s much harder to do effectively.
In the worst of situations, support is considered after all the Deals are signed and sealed by the Negotiators who kept all the information to themselves, meaning they didn’t consult with anyone else in the company, meaning they didn’t think about support and now the Support Guys have to figure out how to meet the often unreasonable expectations implicit in the agreement.
Specifically as regards Plunify, such support deals are in discussion. It will be very interesting to see whether it results in real support or a “you’re on your own – check the FAQs” policy.
In case you’re off trying to sign up for Plunify’s services now, hold on just a tad… They’re slated for commercial availability at the end of Q2 2013 – for the Quartus and ISE versions. The tighter Vivado integration will be launched about a quarter later.
More info:
FPGA design in the cloud: what do you think? Is it in your future?