Boundary Element Methods for Capacitance and Substrate Resistance Calculations in a VLSI Layout Verification Package

Similar documents
Boundary Element Methods for 3D Capacitance and Substrate Resistance Calculations in Inhomogeneous Media in a VLSI Layout Verification Package

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science. CASA-Report February 2011

MOSFET: Introduction

Accurate Junction Capacitance Modeling for Substrate Crosstalk Calculation

Numerical modelling of cathodic protection systems for deep well casings

Identification of Electrical Circuits for Realization of Sparsity Preserving Reduced Order Models

Lecture 4: CMOS Transistor Theory

Parallel VLSI CAD Algorithms. Lecture 1 Introduction Zhuo Feng

Lecture 23. Dealing with Interconnect. Impact of Interconnect Parasitics

7-9 October 2009, Leuven, Belgium Electro-Thermal Simulation of Multi-channel Power Devices on PCB with SPICE

ECE 497 JS Lecture - 18 Noise in Digital Circuits

MOS Transistor Properties Review

Electrical Characterization of 3D Through-Silicon-Vias

ELEN0037 Microelectronic IC Design. Prof. Dr. Michael Kraft

Some of the different forms of a signal, obtained by transformations, are shown in the figure. jwt e z. jwt z e

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Accurate Estimating Simultaneous Switching Noises by Using Application Specific Device Modeling

! Crosstalk. ! Repeaters in Wiring. ! Transmission Lines. " Where transmission lines arise? " Lossless Transmission Line.

Analysis of TSV-to-TSV Coupling with High-Impedance Termination in 3D ICs

ENEE 359a Digital VLSI Design

Introduction. HFSS 3D EM Analysis S-parameter. Q3D R/L/C/G Extraction Model. magnitude [db] Frequency [GHz] S11 S21 -30

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

CMOS Transistors, Gates, and Wires

THE level of integration that can be achieved in highfrequency

LAYOUT TECHNIQUES. Dr. Ivan Grech

Integrated Circuits & Systems

VLSI VLSI CIRCUIT DESIGN PROCESSES P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Preconditioned CG-Solvers and Finite Element Grids

Equivalent Circuit Model Extraction for Interconnects in 3D ICs

IN the past, circuit delay has been due mostly to transistors.

Electromagnetic Modeling and Signal Integrity Simulation of Power/Ground Networks in High Speed Digital Packages and Printed Circuit Boards

Quiz #1 Practice Problem Set

LECTURE 3 MOSFETS II. MOS SCALING What is Scaling?

Notes for course EE1.1 Circuit Analysis TOPIC 4 NODAL ANALYSIS

Compact Distributed RLC Interconnect Models Part I: Single Line Transient, Time Delay, and Overshoot Expressions

Efficient Partial Element Calculation and the Extension to Cylindrical Elements for the PEEC Method

Stability and Passivity of the Super Node Algorithm for EM Modeling of IC s

Lecture 040 Integrated Circuit Technology - II (5/11/03) Page ECE Frequency Synthesizers P.E. Allen

Multiple Gate CMOS and Beyond

Lecture 150 Basic IC Processes (10/10/01) Page ECE Analog Integrated Circuits and Systems P.E. Allen

Device Models (PN Diode, MOSFET )

The Wire. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. July 30, 2002

Non-Sinusoidal Waves on (Mostly Lossless)Transmission Lines

Transmission Line Basics

VLSI GATE LEVEL DESIGN UNIT - III P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

EE115C Winter 2017 Digital Electronic Circuits. Lecture 3: MOS RC Model, CMOS Manufacturing

Design for Manufacturability and Power Estimation. Physical issues verification (DSM)

VLSI Design and Simulation

Modeling of Overhead Power Lines for Broadband PLC Applications.

Topics to be Covered. capacitance inductance transmission lines

CMPEN 411 VLSI Digital Circuits. Lecture 03: MOS Transistor

Analog Simulation. Digital simulation. Analog simulation. discrete values. discrete timing. continuous values. continuous timing

Announcements. EE141- Fall 2002 Lecture 25. Interconnect Effects I/O, Power Distribution

