What did I say in my talk that could help this effort?
They hope to design logic circuits with 10's to 100's of these gates in the near term. That design process requires simulation, and to simulate these large circuits they need a good model of their switch within their circuit environment of choice, in this case Cadence Virtuoso. Matt had been tasked with creating this model, and over the past year he's gone through quite an "ordeal", as Matt put it, to create a model in Verilog-A. It doesn't model all the physics he'd like and its robustness is suspect but it does allow them to simulate a handful of switches in a minute or so of simulation.
My talk suggested a possible route for Matt to end his ordeal. The first few slides of my talk at the ISSCC conference described the larger vision for MEMS+ as a shared platform for MEMS and IC that integrates into IC and system level design flows. However, as the rest of my talk described, what we've executed most rigorously in this first release of MEMS+ is the straightforward manner of creating a circuit-level model directly from a physical description of the device. The approach relies on hints during design entry of the MEMS device that indicate the physical behavior of that section of the device. One is effectively creating a 3D schematic. The procedure is detailed in the MEMS+ video tutorial on our website. Since MEMS+ goes directly from description to model without lengthy finite-element analysis, the models can be made parametric with respect to design variables so a designer can easily explore changing dimensions or environmental conditions, such as temperature, without recreating the model.
Was the interest warranted?
I was intrigued with this new application for MEMS and MEMS+ and wanted to see just how quickly I could put together something useful with this new tool we in Coventor R&D have worked so hard to create. Given just the papers, which lacked many of the dimensions and material properties, I put together the following quick-and-dirty 3-D schematic of their design in somewhere between 1 and 2 hours of my time:
that time was spent reviewing the papers and mapping that to the appropriate components and design dimensions. Note I carefully made it parametric with respect to the design dimensions such as gate size and drain width so that one could explore changing those dimensions from within the circuit simulation environment. Also note that the electrical interface was carefully defined for the eventual simulation model.
I then imported the model into a the Cadence Virtuoso Library Manager (a 5 minute process), placed an instance of the new symbol, built a little test harness of voltage sources and got my first simulation in about 15 minutes of my time:
Above you see the rather boring square symbol for the switch with the 6 electrical pins exposed from the MEMS+ 3D-view (the 7th pin at the top is a mechanical pin for the z position of the gate). Inset below the symbol are some of the properties of the instance. Notice those were automatically created to give access to the MEMS+ 3D-view's design dimensions. Matt had indicated he had his own contact resistance model, so I put a 1K resistor between the contacts and turned off our own contact resistance model. I also put a 1K resistor at the source so there would be a non-floating voltage to measure (not really necessary in retrospect). I swept the gate voltage and observed contact at around 7 volts (not shown). This doesn't match the paper's value of 10 volts, but is good enough (don't forget I didn't know many of the dimensions (something I will leave Matt to do)).
Are we done? No. The above model would be good for MEMS design studies. For instance, I could run parameter sweeps on the design dimensions to understand how to optimize the dimensions to get greater contact force or faster switching times. However, the goal here is to simulate many of these switches together, so we'd like to optimize this model for speed at the expense of some of the details such as the bouncing. Matt even indicated that bouncing isn't an issue for them at the moment.
To that end, I spent about 2 or 3 hours tinkering with some of the knobs we provide to trade accuracy for speed. For instance, the switch's gate in the above simulation could move in all 3 translation directions (x,y,z) as well as rotate about the 3 axes. For this study, we don't need to tax the simulator by tracking the motion of all 6 degrees of freedom, so I fixed the plate to only move in z. By doing so, we also know that the gap between gate and body is uniform and so the electrostatic computation need only account for the holes and edges, not a non-uniform gap. I also added a custom contact damper to absorb the bouncing since much of the time spent was in resolving the many bounces:
The entire simulation shown took only 0.230 CPU seconds. And this is on a Linux Dell Precision 380 (circa 2005). Some more recent desktop hardware is about 4x faster. The far-right plot shows that once contact was made, the switch between drain and source was closed and the voltage at the source jumped as desired. (The astute observer will notice that the source voltage output is not 10 volts. I was getting significant parasitic actuation between the drain and the floating contact dimple so I lowered the drain voltage for this demo. Of course that force is actually there but I must have guessed contact dimples that were too large. Again, something for Matt to get right).
With a functional logic gate, we are ready to connect these together to build a logic circuit.
The voltage sources and source resistor were removed from the schematic above to create a cell-view for a single logic gate with gate, source, drain, and body terminals. The cell instances were then placed to create the carry generation circuit shown before:
The above showed that with about 7 hours of work, a model capturing the fundamental electromechanical behavior of this switch could be created directly from design parameters and then tweaked for simulation speed within the Cadence Virtuoso environment. Multiple instances of this model could be assembled to simulate a small logic circuit in a few seconds with the Cadence Spectre simulator.
Many of the dimensions were guessed, however the part that made this an "ordeal" for Matt within Verilog-A is clearly not an ordeal for MEMS+.
Much could still be done from here. Obviously the design dimensions must be entered correctly. From that, a useable layout pCell could be created automatically. In addition, other features could be modeled to make this more accurate, such as nonlinear damping, stiction force, and parasitic actuation due to the drain-to-gate voltage.
Nombre: Lenny D. Ramirez C.