Constraint-Aware Editing
Constraint-aware editing mode ensures that the Layout XL manual editing commands respect physical constraints that may be set on your design components.
Constraint-aware editing also checks constraints and displays violation markers at the appropriate location in the design window, if necessary. These checks are not run automatically but need to be explicitly initiated.
For example, if you run a Check Constraints batch check command or edit an object involved in a constraint, then Constraint-Aware Editing checks will be run on the appropriate objects in the layout. However, if you toggle the Constraint-Aware Editing mode, the constraint checks will not be automatically run nor will any violation markers be created or deleted.
As design edits are made, Constraint-Aware Editing continuously checks and readjusts the markers associated with the editing action. Constraint-Aware Editing mode is ON by default.
This feature allows layouts to be generated interactively while constraints are respected and the overall topology of the design is maintained, ensuring the designer's original intent is honored throughout the development of the physical implementation.
Constraint-Aware Editing supports the following design object constraint members:
- Instances, pins, and groups
-
Wires and vias, but only for the
lockedconstraint - Place and route boundary, but only for pin placement constraints when using the Stretch command
The following interactive commands are supported by Constraint-Aware Editing:
These commands honor the following constraints:
Constraint-Aware Editing Considerations
-
The constraint checker cannot recognize certain types of user-defined Pcell guard ring instances and as a result reports these as violating cluster constraints. You can specify that these Pcell guard ring instances are ignored by the checker by setting the
caeIgnoreInClusterproperty either on a specific guard ring instance or its supermaster (to ignore all instances of that supermaster).
CAE is able to recognize and ignore regular fluid guard rings based on their attributes. ThecaeIgnoreInClusterproperty is required only for legacy guard rings implemented using custom Pcells. - If you use design-rule-driven editing in the Enforce mode in conjunction with constraint-aware editing, design rules are enforced not only for the object you are editing, but for all its constraint partners as well.
- Constraint-aware editing does not edit or ghost constraint partners in pseudo-hierarchy levels. For example, if you have a symmetry constraint with one member inside a group and another member outside the group, then an edit to one member will not cause an additional edit to the other, even if the constraint becomes violated. In this situation, the following warning message is displayed: “Device will not be edited because it is on a different hierarchy level than its constraint partner. Ungroup this device to prevent constraints from being broken.”
-
To facilitate editing of members in pseudo-hierarchy levels, constraint-aware editing supports promoting the Symmetry and Matched Orientation constraints from the pseudo-hierarchy members to their pseudo-hierarchy containers.
However, for the constraints to be promoted, each constraint should have instances as members, and each instance member should belong to a group. After a constraint is promoted from its member to the member’s container, the containers behave in a constraint-aware manner, while the constraint itself is not modified. - If all the constraint members belong to a single figGroup, constraint-aware editing enforces these constraints by supporting the transparent group mode. However, if the constraint members belong to different figGroups, the transparent group mode cannot be supported and none of the constraints are enforced.
- When rotating a quad-symmetric device configuration using the axes of symmetry, you must select both the axes—vertical and horizontal—and then rotate them. If you rotate only one of the symmetry axes, the quad symmetry of the device is destroyed, resulting in constraint violations.
- Constraint-Aware Editing supports constraints at soft-block level. If you apply constraints, such as Alignment, Symmetry, and Distance, to the pins in a softblock and then edit those pins at the level above the soft-block level, the pins will be edited in accordance with the constraints applied at the soft-block level.
Related Topics
Return to top