Home
  • Products
  • Solutions
  • Support
  • Company
  • Products
  • Solutions
  • Support
  • Company
Community Blogs System, PCB, & Package Design (System Analysis… BoardSurfers: Managing Design Constraints Efficiently Using…

Author

Dhruv Prakash
Dhruv Prakash

Community Member

Blog Activity
Options
  • Subscriptions

    Never miss a story from System, PCB, & Package Design (System Analysis: EMI/EMC/ET, PCB) . Subscribe for in-depth analysis and articles.

    Subscribe by email
  • More
  • Cancel
PCB
17.4
BoardSurfers
PCB Editor
Constraint Manager
17.4-2019
PCB design
Constraints
Allegro PCB Editor
Constraint Set
Allegro

BoardSurfers: Managing Design Constraints Efficiently Using Constraint Sets

7 Sep 2022 • 4 minute read

 A constraint is a user-defined property, or a rule, applied to a physical object, such as a net, pin, or via in a design. There are a number of constraints that can be applied to an object based on its type and behavior. For example, you can define the minimum and maximum Line Width values that the nets must adhere to in a design. You can also specify the minimum distance that all Test Pins must maintain from Test Vias, and properties such as Single-line Impedance and Propagation Delay values.

Managing constraints is critical to a design because they help establish the parameters of your design and facilitate the exchange of information between the schematic and the layout. Constraints prevent manufacturing and performance issues in designs and are also critical in ensuring that your board design adheres to the required specifications.

At the same time, it can be quite a challenge to specify multiple constraints for each object in the design individually. To simplify this task, Allegro® Constraint Manager provides Constraint Sets (CSets), or reusable constraint objects where constraints pertaining to a similar type of behavior are grouped together, enabling you to manipulate a large number of constraints in a quick and structured manner.

Types of Constraint Sets

Constraints are organized according to the behavior and type of the object to which they apply. In a PCB design, constraints are grouped into the following pre-defined domains:

Spacing

Constraints governing the spacing between objects on different nets. For example, Line To Thru Pin Spacing.

Same Net Spacing

Constraints governing the spacing between objects on the same net.

Physical

Constraints governing physical construction of a net. For example, Minimum Line Width and Allowed ETCH/CONDUCTOR Layers.

Electrical

Constraints governing electrical behavior of an entire net such as Minimum Propagation Delay, and differential pairs such as Primary Gap.

Assembly

Constraints governing assembly-level characteristics, such as Minimum Wire Diameter, Minimum and Maximum Wire length and Max Wire Angle to Die Edge.

Manufacturing

Constraints that define manufacturing characteristics. These constraints specify the Design for Fabrication (DFF) rules for conductor and mask layers.

...

A default CSet, DEFAULT, is available in all the domains except Electrical with pre-defined values, which cannot be deleted or renamed.

All the design objects are assigned constraint values as defined in the DEFAULT CSet for each domain, as shown in the following illustration:

Using Constraint Sets

A CSet is like an array where you specify values for multiple constraints, and then you can apply that CSet to any object in your design. All the values defined in the CSet apply to the corresponding constraints for the selected object(s). This way, you can define multiple constraints for multiple objects using the pre-defined CSets streamlining the design process significantly.

You can edit the values of constraints in the DEFAULT CSets to modify them according to your design requirements. Alternatively, you can create copies of any existing CSet and change some or all the values as required, or even create new CSets and define the desired values. Try the following steps to create and apply new CSets to design objects:

1. Create a copy of the DEFAULT Spacing CSet.

              

2. Change all constraint values for the new CSet TEST. 

       

3.  Apply the newly-created  CSet to any net, net class, or region and verify the constraints applied to it. In the following example, the net A2 inherits all the constraint values from the Spacing CSet TEST.

              

Constraint values specified manually, however, will be retained on applying a CSet to that object. For example, the Line To Line spacing and Line To SMD Pin spacing constraints are manually defined for the net A2. On applying DEFAULT CSet, the values of these constraints do not change.


When an ECset is applied to an object which has a constraint directly set on it, the value of the constraint is determined by the Overwrite existing constraints option. This setting is available in the Options dialog box.

Conclusion

Using Constraint Sets, you can manage the constraints across a design on different objects smoothly. You can use CSets to make a number of design changes with a single click, reducing the design time significantly. 

Contact Us

For any feedback or any topic you want included in our blogs, write to us at pcbbloggers@cadence.com.

Do SUBSCRIBE to stay updated about upcoming blogs.

About BoardSurfers

The BoardSurfers series provides solutions to the various tasks related to the creation and management of PCB design using the Allegro platform products. The name and logo of this series are designed to resonate with the vision of making the design and manufacturing tasks enjoyable, just like surfing the waves. Regular, new blog posts by experts cover every aspect of the PCB design process, such as library management, schematic design, constraint management, stackup design, placement, routing, artwork, verification, and much more.


© 2023 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information