spie proceedings series volume 4228 a modular approach for...

12
Design, Modeling, and Simulation in Microelectronics, 28-30 November 2000, Singapore, 71-82 SPIE Proceedings Series Volume 4228 71 A modular approach for simulation-based optimization of MEMS P. Schneider, E. Huck, S. Reitz, S. Parodat 1 , A. Schneider, P. Schwarz Fraunhofer Institute for Integrated Circuits, Department EAS Dresden Zeunerstraße 38, D-01069 Dresden, Germany ABSTRACT The importance of MEMS optimization concerning performance, power consumption, and reliability increases. In the MEMS design flow a variety of specialized tools is available. For simulation on component level FEM tools (e.g. ANSYS, CFD- ACE+) are widely used. Simulations on system level are carried out with simplified models using simulators like Saber, ELDO or Spice. A few simulators offer tool-specific optimization capabilities but there is a lack of simulator independent support of MEMS optimization. Our approach aims at a flexible combination of simulators and optimization algorithms by partitioning the optimization cycle. This new method is translated into a modular optimization system implemented in JAVA. The main parts (modules) are: Simulation: System behavior is calculated with the actual design parameters. This computation can be a simple evaluation of equations or a complex simulation with a FEM tool or a system simulator, respectively. Error calculation: Simulation results and the specified system behavior are used to calculate the error value (the design objective function) in the actual optimization step. Optimization: The error value is used to compute the new vector of design parameters. Model instantiation: The new parameter values are used to modify the generic model for a new simulation run. The implemented optimization algorithms are: methods without derivatives (e.g. Nelder-Mead-Simplex), methods using derivatives (e.g. Conjugate Gradient or Quasi-Newton) and stochastic approaches (e.g. Simulated Annealing). Interfaces to the simulators ANSYS, ELDO, Saber, and SPICE are implemented. Thus the optimization task can be solved on different levels of model abstraction (FEM, ordinary differential equations, generalized networks, ...). A graphical user inter- face (GUI) supports control and visualization of the optimization progress. The modules of the optimization system may com- municate via the internet (web-based optimization, distributed optimization). The paper covers the partitioning of optimization cycle, the interaction between the modules of the optimization system, first experiences in web-based optimization, and the application of the approach to MEMS optimization. Keywords: optimization, micro system, heterogeneous systems, MEMS, modular optimization system, distributed optimization via Internet, multi-level simulation, FEM, system simulation 1. INTRODUCTION In the design process of technical systems always optimizations are executed to improve the system behavior. Usually these optimization steps are based on the experiences of the designer, who analyzes the system performance and modifies individual system parameters. The system properties are mostly specified in a ambiguous way e.g. fast system response, low power con- sumption or small production costs. The fulfilment of these requirements is often checked in a similar ambiguous way. Either the requested information is not available yet, e.g. which costs occur within production process of a component or a tendency predicate is completely sufficient for the optimization step. If one tries to use numerical methods for the parameter optimization, one is faced to transform the general problem into a mathematical optimization task. This may be a very complicated task for an engineer which is familiar with the system but not with nonlinear optimization algorithms. Especially the formulation of the objective function, i.e. the measure for the deviation of the actual from the desired system behavior, is difficult, especially if there are diametrical different optimization criteria. Correspondence: Peter Schneider; Email: [email protected]; Telephone: +49 351 4640 710; Fax: +49 351 4640 703. Peter Schwarz; Email: [email protected]; Telephone: +49 351 4640 730; Fax: +49 351 4640 703. 1 Sandra Parodat is now with AMD Saxony Manufacturing GmbH, Wilschdorfer Straße 101, D-01109 Dresden, Germany.

Upload: others

Post on 18-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

Design, Modeling, and Simulation in Microelectronics, 28-30 November 2000, Singapore, 71-82SPIE Proceedings Series Volume 4228

A modular approach for simulation-based optimization of MEMS

P. Schneider, E. Huck, S. Reitz, S. Parodat1, A. Schneider, P. SchwarzFraunhofer Institute for Integrated Circuits, Department EAS Dresden

Zeunerstraße 38, D-01069 Dresden, Germany

ABSTRACT

The importance of MEMS optimization concerning performance, power consumption, and reliability increases. In the MEMSdesign flow a variety of specialized tools is available. For simulation on component level FEM tools (e.g. ANSYS, CFD-ACE+) are widely used. Simulations on system level are carried out with simplified models using simulators like Saber, ELDOor Spice. A few simulators offer tool-specific optimization capabilities but there is a lack of simulator independent support ofMEMS optimization. Our approach aims at a flexible combination of simulators and optimization algorithms by partitioning the optimization cycle.This new method is translated into a modular optimization system implemented in JAVA. The main parts (modules) are: • Simulation: System behavior is calculated with the actual design parameters. This computation can be a simple evaluation

