extracting behavioral data from physical descriptions of mems for simulation

12
Journal of VLSI Signal Processing 22, 135–146 (1999) c 1999 Kluwer Academic Publishers. Manufactured in The Netherlands. Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation DENNIS GIBSON AND CARLA PURDY ECECS Department, University of Cincinnati, Cincinnati, OH 45221 Abstract. The work described here deals with the problems of modeling and simulation for MEMS devices. The eventual goal is to produce a top-down MEMS design system similar to today’s powerful VLSI design systems. In this work a fixed fabrication process (MUMPS) and a fixed layout tool (L-Edit) are chosen. Thus our efforts are concentrated on reliable simulation of designs and eventual comparison with actual fabricated parts. The cantilever beam is chosen as an example of how extraction from a physical layout may be modeled and interfaced with various simulators. 1. Introduction Research in the area of microelectromechanical sys- tems (MEMS) dates back about 30 years. In his seminal 1982 article, Kurt Petersen outlined how MEMS could be constructed on computer chips and used in a vari- ety of applications [1]. Today MEMS are already being used in many consumer products and, as K.J. Gabriel pointed out in 1995, are likely to “...have as profound an impact on society as did the miniaturization of elec- tronics in preceding decades.” Now that there is such a heavy demand for MEMS applications, there is a need for new and improved CAD tools to be deve- loped so that MEMS productivity may experience the same type of improvement that VLSI productivity has experienced. In the last two decades, the concept of CAD for MEMS has been primarily associated with process modeling and finite element analysis (FEA). While a great deal of progress has been made in these areas, little has been done to benefit the system designer, who typically must start from scratch with each new project. One goal of researchers is to develop tools which al- low MEMS designers to easily produce fully-simulated complex designs with reasonable confidence in the sys- tem’s predicted performance. These tools would use a standard process (such as MCNC’s MUMPS) and would allow the designer to utilize a library of pre- simulated components to quickly build up fully simu- lated MEMS structures. MEMS devices cannot be characterized as purely electrical or mechanical in nature but have properties from both domains. These domains are not indepen- dent. A change in the mechanical state of a MEMS device may affect the electrical state of the same device, and the converse is also true. There exist a number of well developed electrical simulators and mechanical simulators for these separate domains. In an effort not to “reinvent the wheel”, many researchers are incor- porating these simulators into CAD packages to better enable the MEMS design process. But it may be the case that better mixed domain simulations would result from a closer integration of electrical and mechanical simulation techniques. In addition, dimensional ana- lysis may become an important part of future research in this area as a means of integrating the two domains. The work described here deals with the problems of modeling and simulation for MEMS devices. The eventual goal is to produce a top-down MEMS design system similar to today’s powerful VLSI design sys- tems. In this work we have chosen a fixed fabrication process (MUMPS [2]) as a target and a fixed layout tool (L-Edit [3]). Thus our efforts are concentrated on reliable simulation of designs and eventual comparison

Upload: dennis-gibson

Post on 03-Aug-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

Journal of VLSI Signal Processing 22, 135–146 (1999)c© 1999 Kluwer Academic Publishers. Manufactured in The Netherlands.

Extracting Behavioral Data from Physical Descriptionsof MEMS for Simulation

DENNIS GIBSON AND CARLA PURDYECECS Department, University of Cincinnati, Cincinnati, OH 45221

Abstract. The work described here deals with the problems of modeling and simulation for MEMS devices. Theeventual goal is to produce a top-down MEMS design system similar to today’s powerful VLSI design systems. Inthis work a fixed fabrication process (MUMPS) and a fixed layout tool (L-Edit) are chosen. Thus our efforts areconcentrated on reliable simulation of designs and eventual comparison with actual fabricated parts. The cantileverbeam is chosen as an example of how extraction from a physical layout may be modeled and interfaced with varioussimulators.

1. Introduction

Research in the area of microelectromechanical sys-tems (MEMS) dates back about 30 years. In his seminal1982 article, Kurt Petersen outlined how MEMS couldbe constructed on computer chips and used in a vari-ety of applications [1]. Today MEMS are already beingused in many consumer products and, as K.J. Gabrielpointed out in 1995, are likely to “...have as profoundan impact on society as did the miniaturization of elec-tronics in preceding decades.” Now that there is sucha heavy demand for MEMS applications, there is aneed for new and improved CAD tools to be deve-loped so that MEMS productivity may experience thesame type of improvement that VLSI productivity hasexperienced.

In the last two decades, the concept of CAD forMEMS has been primarily associated with processmodeling and finite element analysis (FEA). While agreat deal of progress has been made in these areas,little has been done to benefit the system designer, whotypically must start from scratch with each new project.One goal of researchers is to develop tools which al-low MEMS designers to easily produce fully-simulatedcomplex designs with reasonable confidence in the sys-tem’s predicted performance. These tools would usea standard process (such as MCNC’s MUMPS) and

