next up previous contents index
Next: The Join/Split Button: Join Up: The Edit Menu: Edit Previous: The Create Via Button:   Contents   Index


The Flatten Button: Flatten Hierarchy

The Flatten button in the Edit Menu brings up a small Flatten Hierarchy pop-up which controls flattening of the hierarchy by moving the contents of selected subcells into the current cell. A Depth choice menu selects the depth into the hierarchy to flatten. If 0, geometry in the selected subcells is brought into the current cell, and sub-subcells are placed in the current cell, becoming subcells. If ``all'', the entire subcell hierarchy is flattened, i.e., all geometry under a selected subcell is brought into the current cell.

The Don't flatten standard vias, move to top check box enables to option to keep standard vias as cell instances rather than converting to geometry. Standard vias are otherwise treated as any other cell instance. This check box tracks the state of the NoFlattenStdVias variable. Applies to physical cells only.

The Don't flatten param. cells, move to top check box enables to option to retain parameterized cell (pcell) instances rather than converting to geometry. Parameterized cell instances are otherwise treated as any other cell instance. This check box tracks the state of the NoFlattenPCells variable. Applies to physical cells only.

The Ignore labels in subcells check box will skip promoion of labels found in subcells being flattened to new labels in the current cell. This is to avoid assigning labels to flattened wire nets that might be ambiguous when naming the net. This check box tracks the state of the the NoFlattenLabels variable. Applies to physical and electrical cells.

The Use fast mode check box will select a processing mode that will skip undo list processing and object merging operations for speed and reduced memory use. This may be desirable for large jobs containing complex cells, which may take a long time to process. In this mode, there is no ``undo'' capability, however.

If the Use object merging when flattening check box is checked, the new object merging will be performed when objects from the subcells are promoted to the current cell. This is the same merging as specified in the Editing Setup panel from the Edit Menu. Use of full polygon merging can greatly increase processing time, simple box clipping/merging has much lower overhead. Merging will generally reduce the object count in the layout.

The Flatten button on the pop-up initiates the operation. The subcells to be flattened must have been selected at this point.

Pressing Ctrl-c will pause the process, and give the user the option of terminating the job. It is usually not desirable to stop in the middle of a flatten operation, but invoking this prompt may reassure the user that the operation is in progress and not ``hung''.

In electrical mode, symbolic instances and library devices are never flattened, they are considered atomic. If you must flatten an instance that is displayed symbolically, the instance must first be forced to display as a schematic, either by reverting its master to non-symbolic temporarily, or by adding a NoSymb property to the instance with the Property Editor.


next up previous contents index
Next: The Join/Split Button: Join Up: The Edit Menu: Edit Previous: The Create Via Button:   Contents   Index
Stephen R. Whiteley 2022-05-28