Chapter 4. Computer-Aided Fabrication Chapter 4. Computer-Aided Fabrication System Structure Academic and Research Staff Professor Donald E. Troxel Visiting Scientists and Research Affiliates Michael B. Mcllrath Graduate Students Michael Heytens, Abbas Kashani Undergraduate Students Creighton Eldridge, Kenneth Ishii, Joseph Kalisewzki Technical and Support Staff Francis M. Doughty 4.1 Introduction Sponsor Defense Advanced Research Projects Agency Contract MDA 972 88-K-0008 The Computer-Aided Fabrication (CAF) system structure carried out within RLE is part of a larger project within the Microsystems Technology Laboratories (MTL). The overall goal of the CAF project is to integrate computers into the control, data collection, modeling, and scheduling of the integrated The goal of circuit fabrication process. Computer-Aided Fabrication (CAF) of integrated circuits is to provide effective management of information associated with the fabrication of integrated circuits to improve flexibility, portability, and quality and to minimize turn around time, development cost, confusion, error, and manufacturing cost. 4.2 Computer-Aided Fabrication Environment CAFE (Computer Aided Fabrication Environment) is a software system being developed at MIT for use in the manufacture of integrated circuits. CAFE is intended to be used in all phases of process design, development, planning, and manufacturing of integrated circuit wafers. While still under active development, CAFE presently provides day-to-day support to several research and production facilities at MIT with both standard and flexible product lines. The MIT CAFE architecture is a framework provided for a wide variety of software modules including both development tools and on-line applications. The key components of the CAFE architecture are the data model and database schema, the process flow representation (PFR), the user interface, and the application programming and database interfaces. Our database schema is based on GESTALT, an object-oriented, extensible data model which provides an extended set of intrinsic data types including various temporal types as well as inexact, interval, and null values. This powerful base allows us to design a schema which captures important aspects of plant and process management such as fabrication facilities and equipment, users, equipment reservations, lots, lot tracking, wafers, process flow descriptions, work in progress (wip) tracking, and lab activity information, in an especially natural and effective way. 265 Chapter 4. Computer-Aided Fabrication We developed mechanisms to facilitate changes in the CAFE schema. Application programmers can experiment with new schema definitions and test them by using the new schema in their programs. This ability to create and modify new object types facilitated more rapid development of applications. We developed an application interface to the database through the Common Lisp Object The interface provides System (CLOS). transparent access to persistent objects, which are described and manipulated via CLOS constructs. This transparency simplifies application programming because it frees the programmer from the task of translating between programming language structures and database structures, which is required in many systems. Application programmers may utilize the rich object modeling and generic functions of CLOS in the integrated environment of Common Lisp to aid in program development. The use of a common, unified representation of the manufacturing process throughout the cycle of design, simulation, fabrication, and maintenance is central to CAFE. The Process provides an Flow Representation (PFR) extensible framework for knowledge about process steps, including instructions to operators and equipment, scheduling requirements, changes effected to to the wafer product, and physical process model parameters. In particular, the PFR accommodates a two-stage process step model which relates the goal of a change in wafer state first to the physical treatment parameters and finally to the actual machine settings used to process the wafers. Its arbitrarily complex hierarchical structure makes it easy for the process designer to abstract away cumbersome details and to focus on the issues of Applications are built particular interest. from specialized "process flow interpreters" which execute a PFR as if it were a program. For example, one such application drives 266 RLE Progress Report Number 132 wafer lots through the fabrication line. Other applications include various process simulators and production planning support. Process flows are developed and maintained using a process flow editor which enables users to create process flows from basic, predefined steps. Using this editor, preparing new flows which are minor variations on existing flows is easy. During the creation of a new flow, the editor provides a number of syntactical and semantic checks, prompting the user concerning the availability of a library of subprocess flows. Starting with these process flows, a simulation interpreter prepares input data suitable for SUPREM III, invokes the SUPREM III simulation, transforms the processed output, and generates various graphical presentations of the simuUsers can then run lated process flow. SUPREM IIIsimulations without having to know anything about the details of SUPREM Ill. A key feature of the simulation manager is the "validator," which checks the validity of previous simulation computations after the process flow representation has been modified and retains computations which are still valid. Thus, computation time is minimized while maintaining correctness of the final simulations. This software also allows the user to conveniently generate reports such as plots of impurity concentrations and calculations of sheet resistance, etc. Ease of use requires a coherent user interface. At the same time, this user interface must be flexible enough to be suitable for a wide variety of applications, many of which remain to be defined. It also must support a wide variety of devices for user interaction, including ASCII terminals and bit-mapped graphic stations. It is quite important to require the provision of a programmatic interface to all application modules including user interfaces. Without this, it becomes virtually impossible to build on previously developed software modules and to integrate them into other systems.