Digital Integrated Circuits. The Wire * Fuyuzhuo. *Thanks for Dr.Guoyong.SHI for his slides contributed for the talk. Digital IC.

EE382M-14 CMOS Analog Integrated Circuit Design

Interconnect s Role in Deep Submicron. Second class to first class

Grasping The Deep Sub-Micron Challenge in POWERFUL Integrated Circuits

Physics 3211: Electromagnetic Theory (Tutorial)

Defining a stackup for Sonnet RFIC analysis

EE 560 CHIP INPUT AND OUTPUT (I/0) CIRCUITS. Kenneth R. Laker, University of Pennsylvania

Digital Integrated Circuits (83-313) Lecture 5: Interconnect. Semester B, Lecturer: Adam Teman TAs: Itamar Levi, Robert Giterman 1

Device Models (PN Diode, MOSFET )

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences. Professor Oldham Fall 1999

Self-study problems and questions Processing and Device Technology, FFF110/FYSD13

EE 5211 Analog Integrated Circuit Design. Hua Tang Fall 2012

COMPUTATION OF WIRE AND JUNCTION CAPACITANCE IN VLSI STRUCTURES

E2.2 Analogue Electronics

Q. 1 Q. 25 carry one mark each.

Accurate Modeling of Spiral Inductors on Silicon From Within Cadence Virtuoso using Planar EM Simulation. Agilent EEsof RFIC Seminar Spring 2004

JUNCTION LEAKAGE OF A SiC-BASED NON-VOLATILE RANDOM ACCESS MEMORY (NVRAM) K. Y. Cheong ABSTRACT INTRODUCTION

Effect of parasitic capacitances on impedance measurements in microsensors structures: a numerical study

Efficient Reluctance Extraction for Large-Scale Power Grid with High- Frequency Consideration

Circuits. L5: Fabrication and Layout -2 ( ) B. Mazhari Dept. of EE, IIT Kanpur. B. Mazhari, IITK. G-Number

Notes for course EE1.1 Circuit Analysis TOPIC 10 2-PORT CIRCUITS

Interconnects. Wire Resistance Wire Capacitance Wire RC Delay Crosstalk Wire Engineering Repeaters. ECE 261 James Morizio 1

Preamplifier in 0.5µm CMOS

Electromagnetic Waves

Reluctance/Inductance Matrix under

Vector Potential Equivalent Circuit Based on PEEC Inversion

Mutual Capacitive Calculation for Touch Panel Design

Finite Element Method (FEM)

ELECTROMAGNETIC MODELING OF THREE DIMENSIONAL INTEGRATED CIRCUITS MENTOR GRAPHICS

Microelectronics Part 1: Main CMOS circuits design rules

Introduction to CMOS VLSI Design Lecture 1: Introduction

THE ELECTROMAGNETIC CIRCUIT ELEMENT THE KEY OF MODELLING ELECTROMAGNETICALY COUPLED INTEGRATED COMPONENTS

Impact of parametric mismatch and fluctuations on performance and yield of deep-submicron CMOS technologies. Philips Research, The Netherlands

Lecture 12 CMOS Delay & Transient Response

Analytical Optimization of High Performance and High Quality Factor MEMS Spiral Inductor

Fast Statistical Analysis of RC Nets Subject to Manufacturing Variabilities

Hierarchical Interconnect Circuit Models

Modeling of Passive Elements with ASITIC. Prof. Ali M. Niknejad Berkeley Wireless Research Center University of California, Berkeley

Name: Answers. Mean: 83, Standard Deviation: 12 Q1 Q2 Q3 Q4 Q5 Q6 Total. ESE370 Fall 2015

The Devices: MOS Transistors

Semi-Conductors insulators semi-conductors N-type Semi-Conductors P-type Semi-Conductors

Equivalent electrostatic capacitance Computation using FreeFEM++

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

THE boundary-element, or method-of-moments [1], technique

Lecture 34: Portable Systems Technology Background Professor Randy H. Katz Computer Science 252 Fall 1995

APPENDIX: TRANSMISSION LINE MODELLING AND PORT-BASED CIRCUITS

Chapter 2 The Well 9/5/2017. E E 480 Introduction to Analog and Digital VLSI Paul M. Furth New Mexico State University

