next up previous contents index
Next: Layer Sequencing Up: The View Menu: Alter Previous: The Peek Button: Show   Contents   Index

Three-Dimensional Layer Sequence Generator

Xic contains functionality to generate sequenced three-dimensional layer stack representations of layout geometry. This capability is employed by the Cross Section command in the View Menu which displays the layout in cross-section, and in the interface to external capacitance and inductance extraction programs.

In order to use this functionality, the appropriate keywords must have been applied to the layers. Most of the setup parallels that required for the extraction system.

Layers that participate must satisfy the following constraints.

The technology file keywords are normally applied in layer blocks of the technology file, but can be applied from within Xic as well. The Tech Parameter Editor from the Edit Tech Params button in the Attributes Menu allows editing of the associated keywords.

The polarity of the layer will be obtained from the keywords applied to the layer. The layer will be considered dark field if any of the DarkField, Via, or GroundPlaneClear keywords are given to the layer. In this database, each layer represents the true presence of physical material which is the inverse of the normal presentation if the layer is dark field. For example, a via showing as a small colored square in a normal layout window is actually a hole in an otherwise continuous insulating film. The layer represented in this database will contain shapes representing the areas where the physical film is present. This can be seen in the Cross Section displays, where the dark field layers will be displayed with the inverse polarity from normal drawing windows.

All layers can be set to planarize, or not. This is an important difference from the original interface, which always assumed planarization. If a layer is not planarizing, it conforms to the underlying topology, which is translated exactly to the top surface of the layer. If the layer is planarizing, representing the layer three-dimensionally is accomplished as follows. Initially, the shapes on each layer are decomposed into a non-overlapping collection of trapezoids.

  1. Consider the non-planarized representation of the layer, which is composed of trapezoids in the X-Y plane (parallel to the substrate), each with an elevation (distance from the substrate in the Z direction) and constant thickness. Each trapezoid represents an area of the layer material at constant elevation. Sort through the trapezoids, and find the bottom surface value with the highest elevation.

  2. From the maximum lower surface elevation, set the ``plane'' value for the layer. Set the top elevation of all trapezoids to the plane value plus the film thickness value. All trapezoids will have the same top elevation, but in general will have differing bottom elevation. The actual film thickness varies, but is equal to or greater than the thickness value of the layer.

Thus, for a planarizing layer, the top surface of the layer will be a plane at the highest point on the top surface of the layer below plus the layer thickness. The bottom surface of the layer will conform to the top surface of the layer below by filling in where material of the layer below is not present.

By default, all Conductor (and the rest of the keywords that imply Conductor) and Via layers are planarizing. This is normal for a modern metal stack in a semiconductor process. The Dielectric layers, and conductor layers that don't have Conductor applied implicitly or explicitly, but therefor must have Rho or Rsh applied, are not planarizing by default.

However, if the NoPlanarize variable is set, or the global technology file attribute of the same name is given, by default no layers will be planarizing.

There is a technology file layer block keyword which provides planarization control for each layer. It overrides defaults and state of the NoPlanarize variable.

Planarize [y|n]
This specifies whether or not a layer is ``planarizing''. The Planarize keyword can be applied to prevent planarization of layers that are planarized by default, or to force planarizing of layers that don't normally have this property.

The database is not intended for large collections of objects, and processing time is near quadratic in the number of database trapezoids. By default, the total trapezoid count is limited to 10000. Attempts to exceed the limit will fail, causing the command using the database to also fail, with an appropriate error message.

The limit can be modified with the Db3ZoidLimit variable. This variable can be set to an integer 1000 or larger to reset the limit. If not set, the limit of 10000 applies.

next up previous contents index
Next: Layer Sequencing Up: The View Menu: Alter Previous: The Peek Button: Show   Contents   Index
Stephen R. Whiteley 2022-05-28