The Allegro platform supports a powerful constraint hierarchy, which allows you to manage constraints on the appropriate objects and at the appropriate level in your design. Table 1-1 details the hierarchical constraint system. This table represents all system objects. Not all objects apply to all domains. However, the rules of precedence are consistent throughout the system.
Constraint information specified on an object is inherited by all subordinate objects in the hierarchy. For example, a constraint defined on the design will be inherited by all objects in the design. If an object needs to differ from its inherited constraint, you can set an override on that object and the override value will take precedence. This ordering of objects lets you define constraints at the highest level possible, only setting overrides on lower-level objects where necessary.
With hierarchical constraint management, you have the ability to define constraint sets (CSets) and reference those CSets to nets. The advantage of this method is that there is one central place (the CSet) to manage your changes more easily. Changes will propagate to all elements that reference the CSet. If you manage constraints entirely by properties, then updating the correct set of properties, or varying settings of properties, can be cumbersome.
For Constraint Manager, the hierarchical management is extended. The assignment of a CSet can happen at the Net or Bus level. Assignments at the Bus level are inherited by the members of the Net or Bus.
You can use Constraint Manager to add constraints or create these object groupings. Refer to Constraint Object Hierarchy in the Allegro® Constraint Manager User Guide for more information. Refer to the Allegro® Constraint Manager Reference for detailed, step-by-step procedures. You can manage certain objects outside of Constraint Manager. See the individual object types for details.