of equations or a complex simulation with a FEM tool or a system simulator, respectively. • Error calculation: Simulation results and the specified system behavior are used to calculate the error value (the design

objective function) in the actual optimization step.• Optimization: The error value is used to compute the new vector of design parameters. • Model instantiation: The new parameter values are used to modify the generic model for a new simulation run.The implemented optimization algorithms are:• methods without derivatives (e.g. Nelder-Mead-Simplex), • methods using derivatives (e.g. Conjugate Gradient or Quasi-Newton)and• stochastic approaches (e.g. Simulated Annealing).Interfaces to the simulators ANSYS, ELDO, Saber, and SPICE are implemented. Thus the optimization task can be solved ondifferent levels of model abstraction (FEM, ordinary differential equations, generalized networks, ...). A graphical user inter-face (GUI) supports control and visualization of the optimization progress. The modules of the optimization system may com-municate via the internet (web-based optimization, distributed optimization). The paper covers the partitioning of optimization cycle, the interaction between the modules of the optimization system, firstexperiences in web-based optimization, and the application of the approach to MEMS optimization.

Keywords: optimization, micro system, heterogeneous systems, MEMS, modular optimization system, distributedoptimization via Internet, multi-level simulation, FEM, system simulation

1. INTRODUCTION

In the design process of technical systems always optimizations are executed to improve the system behavior. Usually theseoptimization steps are based on the experiences of the designer, who analyzes the system performance and modifies individualsystem parameters. The system properties are mostly specified in a ambiguous way e.g. fast system response, low power con-sumption or small production costs. The fulfilment of these requirements is often checked in a similar ambiguous way. Eitherthe requested information is not available yet, e.g. which costs occur within production process of a component or a tendencypredicate is completely sufficient for the optimization step. If one tries to use numerical methods for the parameter optimization, one is faced to transform the general problem into amathematical optimization task. This may be a very complicated task for an engineer which is familiar with the system but notwith nonlinear optimization algorithms. Especially the formulation of the objective function, i.e. the measure for the deviationof the actual from the desired system behavior, is difficult, especially if there are diametrical different optimization criteria.

Correspondence: Peter Schneider; Email: [email protected]; Telephone: +49 351 4640 710; Fax: +49 351 4640 703.Peter Schwarz; Email: [email protected]; Telephone: +49 351 4640 730; Fax: +49 351 4640 703.1Sandra Parodat is now with AMD Saxony Manufacturing GmbH, Wilschdorfer Straße 101, D-01109 Dresden, Germany.

71

Page 2: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

Another general problem is the mostly complicated correlation between system parameters an the system behavior. Fig. 1shows the dependence between the objective function and the geometric parameters for a micro optical system [1]. With anincreasing number of parameters these surfaces become more and more complicated and it is nearly impossible to calculatethem. Furthermore in a n-dimensional space a manual evaluation of this error surface is not useful.

For an effective search of a parameter combination which represents the desired system performance a lot of numerical meth-ods are known. There are „classical“ methods, which either use derivatives for finding an optimal parameter combination ormethods without derivatives, methods using stochastic approaches or empirical knowledge. Furthermore there are approacheswhich adapt mechanisms of nature for solving optimization problems [2], [3], [4]. Approaches like genetic algorithms or evo-lutionary strategies are well known and are used for optimization problems with a huge number of parameters [5].Despite that variety of the available methods the application of numerical optimization algorithms for solving technical prob-lems is not straight forward. The main problems are, as mentioned before:• the transformation of the general optimization problem into a mathematical task,• the often very complicated shape of the objective function,• optimization criteria, which are often opposite one to each other, • in the selection of the correct algorithm and• probably the most important, finding a global optimum.In addition there are problems which are essentially due to the system class which should be optimized. In the following sec-tions the specific problems of micro system optimization are discussed and an approach for simulation-based optimization inthis field is introduced.

2. A MODULAR APPROACH FOR THE OPTIMIZATION OF MICROSYSTEMS

Complex systems in microelectronics, micro system technologies or MEMS have to fulfill a variety of requirements regardingsystem performance, power consumption, reliability or production costs. These properties have to be considered in the designprocess usually at very early stage. Computer-based methods are widely used in this field. Especially simulation is a veryimportant technique for a fast and low-cost analysis of different versions of a design and the estimation of the system behavior. Usually micro systems are heterogeneous systems. For their design different levels of abstractions must be regarded (Fig. 2).The range is from the device level, where the behavior of a very small area (e.g. a transistor device on the chip or a mechanicalbeam) is to be analyzed to the system level, where the overall performance of the entire system is to be checked.FEM calculations [6] in different physical domains, modeling and simulation of subsystems, described by ordinary differentialequations and simulations on system level (including mechanics, optics, electronics ...) have to be executed. This amount ofcalculations cannot be performed with a stand-alone simulator. Often it is necessary to couple specialized tools for an appropri-ate analysis of a subsystem [7], [8]. Changing the level of abstraction often the mathematical background is changing too (e.g.from partial differential equations to ordinary differential equations or differential algebraic equations respectively). For thatreason in micro system design there is a strong need for modeling and modeling methods ([9], [10], [11], [12], [13] and oth-ers), unified modeling approaches [14], standardized languages [15] and automated model generation [16] or model transfor-mation.Furthermore in system design occasionally the application of special methods of analysis, which are not supplied by commer-cial tools, is necessary. Additionally there is no possibility to predict the shape of the objective function in the n-dimensionalspace of the design parameters. However for micro systems the number of design variables may be high and because of nonlin-earities the error surface can be extremely complicated. The different optimization methods behave very differently dependingon the shape of the objective function. It is very useful in solving an optimization task to apply different methods (determinis-

1.41.5

1.61.7

1.81.9

2

1.4

1.5

1.6

1.7

1.8

1.9

20

1

2

3

4

5

6

7

x 104

nLinse1nLinse2

Abs

tand

1.41.5

1.61.7

1.81.9

2

0.5

1

1.5

2

2.50

1

2

3

4

5

6

7

x 104

nLinse2Abstand

Abs

tand

1.41.5

1.61.7

1.81.9

2

0.5

1

1.5

2

2.50

1

2

3

4

5

6

7

x 104

nLinse1Abstand

Abs

tand

Figure 1. Micro optical system - objective function

72

Page 3: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

tic and stochastic, with and without use of derivatives, genetic algorithms...) to one problem.In addition to the problems mentioned in section 1. the following characteristics of micro systems have to be considered foroptimization:• coupled physical domains,• different simulators and design tools for the physical domains (and their coupling, if necessary),• different levels of abstraction,• changing between the levels of abstractions in the design process,• integration of tools in design frameworks.Because of these system properties the methods for modeling and simulation of heterogeneous systems are very heterogeneoustoo. All the different tools and methods have to be integrated into the optimization cycle, and it should be possible to exchangethem in a efficient and user friendly manner.