Transcription:

Boundary Element Methods for Capacitance and Substrate Resistance Calculations in a VLSI Layout Verification Package Proceedings of the Electrosoft 93 1, july 6-8, 1993, Southampton, U.K. T. Smedes, N.P. van der Meijs and A.J. van Genderen Delft University of Technology, Faculty of Electrical Engineering, P.O. Box 5031, NL-2600 GA Delft, the Netherlands ABSTRACT In this paper we describe the application of the Boundary Element Method to the layout verification of VLSI Designs. We describe the methods for the calculation of interconnection capacitances and substrate resistances with the use of problem specific Green s functions. Emphasis is on computational efficiency and practical accuracy. The methods are implemented in the layout extractor Space (van der Meijs [1]). INTRODUCTION Designers of modern VLSI circuits rely heavily on layout-to-circuit extractors, which translate a chip layout into an equivalent network suitable for electrical verification of their layouts. Because of the growing influence of parasitic elements, such extractors must be able to model (extract) more and more parasitic phenomena. Parasitic capacitances and coupling between different components via the substrate of the chip are severe problems, see e.g. Bakoglu [2] and Kup [3]. We describe Boundary Element Methods for the calculation of interconnection capacitances and substrate resistances for the layout-to-circuit extractor Space (van der Meijs [1]). These components are indicated in Figure 1. We do not attempt to solve a field problem for a given set of boundary conditions. Instead we want to obtain a circuit model for the given physical situation. In particular we seek the capacitance matrix C s for the interconnect and the indefinite admittance matrix Y for the substrate. Boundary Element Formulation The problems mentioned above are generally described by the equation r(kru) = 0 on a domain ; (1) 1 Software Applications in Electrical Engineering, Computer Mechanics Publications, P.P. Silvester (ed.), 1993, pp. 337-344.

Passivation Layer i Cij 1 M 2 Dielectric j 1 2 i j P Epilayer Yij Bulk dielectric, containing M conductors: passivation, silicon nitride, r = 7:5. dielectric, silicon oxide, r = 3:9. silicon with P contacts on the boundary: epi-layer, low-doped, = 15 cm. bulk, high-doped, = 0:05 cm. Figure 1: Cross section of a chip. where u denotes the potential and K is a parameter of the medium. For constant K this equation reduces to the Laplace equation. For the capacitance problem the domain is the semi-infinite layered halfspace above the silicon. K is the permittivity () of the domain. The domain contains M conductors with inhomogeneous Dirichlet conditions. Homogeneous Dirichlet conditions hold at the groundplane and infinity. The unknowns are the charges on the conductors. For the resistance problem the domain is a cuboid with conductivity K = 1=. The substrate is contacted by P contacts with inhomogeneous Dirichlet conditions. Homogeneous Neumann conditions hold on the remainder of the boundary. The unknowns are the currents through the contacts. The above problems may be rewritten as a boundary integral equation Brebbia [4] u + u Z01 @u3 @n Z02 d0 + u @u3 Z Z @n d0 = @u @u 0 1 @n u3 d0 + 0 2 @n! u 3 d0 (2) where overlined quantities are prescribed by boundary conditions and u 3 is a fundamental solution or the (free space) Green s function. 0 1 denotes the part of the boundary with Dirichlet conditions and 0 2 denotes the part of the boundary with Neumann conditions. Green s function satisfies r 2 u 3 (~x; ~x s ) = 0(~x 0 ~x s ) (3) and can be interpreted as the potential caused by a unit point charge at ~x s. We do not use the free space Green s function, but Green s functions which are tailored by boundary conditions additional to Equation (3) for the particular problems. The result is such that only the third integral in Equation (2) remains. The derivation of the Green s functions will be discussed in the next sections. The boundary 0 1 is discretized into N elements, piecewise constant shape functions are assumed for the unknowns and using the collocation method we obtain u i = N j=1 @u @n elementj Z 0 1;j G(~x i ; ~x j )d0 j ; i = 1; 2; 3; :::; N (4)

