Automated Design for Micromachining



Layout for a serpentine spring.

Figure 1: Layout for a serpentine spring.

This cell implements a serpentine spring. One end of the spring can optionally be anchored to the wafer. The spring is implemented as a number of bars connected on alternating ends. At the top and bottom of the spring is a "half-bar" so that the spring can be connected along its axis.

Please also refer to the documentation for the box-spring parameterized cell.


The compliance of the spring can be calculated by using the following formula.


Where, C is the compliance of the spring, L is the length of the bars, E is Young's Modulus for the spring material, and I is the 2nd moment of the bars, and N is the number of bars, excluding the two half-bars at the top and bottom of the spring. If you are interested in the spring constant (i.e. Hook's Law), then the spring constant k is simply the inverse of the compliance.

This equation makes several approximations, the most important probably being that the bending in the sections connecting the bars is negligible. With a large spacing between the bars, which is controlled by the "gap" parameter, this may not hold. The following table compares the above equation to several spring modeled in ANSYS. The bar width and the gap in all springs was kept at 2um. The value of Young's Modulus was 160GPa.

Comparison of compliance values obtained through simulation and the above formula for different parameter values.
Length Bars Simulation Equation Error
100um 5 2.1062 2.0508 2.6%
150um 10 13.508 13.513 0.4%
200um 20 62.228 63.281 1.7%
Stress intensity plot of loaded spring.

Figure 2: Stress intensity plot of loaded spring.

Stress intensity plot of loaded spring.

Below is an ANSYS simulation of a spring showing stress intensity. The spring has bars that are 100um long. The bars are square with side lengths of 2um. The gap between bars is also 2um. The spring has been loaded with 1uN. As can been seen from the accompanying plot, the spring is well away from the breaking point.


Any parameter may be modified, if necessary, to meet design rules. Typically, this involves increasing parameters that specify distances, so that minimum line width and minimum line spacing rules will not be violated. This has been extended to the convention of specifying a zero for some parameters to obtain an instance of the minimum size.

In addition to the parameters listed below, several technology parameters also influence the implementation of parameterized cells. This data must be present in the technology library.

Table 1: Parameters for the 'spring' parameterized cell.
Name Description Range Units P1 P2
width This is the width of the spring. Each bar of the spring will be able to flex this distance, less twice the POLY1 minimum width. [0,∞) um + +
gap The distance between bars. This value will be increased so that it is at least as large as the POLY1 minimum separation. [0,∞) um + +
bars The number of bars included in the spring. This does not count the two "half-bars" at the top and bottom of the spring. [0,∞) - + +
include_anchor If this box is checked, then the top end of the spring will be anchored to the wafer. true/false - + +
include_poly0 If this box is checked, then a POLY0 ground plane will be included underneath the spring. true/false - + +


The documentation for this parameterized cell does not contain any references.