2.1. The optimization cycle

The main idea of our approach is to divide the optimization process into distinct subtasks or modules. For optimization of asystem the calculation of the system behavior is an essential part. Regarding the characteristics of micro systems (or other het-erogeneous systems), discussed above, this calculation is mostly done using a simulator. Another needed module is the optimi-zation algorithm. Based on a value which represents the deviation of the actual behavior from its desired (objective function) anew set of parameters is calculated. To connect simulators and optimization methods there are different possibilities:Integration of optimization algorithms into simulation systemsSome simulator vendors offer optimization features for their simulation [17], [18], [19]. Optimization algorithms are calledfrom the simulation system (Fig. 3, left), the definition of the optimization problem is done in the vendor specific environment.The use of other simulators is usually not supported.

simulator couplingmodelling

System

Subsystem

Device

Figure 2. Levels of abstraction in micro system design

simulationsystem

optimizationalgorithm

error value

new set ofparameters

result extractionerror calculation

model generation/ model update

optimizationsystem

simulationalgorithm

system model

simulation results

model generation/ model update

result extractionerror calculation

Figure 3. Connection between simulation and optimization algorithms

73

Page 4: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

Calling simulators from optimization systemsOptimization systems, mostly with their own modelling languages [20], [21] support the execution of external routines in theoptimization cycle (Fig. 3, right). In a very simple case this routine is a C-function for calculating an error value. One canimagine, that this routine may be a complex code, like a simulator. The described possibilities are mostly limited to the calcu-lation of the error value. The use of external optimization algorithms is mostly supported insufficient. A modular optimization cycleThe amount of available optimization algorithms, the variety of simulators used in the field of micro system technologies andthe specific needs of the design process for micro systems led us to a third approach [22]. A modular structure of the optimiza-tion cycle decreases the overall effort for optimization tasks. Regardless the used simulator and the applied optimization algo-rithm the user has always to formulate the optimization problem. He has to specify:• the initial values for the parameters,• the desired system behavior (specification),• restrictions for system variables and• bounds on the parameters.Additionally the user has to provide a system model (mostly simulator specific) and the control parameters for the optimiza-tion algorithm. So the optimization cycle can be divided into the modules: model generation, simulation, error calculation andoptimization (Fig. 4). This allows a uniform description of the optimization problem.

The modular optimization system has to meet the following requirements:• Open for merging different optimization algorithms and for the integration of different simulators, • modularity, in order to support the integration of problem-specific tools,• interfaces, which are used in industrial design systems, • interactive user interface, in order to integrate designer experience and designer decisions into the optimization• visualization tools for the representation of the optimization progress and in order to allow interactive control of the optimi-

zation by the userThe above-mentioned characteristics of micro systems are important for a broad spectrum of other technical systems, too. Forthe modular optimization system Moscito (Modular System for Constraint Nonlinear Microsystem Optimization) which wasdeveloped with consideration of the requests defined before, a broad area of application arises.In Fig. 5 the concept of a modular and very flexible optimization system is represented. It is characterized by the differentfunctions (Fig. 4) which are executed within the optimization cycle. Each subtask is encapsulated logically in a module.Between these modules informations are exchanged using a uniform interface. The concept, shown in Fig. 5 which is the basisfor the implementation of Moscito, additionally illustrates the interfaces between the modules and to the user.

2.2. Modules of the optimization systemIn the following section the modules of the optimization system are described. At first the functions of the modules will be dis-cussed. Section 2.3. deals with the implementation of the modules in JAVA and with the Internet aspect of the system.Model generationThe model which is to be optimized contains degrees of freedom in the form of freely adjustable parameters. Such a model iscalled a generic model. Before each simulation this generic model must be supplied with a set of parameter values for theactual optimization step. At the beginning of the optimization cycle this has to be done using the initial values specified by the

optimization

error value

new set ofparameters

Figure 4. Connection between simulation and optimization algorithms - modular approach