would allow the designer to utilize a library of pre-simulated components to quickly build up fully simu-lated MEMS structures.

MEMS devices cannot be characterized as purelyelectrical or mechanical in nature but have propertiesfrom both domains. These domains are not indepen-dent. A change in the mechanical state of a MEMSdevice may affect the electrical state of the same device,and the converse is also true. There exist a number ofwell developed electrical simulators and mechanicalsimulators for these separate domains. In an effort notto “reinvent the wheel”, many researchers are incor-porating these simulators into CAD packages to betterenable the MEMS design process. But it may be thecase that better mixed domain simulations would resultfrom a closer integration of electrical and mechanicalsimulation techniques. In addition, dimensional ana-lysis may become an important part of future researchin this area as a means of integrating the two domains.

The work described here deals with the problemsof modeling and simulation for MEMS devices. Theeventual goal is to produce a top-down MEMS designsystem similar to today’s powerful VLSI design sys-tems. In this work we have chosen a fixed fabricationprocess (MUMPS [2]) as a target and a fixed layouttool (L-Edit [3]). Thus our efforts are concentrated onreliable simulation of designs and eventual comparison

Page 2: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

136 Gibson and Purdy

with actual fabricated parts. Initially we focus on twomain problems:

(1) definition of the interface between a layout file anda variety of simulators which may be designed forMEMS or extendable to MEMS components, and

(2) automatic translation of a device level descriptioninto its simulation description for these specificsimulators.

By solving these problems in some specific cases, weexpect to derive both insight into how to do MEMSsimulation effectively and understanding of how tomodel MEMS components for simulation. Eventuallywe will develop a hierarchy of MEMS componentmodels, for common devices such as beams, cantileverbeams, and membranes, similar to the hierarchy of tran-sistor models used in SPICE, as well as a library of morecomplex parts and parameterized descriptions.

In this work we describe the various ways in which asimple MEMS device, the cantilever beam, can be builtin the MCNC MUMPS process, and we show how ap-propriate data can be automatically extracted from theL-edit design files to enable simulation in four differentsimulators: SPICE [4], ANSYS [5], MATHEMATICA[6], and SEAMS (which implements the VHDL-AMSStandards [7]). For the SPICE and VHDL-AMS simu-lations, we perform domain translations to allow theelectrical simulators in these packages to use equivalentequations to simulate mechanical behavior. ANSYSis used only to compare these models with the FEAmethod to measure deflection in cantilever beams.

2. Test Structure: Cantilever Beams

The cantilever beam is a basic MEMS device. Thisdevice will be used to demonstrate how the mapping ofthe physical description of a MEMS device to its be-havioral description for simulation may be automated(Fig. 1).

The remainder of this paper will discuss what hasbeen done to accomplish this goal, and the current stateof the project. The selection of a standard process, theselection of a layout output format, the constructionof cantilever beams in a layout, detection of cantileverbeams in a layout description, and the translation forsimulation will be presented.

Figure 1. Physical layout to simulation.

3. Process Overview: MUMPS

Just as in VLSI design, MEMS design is dependentupon the fabrication technology used. Therefore, thelayout description is dependent upon the fabricationtechnology since it will be described as elements ofspecific layers used in the chosen technology to createmasks. It is imperative to choose a widely accepted andwell defined process so that any work done would be us-able by the greatest number of MEMS designers. In ad-dition, choosing an obscure process would benefit onlya small group of designers, but would likely becomeobsolete if it is not widely supported. Thus, MCNC’sMulti-User MEMS Processes or MUMPs was chosen.It is a DARPA-supported program that is used by in-dustry, government, and academic institutions [2].

The MUMPs process is a three-layer polysilicon sur-face micro-machining process derived from work per-formed at the Berkeley Sensors and Actuators Centerat the University of California. Several modificationshave been made to increase the flexibility and versa-tility of the process for the multi-user environment.This process has the general features of a standard sur-face micro-machining process, including: the use ofpolysilicon as the structural material, deposited oxideas the sacrificial layer, and silicon nitride as electri-cal isolation between the polysilicon and the substrate.The process is different from most customized surfacemicro-machining processes in that it is designed to beas general as possible, and to be capable of supportingmany different designs on a single silicon wafer. Sincethe process was not optimized with the purpose of

Page 3: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

Extracting Behavioral Data from Physical Descriptions 137

fabricating any one specific device, the thicknesses ofthe structural and sacrificial layers were chosen to suitmost users, and the layout design rules were chosenconservatively to guarantee the highest yield possible[2].

4. Layout Editor and Output Format