or in matrixform U = GQ. Here U is the vector of N element potentials and Q is the vector of N unknowns on the elements. For these problems it can be shown that = 1. The elastance matrix G now describes the influence between each pair of boundary elements. By defining an incidence matrix F, which relates the element potentials U to the known conductor potential vector V by U = F V and the vector of element unknowns Q to the conductor unknowns X by X = F T Q we easily find the desired model relation X = F T G 01 F V = MV (5) 3D INTERCONNECTION CAPACITANCE CALCULATIONS For the case of 3-dimensional capacitance calculations, C s = M is the desired capacitance model. The domain is treated as a semi-inifinite stratified halfspace, i.e. it consists of layers of constant permittivity and the substrate acts as a groundplane. This is justified for the frequencies of interest (< 1Ghz). The discussion below will be necessarily brief, see van der Meijs [5] and van Genderen [6] for more detail and additional references. Green s Function and Model Reduction We write the Green s function for this problem as G(~x; ~x s ) = u 3 + u +, where u 3 is the free space solution. u + satisfies Equation (1), with the boundary conditions specified in the previous section. Additionally, it satisfies the conditions that the potential and normal derivative of the electric displacement are continuous across the dielectric interfaces. Since the physical situation is rotationally symmetric around ~x s, we can write Equation (1) in cylindrical coordinates with the z-axis through ~x s and the origin at the groundplane. By separation of variables we obtain u + = Z(z; z s )R(r), where Z satisfies the hyperbolic (second order) ODE and R satisfies the Bessel equation of order zero. When this system is solved, the solution containing the Bessel function of the second kind is rejected because of the boundary conditions. The Green s function can then be written as a linear combination of the independent solutions as: Z 1 G = u 3 + H 1 (m)e m(z0zs) + H 2 (m)e m(zs0z) J 0 (mr)dr (6) m=0 H 1 and H 2 are determined by the boundary and additional conditions. Standard numerical procedures then lead to the following result: G(~x; ~x s ) = 1 n=0 s n r 2 + (z 0 z n ) 2 (7) Here, the s n and z n can be interpreted as the image coefficients and positions, respectively (Zauderer [8]). In particular, s 0 = 1=(4K) and z 0 = z s, so that the 0 th term is the free-space solution u 3. Equation (4) can be integrated either analytically or numerically. Thus, C s can be calculated by Equation (5).

However, C s is a full matrix which specifies a capacitance between every pair of conductors. For our application, this corresponds to a circuit that contains too much irrelevant detail since conductors that are far apart have a negligible (although non-zero) capacitance. Moreover, computational complexity would restrict the applicability of the method to situations without practical significance. Therefore, we calculate a reduced capacitance model with the so-called hierarchical Schur algorithm. This algorithm produces an approximate positive definite sparse inverse G 01 SI for a positive definite matrix G that is specified on a double band S. G 01 SI has zeros on the complement of S and is the exact inverse of the so-called maximum entropy extension of a matrix G 0 that is close to G. It has been shown, see Nelis [7], that under certain conditions G 01 SI is an optimal reduced model. Thus, we compute a sparse approximation G 01 SI of G 01, thereby in effect ignoring small capacitances between conductors that are physically far from each other. The distance w, above which capacitances are ignored, is a parameter of the method. This allows to trade detail of the model against computation time. The algorithm requires O(Nb 2 ) operations, where N is the number of boundary elements and b is the average number of non-zero entries on a row of G 01 SI. This latter quantity is determined by the average number of nearby elements, which does not depend on the problem size but only on the window size w and the mesh granularity. Consequently, the running time is in practice proportional to the size of the problem. Implementation and Results The method as described above is implemented in an IC verification program called Space (van der Meijs [1]). From a layout description of a chip, Space produces a circuit netlist that contains the interconnect capacitances as well as the active devices and interconnect resistances. Space incorporates all steps of the method in a single program that performs one single pass over the input data. It reads a layout database and a file containing the relevant technological data, and defines a window that is swept over the layout. Within the window, the mesh is created, the collocation integral is computed for all pairs of boundary elements within the window, the resulting (partially specified) elastance matrix is inverted on the fly, and the approximate inverse is multiplied by the the incidence matrix. The result is merged with the network of active devices and interconnect resistances, and written to a netlist database. This netlist is ready for simulation, e.g. with Spice (Quarles [10]). To illustrate the efficiency of the program, consider a layout consisting of two crossing busses of 5 wires each, see Figure 2. The lower conductors are numbered 1-5 and the upper conductors are numbered 6-10. The thickness and width of the conductors, as well as the horizontal and vertical separations are all 1m. The medium consists of a single semi-infinite dielectric layer with a