simulationsystem model

simulation results

modelgeneration

error calculation

74

Page 5: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

user. In the process of the optimization the new parameter values are supplied by the optimization module as result of the cur-rent optimization step. The way the parameter values are transferred to the simulator depends on its possibilities. Many simulators need a model for-mulated in a specific language (e.g. an ANSYS APDL-File, a netlist for electrical circuits or a behavioral description).This filemust be read at the beginning of the simulation. In this case the generic model must be provided as a file and must be modifiedin every optimization step. Therefore in the model source text (e.g. ANSYS system description, Spice netlist) have to beinserted dummy variables, marked by special characters, which are exchanged during each generation of the model with theactual parameter values. Other simulators support the modification of model parameters over special simulator interfaces. Inthis case a unique reading in of the model description is sufficient at the beginning of the optimization. If a new record ofparameter values is present, the parameter values are then modified in the simulator model database over appropriate accessmechanisms. The model generation module encapsulates these different possibilities and offers an uniform interface for theuser.SimulationThe task which is performed by the module simulation is the calculation of the actual behavior of the system. This containsstarting the simulator with the proper parameters and in some cases the execution of special tools for visualization, data log-ging or other tasks. For the current values of the optimization parameters the system model is build up in the simulator data-base (or modified, respectively) and is calculated with the solution algorithm of the simulator. For data exchange with theneighboring modules of Moscito a uniform (simulator-independent) interface is used. Depending upon the used simulator theamount of data incurred for the simulation results may be very large.The following steps have to be carried out to provide the simulation data for the next Moscito module (see Fig. 5) in the opti-mization cycle: • the extraction of the relevant result data from the database of the simulator, • the output of the extracted data and • the conversion into the interface format of MoscitoThe extraction of the result data and the output into the result file is performed using the simulator functionality. That’s whythe amount and the data structure are different for each simulator. Thus, it is necessary to implement one converter per simula-tor or per output format. These converters have to be able to extract or convert the simulation results, so that these results canbe passed in standardized form to the next module (error calculation).Error calculationThe target of the module error calculation is the determination and evaluation of the deviation of the current simulationresults, (i.e. the actual system behavior) from the specification (i.e. the desired system behavior). A specification may be e.g.the definition of upper and lower barrier of an admissible tolerance area or a strict demand. The specifications can be providedin analytical or in tabular form. The deviation ε(t) between the actual and desired behavior of the system can be calculated as an absolute or a relative errorvalue. The calculation of ε(t) can be performed for given sample points. With the help of a evaluation function a scalar quality

simulationmodel generation

optimization

Front End (GUI)

File Edit View HelpRun

actual behavior

objective function

simulation-ready

actual

weights

specification

simulator control

error calculationinitial values

algorithm

generic

parameters

constraints, bounds

model p1

p2p3

(parameter definition,model structure)

(stimuli, loads,

solution commands,postprocessing)

boundary conditions,

Figure 5. Concept for a modular optimization system

(desired behavior)

model

control

(simulation resuklts)

75

Page 6: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

measure is extracted from the total of all deviations. Furthermore a rating of the deviation within individual areas can be madeby the definition of a weighting factor. Examples of evaluation functions are the quadratic sum, the sum of absolute values and the minimum function. From the eval-uated deviation results the value of the objective function is to be maximized or minimized respectively. This depends on theformulation of the optimization problem.OptimizationTarget of the module optimization is the determination of the optimization parameters considering linear or nonlinear restric-tions, so that the objective function assumes a local or the global minimum. The current value of the objective function willtransferred from the module error calculation. The following deterministic optimization algorithms are available at present: • Quasi Newton method [23], [24],• Conjugate Gradient algorithm [23], [25],• the method developed by Powell [26], [27], • Nelder Mead Simplex algorithm [28], [27].Furthermore the stochastic search method Simulated Annealing [27], [29] was integrated. The strategies of the individual algorithms for the determination of the optimum are very different. The Quasi Newton proce-dure forms a square model of the objective function for the determination of a search direction. The values of the first and(approximately) the second partial derivatives are used. The Conjugate Gradient procedure uses likewise first partial deriva-tives for the determination of an optimum. Both procedures find an optimum for objective functions, which meet the appropri-ate evenness characteristics, with very few simulation runs.Without derivative calculations get along Powells algorithm, the Nelder Mead Simplex method and the Simulated Annealing.These procedures can be applied to a larger number of problem categories. However they need, according to experience, morefunction calculations or simulations than the procedures with derivative estimation. The Simulated Annealing uses contrary tothe local deterministic procedures heuristic components for the search and is thus able to determine, according to possiblymany calculations, the global optimum. A comparison of different procedures on the basis of mathematical test functions isgiven in [30]. All specified procedures treat unrestricted optimization problems. The placed linear or nonlinear constraints areconsidered by means of penalty functions. The penalty functions sets up a term, which punishes a leaving of the admissiblearea defined by the constraints. This term is within the admissible area equal to zero and outside a monotonous rising function.The penalty is added to the objective function and forms a modified optimization problem.Visualization (Graphical User Interface)During the optimization cycle the values of the optimization parameters, of the objective function and the actual vs. the desiredsystem behavior can be observed using the front end of Moscito. The parameter values and the values of the objective functionare displayed for each iteration, so that for the different optimization procedures the typical runs can be compared. If the actualvalues are available as a time plot or a characteristic curve, then this is displayed for each simulation. If a scalar value is theresult of the simulation, then this is displayed as a function of the number of iterations. Additionally the given specifications(e.g. tolerance areas) are visualized.

