United Business Media EE Times


Search

HOMEMARKET INTELLIGENCE UNITFORUMSDESIGNNEW PRODUCTSCAREERSBLOGSCONTACTEVENTSSIGN UP!RSSMost Popular contentTrusted Sources

 

special section

Linux Has What It Takes for EDA

Linux is arguably the better mousetrap for engineering applications. Why haven't EDA vendors beaten a path to its door?

by James Lee



No one doubts the technical excellence of the Linux operating system. Few doubt that if such big EDA players as Cadence Design Systems and Synopsys ported their Unix-based tools to it, as they are now doing for Windows NT, Linux would instantly emerge as a strong EDA platform. Moreover, the basic software configuration of an EDA-ready Linux machine costs much less than its Windows NT (let alone its Unix) counterpart. Yet the leading EDA companies fear the high cost of supporting Linux-based tools, for which they see a highly uncertain market. In the religious wars that divide the computer world, Linux has suffered a strange crisis of faith: though it has its share of ardent believers, the EDA vendors aren't among them.

Figure 1 EDA platform history

The history of EDA hardware and operating systems shows a set of three major platforms emerging every four or five years. Will the EDA vendors put Linux on Pentium PCs in the next round?

Religious fervor has obviously driven much of the debate about the relative merits of Linux and Windows NT as EDA platforms. Some readers have written to ISD to announce that they would rather quit their jobs than use Windows NT. Meanwhile, the supporters of NT proclaim that it "gives us a fully integrated visual environment"--a religion unto itself. Various commercial flavors of Unix also generate reactions that seem out of proportion to their technical strengths and weaknesses.

I've played a part in this war of words by providing factual information based on benchmarks I conducted here at Seva Technologies. We're an EDA consulting company and don't sell EDA software, and therefore we have no vested interest in the outcome of the debate. Since we do much of our work at customer locations with our customers' tools, we regularly use applications from every EDA vendor running on every major hardware system. In our own office, we have a heterogeneous environment, with computers running under Solaris, HP-UX, Linux, Windows 95, and Windows NT.

Time for a change?
In the past, the EDA business has tended to migrate to new platforms every four or five years (see Figure 1). Windows NT is making its debut as a serious EDA platform just about when a new contender might be expected to appear.

The proponents of NT claim that it's simple to work with, and it is certainly true that such graphical user interfaces as Windows have had a positive effect on ease of use--for EDA tools as for other kinds of software. In fact, the interfaces of many of those tools are now quite similar, whether they run under Windows NT or their X-Windows­based Unix cousins. But since ease of use and interfaces are a subjective matter, they don't take us out of the realm of religious controversy.

Our benchmarks do, however. Those presented in March ("EDA Platform Benchmark: Simulation") and July ("EDA Platform Benchmark: Synthesis") show that Windows NT can indeed run large-scale tasks. In the benchmarks, we used just the basic operating system and applications, but as we noted in July, that ignored the basic configuration recommended by Synopsys for Design Compiler. With just the naked OS, Windows NT by itself isn't fully up to the requirements of EDA users. In every Windows NT­based design environment, the operating system is augmented by several additional packages.

A complete environment
Without exception, our benchmarks used scripts; after all, most EDA users take advantage of scripting interfaces to run their EDA jobs. A completely EDA-ready computer should have the following software:

  • operating system
  • X-Windows
  • C compiler
  • file sharing with Unix
  • software distribution ( rdist )
  • remote monitoring ( rsh, telnet )
  • Perl
  • Tcl/Tk
  • shell scripting ( csh, sh )
  • batch scheduling (running regressions)

Not every EDA user needs each of those elements, but an EDA environment includes most if not all of them. What's more, they give us an objective way of comparing EDA platforms by three important criteria: the number of packages that must be installed, the number of vendors that must be approached, and the total cost of purchase.

For Solaris, a well-established EDA operating system, the list is short:

  • Solaris
  • Visual Workshop (C compiler)
  • Perl
  • Tcl/Tk

Solaris includes Openwindows, NFS for file sharing, the rdist command for software distribution, and the cron facility for scheduling batch jobs, as well as csh and sh . Shopping for software is easy, since there are only three sources: Sun (Solaris and Visual Workshop) and two Internet sites, http://www.perl.com (Perl) and http://sunscript.sun.com/TclTkCore (Tcl/Tk).

Figure 2 Packages to install for EDA

In terms of the number of packages required to use Solaris, Windows NT, and Linux for EDA, Linux is the clear winner and NT is far from desirable.

For Windows NT, the list is substantially longer:

  • Windows NT 4.0
  • Microsoft Visual Studio '97 (C compiler)
  • Netmanage/Chameleon NFS (X-Windows and Unix file sharing)
  • Microsoft SMS (software distribution)
  • PC Duo (remote monitoring)
  • Platform Computing LFS (batch scheduling and
    remote execution)
  • MKS Toolkit (shell scripting)
  • Perl
  • Tcl/Tk
  • antivirus program

