We are very excited to tell you about the new MATLAB toolbox release with SoftMEMS integration and how you can simulate devices built in SoftMEMS using OnScale.
The best part is, the new OnScale MATLAB Toolbox is available now!
But first, let’s talk about SoftMEMS and what it does, and then how it has been integrated into our MATLAB toolbox.
What is SoftMEMS?
SoftMEMS is a solution for the design and analysis of integrated systems incorporating micromachined electromechanical systems (MEMS). It is a flexible and powerful, easy-to-use CAD tool suite which offers functionalities like:
- MEMS/IC schematic capture
- Full custom mask layout capability and verification
- 3D model generation and visualization
Through their partnership with Siemens®, a leading electronic design automation (EDA) tools provider, they have provided a unique workflow leveraging Siemens’ Tanner EDA solutions for schematic and layout capture and SoftMEMS process simulation to create realistic 3D CAD of as-manufactured MEMS.
Now, through SoftMEMS’ partnership with OnScale’s cloud engineering platform and our toolbox for MATLAB, engineers have a full digital prototyping workflow that allows them to design and simulate large MEMS models and run parametric sweeps for MEMS design optimization.
How to create a simulation from SoftMEMS in the MATLAB toolbox:
Now that you understand what SoftMEMS is used for, it’s time to get started simulating MEMS devices in the MATLAB toolbox. For this you will require the following:
- MEMS Pro v11 from SoftMEMS
- MEMS L-Edit v11 from Siemens
- MATLAB Toolbox v2.2.7 from OnScale
Note: Licenses are required from SoftMEMS and Siemens.
You also must have an OnScale account and the MATLAB toolbox. To sign up for an OnScale account, click here. Once you have everything installed you are ready to start digital prototyping your MEMS device!
Try it out for yourself with an example:
We are now going to walk through one of our SoftMEMS examples of a pentagonal film bulk acoustic resonator (FBAR) model which can be found in the toolbox documentation, it’s called “Build and Run a Model from SoftMEMS”. We’ll mainly focus on the steps for the simulationsetup. But see these links for more information on how to use L-Edit and MEMS Pro.
The first step is to draw your design in L-Edit using the tools provided. Then, once you are happy with your 2D schematic, you can build out the process steps in the MEMS Pro Technology Manager. This has already been done for the FBAR example. You can view the mask layout and the process definition by importing the GDS and MPD filesprovided in the example into L-Edit using File > Import Mask Data > GDSII and Tools > 3D Tools > Edit 3D Process Definition respectively.
Once you have the GDS and MPD files, you are ready to simulate the FBAR in the MATLAB toolbox!
To see the code required to do this, open the .m file provided in the example folder. This contains functions to create the model, submit to the cloud, download and post-processresults. The first step is model creation. Most of the hard work has already been done by drawing the geometry and creating the process definition using L-Edit and MEMS Pro. There are only a few functions needed to utilize the GDS and MPD files to generate a 3D CAD model of the FBAR.
Note: All functions associated with SoftMEMS model generation can be found in the SoftmemsSim class.
The function used to generate the 3D CAD is called generateSolidModel and it takes in the file names of the GDS and MPD files as well as the name of the top level entity in the GDS file. You also need to pass in the name for the CAD file that will be generated. This function outputs a .sat file of the 3D geometry.
The next step is to set the material file, if materials have been input in the MPD file you can use the setMatFileMPDfunction to read in the materials from the MPD. Alternatively,you can define materials within the MATLAB toolbox using the typical process.
Then the CAD file must be set using the setCADFile function. You need to pass in the name of the CAD file generated from the solid modeler function, in this example that is ‘FBAR.sat’.You must also pass in the scale factor of the CAD which is mm here.
Finally, you can process the parts in the CAD file automatically if you have used the MPD file for materials (if you haven’t used materials from the MPD you should add CAD parts manually using the addPart function).
So, as you can see that is only 4 lines of code to go from a mask and process definition to a full 3D CAD with assigned materials! You can plot the geometry to check that everything has been set up correctly using the viewModel function.From this point, the rest of the model setup is exactly the same as it would be for a non-SoftMEMS model built using our toolbox, so I won’t go over this in great detail now. For more information look at our in-built documentation. The remainder of the example sets up the following:
- Setting BCs & loads
- Adding circuits
- Adding outputs
- Submitting & downloading
The result of this example is a plot of the FBAR impedancebut there is much more functionality in our post processing to explore.
So that’s it. The new MATLAB toolbox has integrated with SoftMEMS to give you an easy-to-use workflow for you MEMS digital prototyping. We are excited for you to try it! If you have any questions about this example, or the toolbox in general, feel free to post in our Forum.
Also, for more features included in this MATLAB toolbox release, keep an eye out for our upcoming blogs!