2.3. Implementation as Internet-based optimization systemStarting from the idea to connect different tools via the Internet to form a uniform workflow for simulation based optimization,in the last few years a prototype implementation named Moscito was implemented. This software implementation was devel-oped regarding the following aspects (the corresponding software module is given in brackets):• Encapsulation of design tools and adaptation of the tool-specific control and data input/output to the Moscito framework

(MoscitoAgent).• Communication between the tools for data exchange to support the distributed, Internet-based operation of the optimization

system (MoscitoSocket, MoscitoChannel, MoscitoDatagram, MoscitoML).• Uniform graphical front-end for the configuration of the tools, the control of the optimization process and the visualization

of result data (MoscitoDesktop, MoscitoBrowser, MoscitoScope, MoscitoConsole).One important goal is to provide the functionality of a tool (e.g. Saber: circuit simulation) to a potential user as a service in alocal area network (LAN) or in the entire Internet. The user should be able to combine all the services to a problem specificworkflow. That means, the needed tools have not to be installed on the users local computer. It is completely sufficient, that theservices are available via the net. Due to that fact for the user the effort for installation, configuration and maintenance of soft-ware will decrease. Furthermore specialized tools can be executed on their native platform with a high performance (e.g.supercomputer with fast CPUs and large memory, Workstation-Cluster). This will speed up the entire workflow. Remote com-puting in this way is important for application with huge amount of computing time: simulation as well as optimization.

76

Page 7: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

The Moscito framework was implemented in JAVA [31] and can be used on the different computing platforms. At the momentMoscito is used on SUN workstation (Solaris) and on PCs (Microsoft Windows and LINUX). In the following some of themost important concepts of the implementation are discussed.Tool encapsulationFor the integration of design tools (simulators, optimization algorithms) into other systems usually it is necessary to implementan additional software layer. In Moscito this layer is realized as a special agent interface (MoscitoAgent). A specialized tool,e.g. a simulator, is embedded into a Moscito agent, which has to carry out the following tasks: • adaptation of input data to the embedded tool, e.g. generation of configuration scripts or input files• adaptation of output data, the tool-specific data formats (simulation results, logfiles) have to be converted• the mapping of control information to the embedded tool and the transfer and conversion of status information (warning

and error messages), which have to be submitted to the user.To provide the opportunity of the integration of a broad spectrum of tools and use them as a service in Moscito there are threeways for embedding programs into a Moscito agent:• Integration of the entire program: the software has to be runable as a batch job (e.g. ANSYS). In this way the integration of

a large number of commercial tools is possible.• Embedding of a library via the Java Native Interface (JNI): this way functions (optimization algorithms etc.) written in e.g.

C, C++ or FORTRAN can be called.• Direct integration of Java-classes and applications, respectively - an easy way when the software which is to be integrated

is written in JAVA.At the moment among others the following tools are integrated in Moscito:• Saber (Analogy Inc.) [32] and ELDO (Mentor Inc.) [33] - mixed-signal circuit simulation supporting analog behavioral

models,• Spice (University of California, Berkeley) [34] for die analog circuit simulation ,• KOSIM (Fraunhofer IIS) [35] - simulation of mixed-signal-circuits and heterogeneous systems,• ANSYS (ANSYS Inc.) [17] - FEM-Simulation,• MATLAB (MathWorks Inc.) - mathematical problems, block oriented simulation,• Euripides (Fraunhofer IIS) - flexible program for comparison of simulation results and specification,• Opal (Fraunhofer IIS) - optimization module.Encapsulation of the tools as a Moscito agent guarantees an uniform interface to the framework. All tool specific details arecollected in a special agent description file. These files are used to create tool specific dialogs for the configuration of the toolvia the front-end program.CommunicationThe implementation of the tool communication is based on TCP/IP-sockets. Thus the tools can be executed on different com-puters or on different computing platforms. All you need for communication is a LAN or Internet access. A lot of problemscaused by the limited availability of the tools (e.g. no licence, wrong computing platform, insufficient resources) can be pre-vented in this way. Of course Moscito can be used locally, e.g. on one computer. In this case all the necessary tools have to beinstalled on the local computer. Any network access is not necessary.A complicated aspect of communication is the format of data which has to be submitted. Usually it is necessary to adapt/con-vert input as well as output data for each tool. To decrease the implementation effort for parsers and converters, the format forall data transmitted in Moscito was set to a special XML-Format, the Moscito Markup Language (MoscitoML). The mainadvantages of XML [36] are:• XML is a ISO standard.• XML allows the definition of application specific data formats (like used here for the Moscito Markup Language).• For XML-based data formats there is free parsing software [37] available. Thus the implementation effort decreases con-

siderable.• Data formats can be expanded in the future without changes in the parsers. • The integration of any kind of data is possible. It is no problem to include model descriptions or configuration scripts into