Microsoft provides the operating system itself, Visual Studio '97, and Microsoft SMS. Although Windows NT doesn't include X-Windows or file sharing with Unix, Microsoft has said that it will have an NFS product soon; at present, several vendors sell programs filling this need. Vector Networks' PC Duo provides for remote control and administration. Platform Computing's LFS greatly simplifies the scheduling of batch regressions and remote execution. Mortice Kern Systems offers the MKS Toolkit, with csh and sh scripting, as well as many standard Unix commands. Perl and Tcl come from Internet sites. Finally, antivirus software is recommended, since NT is more susceptible to viruses than is Solaris. Thus the list of packages grew to 10 for NT from 4 for Solaris, while that of vendors grew to 8 from 3. In other words, NT is far from complete.

As for Linux, the list of software packages needed for EDA is dramatically shorter than it is for either Solaris or Windows NT. In fact, you have only one package to install, from one vendor: no matter which version of Linux you get, chances are it will come with the operating system, a C compiler (GNU), Perl, and Tcl/Tk. Although we didn't benchmark the time it would take to install all of the packages on Windows NT, Solaris, and Linux boxes, respectively, it is likely that most people would rather install 1 package than 4--let alone 10.

In addition to the bother of acquiring and installing all the software needed to run EDA tools under a given operating system, you have to consider the expense. We used prices published in printed and on-line software catalogs to establish the cost of the basic software for 1, 10, and 25 users (see Figure 2). If a vendor didn't indicate volume pricing discounts, we multiplied the cost for a single license. A savvy purchasing manager might do better here.

Rather surprisingly, the price of the operating system plus basic components comes to around $3,000 a seat for both Solaris and Windows NT. Of course, the time you would have to spend shopping for and installing the software makes Windows NT less attractive--in this respect, at least. Linux, which costs no more for a thousand seats than for one, is almost free: a single CD-ROM sets you back about $50, and Linux can be downloaded absolutely free of charge from the Internet.

Besides being cheap in itself, Linux runs on the same relatively cheap yet powerful hardware that Windows NT runs on, but it doesn't have NT's well-known stability problems (see "Is Windows NT Unstable?"). Why then are the EDA vendors flocking to support Windows NT but not Linux?

The case against Linux
For starters, the cost of a new port can be considerable. True, porting applications from Unix to Linux is no great technical challenge thanks to ANSI and POSIX standards, but assuring the quality of the port is sometimes another matter. The biggest single issue, however, is short-term revenues. EDA tool vendors typically report that "we've had many requests for NT, and few or none for Linux." If the vendors don't see the customers, they assume that none exist. Moreover, though some small EDA vendors regard the incremental expense of supporting Linux versions of their software as minimal, large ones regard it as huge. In addition, the vendors have to consider the opportunity cost of undertaking this kind of project rather than another one that might bring in more income.

Is Windows NT Unstable?
One alleged shortcoming of Windows NT--what many see as its instability--has been addressed mostly with circumstantial evidence. On one side, you have those who claim that they must reboot their Windows NT machines daily. On the other, there are users who claim months of uptime. Personally, I've seen both unstable and stable NT-based systems (see "We Still Have a Hangup," March).

People who make a related criticism--that Windows NT slows down over time--think the benchmarks Seva Technologies has been running for ISD should have lasted for more than a few hours. We have now run simulations of more than a million gates on two machines, and as of the fourth week there has been no degradation of performance. These machines, however, have run nothing but Verilog-XL, and the only additional software installed on them is NT4.0SP3 and Synopsys 98.08. These long runs, as well as my own experience with Verilog and Synopsys benchmarks on Windows NT and with the porting of EDA tools among platforms, has helped me reach new conclusions about the stability of NT and applications that run under it.

During a long career at EDA companies, I saw at first hand what happened when applications that ran under SunOS were ported to Solaris, HP-UX, or AIX, or from any of them to other operating systems. Software that had worked fine for years crashed. Bugs that had never surfaced before suddenly became apparent. In fact, a different operating system or compiler will bring hidden bugs out of the woodwork. Although ANSI and POSIX standards in C compilers and such tools as Purify have helped minimize these bugs for individual ports, there is no substitute for the hardening that an application gains from being ported to many different systems.

Verilog-XL and Synopsys Design Compiler underwent this hardening process before they were ported to Windows NT, and that may in part explain why we had no problem with them in our long-term tests. Most other Windows NT applications are so new that they have yet to pass through this ordeal. What's more, NT itself, like the applications running under it, is newer--and therefore less thoroughly debugged--than Unix.

Unix was developed on what by today's standards were unreliable systems. It therefore became fault-tolerant by necessity: when disk drives or other kinds of hardware failed, Unix had to react gracefully. Windows NT doesn't always do so. In the Verilog-XL benchmark ("EDA Platform Benchmark: Simulation," March), we had no problems with Compaq, Hewlett-Packard, or IBM hardware, and we continue to have no problems. In our office, however, we also have no-name hardware that we assembled ourselves, as well as hardware from less eminent suppliers. Here the story is different.

