Chapter 4. Computer-Aided Fabrication
Chapter 4. Computer-Aided Fabrication
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
SponsorDefense 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
Microsys-tems 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
circuit fabrication process.
The goal of
Computer-Aided Fabrication (CAF) of
inte-grated circuits is to provide effective
man-agement of
information
associated with the
fabrication of integrated circuits to improve
flexibility, portability, and quality and to
min-imize turn around time, development cost,
confusion, error, and manufacturing cost.
4.2 Computer-Aided
Fabrication Environment
CAFE (Computer Aided Fabrication
Environ-ment) is a software system being developed
at MIT for use in the manufacture of
inte-grated circuits. CAFE is intended to be used
System
in all phases of process design, development, planning, and manufacturing of integrated circuit wafers. While still under active devel-opment, CAFE presently provides day-to-day support to several research and production facilities at MIT with both standard and flex-ible 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 compo-nents of the CAFE architecture are the data model and database schema, the process flow representation (PFR), the user interface, and the application programming and data-base 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 fabri-cation facilities and equipment, users, equip-ment reservations, lots, lot tracking, wafers, process flow descriptions, work in progress (wip) tracking, and lab activity information, in an especially natural and effective way.
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 appli-cations.
We developed an application interface to the database through the Common Lisp Object System (CLOS). The interface provides transparent access to persistent objects, which are described and manipulated via CLOS constructs. This transparency simpli-fies 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
environ-ment 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 Flow Representation (PFR) provides an extensible framework for knowledge about process steps, including instructions to oper-ators and equipment, scheduling require-ments, changes effected to to the wafer product, and physical process model parame-ters. 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 cumber-some details and to focus on the issues of particular interest. Applications are built from specialized "process flow interpreters" which execute a PFR as if it were a program. For example, one such application drives
wafer lots through the fabrication line. Other applications include various process simula-tors and production planning support.
Process flows are developed and maintained using a process flow editor which enables users to create process flows from basic, pre-defined 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, trans-forms the processed output, and generates various graphical presentations of the simu-lated process flow. Users can then run SUPREM III simulations 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 modi-fied 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 calcula-tions of sheet resistance, etc.
Ease of use requires a coherent user inter-face. 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 inter-face 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.