Many layout tools for VLSI design are available. Theselayout tools are adequate for MEMS design, but lackfeatures that would make them more valuable. L-Editis an integrated layout editor packaged with automaticdesign rule checker and automatic place and route tools.It allows for output in three formats [3]: its own binaryformat and two widely accepted formats, GDSII andCIF (Caltech Intermediate Form) [8]. It has a well de-veloped user interface and is easy to learn. One featurethat is useful for MEMS design is its cross-sectionalviewer. However, it lacks any 3-D capabilities. To usethis layout editor with the MUMPs process, it is nece-ssary to edit the setup to use the MUMPs technologyfile which is available from Tanner Tools. To use thecross-sectional viewer for MUMPs designs it is nece-ssary to obtain the MUMPs cross-sectional view filefrom Tanner [3] also. The Caltech Intermediate Form(CIF) was chosen as the layout output format due toits support from MCNC. MCNC also has a library ofMEMS devices which are available in CIF format.

5. Construction of Cantilever Beams in MUMPS

There appear to multiple ways to construct cantileverbeams using the MUMPS process. One can divide theset of possible cantilever beams into two categories.The first are those which are intended to be purely me-chanical in nature. In this case it is not necessary to takeinto account the separation of the ground plane and thesource plane. However, the cantilever beams that areof interest here are the ones that are formed such thatthe layer of polysilicon is electrically isolated from theground plane (a lower layer of polysilicon), and somedistance lies between the beam and the ground plane.Therefore, every cantilever beam’s base will be con-tained in a nitride layer which serves as an electricalinsulator from the substrate. A cantilever beam, for ourpurposes, is a layer of polysilicon which is isolatedfrom a lower layer of polysilicon just below it and iscontained in the nitride layer. The nitride and the lowerlayer of polysilicon will not reside beneath the beamexcept for the minimal distance required to properly

Figure 2. 4 Styles of cantilever beams in MUMPS.

anchor the beam. The upper layer of polysilicon willextend beyond the anchored base. The following fourcases have been considered (Fig. 2):

(1) Layer Poly 1 extends beyond the base, and is iso-lated from Poly 0.

(2) Layer Poly 2 extends beyond the base, and is iso-lated from Poly 0.

(3) Layer Poly 2 extends beyond the base, and is iso-lated from Poly 1.

(4) Layers Poly 1 and 2 are acting as one layer by theThin Oxide Cut and extend beyond the base, andare isolated from Poly 0.

Restrictions

• The lower layer of polysilicon in the base residescompletely in the nitride layer.• All bases of cantilever beams are contained in a ni-

tride rectangle which only undercuts the beam by theminimal spacing required to sufficiently anchor thebeam to the base layers.

6. Extraction of Cantilever Beams from CIF Files

A program in C++ has been written to read CIF files andto detect cantilever beams present in the layout whichcorrespond to the four cases above with the correspond-ing restrictions. An array of linked lists is created. Eachindex of the array represents the layer number in the

Page 4: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

138 Gibson and Purdy

MUMPs process. Each index holds a list of all rectan-gles of the corresponding layer in the layout. An arrayof Boolean values is also created. The contents of eachindex indicates whether there are any occurrences ofthe corresponding layer in the layout. If the layers ofa particular case are in the layout, then the lists forthose layers are scanned to see if they match the condi-tions and restrictions. If a cantilever beam is found, itis stored in a list of cantilever beams with all pertinentinformation for simulation.

7. Translation of Cantilever Beamsfor Simulation

Currently, work is being done in studying how to trans-late layout data into data for simulation. Dimensionalanalysis is a future area of exploration for the transla-tion of data. Since the simulations require units fromboth the electrical and mechanical domains, tediousconversions were done by hand to convert data intocommon reference units. For this work, this was acce-ptable, but for a systems approach, this step must beautomated.

At this point the capabilities of various simulators arebeing explored. The simulators that are currently beingexplored are SPICE, SEAMS, ANSYS, and MATHE-MATICA. Since SPICE is an electrical simulator, itsinput file requires that the input be in terms of electri-cal devices. The cantilever beam behaves electricallylike a parallel plate capacitor in which the distance be-tween the two plates is allowed to vary. Mechanically,the cantilever beam behaves like a mass connected toa spring such that the mass is able to move up or downin the vertical plane (Fig. 3).

It is also possible to convert this mechanical do-main description into an equivalent electrical domaindescription. Thus, the cantilever beam can be simu-lated electrically and mechanically with SPICE. Thisis advantageous since SPICE tends to be easy to useand not time consuming, whereas FEA simulation isgenerally time consuming, although generally moreaccurate. The mechanical simulation results can becompared to the mechanical simulation results fromFEA simulators such as ANSYS. It is hoped that, whenthis project is finished, an appropriate level of abstrac-tion for behavioral extraction will be determined. Howaccurate a model needs to be is a question that will bedetermined from this work.

