Procedural Layout

Normally, designers draw and manipulate polygons to generate layout.   Procedural layout permits the
designer to capture the heuristics of the design process into code that runs in the layout tool.  By referring
to design rules rather than "hard-coded" constants, the code can be made to be technology independent. Further, adding parameters to the procedures permit the code to be generalized and used for multiple cells.

This permits generalized, parameterized, technology independent code (generators) to be written to create structures as simple as devices to more complex structures like standard cells or datapath elements.

Scripts can then be used to combine these structures into even larger modules or blocks.

A framework has been created to assist in the specification and maintenance of a library of standard cells.  This frame work is called Cell Factory.

Standard Cell Layout produced using procedural layout: