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.
  • User Interface
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.
  • Design Technology
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

NAME PHONE FAX EMAIL
Prof. A. Richard Newton 510-642-2967 510-643-5052 rnewton@ic.eecs.berkeley.edu
Wendell Baker 1-500-359-6539 510-643-5052 wbaker@eecs.berkeley.edu
Francis Chan 510-642-5790 510-643-5052 fchan@eecs.berkeley.edu
Naji Ghazal 510-642-5322 510-643-5052 naji@eecs.berkeley.edu
Mike Horton 510-642-9698 510-643-5052 horton@eecs.berkeley.edu
Serena Leung 510-642-5790 510-643-5052 wleung@eecs.berkeley.edu
Michael Shilman 510-642-9698 510-643-5052 michaels@eecs.berkeley.edu
Mark Spiller 510-642-9698 510-643-5052 mds@eecs.berkeley.edu
Suzan Szollar 510-643-5187 510-643-5052 szollar@eecs.berkeley.edu
James Young 510-642-1459 510-643-5052 jimy@eecs.berkeley.edu
Contact 
©2002-2018 U.C. Regents