Figure 3. Dampened spring-mass system.

7.1. Models for Simulation

For SPICE simulation, it is necessary to create modelswhich are able to approximate the behavior of can-tilever beams in both the mechanical and electrical do-mains. To demonstrate the model, only the deflectioncharacteristic is examined. Thermal, stress and strainanalyses are ignored for this model. Mechanically, thecantilever beam can be approximated by a dampenedspring-mass system. This is an elastic system, so thefollowing are necessary for the model: spring constantk, massm, and damping coefficientB. The differen-tial equation for this system where an external force isexerted on the massm, is [9]

F =md2x

dt2+ B

dx

dt+ kx (1)

where the massm is given by

m= pwhl (2)

Page 5: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

Extracting Behavioral Data from Physical Descriptions 139

such thatw is the width of the cross section,h isthe height of the cross section andl is the length ofthe beam. The densityp is 2.26 g/cm3 as supplied byMCNC for the MUMPS process [2],

k = 3EI

L3(3)

whereE is the Young’s modulus of polysilicon and hasbeen measured at 170 GPa as reported by MCNC [2],and I is the moment of inertia and is described by theEq. [9],

I = wh3

12(4)

Finally, the damping coefficientB is described by [10]

B = 2

5(mk)

12 (5)

This system has a close relationship to a parallel con-nected RLC circuit with an independent current source(Fig. 4). The equation for such a system is given by[11]:

I = CdV

dt+ 1

RV + 1

L

∫V(t) dt (6)

Hence, external forces in the mechanical domainmap to external currents in the electrical domain. Like-wise,m, B, andk map toC, 1/R, and 1/L, respectively.The parallel connected circuit can be constructed inSPICE to solve for the deflection. Given the value of

Figure 4. RLC electrical mapping of spring-mass system.

Figure 5. Voltage controlled deflection of cantilever beam.

the external current applied to the circuit, the deflectionx of the beam is determined by examining the currentthrough the inductive element at that moment in time.Using

kx= 1

L

∫V(t) dt (7)

it is trivial to solve for deflectionx by dividing theSPICE result for the current through the inductor by thespring constantk. For a cantilever beam that is purelymechanical in nature, this is sufficient for simulation.

However, if the cantilever beam and the ground planeare at different potentials, as in Fig. 5, then the deflec-tion can be controlled by an external voltage sourcewhich will be able to control the capacitance betweenthe substrate and the beam. The external force on thebeam is actually the attractive force due to the capaci-tance between the ground plane and the beam. In thiscase, the mechanical model is translated to its elec-trical model just as before. In addition, for small de-flections, the cantilever beam acts like a parallel platecapacitor. Therefore, the force due to the voltage sourcewill be modeled as the attractive force of a parallelplate capacitor in which one of the plates is not fixed(Fig. 5).

The force due to the capacitance is dependent onthree main factors: area of the beam, distance from thebeam to the ground plane and magnitude of the sourcevoltage. The area is approximately constant for thissituation, but a problem arises from the voltage and thedistance between the beam and ground plane. By in-creasing/decreasing the voltage, the force of attractionincreases/decreases, thus causing a change in the de-flection of the beam. Now, the capacitance has changedsince the distance between the plates has changed. Thissuggests that there needs to be a feedback loop. Thus,to solve this problem there must be a coupling of the

Page 6: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

140 Gibson and Purdy

Figure 6. System with feedback.

two domains in the simulation such that feedback isnecessary to continue simulation (Fig. 6).

8. Format for Spice Input File

All elastic parameters are stored in the data structurewhen the cantilever beam is extracted. These are in-serted into the SPICE program. The parallel RLC cir-cuit description for a single cantilever which is purelymechanical in nature is as follows [4]:

*comment or circuit descriptionR1 0 1 1/BC1 0 1 mL1 0 1 1/kI1 1 0 (...) with parameters for current source.Simulation data inserted here..END

This format can be repeated for each beam found inthe layout with its own specificB, m andk values inthe same input file. It will consider data after the .ENDstatement as a new simulation. For a beam which isactuated by a voltage source, the model must includea feedback loop. The force of attraction due to capaci-tance is modeled by a mechanical force exerted at theend of the beam. Since the force is related to the de-flection, the force needs to be recalculated at each timestep for the new distance of the beam. However, thisstep was ignored for SPICE and only the mechanicalbeam was simulated.

9. Mathematica Modeling