When we tried to load Windows NT from floppies onto our no-name hardware, the operating system crashed at different points of the installation process during the first two tries but installed successfully on the third. Did those difficulties result from hardware failures? I don't think so. Windows NT probably has a bug just below the surface--a bug similar to those appearing in applications that run without difficulty until they're ported to new operating systems. I look forward to installing Linux on this no-name machine to ascertain whether it can sustain long uptimes.

When applications crash under Unix, it cleans up the mess and recovers any memory or files in use. When applications crash under Windows NT, memory isn't necessarily released. Unix is also secured against corruption because file protections prevent users from modifying operating system files, which could otherwise be corrupted by users and applications alike. But Windows NT applications install elements into operating system directories, possibly overwriting operating system files or those of other apps. Indeed, many NT applications modify themselves as they run, creating the possibility of viral infection or simple corruption. No flavor of Unix allows that.

In short, Windows NT seems unstable to some people and stable to others for complex reasons that involve not only the operating system but also the applications and the hardware. These shortcomings limit the effectiveness of Windows NT as an operating system for EDA.

Furthermore, EDA tool vendors (and risk-averse IS departments) are skittish about the lack of any company or organization to take responsibility for Linux content upgrades, bug fixes, and support. These problems also plague all other kinds of public domain software. Since most EDA environments include several public domain packages--emacs, Perl, Tcl/Tk, and various GNU utilities--this argument should hold no weight. For most Linux users, the support they receive from the Linux community is more effective and timely than support from commercial vendors.

Figure 3 The cost of base software

When the per-seat cost of the base software required for EDA is considered, Linux is again the clear winner. For 10 and 25 users, the per-seat cost for Solaris and NT is virtually the same. For Linux, it virtually disappears.

A related problem, at least for EDA vendors with no experience in the Linux market, is the possibility that an EDA tool might run under one version of Linux but not another. The possibility scares vendors who want to contain the cost of support calls about platform-specific issues. EDA vendors tend to endorse or support only particular versions and patch levels of operating systems. Other versions may work with the software, but you're on your own for support. These EDA vendors should learn that Linux users are good at fending for themselves.

Suppose that the EDA vendors do learn that. Customers should be prepared to pay no less for whatever Linux-based EDA software comes to market than they would have to shell out for tools that run under commercial flavors of Unix. Already, Cadence and Synopsis charge the same price for versions of their tools running under Windows NT and under Unix. These companies are in business to make money--from users of Linux as from everyone else.

For IS departments, one argument against Linux remains: the ideal of a single desktop for both office and engineering productivity. Although some office suites are available for Linux, it is difficult to fight Microsoft's stranglehold on this market. But many engineers rarely run Word, Excel, or Powerpoint, which diminishes the force of this argument. The argument is further diminished by the ability to maintain a dual-boot environment for both Linux and Windows NT. In fact, if Microsoft ported its office suite to Linux, few people would be interested in EDA tools that run under Windows NT.

EDA tool vendors will need courage to port their offerings to Linux. Design houses will need courage to buy and use them. But first and foremost, working designers will have to make their preferences known.


James Lee, a senior consulting engineer at Seva Technologies, Inc. (Fremont, Calif.), has 12 years' experience working with Verilog and Synopsys tools and was among the first employees at Gateway Design Automation, which developed Verilog. Before joining Seva, he worked at Cadence Design Systems. The author of Verilog Quickstart, he's also a part-time instructor in Verilog at the University of California at Santa Cruz.

To voice an opinion on this or any Integrated System Design article, please email your message to miker@isdmag.com.


integrated system design  September 1998



[ Articles from Integrated System Design Magazine ] [ ICs and uPs ]
[ Custom ICs and Programmable Logic ] [ Vendor Guide ]
[ Design and Development Tools ] [ Home ]



For more information about isdmag.com email webmaster@isdmag.com
For advertising information email amstjohn@mfi.com
Comments on our editorial are welcome
Copyright © 2000 Integrated System Design

  Free Subscription to EE Times
First Name Last Name
Company Name Title
Email address
  Click here for your Free Subscription to EETimes Europe
 
CAREER CENTER
Looking for a new job?
SEARCH JOBS
SPONSOR

RECENT JOB POSTINGS
CAREER NEWS
SRC Expands R&D Centers
The Semiconductor Research Corp has added a new center to its university R&D efforts.

For more great jobs, career related news, features and services, please visit EETimes' Career Center.


All White Papers »   

 
Education and
Learning


Learn Now:












Home | About | Editorial Calendar | Feedback | Subscriptions | Newsletter | Media Kit | Contact | Reprints|  RSS|   Digital|  Mobile
Network Websites
International
Network Features




All materials on this site Copyright © 2009 TechInsights, a Division of United Business Media LLC All rights reserved.
Privacy Statement | Terms of Service | About