Synthesis proceeds from a high level behavioral or structural description of the desired object or system to a detailed geometric description suitable for transmission to a fabricator. There has been great progress in VLSI synthesis based on elementary Boolean building blocks (simple gates) and higher level parameterized functional blocks (registers, core processors, etc.). Such progress has been of greatest value to system level designers who can design layouts at a high level of (functional) abstraction. The synthesized designs are not as efficient as simple designs implemented by experienced chip designers, but they are generally used for highly complex designs where the potential for errors, working at the lowest level of abstraction, is a severe problem. What began with simple parameterizable building blocks (like multistage shift registers) was steadily broadened until today full complex functions are used as building blocks in still more complex applications.
The richness of possible applications for MEMS and their growing complexity suggest that there is great potential for developing a synthesis technology. It will be necessary to start at the simplest possible level with a focus on descriptive languages which are not limiting but which are amenable to becoming the basis for a hierarchy of building blocks. One example might be a mechanical filter in which the multiple pass and stop bands can be synthesized of independently parameterized elements tied together. The gradual accumulation of a library of building blocks depends on maintaining a common descriptive language over a long period of time and making the descriptions in that language as generic as possible. One thrust of the synthesis effort, in the absence of generic building blocks (Boolean logic functions in digital VLSI), is to accumulate design heritage in libraries of building blocks with geometric, compositional, functional and performance data included.