Just as with the SPICE modeling, the same parame-ters are inserted into a model which solves for the de-flection. MATHEMATICA has the capability to solvethe second order differential equation for the deflectionusing the DSOLVE command. Therefore, no domaintranslation is necessary. The following code is a sam-ple file generated for a 100×20×2 (micrometer units)cantilever beam:

F[t ] = 1/10^5;

Clear[S,t,x]

S[t ,x ] = m*x’’[t] +B*x’[t] + k*x[t]

answer=DSolve[{S[t,x]==F[t],x[0]==0,x’[0]==0},x[t],t]

Clear[soln];

soln[t\ ] = x[t]/.answer[[1]];

CC = 2*Sqrt[m*k];

B = (2/10)*CC;

soln[t];

L = 100.0/10^6;

W = 20.0/10^6;

H = 2.0/10^6;

P = 2.26*10^(3);

Y = 170*10^9;

IZ = (W*H^3)/12;

Rigidity = Y*IZ;

m = P*W*L*H;

k = N[(3*Rigidity)/L^3,30];

soln[t];

Plot[soln[t],{t,0,1.0 10^(-5)}];

Page 7: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

Extracting Behavioral Data from Physical Descriptions 141

Figure 7. Sample MATHEMATICA output.

The output of the previous model would plot a graph(Fig. 7) for the mechanical deflection to the end of thecantilever beam.

In addition, since MATHEMATICA is actually astructured programming language, it was not difficultto model the feedback loop for the voltage actuatedbeam. It required only a loop structure to recalculatethe force at each time step in the simulation. The fol-lowing is a sample file generated for the previous beam,but with an overlap of 20× 20 with a lower layer ofpolysilicon.

Clear[S,t,x];

S[t ,x ]= m*x’’[t] +B*x’[t] + k*x[t];

answer=DSolve[{S [t,x]==F,x[0]==0,x’[0]==0},x[t],t];

Clear[soln,t];

soln[t ] = x[t]/.answer[[1]];

L =100.0/10^6;

W =20.0/10^6; H =2.0/10^6;

P = 2.26*10^(3);

Y =170.0*10^9;

IZ =(W*H^3)/12;

Rigidity = Y*IZ;

m = P*W*L*H;

k =(3*Rigidity)/L^3;

CC = 2*Sqrt[m*k];

B = (2/10)*CC;

Voltage[t ]:=Volt ;

Area = (20/10^6)* (20/10^6);

Beamheight = .75/10^6;

Permitivity = 8.85/10^12;

Volt = 10;

h = 1/10^8;

t0=0;

xnew0 = 0;

t= t0;

xnew = xnew0;

F = (Area*Permitivity*Voltage[t]^2)/

(2*(Beamheight)^2);

output1 = {{t,xnew}};

output2 = {{t,F}};

n = 5000;

Do [ t= t+h;xnew = soln[t];

F=(Area*Permitivity*Voltage[t]^2)/

(2*(Beamheight-xnew)^2);

If[ Re[xnew]>(1.0/3.0)*Beamheight,

Flag1 = 0;Break[], Flag1=1 ];

output1 = Append[output1,{t,xnew}];

output2 = Append[output2, {t,F}],

{i,1,n}];

ListPlot[output1, PlotJoined -> True];

ListPlot[output2, PlotJoined -> True]

10. VHDL-AMS Modeling

Although SPICE has differential equation solvers builtinto it, VHDL-AMS offers the same advantage thatMATHEMATICA does, at least for ordinary differ-ential equations. For SPICE it has been shown thatparameters have to be input as electrical quantities forSPICE to run. However, VHDL-AMS has a differentialequation solver and there is no restriction as to the typeof quantities that must be input. Therefore, this elimi-nates the translation of the mechanical system into anelectrical system (which should reduce any errors dueto approximations). The equations for the mechanicalsystem can be entered into VHDL-AMS directly. Thisallows for the description to be done in a high levelmanner. For instance, the cantilever beam could be de-scribed as:

entity cantbeam isend entity cantbeam;

architecture simple of cantbeam isquantity x: real;quantity v: real;quantity a: real;quantity F: real;constant L: real := 20.0E-6;constant W: real := 10.0E-6;constant H: real := 1.5E-6;constant P: real := 2.26E3;constant M: real := L*W*H*P;constant Y: real := 170.0E9;constant IZ: real:= (W*H*H*H)/12.0;constant Rigidity: real :=Y*IZ;

Page 8: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

142 Gibson and Purdy

constant k: real := (3.0*Rigidity)/(L*L*L);constant B: real := 0.4*sqrt(M*K);

begin.b1: break v => 0.0, a => 0.0, x => 0.0, F => 0.0;

force: F== F1+ F2+ F3;force1: F1== M*a;force2: F2== k*x;force3: F3== B*v;vel: v == x’dot;accel: a== v’dot;

end architecture simple;

