|
ARPA Project Summary
Distributed Design of Electronic Systems
September 1995-January 1996
ARPA Contract Number: DABT63-95-C-0074-NEWTON-06/96
Principle Investigator:
A. Richard Newton, rnewton@ic.eecs.Berkeley.edu, (510) 642-2967
Submission Date: 1/14/96
Overview
Objective:
Over the next three years we will build a working prototype of a next-generation
design system for the 'virtual prototyping,' design, and transfer to
manufacturing
of electronic-system-based designs. We believe that to make a quantum change
in this area will require a synergistic combination of new ideas and techniques
in three major areas, as well as in their combination. Innovations in each
of there areas are summarized below.
- National-Scale Design System
We are designing a prototype widely-distributed design system for the 'virtual
prototyping' of microelectronics-based designs. Design objects (tools, data,
etc.) will be coupled via the network to form a 'webbed' design system.
This will be developed as a platform architecture into which tools, libraries,
and software-based design components from a variety of sources can be
integrated.
We anticipate that the system will provide a secure method of running programs
over a network in a distributed manner and will be activated from a network
browser. Where possible, we will attempt to use infrastructure (software
modules, toolkits, standards, etc.) provided by other researchers and groups.
Where necessary, however, we will develop the software components needed
to achieve our goals.
We are exploring a variety of new human-computer interaction models and
will develop a new user interface paradigm oriented towards the efficient
entry, manipulation, and evaluation of electronic designs and sources
(distributed
libraries, technology data, documentation, etc.) In our approach, all three
of these tasks are integrated into a single paradigm at the user level.
In particular, we are using next-generation human-computer hardware and
software interfaces, including head-mounted displays and 'data gloves',
to build an immersion interface for design. We are experimenting with a
variety of user/computer interaction styles for both user input and computer
output for the development of new 'design languages' and metaphors oriented
towards the use of these new input-output paradigms in the assimilation
and presentation of information from a wide range of sources, as well as
in collaborative design efforts. However, we do not intend to use
conventional 'virtual reality' approaches per se.
In the area of design technology per se, we propose to concentrate our efforts
on the development of new user models for the description or specification
of complex electronic designs (including both hardware as well as certain
software aspects) along with the tools and techniques needed to produce
a 'virtual prototype,' evaluate its effectiveness, and transfer it to
manufacturing.
In addition, we believe that decision support--encompassing searching,
estimation, and design planning capabilities-- will be critical to
time-to-market
for next-generation complex electronic systems. We are planning to use our
advanced interface technologies, coupled to our web-based design environment,
to address the design decision support problem.
Approach:
In broad terms and as mentioned above, over the next three years we propose
to develop and deliver a working prototype of a next-generation design system
for the design and transfer to manufacturing of electronic-system-based
designs.
We anticipate that the system will provide a secure method of running programs
over a network in a distributed manner and will be activated from a network
browser. Program modules will be executed remotely or will be transferred
over a high-throughput network as needed and run on a local CPU. Additional
modules will be accessible from the user environment, including libraries,
pieces of the current program, and related/linked programs. We will develop
a means of providing on-line interactive assistance, as well as providing
various tools (agents) to automatically update the user's environment when
changes and new developments occur. As an end result, the user will be able
to invoke network tools to develop using a flexible customizable CAD design
flow structure. We are experimenting with scripting languages as a way of
building new designer-oriented front-ends for design capture and analysis.
Where possible, we will attempt to use infrastructure (software modules,
toolkits, standards, etc.) provided by other researchers and groups. Where
necessary, however, we will develop the software components needed to achieve
our goals.
We will work with other sites to experiment with ongoing or planned developments
in the areas of intellectual property protection, commercial transactions,
and design-object migration, to help evaluate new developments in such
techniques
and services. We will work with the design technology industry, where possible
and practical, to experiment with the integration of commercial tools and
services into the system.
We will explore a variety of new human-computer interaction models and will
develop a new user interface paradigm oriented towards the efficient entry,
manipulation, and evaluation of electronic designs and sources (distributed
libraries, technology data, documentation, etc.) In our approach, all three
of these tasks are integrated into a single paradigm at the user level.
In particular, we will use next-generation human-computer hardware and software
interfaces, including head-mounted displays and data gloves, to build an
immersion interface for design. We will experiment with a variety of
user/computer
interaction styles for both user input and computer output, as described
below, for the development of new 'design languages' and metaphors oriented
towards the use of these new input-output paradigms in the assimilation
and presentation of information from a wide range of sources, as well as
in collaborative design efforts.
Our preliminary research indicates that some of the value of our work in
this area depends on the availability of head-mounted displays and
high-precision
hand input devices with a particular class of characteristics, and while
this is an area of active research at a number of sites, it is not clear
that we will have access to the technologies we need in the time frames
in which we need them. While we are tracking developments in these areas
and intend to 'buy' wherever we can, there are a few cases where we may
need to 'build' to meet our specific needs. In particular, we have developed
a MEMS-based tracking system for head-mounted displays as a way of overcoming
the limitations of existing displays (see our enclosed study on motion
sickness.)
In the process of developing the tracker, we have also developed a system
for calibrating tracking systems and plan to use it throughout the project
to evaluate new technologies and products for use in our research.
We have developed some new user models for the description and design (including
verification, validation, and synthesis) of complex electronic systems,
systems involving hardware, software, and a limited range of mechanical
components in their implementation. So far, we have zeroed in on the models
we plan to use for representing timing (see enclosed reports.) We will integrate
our recent developments in the areas of design verification and validation
into the front end of the design process. This work is based on our research
which couples concepts from the areas of reactive systems, non-deterministic
finite automata, and object-oriented representation into a mathematical
formalism we believe will provide both a user-oriented way of specifying
and iterating systems as well as sufficient formalism to permit the application
of powerful analysis, verification, and synthesis techniques.
The proposed design environment will be oriented towards rapid design capture
and evaluation, along with the effective evaluation and use of existing,
pre-defined (or pre-specified, in the case of synthesizable or mappable
components) components. In addition, the system will be coupled into existing
back-end design tools, both developed at universities as well as from commercial
sources so as to validate the broad application of the prototype system
architecture.
Progress:
In this first quarter of research, the team has focused on the identification
and evaluation of the key building blocks of the overall system. The research
group, which is still expanding to the full level of the contract, is developing
the infrastructure upon which a cohesive design system can be built. During
the next several quarters, the focus will change to integrating these
technologies
into a first generation prototype.
In the area of wide-area networks, the project team has adopted the Java
programming language for the distributed aspects of the system. Java is
used to enable an active protocol between distributed design resources as
well as for the programming of client-side tools and user-interfaces. Although
Java has been chosen for the first generation prototype, the group still
tracks on-going developments in "Internet" programming languages.
Certain industry issues currently complicate the choice of language, and
these issues are not likely to resolve themselves in short order. However,
the portability, security, and object-oriented aspects of the Java
language offer sufficient incentive for its adoption.
The Java language is currently being used to program the first distributed
CAD tools as well as the underlying network infrastructure. In particular a
state-machine editor has been written in Java. The prototype's objective is
to evaluate performance and develop a strategy for architecting point tools
(editors, simulators, etc. ) in a style that is well suited for Internet
distribution.
A Java-package server system was also developed to promote code reuse across
the network. (Note a Java-package is a group of related classes managed
or maintained as a group). It is our belief that libraries of Java-packages
will emerge at different network locations. Our package-server is a system
for managing updates and changes to these class libraries seamlessly, without
disrupting the stability of software based upon these libraries.
In the area of advanced user-machine interface, significant progress was
made on both hardware and software aspects of an immersive interface for
design.
On the hardware side of the immersion interface, an integrated MEMS tracking
system was completed and is actively used with both head-mounted displays
and hand-input devices. The device is capable of measuring the orientation
of a user's head and/or hand. The fabricated device compares favorably with
commercial systems, and is significantly smaller and less expensive than
existing commercial systems. A high-resolution (640x480) head mounted display
has been purchased and will be integrated with the MEMS tracker and a high
performance graphics workstation. A research overview has also been written
on the health and safety issues surrounding immersive (VR) computer simulation
systems. Our belief is that immersive environments will be used only for
certain graphically intensive aspects of design, and in these short-term
use scenarios the technology does not pose a significant health risk.
In the area of hand-input devices, our first attempt at using a data-glove
for rapid entry and manipulation of data fell short of expectation. Although
the glove is a high-bandwidth device, its highly unconstrained nature makes
precise control challenging. Possibly with force-feedback, precise control
and rapid manipulation will help resolve this problem and we propose to
develop a more constrained approach to its application. We are also evaluating
other hand-entry technologies.
A project to incorporate sensors such as CCD-video cameras, temperature
readers,
and others into the system has been started. The sensors will form nodes
on a widely-distributed intelligent network and are an important extension
to the concept of an advanced user-machine interface. Such 'smart sensor'
applications combine both the electronic and micromechanical aspects of
design and so form an excellent test vehicle for evaluating a number of
our concepts.
In the software area, a key networked technology for an advanced user-machine
interface is a 3D browser. An emerging standard for 3D objects distributed
across the network is VRML. We are developing software to leverage and extend
this standard protocol for 3D resources. Our software is less of a browser
and more of a platform for creating a networked 3D application. The
software has several modules that facilitate the development of applications
(instead of simple net browsing of 3D sites). The modules under development
include:
- HTTP Retrieval and TCP/IP Support
- 3D Rendering and Simple 3D Editing Tools
- A Multi-User Protocol for Live Object Sharing and Interaction
- Behavior and Animation of 3D Scenes via Java
- Extensible Peripheral Support (including HMDs and popular input devices)
The software will be released as a research prototype during the next quarter.
Future work will focus on the application of this technology in a
CAD tool for simulation, decision-support, and design entry.
While it is too early to report significant progress in bringing together
these technologies for design automation, we have begun laying the design
technology framework needed for high-level system design specification and
animation. We have completed a significant first-cut at the semantics of
a temporal modeling approach for high-level (mixed hardware-software,
multi-component,
mixed technology) design, as reported below, and have identified the limitations
of many of the existing specification and description languages. Part of
this work has been to position VHDL, SpecCharts, and other languages in
these contexts and we have begun a project which involves the extension
of SpecCharts for use in our Java-based state graph editor, while preserving
a suitable semantics for verification, synthesis, test, and rapid transfer
to manufacturing.
We have also begun the process of evaluating architectures for distributed
animation of designs, as outlined in more detail below. Over the next six
months, we will also focus on the design representation and the representation
of various forms of analysis results as well.
Technology Transition Activity:
The project has been underway now for one quarter and so we have not formulated
any specific plans for technology transition. We have produced a number
of publications dealing with specific aspects of our work, we continue to
maintain our web presence and place all relevant materials and reports on
the Internet, and we are preparing a refined, overall description of the
project to enhance collaboration. We have discussed our work with a number
of CAE vendors and have received significant, continued interest from Synopsys,
where we will be holding another joint meeting soon. We have met with
Flextronics
International regarding the requirements for transfer to manufacturing and
will continue to foster that relationship.
Research Status Reports
1.0 Design Technology
2.0 Wide Area Networks
3.0 Advanced User-Machine Interfaces and Networked Peripherals
Researchers
|