Figure 2: Crossing-bus example layout. Table 1: Results as a function of the window size, on an HP 9000/720. w time mem capacitances (10 018 F) (m) (sec) (Mbyte) C 1 gnd C 12 C 13 C 14 C 15 C 16 11 144.5 14.74 453.1 586.6 44.3 17.9 12.3 144.6 5 83.2 4.14 462.5 585.0 43.3 17.2 11.9 143.9 4 47.8 2.10 476.0 584.0 43.0 21.3 143.4 3 26.8 0.78 499.0 582.6 5.0 142.9 2 12.5 0.32 554.2 599.3 141.4 1 3.6 0.14 645.4 490.8 139.9 relative permittivity of 3.9 (SiO 2 ). The boundary element mesh that is created by Space consists of 460 elements of 1m 2 1m. The results of extracting this layout when the window size w is varied, are shown in Table 1. For w = 11m, they correspond to an exact inversion of the elastance matrix. Note that when a capacitance C ij vanishes, the corresponding ground capacitance C i gnd increases so that the total capacitance of a conductor changes very little. This will ensure accurate delay simulation, at the cost of less crosstalk detail. Small values of w thus give acceptable capacitance models, however, with much reduced memory use and CPU times. Further results, including comparison to results obtained with other programs, can be found in van der Meijs [5]. 3D SUBSTRATE RESISTANCE CALCULATIONS The substrate of a VLSI chip may be seen as a multi-terminal distributed resistance network between the contacts on the boundary of the substrate. These contacts may be explicitly designed substrate contacts and e.g. substrate terminals of (active) devices such as MOSFETs. Y = M is the desired indefinite admittance matrix of this network. Theory We specify the Green s function by demanding homogeneous Neumann boundary conditions on 0 1 and 0 2 for the fundamental solution. The homogeneous Neumann conditions and the divergence theorem require that the volume integral of the right-hand-side of Equation (3) equals 0. Therefore this equation

has to be modified to r 2 G(~x; ~x s ) = 0(~x 0 ~x s ) + 1 V (8) The last term can be seen as a sink, distributed over the volume V, with a strength equal to the source at ~x s. The Green s function is obtained by the operator technique (Zauderer [8]). The 3D function is expressed as a series expansion in a basis of 2D eigenfunctions. For symmetry reasons we demand that the function must be independent of the choice for the base directions (in this case x and y). Then the Green s function is given by: G(~x; ~x s ) = C + 4 1 m;n=0 mn T mn cos mx L cos mx0 L cos m 2 W 2 + n 2 L 2 sinh ny cos ny0 W W mn H C = (z 2 +zs 2 ) 2LW H 0 zs LW (z 2 +zs 2 ) 2LW H 0 z LW + H 3LW ; mn = 8 >< >: 0 m = n = 0 0:5 m = 0 n = 0 1 m; n = 1; 2; ::: (9) 8 >< T mn = >: h cosh h cosh i h mn (H 0 z 0 ) cosh i h mn z 0 cosh i mn z ; 0 < z < z 0 i mn (H 0 z) ; z 0 < z < H: The sink term in Equation (8) causes a new constant (unknown) term 9 to appear in Equation (4). This term is the average potential over the domain. The normal derivative of the potential is related to the current density through the contacts by the local form of Ohm s law. To complete the set of equations, we use the Kirchhoff current law, which states that the sum of all terminal currents equals 0. Thus the indefinite admittance matrix of the substrate is given by Y = F T G 01F. Here G + + results from the matrix 0(1=K)G augmented such that 9 is the (N +1) th unknown and the Kirchhoff current law is the (N +1) th equation and multiplying by a diagonal matrix with the area of the elements as entries. The incidence matrices are modified appropriately. Results The accuracy of the method in 2D situations has been established in Smedes [9]. Here we will focus on 3D results. The structure in Figure 3 is calculated without and with the bottom contact. The resulting admittance matrices are shown as G2a and G2b, respectively. Matrix G2a can be obtained from G2b by Gaussian elimination. We verified that this relation holds for the numerical results, with a maximum error of 0.3%. From the matrices one can see that a substrate contact at the backside of a chip decreases the coupling between points at the surface. In effect, it acts as a sink for the disturbances injected into the substrate.