The declared constants represent data that is eitherextracted or properties derived from extracted data. Inthis model the values of the dimensions of the mechani-cal cantilever beam appear as constants. However, thisis not the most efficient way since this requires thata new model be created for each beam with differentdimensions. The time to create an executable for simu-lation is extensive. It is better to use variables and readthe values of the dimensions at run-time.

The following model is for a cantilever beam that isactuated by a voltage source. This model incorporatesreading the dimensions of the beam from an input file.This allows an executable to be created once, and onlyan input file needs to be generated by the extractionprogram.

USE std.textio.ALL;entity cantbeamactuator isport(Vin,Length,Width: in real;deflection,Force: out real);end entity cantbeamactuator;

architecture simple of cantbeamactuator isquantity x: real;quantity Volt: real;quantity v: real;quantity a: real;quantity F: real;quantity L: real;quantity W: real;quantity H: real;quantity M: real;quantity IZ: real;quantity Rigidity: real;quantity k: real;constant P: real := 2.26E3;constant Y: real := 170.0E9;

constant Eo: real := 8.85E-12;constant H: real := 1.5E-6;

beginb1:break Volt => 0.0, a => 0.0, x => 0.0, F => 0.0;

InputTestBench: ProcessFile Infile: text OPEN READMODE IS

“cantbeam.in”;VARIABLE linebuf : line;VARIABLE vtemp,ltemp,wtemp,htemp :real;

BEGINWHILE (NOT (endfile(Infile))) LOOPreadline(Infile,linebuf);read(linebuf,vtemp);Vin <= vtemp;

read(linebuf,ltemp);Length <= ltemp;

read(linebuf,wtemp);Width <= wtemp;

WAIT FOR 100 ns;END LOOP;

END process;Initialize: Process (Vin,Length,Width)

VARIABLE MASS,MOMENT,RIG,SpringK: real;BEGIN

Volt := Vin;L := Length;W := Width;MASS := L*W*H*P;M := MASS;MOMENT := (W*H*H*H) /12.0;IZ := MOMENT;RIG := Y*IZ;Rigidity := RIG;B := 0.4*sqrt(M*K);SpringK := (3.0*Rigidity)/(L*L*L);k := SpringK;

END process;Calc Force: Process

VARIABLE Area, Perm,AttractForce: real;BEGIN

Area := L*W;Perm := Eo;AttractForce := (Area*Perm*Volt*Volt)/(2.0*x*x);F := AttractForce;

END process;Forceapplied: F== F1+ F2+ F3;force1: F1== M*a;force2: F2== k*x;force3: F3== B*v;vel: v == x’dot;

Page 9: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

Extracting Behavioral Data from Physical Descriptions 143

accel: a== v’dot;deflection= x;Force= F;end architecture simple;

Once a description for the beam has been created,simulations can be done using SEAMS [12]. SEAMSimplements the IEEE 1076.1 VHDL-AMS standard[7]. Although the SEAMS simulator is still under con-struction, the models presented have been proven to besyntactically correct, but were not able to be simulated.

11. FEA Analysis: ANSYS

Interfacing with ANSYS FEA program is not a diffi-cult task [5]. The format of the source program con-tains a sequence of statements in 4 groups: Header,Preprocessor Solution, and Postprocessor. The Headersection allows the user to specify BATCH mode and atitle. In the Preprocessor section,/PREP7, three tablesare created describing the element properties: Elementtype (ET), Real constants (R), and Material Proper-ties, (MP). After the ET, R, and MP lines are defined,you define the nodes and the elements. In the Solutionsection/SOLUTION, the loads and constraints are de-fined. Loads are defined with the F, SFBEAM and SFcommands.

The element type in ANSYS for a cantilever beamis 3. The Real constants are entered from the data struc-ture which holds relevant information on the beam suchas length, width, height. The Material Properties arealso entered into the file using the elastic properties ofpolysilicon which are also stored from the cantileverbeam extraction program. The values extracted are thenwritten to the template input log file as variables at thebeginning. Then the variable names are used thereafterin the model. The model was set up using a built-inmodel in ANSYS for a cantilever beam fixed at oneend. The following is an example of the source pro-gram for a cantilever beam with values written in forthe variables:

/BATCHlength= 100e-6width= 20e-6depth= 2e-6xsect= (width*depth)inertiaz= (width*depth**3)/12Force= 10e-6Youngs= 170e9density= 2.26e3