XML.Graphical User Interface (GUI)A very important feature of any software is a uniform and consistent concept for the user interaction. This can be crucial forthe acceptance of the software system. For that reason Moscito provides a graphical front end (Fig. 6) with the following func-tionality:

77

Page 8: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

• The problem description including all data (models, specification, initial values, configuration) can be read in from aMoscito project file.

• Workflows can be chosen from a set of pre-defined flows for the specific problem. For simulation based optimization thisis the workflow shown in Fig. 6.

• A browser supports the choice of tools (agents) which are needed for the solution of the problem from the set of availableservices. Furthermore the agents can be configured and initialized.

• With buttons for start, pause, resume and stop the workflow (e.g. optimization cycle) can be controlled by the user.• A console window collects all messages from the running tools and allows the observation of the proper operation or trou-

ble shooting, respectively.• The visualization module MoscitoScope supports the display of all result data. The user can observe the change of parame-

ter values or the objective function during the optimization run.The graphical front end aims at the use of design tools via the Internet in a simple and efficient manner. At the moment thefront end is available as a JAVA-Application and has to be installed together with the Moscito-software. Future extensions ofMoscito will be a front end written as JAVA-Applet to provide it via the Internet.

3. EXAMPLES FOR SYSTEM OPTIMIZATION

Moscito was used for the optimization of a couple of systems. In the following section some examples are discussed. Theseexamples are not only from the field of micro system technologies, but from the large field of heterogeneous systems, whichare very similar to micro systems. The following examples show the different possibilities for the calculation of system behav-ior. For the force sensing unit a FEM-simulator (ANSYS) was used. The optimization of a micro pump was performed using anetwork modeling approach for the circuit simulator SABER. For the ionization chamber MATLAB or due to performancereasons a special user defined calculation routine was used.

Figure 5. Figure 6. Graphical user interface (GUI) of Moscito

Workflow display

MoscitoConsole

MoscitoBrowser

External Viewer

MoscitoScope

78

Page 9: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

3.1. Optimization of a deformation unit of force sensor systemMoscito was used to optimize deformation units of force sensors developed and produced by A.S.T. GmbH, Dresden Germany(Fig. 7). Resistive wire strains which are connected to a bridge circuit make it possible to determine the force which is appliedat the center of the sensor. The resistive wire strains are located at the base of the inner notch of the sensor (Fig. 8, left andright). Their resulting strains are less than 1 per mill.

The run of the strain curve at the base of the inner notch of the original sensor is shown in the middle of Fig. 8. A strain of 0.4per mill at the inner and a buckling of 0.7 per mill at the outer area of the notch are obtained.Following subjects of optimization are requested:• the values of strain and buckling should be nearly the same in their magnitude (easier measurement evaluation)• the magnitudes of this two values should reach nearly the 1 per mill mark (better utilization of the measurement range of

the resistive wire strains)• the run of the strain curve at the points where the resistive wire strains are attached should have minimal curvature and

slope (placement of the resistive wire strains has a lesser influence to the measurements results)Parameters of the optimization which were considered:• the lowest point of the notch (left part of Fig. 8) can be divided into 2 points• this 2 points should have the same depth, but have not be corresponding to the depth of the original notch• the horizontal positions of this 2 points are free, but they have to be within the outer limits of the notchUsing Moscito the following improvements could be achieved (Fig. 8):• the values of strain and buckling at the points where the resistive wire strains are attached are nearly identically• the run of the strain curve at this points has more better curvatures and slopes• the measurement range is better utilized by magnitudes of strain and buckling of more than 0.9 per mill

This optimized cross section of the force sensor is shown in Fig. 8 (right). The results discussed in this section are achieved byusing the Nelder-Mead-Simplex-Algorithm in about 50 iterations.

Figure 7. Force sensor and meshed three dimensional FEM model

Figure 8. Optimization results - strain curve and shapes of the structure

original structure optimized structure

strain [per mill]

x [mm]

79

Page 10: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

3.2. Optimization of a micro pump [38]Another example for an application of Moscito is the optimization of the micro pump shown in Fig. 9. The pump is producedby GESIM, Dresden Germany using an anisotropic etching process for the channels and the pump chamber. A piezoelectricelement on the pump chamber, driven by an electrical voltage, forces a deformation of the membrane of the pump and causesthe flow of the fluid through the channels. At the outlet the pump ejects droplets of about 1nl. This ejection is based on theextremely nonlinear behavior of the outlet channel. The pump is used in analyzing and proportion systems for chemical andpharmaceutical applications.

Subject of the optimization is to maximize the fluid volume ejected by the pump. The parameters for the optimization are:• t1 length of electrical impulses• T the distance between two impulses• R the width of the outlet and• l the length of the outlet.Using Moscito the performance of the pump was improved. The fluid volume ejected by the pump was increased by 10%. Thisresult was achieved using Nelder-Mead-Simplex-Algorithm in about 40 iterations. The total computation time was a few min-utes.

Fig. 10 shows the behavior (volume at pump outlet) before and after the optimization. It is to be seen, that the number of drop-lets was increased, the distance between the droplets and the volume per droplet was decreased.