1 3 2 G2a= 4.88081-2.4078-2.47302-2.40166 5.57079-3.16914-2.47916-3.163 5.64215 4 5.82148-1.51848-1.37216-2.93084 G2b= B -1.51529 6.4316-2.11119-2.80512 C -1.37397-2.0973 6.98414-3.51287-2.93223-2.81582-3.50079 9.24884 Figure 3: 3D structure with calculated admittance matrices. Figure 4 shows a structure which is typical for actual design problems. The structure represents a 15 cm epi-layer on a good conducting substrate ( = 0:05 cm). The outer top contacts are substrate contacts. Of the inner contacts the right one represents the output (drain implant) of a digital oscillator and the left one a sensitive node in an analog circuit. All top contacts are 50m wide and 50m separated, except for the output contact, which is 10m wide. Figure 5 shows results obtained by simulation of the calculated substrate admittance matrix together with the external components with SPICE (Quarles [10]). The simulations are repeated with one or more of the substrate contacts in use. It is clearly seen that the addition of substrate contacts decreases the parasitic coupling. 7µ 50Ω Cout V out V in C in Epi layer R lead 200µ L lead V bulk Simulation data: V in = 5V f Vin = 100MHz V bulk = 05V R bulk = 2:5 C in = 0:2pF R lead = 2 Cout = 0:1pF L lead = 10nH R bulk Vout (V) Figure 4: Example structure for substrate resistance calculations. -4.5-5.0-5.5-6.0 legend: - - - only right substrate contact used right substrate contact and bulk contact used both substrate contacts and bulk contact used -6.5 5.0 5.2 5.4 5.6 5.8 6.0 time (ns) Figure 5: Results from SPICE of structure from Figure 4.

CONCLUSIONS This paper describes Boundary Element Methods applied to the calculation of interconnection capacitances and substrate resistances for the verification of VLSI designs. The methods use Green s functions tailored to the specific problem, such that a simple integral formulation remains. This formulation is transformed into the desired capacitance and admittance matrices. The approximative inversion of the elastance matrix can be done with linear time complexity with the Schur algorithm. We showed the applicability of the methods by several examples. Acknowledgement This research was funded by the Dutch Foundation for Fundamental Research on Matter (FOM), under project nr. DEL00.2450. REFERENCES 1. Meijs, N.P. van der and Genderen, A.J. van. Space User s Manual, Report ET-NT 92.21, Delft University of Technology, Delft, 1992. 2. Bakoglu, H.B. Circuits, Interconnection and Packaging for VLSI, Addison- Wesley, Reading, 1990. 3. Kup, B.M.J. et.al. A Bit-stream Digital-to-Analog Converter with 18-b Resolution IEEE Journal of Solid-State Circuits, Vol. 26, No.12, pp. 1757-63, 1991. 4. Brebbia, C.A. The Boundary Element Method for Engineers, Pentech Press, London, 1978. 5. Meijs, N.P. van der. Accurate and Efficient Layout Extraction, PhD thesis, Delft University of Technology, Delft, 1992. 6. Genderen, A.J. van. Reduced Models for the Behaviour of VLSI Circuits, PhD thesis, Delft University of Technology, Delft, 1991. 7. Nelis, H. Sparse Approximations of Inverse Matrices, PhD thesis, Delft university of Technology, Delft, 1989. 8. Zauderer, E. Partial Differential Equations of Applied Mathematics, John Wiley & Sons, New York, 1989. 9. Smedes, T., Substrate Resistance Extraction for Physics-based Layout Verification accepted for publication in Proceedings of the IEEE/ProRISC Workshop on Circuits Systems and Signal Processing, Houthalen, Belgium, 1993. 10. Quarles, T. et. al. SPICE 3B1 User s Guide, University of California, Berkeley, 1991.