Mouser Left Banner
Mouser Left Banner
Mouser Left Banner
Mouser Left Banner
Mouser Left Banner
Mouser Left Banner
More

    BoardSurfers: Leveraging Object Hierarchy for Effective Constraint Management

    Courtesy: Cadence Systems

    Allegro X Constraint Manager provides a worksheet-based environment where you define and manage constraints for all the objects in your design. In large, complex designs with various object relations, grouping objects can easily manage constraints. Grouping objects helps to assign constraints to multiple objects at once. However, assigning unique values to individual objects that are part of these group objects requires understanding constraint inheritance and precedence. For instance, constraining multiple Net Groups, which share the same constraints except for one constraint for one of the Net Groups.

    Constraining design objects in the Allegro X design environment is a streamlined process. Constraints are organized in a hierarchy, which governs their flow across the objects, ensuring that the expected constraints appear at the appropriate levels in the design.

    Constraint Inheritance

    Constraints defined for objects at the top level of the object hierarchy are inherited by the lower-level objects, as illustrated in the following table:

    For example, if you define the MIN_LINE_WIDTH constraint for a Net Class object in the Physical domain, all the objects placed below the Net Class object in the constraint hierarchy—Net Groups, Buses, Differential Pairs, XNets, NetsPin Pairs, Region, and Region Class—inherit the new value of the MIN_LINE_WIDTH constraint as well.

    In Constraint Manager, assigned values appear in bold blue and inherited values appear in white text (in dark mode, which is the default).

    In the illustrated example, when you update the constraint value for the Net Class, POWER_GROUP(10), the value of the MIN_LINE_WIDTH constraint is updated for all the nets under it.

    Constraint Precedence

    Constraints defined for the objects that are placed at a lower level in the object hierarchy take precedence over the values of the same constraints applied to higher-level objects, as illustrated in the following image:

    In the following example, you can override the value of the MIN_LINE_WIDTH constraint for a Net object that already has the constraint inherited from a higher-level object in the hierarchy, such as Net Classes or Differential Pairs. The constraint value for all the higher-level objects associated with the updated net remains unchanged.

    Constraints for a design must be defined at the highest level of the object hierarchy. This ensures that the constraints are consistent across all the objects in the hierarchy, as all the lower-level objects inherit the constraints. You can update the individual objects that need to be constrained differently.

    Constraint Resolution

    The Allegro X constraint system adheres to object precedence when resolving constraints. Constraint resolution works differently for constraints, depending on the domain. There are no default values for any electrical constraints in the Electrical domain. You can have unspecified electrical constraints for design objects, but not in the Physical, Spacing, and Same Net Spacing domains. In these domains, physical design objects—clines, shapes, pins, or vias—are considered part of a net or an XNet. Constraint Manager uses the constraint value that is set on a net or XNet object.

    If the net or XNet is not constrained directly, it inherits a constraint value from a higher-level object in the constraint hierarchy that includes this net as a member. The higher-level object can be a group object, such as a Match Group, Differential Pair, Bus, or Net Class.

    In this way, the Constraint Manager moves one level up to look for a constraint value. It continues this process until it finds a constraint specified on a level that includes the net as a member and uses that constraint value. If no constraint value is specified on the net or on a hierarchy level to which the net belongs, the net inherits the constraint from the design (Dsn).

    Conclusion

    You can leverage the constraint inheritance and precedence behavior to your advantage by grouping design objects appropriately. This can significantly aid the process of constraining design objects. Instead of defining a consistent property at multiple object levels, if the objects are properly organized in group-objects, you can simply define the constraint at the highest required level and have the rest of the objects inherit the constraint.

     

    ELE Times Report
    ELE Times Reporthttps://www.eletimes.com/
    ELE Times provides extensive global coverage of Electronics, Technology and the Market. In addition to providing in-depth articles, ELE Times attracts the industry’s largest, qualified and highly engaged audiences, who appreciate our timely, relevant content and popular formats. ELE Times helps you build experience, drive traffic, communicate your contributions to the right audience, generate leads and market your products favourably.

    Technology Articles

    Popular Posts

    Latest News

    Must Read

    ELE Times Top 10