dampcoef= .2!*/NOPR/PMETH,OFFKEYW,PR SET,1KEYW,PR STRUC,1KEYW,PR THERM,0KEYW,PR FLUID,0KEYW,PR ELMAG,0KEYW,MAGNOD,0KEYW,MAGEDG,0KEYW,MAGHFE,0KEYW,MAGELC,0KEYW,PR MULTI,0KEYW,PR CFD,0/GO!*/COM,/COM, Structural!*/PREP7!*ET,1,BEAM3!*!*R,1,xsect,inertiaz,depth, , , ,!*!*UIMP,1,EX, , ,YoungsUIMP,1,DENS, , ,densityUIMP,1,ALPX, , , ,UIMP,1,REFT, , , ,UIMP,1,NUXY, , , ,UIMP,1,PRXY, , , ,UIMP,1,GXY, , , ,UIMP,1,MU, , , ,UIMP,1,DAMP, , ,dampcoef,UIMP,1,KXX, , , ,UIMP,1,C, , , ,UIMP,1,ENTH, , , ,UIMP,1,HF, , , ,UIMP,1,EMIS, , , ,UIMP,1,QRATE, , , ,UIMP,1,MURX, , , ,UIMP,1,MGXX, , , ,UIMP,1,RSVX, , , ,UIMP,1,PERX, , , ,UIMP,1,VISC, , , ,UIMP,1,SONC, , , ,!*

Page 10: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

144 Gibson and Purdy

K,1,0,0,0K,2,length,0,0/pnum, kp,1kplotLSTR,1,2ESIZE,length/10,0,LMESH, 1/PNUM,KP,0/PNUM,LINE,0/PNUM,AREA,0/PNUM,VOLU,0/PNUM,NODE,0/PNUM,SVAL,0/NUM,0!*/PNUM,ELEM,1/REPLOT!*SAVE,,,FINISH/SOLU!*ANTYPE,0FLST,2,1,1,ORDE,1FITEM,2,1D,P51X, , , , , ,ALLFLST,2,1,1,ORDE,1

Figure 8. Sample ANSYS output.

FITEM,2,2F,P51X,FY,-Force

This model is used as an input file to ANSYS, and thetype of simulation that is desired can be run, whether itbe a static or dynamic. Figure 8 shows the output gen-erated when a static solution is chosen. DMX (Fig. 8)represents the maximum deflection at the end of thebeam, with a constant force applied.

12. Results

Simulations were made on various beam sizes for eachof the simulators, except for SEAMS (still under con-struction), with various forces applied. The beam di-mensions that were simulated ranged in length from 20to 100µm, and widths for each of these beams rangedfrom 5 to 20µm. For each of these beams, forces wereapplied in increments until the maximum deflection ofthe beam occurred. Each of the simulators gave simi-lar results for the input given. For each simulator, aninput file was generated with the dimensions of the can-tilever beam and other pertinent information. For thesimulations, static and dynamic forces were applied.Each of the simulators were able to show dampenedoscillatory motion for the deflection when a force was

Page 11: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

Extracting Behavioral Data from Physical Descriptions 145

Deflection of 20 × 5 × 2 cantilever beam (10−6 m)Force10−4 N ANSYS SPICE MATHEMATICA

1.0 0.47059 0.4705 0.4704

2.0 0.94118 0.941176 0.941176

3.0 1.4118 1.411764 1.411768

4.0 1.8824 1.88235 1.88235

Figure 9. Deflection of 20× 5× 2 beam.

Deflection of 100 × 20 × 2 Beam (10−6 m)Force10−6 N ANSYS SPICE MATHEMATICA

1.0 0.14706 0.147101 0.14710

2.0 0.29412 0.294202 0.29420

3.0 0.44118 0.441303 0.44130

4.0 0.58840 0.588404 0.58840

Figure 10. Deflection of 100× 20× 2 beam.

applied. The results for the deflection of the largest andsmallest beams tested with a constant force applied areshown in Figs. 9 and 10. The deflection given is thevalue after it has ceased to oscillate.

13. Conclusions

To aid in CAD for MEMS, a set of rules for buildingcantilever beams has been developed for the MUMPSprocess. These rules will aid in the creation of aparameterized standard cell for cantilever beams in alibrary. A program to extract parameters for cantileverbeams from a CIF file format has been developed. Us-ing these parameters, it has been demonstrated howthese parameters may be used to automate input forvarious simulators, such as SPICE, SEAMS, ANSYSand MATHEMATICA. SPICE requires that a map-ping of mechanical properties to electrical properties beperformed. It appears that dimensional analysis wouldbe practical to help in these mappings. These map-pings can be input to SPICE or SEAMS, although theVHDL-AMS and MATHEMATICA do not require thedomain translation. In addition, it seems that SPICE

