Product Documentation
Virtuoso Layout Suite XL: Connectivity Driven Editing User Guide
Product Version IC23.1, November 2023

Constraint Transfer During Layout Generation

Layout XL transfers all the constraints defined in the schematic view to the layout view, correctly mapping the constraints and their members between the two views.

The constraint transfer is triggered:

Device correspondence information is maintained during the transfer. Logical and physical name mappings are tracked and constraints are updated appropriately to take account of folded instances in the layout.

Constraint Manager Assistant During Layout Generation

You can manipulate these constraints on both schematic and layout views using the Constraint Manager assistant.

This lets you:

Constraints transferred from schematic to layout are read-only and cannot be modified in the layout view. However, you can create new constraints in the layout to override the schematic constraints.

Constraint Mapping in One-to-Many Relationships

The following table shows how constraints are mapped when there is a one-to-many schematic to layout relationship.

Constraint type Schematic Layout

Symmetry pair

symmetry(A, B)
symmetry(A.1, B.1)
symmetry(A.2, B.2)
symmetry(A.<N>, B.<N>)

Matched orientation

relOrient(A, B, "orient")
relOrient(A.1, B.1, "orient")
relOrient(A.1,.., A.<N>, "R0")
relOrient(B.1,.., B.<M>, "R0")

Layout structure

layoutStructure(A, B)
layoutStructure(A, B, B, A)
layoutStructure
(A.1,..,A<N>, B.1,..,B<M>)
SlayoutStructure
(A.1, B.1, B.2, A.2)

All other

allOther(A, B)
allOther
(A.1,.., A.<N>, B.1, ..,B.<M>)

Constraint Mapping in Many-to-One Relationships

Many-to-one relationships are handled by not adding duplicate members to layout constraints.

The following situations cause a warning to be issued and no layout constraint generated.

Creation and Synchronization of Clusters

To promote interoperability with designs that originate in Innovus and allow layout placement tools to use oaCluster constraints, the constraint transfer mechanism converts a ciCon(cluster) constraint in the schematic to an oaCluster constraint in the layout and keeps the two synchronized during subsequent transfer operations.

ciCon(cluster) constraints and oaCluster constraints are synchronized only in a forward direction (from ciCon(cluster) to oaCluster). A change to an oaCluster does not affect its corresponding ciCon(cluster).

oaCluster constraints with no corresponding ciCon(cluster) constraints are never deleted by constraint transfer operations. If you delete from the layout an oaCluster constraint with a corresponding ciCon(cluster) constraint, the oaCluster is recreated the next time constraints are transferred from the schematic.

Related Topics

The Constraint Manager Assistant


Return to top
 ⠀
X