One of the very first articles
that I published that was not pure marketing collateral was written in 1994 when
I was a product manager at Microsoft for
Windows NT. In one of our first steps into the technical market, I was asked to
write a "face-off" article for Computer Design magazine. In this format, the
magazine asked two industry experts to take opposite positions on a topic. In
this contrived format, the magazine's hope was to get a fiery point-counterpoint
argument that helped readers assess the fine points of the two positions. I
can't say I remember who took the other side other than I think it was product
manager from either Sun or Hewlett-Packard who was extremely offended that
Windows NT could even be considered as a possibility for electronic design
applications...
Return to other papers and articles.
UNIX vs. Windows
NT
Matthew Ragen
Computer Design Magazine
August, 1994
Introduction
With the acceleration of product
cycles, a major concern of electronics design engineers is improving their
productivity in order to get product to market more quickly. At the same time,
the difficulty and complexity of product designs is growing exponentially.
Historically, EDA (electronic design automation) vendors have risen to this
challenge by refining the design tools and process. The pace of change has
resulted in simulation tools, modeling languages, and design practices that
change every few years.
In the selection of these tools, EDA
engineers make a number of decisions. Many believe that the purchase decision
should be based solely on the design tools that they need. Others believe the
choice of an operating system on which to base development of engineering
designs is an important part of the decision since the operating system provides
the foundation for the design tools and productivity needs of today’s users.
High-Performance, High Capacity Environments
Electronics designers need
high-performance, high-capacity systems to handle key applications. Initially,
electronics design was done on large mainframe systems. Over the last 10 years,
the design platform has shifted towards workstation-class systems. This change
has been driven by a combination of highly interactive electronics design tools
that became available on individual hardware platforms coupled with more
affordable prices. This has resulted in greater productivity from both
engineering departments and individuals.
The EDA design environment is facing
the same paradigm shift again. There is a significant price differential
between workstations and personal computers even though the performance gap has
narrowed to near insignificance. With the introduction of new personal computers
based on powerful CPUs (Pentium, MIPS, Alpha, or other RISC CPUs) coupled with
an advanced operating system such as Windows NT, the same paradigm shift is
starting again.
ASIC engineers need standard
applications. Already, virtually every major EDA vendor has released products
for Windows NT or has those products in some phase of development. The
cross-platform support that Windows NT offers with a single programming
interface for any processor makes the operating system more attractive for new
application development. Moreover, development tools exist that make it easy to
port code from UNIX to Windows NT.
Reducing
Time-To-Market With Improved Workflow
Improving the integration of engineers
into the overall corporation helps reduce the time required to bring a new
product to market. This is a natural evolution that is similar to the way that
many other business functions have changed. For example, standalone
word-processing stations shifted towards personal productivity tools and
workgroup resources that facilitate communication between many groups.
In the EDA environment, the average
ASIC engineer spends much of his time performing non-engineering tasks such as
developing schedules, communicating with team members and management, writing
memos and specifications, and holding design reviews. Today, this engineer
often needs two machines on his desktop: a PC for his non-EDA applications and
a UNIX workstation for EDA applications. The most commonly used business
applications are not available for UNIX. Even if they were, the UNIX OS does
not provide the infrastructure to support the integration of EDA tools with
business applications. Putting aside the added cost of buying and maintaining
two different machines, the engineer has to deal with a completely different
environment for business and EDA applications.
Windows NT is designed to provide the
ability to integrate data between applications. For example, an engineer may
want to simply embed a draft of his design into a specfication document.
Windows NT merely treats this data as an object and, using the OLE (object
linking and embedding) technology, the engineer can simply place that object in
his document. These features are designed to improve an engineer’s productivity
and, consequently, reduce time-to-market.
WABI:
Complete Windows Support?
Some technologies, like Sun’s WABI,
attempt to allow common Windows personal productivity applications operate on
UNIX. But these technologies still do not allow the high level of integration
that is needed to obtain maximum productivity. For example, they do not support
technologies like OLE mentioned above. Moreover, these technologies do not
support the newer, high performance 32-bit programming interfaces offered with
Windows NT and Windows “Chicago”.
Integration And Connectivity
EDA engineering projects are now often
coordinated across several locations. Networking and communications between
users is an integral part of completing projects on time. Windows NT includes a
complete range of networking services that can be used within a distributed
environment. Beyond basic networking protocols and peer networking
capabilities, Windows NT even includes native support for the RPC (Remote
Procedure Call) mechanism that is at the heart of the Open Software Foundation’s
DCE (Distributed Computing Environment) initiative.
Engineers often must be able to
communicate with users on other types of hardware who might be using other
operating systems -- in particular UNIX. For UNIX connectivity, there are a
range of other connectivity products available for Windows NT in addition to the
basic TCP/IP protocol included with the operating system. These products
include NFS and X-server products, that can be easily integrated into the open
networking architecture offered by Windows NT.
In terms of workgroup services, Windows
NT includes a complete electronic mail system that offers engineers a convenient
way to communicate with each other. During design reviews, engineers can easily
distribute simulation files and design databases by simply sending the files
through the mail system. A scheduling utility completes the built-in workgroup
services provided with Windows NT.
User
Interfaces
Productivity is also affected by how
easy an EDA application is to learn and use. The provision of common tools and
training across multiple sites and multiple engineers is often critical to a
project’s success. And, of course, there are also subcontractors who may or may
not be on the same software revision as the rest of the ASIC design team.
Windows NT and UNIX have taken very different approaches towards maintaining
consistent user interfaces.
Windows NT offers a single consistent
user interface across every hardware implementation. In terms of training, the
Windows NT interface is identical to the user interface that over 50 million
Windows users are already familiar with. With consistent styles, EDA
applications can easily have the exact same look and feel as personal
productivity applications designed for Windows NT. In short, the Windows NT
user interfaces are well defined and standard at both the tool level and the
operating system level, across applications and platforms.
On the other hand, the Motif user
interface is the most commonly used graphical interface for UNIX.
Unfortunately, most UNIX vendors have customized their Motif implementation.
The end result is that one EDA application using Motif does not necessarily look
and feel like the next Motif EDA application. Users must re-learn tools and
deal with constant frustration of having to invoke the same type of commands
differently from one application to another. There is another level of
uncertainty with these user interfaces. Sun’s recent acquisition of UNIX source
code rights from Novell, in addition to Sun’s ongoing investments in alternative
user interfaces, has left the entire UNIX community unclear on the future of
UNIX user interfaces.
Automating
The Design Process
Integrating design tools is an
important contributor to improving quality and making ASIC engineers more
productive. To EDA vendors, the cost of integrating UNIX-based EDA applications
is extremely high. Proprietary frameworks and communication managers have to be
developed and maintained. This increases the overall cost of ASIC design tools.
Windows NT can reduce these costs by
improving integration of tools OLE technology. OLE helps EDA vendors evolve
their applications by moving their design methodology from a tool-centric
approach towards a design-centric approach. Using OLE, ASIC designers can
create compound documents with embedded objects and do ‘visual editing’, drag
and drop objects between design databases, and control all OLE objects using
automation capabilities. OLE objects retain properties that can recall the
application that supplies the data. In an ASIC design environment, from the
Windows NT shell, the designer can drag and drop design objects onto application
objects in order to launch the applications. Further, the designer can control
one application from another and have access to internal commands and data
structures of an application.
The UNIX world is not as advanced. In
the UNIX world designers can perform ‘clipboard’ operations to paste data from
one application into another. However, the application into which you are
placing a clipboard object knows nothing about the application the data is
coming from. UNIX does not provide this level of power to an ASIC designer.
Portability
Windows NT has solved this problem by
providing an identical user and programming environment across all platforms --
whether they use different CPUs or whether they support multiple CPUs. EDA
vendors can easily support new environments with Windows NT; applications just
need to be recompiled with no modifications.
COSE - A
Single UNIX?
One of the more significant issues with
UNIX operating systems is that no two implementations are alike. This results
in users being less productive when they switch environments and it forces EDA
vendors to maintain different product versions when supporting different UNIX
implementations. The UNIX environment is responding to this cross-platform
capability with an effort the vendors have called COSE. This is the most recent
in a string of attempts intended to provide a common environment for users and
applications. It may be the answer for a standard UNIX. On the other hand,
COSE still permits UNIX vendors to implement additional programming interfaces.
As a result, it is likely that EDA vendors will continue to optimize their
products for different operating systems using these enhanced interfaces --
which then means that they still have different code to maintain just like
today.
A Windows
Family
Two versions of Windows exist. There
is a ‘mainstream’ version which is represented by Windows “Chicago”. This
version, intended for computers such as sub-notebook and most desktop machines,
is primarily designed to deliver responsive performance for a broad range of
applications while still conserving the amount of system resources required.
There is a “high-end” version which is represented by Windows NT Workstation.
This version, intended for higher end computers such as single or dual processor
workstations using Intel or RISC processors, must be able to fully exploit the
capabilities of the hardware and provide the most advanced services for the most
demanding applications like EDA design tools.
The key between these two versions of
Windows is that they support the same programming interfaces so that
applications can be easily developed that run on both systems. This makes it
easy for EDA vendors to support a low-end user while still being able to take
advantage of the power available on high-end systems.
Concurrent
Design
Windows NT provides
the core elements for users needing to implement projects requiring concurrent
design. The range of facilities built into Windows NT such networking,
management tools, backup support and others provide the foundation for other
vendors to implement their specific tools. The majority of concurrent design
tools will be provided by the EDA vendors themselves to manage the overall
life-cycle of their products.
Return to other papers and articles.