3.3. Optimization of a ionization chamber [39]Ionization chambers are used for thickness and area mass measurement and for edge control in the production process of mate-rial sheets e.g. steel or paper. The measurement system consists of a g-radiation source and a radiation detector (Fig. 11). Thedetector contains a distinct number of cells which are filled with rare gas. G-quanta absorbed in the cells, produces pairs ofelectrons and ions which are detected by the measurement of an electrical current.Due to the very low radiation intensity a relatively small current is measured in the cells situated under the material. Typicalvalues of the current in these areas are 10-8 up to 10-10 A. The optimization task, which be solved using Moscito is to achieve a large difference between the currents in the cells underthe material and the cells which are not covered by the material. The absolute values of all currents should be as high as possi-

240 µm fluid inlet

b=120 µm

outlet

h=60 µm

piezo

Si-substrate outlet

2,4 mm

l

R f b h,( )=

Figure 9. Micro pump - structure and dimensions

pumped fluid volume (before optimization)

Figure 10. Optimization results

pumped fluid volume (after optimization)

80

Page 11: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

ble. It is nearly impossible to meet this requirements doing a manual optimization, since the influence of the system parametersis contrary one to each other. Furthermore the resolution and the dynamic of the measure have to meet customers specification.Additionally there are some physical and technological constraint regarding the pressure in the chamber (< 5 bar), the voltage(<1000 V), the ionization energy (< 30 eV), the height of chamber (< 150 mm) and the electrical field strength (< 106 V/m).Parameters for the optimization are:• distance between the electrodes: a = 3 ... 15 mm• thickness of the shielding: d = 0.5 .... 5 mm• Pressure p = 1 ... 5 bar.The model for the calculation of the absolute values of the cell currents and the current differences was implemented as aMATLAB m-file. The results of the optimization are shown in Fig. 12.

The optimized design is characterized by an electrode distance of a=5.38 mm and a thickness of shielding of d=0.65 mm.These values represent an optimal set of parameters for a given specification. For the pressure there is a limitation due to ofone of the mentioned constraints. The absolute values of the current have been raised as well as the current differences or theslopes of the splines in Fig. 12, respectively.

4. CONCLUSIONS

An approach for efficient internet based optimization of heterogenous systems was introduced. Dividing the optimizationcycle into specialized moduls with an uniform interface decreases the overall effort for solving optimization problems. Due tothe modular structure a multitude of different simulators, optimization algorithms, error calculation routines, ... can be com-bined to a workflow and can be exchanged in a fast and efficient manner. This approach meets a lot of the requirements whichare important in design of micro system or other heterogeneous systems.

The presented work was done in projects funded by the German Government: DEMIS - Designoptimierung für Mikrosysteme(Ref.-No.: 16SV705/1), OMID - Optimierung von Mikrosystemen für Diagnose- und Überwachungsanwendungen (Ref.-No.:16SV998/2), EKOSAS - Entwurf komplexer Sensor-Aktor-Systeme (Ref.-No.: 16SV1161/7) and the German DFG-Sonderfor-schungsbereich 358 „Automated System Design“ at the Dresden University of Technology.

a d

p

Figure 11. Ionisation chamber

Figure 12. Optimization results - chamber geometry and interpolated current distribution

initial designdesign version Adesign version Bdesign optimum

design version B design optimum

design version A

I [nA]

x [mm]

81

Page 12: SPIE Proceedings Series Volume 4228 A modular approach for ...publications.eas.iis.fraunhofer.de/papers/2000/026/paper.pdf · Design, Modeling, and Simulation in Microelectronics,

5. REFERENCES1. I. Sieber, H. Guth, H. Eggert, K.-P. Scherer: Development and Application of a Computer-supported method for Designoptimization of a

Microoptical system. Proc. Design, Test, Integration, and Packaging, Paris, May 2000, 108-119.2. H.-P. Schwefel: Evolution and Optimum Seeking; John Wiley and Sons, Inc.; 1995.3. I. Rechenberg: Evolutionsstrategie ‘94, Frommann-Holzboog, Bad Cannstatt, 1994.4. J. Holland: Adaptation in natural and artificial systems. The University Press, Ann Arbor, MI, 1975.5. W. Jakob, M. Gorges-Schleuter, I. Sieber: Comparison of Evoluationary Algorithms for Design Optimization. Proc. of the 5th Int. Conf

on Parallel Problem Solving from Nature. LNCS 1498, Springer-Verlag, 1998, S. 917-926.6. Zienkiewicz, O. C.; Taylor, R. L.: The Finite Element Method. McGraw-Hill, New York 1989 and 1991.7. St. Wünsche: Simulator Coupling for Electro-Thermal Simulation of Integrated Circuits. Proc. 2nd THERMINIC Workshop, Budapest,

25.-27. September 1996, 89-93.8. P.-C. Eccardt, M. Knoth, G. Ebest, H. Landes, Ch. Clauß, St. Wünsche: Coupled Finite Element and Network Simulation for Microsys-

tem Components. Proc. MICRO SYSTEM Technologies '96, Potsdam, 17.-19. September 1996, 145-150.9. G. Wachutka: Tailored modeling: a way to the ‘virtual microtransducer fab‘ ? Sensor and Actuators A 46-47 (1995), 603-612.10. J. Haase, P. Schwarz: Modeling and Simulation of Heterogenous Systems. Proc. 1998 Open Project Workshop on System Design Auto-

