Never miss a story from System, PCB, & Package Design (System Analysis: EMI/EMC/ET, PCB) . Subscribe for in-depth analysis and articles.
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.
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:
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.
Constraints governing physical construction of a net. For example, Minimum Line Width and Allowed ETCH/CONDUCTOR Layers.
Constraints governing electrical behavior of an entire net such as Minimum Propagation Delay, and differential pairs such as Primary Gap.
Constraints governing assembly-level characteristics, such as Minimum Wire Diameter, Minimum and Maximum Wire length and Max Wire Angle to Die Edge.
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:
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.
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.
For any feedback or any topic you want included in our blogs, write to us at firstname.lastname@example.org.
Do SUBSCRIBE to stay updated about upcoming blogs.
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.