Simulating MicroElectroMechanical Systems

Post on 29-May-2022

10 views 0 download

Transcript of Simulating MicroElectroMechanical Systems

SimulatingMicr oElectroMechanical Systems

David Bindel

UC Berkeley, CS Division

Simulating MicroElectroMechanical Systems – p.1/30

Overview

Simulation: motivations and approaches

Introducing SUGAR

Using SUGAR

Ongoing work

Conclusion

Simulating MicroElectroMechanical Systems – p.2/30

Simulation: What?

Process simulation (technology CAD)

Device simulation

System simulation

Simulating MicroElectroMechanical Systems – p.3/30

Simulation: Why?

Test “what if” ideas and initial designs

Design verification, fine tuning, and parasiticdiscovery

Different objectives mean different speed andaccuracy requirements

Simulating MicroElectroMechanical Systems – p.4/30

Simulation: How?

Solve continuum equations (finite elements,finite differences, boundary elements)

Solve simplified equations of beam and platetheory (finite elements, etc)

Solve network equations (e.g. modified nodalanalysis)

These approaches are not mutually exclusive!

Simulating MicroElectroMechanical Systems – p.5/30

SUGAR: System simulation

Goal: “Be SPICE to the MEMS world”

Fast enough for early design stages

Simple enough to attract users

Capable of simulating interesting coupledphysics

Simulating MicroElectroMechanical Systems – p.6/30

SUGAR group

Faculty Grad students Undergrads

A. Agogino D. Bindel W. KaoZ. Bai J.V. Clark A. KuoJ. Demmel D. Garmire E. ZhuS. Govindjee B. JamshidiM. Gu R. KamalianK.S.J. Pister S. Lakshmin

J. NieN. Zhou

Simulating MicroElectroMechanical Systems – p.7/30

Relatedwork

Nodas from CMU

Coventorware

SPICE, CADENCE, HDL-A, ...

ANSYS, ABAQUS, FEAP, ...

Simulating MicroElectroMechanical Systems – p.8/30

What canwemodel?

Simulating MicroElectroMechanical Systems – p.9/30

SUGAR architecture

System assembly

Models

Solvers

Matlab Web Library

Sensitivity analysis

Static analysis

Steady−state analysis

Transient analysis

Results

Netlist

Interfaces

Simulating MicroElectroMechanical Systems – p.10/30

Netlist syntax

mybeam beam2d p1 [A B] [l=100u w=2u]

mybeam is the element name (optional)

beam2d specifies the 2-d beam model

p1 specifies the properties of the POLY1MUMPS layer

A and B are the beam end-nodes

[l=100u w=2u] specifies the length (100microns) and width (2 microns).

Simulating MicroElectroMechanical Systems – p.11/30

Parameterization

param nfingers = 10

nfingers can be set by user at load time

If no value explicitly provided, use ten fingers

Simulating MicroElectroMechanical Systems – p.12/30

Subnetsand heirarchical design

Subnets are parameterized components

Subnet calls look like built-in model calls

Matches design heirarchies

Can put commonly-used subnets in a library

Simulating MicroElectroMechanical Systems – p.13/30

Subnet example

subnet XMass [A B] [finger_len=*]

[

b1 beam3d parent [A b1] [l=25u w=50u

h=6u oz=-deg(90)]

b2 beam3d parent [b1 B ] [l=25u w=50u

h=6u oz=-deg(90)]

b3 beam3d parent [b1 b2] [l=finger_len w=2u

h=6u oz= deg(0) ]

b4 beam3d parent [b1 b3] [l=finger_len w=2u

h=6u oz=deg(180)]

]

Simulating MicroElectroMechanical Systems – p.14/30

Arra ys

XSusp p1 [c(1)] [susp_len=200u]

for k=1:nfingers [

mass(k) XMass p1 [c(k) c(k+1)] [finger_len=100u]

]

XSusp p1 [c(11)] [susp_len=200u oz=pi]

Suspensions at either end

nfingers comb-finger units as defined above

Simulating MicroElectroMechanical Systems – p.15/30

Result: simplified ADXL-50

−3 −2 −1 0 1 2 3

x 10−4

−5

−4.5

−4

−3.5

−3

−2.5

−2

−1.5

−1

−0.5

0

