What can you get for free? In this age of rapid technological evolution, it is not uncommon for valuable, cutting-edge technology to find its way into the “free cell phone” category. In an effort to market their wares, technology companies often find themselves offering high-value products at little or no cost in order to remove barriers to adoption of their principal products. Such is the case with design tools for FPGA. Most FPGA vendors offer sophisticated tool suites, either by free download or at an extremely low cost, in order to entice new designers to check out their chips and to pave the way for them to design their devices into new sockets.
Whether the tools are completely free or just very inexpensive is a matter for frivolous debate. Some vendors offer their best tools for free, but charge for support for their most expensive devices. Others offer limited capability tools for free and charge for increased capability. Either way, compared with other electronic design disciplines, you will spend a trivial percentage of your design budget on tools, while enjoying some of the best design automation capability available.
Let’s say you’re running an FPGA company that sells hundreds of millions of dollars worth of silicon every year. You have a great set of silicon offerings, but there are barriers between you and your customers. Anyone designing anything using that silicon has to use a suite of sophisticated EDA tools including (at least) simulation, synthesis, and place-and-route. Simulation is not a problem, since there’s a thriving HDL simulation industry supported by the ASIC community that produces accessible, cost-effective tools. On the other end of the spectrum, place-and-route tools are tightly connected to your FPGA silicon architecture. As an FPGA vendor, you almost certainly need to develop and distribute tools those yourself.
Sitting in the uncomfortable middle of this situation is logic synthesis. The front-end of the logic synthesis problem is both generic (in that it’s not specific to any silicon architecture) and very complex. Only the back-end stages of synthesis must cross over the line into architecture specificity. This means that somebody developing FPGA synthesis has to start with a substantial amount of very robust and sophisticated technology for parsing, elaborating, and inferring logic from VHDL and Verilog, and then add a similarly complicated set of algorithms for mapping that logic design into an architecture-specific netlist. You can’t take an ASIC tool and readily convert it over to FPGA because of the mapping problem, and you can’t quickly build an FPGA tool from scratch because of the complexity of the parsing and elaboration task. As head of an FPGA company, this presents a problem for you.
FPGA vendors have historically addressed this problem in two ways. First, they partnered with EDA companies specializing in FPGA synthesis to deliver robust solutions to their mutual customers. These EDA companies had a great head start, with their ASIC-proven front-ends, and financial motivation to develop new products to sell to the emerging FPGA market. From the FPGA vendor point of view, however, this solution had some shortcomings. It put control of a mission-critical technology in the hands of a fledgling industry pursuing a relatively small total market, and it didn’t give FPGA vendors a low cost-of-entry solution to offer their new customers. These shortcomings brought some FPGA companies to pursue a second solution, which was to bite the bullet and develop their own FPGA synthesis technology in-house.
Regardless of your investment, however, you can’t develop synthesis tools overnight. It takes years of real customer designs running through a tool, finding the quirks and shortcomings in your algorithms, and painstaking tuning to get to a technology that consistently delivers high-quality results over a wide range of HDL styles. Even though they could gain some leverage through technology acquisition, FPGA vendors knew they wouldn’t be able to rely on their own synthesis technology exclusively for quite some time. Commercial synthesis tools got far better results, and that directly impacted the competitive performance and utilization of their silicon. They were forced into the situation where they needed to partner with commercial suppliers so they could offer competitive performance to their high-end customers while they developed their own proprietary tools in order to offer competitive tool pricing to the low-end crowd.
Today, we are in a world where this situation has existed for some time. Some FPGA vendors offer proprietary synthesis tools as part of their low-cost (or free) tool suites while continuing to partner with commercial EDA companies for higher-end solutions. Others rely exclusively on their partnerships with commercial EDA for synthesis and offer customized versions of commercial EDA tools as part of their tool suite.
The two largest vendors, Xilinx and Altera, both fall into the first group, offering internally developed synthesis tools as part of their suites, while Actel, Lattice, and QuickLogic all offer special versions of EDA-supplied synthesis products. Either way, as a customer of one of these companies, you have to decide whether your best bet is to try to get by with the free or low-cost tools supplied by the FPGA companies, or to invest more in top-of-the-line commercial synthesis.
As a customer, what differences can you expect between the two options? How do the free (or almost free) proprietary FPGA vendor tools stack up against the commercial EDA competition? Let’s look at three key differences and analyze how they might impact your world as an FPGA designer. On one side, we have the synthesis technology distributed with FPGA vendor design kits. This includes Xilinx’s XST, Altera’s QIS, and Actel, Lattice, and QuickLogic’s single-vendor OEM versions of Synplicity, Mentor Graphics, and Magma’s synthesis tools. On the other side, we have the more expensive, vendor independent, full-featured offerings from Synplicity, Mentor, Magma, and (in the ASIC prototyping space) Synopsys.
First (at this stage anyway), the commercial EDA tools seem to have an edge in the robustness and versatility in their language front-end. If you don’t write perfect, mainstream-style HDL, a commercial tool will often do a better job making some sense of your code and yielding reasonable results than the current crop of vendor-proprietary tools. This is probably a result of the significant time in the market and number of real customer designs that the commercial front-ends have reviewed. If you’re working with one of the FPGA companies that supply special versions of commercial EDA tools, this becomes a non-issue. The special OEM versions of these tools generally have exactly the same language front-end as the commercial versions. For the other FPGA companies, this probably gets to be a closer race every day as their relatively new tools continue to evolve. Since front-end technology is relatively static these days, this difference will probably vanish completely over time. Today, however, many customers find the commercial tools’ front-ends more reliable.
Second, the consensus among designers is that the commercial tools still beat the proprietary ones on quality of results (QoR). The difference could mean that your design meets timing specifications with one tool, but needs considerable additional optimization, or a more expensive speed grade device, or won’t work at all with the other. It’s also possible that one tool will fit your design on a smaller device If it’s a speed grade or device size difference, the silicon cost you save can far more than pay for the price of a commercial synthesis tool. Be aware that a synthesis tool winning on quality of results is like a politician winning an election. Victory doesn’t mean that every design or every voter goes to the winner. In a reasonable benchmarking situation, the winning tool might win 30% of designs, the losing tool might win 20%, and the other 50% would be a tie. For the best QoR, our recommendation has always been to buy commercial synthesis tools, and to use both the commercial and the vendor-supplied tools on a design-by-design basis. This guarantees you the best QoR and gives you a backup if one tool has trouble with some quirk of your particular design.
Third, it’s probably obvious that the FPGA vendor’s synthesis tools will target only their own devices. If you want to move your design to a different FPGA vendor’s technology, you’ll have to use a different synthesis tool that allows you to target that vendor. If your system requires devices from multiple FPGA vendors, you could be forced into a design flow that involves multiple synthesis tools from different companies to get your system working. EDA vendor tools have the edge here, as they are designed to be vendor independent, and they’ll allow you to work in a consistent environment across all of your FPGA designs. Add to that the fact that EDA vendors target a wider section of your overall system design (spanning system-level design down through printed circuit board place-and-route), and you’ll probably find that an EDA vendor tool can play more easily with the rest of your design environment.
FPGA companies like Actel, who distribute commercial tools, see a significant strategic advantage and a way to operate more efficiently than their larger competitors. “Actel’s strategy is to leverage EDA vendors because they focus on tools and do a better job than people inside an FPGA company,” says Saloni Howard-Sarin, Director of Tools Marketing at Actel. “We’ve bundled the enhanced versions of EDA tools, not the ‘lite’ versions, because our customers are expecting more and more from our software.” Because these FPGA companies buy licenses in bulk from EDA companies, they become “super customers” in driving product features and capability.
Xilinx and Altera also continue to raise the bar on their proprietary tool suites. “Altera has worked hard to create a tool environment that conforms to the wide variety of development environments out there,” says Chris Balough, Altera’s Director of Software and Tools Marketing. “We also do market research and see very high customer satisfaction levels throughout our tool suite. We believe our latest QIS [Quartus Integrated Synthesis] is very good, and we want users to evaluate it for themselves.”
Altera brings up another reason that FPGA vendors develop synthesis tools internally: architecture development. “At 65nm, FPGA companies are betting close to half a billion dollars on new families,” Balough continues. “At that level of investment, you must be able to evaluate your architecture well in advance. You need a synthesis tool to do that, but it’s not practical to get a third-party tool up to speed on every potential future architecture. The only practical way to manage architecture evaluation is with your own synthesis software.”
As FPGA applications grow both broader and more complex, FPGA vendors have tackled problems beyond just synthesis, simulation, and place-and-route. To become a viable option for digital signal processing (DSP), for example, they’ve been forced to tackle the task of developing design flows from algorithmic tools such as Mathworks’s Matlab and Simulink. For embedded computing on FPGAs, they’ve added platform assembly tools such as Xilinx’s Platform Studio and Altera’s SOPC Builder. In many cases, they’ve looked to partnerships with EDA companies to bolster their capabilities in these new areas as well. One recent example is Xilinx’s announcement of an alliance with AccelChip for Matlab-based DSP synthesis.
EDA vendors have mixed emotions about the silicon-subsidized vendor tools. On one hand, they resent being forced to compete with almost free versions of their products being offered to their customers. On the other hand, the low cost of entry has resulted in rapid market growth, giving EDA vendors a large target market to up-sell their high-end products. “While free vendor tools have played a crucial role in seeding the market and allowing FPGAs to get a foothold in the industry, the future value and real strength of these tools lies in the device-specific processing of a design for targeting to a device, rather than as a complete design solution,” says Nick Martin, Founder and co-CEO of Altium, Ltd. “As the FPGA market expands and matures, so will the need for more complete and integrated design solutions, such as those provided by EDA vendors, including Altium.”
In addition to constantly racing to stay in front on their head-to-head capabilities, EDA vendors are battling to surround the flow with design tools outside the scope of what it’s reasonable for FPGA companies to provide. “[FPGA] Vendor tools do an excellent job of processing a design for download to the device, but their view of the design tends to end at the pins of the FPGA,” Martin continues. “If FPGAs are to achieve mass penetration into electronics applications, then the FPGA design process must take into account issues including PCB design, management of pin information at the board level, and signal integrity outside the FPGA.”
Companies like Altium and Mentor are focusing considerable effort on surrounding the FPGA flow with value-added design tools, but even there the FPGA vendors’ efforts make the going tough. Much like the child’s game where you stack several people’s hands on the table and continually pull the bottom one to the top, every tool supplier wants to be at the beginning of the design flow. The reasoning is that controlling the designer’s desktop gives you mind-share when it comes time to add tools and capabilities. Almost every vendor (EDA and FPGA alike) provides some desktop tool for managing your overall design process. This “cockpit” tool is designed to sub-invoke all the other tools in the background, making itself your primary point of interface with the design process. Unfortunately, with so many companies battling for your desktop, it’s hard to decide which one to use. It’s also not always clear whether this tool is adding real value to your design process, or just locking you into a particular vendor’s methodology and products. Unless you actually need the design management capabilities that the tool offers, you’re often better off running each step of your design process manually from its own native interface, gaining access to all of its capabilities.
So what can you really get for free? The answer in FPGA tools is “a lot”. Be aware, though, that the “free” price tag can often be very expensive if a reasonably-priced tool can cut your design time, give you better results, or save you money on silicon. Since most of us are designing products for profit, it pays to evaluate the entire economy of the system, and not just focus on tool prices in isolation.