is rather limited in its abilities, due to necessary do-main translations. However, VHDL-AMS and MATH-EMATICA do show promise. Both have the capabilityto solve ordinary differential equations, which allowedthe model proposed to be demonstrated in a straightforward, high level manner. Although output was notobtained using the SEAMS simulator at this time, dueto continuing work on the simulator, it is still seen asa valid option. However, MATHEMATICA seems tobe the most useful. It has the capability to solve notonly ordinary differential equations, but also partialdifferential equations. Also, changing a MATHE-MATICA model and simulating is not as time con-suming as it is in the VHDL-AMS simulator, SEAMS.

Although traditional methods for CAD, such as FEA,will probably always be necessary,this work hopes todemonstrate that other methods for specific problemsmay be useful to the system designer as MEMS tech-nology matures.

Acknowledgments

Prof. Gibson was supported by the University ofCincinnati Fellowhip, The University of CincinnatiResearch Challenge Grant and the United States AirForce, contract no. F33615-96-2-1945.

Prof. Purdy was supported by The University ofCincinnati Research Challenge Grant and the UnitedStates Air Force, contract no. F33615-96-2-1945.

References

1. K.E. Petersen, “Silicon as a mechanical material,”IEEE Pro-ceedings, Vol. 70, No. 5, pp. 420–457, 1982.

2. D.A. Koester, R. Mahadevan, A. Shishkoff, and K.W. Markus,Smart-MUMPS Design Handbook Including MUMPS Introduc-tion and Design Rules (rev. 4), MEMS Technology ApplicationsCenter, MCNC, 3021 Cornwallis Road, Research Trangle Park,NC 27709, copyright 1996 by MCNC.

3. Tanner Tools User’s Manual, Tanner Research, 1996.4. P.W. Tuinenga,SPICE, A Guide to Circuit Simulation and Anal-

ysis Using PSPICE, Prentice Hall, pp. 1–6, 115–132, 147–152,copyright 1992.

5. Ansys Primer for Stress Analysis for Revision 4.4, SwansonAnalysis Systems, P.O. Box 65, Johnson Rd., Houston, PA,15342-0065, copyright 1991.

6. S. Wolfram,Mathematica: A System for Doing Mathematics byComputer, Addison-Wesley Publishing Co., copyright 1991.

7. Design Automation Standards Committee, IEEE ComputerSociety, IEEE Standard VHDL Language Reference Manual(Integrated with VHDL-AMS Changes), Std. 1076.1, IEEE,1997.

Page 12: Extracting Behavioral Data from Physical Descriptions of MEMS for Simulation

146 Gibson and Purdy

8. C. Mead and L. Conway,Introduction to VLSI Systems, Addison-Wesley Publishing Company, pp. 115–127, copyright 1980.

9. A. Blake,Practical Stress Analysis in Engineering Design, Mar-cel Dekker, pp. 211–221, copyright 1990.

10. R.W. Clough and J. Penzien,Dynamics of Structures, McGraw-Hill, pp. 18–77, copyright 1975.

11. N. Lo, E. Berg, R.S. Quakkelaar, N.J. Simon, M. Tachiki, H.-J.Lee, and S.J. Pister, “Parameterized layout synthesis, extraction,and SPICE simulation for MEMS,”ISCAS 96, pp. 481–484, May1996, http://synergy.icsl.ucla.edu/htdocs/ abstracts/NL02.html/cgi-bin/publist.

12. University of Cincinnati, ECECS Department, DistributedProcessing Laboratory, SEAMS Simulator project, http://www.ececs.uc.edu/ hcarter/

13. D. Bouldin (ed.),Report of the 1993 Workshop on Rapid Pro-totyping of Microelectronic Systems for Universities, Universityof Tennessee Report, April 1994, http:// microsys6.engr.utk.edu/ece/nsfic93.html.

14. D. Bouldin, Designing Microelectronic Systems, http://mi-crosys6.engr.utk.edu/ ece/ bouldincourses.

15. S.D. Senturia, A. Aluru, and J. White, “Simulating the behaviorof MEMS devices: Computational methods and needs,”IEEEComputational Science and Enginering, Vol. 4, No. 1, pp. 3–13,1997.

Dennis Gibsonreceived a B.S. in Electrical Engineering from theUniversity of Kentucky, and is currently pursuing a Ph.D. in computer

science from the University of Cincinnati. His research interests in-clude design automation for MEMS devices and systems, behavioralmodeling, and simulation for mixed-mode [email protected]

Carla N. Purdy received a B.A. in mathematics from Cornell Univer-sity, an M.A. and Ph.D. in mathematics from the University of Illinoisat Urbana-Champaign, and a Ph.D. in computer science from TexasA&M University. Currently she is an associate professor in the Elec-trical & Computer Engineering and Computer Science Department atthe University of Cincinnati. Her research interests include CAD forVLSI, with emphasis on multidomain systems, application-specificVLSI designs, hardware-software codesign, VLSI education, andbenchmarking and visualization for heuristic [email protected]