mation -SDA ’98’- , Dresden, March 1998, 103-110.11. H. Elmqvist, F. Cellier, M. Otter: Object-oriented modeling of hybrid systems. Proc. European Simulation Symposium, ESS `93, 1993.12. R. Kasper, W. Koch: Object-Oriented Behavioural Modelling of Mechatronic Systems. 3rd Conference on Mechatronics and Robotics

'95, Paderborn, Oktober 1995.13. R. Neul, U. Becker, G. Lorenz, P. Schwarz, J. Haase, St. Wünsche: A Modeling Approach to Include Mechanical Microsystem Compo-

nents into the System Simulation. Proc. Design, Automation and Test in Europe DATE 1998, Paris, February 1998, 510-517.14. Ch. Clauß, J. Haase, G. Kurth, P. Schwarz: Extended Amittance Description of Nonlinear n-Poles. Archiv für Elektronik u. Übertragung-

stechnik 49(1995)2, 91-97.15. VHDL-AMS. Homepage IEEE 1076.1 Working Group: http://www.vhdl.org/analog 16. J. Becker, J. Haase, S. Reitz, P. Schwarz: Automatische Generierung von Modellen mechanischer Komponenten für die Systemsimula-

tion. Proc. ASIM2000, September 2000, Hamburg (to be published)17. ANSYS Analysis Guide - Advanced Analysis Techniques, Chapter 1. ANSYS Inc., 1998.18. OrCAD PSpice Optimizer User’s Guide. OrCAD Inc. 1998.19. A. Uhlig, T. Bausch, T. Blochwitz, T. Neidhold, W. Jakob, A. Schmidt, W. Suess, H. Eggert: ITI-SIM und SIMOT – Ein Werzeugverbund

für Simulation und Designoptimierung. 7. GMM Workshop, 1999, Paderborn.20. GAMS - General Algebraic Modeling System: http://www.gams.com/21. AMPL: A Modeling Language for Mathematical Programming: http://www.ampl.com/22. P. Schwarz, S. Parodat, A. Schneider: Ein modulares Optimierungssystem für den Mikrosystem- und Schaltungsentwurf. 7. GMM-Work-

shop „Methoden und Werkzeuge zum Entwurf von Mikrosystemen“, Paderborn, 21./22. Jan. 1999, 195-204.23. R. Fletcher: Practical Methods of Optimization. John Wiley & Sons, Chichester, 1987.24. P.E. Gill, W. Murray, M.H. Write: Practical Optimization, Academic Press, San Diego, 1997.25. M. R. Hestenes: Conjugated-Direction Methods in Optimization. Springer-Verlag, Berlin, Heidelberg and New York.26. M. J. D. Powell: An efficient method for finding the minimum of a function of several variables without calculating derivatives. Comp.

J., Vol. 7, 1964.27. W. H. Press, S. A. Teukolsky, W. T. Vetterling, B.P. Flannery: Numerical Recipes in C. Cambridge Univeristy Press, Cambridge, 1992.28. J. A. Nelder, R. A. Mead: A Simplex Method for Function Minimization. Computer J., Vol. 7, 1965, 308-313.29. P. J. M. Laarhoven, E. H. L. Aarts: Simulated Annealing. D. Reidel Publishing Comp., Dordrecht, 1987.30. D. Peters, M. Gorges-Schleuter, W. Jakob, S. Parodat: Modellbasierte Optimierung mit mathematischen Methoden – ein Vergleich von

klassischen und evolutionären Verfahren; 7. GMM-Workshop Methoden und Werkzeuge zum Entwurf von Mikrosystemen. Paderborn, 1999

31. Java Technology and XML. Sun Microsystems Inc.: http://java.sun.com/xml/32. Saber. Avant! Systems, Beaverton: http://www.analogy.com/Products/33. ELDO. Mentor Graphics Inc.: http://www.mentor.com/ams/34. L. W. Nagel: SPICE2: A Computer Program to Simulate Semiconductor Circuits. Berkeley: University of California, 1975.35. Ch. Clauß et. al.: Simulation in der Mikrosystemtechnik mit KOSIM. Proc. 4. Workshop "Methoden- und Werkzeugent-wicklung für den

Mikrosystementwurf", Karlsruhe, 18./19. November 1996, 179-202.36. XML - Extensible Markup Language. W3C - World Wide Web Consortium: http://www.w3.org/XML/37. D. Megginson et. al.: SAX: The Simple API for XML. http://www.megginson.com/SAX/38. A. Klein, E. Huck, G. Gerlach, P. Schwarz: Verhaltens- und strukturorientierte Modellierung einer Mikroejektionspumpe. 3. Fachtagung

Mikrosystemtechnik - Mikromechanik & Mikroelektronik, Chemnitz, Oktober 1997, 50-59.39. G. Keller et. al. : Optimierung einer Mehrfach-Ionisationskammer zur Kantendetektion. 7. GMM-Workshop „Methoden und Werkzeuge

zum Entwurf von Mikrosystemen“, Paderborn, 21./22. Jan. 1999, 137-146.

82