x 10−4

X − horizontal [m]

Y −

ver

tical

[m

]

Simulating MicroElectroMechanical Systems – p.16/30

Typesof analysis

Transient response

Static equilibrium (DC analysis)

Steady-state response

Mode shape determination

Simulating MicroElectroMechanical Systems – p.17/30

Example: Modal analysis

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

x 10−4

−2

−1

0

1

2x 10

−4

X − horizontal [m]

Y −

ver

tical

[m

]

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2

x 10−4

−1.5

−1

−0.5

0

0.5

1

1.5

2x 10

−4 Mode 3, frequency 22295.086717 Hz

X − horizontal [m]

Y −

ver

tical

[m

]

Dogbone suspension for comb drive resonator

Simulating MicroElectroMechanical Systems – p.18/30

Using the Matlab interface

0 2 4 6 8 10 12−2

−1.8

−1.6

−1.4

−1.2

−1

−0.8

−0.6

−0.4

−0.2

0x 10

−6

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

x 10−4

−8

−6

−4

−2

0

2

4

6

x 10−5

X − horizontal [m]

Y −

ver

tical

[m

]

dq = [];

for k=1:12

param.V = k;

net = cho_load(’beamgap2b.net’, param);

dq = cho_dc(net, dq);

tip(k) = cho_dq_view(dq, net, ’c’, ’y’);

end

Simulating MicroElectroMechanical Systems – p.19/30

SUGAR 3.0

SUGAR 2.0: Matlab core, C add-ons

SUGAR 3.0: C core, Matlab interfaces

Release target: some time this month?

Web service using 3.0 should be more robust

Can use SUGAR 3.0 even without Matlab

Simulating MicroElectroMechanical Systems – p.20/30

M&MEMS: SUGAR on the Web

http://sugar.millennium.berkeley.edu/

Simulating MicroElectroMechanical Systems – p.21/30

M&MEMS: Pros and cons

Pro: Only need a web browser with Java

Pro: Fixes can be applied rapidly

Pro: Potential parallelism

Con: Less flexibility than Matlab environment

Con: Too many failure points in initial version

Con: Poor response time in initial version

Simulating MicroElectroMechanical Systems – p.22/30

M&MEMS: Lessons fr om EE245

Used in Introduction to MEMS course, Fall 01(Pister)

Problems with both hardware and software

Matlab too heavyweight in this environment

Students used it anyhow!

Simulating MicroElectroMechanical Systems – p.23/30

Matisse: Integrating measurement

Set of optical measurement tools

Make available on the web as a “virtual lab”

Matisse team: R. Kant, R. Muller, C. Rembe,M. Young

Simulating MicroElectroMechanical Systems – p.24/30

Matisse: Closing the designloop

Simulating MicroElectroMechanical Systems – p.25/30

Designsynthesisand optimization

Genetic algorithms to evolve new designs

Specializing designs from a library

N. Zhou, B. Zhu, A. Agogino, and K. Pister:"Evolutionary Synthesis of MEMS(Microelectronic Mechanical Systems)Design" (ANNIE 2001). First Runner-up forNovel Smart Engineering System DesignAward.

Simulating MicroElectroMechanical Systems – p.26/30

Model reduction

Used to create macromodels from detaileddevice simulations

Also used to reduce large system models

Need to handle nonlinear effects

Z. Bai is the local expert on ROM

Simulating MicroElectroMechanical Systems – p.27/30

Impr ovedmodels

Geometric nonlinear beams

Torsion-bending coupling for single-crystal Si

Contact

More coupling effects: electrothermal,thermomechanical, electromechanical, ...

Plates, hinges, other mechanics

Improved damping models

Improved thermal models

Simulating MicroElectroMechanical Systems – p.28/30

Impr ovednumerics

Incorporate current technology: SuperLU,DASSL and IDA, etc.

Improved time integration

Scaling and improved error measures

Continuation for improved static analysis andstudy of bifurcations

Sensitivity analysis

Incorporate parallel techniques whereappropriate

Simulating MicroElectroMechanical Systems – p.29/30

Conclusions

SUGAR is already a useful design / educationtool

Lots of activity to extend SUGAR and improverobustness

Friendly users appreciated!

Simulating MicroElectroMechanical Systems – p.30/30