Constraint Manager User's Manual: Software Version X-ENTP VX.1.1
Constraint Manager User's Manual: Software Version X-ENTP VX.1.1
This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient of this
document may duplicate this document in whole or in part for internal business purposes only, provided that this entire
notice appears in all copies. In duplicating any part of this document, the recipient agrees to make every reasonable
effort to prevent the unauthorized use and distribution of the proprietary information.
This document is for information and instruction purposes. Mentor Graphics reserves the right to make
changes in specifications and other information contained in this publication without prior notice, and the
reader should, in all cases, consult Mentor Graphics to determine whether any changes have been
made.
The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in
written agreements between Mentor Graphics and its customers. No representation or other affirmation
of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor
Graphics whatsoever.
MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE.
MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS)
ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT,
EVEN IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at
private expense and are commercial computer software and commercial computer software
documentation within the meaning of the applicable acquisition regulations. Accordingly, pursuant to
FAR 48 CFR 12.212 and DFARS 48 CFR 227.7202, use, duplication and disclosure by or for the U.S.
Government or a U.S. Government subcontractor is subject solely to the terms and conditions set forth
in the license agreement provided with the software, except for provisions which are contrary to
applicable mandatory federal laws.
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of
Mentor Graphics Corporation or other parties. No one is permitted to use these Marks without the prior
written consent of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a third-
party Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to
indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics’
trademarks may be viewed at: www.mentor.com/trademarks.
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of
Linus Torvalds, owner of the mark on a world-wide basis.
Chapter 1
Quick References and Work Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Quick Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Quick Reference - Constraint Manager Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Quick Reference - Constraint Manager GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Setup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Filters Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Data Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Output Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Quick Reference - Constraint Manager Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Trace and Via Properties Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Clearances Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Z-Axis Clearances Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Nets Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Parts Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Noise Rules Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Constraint Manager Work Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Schematic-Design Work Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
PCB-Layout Work Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Chapter 2
Overview and Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Constraint-Driven Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Before You Begin Using Constraint Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Xpedition Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Keyin Netlist-xPCB Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Differential Pairs Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
xPCB Static Team Layout and xPCB Team Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Overview of Electrical Nets and Physical Nets in Constraint Manager . . . . . . . . . . . . . . . 61
Automatically Recognized Topologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Electrical Nets Defined Through a Package With More Than Two Pins . . . . . . . . . . . . . . 62
Importing a Layout Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Importing a 2005.x Ces.prefs File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Starting and Exiting From Constraint Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Starting Constraint Manager in Standalone Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Viewing Constraint Database Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Folder Structure and Location of Constraint Manager Log Files . . . . . . . . . . . . . . . . . . . . . 65
Cross Probing Between Design Systems and Constraint Manager . . . . . . . . . . . . . . . . . . . . 66
Chapter 3
Constraint Spreadsheet Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Constraint Definition Through Spreadsheet Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Overview of Constraint Hierarchy and Overrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Choosing From Among Change Impact Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Required Propagation Rules That Constraint Manager Maintains . . . . . . . . . . . . . . . . . . . 108
Organization of Constraints Into Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Spreadsheet Page Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Spreadsheet Icons Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Resizing Spreadsheet Columns and Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Zooming the Display of Spreadsheet Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Expanding and Collapsing Spreadsheet Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Sorting Spreadsheet Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Deletion of Constraint Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Constraint Value Copy-and-Paste Between Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Searching for Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Chapter 4
Constraint Class Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Creating Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Creating Constraint Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Adding Nets to a Constraint Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Defining Bus Constraint Classes Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Types of Net Matching for Bus Constraint Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Chapter 5
Net Class Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Creating Net Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Adding Nets to a Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Creating a Net Class From an Existing Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Deleting Net Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapter 6
Physical Rule Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Specifying General Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Rule-Area Scheme Creation and Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Creating Rule Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Copying Rule-Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Renaming Rule-Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Deleting Rule-Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Resetting Clearance Rules to the Master Scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
(Minimum) Scheme Clearances and Widths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Specifying Trace and Via Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Trace Width Rule Propagation Through Layers for Hierarchical Net Classes . . . . . . . . . . . 179
Defining Via Assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Clearance Rule Set Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Creating Clearance Rule Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Defining Clearance Rules for a Rule Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Creating Z-Axis Clearance Rule Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Defining Z-Axis Clearance Rules for a Rule Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Defining Embedded Resistor Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Defining SMD Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Clearance Rule Set Assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Assigning Class-To-Class Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Deleting Class-To-Class Clearance Rule Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Assigning Z-Axis Class-To-Class Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Deleting Z-Axis Class-To-Class Clearance Rule Assignments . . . . . . . . . . . . . . . . . . . . . 196
Package Clearance Rule Assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Assigning Package Clearance Type Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Deleting Package Clearance Type Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Assigning Package-Type-to-Package-Type Clearance Rules. . . . . . . . . . . . . . . . . . . . . . . 198
Deleting Package-Type-to-Package-Type Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Package Side and End Determination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
3D Clearance Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Defining 3D Clearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
3D Clearance Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Chapter 7
Net Constraint Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Specifying General Net Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Chapter 8
Parallelism and Crosstalk Rule Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Overview of Parallelism and Crosstalk Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Defining Parallelism Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Assigning Parallelism Rules to Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . 264
Navigating to Assigned Parallelism Rules From the Nets Page . . . . . . . . . . . . . . . . . . . . . . 267
Defining Crosstalk Rules for Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Chapter 9
Differential Pair Creation and Pair Rule Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Defining Differential Pairs Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Defining Differential Pairs Automatically. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Assigning Rules to Differential Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
IBIS Model [Diff_Pin] Section Declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Chapter 10
Constraint Template Creation and Reuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Creating Constraint Templates to Capture Net Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . 279
Constraints and Values Stored With Each Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Constraint Template Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Guidelines for Applying Constraint Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Applying a Constraint Template to Multiple Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Applying Constraint Templates From the Constraint Templates Page . . . . . . . . . . . . . . . 284
Applying a Constraint Template to a Single Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Device Pattern Matching With Constraint Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Modifying Pin Matching for an Applied Constraint Template. . . . . . . . . . . . . . . . . . . . . . 286
Updating Nets With Constraint Template Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Reusing Constraint Templates in External Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Chapter 11
Constraints Export and Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Export of Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Exporting Constraints in Encrypted XML Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Exporting Constraints in Encrypted CSV Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Exporting Constraints in Encrypted ASCII Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Decrypting and Encrypting Exported Constraint Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Import of Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Importing Constraints in Encrypted XML Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Importing Constraints in Encrypted CSV Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
ECSV Importer Error and Warning Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
CSV Format Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Chapter 12
Stackup Display and Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Viewing or Modifying Stackup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Layer Name Correlation Among Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Stackup Editing Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Chapter 13
Part-Model Assignment Verification and Part Constraints Definition . . . . . . . . . . . . . . . 315
Automatic Assignment of IBIS Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
IBIS Models or Technology Models? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
IBIS Models Delivered With Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Part Model Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Specifying Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Specifying Individual Model Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Reloading Model Directories and Individual Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Verifying Default Model Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Assigning Models to Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Editing Model Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Updating Part Model Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Overriding IBIS Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Defining Thermal Constraints for Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Importing Pin Package Length Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
PinPkgLengths.txt File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Chapter 14
Signal Integrity Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Sending Nets to HyperLynx LineSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Exporting Constraint Enhancements From HyperLynx LineSim . . . . . . . . . . . . . . . . . . . . . 328
Updating Constraint Manager With Constraint Enhancements. . . . . . . . . . . . . . . . . . . . . . . 329
Chapter 15
Design Tool Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Constraint and Design Change Management Between Tools . . . . . . . . . . . . . . . . . . . . . . . . 331
Synchronization of Constraint Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Sending Schematic Data to Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Sending Layout Data to Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Schematic Constraints Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Resolving Schematic Constraint Conflicts Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Viewing Constraint Resolution Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Appendix A
Constraint Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Constraint Reference Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Trace and Via Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Via Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Trace Width Minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Trace Width Typical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Trace Width Expansion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Typical Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Differential Typical Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Differential Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Clearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Trace To Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Trace To Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Trace To Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Trace To Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Trace To SMD Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Pad To Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Pad To Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Pad To Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Via To Via. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Via To Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Via To SMD Pad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Plane To Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Embedded Resistor To Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Embedded Resistor To Pad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Embedded Resistor To Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Embedded Resistor To Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
EP Mask To Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
EP Mask To Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
EP Mask To Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
EP Mask To Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Z-Axis Clearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Trace To Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Trace To Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Trace To Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Trace To Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Trace To SMD Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Hierarchical Path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
# Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Power Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Analog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Template Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Template Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Topology Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Topology Ordered. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Stub Length Max. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
# Vias Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Max Restricted Layer Length External. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Max Restricted Layer Length Internal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
From To Constraints Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
From To Constraints Trace Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
From To Constraints Z0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Length or TOF Delay Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
IBIS Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Schematic Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Topology Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Pin Package Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Pin Package Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Thermal Power Dissipation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Thermal Power Scaling Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Thermal Theta-jc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Thermal Casing Temperature Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Thermal Junction Temperature Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
I/O Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Noise Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Noise Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Constraint Class or Electrical Net Name Victim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Constraint Class or Electrical Net Name Aggressor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Parallelism Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Crosstalk Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Crosstalk Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Appendix B
Command-Line Tools Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
cons2ascii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
cons2csv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
cons2xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
csv2dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
ImportPinPackageLengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
ImportStk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Index
End-User License Agreement
Welcome to Constraint Manager User’s Manual. This section includes quick references and
work flows that help you learn to use Constraint Manager in a minimal amount of time.
Quick Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Quick Reference - Constraint Manager Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Quick Reference - Constraint Manager GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Quick Reference - Constraint Manager Spreadsheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Constraint Manager Work Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Quick Help
Click within the illustration for single-click access to a wide variety of topics covered in this
manual.
Related Topics
• Quick References and Work Flows
Related Topics
• Quick References and Work Flows
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Setup Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Filters Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Data Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Output Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
File Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific File menu command.
Related Topics
• Quick Reference - Constraint Manager GUI
Edit Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific Edit menu command.
Related Topics
• Quick Reference - Constraint Manager GUI
View Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific View menu command.
Related Topics
• Quick Reference - Constraint Manager GUI
Setup Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific Setup menu command.
Table 1-5. Setup Menu Selections
Menu Command Topic/Purpose
Setup > Settings “Specifying Design Configuration Preferences” on
page 68 and “Constraint Manager Setup” on page 68
Setup > Cross Probing “Cross Probing Between Design Systems and Constraint
Manager” on page 66
Setup > Shortcuts “Customizing Command Shortcut Keys” on page 97
Related Topics
• Quick Reference - Constraint Manager GUI
Filters Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific Filters menu command.
Table 1-6. Filters Menu Selections
Menu Command Topic/Purpose
Filters > Enabled “Filtering Spreadsheet Data” on page 120
Filters > Cumulative Mode “Filtering Spreadsheet Data” on page 120
Filters > Drill-down “Filtering Spreadsheet Data” on page 120
Filtering
Filters > Levels “Filtering the Spreadsheet by Row Type” on page 122
Filters > Levels > Reset “Resetting a Spreadsheet to its Default View” on page 124
Related Topics
• Quick Reference - Constraint Manager GUI
Tools Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific Tools menu command.
Note
Most Tools menu selections are only available in standalone Constraint Manager sessions
that are launched on an Xpedition Enterprise Flow design.
Related Topics
• Quick Reference - Constraint Manager GUI
Data Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific Data menu command.
Table 1-8. Data Menu Selections
Menu Command Topic/Purpose
Data > Constraint “Viewing All Constraint Violations” on page 146
Violations
Data > Solve All Formulas “Solving Formulas to Check for Errors” on page 239
Data > Update > IBIS Pin “Updating Part Model Constraints” on page 322
Type & Defaults
Data > Actuals > Import “Sharing PCB Actuals With Front-End Constraint
Layout Actuals Manager Sessions” on page 145
Data > Actuals > Import “Sharing PCB Actuals With Front-End Constraint
Thermal Actuals Manager Sessions” on page 145
Data > Actuals > Clear All “Clearing Actuals From the Spreadsheet” on page 143
Pages
Data > Actuals > Clear This “Clearing Actuals From the Spreadsheet” on page 143
Page
Data > Actuals > Update “Updating Actuals Displayed in Constraint Manager” on
All page 143
Data > Actuals > Update “Updating Actuals Displayed in Constraint Manager” on
Selected page 143
Data > Clear All “Deleting Constraint Values at the Object or Design
Constraints Level” on page 117
Data > Clear All Custom Delete all custom constraints you created.
Constraint Definitions
Related Topics
• Quick Reference - Constraint Manager GUI
Output Menu
Read a command’s purpose or click within the Topic/Purpose column to view the
documentation associated with a specific Output menu command.
Related Topics
• Quick Reference - Constraint Manager GUI
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
Clearances Summary
Refer to the following table for clearance constraint information.
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
Nets Summary
Refer to the following table for net constraint information.
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
Parts Summary
Refer to the following table for part constraint information.
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
• Schematic-Design Work Flow — This work flow begins with creating and defining
constraint classes, which hold electrical, signal integrity, and high-speed signal integrity
constraints. Along the way, you make a variety of constraint assignments. Some of these
include topology types, simulated delay rules, and overshoot and ringback requirements.
The final step is sending schematic constraint data to your layout design representation
through forward annotation.
• PCB-Layout Work Flow — This work flow starts with creating and defining both
rules-area schemes and net classes. These groupings hold physical constraints for board
layers and nets. Along the way, you make a variety of constraint assignments. Some of
these include trace and via rules, clearance rule sets, and package-type clearances. The
final step is to send layout constraint data to your schematic design representation
through back annotation.
Related Topics
• Constraint Manager Work Flows
Related Topics
• Constraint Manager Work Flows
This section is an introduction to the tool that provides an overview of the it and constraint-
driven design flows. It also includes information about invocation, setup, and application
customization.
Note
At a minimum, make sure to read “Before You Begin Using Constraint Manager” on
page 57. It includes important information for each PCB design flow that uses Constraint
Manager.
Constraint-Driven Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Before You Begin Using Constraint Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Starting and Exiting From Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Viewing Constraint Database Log Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Cross Probing Between Design Systems and Constraint Manager. . . . . . . . . . . . . . . . . 66
Constraint Manager Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Display Customization of Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Toolbar Customization of Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Constraint Set Customization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Adding Custom Menu Selections to the Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Customizing Command Shortcut Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Selecting or Creating Valor NPI Design Centers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Constraint-Driven Design
Constraint Manager gives you the ability to concurrently manage design constraints in a
common environment. By using the tool, you can view, edit, and specify access to constraints in
a single environment tool that is tightly integrated into the PCB design flow.
For example, you can define constraint using HyperLynx LineSim, and then use that data to
drive automatic routing to ensure a correct-by-design circuit. The ultimate result is that the tool
helps to reduce costly research and development expenses that are associated with multiple
design revisions for a single product release.
See also: Click within the above illustration to view related topics.
• Xpedition® Enterprise
• PADS Professional
• xDX Designer-PADS® Layout (Integrated Workflow)
• Keyin netlist-Xpedition PCB
• Design Capture™/DesignView™-Xpedition PCB
• Design Architect™/Board Architect™-Board Station® XE
• Design Architect/Board Architect-Board Station RE
For more information, refer to “Concurrent Constraint Entry With Other Users” on page 128.
For example, if a certain area of a board contains many critical connections between
components, you can define a board area that encompasses this region, and then apply tighter
trace and via rules that promote signal integrity within this critical board area.
For more information, refer to “Creating Rule Area Schemes” on page 173.
For example, if the routed length of a net is too close to either its minimum or maximum
constraint, or exceeding either value, the cell that displays the actual is backlighted in red or
yellow to indicate that the actual exceeds, or comes close to exceeding, the constraint values.
For more information, refer to “Validating PCB Actuals Against Constraints” on page 141.
Related Topics
• Overview and Setup
• Memory requirements are design dependent and based on the relative size of a design.
Operating systems that use a 32-bit architecture have a process-size limitation of 2 GB.
This means that regardless of how much memory is available, no single process is
allowed to use more than 2 GB of memory. A large number of net classes and layers are
examples of objects that may exceed memory limits in the tool. As a result, you may not
be able to open large designs.
• Constraint Manager automatically recognizes some net names as power-supply nets. As
such, it enables the Power Net constraint for them. For more information, refer to “Net
Names Constraint Manager Automatically Recognizes as Power-Supply Nets” on
page 251.
• The default view of the tool is streamlined to present you with just the core set of
spreadsheet pages, toolbars, and navigator nodes. For information on displaying those
that are not displayed by default, refer to “Display Customization of Constraint
Manager” on page 80.
• Ensure that you properly configured your WDIR variable. Refer to Managing Mentor
Graphics Systems Software for more information.
• If you launch the tool on a read-only .prj file, it opens in read-only mode. If Constraint
Manager unexpectedly opens in read-only mode, you should check to ensure that you
have write access permissions for the .prj file.
• In the event that the tool reports an error message that includes a UID number (for
example, “507,692,52”), you should run CES Diagnostics to check constraints and
attempt to fix the error. For more information, refer to “Checking Constraints
Synchronization” on page 136.
• If your design includes them, the tool represents single-pin nets as a unified net called
“(Net0)-1:X”. You must access this special net when assigning Net0 nets to a constraint
class and net class, or when defining single-pin net constraints. For more information,
refer to “Defining Constraints for Single-Pin Nets” on page 258.
• When rolling back constraint changes made in Constraint Manager, the forward and
back annotation indicator lights for your design flow do not reflect these undo actions.
For example, after you make a single change in back-end Constraint Manager and then
rollback that change, your back-end system will still indicate that you need to perform
back annotation.
• Depending on the design flow you are using, the invocation tool from which you
launched Constraint Manager may or may not save your changes by default. In order to
keep from losing data, ensure that you understand the unique save process of your
design system, and use it appropriately to save constraint changes within each applicable
session. For example, xDX Designer automatically saves schematic data and
constraints, but PCB layout tools require an explicit save before they write PCB layout
changes and constraint changes to disk. When making a Constraint Manager change in a
session launched from a PCB layout tool, it is important to understand the following:
o All changes you make in Constraint Manager are reflected in the layout invocation
tool after you exit Constraint Manager.
o You can send pending Constraint Manager changes to the layout tool during the
active Constraint Manager session. To do so, at the bottom-right corner of your PCB
layout tool, click the rightmost status indicator to load the changes into the back-end
design system.
• When working in Constraint Manager sessions launched from xPCB Layout, you cannot
change reference designator prefixes through Constraint Manager’s settings dialog box.
To update these prefixes in your back-end constraint set, modify them in a constraint
session launched from the front-end, and then forward annotate.
• A constraint cell shows ‘#’ if the precision is too low for it to display a meaningful
value. For example, 0.000435 V would show ‘#’ if the precision is set to 3. With
precision set to 4, it shows ‘0.0004’. To set precision, refer to “Setting Unit Notation” on
page 77.
• When exporting constraints, the tool uses the native concurrent unit type. When
reimporting constraints, you must set the unit type afterward.
• The tool does not apply Z-axis clearances between segments of the same net.
• The tool does not create an electrical net if both ends of a series component (for
example, resistor) are connected to the same instance of a device.
Xpedition Enterprise
If using this flow, make sure that you are aware of the following:
• You must have an xDX Designer tool concurrency license (dxconcurrent) to use
multiple copies of schematic invocations of Constraint Manager, or standalone
Constraint Manager, on the same design.
• If you use the Copy Sheet command in the xDX Designer tool, the tool only copies
constraint values if you enable the “Copy Constraints on Copy Sheet” option in the xDX
Designer tool’s Advanced settings. The tool does not copy values if you use the Copy
Block command.
Related Topics
• Before You Begin Using Constraint Manager
modify constraint data. Aside from the standard communication of design changes, you
only have to perform this step once. You can do so before or after you enable Constraint
Manager in a keyin netlist flow.
Related Topics
• Before You Begin Using Constraint Manager
If you delete a differential pair marked with a pin icon, another dialog box is displayed. It
indicates that each net that comprises the differential pair may be merged into another electrical
net. This can remove the ability for you to recreate the current differential pair.
Related Topics
• Before You Begin Using Constraint Manager
Related Topics
• Before You Begin Using Constraint Manager
The tool denotes electrical nets that include two or more physical nets on the Nets page
of the spreadsheet. It adds a ^^^ suffix to the end of the net name as it appears in the first
column (Constraint Class/Net/*).
Note
Constraint Manager does not create an electrical net if both ends of a series component
(for example, resistor) are connected to the same instance of a device.
Definitions for other objects like differential pairs, components, and terminators are not unique
to Constraint Manager.
Related Topics
• Before You Begin Using Constraint Manager
• Standard parallel termination — If the two poles of a differential pair are joined
through a resistor, the tool ignores the resistor connection. Doing so keeps the two poles
of the pair from being joined into a single electrical net.
• Alternative parallel termination — If the two poles of a differential pair are joined
through two resistors (with a capacitor taking the net to ground), the tool ignores the
connection through the resistors.
In both of the above cases, the tool determines the receiving component to be a differential
receiver if the component has an IBIS model that contains a diff pin statement for the pin; or,
the component has no IBIS model but two inputs exist on the same symbol or part instance, and
a single resistor, or a pair of resistors in parallel, connect the inputs.
Related Topics
• Before You Begin Using Constraint Manager
• You defined the reference designator prefix for the part as an available discrete
component prefix (for example, RN).
• You defined pin pairs across the entire part. For example, if the part has four pins, you
must define two pin pairs. Doing so maps the pins so the tool can correctly route through
the resistor pack. For more information, refer to “Defining Discrete Component Pin
Pairs” on page 224.
When the tool does this, it sets the Parts page Series constraint to enabled/on for the part.
Related Topics
• Before You Begin Using Constraint Manager
Procedure
1. From the File menu, click Import, and then click Layout Template.
2. From the Import Layout Template dialog box, next to Select layout template, click the
dropdown, and then choose the template you want to use.
3. After you are sure of your selection, click OK.
Caution
After you associate a layout template with your design, whether through this procedure or
in your PCB layout design system, when you load the design in Constraint Manager, the
Output window displays information about the layout template. This information
includes the number of layers in the template. It is important to understand that this
information does not necessarily reflect the actual number of layers, or other stackup
information for the actual design. You get the same report even if you make changes to
the stackup.
Related Topics
• Before You Begin Using Constraint Manager
Procedure
1. From the File menu, click Import, and then click Preferences File.
2. From the Open dialog box, navigate to the .prefs file you want to load, and then click
OK.
Related Topics
• Before You Begin Using Constraint Manager
Prerequisites
• You properly configured your WDIR environment variable. Refer to Managing Mentor
Graphics Systems Software for more information.
Procedure
From your design tool, click the Constraint Manager icon ( ) or use its menu path.
Table 2-1. Starting Constraint Manager Through the Menu Path
Design Tool Menu Path
Design Capture Tools > Edit Constraints
DesignView Workspace > Integration
View tab > Constraints
xDX Designer Tools > Constraint Manager
xPCB Layout Setup > Constraints
Results
Constraint Manager opens and displays the constraint set for the front-end or back-end design.
If the .prj file for the design is read-only, the tool opens in read-only mode. Eventually, to exit
from the tool, from the main window, click x, or from the File menu, click Exit.
Related Topics
• Overview and Setup
Procedure
You can start the tool in standalone mode in the following ways:
• Windows Start menu — In your Xpedition Enterprise vX.x folder, expand Constraint
Entry, and then click Constraint Manager.
• Windows 8 Apps views — Under Xpedition Enterprise vX.x, click Constraint
Manager.
• Dashboard — From the Mentor Graphics Dashboard, with a project actively selected,
expand Board-Level (PCB) Design Toolbox, and then double-click Constraint
Manager.
Related Topics
• Overview and Setup
Procedure
From the File menu, click File Viewer.
Related Topics
• Overview and Setup
Each time you close and reopen the tool, it adds a new set of log files. See below for the
individual directory structures that exist for front-end and back-end Constraint Manager
sessions.
Example: C:\Phone_design_1\CES\LogFiles\DxD\keypad\psmith-lt\psmith
For xDX Designer only, in the event that you can not copy from-tos and/or pin pairs while
copying or updating a reuse block, or when copying sheets, the tool writes one or both of the
following log files to capture the missing objects:
• MissingFromtos_<time/date stamp>.log
• MissingPinpairs_<time/date stamp>.log
Example: C:\Phone_design_1\CES\LogFiles\keypad_Layout_Temp\keypad\psmith-lt\psmith
Related Topics
• Overview and Setup
Tip: You can set up Constraint Manager to enable cross probing by default. To learn how
to do this, refer to “Constraint Manager Setup” on page 68.
Procedure
You can cross probe in the following ways:
• From your design system to Constraint Manager — Use the following steps:
a. From the Setup menu, click to enable Cross Probing; or, from the General toolbar,
click .
b. In your schematic capture or PCB layout software, click a design object (for
example, a net or component).
• From Constraint Manager to your design system — Use the following steps:
a. From the Setup menu, click to enable Cross Probing; or, from the General toolbar,
click .
b. From the spreadsheet, click the leftmost column of a design object, or press Ctrl+J to
select the current row.
Example: In the following illustration, the user selected net ADDRESS1 for cross
probing.
Tip: You can also cross probe from the Navigator to select all nets that are part of a
hierarchical object like a constraint class or net class. When you do so, your invocation
tool selects all associated nets from within your logic or layout environment.
Related Topics
• Overview and Setup
Tip: As an alternative, you can use a configuration file to specify some preferences. For
more information, refer to “Using a Configuration File to Specify Design Preferences” on
page 71.
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, click Design Configuration.
3. Under Default tolerances, specify the following:
• Distance — A default physical tolerance for length constraints. This is the allowable
default deviation for any match group length constraints you define in Constraint
Manager.
• Time — A default electrical tolerance for delay values. This is the allowable default
deviation for any match group delay constraints you define in Constraint Manager.
4. Under Parallelism mode, specify whether the router should report parallelism hazards
cumulatively, or separately for each segment. When in cumulative mode, the router
reports a hazard for each segment that comprises a group. For example, when the
parallel run length needs to be less than 400 th, and each of the three segments in a group
are 134 th, the router shows a violation for each segment although they are each 266 th
shorter than required. The router reports violations because the sum of 134 th + 134 th +
134 th is 402 th, which is greater than 400 th.
Note
For cumulative calculations, the router ignores segments smaller than 100 th. Using the
above example, five 98 th segments result in a total of 490 th, but because each segment
is less than 100 th, the router ignores all of them and reports no hazard.
5. Under Pin Package, in the Propagation Delay field, modify the velocity value as needed
to reflect an accurate signal speed through pin package connections. The tool uses this
value in conjunction with the Pin Package constraints of the Parts page to calculate
either Pin Package Length or Pin Package Delay, when requested. (The default value is
0.000165 ns/th.)
6. To change the number of seconds a user can reserve a constraint cell for editing while
working concurrently, in the Maximum locking timeout field, enter a different value.
7. Click OK.
Related Topics
• Constraint Manager Setup
Prerequisites
• You must be using a Constraint Manager session launched from the front-end, or a
standalone session of the tool.
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, under Design Configuration, click Electrical Net.
3. Specify the maximum number of physical nets that may comprise an electrical net.
Using too low of a setting may cause Constraint Manager to create too many electrical
nets. Too high of a setting could cause the tool to create too few electrical nets, each of
which contains many physical nets. For more information, refer to “Overview of
Electrical Nets and Physical Nets in Constraint Manager” on page 61.
4. Specify the net pin count threshold to use to determine whether a net is potentially a
signal net.
Tip: Identify the signal net in your design with the smallest number of pins, and then set
this value to that number minus one. For example, when the smallest signal net in a
design contains 15 pins, set this value to 14.
5. Specify whether the tool should use IBIS part models or electrical nets.
6. For component names, specify whether the tool should use IBIS names (for example,
icx_part_model) for mapping purposes. By default, the tool uses the part model name.
7. Click OK.
Related Topics
• Constraint Manager Setup
Prerequisites
• You must be using a Constraint Manager session launched from the front-end, or a
standalone session of the tool.
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, under Design Configuration, click Discrete Component
Prefixes.
3. Specify all possible reference designator prefixes for the parts in your design. Keep the
following in mind:
• If your design flow includes reuse blocks, you must include special reference
designator prefixes that support reuse blocks. They are of the format #_<type>. For
example, #_R supports resistors in reuse blocks and #_C supports capacitors in reuse
blocks. To be safe, for each prefix that you define, you should include an additional
prefix in this format.
• If your design uses reference designators that are of the format YYYRNN
(schematic sheet, reference designator prefix, unique instance), append a # to each
discrete component prefix that you define. For example, instead of using just C to
define the discrete component prefix for capacitors, use #C.
• If a part type has instances with multiple reference designators, Constraint Manager
determines that a part is a discrete if you specify at least one of the refdes prefixes.
For example, part type RES has instances R1 -> R10 and X1 -> X10. If either R or X
are in the list, the tool considers the part and its instances to be resistors.
4. Click OK.
In the following example illustration, each discrete component has at least two defined prefixes.
Connectors have three prefixes: P, J, and PJ. Resistors have four prefixes: R, RR, RN, and RP.
Results
After you finish modifying discrete component prefixes, Constraint Manager automatically re-
generates electrical nets. In order to update layout, you must package the design and forward
annotate.
Related Topics
• Constraint Manager Setup
Procedure
1. Exit Constraint Manager.
2. In an ASCII text editor, create a file named ces.prefs.
3. Copy and paste the content of the example preferences file below into your ASCII text
editor.
4. Modify the example content in your ASCII text editor to specify appropriate values.
5. Save ces.prefs to the appropriate WDIR location.
6. Restart Constraint Manager.
Results
Constraint Manager reads the preferences from this file and replaces any GUI definitions you
had specified previously.
(preferences
(section CES
(pref DSN_POWERS "+12V=12.0" "+5V=5.0" "-12V=-12.0" "-5V=-5.0"
"GND=0.0" "VCC=5.0" "VDD=5.0" "VEE=-5.2" "VSS=0.0" )
(pref DSN_MAXENETS 10)
(pref DSN_BIGNETPINCOUNT 50)
(pref DSN_DEF_DISTANCE_TOL 254000)
(pref DSN_DEF_TIME_TOL 0.015)
(pref DSN_DISCRETES "RESISTOR=R,RN,RP" "CAPACITOR=C"
"INDUCTOR=L,FB" "DIODE=CR,D" "CONNECTOR=J,P")))
Related Topics
• Constraint Manager Setup
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, click Display.
3. Under Window Settings, specify whether Constraint Manager should cross probe
between itself and schematic-entry or layout, by default.
Note: When setting display options for CTE, Set the default cross probing mode to ON
is intentionally grayed out and not available.
4. To turn on cross probing from the Navigator, click to enable its checkbox.
5. Click to enable row, column, or header highlighting and indication of remotely modified
cells. Both are useful when working concurrently.
6. To show row numbers, click to enable the associated checkbox.
7. Enable or disable “Show scrolling buttons for tabs” to include the left and right arrow
buttons next to the tabs you use to select specific Constraint Manager spreadsheet pages.
8. To automatically show differences between parent and child objects, click to enable the
associated checkbox.
9. Click OK.
Related Topics
• Constraint Manager Setup
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, under Display, click General.
3. Under Initial Zoom Level, specify the default size of spreadsheet fonts and rows by
entering a percentage value. As you increase this value, the size of spreadsheet fonts
increase.
4. Under Inactive Draw Combobox Buttons, specify when Constraint Manager should
display comboboxes within a spreadsheet field. If you enable this option, any cell that
can display a dropdown list will always display the down arrow box. If disabled, the tool
displays the dropdown box for a cell after you click within the cell.
5. Under Spin Edit Control, specify whether integer value spreadsheet fields should
display up and down arrows beside them when clicked. You use these arrows to increase
or decrease the integer value within a cell without using the keyboard.
6. Choose the preferred action of the LMB when you double-click it. You can choose
expand cell, rename cell, or no action.
7. Choose the preferred action that occurs after you press the Enter key within a cell. You
can choose to move to up, down, left, or right from the current cell.
8. Under Tolerances, specify the following values:
• Design tolerance of constraints compared against actual back-annotated design
values. In the Constraint violation warning field, enter a percentage value.
Example: If the Constraint violation warning field contains 90%, the tool highlights
actual values in yellow that are ninety percent, or a greater, of the associated
constraint value to indicate an actual that is close to the acceptable constraint value.
If an actual value exceeds the constraint value, the tool highlights the field in red.
• Acceptable threshold Constraint Manager uses when applying constraint templates
to nets. In the Template match threshold field, enter a percentage value. For less
similarity, reduce this value; for more similarity, increase this value.
9. Under Change Impact Dialog, specify what should happen if you attempt to change a
child constraint override at the parent constraint level:
• Change all affected values — Replace all child values with the value entered at the
parent constraint level. Does not show the Change Impact Prompt dialog box.
• Keep all overrides but change others — Replace only the child values that match
the old parent value. Does not show the Change Impact Prompt dialog box.
• Always prompt user for all values — Prompt for all values using the Change
Impact Prompt dialog box, whether the current value is an override or not.
Note: For more information on how these settings affect your constraint editing
environment, refer to “Choosing From Among Change Impact Actions” on page 106.
10. Click OK.
Related Topics
• Constraint Manager Setup
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, under Display, click Fonts and Colors.
3. Modify any of the following options:
• Specify the header font and cell font appearances for defaults, constraints, and
properties.
• Specify the header font, cell font, and background color appearance settings for
actuals, read-only values, static values, and disabled cells.
• To help you identify changes made by concurrent Constraint Manager users, specify
background colors and cell fonts for edited cells, locked cells, and modified cells.
• Specify the background cell color the tool uses to indicate violations of type caution
or error.
• Specify the background color for other/hierarchical items like Different, Default
Value, and Override Value.
• Specify the colors the tool uses to indicate the presence of comment marks and
propagation marks.
• Specify the color and font the tool uses to display content in the Output window.
Although the heading for this column of the dialog box states that all colors are
background colors, you use Font, Error, Warning, and Path rows to set textual
colors.
4. Click OK.
Related Topics
• Constraint Manager Setup
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, under Display, click Display Units.
3. From the Display Units page, for each unit type, specify the unit and precision that you
want to use. Refer to the table below if you need help determining the meaning of a
specific unit.
4. Click OK.
Related Topics
• Constraint Manager Setup
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, under Display, click Notation.
3. From the Notation page, under Electrical units, specify the format and precision you
want to use for electrical units.
Example: To use SPICE format with a precision of 5, click the radio button next to
SPICE, and in its associated Precision field, enter 5.
Rule: If you do not want to format electrical units and want to use full precision, click
the “Do not format electrical units and use full precision” check box.
Rule: If the precision is too low to display a meaningful value, a constraint cell will
display ‘#’ instead of a number.
4. Under Regional settings, specify the decimal point symbol to use, the number of digits
to display after the decimal point, and other associated electrical unit display properties.
5. To suppress the display of trailing zeros, click to activate the “Suppress trailing zeros”
check box.
Example: If using engineering format with a precision of 5, the tool displays a
spreadsheet value of 8.12300 as 8.123. If you do not suppress trailing zeros, the tool
displays all five post-decimal values.
6. Click OK.
Related Topics
• Constraint Manager Setup
Prerequisites
• You can only modify certain actuals preferences if you are in a Constraint Manager
session launched from the back-end. You must modify the remaining preferences from a
front-end session.
Procedure
1. From the Setup menu, click Settings; or, from the General toolbar, click .
2. From the Settings dialog box, click Other.
3. To have Constraint Manager automatically display updated actuals produced by your
layout tool during interactive routing, under Actuals, activate the Layout Dynamic
update checkbox. (The tools grays out this option when it is not available.)
Note: To do the same for thermal actuals, click to enable Thermal Dynamic update.
Related Topics
• Constraint Manager Setup
Procedure
1. From the File menu, click Export, and then click Settings.
2. From the Export Settings dialog box, specify a path and filename, and then click Save.
Related Topics
• Constraint Manager Setup
Note
The initial view of Constraint Manager is streamlined to present you with just the core set
of spreadsheet pages and toolbars.
Procedure
1. From the View menu, click to toggle the display of specific GUI objects:
• Tabs — Toggle this set of selections to display or exclude specific pages of the
Spreadsheet (for example, Parts). To show all tabs, click All. To show only the
default tabs, click Default.
Tip: You can also toggle spreadsheet pages by right-clicking any of the tabs at the
bottom of the application.
• Navigator — This also known as the browser. Toggle this set of selections to
display or exclude items in this listing of Constraint Manager nodes (such as net
classes and constraint classes). You can also hide the navigator.
o To show all nodes, click All Nodes.
o To show only the default nodes, click Default Nodes.
o To display the number of objects in each group (for example, a constraint class),
enable Show Object Counters.
Tip: Clicking the right mouse button on Navigator items often displays context-sensitive
menus so you can perform operations directly from within it.
Results
Your display changes are available now and in future Constraint Manager sessions. The
changes are written to your ces.ini file.
Related Topics
• Display Customization of Constraint Manager
Procedure
1. Click and hold the window handle or toolbar handle of the interface element you want to
move.
2. Move the interface element to position it within Constraint Manager, keeping the
following in mind:
• You can change the position of toolbars at the top of Constraint Manager or leave a
toolbar undocked by moving it out of the toolbar area at the top of the application.
• When you move a window, the display of the tool changes to show you where you
can quickly dock the window.
Drag the window and mouse over one of the above icons and release. The tool
highlights the new location for the window when you select its positioning icon.
(These positioning icons also appear at the borders of the application.)
You can instead undock a window by not moving it into one of the preset positions,
or move a window into a preset position that is already occupied and have it share
the space with one or more windows.
For example, you could have the Output window and the 3D Clearances window
share the same screen position.
Figure 2-7. Windows Sharing the Same Space are Tab Accessible
Tip: Sometimes windows seem to get in the way no matter where you put them. You can
set a Constraint Manager window to automatically hide until you hover the mouse over
the window label. To do so, click the pin icon to the right of the window handle; or, right-
click the window handle, and then click Auto Hide.
Results
Your display changes are available now and in future Constraint Manager sessions. The
changes are written to your ces.ini file.
Related Topics
• Display Customization of Constraint Manager
• Command shortcut keys — Stored in the WDIR location specific to your software
installation in the file ces_shortcuts.ini.
• User-created constraint groups — Stored in the WDIR location specific to your
software installation in the file user.cns.
Caution
If you intend to remove or replace a ces.ini file, you must do so while Constraint Manager
is not running.
Windows Locations
The tools stores the GUI customization file (ces.ini) at one of the following locations:
• c:\Users\<user>\AppData\Local\MentorGraphics\<software version>\ces.ini
(Windows 7 and 8)
Example: c:\Users\psmith\AppData\Local\MentorGraphics\EEVX.1\ces.ini
• c:\Documents and Settings\<user>\Application Data\MentorGraphics\<software
version>\ces.ini (Windows XP and earlier)
Example: c:\Documents and Settings\psmith\Application
Data\MentorGraphics\EEVX.1\ces.ini
Linux Location
The tool stores the GUI customization file (ces.ini) at the following location:
$HOME/.config/MentorGraphics/<software version>/ces.ini
Example: $HOME/.config/MentorGraphics/EEVX.1/ces.ini
Related Topics
• Display Customization of Constraint Manager
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any Constraint Manager toolbar, and then click Customize.
2. From the Customize dialog box, click the Commands tab, and then do any of the
following:
• To add a button to a toolbar, click the appropriate group selection within the
Categories list box, and then in the list of buttons, click and drag a button to a
specific toolbar at the top of the GUI.
Tip: Visually group similar toolbar buttons when you intend to include a large number of
buttons on a single toolbar. To add a bar separator to the left of a toolbar button, right-
click the button, and then click Start Group.
• To remove a button from a toolbar, at the top of the GUI, click a toolbar button and
then drag it to any area below the collection of toolbars. You can also right-click a
button, and then click Delete.
• To move a button within a toolbar, or from one toolbar to another, at the top of the
GUI, click a toolbar button, and drag it to another toolbar location. The tool uses
highlighting to assist you.
• After you finish making changes to one or more toolbars, click OK.
Results
The display of one or more toolbars is now changed to reflect the modifications you have made.
Related Topics
• Toolbar Customization of Constraint Manager
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any Constraint Manager toolbar, and then click Customize.
2. Right-click the toolbar button you want to modify, and then do any of the following
things:
• To control whether the toolbar button shows textual information, an icon, or both,
click Image, Text, or Image and Text.
• To modify the text displayed by a toolbar button, click Button Appearance. In the
Button text field, type the text to show, and then click OK.
Note
Although the Button Appearance dialog box includes functionality to change the image
for a toolbar button, it is not enabled in the tool.
Results
Your changes to toolbar buttons are available now and in future Constraint Manager sessions.
Related Topics
• Toolbar Customization of Constraint Manager
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any Constraint Manager toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbars tab, and then click New.
3. From the New Toolbar dialog box, in the text field, enter a name for the new toolbar (for
example, “pats_toolbar”), and then click OK.
Results
The new toolbar is available for modification. To learn how to add buttons to it or change its
contents, refer to “Modifying Toolbars to Create Custom Sets of Buttons” on page 85.
Examples
Example of Renaming a New Toolbar
In the following example, you want to rename a custom toolbar (“my_toolbar_1”) that you
created previously:
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any Constraint Manager toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbar tab.
3. In the Toolbars listing, click the toolbar “my_toolbar_1”.
4. In the Toolbar name text box, enter a different name for the custom toolbar.
5. Click OK.
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any Constraint Manager toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbars tab.
3. In the Toolbars listing, click the toolbar “my_toolbar_1”, and then click Delete.
4. Click OK.
Related Topics
• Toolbar Customization of Constraint Manager
Prerequisites
• The toolbar you want to reset has been customized in some way.
• The toolbar is a standard toolbar (you did not create it).
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any Constraint Manager toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbars tab.
3. In the listing of toolbars, click the appropriate toolbar, and then click Reset. To instead
reset all toolbars, click Reset All.
4. Click OK.
Results
The toolbar now displays all default buttons, and in the default order.
Related Topics
• Toolbar Customization of Constraint Manager
Caution
Customizations to the constraint set are something that a design team should only do
before starting design development. After you put a custom user.cns in place, you should
not modify it or make a different user.cns available. Custom constraint sets are tied to
each specific user.cns file. Changing the available user.cns file during the course of
design development causes the loss of custom constraints and data that you cannot regain.
Therefore, it is critical that the machines of all team members use the same corporate or
design-specific user.cns file. For more information, refer to “Constraint Set Propagation
to a Team” on page 92. In the event that you move the design to a different machine,
ensure that it has access to the necessary user.cns file for the design before you load the
design.
If working with a design backup that you restore at a later point in time, you must ensure
that the correct user.cns file is available to the design before you load the design.
Prerequisites
• There must be one or more writable folder locations specified in your WDIR variable. If
a user.cns file exists at each of the folder locations, at least one of these files must be
writable.
• You are the only user who is modifying the constraint set if the user.cns file that will be
updated is in a shared WDIR folder location. Constraint Manager concurrency of any
kind is not supported while customizing the constraint set.
Procedure
1. From the Edit menu, click Constraint Definitions.
Alternative: From the Constraint Manager Spreadsheet, right-click a constraint column,
and then click Constraint Definitions. Now that you are in the context of a specific
constraint, proceed to step 4.
2. From the Constraint Definitions dialog box, use the Page dropdown to select the
spreadsheet page for which you want to modify an existing constraint or a new
constraint.
Tip: To differentiate between base constraints and user constraints, you can use the
Filter dropdown to select the constraint types to display.
3. At this point, you can perform any of the following tasks:
• To modify a base constraint and control whether it is read-only or hidden, from the
Constraint dropdown, select a base constraint.
• To create a user constraint, click , type a name for the new constraint, and then
click OK.
4. For user constraints only, you can now specify Header, Title, Data type, Default value,
and other attributes of the constraint. The Data type field controls whether the constraint
has an associated Unit type, Min value, and Max value.
Note: To display the unit type in a constraint heading, append “(%U)” to the heading
text (for example, “Crosstalk (%U)”).
5. For user constraints only, when applicable, you can use Min value and Max value to set
the acceptable boundaries for a constraint. If you enter a constraint value that is outside
of this boundary, Constraint Manager uses its backlighting mechanism to visually
indicate the range breach.
6. If creating a user constraint, use the Levels selection to specify the spreadsheet-page
levels for which the constraint should be associated.
7. For both user constraints and base constraints, click the associated check box to make
the constraint read only and/or hidden.
8. For user constraints only, in the Constraint description text field, enter or modify the
description for the constraint.
9. To make more adjustments to the constraint set, return to step 2. After you finish
changing the constraint set, click Apply.
Related Topics
• Constraint Set Customization
Prerequisites
• You must have created one or more custom constraints as described in “Creating or
Modifying Constraints” on page 89.
Procedure
You can do the following things:
• Delete all custom constraints — From the Data menu, click Clear All Custom
Constraint Definitions.
Related Topics
• Constraint Set Customization
• Each user machine and the RSCM server machine must have their own writable local
WDIR folder, and the WDIR environment variable for each user machine must include
all corporate WDIR folders listed by the RSCM server machine. The illustration below
depicts these requirements being met in first two environments, but not in the third.
Corporate WDIR folders are shown above in blue text, while local WDIR folders are
shown in black text.
• If a user’s machine has the environment variable RSCM_ENV_CONFIG defined, it is
important to understand that the WDIR definition in the file rscm.env.cfg takes
precedence over their WDIR environment variable. In this case, users must ensure that
the WDIR variable in rscm.env.cfg is the same as the WDIR definition used by the team.
• The administrative user who runs the RSCM service for a design must have write access
to at least one directory specified in the WDIR definition.
Enterprise Methodology
The most efficient way to use the same custom constraint set within a design team relies upon
having a corporate WDIR location to which each user machine points. By placing user.cns in
the corporate WDIR location, each user machine reads from the same custom constraint set.
Caution
Before copying an updated user.cns file into a corporate WDIR folder that is shared by a
design team, ensure that none of the users have Constraint Manager open or are currently
accessing the file.
To use this approach, the WDIR environment variable on each user’s machine must include the
following three paths, and in the following order:
Caution
user.cns files are not supported between releases. All user.cns files need to be specific to
a certain release (for example, EE 7.9.5). For more information, refer to “Associating
user.cns Files With a Mentor Graphics Software Release” on page 95.
Based on the unique folder paths in the above items, the WDIR variable would be the following:
C:\WDIR_EEVX.1;\\common\corp_WDIR_EEVX.1;C:\MentorGraphics\EEVX.1\SDD_HOME\
standard
Note
On Windows, if including network paths in your WDIR environment variable, they must
be listed as full network paths (UNC) and cannot be listed as mapped drives.
Using this approach provides the benefits of a corporate environment where various Constraint
Manager users are able to:
• Edit constraint values for base constraints and user constraints concurrently.
• Add their own user-defined constraints while not changing the corporate constraint set.
(Refer to the cautionary statement in “Creating or Modifying Constraints” on page 89
for important information about maintaining access to custom constraints and their
values.)
Caution
Do not define user constraints in a local WDIR folder when using concurrency. User
constraints as defined in a writable local WDIR folder (for example, C:\WDIR_EEVX.1)
are not supported in any way when working in concurrent mode. These constraints and
their values are immediately removed from the database if you access the design in
concurrent mode.
• Maintain separate interface settings and constraint groups for each user.
• Efficiently and accurately benefit from a custom, corporate constraint set.
Small-Group Methodology
Although it is not recommended, if you do not have a corporate WDIR location, you can place
user.cns in a public location and then provide instructions for other team members to copy it
into the WDIR directory on their respective machines.
Manually managing the deployment and updates to your team’s user.cns file is not an optimal
or efficient approach, and it can easily result in inconsistent constraint sets among your user
base. If you are not yet using a shared WDIR location, now is a great time to include one in your
design environment.
Related Topics
• Constraint Set Customization
• Store the unique user.cns files for each release somewhere else, and swap them in and
out of your WDIR locations when you change Mentor Graphics software releases.
• Use different WDIR folders for each Mentor Graphics software release.
An Example Scenario
Here is an example WDIR that includes three folder locations and is based on an enterprise
methodology:
C:\WDIR_EEVX.1;\\common\corp_WDIR_EEVX.1;C:\MentorGraphics\EEVX.1\SDD_HOME\
standard
Using the first approach, you would copy two unique user.cns files, each into one location
(C:\WDIR and \\common\corp_WDIR). The first one is the writable user-specific copy. The
second one is the read-only corporate constraint set. You would not need to replace the
..\SDD_HOME\standard file because the SDD_HOME location is always release specific.
Using the second approach, you would not need to replace the two user.cns files because you
would instead have a unique set of WDIR folders for each Mentor Graphics software release.
For example,
C:\WDIR_EEVX.1;\\common\corp_WDIR_EEVX.1;C:\MentorGraphics\EEVX.1\SDD_HOME\
standard. Once again, the SDD_HOME location is always release specific and by nature
unique.
Note
For additional information on this topic, refer to the topic “Automating the License and
WDIR Configurator Settings” in the Managing Mentor Graphics Systems Software
manual.
Related Topics
• Constraint Set Customization
Procedure
1. From the Tools menu, click Customize.
2. From the Customize dialog box, click New, and then complete the following fields:
• Menu Text — The display name you want to associate with the custom menu
selection.
• Command — The executable file to run when the custom menu selection is clicked.
To specify the command, click the browse button, navigate to the appropriate folder
and filename, and then click Open.
• Arguments — (Optional) An argument string to append to the command. Your
argument string can also include the following variables:
o {CESDir} – Constraint Manager directory of the active project.
o {ProjectDir} – Top-level directory of the active project.
o {ProjectFile} – Filename of the .prj for the active project.
• Initial Directory — (Optional) A directory to use other than the current working
directory. This is useful when the command will generate run-time files that need to
be stored in a different location. To specify an initial directory, click the browse
button, navigate to the appropriate folder, and then click OK.
3. (Optional) You can do any of the following things:
• To edit an existing custom menu selection, in the Menu Contents list box, click the
appropriate row, and then modify any of the fields described in step 2 of this
procedure.
• To change the order of a custom menu selection, in the Menu Contents list box, click
the appropriate row, and then click Move Up or Move Down.
• To delete a custom menu selection, in the Menu Contents list box, click the
appropriate row, and then click Remove.
4. After you finish adding custom menu selections or modifying existing custom menu
selections, click OK.
Results
The bottom of the Tools menu is updated to reflect your changes.
Related Topics
• Overview and Setup
Prerequisites
• To execute and test the accessibility of some Constraint Manager commands through
shortcut combinations, you must have a design loaded in order to access all
functionality.
Procedure
1. From the Constraint Manager Setup menu, click Shortcuts.
2. From the Customize dialog box, in the list box of Commands, click to select a
command, and then do any of the following things:
• Create a shortcut — Click New, and then do the following things:
i. When the New Shortcut dialog box appears, key-in the combination you would
like to use. It can consist of Ctrl, Shift, Alt, and then a letter key, number key, or
F# key (for example, Ctrl+Shift+Alt+F8).
ii. After you finish pressing the appropriate shortcut key combination, visually
verify that it is correct, and then click OK.
• Delete a shortcut — In the Current shortcuts list box, click a shortcut, and then
click Remove.
3. (Optional) To remove all user-defined shortcuts and reset the list of shortcuts to just the
defaults, click Remove All.
4. After you finish adding, modifying, or deleting shortcut combinations, click OK. In the
event that you made changes that you do not want to keep, click Cancel.
Results
Your additions, removals, and changes to key combinations are now stored. You can now use
them to access Constraint Manager commands.
Related Topics
• Overview and Setup
Related Topics
• “Overview and Setup” on page 55
Note
It is important to understand that by default, design centers that you or other team
members create cannot be shared. In order to share them, you must configure your Valor
NPI environment in a specific way to support this usage. For more information, refer to
“Sharing Valor NPI Design Centers Among Team Members” on page 100.
Prerequisites
• Valor NPI is installed and part of your design environment.
• If selecting a design center, at least one must already be available.
Procedure
From the Tools menu, click Valor NPI, and then click one of the following menu selections:
• Select Design Center — From the dialog box, use the dropdown to select the design
center or checklist you want to use (or both), and then click OK.
Tip: To clear the active design center or checklist, choose the blank row for either field.
• Create Design Center — From the dialog box, type a name for the new design center,
and then click OK. Complete the steps in the Design Process Wizard.
Note
If you choose to create a new design center, you may first be presented with the Valor
License Configuration dialog box. From here, you can verify the selection and ordering
of licenses. To keep this dialog box from showing again, activate the appropriate
checkbox.
Results
Depending on how you chose to use the above procedure, you either created a new design
center or selected an existing design center, checklist, or both. If you chose a design center or
checklist, the Constraint Manager status bar is updated to indicate that you are using Valor NPI.
Related Topics
• Overview and Setup
Doing so ensures that everyone is using the exact same set of design centers when this is
preferable.
Prerequisites
• Your team uses Valor NPI as part of their design flow.
Procedure
1. The team needs to decide upon a network location for the shared design centers (for
example, Z:\shared_design_centers). Refer to the Valor NPI documentation for details
about how to choose a location for your design centers.
2. All users who want to be part of the share must ensure that their VALOR_ENV_FILE
environment variable points to the proper folder that contains the env file. Constraint
Manager reads the VALOR_DIR variable in that env file to find the folder that contains
the design centers.
Results
The design team now uses a shared network location for all design centers. Any team member
who is configured this way can create, modify, and select from the shared set of design centers.
Typically, the user who sets up the shared space is responsible for creating the set of design
centers.
Related Topics
• Overview and Setup
In Constraint Manager, spreadsheets are the primary interface for entry and modification of
constraint values. This section provides information on displaying and navigating spreadsheets
pages, filtering and searching for constraints, working concurrently with other users on the
same constraint set, and much more.
Constraint Definition Through Spreadsheet Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Searching for Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Filtering Spreadsheet Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Resetting a Spreadsheet to its Default View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Constraint Group Creation and Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Concurrent Constraint Entry With Other Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Constraint Value Commenting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Viewing Constraint Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Viewing Design Statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Checking Constraints Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Checking Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Validating PCB Actuals Against Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Update of Electrical Net Data and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Painting Rules to Reuse Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Rolling Back and Undoing All Constraint Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Viewing and Reverting to Parent Cell Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Saving Constraint Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Note
As you work with constraints on each spreadsheet page, you will notice that a small
amount of constraints are listed on multiple pages. Changing a constraint value on any
page that includes it results in the change appearing on each page.
While entering or modifying the data on each of these pages, you can search for net and
constraint data, filter data, sort data, and validate constraints against actuals that were produced
during routing. Nets assigned to the classes you define here will obey associated constraints
during interactive routing.
For example, by grouping 32 bus nets into the same constraint class, you can quickly assign a
single constraint value to the class (for example, # Vias Max (maximum number of vias))
instead of manually assigning the same value to each of the 32 nets. When you need to deviate
from a constraint class value, you can enter an override value into one or more net rows while
maintaining the class value for all other nets in the class.
To help make it clear that constraint values under a hierarchical object have overrides,
Constraint Manager can highlight the background of parent-level cells. To turn on this type of
highlighting, refer to “Procedure” on page 72. In the following illustration, you can see that
although the constraint class row defines # Vias Max as 10 for each net row, DCON3 and
DCON4 have overrides that replace the parent value. Cell highlighting at the parent level
indicates that there are one or more overrides at the child level.
In the above illustration, yellow is used to highlight parent overrides. To set the background
color, refer to “Setting Fonts and Colors” on page 74. In addition to choosing this highlighting
color, you can review and modify the overall color scheme Constraint Manager uses to
highlight constraint violations like errors and cautions. These are just a couple examples of how
the tool uses cell highlighting to indicate data conditions.
Blank Cells at the Constraint Class Level are not Considered When
Determining Overrides
An override is defined as a value that is different from a value at a higher level of hierarchy.
When moving a net into a different constraint class, Constraint Manager does not consider an
empty or blank constraint class level cell as a value when determining if there is an override in
its hierarchy.
For example, you have a net that defines # Vias Max at the net level. You then move the net into
a constraint class that has a blank entry for this constraint. Doing so will preserve # Vias Max at
the net level when you instruct the tool to change the old value. This is because the blank entry
is not viewed as a value. Therefore, the net level value is not an override.
Related Topics
• Constraint Definition Through Spreadsheet Pages
Whether you have a parent object expanded or collapsed in the spreadsheet, overrides in a child
object are always identified when you attempt to change a value at the parent-constraint level.
Constraint Manager propagates the new value (or not) based on how you have it configured. In
some cases, the tool will not propagate the new value due to the requirement of a specific rule.
For a list of these, refer to “Required Propagation Rules That Constraint Manager Maintains” on
page 108.
Constraint Manager brings up this warning dialog box when all of the following conditions are
met:
• Your setting for the Change Impact Dialog is not set to “Always prompt user for all
values.”
• You have not already enabled the “Don’t ask me again in this session” checkbox in the
warning dialog box.
• You are changing more data than what you typed in.
When you are presented with this warning dialog box, to go ahead with the change based on
your settings, click OK. To instead not make the change, click Cancel.
Caution
The primary purpose of this warning dialog box is to make you aware that a value you are
changing has hierarchical impact. The secondary purpose is to let you know that a
Constraint Manager setting controls how overrides are handled. To modify the Change
Impact Dialog setting, refer to “Procedure” on page 73.
For example, you have a constraint class that defines # Vias Max as 3. Out of the five nets in the
constraint class, you define this constraint as 5 for two of them. A change to the value at the
constraint-class level would cause the tool to use this setting to determine whether you still want
to keep the override value of 5 for the two nets that use the value.
Choices regarding hierarchical propagation are not limited to net classes and constraint classes.
Any parent/child relationships that include overrides at the child level will cause Constraint
Manager to use the Change Impact Dialog setting when you attempt to change a parent value.
In the example illustration below, an electrical net has an override at the physical net level for
Length or TOF Delay Min.
Changing the electrical net value for this constraint would cause the Change Impact Dialog
setting to be used. Depending on how you have Constraint Manager configured, the override
value for physical net DCONN24 would either be kept, replaced, or you would instead be
prompted for the action to take.
Prerequisites
• The procedure below is only valid when the Change Impact Prompt dialog box has been
displayed automatically by Constraint Manager. This is because you have the tool
configured to give you the ability to choose which child values will take on the new
parent value. To modify this setting, refer to “Procedure” on page 73.
Procedure
1. From the Change Impact Prompt dialog box, for each child object, select from one of the
following actions:
• Change to new value — Replace the child value with the new parent value.
• Keep current value — Retain the child value.
2. Click OK:
Notes:
• To use the selected action for all child objects that are left, click to activate the
following checkbox: “Do this for all remaining constraints”
• As you are using the Change Impact Prompt dialog box, you can stop reviewing or
changing values by clicking Exit at any time. Doing so retains any changes that you
have made thus far, but skips any child objects that remain.
Results
Values for each child object are retained or replaced, respectively.
Related Topics
• Constraint Definition Through Spreadsheet Pages
• Net Class value for differential pairs and electrical nets — This value must be the
same for physical nets that are part of an electrical net, electrical nets that are part of a
differential pair, and the differential pair. Constraint Manager maintains this relationship
on the Nets page and Constraint Templates page.
Exception: There is an exception to this rule when an electrical net contains multiple
physical nets. In this case, each physical net can have a different Net Class value from
the electrical net and differential pair.
• Template value for differential pairs — The constraint template assigned to a
differential pair is also assigned at the electrical net level. Constraint Manager maintains
this relationship on the Nets page.
• Topology Type value for differential pairs and electrical nets — This value must be
the same for physical nets that are part of an electrical net, electrical nets that are part of
a differential pair, and the differential pair. Constraint Manager maintains this
relationship on the Nets page.
Exception: There is an exception to this rule when an electrical net contains multiple
physical nets. In this case, each physical net can have a different Topology Type value
from the electrical net and differential pair.
• Length or TOF Delay Type value for differential pairs and electrical nets — This
value must be the same for physical nets that are part of an electrical net, electrical nets
that are part of a differential pair, and the differential pair. Constraint Manager maintains
this relationship on the Nets page and Constraint Templates page.
• Length or TOF Delay Match value for differential pairs — This value must be the
same for electrical nets that are part of a differential pair, and at the differential pair
level. Constraint Manager maintains this relationship on the Nets page and Constraint
Templates page.
• Trace Width Minimum, Typical, and Expansion values — Constraint Manager
enforces mathematical relationships among these constraints. For example, Minimum
cannot be greater than Typical, and Expansion cannot be less than Typical.
Related Topics
• Constraint Definition Through Spreadsheet Pages
Related Topics
• Constraint Definition Through Spreadsheet Pages
Here are some tips for customizing and using the display of spreadsheet tabs, which in turn give
you access to individual spreadsheet pages:
• Constraint Manager gives you the ability to display just certain tabs so that you can
show and hide tabs as needed. To do so, right-click the listing of tabs, and then click to
show or hide specific tabs. You can also click to show All Tabs, or click to show just
Default Tabs.
• If you can not see all spreadsheet tabs, use the arrow buttons to scroll through the tabs
(when this setting is enabled). You can also resize the right edge of the tab listing to
increase or decrease the amount of space used to display the tabs.
Procedure
At the bottom of the spreadsheet pane, click a spreadsheet tab.
Related Topics
• Spreadsheet Page Selection
Tip: Constraint Manager gives you the ability to display just certain nodes of the
Navigator so that you can show and hide nodes as needed. To do so, right-click within the
whitespace of the Navigator, and then from the listing of nodes, click to show or hide
specific nodes. You can also click to show All Nodes, or click to show just Default
Nodes.
Procedure
Click within the hierarchy of the Navigator to view the most relevant spreadsheet page.
Related Topics
• Spreadsheet Page Selection
Procedure
You can do this in any of the following ways:
• At the top of a spreadsheet page, click the Filters - Groups toolbar dropdown (also
known as “Constraint Groups”) and then select a constraint type.
• Right-click within a spreadsheet page, click Group, and then click the constraint type.
For example, to display just net property type constraints of the Nets spreadsheet page, click the
Filters - Groups toolbar dropdown, and then click Net Properties.
Related Topics
• Spreadsheet Page Selection
Procedure
You can do this in any of the following ways:
• Click the Filters - Groups toolbar dropdown, and then click All.
• Right-click within a spreadsheet page, click Group, and then click All.
Related Topics
• Spreadsheet Page Selection
electrical and physical nets based on the icon beside a row on the Nets page of the spreadsheet.
Use the following table to determine the type of design object that is represented by each icon.
Note
Electrical nets that include two or more physical nets are indicated as such on the Nets
page of the Constraint Manager spreadsheet. A ^^^ suffix is added to the end of the net
name as it appears in the first column (Constraint Class/Net/*).
Related Topics
• Constraint Definition Through Spreadsheet Pages
Prerequisites
• To resize rows, the leftmost column of the Constraint Manager Spreadsheet must be
displayed. It is shown automatically when you enable cross probing (Setup > Cross
Probing), or when you have row numbering turned on (Setup > Settings > Display >
“Show rows numbering”).
Procedure
1. In the columns heading of a spreadsheet, or the leftmost cell of a spreadsheet row, hover
your mouse over the vertical or horizontal separation between cells until the mouse icon
changes to the resize icon.
2. Click and hold and then drag to increase or reduce the size of the column or row.
3. After resizing the column or row, release the mouse button.
Note
To reset the columns or rows on a spreadsheet page to their default widths or heights,
from the View menu, click Reset Column Widths or Reset Column Heights.
Results
Your display changes are available now and in future Constraint Manager sessions.
Related Topics
• Constraint Definition Through Spreadsheet Pages
Tip: To quickly set the same magnification level for all spreadsheet pages, use the Setup
> Settings menu selection. Using the Initial Zoom Level option, you can globally control
the initial spreadsheet magnification level.
Procedure
For the active spreadsheet page, do one of the following:
Related Topics
• Constraint Definition Through Spreadsheet Pages
Procedure
You can do the following things:
• Expand or collapse a single spreadsheet row — Click the + or - symbol to the left of
the row.
• Expand multiple spreadsheet rows — Use the following steps:
a. When you want to expand only specific rows, use Ctrl-click to select each row that is
preceded with a + symbol.
b. From the View menu, do one of the following things:
o To expand selected rows, click Expand, and then click Selected.
Related Topics
• Constraint Definition Through Spreadsheet Pages
Procedure
With the spreadsheet page that you want to sort as the active page, perform one of the following
actions:
Tip: You can also right-click within the spreadsheet, click Sort, and then click
Ascending or Descending.
Related Topics
• Constraint Definition Through Spreadsheet Pages
Procedure
1. From the Constraint Manager spreadsheet, click a constraint cell to select the value for
deletion.
Tip: To select multiple constraint values, use Ctrl-click and Shift-click.
2. Press the Delete key; or, right-click, and then click Delete.
Results
One or more constraint cells are now empty or reset to their default value (when one exists).
Related Topics
• Deletion of Constraint Values
When you delete constraint values at the object level, any default constraint values are not
cleared. This method of deletion is often times thought of as a way to easily “reset” a net or
design object.
Prerequisites
• When your goal is to clear all constraint values within a design:
o You must be running a Constraint Manager session launched from the front-end
design system.
o Your invocation of Constraint Manager must be the only session.
Procedure
Refer to one of the following procedures based on the object you want to clear:
• Clear all constraints from a design object — Complete the following steps:
a. From the leftmost column of the Constraint Manager spreadsheet, right-click a
design object, and then click Clear Constraints.
b. From the message box that appears, optionally activate one or more checkboxes,
when appropriate, and then click Yes.
• Clear all constraints from a design — Complete the following steps:
a. From the Data menu, click Clear All Constraints.
b. From the confirmation dialog box that appears, note the location of the design
backup that will be created, and then click Yes only if you are sure you want to clear
all user-defined constraints from the design.
Results
• All non-default constraint values for an object (and its children object) or a design, are
deleted.
• You can restore all constraint values to their previous state after clearing them through
use of the Data > Clear All Constraints command. Generally speaking, you would
only do this after having cleared all constraints in error. To do so, from the Tools menu,
click iCDB Project Backup.
Related Topics
• Deletion of Constraint Values
Related Topics
• Constraint Definition Through Spreadsheet Pages
Tip: To quickly search for the first occurrence of any text string, from the Find toolbar,
enter the text string into the text box, and then click the button to the left. To find the next
occurrence, click the search button again.
Procedure
1. From the Edit menu, click Find; or, from the Find toolbar, click .
2. From the Find dialog box in the “Find what” field, enter the text you want to find.
Example: To find and step through all nets of the form /N$2050 - /N$2059, use
/N$205? as your search string. To find and step through all nets that begin with /N$2,
enter /N$2*. Note that this is not a regular-expression search example.
3. Specify the direction in which you want to search by selecting Forward or Backward.
4. To view additional search preferences, click More, and then use the following options:
• To search a page other than the current page, click the Page dropdown, and then
click to specify your search scope.
• To search sequentially by rows or columns, click the Search dropdown, and then
click to specify the direction.
• To search constraint values, or constraint comments, click the Look In dropdown,
and then click to specify the appropriate criterion.
• To match the exact capitalization or case sensitivity of the search string, click to
enable Match Case.
• To find only full matches and not partial ones (for example, you do not want
searches for “100” to find “1000” and “10000”), click to enable Match entire cell.
• To search using regular expressions, click to enable Use regular expressions, but
keep the following in mind:
o Standard wildcard characters (for example, * and ?) behave much differently in
that they include matching--or not--to the preceding character. For example, a
regular expression search for “n*t” would match “at”, “nt”, “net”, “about”, and
many other words that begin with any character and end with “t”. Conversely, a
regular expression search for “n?t” would only match “at”, “nt” and “net” of the
results of the above asterisk example.
o * matches 0 or more of the preceding character, not just any character unless you
precede it with the period character (“.”).
o ? matches 0 or 1 of the preceding expression.
o There are additional wildcard characters that you can use.
o You can search using ranges of characters.
o For more information about using regular expressions properly, refer to the
wealth of information available on the internet or in dedicated textbooks.
• To enable searching of spreadsheet rows that are currently not expanded, click to
enable Drill-down searching.
5. After you finish configuring your search, click Find Next or Find All.
• When you search with Find Next, the first relevant cell is highlighted. To find the
next cell that matches your criteria, click Find Next again.
• When you search with Find All, Constraint Manager augments the dialog box to
show a table of all matching cells. You can cross probe between the table of search
results and the spreadsheet by clicking a cell in the results table.
Related Topics
• Constraint Spreadsheet Usage
It is also common to use filtering as a precursor to assigning nets to classes. By restricting the
spreadsheet to only the nets that match a filter string, you can quickly select a group of nets
without having to select around other nets.
Note
Constraint Manager filters just spreadsheet rows that are expanded. To filter all rows of a
spreadsheet page, from the Filters menu, click to enable Drill-down Filtering.
Procedure
1. From the Filters menu, click Enabled.
Alternative: With the Filters - Main toolbar enabled (View > Toolbars > Filters -
Main), from it, click .
Note: Make sure that Filter mode is now on. When it is, the Constraint Manager
spreadsheet is augmented to include an additional row at the top for entering the filter
string.
2. In the column for which you want to filter spreadsheet data, click the dropdown in the
filter cell, and then perform one of the following tasks:
• Use a default filter — Select from among Sort Ascending, Sort Descending, (All),
(All Non Empty), and (All Non Default).
• Create a custom filter — Click (Custom...), and then perform the following steps:
i. From the Custom Autofilter dialog box, click the dropdown in the box to the left,
and then click to specify how the custom filter will apply to the filter string you
use.
ii. In the box to the right, enter the filter string you want to use.
iii. For additional filtering options, click the More button, and then specify any of
the following options:
- To match case sensitivity, click to enable Match case.
- To toggle cumulative mode filtering, click the appropriate check box.
- To toggle filtering of non-expanded spreadsheet rows, click Drill-down
filtering.
- To instead use a regular expression, click to enable the appropriate check box,
and then enter the regular expression you want to use.
iv. After you finish configuring your filter, click Apply.
3. To reduce the display of spreadsheet data (rows) by adding another column criterion,
return to step 2. You can also filter a column more. For example, after filtering the Nets
spreadsheet Constraint Class/Net/* column to display a subset of rows based upon net
name, you can cumulatively filter the subset by net name again.
Rule: You must enable cumulative mode before you can filter using additional criteria.
To do so, from the Filters menu, click Cumulative Mode. As a result, the Cumulative
Mode menu item includes a check mark.
Tip: If you filter out the parent row of an object (for example, the constraint class row of
an electrical net), but need to re-enable it, you can do so by right-clicking the child row,
and then clicking Show Parent.
Examples
Example of Filtering the Nets Page to Display Only Electrical Nets (^^^)
In this example, you are interested in displaying only true electrical nets on the Nets spreadsheet
page to focus your current constraint definition task. Net names can often times be quite long.
Because the true electrical net identifier is appended to the end of a net name (^^^), filtering to
display just these nets ensures that you are working on only electrical nets. This is without
having to expand the column width of the Constraint Class/Net/* column to verify the existence
of the true electrical net identifier.
1. With the Nets spreadsheet page active, expand the constraint class that you want to work
in.
2. With filtering enabled, in the filter row of the Constraint Class/Net/* column, click the
filtering dropdown, and then click (Custom...).
3. In the Custom Autofilter dialog box, set the filter to equals, and then in the box to the
right, enter the following: *^^^
4. After you finish setting the custom filter, click Apply.
Result: The spreadsheet is reduced to display just electrical nets that are part of the (All)
constraint class.
Related Topics
• Constraint Spreadsheet Usage
The above illustration shows the Filters - Levels toolbar from the perspective of the Parts
spreadsheet page being active. The toolbar changes the display of active buttons depending on
the spreadsheet page you are on. As you can see above, all four of the parts selections (on the
right) are enabled. A blue box around each active row type indicates this state.
Procedure
You can do this in the following ways:
• With a specific spreadsheet page active, from the Filters menu, click Levels, and then
click to choose the row types you want to display.
Example: To filter the Parts spreadsheet page to include part pin rows, with the Parts
page active, from the Filter menu, click Levels, and then click to turn on Part Pin.
• With the Filters - Levels toolbar enabled (View > Toolbars > Filters - Levels), from it,
click a button to toggle the display of a specific row type. Those that are active have an
outline box around them.
• With the Filters - Main toolbar enabled (View > Toolbars > Filters - Main), from it,
click . From the Filter Levels dialog box, click to toggle the levels that you want to
display, and then click Apply.
Results
The spreadsheet shows only certain rows (this includes rows that you cannot toggle).
Eventually, you may want to change the display back to a more common view, which is one of
the following:
• All Row Types — From the Filters menu, click Levels, and then click All.
• Only Default Row Types — From the Filters menu, click Levels, and then click Reset.
• Only Row Types That You Cannot Toggle — From the Filters menu, click Levels,
and then click None.
Related Topics
• Constraint Spreadsheet Usage
• Only default levels are shown (Filters > Levels > Reset).
• Filtering is turned off (Filters > Enabled).
• Filters - Groups toolbar dropdown is set to All.
• All expanded rows are collapsed.
Procedure
1. Make the spreadsheet page you want to reset the active one by clicking its tab.
2. From the View menu, click Reset View.
Results
Just the active spreadsheet page is reset.
Related Topics
• Constraint Spreadsheet Usage
Doing so gives you the ability to increase the efficiency with which you modify constraints.
When managing other co-workers, creating unique groups can help to ensure that their focus
remains on the appropriate constraint subsets.
Note
Because constraint groups are a subset of all constraints located on a spreadsheet page,
modifying a spreadsheet constraint while in a group view results in the change appearing
in all views.
In the following illustration, a user has created two constraint groups that serve as custom
subsets of the Nets spreadsheet page.
The My Delays Group is a subset containing all delay constraints, both simulated and time of
flight. The other group, My Actuals Group, contains all actual values that are available from the
Nets spreadsheet page.
You can modify constraint groups that you create, and also those that are included with
Constraint Manager by default. The only group that you cannot modify is All. To provide you
with greater flexibility, the tool supports two ways of populating and modifying the contents of
a constraint group. The recommended approach is from directly within the Constraint Manager
spreadsheet.
Procedure
1. With the spreadsheet page of interest active, click the Filters - Groups toolbar
dropdown, and then click Edit Constraint Groups.
Alternative: From the Edit menu, click Constraint Groups.
2. From the Edit Constraint Groups dialog box, click .
3. From the Create New Constraint Group dialog box, enter a name for the group, and then
click OK.
4. Click Apply.
5. Modify or populate the contents of the constraint group in one of the following ways:
• “Modifying a Constraint Group From Directly Within the Spreadsheet” on page 126.
Note: This is the recommended method. You can drag-and-drop columns and
visually review your progress while you make your changes.
• “Modifying a Constraint Group From Within the Constraint Groups Dialog Box” on
page 127.
Related Topics
• Constraint Group Creation and Modification
Procedure
1. With the spreadsheet page of interest active, click the Filters - Groups toolbar
dropdown, and then select the group you want to modify.
2. Do any of the following things:
• To show specific, hidden constraint columns, right-click the column heading after
which you want to insert columns, and then click Unhide Column(s). From the Add
Column(s) to Group dialog box, select one or more constraints, and then click OK.
Note: When you are working with a new constraint group that you created
previously but did not populate, all available columns are hidden.
• To move a column, use click-drag to move it to a different position within the
spreadsheet.
• To hide specific columns, use click or Ctrl-click to select the column headings,
right-click one of the column headings, and then click Hide Column(s).
• To hide all columns, right-click any column heading, and then click Hide All
Columns.
Related Topics
• Constraint Group Creation and Modification
Procedure
1. With the spreadsheet page of interest active, click the Filters - Groups toolbar
dropdown, and then click Edit Constraint Groups.
2. From the Edit Constraint Groups dialog box, click the Select constraint group
dropdown, and then click the constraint group you want to modify.
3. From the Constraints assigned to group list, perform any of the following tasks:
• To remove one or more constraints, use click or Ctrl-click, and then click .
• To remove all constraints, click .
• To add constraints, from the All constraints list, select the constraints that you want
to appear in the group by doing any of the following:
o To add one or more constraints, use click or Ctrl-click, and then click .
o To add all constraints, click .
• To move one or more constraints up or down in the list order, use click or Ctrl-click,
and then click or .
• To move one or more constraints to the top or bottom of the list, use click or Ctrl-
click, and then click or .
Tip: When moving constraints, it can be helpful to keep constraints and their actuals
together.
4. After you finish modifying a constraint group, click OK or Apply.
Related Topics
• Constraint Group Creation and Modification
Prerequisites
• You must have created one or more constraint groups.
Procedure
1. With the spreadsheet page of interest active, click the Filters - Groups toolbar
dropdown, and then click Edit Constraint Groups.
2. From the Edit Constraint Groups dialog box, perform any of the following tasks:
• To delete one constraint group, click the Select constraint group dropdown, click the
constraint group you want to delete, and then click .
• To delete all constraint groups, click .
Related Topics
• Constraint Group Creation and Modification
Procedure
1. With the spreadsheet page of interest active, click the Filters - Groups toolbar
dropdown, and then click Edit Constraint Groups.
2. From the Edit Constraint Groups dialog box, click the Select constraint group
dropdown, click the default group you want to restore, and then click .
Related Topics
• Constraint Group Creation and Modification
In the example below, two schematic designers are modifying constraints from within
Constraint Manager sessions launched from xDX Designer. Because both users are working on
the same front-end constraint set, the tool displays an indication of locks in the other user’s
environment as each applicable constraint or object is in the process of modification. In this
case, there is a single locked cell.
Here is another example of locking, but instead at the object level. The scheme “Ground” is
currently locked by another user who is editing its name. The lock icon indicates this condition.
Tip: To determine which user has a constraint or object locked, hover your mouse cursor
over the locked constraint or object in the Constraint Manager Spreadsheet. The tooltip
that is displayed shows the user account that currently has the constraint or object locked
for editing.
Related Topics
• Concurrent Constraint Entry With Other Users
Tip: You can change the background color Constraint Manager uses to indicate remote
modifications. For more information, refer to “Setting Fonts and Colors” on page 74.
Another way that Constraint Manager helps ensure effective concurrent design is by
temporarily locking a constraint or object when it is being modified in a parallel session. For
more information, refer to “Overview of Constraint Locks” on page 129.
Prerequisites
• Concurrent design is enabled through availability of the appropriate license.
Procedure
1. From the View menu, click Remotely Modified Data.
2. Click to activate Enable Indication.
Results
Your Constraint Manager session is now updating in real time to show you all constraint
changes being made in any concurrent sessions.
(Optional) To clear all of the current cell highlighting, from the View menu, click Remotely
Modified Data, and then click Refresh. At this point, only new modifications will show.
Related Topics
• Concurrent Constraint Entry With Other Users
Prerequisites
• The Comment toolbar must be visible if you want to use Comment toolbar buttons
instead of right-click actions. Ensure that View > Toolbars > Comment is enabled.
Procedure
1. Do one of the following things:
• From the spreadsheet, right-click a cell, and then click Insert Comment.
• From the Comment toolbar, click .
2. From the Comment dialog box, type your comment in the text field.
3. Click Apply or Close.
Results
The cell is updated to include a red marker in its upper-right corner to indicate that you have
added a comment to it. The illustration below shows an example of this marker.
In this case, the user could have provided an explanation for why they set the minimum length
value to 1400 th instead of 1000 th (like the other values).
Related Topics
• Constraint Value Commenting
Prerequisites
• You must have created the constraint comment you want to modify.
• The Comment toolbar must be visible if you want to use Comment toolbar buttons
instead of right-click actions. Ensure that View > Toolbars > Comment is enabled.
Procedure
1. From the spreadsheet, do one of the following things:
• Right-click a cell that includes a comment, and then click Edit Comment.
• Click a cell that includes a comment, and then from the Comment toolbar, click .
2. From the Comment dialog box, modify the comment in the text field.
3. Click Apply or Close.
Results
The content of the comment is updated.
Related Topics
• Constraint Value Commenting
Prerequisites
• The Comment toolbar must be visible if you want to use Comment toolbar buttons
instead of right-click actions. Ensure that View > Toolbars > Comment is enabled.
Procedure
From the spreadsheet, do one of the following things:
• Right-click a cell that includes a comment, and then click Delete Comment.
• Click a cell that includes a comment, and then from the Comment toolbar, click .
Results
The constraint comment is erased.
Related Topics
• Constraint Value Commenting
Prerequisites
• The Comment toolbar must be visible if you want to use Comment toolbar buttons.
Ensure that View > Toolbars > Comment is enabled.
Procedure
You can do this in the following ways:
• To see a single comment, hover the mouse cursor over a cell that includes a comment.
• To cycle from one comment to the next, from the Comment toolbar, click (next) or
(previous).
• To generate a report that lists all comments, from the Output menu, click Report
Comments.
Results
You are viewing the constraint comments of importance to you.
Related Topics
• Constraint Value Commenting
As an example, the constraint reference graphic for the differential pair constraint Differential
Spacing is shown.
Procedure
From the constraint spreadsheet, right-click a constraint cell, and then click Constraint Help.
Related Topics
• Constraint Spreadsheet Usage
• Constraint Reference
• Quick Reference - Constraint Manager Spreadsheet
Procedure
From the Output menu, click Design Statistics.
Related Topics
• Constraint Spreadsheet Usage
Prerequisites
• You are not using an xDM Design flow.
• You are not using a remote development flow.
Procedure
1. From the Output menu, click Check Constraints Synchronization.
Results
In the event that synchronization checking fails, ensure that you are properly connected to
appropriate client systems. You can also view the report for more information.
Related Topics
• Constraint Spreadsheet Usage
Constraint Diagnostics
You can both check and correct constraint values using CES Diagnostics.
Checking Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Correcting Constraint Manager Diagnostics Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Listing of Constraint Manager Diagnostics Tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Checking Constraints
You can check constraints to verify the data integrity of your local constraint set. This is
especially useful when starting with a migrated design. Constraints checking provides
information and errors for multiple aspects of design-object relation and net assignment.
Procedure
1. From the Tools menu, click CES Diagnostics.
2. To view the report that was created refer to the Output window, CES Diagnostics tab.
Results
The report shows the results of many diagnostics tests. Each test indicates whether the data has
passed or failed. In the event that a test has failed, and the error is automatically fixable by
Constraint Manager, the report shows a link at the bottom that gives you the ability to
automatically fix all errors that fall into this category.
Tip: You can cross probe from the report to problematic design objects by clicking a link
on any available error rows.
Related Topics
• Constraint Diagnostics
Procedure
You can do the following things:
• Fix all automatically fixable errors — In the event that you have errors that can be
fixed automatically by Constraint Manager, you can click a link at the bottom of error
report to do so.
Note
After you have Constraint Manager fix errors, it will reload when necessary. This is to
ensure that the tool shows the correct constraint data based on changes that occurred
during the process of making automatic fixes.
• Fix errors that you must fix manually — In the event that you have Constraint
Manager errors that can only be fixed manually in the tool, you should use Constraint
Manager documentation to make the appropriate fixes. In some cases, the error will
provide a link to the exact documentation you must use to fix the error.
Related Topics
• Constraint Diagnostics
Related Topics
• Constraint Diagnostics
Note
The Constraint Manager actuals menu selections referenced in this section are only
available in sessions launched from a back-end design system. When you want to work
with actuals in a front-end session, refer to “Sharing PCB Actuals With Front-End
Constraint Manager Sessions” on page 145.
Procedure
1. From the Data menu, click Connect to Board Station RE/Expedition.
Note: Typically, when you launch Constraint Manager it is automatically connected to
Board Station XE/RE or xPCB Layout. This menu option is not present when you are
already connected.
2. When you do not have Constraint Manager configured to automatically update actuals
on start-up, from the Data menu, click Actuals, and then click Update All to show
actuals on the spreadsheet.
Note: If automatic display of actuals is not enabled, you must perform this step each
time you launch a new invocation of Constraint Manager.
Tip: To make the display of actuals a seamless part of your back-end or front-end
Constraint Manager session, there are several settings you can enable. For more
information, refer to “Specifying Other Preferences” on page 78.
Results
When constraint validation is available, you can easily see which constraints are resulting in
actuals that are approaching or exceeding a constraint threshold, or moving beyond a minimum
and maximum constraint range.
To make such distinctions clear, Constraint Manager backlights actual spreadsheet fields with
one of two colors, which respectively indicate whether an actual is out of range, or close to
being out of range. During the process of setting up the tool, you can specify the backlight
colors that Constraint Manager uses.
Rule: In order to perform this type of validation, you must update routing results from a
supported router.
Related Topics
• PCB Actuals Comparison With Constraint Values
Procedure
You can do the following things:
• Update all actuals — From the Data menu, click Actuals, and then click Update All.
• Update selected actuals — Use the following steps:
a. On a spreadsheet page, click, Ctrl-click, or Shift-click to select one or more nets.
Rule: In order to update net actuals, cross probing must be enabled. To do so, from
the Setup menu, click to enable Cross Probing.
b. From the Data menu, click Actuals, and then click Update Selected.
Related Topics
• PCB Actuals Comparison With Constraint Values
Procedure
You can do the following things:
• Clear actuals from all spreadsheet pages — From the Data menu, click Actuals, and
then click Clear All Pages.
• Clear actuals from the current spreadsheet page — From the Data menu, click
Actuals, and then click Clear This Page.
Related Topics
• PCB Actuals Comparison With Constraint Values
Procedure
From the View menu, click Update Differences.
Note
To clear highlighted differences, from the View menu, click Clear Differences.
Related Topics
• PCB Actuals Comparison With Constraint Values
Tip: There are several settings you can enable to make the display of actuals a nearly
automatic part of your front-end Constraint Manager session. To do this, you must enable
unique settings in both front-end and back-end invocations of the tool, respectively. For
general information on these settings, refer to “Specifying Other Preferences” on
page 78. The procedure below points out each setting as it relates to streamlining the
manual process.
Procedure
1. In a back-end invocation of Constraint Manager, from the File menu, click Export, and
then click Actuals.
Alternative: You can have the tool do this automatically each time you update actuals
by enabling a setting in your back-end invocation. From the Setup menu, click Settings.
From the Settings dialog box, click Other, and then under Actuals, enable the following
option: Export actuals to front-end.
2. From the Output log window, verify that the actual values have been successfully
exported.
For example: “Xpedition actuals side file was exported on Thu Mar 08 16:22:22 2012.”
3. In a front-end invocation of Constraint Manager, from the Data menu, click Actuals,
and then click Import Layout Actuals. To include thermal values, click Import
Thermal Actuals as a second selection.
Tip: You can configure your front-end invocation of Constraint Manager such that you
are notified when updated actuals are available for import. To do this, from the Setup
menu, click Settings. From the Settings dialog box, click Other, and then under Actuals,
enable the following option: Show alert that new actuals can be imported.
Tip: To further facilitate the sharing of actuals data between the front-end and back-end,
you can enable an additional setting to automatically update actuals upon start up. When
used together with the settings mentioned in the above procedure, back-end Constraint
Manager automatically updates actual values when you load it, which in turn causes them
to be exported to front-end Constraint Manager. The next time you open front-end
Constraint Manager, the updated actual values from the back end are automatically pulled
in. You enable this setting separately in each invocation of the tool. To do this, from the
Setup menu, click Settings. From the Settings dialog box, click Other, and then under
Actuals, enable the following option: Auto update on start up.
Results
Actual values are displayed in the front-end invocation of Constraint Manager in the
appropriate actual cells of spreadsheet.
Related Topics
• PCB Actuals Comparison With Constraint Values
Procedure
1. From the Data menu, click Constraint Violations.
2. From the list of Constraint cautions and violations, refer to the Constraint and Object
columns to determine problematic constraints.
3. (Optional) Do any of the following:
• To display just violations, click to enable the “Show only violations” check box.
• To hide any revised constraint rows, click to enable the “Show only unrevised”
check box.
• To mark a constraint as revised, click to enable its Revised check box. (You cannot
mark all data types as revised. For a list of restrictions, refer to “Constraint Violation
Revision Restrictions” on page 147.)
Alternative: To do this from the spreadsheet, right-click a constraint cell, click
Mark As, and then click Revised.
• To cross probe to the spreadsheet row to which a constraint caution or violation
refers, click a list row.
Alternative: To move up or down one row in the violations list while cross probing,
click or .
Related Topics
• PCB Actuals Comparison With Constraint Values
Related Topics
• PCB Actuals Comparison With Constraint Values
• # Pins
• Constraint Class or Electrical Net Name Aggressor
• Constraint Class or Electrical Net Name Victim
• Hierarchical Path
• Index
• Net Class
• Parallelism Rule
• Power Net
• The minimum Simulated Delay Min constraint value is used; the maximum Simulated
Delay Max constraint value is applied.
• The minimum Ringback Low Max constraint value is used; the maximum Ringback
High Max constraint value is applied.
• The minimum Static Low Overshoot Max constraint value is used; the maximum Static
High Overshoot Max constraint value is applied.
• Dynamic Low Overshoot Max and Dynamic High Overshoot Max constraint values are
removed from the new electrical net.
Related Topics
• Constraint Spreadsheet Usage
Prerequisites
• The leftmost column is enabled (Setup > Cross Probing).
Procedure
1. From the spreadsheet, click the leftmost cell of a scheme, net class, constraint class,
layer, or net row, and then from the Edit menu, click Rule Painter.
2. Click the leftmost cell in the spreadsheet row for which you want to apply the copied
constraint values.
3. Continue clicking additional rows to paint these rules where appropriate.
4. To turn off the Rule Painter, from the Edit menu, click Rule Painter.
Examples
Example of Copying Board Layer Constraint Values to Another Board Layer
Use these steps:
1. From the spreadsheet Trace & Via Properties page, expand a scheme, a net class, and
then click the leftmost cell of the layer that holds the constraint values you want to
duplicate.
2. From the Edit menu, click Rule Painter.
3. From the spreadsheet, click the leftmost cell of the layer row to which you want to apply
the duplicate constraint values.
4. To apply these values to another layer, click its leftmost cell. When you finish, from the
Edit menu, click Rule Painter to disable rule painting.
Related Topics
• Constraint Spreadsheet Usage
Note
When rolling back constraint changes made in Constraint Manager, the forward and back
annotation indicator lights for your design flow do not reflect these undo actions. For
example, after you make a single change in back-end Constraint Manager and then
rollback that change, your back-end system will still indicate that you need to perform
back annotation.
Procedure
1. From the File menu, click Rollback Changes.
2. From the Rollback Changes dialog box, click Rollback.
Results
The Status column displays “Pending,” “In Progress,” “Conflict,” or “Restored” for each row.
Each entry starts out as pending. When the tool successfully rolls back a change, the field
displays “restored.” For undo actions that take longer to process you see “in progress” displayed
before they are moved to a resolved state. If a change can not be undone due to change conflicts,
the Status field indicates this condition.
Related Topics
• Constraint Change Undo and Redo
When undoing or redoing changes, all actions following the selected action are also reverted or
restored. For example, when you create three net classes, beginning with Net Class A and
ending with Net Class C, undoing the creation of Net Class B results in the deletion of Net Class
A as well.
Procedure
You can do the following things:
b. In the list of changes you can undo, hover over one or more changes, and then click.
• Redo one or more changes — Use these steps:
a. From the General toolbar, next to , click the dropdown button.
b. In the list of changes you can redo, hover over one or more changes, and then click.
Related Topics
• Constraint Change Undo and Redo
Related Topics
• Constraint Change Undo and Redo
Procedure
From the spreadsheet, right-click the cell of interest, and then do one of the following things:
• To see what the cell value is at the next, upper level of hierarchy, click Show Parent
Value. As a result, the Output log window is updated to include a new line of text that
displays this value.
• To revert the cell value to value of the parent cell, click Reset to Parent Value.
• In the event that you are using row filtering and the row for a parent cell is hidden, you
can click Show Parent to enable display of the hidden parent row.
Results
Depending on the task you wanted to accomplish, you now know the value of a parent cell, have
reset an overridden cell to its parent cell value, or enabled display of a parent row that was
hidden due to row filtering.
Related Topics
• Constraint Spreadsheet Usage
Procedure
You can do this in the following ways:
• After you exit a Constraint Manager session, from the invocation tool, save your design
(if required).
• When working in a Constraint Manager session launched from the back-end, at the
bottom-right corner of your PCB layout tool, click the rightmost status indicator to load
the changes into the back-end, and then save your design in the PCB layout software.
Related Topics
• Constraint Spreadsheet Usage
You use constraint classes to group nets for the purpose of efficiently defining similar electrical
requirements in Constraint Manager. The number of constraint classes you create for a design
typically depends on design complexity, which can include the number of nets, technology
types, and other factors.
Creating Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Creating Constraint Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Adding Nets to a Constraint Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Defining Bus Constraint Classes Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Creating a Constraint Class From an Existing Constraint Class . . . . . . . . . . . . . . . . . . 162
Deleting Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
When you want to create a constraint class that includes the constraint definitions of an existing
constraint class, you do so by creating a constraint class from an existing class instead of
creating a new constraint class. For more information, refer to “Creating a Constraint Class
From an Existing Constraint Class” on page 162.
Note
Initially, all nets are assigned to the (All) constraint class.
Procedure
1. From the Navigator, right-click Constraint Classes, and then click New Constraint
Class.
Alternative: From the Nets spreadsheet page, right-click a constraint class, and then
click New Top Level Class.
2. Replace the default name “<user>_New” with a name for the constraint class. Keep the
following things in mind:
• Constraint class names cannot include the following characters: ! \ “ or /
• Spaces are allowed in constraint class names.
• Use a name that reflects the purpose of the constraint class. For example, when
creating a constraint class that will contain only signal nets, replace “New” with
“Signal Nets”.
Results
The new constraint class is now available for selection and assignment throughout Constraint
Manager. When needed, you can rename it. To do so, from the Navigator, expand Constraint
Classes. Right-click a constraint class, click Rename, type a new name, and then press Enter.
Related Topics
• Constraint Class Creation
Figure 4-1. Navigator Showing Bus Nets Constraint Class With Two Additional
Hierarchical Classes
Tip: From the Constraint Manager Navigator, you can drag and drop constraint classes
into other constraint classes to create or redefine hierarchy. When your goal is to drag
multiple constraint classes at the same time, after you use Ctrl-click to select them, you
must continue to hold the Ctrl key while you drag them.
Although you are not limited to the levels of hierarchy you can create under a constraint class, it
is important to understand that creating hierarchy is not always the best approach. In most cases
it is a best practice to create a new top-level constraint class or simply modify some constraint
values manually for certain nets in a constraint class.
Procedure
1. From the Navigator, expand Constraint Classes. Right-click a constraint class, and then
click New.
Alternative: From the Nets spreadsheet page, right-click a constraint class, and then
click New.
2. Replace the default name “<user>_New” with a unique name for the hierarchical
constraint class.
Note: You can create multiple levels of hierarchy.
Results
The new constraint class is now available for selection and assignment throughout Constraint
Manager. When needed, you can rename it. To do so, from the Navigator, expand Constraint
Classes. Right-click a constraint class, click Rename, type a new name, and then press Enter.
Related Topics
• Constraint Class Creation
Procedure
1. With the Nets spreadsheet page active, from the Edit menu, click Assign Nets to
Classes.
Alternatives:
• From the Navigator, expand Constraint Classes, right-click a constraint class, and
then click Assign Nets.
• From the Nets spreadsheet page, select one or more nets, right-click a selected net,
and then click Assign Net(s) to Constraint Class. From the Select Constraint Class
dialog box, select a constraint class, and then click OK. When using this option, you
do not need to finish this procedure.
2. From the Assign Nets to Constraint Class dialog box, specify the constraint class from
which you want to select nets by clicking the Source Constraint Class dropdown, and
then clicking a constraint class.
Example: When you are adding nets to your first custom constraint class you can select
from all nets in the design by specifying the (All) constraint class as the source.
3. Specify the constraint class to which you want to add nets by clicking the Target
Constraint Class dropdown, and then clicking a constraint class.
4. (Optional) Limit the source and target net listings to just physical nets. To do so, click to
enable Use physical nets.
5. Under the nets in source constraint class listing, specify the nets that you want to add to
the target class.
Tip: To select multiple nets, you can use Ctrl-click and Shift-click. To select nets by
name, in the field below the list of source nets, enter a search string, and then click .
The tool automatically highlights the matching nets. You can also move nets
individually by double-clicking a specific net.
Results
The target nets are added to the constraint class; these nets are no longer a part of the source
class from which they originated.
Examples
Example of Adding All Available Nets in a Source Constraint Class to a Target Constraint
Class
Use the following steps:
1. From the Assign Nets to Constraint Class dialog box, specify a source constraint class,
and then specify a target constraint class.
2. Click , and then click OK.
Example of Swapping All Nets in One Constraint Class With All Nets in Another
Constraint Class
Use the following steps:
1. From the Assign Nets to Constraint Class dialog box, specify a source constraint class,
and then specify a target constraint class.
Note: When you create a new constraint class while the Assign Nets to Constraint Class
dialog box is displayed, the drop down lists are updated appropriately.
2. Click , and then click OK.
Related Topics
• Constraint Class Creation
Note
The Bus constraint is used to indicate that your PCB layout software should enable bus
planning and routing capabilities for a specific constraint class.
Depending on your constraint-entry process, you will define bus classes before or after creating
constraint classes. Regardless of the process you use, Constraint Manager makes it easy to keep
track of the previous constraint class to which you assigned a net by creating a bus class as a
sub-class of the original class. For example, when you automatically create bus classes for nets
that originate from the default constraint class, (All), each new constraint class is a sub-class of
the (All) class.
Note
After nets are assigned to newly created bus constraint classes, each net in the class is
assigned to a single net class.
Procedure
1. With the Nets spreadsheet page active, from the Edit menu, click Auto Bus.
2. From the Auto Assign Bus dialog box, in the Electrical Net Match String dropdown,
specify the match type you want to use, and then click . For more information, refer to
“Types of Net Matching for Bus Constraint Classes” on page 161/
Result: Under Proposed busses, Constraint Manager creates a row for each suggested
bus. The Suggested Bus Name cell indicates the new constraint class name that
appropriate nets will be moved into.
3. (Optional) To have Constraint Manager group bus nets into constraint classes that
contain no fewer than a specific number of nets, activate the Minimum Bus Width
checkbox, and then modify the numerical value in the field to the right to reflect your
requirement.
4. You should now verify the suggested nets for each proposed bus constraint class. To do
so, next to the Suggested Bus Name, click .
5. From the Assign Nets to New Bus Constraint Class dialog box, under Nets in new bus
constraint class, verify that the list of nets is appropriate (or make adjustments), and then
click OK. You can perform the following tasks with this dialog box:
• To move a suggested net out of the list, keeping it in its present constraint class,
click .
• To move a net from an existing constraint class into the list of nets that will comprise
the new bus constraint class, use the Existing Constraint Classes dropdown and the
Nets in existing constraint class list to select the appropriate nets, and then click .
6. From the Auto Assign Bus dialog box, select the proposed bus constraint classes that
you want to create by placing a checkmark beside each appropriate Suggested Bus
Name.
Note: By default, all proposed bus constraint classes are marked for creation. To quickly
de-select all rows, click . To quickly select all rows, click .
Rule: The Net Classes cell for each proposed bus constraint class lists all net classes that
the proposed list of nets are currently assigned to. After a bus constraint class is created,
each net is moved into the first net class listed in the Net Classes cell.
7. For the proposed constraint classes you select, resolve any naming errors, which are
indicated by shading the background color of a Suggested Bus Name cell. In the
following example, the backslash character needs to be removed from the Suggested
Bus Name to satisfy syntax requirements.
8. After you select the proposed bus constraint classes to create, and resolve any naming
errors, click OK.
Results
Constraint Manager creates a new constraint class for each proposed bus that you selected and
moves the appropriate nets into the new constraint classes.
Related Topics
• Constraint Class Creation
• Types of Net Matching for Bus Constraint Classes
• Bus
• Digit suffix — Constraint Manager suggests constraint classes using nets that include
numeric characters at the end of a net name (for example, MicroNet0 and MicroNet1).
The resultant constraint class name is the common part of the net name (for example,
MicroNet).
Default: The default match type is Digit suffix.
• Bus nets — Constraint Manager suggests constraint classes using nets that include
typical bus-net characters (for example, ~ and _) within a net name. The name of the
resultant constraint class includes a digit range at the end that indicates the number of
nets in this class. For example, Primary_Bus[3:0] means that this bus constraint class
includes four nets: net three, net two, net one, and net zero.
• Custom net match string — Enter a custom search string using letters, numbers and
wildcard characters like “*” and “?”. This method is especially useful when one of the
above methods cannot be used due to an uncommon naming convention for nets.
Related Topics
• Constraint Class Creation
Note
When you create a constraint class from an existing constraint class, the nets in the
existing constraint class remain in that constraint class.
Procedure
1. From the Navigator, expand Constraint Classes, right-click a constraint class, and then
click Clone.
2. Right-click the name of the clone, click Rename, and then enter a different name.
3. Specify the group of nets that comprise the new class by adding nets to this constraint
class.
4. Modify the constraint values defined in this class such that they are appropriate for the
nets you added to this class in the previous step.
Related Topics
• Constraint Class Creation
Procedure
1. From the Navigator, expand Constraint Classes.
2. Right-click a constraint class, and then click Delete.
Alternative: Click a constraint class, and then press Delete.
Results
After you delete a constraint class, any nets that were assigned to it are returned to the (All)
constraint class.
Related Topics
• Constraint Class Creation
You use net classes to group nets and objects for the purpose of efficiently defining similar
physical requirements in Constraint Manager. Like constraint classes, the number of net classes
you create for a design typically depends on design complexity, which can include the number
of board layers, technology types, and other factors.
Creating Net Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Adding Nets to a Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Creating a Net Class From an Existing Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Deleting Net Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Note
Initially, all nets are assigned to the (Default) net class.
In the example above, the ddr3_group* classes (ddr3_group0, ddr3_group1, ddr3_group2, and
ddr3_group3) all contain nets that are of the same technology type and function, but they have
slightly different current-carrying needs or sensitivity to crosstalk. For this reason, unique net
classes are being used instead of a single ddr3_group net class. Each of the net classes accounts
for the differences in width and spacing.
Tip: When you want to create a net class that includes the constraint definitions of an
existing net class, you do so by creating a net class from an existing class instead of
creating a new net class. For more information, refer to “Creating a Net Class From an
Existing Net Class” on page 169.
Procedure
1. From the Navigator, right-click Net Classes, and then click New Net Class.
Alternative: From the Trace & Via Properties spreadsheet page, right-click a scheme,
and then click New Net Class.
Note
To create a net class under an existing net class, from the Navigator, right-click a net
class, and then click New. Although you are not limited to the levels of net-class
hierarchy you can create, the recommendation is to use hierarchy sparingly. Doing so
helps to reduce complexity.
2. Replace the default name “<user>_New” with a name for the net class, keeping the
following things in mind:
• You cannot use the following characters: ! \ “ /
• You cannot use spaces in net class names.
• It is best practice to use a name that reflects the purpose of the class. For example,
when creating a net class that will contain only signal nets, replace “New” with
“Signal Nets”.
Results
• You can now move nets into the net class.
• The new net class initially takes on the constraint values of the (Default) net class if it is
a top-level net class. If it is a child net class, it takes on the constraint values of its parent
net class.
• You can rename the net class if needed. To do so, from the Navigator, expand Net
Classes. Right-click the net class, click Rename, type a new name, and then press Enter.
• You can create child classes under a top-level net class as you need to, but
Related Topics
• Net Class Creation
Procedure
1. With the Trace & Via Properties spreadsheet page active, from the Edit menu, click
Assign Nets to Classes.
Alternatives:
• From the Navigator, expand Net Classes, right-click a net class, and then click
Assign Nets.
• From the Nets spreadsheet page, select one or more nets, right-click a selected net,
and then click Assign Net(s) to Net Class. From the Select Net Class dialog box,
select a net class, and then click OK. When using this option, you do not need to
finish this procedure.
2. From the Assign Physical Nets to Net Class dialog box, specify the net class from which
you want to select nets by clicking the Source Net Class dropdown, and then clicking a
net class.
Example: When you are adding nets to your first custom class you can select from all
nets in the design by specifying the (Default) class as the source.
3. Specify the net class to which you want to add nets by clicking the Target Net Class
dropdown, and then clicking a net class.
4. Under the nets in source net class listing, specify the nets that you want to add to the
target class.
Tip: To select multiple nets, you can use Ctrl-click and Shift-click. To select nets by
name, in the field below the list of source nets, enter a search string, and then click .
The tool automatically highlights the matching nets. You can also move nets
individually by double-clicking a specific net.
5. Click , and then click Apply or OK.
Tip: Before clicking OK, make sure that the list of target nets is accurate. To remove
any nets from the list of target nets, click to select them, and then click .
Results
The target nets are added to the net class; these nets are no longer a part of the source class from
which they originated.
Examples
Example of Adding All Available Nets in a Source Net Class to a Target Net Class
Use the following steps:
1. From the Assign Physical Nets to Net Class dialog box, specify a source net class, and
then specify a target net class.
2. Click , and then click OK.
Example of Swapping All Nets in One Net Class With All Nets in Another Net Class
Use the following steps:
1. From the Assign Physical Nets to Net Class dialog box, specify a source net class, and
then specify a target net class.
2. Click , and then click OK.
Related Topics
• Net Class Creation
Tip: It is important to remember that creating a net class from an existing net class copies
constraints and not nets. After you create a copy, make sure you assign the appropriate
nets to it.
Procedure
1. From the Navigator, expand Net Classes, right-click a net class, and then click Clone.
2. Right-click the name of the clone, click Rename, and then enter a different name.
3. Specify the group of nets that comprise the new class by assigning nets to this net class,
and removing nets from it.
4. Modify the physical constraint values defined in this class such that they are appropriate
for the nets you added to this class in the previous step.
Related Topics
• Net Class Creation
Procedure
1. From the Navigator, expand Net Classes.
Results
After you delete a net class, any nets that were assigned to it are returned to the (Default) net
class.
Related Topics
• Net Class Creation
You define physical rules to constrain spacing between objects on a board. You can do so at the
net class level and the layer level. You define most physical rules through the Clearances
spreadsheet page and the Trace & Via Properties spreadsheet page, but there is also a set of
general clearance rules that you use to define minimum required distances between board
objects like testpoints.
Specifying General Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Rule-Area Scheme Creation and Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Specifying Trace and Via Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Clearance Rule Set Creation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Assigning Class-To-Class Clearance Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Assigning Z-Axis Class-To-Class Clearance Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Package Clearance Rule Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3D Clearance Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Procedure
1. With the Clearances spreadsheet page active, from the Clearances toolbar, click ; or,
from the Edit menu, click Clearances, and then click General Clearances.
2. From the General Clearance Rules dialog box, modify the rules that have an editable
value. Editable rule values are set against a white background. Refer to the table below
for explanations of each general clearance rule.
3. After you finish modifying general clearance rule values, click OK.
Related Topics
• Physical Rule Definition
Global rules can be heavily constrained due to the requirements of relatively small collections
of critical nets that cross through concentrated board areas.
Creating Rule Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Copying Rule-Area Schemes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Renaming Rule-Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Deleting Rule-Area Schemes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Resetting Clearance Rules to the Master Scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
(Minimum) Scheme Clearances and Widths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Procedure
1. From the Navigator, right-click Schemes, and then click New Scheme.
2. Replace the default name “<user>_New” with a unique name for the scheme, keeping
the following things in mind:
• You can use spaces when naming rule-area schemes.
• You cannot use the following characters: ! \ “ and /
3. Press Enter.
Related Topics
• Rule-Area Scheme Creation and Management
Tip: In addition to copying an entire rule-area scheme, you can copy specific clearance
rule sets contained within a scheme. This is useful when you want to duplicate only a
subset of a scheme, instead of an entire PCB rule area.
Procedure
1. From the Navigator, expand Schemes.
Alternative: Locate a scheme using the Trace & Via Properties or Clearances
spreadsheet pages.
2. Right-click a scheme name, and then click Clone.
3. As a result, the scheme is copied and given the following default name:
“<user>_<scheme>_clone”
4. Hover over the clone, and then click once.
5. Modify the name of the scheme, keeping the following things in mind:
• You can use spaces when naming rule-area schemes.
• You cannot use the following characters: ! \ “ and /and then
6. Press Enter.
Related Topics
• Rule-Area Scheme Creation and Management
Procedure
1. From the Navigator, expand Schemes.
2. Right-click a scheme name, and then click Rename.
Alternative: You can also modify the name of a scheme by clicking it once, and then
waiting for it to become editable.
3. Modify the name of the scheme, keeping the following things in mind:
• You can use spaces when naming rule-area schemes.
• You cannot use the following characters: ! \ “ and /
4. Press Enter.
Related Topics
• Rule-Area Scheme Creation and Management
Procedure
1. From the Navigator, expand Schemes.
2. Right-click a scheme name, and then click Delete.
Related Topics
• Rule-Area Scheme Creation and Management
Procedure
1. From the Navigator, expand Schemes, right-click a scheme, and then click Reset to
(Master).
2. Verify that the Area Scheme field lists the appropriate scheme.
3. By default, all constraint types are preselected. Click to de-select constraint types that
you do not want to reset to the (Master) scheme, and then click OK.
Example: To exclude resetting Minimum Widths and Typical Widths, click to de-select
these sets of constraint values.
Examples
Example of Resetting Class-To-Class Clearances and Expansion Widths to Those of the
(Master) Scheme
In this example, you want to reset just the class-to-class clearance rules and expansion widths of
user-created scheme “SchemeA” to those of the (Master) scheme.
1. From the Navigator, expand Schemes, right-click SchemeA, and then click Reset to
(Master).
2. From the Reset to (Master) dialog box, click Unselect all, and then click to select the
following constraint types:
• Class to Class clearances
• Expansion Widths
3. Verify that the Area Scheme field lists the scheme that you want to reset to the
constraint values of the master scheme, and then click OK.
Related Topics
• Rule-Area Scheme Creation and Management
Note
Typically, you do not assign the (Minimum) net class scheme to a rule area on the board.
Due to the nature of the minimum scheme, it will not always include all class-to-class clearance
rules, but instead the clearance rule with the minimum constraint value among duplicates. For
example, when you have a clearance rule between class A and class B in the Master scheme,
and an additional scheme you created defines the same relationship between class A and class
B, the minimum scheme includes the clearance rule with the lowest constraint value.
Related Topics
• Rule-Area Scheme Creation and Management
Note
When you change the value for typical trace width, the field solver uses the existing
board stackup to calculate typical impedance. When you change the value for typical
impedance, the field solver is used to calculate typical width.
Procedure
1. From the Trace & Via Properties spreadsheet page, expand a scheme.
Alternative: From the Navigator, expand Schemes, expand a specific scheme, and then
click Trace & Via Properties.
2. Expand the (Default) physical net class, or a unique physical net class that you created
previously, and then define trace and via rules in one of the two following ways:
• To simultaneously define trace and via rules for all board layers, in the physical net
class name row (for example, (Default)), specify Route, Trace Width, Typical
Impedance, and Differential Spacing rules.
Example: To specify a Trace Width Minimum value of 8 th for all board layers for
nets that are a part of the (Default) physical net class, enter 8 in the Minimum field,
and then press Enter. Constraint Manager updates each board layer to include this
Minimum Trace Width value.
• To individually define trace and via rules for each board layer, in the appropriate
board layer row (for example, SIGNAL_1), specify Route, Trace Width, Typical
Impedance, and differential pair spacing rules.
Rule: When specifying layers to route, you must do so in the (Master) scheme.
When working on a net class in the Master scheme and you change a net class via to
(None), all user-defined schemes automatically change to (None) for that net class.
Example: To specify a Trace Width Expansion value of 12 th for board layers one
and two of the (Default) physical net class, in the SIGNAL_1 and SIGNAL_2 rows,
enter 12 in the Expansion field.
Related Topics
• Physical Rule Definition
Example 6-1. Defining a Trace Width Rule for all Lower Levels of Net Class
Hierarchy
To replicate this, you would simply enter “0.02” within the Parent_Class row for SIGNAL_3.
After you press Enter, Constraint Manager gives you the option to apply that same value to each
instance of layer SIGNAL_3 within the lower levels of net-class hierarchy. This approach
becomes even more beneficial when you have many child-level net classes and need to quickly
and accurately define a constraint deviation without having to enter it multiple times.
Related Topics
• Physical Rule Definition
Tip: The vias that are available for assignment are only those in your local library. To
make additional vias available, you must use Library Services in Library Manager to
export them from your Central Library to the local library.
Procedure
1. From the Trace & Via Properties spreadsheet page, expand a scheme.
2. In the Via Assignments field of the net class for which you want to define or modify a
via assignment, click .
Alternative: Click a net class spreadsheet row, and then from the Edit menu, click Via
Assignments.
3. From the Via Assignments dialog box, in the Net Class Via column, click the pulldown
to specify a different via assignment.
Tip: When defining multiple via assignments simultaneously, to set all to the default
assignment, click Set to Default.
Note: Optionally, you can use the dropdown buttons to change the Scheme and Net
Class you want to modify.
4. Repeat step 3 as needed. When you are finished, click OK or Apply.
Examples
Example of Net Class Via Assignments
In the example of the Via Assignment dialog box below, two of three rows have a Net Class Via
set to other than the default via. This custom via assignment is for the (Master) scheme. The net
class “DiffPair” is a sub-class of the (Default) net class.
Related Topics
• Physical Rule Definition
• Overriding Trace Width Constraints for From-Tos
Note
The (Default Rule) and (Default Z-Axis Rule) clearance rule sets contain the default
clearances for a design. When assigning clearance rule sets between net classes, the
values in (Default Rule) are used by default; however, (Default Z-Axis Rule) values are
not used by default. You must explicitly assign them, or the rules of a different z-axis
clearance rule set, between net classes.
Procedure
1. From the Navigator, expand Schemes, right-click a specific scheme, and then click New
Clearance Rule.
Alternative: From the Clearances spreadsheet page, right-click a scheme, and then
click New Clearance Rule.
2. Replace the default name “<user>_New” with a unique name for the clearance rule set.
Spaces are allowed in clearance rule set names.
Results
The rule set now exists for constraint definition and assignment between net classes.
Related Topics
• Clearance Rule Set Creation
Procedure
1. From the Clearances spreadsheet page, expand the (Master) scheme, or a previously
defined scheme.
2. Expand the clearance rule set for which you want to define clearance rules, and then
make your definitions in one of two ways:
• To simultaneously define clearance rules for all board layers, in the clearance rule
set name row (for example, (Default Rule)), specify any appropriate clearance rules.
Example: When your distance unit is thousandths, to specify a Trace To Trace
separation of 15 for all board layers, in the (Default Rule) row, enter 15 into the
Trace field of the Trace To heading, and then press Enter. Constraint Manager
updates each board layer to include this Trace to Trace value.
• To individually define clearance rules for each board layer, in the appropriate board
layer row (for example, PHYSICAL_2), specify any appropriate clearance rules.
Example: To specify a Trace To Trace separation of 12 for board layer two, in that
row, enter 12 in the Trace field of the Trace To heading.
Note
Clearance rules are not applied to your design until you create associations between
specific net classes. To do so, refer to “Assigning Class-To-Class Clearance Rules” on
page 191.
Examples
Example of Defining Differential Pair Spacing Between Channels and Ports
In this example, you have two ports, each of which consist of four differential pairs (eight
channels). You want to define unique constraint values to control spacing between differential
pairs (a), spacing between differential-pair traces (b), and spacing between traces of each port
(c). The following illustration depicts these spacing requirements.
1. From the Trace & Via Properties spreadsheet page, define Differential Spacing as (a)
in each net class that includes one of these differential pairs.
2. Create separate net classes for each port, and then assign each set of respective
differential pairs into these new net classes (for example, Port_1 and Port_2).
3. Create two clearances rule sets. One for nets within a port (b), and another for nets
between ports (c).
4. From the Clearances spreadsheet page, perform the following tasks:
• For the nets within a port clearance rule set (for example, Within_Port), define Trace
to Trace as (b).
• For the nets between ports clearance rule set (for example, Across_Ports), define
Trace to Trace as (c).
5. Assign the following class-to-class clearances rules:
• Within_Port between net class Port_1 and net class Port_1.
• Within_Port between net class Port_2 and net class Port_2.
• Across_Ports between net class Port_1 and net class Port_2.
Related Topics
• Clearance Rule Set Creation
Procedure
1. From the Z-Axis Clearances spreadsheet page, right-click an existing z-axis clearance
rule set, and then click New.
2. Replace the default name “<user>_New” with a unique name for the clearance rule set.
Spaces are allowed in z-axis clearance rule set names.
Results
The rule set now exists for constraint definition and assignment between net classes.
Related Topics
• Clearance Rule Set Creation
Procedure
From the Z-Axis Clearances spreadsheet page, expand the clearance rule set for which you
want to define clearance rules, and then make your definitions in one of two ways:
• Define clearance rules for all board layers — In the clearance rule set name row,
specify any appropriate clearance rules. Refer to the following example.
• To individually define clearance rules for each board layer, in the appropriate board
layer row, specify any appropriate clearance rules. Refer to the following example.
Note
Z-axis clearance rules are not applied to your design until you create associations
between specific net classes. To do so, refer to “Assigning Z-Axis Class-To-Class
Clearance Rules” on page 194.
Related Topics
• Clearance Rule Set Creation
The clearance area that you define with each Resistor to <object> and EP Mask to <object>
constraint is depicted in the illustration below. As you can see, thick-film resistor clearance is
based on protective-mask/overglaze adjacency. Clearance of thin-film resistors is based on
production-mask adjacency.
Unlike embedded resistors, you do not need to define unique clearance rules for embedded
capacitive components. Standard pad clearance constraints (for example, Trace to Pad, Pad to
Pad, and Pad to Plane) handle their clearance requirements. Examples of embedded capacitive
components are mezzanine, screen-printed, and interdigitated capacitors.
Procedure
Define any of the following embedded resistor clearance rules:
• Thick-film resistor clearance rules — From the Clearances spreadsheet page, define
the following constraints for an entire clearance rule set, or individually for each board
layer of a rule set:
o “Embedded Resistor To Trace” on page 367
o “Embedded Resistor To Pad” on page 368
Note
“Mask” refers to the production mask of a thin-film resistor. It does not mean solder
mask.
Related Topics
• Clearance Rule Set Creation
Procedure
1. From the Clearances spreadsheet page, define the following constraints for an entire
clearance rule set, or individually for each board layer of a rule set:
• “Trace To SMD Pad” on page 359
• “Via To SMD Pad” on page 365
2. From the Z-Axis Clearances spreadsheet page, define the following constraints for an
entire clearance rule set, or individually for each board layer of a rule set:
• “Trace To SMD Pad” on page 381
Related Topics
• Clearance Rule Set Creation
• Class-to-class clearance rules are obeyed between net classes to which you explicitly
assign them. Assignments do not include sub-level net classes. Any child net classes
under a parent net class do not obey the clearance rules of the parent net class.
• When selecting net classes to associate with a clearance rule, you can quickly specify all
other net classes by using the (All) column. Although this can be useful, the (All)
column does not provide for granular rule assignment between a net class and other net
classes.
• Cells that you do not explicitly define (empty cells) use (Default Rule). This assignment
in the matrix is hardcoded into the top-left cell as (All) to (All).
Prerequisites
• You created the clearance rule sets you want to assign between net classes. For more
information, refer to “Creating Clearance Rule Sets” on page 183.
Procedure
1. From the Clearances toolbar, click ; or, from the Edit menu, click Clearances, and
then click Class to Class Clearance Rule.
2. From the Class to Class Clearances dialog box, in the “Net Class to Class Clearance
Rules for Scheme” pulldown, select a scheme.
Tip: Many schemes use the same rule assignments and you can save time by
prepopulating a scheme with the assignments of another scheme. To do so, click .
From the Select source scheme dialog box, click a scheme, and then click OK.
3. Populate cells in any of the following ways:
• One cell at a time — Click within an editable cell to select the rule to use between
two specific net classes (for example, (Default) and (Default)).
• Assign the same rule to multiple cells — Use Ctrl-click and Shift-click to select a
group of cells. After selecting the last cell, continue holding Ctrl or Shift while you
use the dropdown to make the rule selection.
• Clone certain cell assignments of another scheme — Select one or more cells,
right-click, click Clone rules from scheme, and then click a scheme.
• Copy and paste — Select one or more cells, press Ctrl-C, click a single cell, and
then press Ctrl-V. For example, you could select all of the cells in the (All) column
and then quickly copy them into the (Default) column.
As you make changes, the dialog box updates to show them by highlighting the
background of these cells. This makes it easy for you to keep track of all your changes.
The common names for net classes and clearance rule sets is only for the illustrative purposes of
this example, but you may find it useful to group nets into classes based on this style of naming.
Here is a listing of all clearance rule assignments based on the above dialog box example:
• (Default Rule) is the hardcoded assignment between all net classes, (All) and (All). If all
other cells in this picture where empty, (Default) would be the only rule assigned
between every possible pairing of net classes. The middle callout in the above picture is
an example of this. If it is blank, it uses (Default Rule).
• The clearance rule 10th is assigned between the net class 10th and all other net classes.
• The clearance rule 20th is assigned between the net class 20th and all other net classes.
• The clearance rule 30th is assigned between the net class 30th and all other net classes.
• The clearance rule 40th is assigned between the net class 40th and all other net classes.
• The clearance rule 10th is assigned between the net class 20th and itself. This means that
nets within this class can use smaller clearances (based on the definitions in the rule set).
• The clearance rule 20th is assigned between the net class 30th and itself. This means that
nets within this class can use smaller clearances (based on the definitions in the rule set).
• The clearance rule 30th is assigned between the net class 40th and itself. This means that
nets within this class can use smaller clearances (based on the definitions in the rule set).
Related Topics
• Clearance Rule Set Assignment
• Creating Clearance Rule Sets
Procedure
1. From the Clearances toolbar, click ; or, from the Edit menu, click Clearances, and
then click Class to Class Clearance Rule.
2. From the Class to Class Clearances dialog box, in the “Net Class to Class Clearance
Rules for Scheme” pulldown, select a scheme.
3. Do any of the following things:
• Delete a single rule assignment — Click a row, and then press Delete.
• Delete multiple rule assignments — Use Ctrl-click or Shift-click to select multiple
cells, and then press Delete.
• Delete all rule assignments — Click .
Related Topics
• Clearance Rule Set Assignment
Note
When you update your PCB board stackup after already having defined z-axis clearances
in Constraint Manager, the clearance rules will become invalid. You must re-enter them
and assign them again.
When assigning these clearance rules between net classes, you can only create relationships for
the (Master) scheme; however, they are used for all rule areas (rule-area schemes). For example,
when your design includes ten user-created rule-area schemes, assigning a z-axis clearance rule
set between net class A and net class B results in those ten schemes and the (Master) scheme
using the assignment.
The following illustration shows z-axis trace to trace relationships for two net classes. Because
the net classes contain mostly high-speed nets, that by nature are driving fast edge rates, it is
important to specify adjacent layer clearances between their net objects.
Depending on the number of adjacent layers that separate two design objects, z-axis clearance
rules may not be necessary. For this purpose, you can disable these rules when the number of
layers between design objects exceeds a certain amount. For example, after applying a z-axis
clearance rule set named “Fast_Clocks” to net class A and net class B, you specify that the
maximum depth is 5 layers. As a result, Trace to Trace distances between nets in class A and B
will not be obeyed when validating z-axis distances between layers one and seven, two and
nine, and so on.
Note
Class-to-class clearance rules are obeyed between net classes to which you explicitly
assign them. Sub-level net classes are not included in the assignment. Any child net
classes under a parent net class do not obey the clearance rules of the parent net class.
Procedure
1. With the Z-Axis Clearances spreadsheet page active, from the Clearances toolbar, click
; or, from the Edit menu, click Clearances, and then click Z-Axis Class to Class
Clearance Rule.
2. In the grid display under Source Net Class(es), click within an editable cell to select the
rule to use between two specific net classes.
Tip: To simultaneously assign the same rule to multiple cells, use Ctrl-click and Shift-
click to select a group of cells. After you have selected the last cell, you must continue
holding Ctrl or Shift while you make the rule selection.
3. (Optional) To specify a maximum layer depth between design objects:
a. In the cell you just edited, click .
b. From the Setup Z-Axis Clearance dialog box, click the Max layer depth dropdown,
select a maximum value, and then click OK.
To specify a maximum layer depth that includes all layers, from the Max layer depth
dropdown, select 0. It is important to understand, though, that because of the shielding
effects of plane layers, as soon as a plane layer is encountered, all layers after the plane
layer are ignored. For example, when you define a rule for layer one of an eight layer
board and set the depth to 0, a plane layer that exists as layer four would cause the rule to
apply between just layers one and two, and layers one and three.
Example: When specifying a maximum layer depth of 3, nets within classes governed
by the clearance rule are not required to obey it unless they are separated by no more
than three board layers.
4. Continue making rule assignments between net classes.
Rule: Those that you do not explicitly define (empty cells) do not use (Default Z-Axis
Rule).
5. After you finish, click OK.
Related Topics
• Clearance Rule Set Assignment
• Creating Z-Axis Clearance Rule Sets
Procedure
1. With the Z-Axis Clearances spreadsheet page active, from the Clearances toolbar, click
.
2. Click the row of an existing class-to-class clearance rule assignment, and then click the
empty selection, which is the first in the list.
Related Topics
• Clearance Rule Set Assignment
Note
When using xPCB Layout as part of your design flow, unique package types you create in
the Cell Editor of that PCB layout tool will show up in Constraint Manager as part of the
drop-down list of selectable package types. To create a unique package type in xPCB
Layout, you must use the Clearance Type field of the Cell Editor. For more information,
refer to the documentation for xPCB Layout.
Procedure
1. With the Clearances spreadsheet page active, from the Clearances toolbar, click ; or,
from the Edit menu, click Clearances, and then click Assign Package Type
Clearances.
2. From the Package Clearance Type Rules dialog box, to the right of Package type
clearance override rules, click to create a new rule.
3. In the Package Clearance Type cell, click .
4. From the Select Package Type dialog box, select a package type (for example, IC -
BGA), and then click OK.
5. In the Side cell, click to specify board layer side of top, bottom, or both sides.
6. In the Clearance cell, specify the required clearance distance for this package type.
Rule: This clearance defines the required distance between this package type and all
other design objects.
Related Topics
• Package Clearance Rule Assignment
Procedure
1. With the Clearances spreadsheet page active, from the Clearances toolbar, click .
2. From the Package Clearance Type Rules dialog box, under Package type clearance
override rules, click a row, and then click .
Tip: To select multiple rules, use Ctrl-click.
Related Topics
• Package Clearance Rule Assignment
Assigning Package-Type-to-Package-Type
Clearance Rules
In addition to defining package clearance type rules, you can also define package-type-to-
package-type rules. These rules give you the ability to specify directional component clearances
between specific package types for packages on the top, bottom or both layers.
Prerequisites
• You know how package side and end are defined for each of the packages you want to
select in the procedure below. For more information, refer to“Package Side and End
Determination” on page 201.
Procedure
1. With the Clearances spreadsheet page active, from the Clearances toolbar, click .
2. If you have not done so already, create two package clearance type rules to associate
before you continue to step 3. For more information, refer to “Assigning Package
Clearance Type Rules” on page 197.
3. From the Package Clearance Type Rules dialog box, next to “Package type to package
type clearance override rules”, click to create a new rule.
4. In the Pkg Clr Type cell of the new row, click to select the first Package clearance type
override rule you created.
5. In the second Pkg Clr Type cell, click to select the second Package clearance type
override rule you created.
6. In the Side, Direction, and Clearance cells, specify the side, direction, and clearance
distance between package types, and then click OK.
Here are definitions for each direction you can choose:
• All — Top, bottom, left, and right sides of one component type to the top, bottom,
left, and right sides of another component type.
• Side to Side — Left and right sides of one component type to the left and right sides
of another component type.
• End to End — Top and bottom ends of one component type to the top and bottom
ends of another component type.
• Side to End — Left and right sides of one component type to the top and bottom
ends of another component type.
• End to Side — Top and bottom ends of one component type to the left and right
sides of another component type.
Caution
The direction types “Side to End” and “End to Side” are unique only if you define values
for both pairings. If you define a value for one but not the other, the undefined pairing
uses the value you specified for the defined pairing. For example, when you define a
value for “Side to End” but not “End to Side,” “End to Side” uses the “Side to End”
value, too.
Examples
Example of Assigning a Package-Type-to-Package-Type Rule for Both Layer Sides and All
Directions
In this example, you want to assign a package-type-to-package-type rule between Discrete -
Chip components and IC - Flip Chip parts. Each of these package types already has a package
clearance type rule that requires a clearance distance of 50 th between instances of these
components and all other board objects. However, when these components are in the same
vicinity of a board layer, you require a clearance distance of 500 th between them, and for all
directions.
1. With the Clearances spreadsheet page active, from the Clearances toolbar, click .
2. From the Package Clearance Type Rules dialog box, next to Package type to package
type clearance override rules, click .
3. In the first Pkg Clr Type cell of the new row, select Discrete - Chip.
4. In the second Pkg Clr Type cell, select IC - Flip Chip.
5. In the Side cell, select Both, and then in the Direction cell, select All.
6. In the Clearance cell, enter 500. After you finish, the bottom portion of the Package
Clearance Type Rule dialog box should look like the following illustration.
Related Topics
• Package Clearance Rule Assignment
Procedure
1. With the Clearances spreadsheet page active, from the Clearances toolbar, click .
2. From the Package Clearance Type Rules dialog box, under Package type to package
type clearance override rules, click a row, and then click .
Tip: To select multiple package type to package type clearance rules, use Ctrl-click.
Related Topics
• Package Clearance Rule Assignment
How a package cell is oriented in Cell Editor controls what the sides and ends are. The sides are
always on the left and right, and the ends are always top and bottom. Therefore, if you change
the orientation of a cell, the definition changes accordingly. In Figure 6-11, the long sides are
left and right (sides), and the short sides are top and bottom (ends). In Figure 6-7, the orientation
on the right would correspond to the directional clearances above.
Example 6-7. Cell Editor Showing Different Orientations for the Same Package
Cell
You might be wondering why side-to-end and end-to-side are not the same. Although you can
define them as if they are, having the ability to define clearances based on “which side” and
“which end” give you greater flexibility. For example, when the end of an IC-BGA is next to
the side of an IC-SIC, you might want more clearance than when the side of an IC-BGA is next
to the end of an IC-SIC. Commonly, a distinction like this is used to provide a greater or lesser
amount of room depending on adjacency of component pins. Some components have the same
number of pins on sides and ends, while others have pins on just sides or ends. How you define
these clearances can vary greatly based on the unique footprint of each component, and the
clearance relationships you want to create between them.
When defining end-to-side and side-to-end rules, it is important not to define redundant rules.
For each pairing of package types, they only need a single end-to-side rule and one side-to-end
rule for the purpose of defining all clearance requirements. For two example packages A and B,
you would define just one of each set of the following rules, but not both:
Note
When you assign a package-type-to-package-type rule, the package top and bottom
clearances you defined in each package clearance type rule are overridden by the
clearances defined in the package adjacency rule.
Related Topics
• Package Clearance Rule Assignment
3D Clearance Specification
3D clearances are generally the XY axis and Z axis distance requirements of the mechanical
designer. By defining them in Constraint Manager, you can check 3D clearances in your layout
system to ensure that no hazards are identified due to insufficient spacing between mechanical
and assembly objects.
Note
For information on how your layout system uses and checks these 3D clearances, refer to
“Setting Online Checking for Placement” in PCB Verification Guide.
By default, 3D clearances have a general definition that is used for all mechanical and assembly
objects. These default values are an Optimal XY of 10 th and an Optimal Z of 5 th. Minimum
XY and Minimum Z values are not defined by default.
You can define unique definitions for Optimal XY, Optimal Z, Minimum XY, and Minimum Z
to specify smaller or larger clearances between certain pairings of mechanical and assembly
objects. Before defining unique 3D clearances or changing the general definitions, it is
important to understand the difference between the two sets of values:
Figure 6-12 depicts the difference between minimum and optimal values. Based on example
values of 5 th and 10 th, checking in the layout system would result with the following:
constraints do not overlap the definitions of any other clearances that you can define in
Constraint Manager.
Defining 3D Clearances
You can define 3D clearances to specify the XY and Z constraints that should be checked by
your layout system to ensure that there is sufficient spacing between certain pairings of
mechanical and assembly objects.
Note
Minimum XY and Z clearances cannot be larger than Optimal XY and Z clearances. The
same is true in reverse. If you enter a minimum clearance that is greater than the optimal
clearance, or an optimal clearance that is less then the minimum clearance, both
clearances change to the new value. Constraint Manager does this automatically to keep
you from creating conflicts in the constraint set.
Procedure
1. From the Edit menu, click Clearances, and then click 3D Clearances.
2. In the Any to Any row, do the following things:
• Modify the values for Optimal XY and Optimal Z (if needed).
• Specify values for Minimum XY and Minimum Z (if needed).
3. To define unique clearances for a specific 3D object relationship, do the following
things:
a. Click Add Clearance, and then click the appropriate pairing (for example, Bond
Wire to Assembly).
b. In the row of the 3D clearance, change the values for both Optimal XY and Optimal
Z. (These values start out as the current definitions in the Any to Any row). You
must define values for both of the Optimal cells (or leave both blank).
c. If needed, specify values for Minimum XY and Minimum Z. (When defined, these
values start out as the current definitions in the Any to Any row). You must define
values for both of the Minimum cells (or leave both blank).
Note
To reset a 3D clearance to the “Any to Any” values, right-click it, and then click Delete
Clearances. Also, you can use Ctrl-click to highlight multiple rows.
In the example illustration below, most 3D objects use the default clearances, but there are
several that have unique definitions.
Results
The 3D clearances for the design are available for checking in your layout system after you
bring any pending changes into that system.
Related Topics
• 3D Clearance Specification
3D Clearance Descriptions
To access: Edit > Clearances > 3D Clearances
Each 3D clearance defines a distance constraint between two 3D objects. To understand the
relationships that you define with a specific 3D clearance, it is important to have a clear
understanding of each of the 3D objects that are part of a pairing.
Usage Notes
• To make a certain 3D clearance available for definition, click Add Clearance, and then
click the clearance.
• To reset a certain 3D clearance to the “Any to Any” values, right-click it, and then click
Delete Clearances. Also, you can use Ctrl-click to highlight multiple rows.
Related Topics
• 3D Clearance Specification
You define net constraints to characterize electrical and physical requirements for specific nets
that are in a design. You can do so at the net and constraint class level. You define all net
constraints through the Nets spreadsheet page. Some examples of these types of rules are
topology constraints, length rules, and power-supply constraints.
Specifying General Net Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Topology Specification for Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . 210
Net Pin Pair Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Defining Discrete Component Pin Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Length and Delay Rule Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Formula Creation and Error Checking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Constant and Variable Creation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Simulated Delay Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Defining Overshoot and Ringback Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Power-Supply Net and Constraint Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Modifying xDX I/O Designer FPGA Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Defining Constraints for Single-Pin Nets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Tip: To view all constraints instead of only those that are of a specific type, from the
Filters - Groups toolbar dropdown, select All.
Procedure
1. With the Nets spreadsheet page active, from the Filters - Groups toolbar dropdown,
click Net Properties.
Note: These constraints are also displayed as part of the All group, but you may find
it easier to work with general net constraints when the Nets spreadsheet page displays
only them.
2. You can specify these constraints in one of two ways:
• To simultaneously define a constraint for all nets in a constraint class, in the
constraint class name row, enter a value into a constraint field (for example, # Vias
Max), and then press Enter.
Result: Each net in the constraint class is updated with this value.
• To individually define a constraint for a specific net, in the net row, enter a value
into a constraint field.
Related Topics
• Net Constraint Definition
Constraint Manager provides router instruction in the form of from-tos, each of which is
composed of two design or component pins that respectively designate the router to etch from
one pin to another pin.
Note
MST topology type disregards the Stub Length Max constraint. You do not need to define
this constraint when the topology type is MST (Minimum Spanning Tree).
Topology Considerations
You should be aware of certain things before specifying topologies.
Note
Differential pairs are typically used for high-speed signals, so you will want to order and
constrain them as such. The layout system will not order a net that has been defined as
MST or Chained, and can route these types of topologies anyway it needs to complete the
route. For this reason, MST and Chained are not selectable for differential pairs. The only
valid topology types are the remaining ones that force the layout system to order the
route. This is a layout limitation that Constraint Manager enforces.
When you manually define netline ordering, both nets result with the same ordering definition.
Whether in whole or as a starting point, it depends on net similarity:
• In the case of symmetrical nets, after you manually define netline ordering for one net, it
is automatically applied to the other net.
• When you have a differential pair that is comprised of asymmetrical nets, you would
first manually define netline ordering for the net with the most pins. After you complete
that process, the ordering is stored as a temporary constraint template, and you are
presented with the Constraint Template Matching dialog box. Through it you can
modify the ordering as needed for the other net that makes up the differential pair.
Constraint Manager applies this approach with the goal of making the netline ordering process
as efficient as possible. Due to the relative, common characteristics of nets used to create most
differential pairs, a strategy that leverages re-use of manual netline ordering is a natural
solution.
Related Topics
• Topology Specification for Nets and Constraint Classes
When creating a custom topology type for a net, you do so through the process of manual
netline order. For all pre-defined topology types, your layout system performs automatic netline
ordering during routing.
Procedure
1. With the Nets spreadsheet page active, from the Filters - Groups toolbar dropdown,
click Net Properties.
Note: Topology constraints are also displayed as part of the All group, but you may
find it easier to work with topology constraints when the Nets spreadsheet page displays
only them.
Caution
When you change a topology type from Custom or Complex to a pre-defined topology
type, all pin pairs, from-tos, and virtual pins are deleted. When changing between Custom
and Complex topology types, you have the option of preserving pin pairs.
2. In the spreadsheet row of the net or constraint class to which you want to assign a
topology type, click the Topology Type field, and then select a pre-defined topology
type (MST, Chained, TShape, HTree, or Star), Custom, or Complex.
3. In the spreadsheet row of the net or constraint class to which you want to assign a
topology type, click the Topology Type field, and then select a pre-defined topology
type (MST or Chained), or Custom.
Alternative: From the Topology toolbar, click a topology type button to specify a pre-
defined topology type ( , , , , or ), or a custom topology ( ).
Tip: To simultaneously specify a pre-defined topology type for multiple nets, use Ctrl-
click, and then from the Topology toolbar, click a topology type button.
Rule: After you choose Custom or Complex, the next step is to perform netline ordering
to define the custom topology type. When you include pin sets as part of a Custom
topology, it is automatically changed to Complex to indicate the usage of pin sets.
Related Topics
• Topology Specification for Nets and Constraint Classes
• Topology Type
Procedure
1. From the Nets spreadsheet page, click the row of the net for which you want to manually
define netline ordering, and then from the Topology toolbar, click .
Alternative: After you click a net row, from the Edit menu, click Netline Order.
Rule: Before you can define netline ordering for a net, you must set the topology type
constraint to Custom or Complex.
2. From the list of available pins, click a row to select the From pin.
Pin sets: When defining from-tos between pin sets, select pin sets instead of pins in both
the From and To fields. Also, you can select both types of objects.
3. From the list of available pins, click a row to select the To pin.
4. Verify the From pin and To pin fields, and then click .
Note: When the From pin and To pin fields do not contain the correct pins, click to
clear the designation.
Note
As you create from-tos, you may find that not enough source (S) pins or load (L) pins
exist, and you cannot create a valid topology. When this occurs, you must exit the dialog
box and switch to the Parts spreadsheet page. From there, you can change the Topology
Pin Type constraint of one or more relevant component pins, and then start this procedure
over again.
5. Repeat steps 2 through 4 for each from-to you want to create. After you finish, click
OK.
Tip: To automatically create pin pairs from each from-to, enable the “Automatically
create pin pairs from from-tos” checkbox. In the following example, five pin pairs were
created, each matching a from-to.
Related Topics
• Topology Specification for Nets and Constraint Classes
In the event that changing the topology type will result with losses like those listed above,
Constraint Manager notifies you of this fact, and gives you the ability to choose which
Topology Type values to change to the new value, and which to keep with their current value,
therefore preserving the additional definitions that are part of the present topology type. The
procedure below explains the options you have in this case.
Procedure
1. In the event that changing topology type will result with losses, the Net Topology
Change dialog box is presented. From it, select one of the following options:
• Prompt before changing the topology for each net — Prompt individually for
each net to specify whether to keep the current topology type or change to the new
one. As a result, a Yes/No dialog box will appear for each affected net.
• Change the topology type for all nets without prompting — Change the topology
type for all affected nets.
• Disregard the topology change for all nets without prompting — Cancel out of
the change, preserving the existing topology type for all affected nets.
Optional: When changing from Custom to Complex, or Complex to Custom, you can
preserve pin pairs. To do so, activate the following checkbox: Preserve pin pairs not
associated with virtual pins.
2. Verify your selection, and then click OK.
Results
The existing Topology Type value is changed or preserved for one or more nets depending on
your choices.
Related Topics
• Topology Specification for Nets and Constraint Classes
• Topology Type
Prerequisites
• The net's Topology Type must be Custom.
• The net must have gone through netline ordering.
• The net cannot be part of a differential pair.
• Filters > Levels > FromTo must be enabled in order to view spreadsheet rows for from-
tos.
Procedure
1. From the Nets spreadsheet page, in the From To Constraints Layer cell, ensure that the
appropriate board layer has been selected.
2. In the From To Constraints Trace Width cell, enter the override value.
Results
Based on the trace width override you entered, the From To Constraints Z0 constraint is updated
to display the calculated impedance.
Related Topics
• Topology Specification for Nets and Constraint Classes
• From To Constraints Layer
• From To Constraints Trace Width
Procedure
1. From the Nets spreadsheet page, click the row of the net for which you want to create a
pin set, and then from the Topology toolbar, click .
2. From the Netline Order dialog box, click one of the following topology types:
• — T-shape, which automatically balances load branches, though the trunk branch
may not match. T-shape is used exclusively for constructs that include three objects
(pins or pin sets).
• — Chained, which chains all selected pins between the first and last pins you
select. No virtual pins are created for this type of pin set.
• — Minimum spanning tree, which connects selected pins in the best way possible
based on physical location. No virtual pins are created for this type of pin set.
• — Balanced, which requires the distance between the virtual pin and all pins in
the pin set to be equal.
• — Unbalanced, which performs no automatic balancing. This is especially useful
when you want to specify unequal constraints on branches of the pin set.
3. From the listing of available pins and pin sets, click each pin that should comprise the
pin set; then click Finish.
Rule: When defining a T-shape pin set, you can select no more than three pins. For
chained pin sets, make sure that you click the start pin first and the end pin last.
Result: The pin set is added to the listing of Available pins / pin sets. The Pin/Set and
Type columns indicate that a row is a pin set by including the topology type in their text
(for example, CH 1 or Chained). Also, the Set Contents column includes a button.
Examples
Example of a Complex Net Topology
In the following example, a complex net topology is constructed for a net that has nine pins.
This net topology is considered complex because it uses both pin sets and from-tos. This
complex net topology includes a T-shaped pin set, a chained pin set, and an MST pin set. It
connects each of the three pin sets, all of which include just three pins, with two from-tos.
First, here is a visual of the complex net topology that we are going to create. It is important to
note that the standard pins are shown as blue. The virtual pins created for the T-shaped pin set
are shown as green to distinguish them from the preexisting, or standard pins.
Figure 7-2 on page 218 shows what the Netline Ordering dialog box would look like for the
purpose of defining this complex net topology. The steps you would use to create it are listed
after the picture of the dialog box.
To create the above netline ordering, or one that is similar, you would have to use the following
steps:
1. Create a T-shaped pin set (T_1) using pins R3-2, RT1-2, and U1-14.
2. Create a chained pin set (CH_1) using pins U2-14, U3-14, and U4-20.
3. Create an MST pin set (MST_1) using pins U5-14, U6-1, and U7-8.
4. Connect pin sets T_1 and CH_1 by creating a from-to between pins RT1-2 and U2-14.
5. Connect pin sets T_1 and MST_1 by creating a from-to between pins U1-14 and U5-14.
Related Topics
• Advanced Topology Creation
Procedure
1. From the Nets spreadsheet page, click the row of the net for which you want to do this.
2. From the Topology toolbar, click .
3. From the Netline Order dialog box, in the row of a pin set, click .
4. From the Pin Set Order dialog box, click a pin to move, and then click or .
5. Repeat step 2 for each pin for which you want to change its order; then click Apply.
Related Topics
• Advanced Topology Creation
Procedure
1. From the Nets spreadsheet page, click the row of the net for which you want to do this.
2. From the Topology toolbar, click .
3. From the Netline Order dialog box, you can do this in one of the following ways:
• Click the row of an individual pin set, and then click .
• To delete all pin sets, click .
Related Topics
• Advanced Topology Creation
Note
You can define pin pairs for nets that are of topology type TShape , HTree , Star ,
Custom , or Complex. You cannot define pin pairs for nets that are of topology type
Chained or MST .
Tip: After you define specific pairs of pins, the Constraint Manager spreadsheet column
referring to a pin pair designation is preceded with a icon. Be careful not to confuse
this icon with the resultant icon of non-graphical netline ordering ( ), which you use to
create from-to relationships.
You can define pin pairs manually, semi-automatically, and automatically for each net. When
automating the pin pair definition process for one or more nets, you should always verify the
accuracy of the pin pair definitions that Constraint Manager produces. When a specific pin pair
definition is not appropriate, you can instead manually define a pin pair.
The following illustration depicts the physical difference between an external (that is, standard)
pin pair and an internal EBD pin pair.
As you can see, the physical length of the connection between pin pairs is longer for EBD pin
pairs because internal component connections are included in addition to the trace segment
between external pins. After you create an EBD pin pair, you can specify delay and simulated
delay (signal edge rate) constraints.
Related Topics
• Net Pin Pair Creation
Procedure
From the Nets spreadsheet page, click a net row, and then from the Pairs toolbar, click .
Alternative: After you click a net row, from the Edit menu, click Pin Pairs, and then click
Auto Pin Pair Generation.
Related Topics
• Net Pin Pair Creation
Procedure
From the Nets spreadsheet page, right-click a net row, and then click Auto Source-Load Pin
Pair Generation.
Alternative: After you click a net row, from the Edit menu, click Pin Pairs, and then click
Auto Source-Load Pin Pair Generation.
Related Topics
• Net Pin Pair Creation
Procedure
1. From the Nets spreadsheet page, click a net row. From the Edit menu, click Pin Pairs,
and then click Add Pin Pairs.
2. From the Define Pin Pairs dialog box, click to create a new pin pair relationship.
3. Click the Start Pin field, and then select a pin.
4. Click .
Result: Constraint Manager fills the End Pin field.
5. Repeat steps 2 through 4 for each pin pair you want to semi-automatically define.
6. After you finish defining pin pairs, click OK.
Related Topics
• Net Pin Pair Creation
Procedure
1. From the Nets spreadsheet page, click a net row. From the Edit menu, click Pin Pairs,
and then click Add Pin Pairs.
2. From the Define Pin Pairs dialog box, click to create a new pin pair relationship.
Optional: To make any internal EBD pins available for pin-pair definition, click .
3. Click the Start Pin field, and then select a pin.
4. Click the End Pin field, and then select a pin.
Tip: To automatically create a pin pair, click instead of selecting the End Pin.
5. Repeat steps 2 through 4 for each pin pair you want to manually define.
6. After you finish defining pin pairs, click OK.
Related Topics
• Net Pin Pair Creation
Procedure
1. From the Nets spreadsheet page, click a net row.
2. From the Edit menu, click Pin Pairs, and then click Add Pin Pairs.
3. From the Add Pin Pairs dialog box, click to select one or more pin pairs, and then click
.
4. After you finish deleting pin pairs, click OK.
Related Topics
• Net Pin Pair Creation
Note
If using automatic SIP pin pair generation for components with an odd number of pins
(for example, 9 or 15), “1” is used as the start pin for each pin pair. Refer to Figure 7-5
for an example.
Prerequisites
• You must add the reference designator prefix your design uses for resistor packs (for
example, RP, RN, or both) to your settings for discrete component prefixes. To do so:
a. From the Setup menu, click Settings.
b. From the Settings dialog box, under Design Preferences, click Discrete
Component Prefixes.
c. In the Resistor cell, add your additional reference designators, and then click OK.
For example, when both RP and RN are used as reference designators for resistor
packs, and R is the one used for resistors, this cell will now contain all three (for
example: R, RN, RP).
• The component must have more than two pins.
Procedure
1. From the Parts spreadsheet page, right-click a top-level discrete part that begins with
the reference designator prefix you added above (for example, RN), and then click
Create Component Pin Pairs.
2. From the Define Discrete Pin Pairs dialog box, do one of the following things:
• To define pin pairs manually, click , and then click within the Start Pin and End
Pin cells to select each pin. Repeat this step until you create all pin pairs.
Tip: To delete a pin pair, click its row, and then click .
• To define pin pairs automatically, click or to create dual-inline (DIP) or single-
inline (SIP) pin pairings.
3. After you finish defining discrete pin pairs, click OK.
Examples
Example of Automatic DIP Pin Pair Generation
In this example, pin pairing for a dual-inline component is shown. In this case, automatic
generation results with low and high pins being paired (1 and 16, 2 and 15, and so on).
Example of Automatic SIP Pin Pair Generation for Components With an Even Number of
Pins
In this example, pin pairing for a single-inline component with an even number of pins is
shown. In this case, automatic generation results with pins being paired in sequence (1 and 2, 3
and 4, and so on).
Figure 7-4. Automatic SIP Pin Pair Generation (Even Pin Number)
Example of Automatic SIP Pin Pair Generation for Components With an Odd Number of
Pins
In this example, pin pairing for a single-inline component with an odd number of pins is shown.
In this case, automatic generation results with all pins being paired with the first pin (1 and 2, 1
and 3, and so on).
Figure 7-5. Automatic SIP Pin Pair Generation (Odd Pin Number)
As you can see, the automatic DIP pin-pairing button ( ) is unavailable because the component
has an odd number of pins.
Related Topics
• Net Constraint Definition
Note
When specifying these rules, you can use both types within Constraint Manager;
however, depending on your design requirements, you might use a single type
exclusively.
Procedure
1. With the Nets spreadsheet page active, from the Filters - Groups toolbar dropdown,
click Delays and Lengths.
Note: These constraints are also displayed as part of the All group, but you may find
it easier to work with delay constraints when the Nets spreadsheet page displays only
them.
2. In the row of the net for which you want to specify rules, use the available constraint
fields to define values based on length or time of flight. Here is a length example.
Note: When you want to include the length or time of flight of vias that are part of a net,
you can express those inclusions by entering larger values that approximate the
appropriate increases to the overall length or time. Based on the above example, you
might instead use 150 for Min and 350 for Max.
Examples
Example of Specifying a Length Rule for a Net Pin Pair
1. In the Type field of the pin pair for which you want to specify a length rule, click, and
then select Length.
2. In the Min field, enter a value for the minimum acceptable trace length between pins.
3. In the Max field, enter a value for the maximum acceptable trace length between pins.
Example: In the illustration below, the user chose a minimum value of 1000 th, and a
maximum value of 1500 th. Notice that this pin pair delay rule is a single instance that
does not have a match relationship or match tolerance associated with it.
Related Topics
• Length and Delay Rule Definition
• The layer stackup must have at least one plane layer (ground or voltage).
• The dielectric layers must have a valid thickness (greater than 0) and a valid dielectric
constant (greater than or equal to 1).
• The signal and plane layers must have a valid thickness (greater than 0).
Related Topics
• Length and Delay Rule Definition
Child-level constraint classes within a parent constraint class use the defined tolerance of the
parent constraint class by default; however, you can define a tighter tolerance at the child-class
level. In the event that you want to specify a tighter tolerance at the net level, you can do so by
defining a match relationship and then specifying a tolerance for the matched group of nets. To
do so, refer to “Matching Delay or Length Rules Among Nets” on page 231.
Related Topics
• Length and Delay Rule Definition
Procedure
In the Length or TOF Delay Max field, enter a value of 1 or more, and follow it with a
percentage symbol (%).
Example: To use a length that is 120% of the Manhattan length, enter 20%. To use a length that
is 500% of Manhattan length, enter 400%. To specify a length as close as possible to the
Manhattan length, enter 1%. This is depicted below.
Related Topics
• Length and Delay Rule Definition
• Match group identifiers that include multiple characters must begin with an alphabetical
character. After which, you can use any combination of alphabetical and numerical
characters, and underscores.
• A single match group can contain any combination of electrical nets, physical nets, and
pin pairs.
• When you do not set a tolerance for the matched group, the default tolerances for the
design are used. For information about how to review or set these values, refer to
“Specifying Design Configuration Preferences” on page 68.
Procedure
1. In the Match field of an electrical net, physical net, or pin pair row, enter a match
identifier (for example, 1, a2, or b_3).
2. (Optional) In the tolerance (“Tol”) field, specify a tolerance (that is, length or delay
range that design objects must be within).
Example: To specify a tolerance of 100 th, type 100, and then press Enter. All design
objects that use this match relationship must be within 100 th of each other.
3. For each net for which you want to match this delay rule, in the Match field of each row,
type the match identifier (for example, 1, a2, or b_3) you specified in step 1, and then
press Enter.
Examples
Example of Specifying a Matched Time of Flight Delay for Several Pin Pairs
Use these steps:
1. In the Type field of the pin pair for which you want to specify a time of flight delay rule,
click, and then select TOF.
2. In the Min field, enter a value for the minimum acceptable time of flight between pins.
3. In the Max field, enter a value for the maximum acceptable time of flight between pins.
4. In the Match field, enter an alphanumeric identifier for this time of flight delay rule.
Optional: Enter a tolerance value.
5. In the Match field of the net pin pairs for which you want to use this time of flight delay
rule, type the match identifier you chose in step 4.
Example: In the illustration below, the user chose a minimum acceptable value of 40 ns,
and a maximum acceptable value of 80 ns. The match identifier is set_a and has a
tolerance value of 5 ns. The user assigned this time of flight delay rule to the three net
pin pairs below it by entering set_a in each Match field. This match relationship means
that each of the four pin pairs must have a time of flight between 40 ns and 80 ns, and
their respective values must be within 5 ns of each other (for example, 60 ns, 61 ns, 63
ns, and 64 ns).
Related Topics
• Length and Delay Rule Definition
• Net Pin Pair Creation
Furthermore, when you have parent constraint classes that include child constraint classes, or
even more extensive hierarchy, you can define a tolerance at each level. For example, at the
parent constraint class level, you might define a tolerance of 50 th, while at a child constraint
class level a tolerance of 25 th.
Matching length or delay tolerance at the constraint class level does not limit you from creating
tolerance matches among specific nets. This is regardless of whether the nets are part of the
same constraint class. For example, after matching delay tolerance within a constraint class to
100 th, you can then create a match group with a tighter tolerance (for example, 50 th), and
associate a subset of nets within the constraint class with the match group. You can also
associate nets that do not belong to the constraint class with the match group.
Prerequisites
• You must have one or more constraint classes and nets assigned to constraint classes.
Procedure
1. From the Nets spreadsheet page, in the Length or TOF Delay tolerance (“Tol”) cell of
the constraint class of interest, enter a tolerance value.
Note: Length or TOF Delay tolerance (“Tol”) cells are always editable for constraint
classes. Unlike net rows, you do not need to define a value in a Match cell in order to
make a tolerance (“Tol”) cell accessible.
2. (Optional) If there are child constraint classes for which you want to define tighter
tolerances, enter a value in the associated Length or TOF Delay tolerance (“Tol”) cell.
The tolerance value for a child constraint class must be smaller than that of the parent or
child constraint class above it.
Examples
Simple Example of Matching Length Tolerance by Constraint Class
In this example, all nets within a constraint class are specified to be matched to within 100 th of
each other. To provide tighter tolerance for a subset of nets, two match groups are created. One
requires ADDRESS0 and ADDRESS1 to be matched to within 75 th. The other requires PCS0
and PCS1 to be matched to within 50 th. The four other nets in the class respect the matching
requirement defined at the constraint class level.
Related Topics
• Length and Delay Rule Definition
Procedure
1. From the Nets spreadsheet page, in the Formulas Formula cell of the net, pin pair, or
differential pair for which you want to define a formula, construct a formula using
available constants, variables, and accepted operators (=, >, <, +, -).
Note
All formulas must begin with one of the following operators: =, <, or >. When an
operator is missing, Constraint Manager precedes the formula with the “=” operator when
it solves the formula. The “=” operator is not visibly added to the content of the Formulas
Formula cell.
Note: Constraint Manager distinguishes between electrical and physical nets that you
include in formulas by encasing them with bracket symbols or pipe symbols (for
example, {\<electrical net name\} or |\<physical net name>\|).
Note: When including virtual pins, they must appear in the form \VP#\-\VP#\. For
example, to include virtual pin number 12, enter the following: \VP12\-\VP12\
Related Topics
• Formula Creation and Error Checking
Procedure
At the end of the formula, enter +/-, the tolerance, and then the unit of measure.
Example: =2000th+/-100th specifies that the length can be between 1900th and 2100th.
Note
When you do not include a tolerance, the default tolerances for the design are used. For
information about how to review or set these values, refer to “Specifying Design
Configuration Preferences” on page 68.
Related Topics
• Formula Creation and Error Checking
Tolerance Limitations
When you specify very small tolerances, it is important for these values to be no smaller than
0.012 th or 0.002 ps. Using tolerance values below these limitations can cause errors to occur
while Constraint Manager solves a formula. Tolerance limitations are a general rule, but there
are exceptions.
For example, in a net that is part of a match group, the tolerance limitation may need to be
divided by the number of netlines, effectively making the smallest possible tolerance much
larger (for example, 0.048 th).
Note
Formula errors associated with tolerances below the limitations do not affect tuning. The
layout system will always tune based on the provided tolerance. For example, entering a
tolerance of 0.01 th will cause Constraint Manager to report a formula error, but layout
tuning will use the tolerance.
Related Topics
• Formula Creation and Error Checking
Note
When entering multiple formulas, the net, pin pair, or differential pair name must
immediately follow the # symbol. When you type the # symbol, Constraint Manager
automatically adds the name. In the event that it does not, to quickly and accurately add
an object name to a formula, click its name cell.
Related Topics
• Formula Creation and Error Checking
During the checking process, Constraint Manager attempts to compute net and pin pair delay
values for each formula. When it is finished, you are notified of any formulas that contain errors
through a log file. In addition, the tool highlights Formulas Violation cells that contain
erroneous results to make them easier to find.
Note
Variables that you do not explicitly define through the Constants and Variables List
dialog box do not generate errors during this process. For this reason, it is important to
ensure that your formulas include the variables that you intend to use.
Procedure
With Nets spreadsheet page active, from the Pairs toolbar, click ; or, from the Data menu,
click Solve All Formulas.
Related Topics
• Formula Creation and Error Checking
• Formulas Formula
• Formulas Violation
1. Create two variables. One for within bus (for example, withinbus) matching and the
other for between bus (for example, betweenbusses) matching.
2. In the Formulas Formula cell of the first pin pair, enter =withinbus+/-1.27mm#<pin pair
name>=betweenbusses+/-12.7mm
Rule: Constraint Manager automatically adds the pin pair name after you press #.
Example: When the pair name is C1\-\1\@\C1\-\5\, the formula would be =withinbus+/-
1.27mm#C1\-\1\@\C1\-\5\=betweenbusses+/-12.7mm
3. For the seven remaining pin pairs, enter or copy this formula in the Formulas Formula
cell.
4. For each external pin pair that you want to match between the pin pairs of this bus,
include =betweenbusses+/-12.7mm in the Formulas Formula cell.
Example: When a pin pair already includes its own length formula (for example,
>50mm), append it to the end (>50mm#<pin pair name>=betweenbusses+/-12.7mm).
This formula requires that the pin pair length be greater than 50 millimeters AND match
the betweenbusses value calculated during routing. The tolerance of the final value can
be +/- 12.7 millimeters. Here is a depiction of this formula in the cell.
Example of a Formula Where the Sum of Two Net Lengths Must be Less
Than a Certain Distance
In this example, you need the cumulative length of two nets to be less than 5000 th. The two
nets are B1 and B2.
1. In Formulas Formula cell for net B1, type the following: < 5000th -
2. Click net B2. Doing so adds this net to the Formulas Formula cell for net B1, resulting
with the following, completed definition: < 5000th -{\B2\}
Related Topics
• Formula Creation and Error Checking
Procedure
1. With the Nets spreadsheet page active, from the Edit menu, click Constants and
Variables, and then click Edit.
2. From the Constants and Variables List dialog box, make sure that the tab that
corresponds to the data type you want to create is selected (Constants or Variables), and
then click .
3. In the Name field, enter a name for the new constant or variable.
Rule: Constant and variable names can contain alphabetic characters (a - z) and
numerals (0 - 9). They cannot contain only numerical characters.
4. When defining a constant, in the Value field, enter a value for the new constant.
In the example, three variables have been created. As you can see, variables do not have
assigned values.
Related Topics
• Constant and Variable Creation
Procedure
1. With the Nets spreadsheet page active, from the Edit menu, click Constants and
Variables, and then click Edit.
2. From the Constants and Variables List dialog box, use the tabs at the bottom to view
available constants or variables.
3. Click the constant or variable row you want to delete, and then click .
Tip: To select multiple constants or variables, use Ctrl-Click.
In the example below, const_a and const_c are selected for deletion.
Related Topics
• Constant and Variable Creation
Procedure
1. With the Nets spreadsheet page active, from the Edit menu, click Constants and
Variables, and then click Find Variables Reference.
2. From the Variables Reference dialog box, perform one of the following tasks:
• To expand or collapse the listing of nets or pin pairs for a variable, click the +/-
button.
• To select a net or pin pair within the Constraint Manager spreadsheet, double-click a
specific net or pin pair.
Related Topics
• Constant and Variable Creation
The signal states you define with these rules are formally referred to as the edge rates of a
signal, which are the following types:
• Rising edge — The amount of time it takes the signal to switch between low and high
signal states (off to on).
• Falling edge — The amount of time it takes the signal to switch between high and low
signal states (on to off).
Procedure
1. With the Nets spreadsheet page active, from the Filters - Groups toolbar dropdown,
click Simulated Delays.
Note: These constraints are also displayed as part of the All group, but you may find
it easier to work with simulated delay constraints when the Nets spreadsheet page
displays only them.
2. In the row of the net or constraint class for which you want to specify simulated delay
rules, click within the Simulated Delay Edge cell and select the signal edge to constrain.
3. In the Simulated Delay Min and Simulated Delay Max cells, enter the target minimum
and maximum delays.
Rule: When the Simulated Delay Edge is set to Rise:Fall, enter unique minimum and
maximum delays by separating them with a colon (:).
4. (Optional) To specify a maximum range between Simulated Delay Min and Simulated
Delay Max, in the Simulated Delay Max Range cell, enter a value.
Note: Specify unique Rise:Fall values with a colon (for example, 20:30). In the example
below, unique rise and fall values are being used.
Figure 7-10. Unique Rise and Fall Values for Simulated Delay Constraints
Related Topics
• Simulated Delay Specification
Related Topics
• Simulated Delay Specification
Procedure
1. From the Nets spreadsheet page, in the row of the net, differential pair, pin pair, or
constraint class for which you want to match simulated delay values, in its Simulated
Delay Match To cell, click to select the hierarchical level to which to match.
2. In the Simulated Delay Match cell, click .
3. From the Simulated Delay Match dialog box, click an appropriate hierarchical object,
and then click OK.
Result: The Simulated Delay Match cell now displays this design object, and the
Simulated Delay Offset and tolerance (“Tol”) constraints are accessible.
4. (Optional) Specify an offset and/or tolerance.
Examples
Example of Matching Simulated Delay Between Two Nets Without Defining Specific Delay
Values
In this example, you want to match both the rising and falling edges of two electrical nets, but
you are not interested in specifying appropriate minimum and maximum delay values, or the
maximum range between these values. Your concern is that the signal edges of these nets match
within a certain tolerance. The specific delay values are not of concern.
1. From the Nets spreadsheet page, in the row of the electrical net you want the other net to
match, click within the Simulated Delay Edge cell, and then click Both.
2. Make sure that the Simulated Delay Min, Max, and Max Range cells are empty.
3. In the row of the electrical net you want to match to another net, in the Simulated Delay
Match To cell, click to select Net.
4. In the Simulated Delay Match cell, click .
5. From the Simulated Delay Match dialog box, click the electrical net you used in step 1,
and then click OK.
6. In the Simulated Delay tolerance (“Tol”) cell that is now accessible, enter a tolerance.
Example: In the illustration below, electrical nets ADDRESS1 and ADDRESS2 are
matched. ADDRESS2 includes a tolerance of +/-10.
Related Topics
• Simulated Delay Specification
The four overshoot constraints define the high point, low point, extreme high point, and extreme
low point voltage thresholds that the specific logic components (for example, microprocessors)
of a net can handle. Unlike logic thresholds, which dictate the voltage levels needed to switch a
component between logic states, voltage thresholds are maximums and minimums that must be
adhered to in order to maintain operability. Because of the small size and delicate nature of
electronic components, too little or too much voltage can cause irreversible damage, rendering
them useless.
In the illustration below, you can see that logic thresholds are between the overshoot thresholds,
with dynamic thresholds encapsulating both logic and static thresholds.
Ringback constraints, which are not depicted in the above illustration, give you the ability to
define the amount of ringback voltage a net can sustain while in its logic high or logic low state.
Too much ringback, also called feedback, can cause a component to haphazardly switch
between logic states. This is why it is important to define the maximum acceptable amount of
ringback energy individually for each logic state.
Note
Overshoot constraints must be rail-relative (rr) where rr = VLmin – abs for low and rr =
abs – VHmax for high.
Procedure
1. With the Nets spreadsheet page active, from the Filters - Groups toolbar dropdown,
click Overshoot/Ringback.
Note: These constraints are also displayed as part of the All group, but you may find
it easier to work with simulated delay constraints when the Nets spreadsheet page
displays only them.
2. Navigate to the row of the net or constraint class for which you want to specify
overshoot and ringback constraints.
3. In the Static Low Overshoot Max and Static High Overshoot Max cells, enter minimum
and maximum operating voltages.
4. (Optional) In the Dynamic Low Overshoot Max and Dynamic High Overshoot Max
cells, enter a lower minimum and higher maximum operating voltage (from the static
values you entered in the previous step), followed by a : character and the duration of
time each voltage can be sustained before Constraint Manager should report an error.
Example: To define a Dynamic High Overshoot Max constraint of 6 volts for 3
nanoseconds, enter 6:3.
5. In the Ringback High Min and Ringback Low Min cells, enter the maximum amount of
ringback voltage that is acceptable for high and low signal states.
6. In the Non-Monotonic Edge cell, use the dropdown to specify whether transitions
between signal states must be non-monotonic for the rising edge, falling edge, or both
edges.
In the example below, ringback values have been defined, and both the rising and falling edges
must be non-monotonic.
Examples
Example of Defining Dynamic Overshoot Constraints With a 5 ns Limit
In this example, you have already assigned static overshoot constraints to a net. Static Low
Overshoot Max is set to .5, and Static High Overshoot Max is set to 5. Now, you want to define
the net's dynamic overshoot constraints and apply a duration of 5 nanoseconds to both Dynamic
Low Overshoot Max and Dynamic High Overshoot Max. The 5 ns value means that Constraint
Manager will not report an error as long as the overshoot value is not met or exceeded for a
continuous time-period greater than 5 ns. The dynamic overshoot constraints you will define
here are 1 and 5.5.
1. In the Dynamic Low Overshoot Max cell, enter 1:5, and then press Enter.
2. In the Dynamic High Overshoot Max cell, enter 5.5:5, and then press Enter.
Result: The net now has a fully-defined set of static and dynamic overshoot constraints.
In the illustration below, you can see that both dynamic overshoot constraints are
applicable for a duration of no more than 5 ns.
Related Topics
• Net Constraint Definition
Note
If you mistakenly specify that a net is a power-supply net, you can easily set it back to be
a net.
• VCC
• VDD
• VEE
• VSS
As such, it automatically enables the Power Net constraint for any nets that match these names.
To set any other nets to power nets in the tool, you must do so explicitly.
Related Topics
• Power-Supply Net and Constraint Definition
Procedure
1. From the Edit menu, click Power Nets, and then click Auto Create Power Nets.
2. From the Auto Create Power Nets dialog box, in the Net Name field, enter a search
string to use to find similar net names (for example, ENABLE?).
3. In the # Pins Threshold field, specify the minimum number of pins the nets must contain
(for example, 7).
4. Click . If any nets match your criteria, the Proposed power nets list displays them, and
they are automatically selected. In the example below, two nets were found.
Note
This dialog box works in an additive manner, which means that you can enter a new
search criteria, click , and any new matches are added to the existing list of results.You
can do this as many times as needed. In the example below, the Net Name field was
changed to “ADDR*”.
Tip: To start over and clear the entire list of Proposed power nets, click .
5. Of the nets in the list of Proposed power nets, make sure that only the checkboxes of the
nets that you want to become power nets are selected. To select all proposed power nets,
click . To unselect them all, click .
6. Verify that your selections are correct, and then click OK.
Results
You can now define power-supply constraints for these nets. The Power Net constraint and
constraint for each net is now set to enabled.
Related Topics
• Power-Supply Net and Constraint Definition
Prerequisites
• When you intend to do this from the Navigator, electrical nets must be visible. (Right-
click Constraint Classes, and then enable Show > Electrical Nets.)
Note
When using the Navigator to change a net to a power-supply net, it is recommended that
you have the display of power nets enabled in the Navigator. Otherwise, nets will seem to
disappear from the Navigator when you change them to power nets.
Procedure
You can do this in the following ways:
Results
You can now define power-supply constraints for one or more nets. The Power Net constraint
and constraint for each net is now set to enabled.
Related Topics
• Power-Supply Net and Constraint Definition
Prerequisites
• The Power Net constraint of the nets for which you want to define these constraints must
be enabled. For more information, refer to “Power Net” on page 385.
Procedure
1. With the Nets spreadsheet page active, click the Filters - Groups toolbar dropdown, and
then click Power Nets to reduce the display to just these constraints.
2. In the row of the power-supply net for which you want to define these constraints, enter
or modify values for the following constraints:
• “Power Net Constraints Supply Voltage” on page 448 — Defines the operating
voltage for a power-supply net. You can define Power Net Constraints Supply
Voltage individually for each power-supply net.
• “Power Net Constraints Max Voltage Drop” on page 449 — Defines the
maximum acceptable decrease in voltage from Power Net Constraints Supply
Voltage. You can define Power Net Constraints Max Voltage Drop individually for
each power-supply net or for all power-supply nets in a constraint class.
• “Power Net Constraints Max Current Density” on page 450 — Defines the
maximum acceptable current that can flow across a power-supply net structure (such
as an area fill or trace). You can define Power Net Constraints Max Current Density
individually for each power-supply net or for all power-supply nets in a constraint
class.
• “Power Net Constraints Max Via Current” on page 451 — Defines the maximum
acceptable current for vias connected to power-supply nets. You can define Power
Net Constraints Max Via Current individually for each power-supply net or for all
power-supply nets in a constraint class.
Results
When you use HyperLynx PI to analyze these nets, their power-supply constraints are included
in the analysis.
Related Topics
• Power-Supply Net and Constraint Definition
Prerequisites
• When you intend to do this from the Navigator, power-supply nets must be visible.
(Right-click Constraint Classes, and then enable Show > Power Nets.)
Note
When using the Navigator to change a power-supply net back into a net, it is
recommended that you have the display of electrical nets enabled in the Navigator.
Otherwise, nets will seem to disappear from the Navigator when you change them back
into nets.
Procedure
You can change a single power-supply net into a net in the following ways:
• From the Nets spreadsheet page, right-click the name of a net, and then click Change
Power Net to Net.
• From the Nets spreadsheet page, clear its Power Net constraint.
• From the Navigator, right-click a net, and then click Change Power Net to Net.
Results
The power-supply net is now a net. Any power-supply constraints that were defined for the net
are removed.
Related Topics
• Power-Supply Net and Constraint Definition
When you want to update these constraints across your entire design flow, you can do so with
standard forward-annotation processes. For more information about these constraints, refer to
the following constraint reference topics:
Procedure
1. With the Nets spreadsheet page active, from the Filters - Groups toolbar dropdown,
click I/O.
Note: Because most xDX I/O Designer constraints are defined by pin or pin pairs, make
sure that Filters > Levels > Pins and Pin Pairs are enabled.
2. In the row of the net, constraint class, pin, or pin pair for which you want to modify an
xDX I/O Designer constraint, select or enter a value.
In the following example, the I/O Standard constraint has been set to SMBUS for net
OUTPUT1.
Related Topics
• Net Constraint Definition
Prerequisites
• To give your layout system the ability to produce single-pin nets, from its Project
Integration dialog box, click to enable the following check box: Assign single pin nets to
unused pins, enabling fanout.
Note: After you enable this checkbox, you must run forward annotation before the net
“(Net0)-1:X” will be visible in any Constraint Manager sessions, those launched from
your front-end or back-end design system.
• Your design must contain at least one single-pin net.
Procedure
1. From the Nets spreadsheet page, locate the following net row: (Net0)-1:X
2. Modify the subset of constraint cells that are available to (Net0)-1:X for definition.
Available constraints are modifiable, and not displayed as blank or read-only.
In the example illustration below, the “(Net0)-1:X” row has been enabled. It is part of
the (All) constraint class.
Results
The constraint changes you have made to (Net0)-1:X now apply to the entire grouping of
single-pin nets.
Related Topics
• Net Constraint Definition
This section provides information about creating parallelism rules and crosstalk rules. Although
you can use both in a design, you might decide that one type of rule is more appropriate.
Density and complexity are two factors that can affect whether you need to use one type of rule
or both.
Overview of Parallelism and Crosstalk Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Defining Parallelism Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Assigning Parallelism Rules to Nets and Constraint Classes. . . . . . . . . . . . . . . . . . . . . . 264
Navigating to Assigned Parallelism Rules From the Nets Page. . . . . . . . . . . . . . . . . . . . 267
Defining Crosstalk Rules for Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . 267
• Crosstalk rules — Give you the ability to specify the maximum amount of acceptable
interference energy (mV) for specific nets and constraint classes. Accordingly, the
hazard system displays violations that it encounters. Each crosstalk rule that you create
consists of two nets or constraint classes. The first object is the victim, and the second
object is the aggressor.
• Parallelism rules — Give you the ability to define pairings of net properties that
specify acceptable distances and parallelism run lengths between specific nets and net
classes. When Hazards identifies a distance/length pairing that has been breached, you
can have it resolve such violations through use of the Resolve button for the set of
hazards. For same layer parallelism rules, the router uses these rules to avoid creating
violations when running a Tune Crosstalk pass. The router does not use parallelism rules
with the Route pass or No Via Bias pass.
Note
If both are defined for a net, parallelism rules take precedence over crosstalk values.
Constraint Manager obeys parallelism rules between nets and classes based on the following
hierarchy:
1. Net to net
2. Net to (All Nets)
3. Class to class
4. Class to (All Classes)
Related Topics
• Parallelism and Crosstalk Rule Creation
• Segments with an edge-to-edge spacing of 10 th can run parallel for no more than 100
th.
• Segments with an edge-to-edge spacing of 100 th can run parallel for no more than
1,000 th.
• Segments with an edge-to-edge spacing of 1,000 th can run parallel for no more than
10,000 th.
The above example illustration shows what this looks like in the tool. Because the layout system
interpolates the available parallelism rules to account for undefined Edge / Edge values, you can
define rules as broadly or narrowly as you require.
Note
Interpolation of these rules means that the layout system mathematically determines an
appropriate Max Parallel Len value for an undefined Edge/ Edge value that falls between
two defined Edge / Edge values. Using interpolation based on the above example rules, an
Edge Edge value of 50 th produces a Max Parallel Len requirement of 500 th.
Prerequisites
• You should have an understanding of when to use parallelism and crosstalk rules. For
more information, refer to “Overview of Parallelism and Crosstalk Rules” on page 261.
Procedure
1. With the Noise Rules spreadsheet page active, from the Pairs toolbar, click .
Alternative: From the Edit menu, click Parallelism Rules, and then click Define
Parallelism Rules.
2. From the Define Parallelism Rules dialog box, next to the Parallelism rules heading,
click , and then change the default name of the new rule (“New”) to a meaningful title.
Tip: Instead of creating a new rule, you can also use an existing parallelism rule as a
clone and then modify it to meet the needs of the unique rule. To do so, in the list of
existing parallelism rules, click one, and then click .
3. Define an edge-to-edge spacing and maximum length combination for each same layer
rule or adjacent layer segment rule you want this parallelism rule set to include by
performing one of the following tasks:
• To define a same layer segment rule, next to the Same layer segments heading, click
, and then enter an Edge / Edge value and a Max Parallel Len value.
• To define an adjacent layer segment rule, next to the Adjacent layer segments
heading, click , and then enter an Edge / Edge value and a Max Parallel Len value.
Tip: You can also create adjacent layer segment rules by cloning same layer segment
rules. To do so, next to Adjacent layer segments, click . When cloning, all rules are
recreated. You can remove rules that are not needed by clicking a row, and then clicking
.
4. After you finish entering edge-to-edge and maximum parallel length combinations, click
Apply.
Rule: The maximum length value associated with an edge-to-edge value can not be
greater than the maximum length value associated with a larger edge-to-edge value. For
example, after you define an edge-to-edge and maximum length combination of 10 th
and 1200 th, an edge-to-edge value of 8 th must be accompanied by a maximum length
value that is less than the maximum length value of the previous set (that is, 1200 th).
Note: When you enter incorrect values, the cell background is changed to red and the
data in the cell is not saved until you correct the value.
Related Topics
• Parallelism and Crosstalk Rule Creation
In the above example illustration, the noise rule Bus1 assigns parallelism rule PR1 between all
nets in the Memory constraint class.
Procedure
1. With the Noise Rules spreadsheet page active, from the Pairs toolbar, click .
Alternative: From the Noise Rules spreadsheet page, click , and then modify the
Noise Type, Constraint Class or Electrical Net Name Victim and Aggressor, and
Parallelism Rule fields using the appropriate field selector. For example, because Class-
Class is the default parallelism type, when assigning a net-to-net parallelism rule, click
to change this field to Net-Net. When assigning parallelism rules using the Assign
Parallelism Rules dialog box, you can access it from the Edit menu by clicking
Parallelism Rules, and then clicking Assign Parallelism Rules.
2. From the Assign Parallelism Rules dialog box, in the Noise rule type field, specify a net-
to-net or class-to-class assignment.
3. From the list of available electrical nets or constraint classes, select the nets or constraint
classes that will comprise the first half of the pairing (that is, reference nets or classes),
and then next to the Victim constraint class(es) or Victim electrical net(s) box, click .
Tip: To select multiple nets or constraint classes, you can use Ctrl-click, Shift-click, or
click-drag. To select nets or constraint classes by name, in the field below the list of
source nets or net classes, enter a search string, and then click .
4. From the list of nets or constraint classes, select the nets or constraint classes that will
comprise the second half of the pairing (that is, apply rules to nets or constraint classes),
and then next to the Aggressor constraint class(es) or Aggressor electrical net(s) box,
click .
Note: When assigning a parallelism rule to constraint classes, you can select all
constraint classes by using the (All Classes) selection. The selection (All) refers to the
default constraint class (All).
Tip: When you want to check for same net or same constraint class parallelism, select
the nets or constraint classes you chose in step 3.
5. In the Parallelism rule box, select a specific parallelism rule. To view detailed
information about each of the available rules, click .
6. (Optional) Define a maximum crosstalk value for these pairings of electrical nets or
constraint classes. To do so, in the Max crosstalk box, enter the maximum amount of
crosstalk that the victim nets or constraint classes can receive from the aggressor nets or
constraint classes.
7. Make sure that the lists of nets or constraint classes is accurate. To remove any nets or
constraint classes from either list, click to select them, and then click the corresponding
.
8. Click Apply.
Examples
Example of Assigning a Parallelism Rule Between a Single Constraint Class and All Other
Constraint Classes
In this example, you want to assign a parallelism rule between nets in a single constraint class
with nets in all other constraint classes. The parallelism rule includes same-layer and adjacent-
layer segment, edge-to-edge and maximum parallelism rule lengths. The nets in the single
constraint class are critical nets with strict net parallelism requirements.
1. From the Assign Parallelism Rules dialog box, in the Noise rule type field, make sure
Class to Class is selected.
2. From the list of Available constraint class(es), select the single constraint class to
associate with all other constraint classes, and then next to the Victim constraint
class(es) list, click .
3. From the list of Available constraint class(es), select the (All Classes) row, and then
next to the Aggressor constraint class(es) list, click .
4. In the Parallelism rule box, click the dropdown, and then select the parallelism rule to
assign between the single constraint class and all other constraint classes, and then click
OK.
In the illustration below the Noise Rules spreadsheet shows that parallelism rule
G10L100/G15L150 is assigned between constraint class HT_CONN_IN and all other
constraint classes.
Example 8-1. Single Constraint Class and All Other Constraint Classes
Parallelism Rule Assignment
Related Topics
• Parallelism and Crosstalk Rule Creation
• Navigating to Assigned Parallelism Rules From the Nets Page
• Noise Rules
Procedure
From the Nets spreadsheet page, right-click a net or constraint class, and then click Navigate to
Parallelism Rule.
Results
The Noise Rules page becomes active, and any parallelism rules assigned to the design object
are highlighted.
Related Topics
• Parallelism and Crosstalk Rule Creation
Prerequisites
• You should have an understanding of when to use parallelism and crosstalk rules. For
more information, refer to “Overview of Parallelism and Crosstalk Rules” on page 261.
Procedure
1. With the Noise Rules spreadsheet page active, right-click within the spreadsheet, and
then click New Rule.
2. In the Noise Type cell, click to specify whether the aggressor-victim relationship is Net-
to-Net or Class-to-Class (constraint class).
3. In the Constraint Class Or Electrical Net Name Victim field, click the browse button,
select the victim net or constraint class, and then click OK.
4. In the Constraint Class or Electrical Net Name Aggressor field, click the browse button,
select the aggressor net or constraint class, and then click OK.
5. In the Crosstalk Max cell, enter the maximum amount of crosstalk the victim net or
constraint class can receive from the aggressor.
6. (Optional) In the Crosstalk Level cell, click to select the signal state or states of the
victim net or constraint class using the following guidelines:
• High — The victim net is on (in its high state). The voltage level is at or above the
high threshold (for example, 5.1 V).
• Low — The victim net is off (in its low state). The voltage level is at or below the
low threshold (for example, 0.9 V).
• Tristate — The victim net is off, but a small voltage still flows from the receiver to
ground (for example, 0.5 V).
Results
The Crosstalk Max value is now the constraint for a specific net-to-net relationship, or for all
victim nets in a constraint class when receiving crosstalk from the aggressor nets in another
constraint class.
Examples
Example of Defining Two Nets as Both Aggressors and Victims
In this example, you want to define two net-to-net crosstalk relationships to specify how Net A
and Net B should be constrained when each net is an aggressor or victim of the other. In this
case when Net A is the aggressor of victim Net B, the maximum crosstalk value Net B can
receive from Net A is 5 mV. Conversely, when Net B is the aggressor of victim Net A, the
maximum crosstalk value Net A can receive from Net B is 10 mV. In addition, both victim nets
must meet this constraint during all signal states.
1. From the Noise Rules spreadsheet page, click , and then in the Noise Type cell, click
Net-to-Net.
2. In the Constraint Class Or Electrical Net Name Victim field, click the browse button,
select Net A, and then click OK.
3. In the Constraint Class or Electrical Net Name Aggressor field, click the browse button,
select Net B, and then click OK.
4. In the Crosstalk Max cell, enter 10. In the Level cell, click to select All.
5. Repeat steps 1 through 4, and this time specify Net B as the victim net, Net A as the
aggressor net, and a Crosstalk Max value of 5.
Example: In the following illustration, net $1N2 can be susceptible to 10 mV of
crosstalk from net $1N5. Conversely, when the aggressor-victim role is reversed, net
$1N5 can receive no more than 5 mV of crosstalk from net $1N2.
Example 8-2. Two Nets Defined As Both Aggressor and Victim Nets
Related Topics
• Parallelism and Crosstalk Rule Creation
• Noise Rules
You can designate two nets as a unique differential pair for the purpose of defining constraints
that are only applicable to this type of net pairing. When creating differential pairs, you can do
so manually and automatically.
Note
When any previously defined differential pairs now include a “push pin” icon next to
them, refer to “Differential Pairs Conversion” on page 60.
Prerequisites
• Nets that you define as differential pairs must be part of the same constraint class and
net class.
• The nets must be electrical nets.
• The nets must not be power nets.
Procedure
1. From the Nets spreadsheet page, use Ctrl-click to select two electrical nets ( ), and then
from the Pairs toolbar, click .
Alternative: After you select two electrical nets, right-click either net, and then click
Create Differential Pair; or, from the Edit menu, click Differential Pairs, and then
click Differential Pair from Selected Nets.
2. (Optional) To give the differential pair a unique name instead of its system-defined
name, right-click the differential-pair cell, and then click Rename. Now that the cell is
editable, type a new name (but exclude the following characters: ! \ “ and /), and then
press Enter.
Results
• Topology Type is set to Custom for the differential pair and the nets that comprise it.
• After you create a differential pair, delay cells at the pair level could be highlighted to
indicate errors. This happens when each of the nets you used to create the differential
pair had different delay values defined previously. To remove the error highlighting, you
need to define delay values at the differential-pair level.
• If you need to delete a differential pair, from the Nets spreadsheet page, click a
differential pair row ( ), and then press Delete. To select multiple rows for
simultaneous deletion, use Ctrl-click and Shift-click.
Related Topics
• Differential Pair Creation and Pair Rule Definition
Prerequisites
• Nets that comprise a differential pair must be part of the same net class and constraint
class.
Procedure
1. With the Nets spreadsheet page active, from the Pairs toolbar, click .
Alternative: With the Nets spreadsheet page active, from the Edit menu, click
Differential Pairs, and then click Auto Assign Differential Pairs.
2. From the Auto Assign Differential Pairs dialog box, In the Assign by field, select one of
the following assignment methods:
• Net Name — Group nets into differential pairs based on net naming conventions.
• IBIS Models — Group nets into differential pairs based on differential pin
definitions in available IBIS models.
Note: After selecting this method, click , and then proceed to step 5.
• Regular Expression — Group nets into differential pairs based on regular-
expression search criteria. When using this assignment method, search results for the
Pair net name field (step #4) are not displayed when there are no search results for
the Net name field (step #3), even when they do exist.
The advantage of regular expressions is that you can use them to create more precise
net matching searches. In the event that the Net Name assignment method would not
work, you could create a regular expression that would identify certain pairs of
differential nets.
3. In the Net name field, enter a search criterion. For example, when assigning by net
name, you could use a search criterion of *_P when you know that each net with this
suffix should be paired with a net of the same name that uses a different suffix.
Tip: To view the list of electrical nets in your design, click Preview Nets. Doing so can
be helpful when you are entering criteria in the Net name field and Pair net name field.
After you are done reviewing the content of the Electrical Nets dialog box, click OK.
4. In the Pair net name field, enter an appropriate search criterion based on the Net name
search criterion you provided in step 3, and then click .
Example: When assigning by net name, a complimentary suffix to the example in step 3
(*_P) might be *_N. In the illustration below, you can see how the Net name and Pair
net name fields were used to discover five pairs of nets that may be candidates for
differential pair creation.
Note
It is important to understand that the Net name field takes precedence over the Pair net
name field. This comes in to effect when the net name string or regular expression string
you enter results in the same net showing up in both the Electrical Net column and Pair
Net column. In these cases, the nets show up in the Electrical Net column only.
5. Unless you chose to assign by regular expressions, skip to the next step. In this case, the
Match Differential Pairs dialog box appears. For each pair row that was proposed based
on your regular expressions, you can click within the Pair Net column to select an
alternate pair net, when appropriate. After you finish making adjustments, click Accept.
Note: When two electrical nets on the same row do not match, the Pair Net cell is
highlighted in red. You can hover over a red cell or refer to the Output window to
determine the cause of the conflict (for example, the two nets do not belong to the same
net class).
6. In the list of proposed differential pairs, click to select the differential pairs that you
want to use, and then click Apply.
Tip: To select all proposed differential pairs, click . To unselect all differential pairs,
click .
Result: Differential pairs that you define automatically are indicated on the spreadsheet
in the same manner as differential pairs that you define manually.
7. (Optional) To give one or more differential pairs unique names instead of their system-
defined names, from the Constraint Manager spreadsheet, right-click a differential-pair
cell, and then click Rename. Now that the cell is editable, type a new name (but exclude
the following characters: ! \ “ and /), and then press Enter.
Results
• Topology Type is set to Custom for the differential pair and the nets that comprise it.
• After you create a differential pair, delay cells at the pair level could be highlighted to
indicate errors. This happens when each of the nets you used to create the differential
pair had different delay values defined previously. To remove the error highlighting, you
need to define delay values at the differential-pair level.
• If you need to delete a differential pair, from the Nets spreadsheet page, click a
differential-pair row ( ), and then press Delete.
Related Topics
• Differential Pair Creation and Pair Rule Definition
• “Differential Pair Tol Max” on page 435 — Length or delay tolerance of the pair. For
example, when you need a set of differential pairs routed to a matched length or time of
flight delay, you can use this rule to define a very tight pair tolerance, but also define a
more loose matched group tolerance.
• “Differential Pair Phase Tol Distance Max” on page 438 — Maximum allowed size that
a coupled piece of a differential pair can be when a length difference exists between the
coupled pieces.
• “Convergence Tolerance Max” on page 441 — Maximum allowed difference in trace
length distance from a pad to the point where the traces start routing differentially at
Differential Spacing.
• “Distance to Convergence Max” on page 442 — Maximum allowed trace distance from
a pad to the point where the traces start routing differentially at Differential Spacing.
• “Separation Distance Max” on page 443 — Maximum allowed distance that differential
traces are allowed to be routed at a spacing greater or less than Differential Spacing.
• “Differential Spacing” on page 444 — Spacing at which differential pair traces must be
routed. Differential spacing is defined per layer. This is a reference field (read only)
when accessed from the Nets. To modify this value, use the Trace & Via Properties
page, Differential Spacing constraint.
• “Differential Impedance Target” on page 445 — Defines the target differential
impedance. If this constraint can not be met, Differential Spacing is used.
• “Differential Impedance Tolerance” on page 446 — Introduces a tolerance around
Differential Impedance Target. You can define this constraint for each differential pair,
or individually for each net that comprises a differential pair.
Procedure
1. From the Nets spreadsheet page, click the row of the differential pair ( ) to which you
want to assign differential-pair rules.
Tip: To limit the Nets spreadsheet to a subset of constraints that includes only
differential pair constraints, from the Filters - Groups toolbar dropdown, click
Differential Pair Properties.
2. Click in a specific differential-pair rule field (for example, Separation Distance), and
then enter an appropriate value.
3. Repeat step 2 to define more differential pair rules.
Examples
Example of Defining a Matched Group Tolerance and Pair Tolerance
By defining both a matched group tolerance and differential pair tolerance, you can specify
length or delay tolerances for differential pairs at the individual net and pair level. For example,
for three differential pairs consisting of six total nets, you first define a matched group tolerance
of 100 th to give the router the ability to route each of these nets such that the difference
between the longest and shortest net is less than or equal to 100 th. Because these six nets
comprise three differential pairs, you are also concerned about the difference in length between
each pair of nets that makes up a differential pair. To account for this, you define a pair
tolerance of 20 th to ensure that the maximum difference between net lengths at the differential
pair level is no greater than 20 th.
1. From the Nets spreadsheet page, specify a Match and Tol for one net of the intended
matched group.
2. For the nets that will use this matched group tolerance, enter the match number you
choose in step 1 into the Match field of each appropriate net row.
Example: In the example above, specify the match and tolerance in the spreadsheet row
of one of the nets, and then enter the match number into the Match field of the remaining
nets.
3. From the Nets spreadsheet page, specify an acceptable Pair Tol for each differential pair
that is comprised of the nets for which you defined a matched group tolerance in step 2.
Example: In the example above, you would define a pair tolerance of 20 th for the three
differential pairs that are based upon the nets for which you defined a matched group
tolerance.
Example of Matching Physical Nets in a Differential Pair
You can use the Length or TOF Delay Match constraint to create matching relationships among
physical nets that are part of complex electrical nets (^^^) that make up a differential pair. You
can do this for any electrical net that contains multiple physical nets. By doing so, you ensure
that the lengths of physical nets that run parallel are the same, or within a certain tolerance. This
keeps the physical nets from being out of balance between series elements.
In the above illustration, $1N111 and $1N110 are the first physical nets in each electrical net.
ADDR2 and ADDR3 are the second physical nets in each electrical net. Each of the two match
groups matches each parallel physical net to within 50 th of the other. Although it is not
pictured, the differential pair itself has a defined tolerance for the overall electrical nets through
the Differential Pair Tol constraint.
Note
Matching at the physical net level is just one way to implement greater control over the
nets that comprise a differential pair. When you need to enforce exact lengths, you can
define minimum and maximum values, use formulas, variables, or a combination of
various constraints. You can do this at the physical net level or electrical net level.
Related Topics
• Differential Pair Creation and Pair Rule Definition
Related Topics
• Differential Pair Creation and Pair Rule Definition
You create constraint templates to capture the constraints you define for a single net in a form
that gives you the ability to quickly apply those values to other nets. You can reuse constraint
templates in a design in which you create them and also externally in other designs.
Because constraint templates capture all constraints defined for a specific net, constraint
templates are an extremely powerful and efficient way to reuse constraint specifications that
have resulted in or will result in faster progression from design concept to market placement. At
any time during or after the design creation process, you can export constraint templates to a
common directory to build a library of reusable design constraint sets that will streamline the
design creation process for future designs that contain many of the same connection
requirements between parts.
Note
When you modify constraint values from the Constraint Templates spreadsheet page, just
the values in the template are changed. The originating values, which come from other
spreadsheet pages, are not modified.
Procedure
1. From the Nets spreadsheet page, right-click an electrical net ( ), and then click Create
Constraint Template.
Tip: Instead of creating a new template, you can clone an existing template to use its
constraint values as the starting point for another template. To do so, right-click a
template, and then click Clone.
2. From the Create Constraint Template dialog box, in the name field and optional
description field, enter suitable identifiers for this constraint template, and then click
OK.
Tip: Type a name and description that promotes the highest potential for proper reuse
among other designers and yourself.
3. If needed, modify specific constraint values defined in the constraint template.
Results
The constraint template is created and now available from the Constraint Templates spreadsheet
page for review or modification. At this point, you can do the following things:
• Define the Device Matching Pattern cell — You can do this for one or more devices in
the constraint template (for example, QU988*). It is a regular expression. By doing so,
you can create name matching requirements that are used when the constraint template
is applied to a net. For more information about this cell, and when you might use it, refer
to its description in “General Template Values” on page 281.
• Rename the constraint template — From the Constraint Templates spreadsheet
page, right-click the name of the constraint template, and then click Rename. Type a
new name, and then press Enter.
• Delete the constraint template — From the Constraint Templates spreadsheet page,
click the name of the constraint template you want to delete, and then press Delete.
Related Topics
• Constraint Template Creation and Reuse
Related Topics
• Creating Constraint Templates to Capture Net Constraints
Tip: To modify the similarity requirement between constraint templates and net
candidates, from the Setup menu, click Settings, and then under Display, click General.
Now, change the Template match threshold. For example, to specify a lesser similarity
requirement, enter a smaller percentage value.
Differential Pairs
When applying a constraint template to a differential pair, the constraint template must have
been created from a differential pair. For example, when you only have constraint templates
based off of single nets, trying to apply a constraint template to a differential pair results in no
available constraint templates for selection. In some cases, you might want to apply a single-net
constraint template to each net that will comprise a differential pair before you create the
differential pair.
Virtual Pins
When you apply a template that contains virtual pins, it is only applied correctly to nets when
the following conditions are met:
Related Topics
• Constraint Template Application
Procedure
1. With the Nets spreadsheet page active, from the Edit menu, click Apply Constraint
Template.
2. From the Select Nets for Constraint Template Application dialog box, enter a Net Name
Filter to select the appropriate nets to which to apply the constraint template, and then
click .
3. In the Constraint Template field, use the pull down to select a constraint template.
4. Under the list of Proposed nets, use the checkbox next to each net to uncheck the nets to
which you do not want to apply the constraint template. While you are working with the
list of proposed nets, you can perform any of the following tasks:
• To apply the constraint template to all checked nets without exiting this dialog box,
to the right of the Proposed nets heading, click .
• To select all Proposed nets, click .
• To deselect all Proposed nets, click .
• To clear the list of Proposed nets and start over, click .
5. After you have tested and selected the nets to which you want to apply the constraint
template, click OK.
Results
After you finish, the Constraint Template Matching dialog box is displayed, which lets you
modify pin matching. For more information, refer to “Modifying Pin Matching for an Applied
Constraint Template” on page 286.
Related Topics
• Constraint Template Application
Procedure
1. With the Constraint Templates spreadsheet page active, right-click a template name
row, and then click Assign nets.
2. From the Assign nets to template dialog box, use click and Ctrl-click to select one or
more nets.
Alternative: Use the search box, and optionally wildcard characters, to quickly select a
group of nets that match a name criteria.
3. After you finish highlighting the appropriate nets, click OK.
Results
After you finish, the Constraint Template Matching dialog box is displayed, which lets you
modify pin matching. For more information, refer to “Modifying Pin Matching for an Applied
Constraint Template” on page 286.
Related Topics
• Constraint Template Application
Procedure
1. Right-click an electrical net ( ), and then click Apply Constraint Template. (You can
also select multiple nets by using use Ctrl-click or Shift-click.)
Tip: You can also apply a constraint template at the constraint-class level, but doing so
is only for propagation to the nets inside the constraint class. For this reason, the
constraint template is not directly applied to the constraint class. This is because
constraint templates are meant to be applied to nets and not object hierarchy.
2. From the Select Constraint Template dialog box, select the constraint template to apply
to one or more nets.
3. When applying constraint templates to nets, specify whether the nets should be moved
into the constraint (electrical and signal integrity) and/or net (physical) classes defined
in the template. To make these specifications, click the check boxes associated with
Apply Constraint Class and Apply Net Class, and then click OK.
Example: To move nets into just the net class defined in the constraint template, make
sure that only Apply Net Class is checked.
Result: The Constraint Template Application Report dialog box shows the
compatibility between a constraint template and nets. It also applies the constraint
template to the selected nets when you begin this procedure with the right-click, Apply
Constraint Template.
Results
After you finish, the Constraint Template Matching dialog box is displayed, which lets you
modify pin matching. For more information, refer to “Modifying Pin Matching for an Applied
Constraint Template” on page 286.
Related Topics
• Constraint Template Application
Related Topics
• Constraint Template Application
sufficient matching. Yellow is used to show that the matching is not good, but it may be
suitable. In the following example illustration, green color coding is used to indicate that all 5of
the pins in the constraint template have been matched. The matching table at the bottom shows
the objects that are matched to the template objects.
Procedure
1. From the Nets spreadsheet page, right-click the row of a net that is associated with a
constraint template, and then click Update Pin Matching.
2. From the Constraint Template Matching dialog box, in the table at the bottom, click the
right column of a pin row to change the net pin associated with one of the available
template pins.
Rule: Each template pin can only be associated with a single net pin.
3. After you finish making changes, click OK or Apply.
Related Topics
• Constraint Template Application
Tip: To make it easier to determine when changes have occurred and a net does not
reflect the current constraint values stored in the associated template, refer to the Nets
spreadsheet page, Template Status constraint.
Procedure
From the Nets spreadsheet page, right-click the row of a net that is associated with a constraint
template, and then click Reapply Constraint Template.
Figure 10-2. Status Cell Indicates Differences Between Net and Template
Related Topics
• Constraint Template Creation and Reuse
make the constraint template available for reuse by storing it in a common or collaborative
network directory. You and the other designers in your group now have the ability to reuse this
constraint template in similar designs by applying it to specific nets that benefit from the
constraint set.
Procedure
1. Export Constraint Manager constraint templates (File > Export > Constraint
Templates) to a .cts file.
Alternative: To export a single template, from the Constraint Templates page, right-
click the template row, and then click Export Selection.
2. Launch Constraint Manager on the design for which you want to reuse these constraint
templates.
3. From the File menu, click Import, and then click Constraint Templates.
4. From the Import Constraint Template dialog box, select a file of the type you want to
import (based on the following guidelines), and then click Open:
• .cts files —Constraint templates you exported from Constraint Manager.
• .ctm files — Constraint templates you saved from within CTE, the constraint
template editor.
Results
You can now apply the imported constraint templates to nets as needed.
Related Topics
• Constraint Template Creation and Reuse
• Constraint Template Application
• Exporting Constraints in Encrypted ASCII Format
• Import of Constraints
This section covers the export and import of constraints, which give you the ability to reuse and
modify constraint information. It includes several topics, each of which provides procedures
you use to accomplish these tasks.
Export of Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Import of Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Export of Constraints
You can export constraints to capture constraints to a data file for the purpose of importing them
into Constraint Manager at a later time, or decrypting and viewing the constraint data in an
external program. You can export constraints in the proprietary encrypted XML format (.cts),
encrypted CSV format (.ecsv), and proprietary encrypted ASCII format (.cs_).
Exporting Constraints in Encrypted XML Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Exporting Constraints in Encrypted CSV Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Exporting Constraints in Encrypted ASCII Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Decrypting and Encrypting Exported Constraint Data . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Note
You can also export constraints into proprietary encrypted XML format (.cts) using a
command-line tool. For more information, refer to “cons2xml” on page 483.
Procedure
Do one of the following things depending on the scope of the data you want to export:
• Choose from the entire set of constraint data — Use the following steps:
a. From the File menu, click Export, and then click Constraints.
b. From the Constraint Manager - Export Constraints dialog box, specify the following,
and then after you finish, click Export:
• Data scope as all data or just specific pages. To select the pages to export, click
to activate the Selected pages radio button, and then click to highlight one or
more spreadsheet pages.
Note: When exporting just specific pages, referenced objects between the Nets
page and the Constraint Templates page are not included unless both pages are
selected, or you enable the Include referenced objects check box.
• Whether you want to include Default Constraints, User constraints, Objects
hierarchy, and Attributes.
• (Optional) In the Description field, modify the textual description for the
exported data set. To do so, click to activate the Edit description check box, and
then modify the description.
c. From the Export Constraints dialog box, specify a filename and location for the
constraint data file you want to export, and then click Save.
• Export only selected nets or spreadsheet rows — Use the following steps:
a. From the Constraint Manager spreadsheet, use click or Ctrl-click to select the row or
rows you want to export.
b. After you finish making your selections, right-click, and then click Export
Selection.
c. From the Export Selected Constraints dialog box, specify the following options, and
then after you finish, click Export:
• When applicable, referenced objects between the Nets page and the Constraint
Templates page.
• Whether you want to include Default Constraints, User constraints, Objects
hierarchy, and Attributes.
• (Optional) In the Description field, modify the textual description for the
exported data set. To do so, click to activate the Edit description check box, and
then modify the description.
d. From the resultant Export Constraints dialog box, specify a filename and location for
the constraint data file you want to export, and then click Save.
Related Topics
• Export of Constraints
• Import of Constraints
• Reusing Constraint Templates in External Designs
Prerequisites
• CES Diagnostics must report no issues in order for export to run.
Procedure
1. From the File menu, click Export, and then click Constraints to encrypted CSV.
2. From the Export Constraints to Encrypted CSV dialog box, specify a filename and
location for the constraint data file you want to export, and then click Save.
Results
• A single .ecsv file is created for all Constraint Manager data. The file uses the units
settings defined in the tool. The order of constraints is based on the default column order
in Constraint Manager for each page. When the file already exists, a new one is created
with an incremental suffix. For example, <filename>_1.ecsv, <filename>_2.ecsv, etc.
• The .ecsv file always contains actuals when they are available in the Constraint Manager
session from which you export constraints. Actuals are never exported when you use the
commandline utility (cons2csv).
• After the export finishes processing, a log file for the export is written to the following
location:
<design_folder>\CES\LogFiles\<snapshot_name>\<block_name>\<machine_name>\
<user_name>\csv_export_<date_time>.log
Example: C:\Tablet_design_1\CES\LogFiles\DxD\screen\psmith-
lt\psmith\csv_export_20121016_114536.log
In the event that the log file contains errors or warning, and is not clean, the File Viewer
automatically displays it for you to review.
Related Topics
• Export of Constraints
• Decrypting and Encrypting Exported Constraint Data
• Importing Constraints in Encrypted CSV Format
Procedure
1. From the File menu, click Export, and then click Constraints to encrypted ASCII.
2. From the Export Constraints to ASCII dialog box, specify a filename and location for
the constraint data files you want to export, and then click Save.
Results
Separate encrypted ASCII files are produced: one for each spreadsheet page and one for the
board stackup. Now that you have exported the file set, you can decrypt them as needed.
Related Topics
• Export of Constraints
• Decrypting and Encrypting Exported Constraint Data
The purpose of working with decrypted CSV data is to view or modify it in an external
spreadsheet application that supports the CSV format. In the event that you do modify the CSV
data, or create CSV files from scratch for import, you must encrypt the data files before
importing them into Constraint Manager.
Prerequisites
• You have the following license: cesencryption
• You have exported encrypted ASCII constraint data or encrypted CSV constraint data;
or, you have decrypted CSV data that you want to encrypt.
Procedure
1. Verify that you have met all of the above prerequisites.
2. Run the following command with the appropriate arguments: “csv2dat” on page 485
Related Topics
• Export of Constraints
Import of Constraints
You can import constraints for the purpose of reusing constraints and templates between
designs, when applicable, or to load a large number of constraints instead of entering them by
hand. When using import for the second purpose, you must be working in the CSV format. You
can import .cts data files and .ecsv data files.
Importing Constraints in Encrypted XML Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Importing Constraints in Encrypted CSV Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
CSV Format Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Note
You can also import constraints in the proprietary encrypted XML format (.cts) using a
command-line tool. For more information, refer to “cons2xml” on page 483.
Notes on import:
• Via definitions and settings are not updated during the import process.
• When name changes have occurred after you export constraints, constraint values may
not be properly imported.
• After you import, you may want to set the display units for the constraint set. For more
information, refer to “Setting Spreadsheet Units” on page 75.
When you import constraints from one design to another, it is important to understand that the
following requirements and implications exist:
• In order for a net to become updated with the constraints stored in the exported file, the
net name must be an exact match between constraint sets. For example, if the constraint
set into which you are importing constraints contains net A1 but the exported constraints
file does not, no updates are made to net A1 as a result of the import.
• For nets that have matching names between the constraint set and the exported
constraints file, all constraint values for those nets will be overwritten.
Procedure
1. From the File menu, click Import, and then click Constraints.
2. From the Import Constraints dialog box, select the constraint file (.cts) you want to load,
and then click Open.
3. (Optional) Set the display units for the constraint set. For more information, refer to
“Setting Spreadsheet Units” on page 75.
Related Topics
• Import of Constraints
• Exporting Constraints in Encrypted XML Format
Encrypted CSV files you import can include just a single constraint table, or multiple tables. For
example, one file you might choose to import could include just general clearances and
clearances, while another could include all constraint tables that you can import.
Caution
You cannot undo the results of an ECSV import. You should create a backup or copy of
the project before you import. Doing so makes it easier to recover your data if you import
incorrect constraints. To create a backup, use the iCDB Project Backup utility.
Notes on import:
• During this process, Constraint Manager checks the syntax of the encrypted CSV file to
validate its components. This includes the CSV header, table names, display units,
columns (whether any are missing, redundant, or unknown), required values (whether
any are missing), unknown levels, and values.
• Integers and real numbers (“doubles”) are examined to determine if they fall within a
required range.
• When a file includes net constraint data or constraint template data, Constraint Manager
checks the content during import.
Prerequisites
• To use encrypted CSV import, you must set an environment variable called
CESENG_IMPORTCSV_ENABLE to 1.
• You encrypted the .csv file into an .ecsv file using the command “csv2dat” on page 485.
• CES Diagnostics must report no issues in order for import to run.
• The stackup must already be defined for the project. Stackup definition or updates are
not supported.
• The file does not contain any duplicate object definitions. You can define each
constraint just once in the file. When a constraint has multiple definitions, import does
not run.
• Although you can create many data objects directly in Constraint Manager, just a subset
of them are supported for creation through ECSV import. The currently supported
objects are the following:
o Class-to-class clearance rules
o Clearance rules
o Net classes
o Package type clearance rules
o Package type to package type clearance override rules
o Schemes
o Z-axis class-to-class clearances rules
o Z-axis clearance rules
Procedure
1. Verify that you have met the above prerequisites.
2. From the File menu, click Import, and then click Constraints from encrypted CSV.
3. From the Import constraints from encrypted CSV dialog box, select the .ecsv file you
want to import, and then click Open.
Note
To import from the command line, run the command “cons2csv” on page 481 with the
appropriate arguments.
Results
After the import finishes processing, a log file for the import is written to the following location:
<design_folder>\CES\LogFiles\<snapshot_name>\<block_name>\<machine_name>\<user_
name>\csv_import_<date_time>.log
Example: C:\Tablet_design_1\CES\LogFiles\DxD\screen\psmith-
lt\psmith\csv_import_20121017_122937.log
At this point, you may want to set the display units for the constraint set. For more information,
refer to “Setting Spreadsheet Units” on page 75.
Related Topics
• Import of Constraints
• Decrypting and Encrypting Exported Constraint Data
• Exporting Constraints in Encrypted CSV Format
Related Topics
• “Importing Constraints in Encrypted CSV Format” on page 296
the same unit type for those constraints, they are converted from th to the active Constraint
Manager unit type upon import. For example, 500 th is converted to 0.5 inches when the unit
type for linear is inches.
Example 11-1. CSV File That Includes Multiple Constraint Tables (cont.)
Description cons2csv - Export/Import constraints to encrypted CSV.
Copyright Copyright 2013 Mentor Graphics Corporation. All Rights Reserved.
Example 11-2. CSV File That Includes a Single Constraint Table (cont.)
Placement Outline to Placement Obstruct 20
Placement Outline to Board Edge 20
Trace to Resistor 6
Pad to Resistor 6
Testpoint Center to Testpoint Center 50
Cavity Inside Edge to Parts 10
Cavity Outside Edge to non-Plane Conductor 10
Cavity Outside Edge to Plane Conductor 10
Cavity Edge to Cavity Edge 10
Related Topics
• CSV Format Overview
• Importing Constraints in Encrypted CSV Format
• Guidelines for CSV Files
Note
The value separator/delimiter you must use in these CSV files is a semicolon (;).
Note
“Table” and “Display Units” are the only required values in this section, though you can
leave “Display Units” blank when you do not want to specify a unit type, or are not
required to. For examples of this usage, refer to “Example CSV Files” on page 300.
• CSV Separator (one or more new lines) — A visual separation in the file that is used
to separate the information section from the constraints section, or the constraints
section from the next information section.
• CSV Constraints Section — Contains the constraint values that you want to import.
You can also include multiple constraint tables in a single CSV file. The following illustration
depicts a CSV file that contains two constraint tables. Notice that a CSV separator is used
between the two constraint tables.
Note that currently not all constraint tables are supported for import at this time. Unsupported
constraint tables are indicated with an * in the listing of table names below.
It is important to note that these values are case sensitive. Note that currently most unit types are
not supported for import. Unsupported unit types are indicated with an * in the table below.
The table below shows you which constraint tables require you to declare one or more unit
types through the “Display Units;” statement. After the table, you can find a short list of
guidelines you must follow when making these declarations.
Table 11-4. Constraint Tables and Required Unit Type Declarations (cont.)
Table Name Required Unit Types
Package type clearance <linear>
rules
Example: Display Units; th;
Package type to package <linear>
type clearance rules
Example: Display Units; in;
Parallelism rules <linear>
• You can use whichever order you like for the unit types, but each required type must be
part of the declaration.
• You must only define a unit type once. Multiple declarations for the same unit type will
cause import to fail.
• You have the option of using engineering/scientific notation for constraint values (for
example, 1.25E+6).
• For boolean values, you have the option of using “true” for 1/on and “false” for 0/off.
• You can assign a different display unit to any constraint value simply by putting it after
the value. For example, when the constraint table specifies “Display Units” of th, you
can put a value like 0.1mm in one or more cells.
• Constraint Manager does not create a data object (for example, scheme, net class, or
clearance rule) just because you reference it in the file. It either must already exist in the
tool or be something that you define for creation in the file. For example, when working
with net classes, any net class that you reference must already exist in Constraint
Manager or be defined in the ECSV file.
• The order of columns is not important, but all column headings must be present. You
cannot import a table with any missing column headings.
• The order of rows is not important, but each row must contain all values. You cannot
import a table with any missing values; however, you can import empty values
(semicolon only) to preserve the current data.
• You can enclose data in double quotes when it makes sense to do so. For example:
Description;“Net Class Template for ““10-layer stackup”””;
Related Topics
• CSV Format Overview
• “Importing Constraints in Encrypted CSV Format” on page 296
• “Example CSV Files” on page 300
From Constraint Manager, you can view the characteristics of the board stackup used in a
printed circuit board design. Depending on your design flow, you may also be able to modify
the stackup in this environment.
Viewing or Modifying Stackup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Layer Name Correlation Among Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Stackup Editing Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Caution
Because the Stackup Editor is designed to give you the ability to analyze the effects of
changing parameters on the electrical characteristics of traces, it allows for the entry of
any value for the material properties. There are a limited number of materials available
for the actual construction of a PCB. The list of materials and their actual characteristics
should be available from the PCB manufacturer. This list of materials limits the material
parameters available and also constrains the order in which they may be stacked. For a
useful stackup analysis, the material properties used should come from the
manufacturer’s supplied information.
Prerequisites
• Read and understand the information in “Layer Name Correlation Among Design
Tools” on page 312.
• Read and understand the information in “Stackup Editing Limitations” on page 312.
Procedure
From General toolbar, click , or, from the Edit menu, click Stackup.
Tip: You can also import a stackup through the use of an .stk file. For more information,
refer to “ImportStk” on page 488.
Results
Stackup changes affect only the front-end or back-end design until you forward annotate or
back annotate. At that time, the changes are synchronized between the schematic and layout
design representations based on the constraint synchronization process. For more information,
refer to “Synchronization of Constraint Sets” on page 332.
Related Topics
• Stackup Display and Modification
• Layer Name Correlation Among Design Tools
Because Constraint Manager deals with just signal-layer nets, dielectric layers displayed in the
Stackup Editor do not appear in the constraint spreadsheets.
Related Topics
• Stackup Display and Modification
When changing the stackup in Constraint Manager after the board has already gone through
routing in the PCB tool, there can be serious consequences on the work done in the layout tool.
For example, removing layers from the stackup could easily result in lost routing if there are
traces on the layer removed.
Related Topics
• Stackup Display and Modification
This section provides information about how to make models and libraries of models available
to Constraint Manager for the purposes of satisfying existing model assignments and also
making new assignments.
Automatic Assignment of IBIS Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
IBIS Models or Technology Models? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
IBIS Models Delivered With Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Part Model Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Verifying Default Model Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Assigning Models to Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Overriding IBIS Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Defining Thermal Constraints for Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Importing Pin Package Length Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
PinPkgLengths.txt File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
1. When you provide the IBIS component attribute on a symbol that is contained in a part
instance, it is used as the default IBIS component name. If this attribute is set on more
than one symbol that maps to a particular part instance, Constraint Manager decides
which wins based on its established rules.
2. User provided IBIS component name for the entry in the PDB corresponding to the part
instance.
3. Constraint Manager searches the IBIS library for a component with the same name as
the PCB part name. When it finds a case insensitive match, it uses this value.
4. Constraint Manager searches the IBIS library for a component with the same name as
the symbol name for the part instance in the PDB. When it finds a case insensitive
match, it uses this value.
5. When the part instance has a Technology value, Constraint Manager searches for an
IBIS component that matches the technology. When it finds a match, it uses this value.
6. When the part instance is a simple passive component that is included in the list below,
the IBIS component name is set to one of the following values:
• R_by_value (resistor)
• C_by_value (capacitor)
• L_by_value (inductor)
• RC_by_value (RC terminator)
• RThev_by_value (thevenin terminator)
7. When the part instance is not a simple passive component, diode, or connector, the
default IBIS component name is set to “generic”. The IBIS library provided with the
release always contains a supporting IBIS component named “generic” to support this
type of assignment.
Note
The only case where Constraint Manager sets IBIS Component Name to reference a
component that does not exist is when you explicitly set a name in the schematic or PDB,
and it does not exist.
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Use the procedures below to make libraries available for model assignment and determine the
order in which they are searched.
Procedure
1. You specify model libraries through the IBIS Model Browser. To access it, from the
Parts spreadsheet page, click the browse button in any IBIS Component Name cell or
Technology cell.
The IBIS Model Browser displays.
2. From the IBIS Model Browser, at its top right, click , and then do any of the following
things:
• Add a directory to the model search path — In the new row that appears in the
IBIS Libraries listing, enter the directory path, or click the browse button to navigate
to the path, and then select it.
• Remove a directory from the model search path — From the SI Library Search
Paths dialog box, in the listing of IBIS Libraries, click the directory you want to
remove, and then click .
• Change the search order of model directories — From the SI Library Search
Paths dialog box, in the listing of IBIS Libraries, click the directory for which you
want you to change its order, and then click or to move the directory up or down
within the list.
Related Topics
• Part Model Availability
Procedure
1. With the Parts spreadsheet page active, in any IBIS Component Name or Technology
cell, click .
The IBIS Model Browser displays.
2. From the IBIS Model Browser, click .
3. From the Open dialog box, browse to the model file (.ibs or .ebd), select it, and then
click Open.
Results
All models included in the model file are now available within Constraint Manager for
assignment.
Related Topics
• Part Model Availability
Procedure
1. With the Parts spreadsheet page active, in any IBIS Component Name or Technology
cell, click .
The IBIS Model Browser displays.
2. Do any of the following things:
• Reload model directories — Complete these steps:
i. From the IBIS Model Browser, under Directories / Components, select one or
more model directories:
Select all model directories by clicking the All row.
Select two or more model directories by using Ctrl-click and Shift-click to
highlight the appropriate rows.
Select just a single model directory by clicking it.
ii. Click .
• Reload an individual model — From the IBIS Model Browser, in the list of
available models, click a row, and then next to the Search component field search
button, click .
Tip: To adjust the list of available models, use the directory selections under
“Directories / Components.” For example, to list all available models, click All.
Related Topics
• Update of Electrical Net Data and Results
• Part Model Availability
Procedure
1. From the Output menu, click Model Audit Report.
2. From the Model Audit Report that Constraint Manager produced, scroll its content to
locate instances of ERROR and WARNING lines.
3. For each instance, locate its row on the Parts spreadsheet page, and then do one of the
following things:
• Assign the correct model to the part.
• Specify additional available part models, and then assign the correct model to the
part.
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Procedure
1. From the Parts spreadsheet page, in the row of the component to which you want to
assign a model, in its IBIS Component Name or Technology cells, click .
The IBIS Model Browser displays.
2. From the IBIS Model Browser, under Directories / Components, click a specific
directory, or click All to display models in all directories that are available to Constraint
Manager.
Tip: To select multiple directories but not all directories, use Ctrl-click and Shift-click.
To search for a directory, in the Search directory field, enter a search string, and then
click .
3. In the Component list, click the model you want to assign to the component.
Tip: To search for a model when the Component list includes a large number of models,
in the Search component field, enter a search string, and then click .
4. The above three steps define the IBIS model for the part. Many parts are configurable,
and the pin characteristics change depending upon how they are configured. To
accommodate this, the IBIS model may contain multiple pin models for a given pin. To
ensure accurate simulations, it is important that the correct pin model be selected for
these pins. The IBIS Model Browser indicates pins for which multiple models are
available by coloring the Pin cell yellow in the Pin Model Types table. To change a pin
model:
a. In the Pin Model Types field, click the dropdown, and then click a specific pin type
you want to view or change (for example, Output), or All to display all pins of the
part.
b. In the table below the Pin Model Types field, click in the Model cell of the pin you
want to change, and then select the pin model from the drop down list.
Tip: To change the display of this table, use the Select by Pin and Select by Model
radio buttons.
5. Click OK to apply the model assignment.
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Procedure
1. With the Parts spreadsheet page active, in any IBIS Component Name or Technology
cell, click .
The IBIS Model Browser displays.
2. From the IBIS Model Browser, select a model file from the Component list.
3. Do one of the following things based on the editor you want to use:
• To use the HyperLynx Visual IBIS Editor, click .
• To use the Quick Model Wizard, click .
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Procedure
1. With the Parts spreadsheet page active, from the Data menu, click Update.
2. Click IBIS Pin Type & Defaults.
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
For example, although the IBIS model for a resistor specifies resistance as 50 ohms, you want to
temporarily change the value to 60 ohms.
Procedure
1. From the Parts spreadsheet page, in an appropriate IBIS Component Name cell, enter
one of the following override types:
• C_by_value — Capacitance by value.
• L_by_value — Inductance by value.
• R_by_value — Resistance by value.
• RC_by_value — AC terminator by value.
• RThev_by_value — Thevenin terminator by value.
2. In the Value cell, enter one or more override values based on the following guidelines:
• For C_by_value, L_by_value, and R_by_value, enter a single override value.
• For RC_by_value, enter a resistance and a capacitance value, and separate them with
a colon (for example, 75:5).
• For RThev_by_value, enter two resistance values, and separate them with a colon
(for example, 75:75).
In the following illustration, a resistor model has been changed to a Thevenin terminator
with resistance values of 75 ohms and 50 ohms.
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
about a specific thermal constraint, refer to one of the constraint reference topics listed in the
procedure below.
Prerequisites
• To make use of any values you define for these constraints, you must be using
HyperLynx Thermal as part of your design flow.
Procedure
From the Parts spreadsheet page, you can define constraint values for each of the following
thermal constraints:
Results
Any thermal constraints you define for the design are included as requirements in your
HyperLynx Thermal simulation environment.
Related Topics
• Part-Model Assignment Verification and Part Constraints Definition
Note
In some cases, an IC vendor provides a ready-to-use side file for one or more ICs. In any
event, the pin package length data always come from the IC vendor.
Prerequisites
• You must have the appropriate side file: PinPkgLengths.txt
Procedure
1. From the File menu, click Import, and then click Pin Package Lengths.
2. From the Import Pin Package Lengths dialog box, navigate to and select a
PinPkgLengths.txt file.
3. Optionally click to enable the following checkbox: Set 0 when pin package lengths are
not specified. This checkbox set values to 0 for any pin package lengths that are not
specified in the side file. This only applies to pins of part numbers defined in the side
file. Otherwise, the existing values in Constraint Manager are kept, when defined.
4. Review your selections, and then click Import.
Results
The Parts spreadsheet page is updated to display the imported values.
Related Topics
• Pin Package Length
• Part-Model Assignment Verification and Part Constraints Definition
Parameters
• UNITS <unit>
A required keyword at the top of the file specifying the units of the map file. Valid values
for units: Thousandths (th), microns (um), millimeters (mm), and inches (in). This value is
case-insensitive.
• PART_NUMBER <part_name>
A required keyword that specifies the name of the part.
Note
If any <part_name> contains a space, all characters after the <part name> are considered
part of the part name until the next PART_NUMBER keyword.
• <pin_number> <value>
A single line for each pin number and its associated length value.
Note
Comma symbols are not supported, even if you have Constraint Manager configured to
use commas instead of periods for decimal points.
Examples
This example shows a PinPkgLengths.txt file that contains definitions for two part numbers.
Units are in thousandths of an inch, and this is specified with the first line. As you can see, the
pin package length definitions do not need to be ordered chronologically. The first part number
lists them out of order while the second part number lists them in chronological order.
UNITS TH
PART_NUMBER ASIC_AS_0_SOIC_28P_25_394X236_I
5 100
8 200
1 100
7 200
3 200
4 100
2 100
6 200
PART_NUMBER AT25HP512_SOIC_8P_50_197X236_IC
1 100
2 100
3 100
4 100
5 150
6 150
7 150
8 150
Related Topics
• Importing Pin Package Length Values
• ImportPinPackageLengths
• Pin Package Length
This section covers signal integrity exploration and enhancement with HyperLynx® LineSim®.
It presents the entire process of sending nets to HyperLynx LineSim for analysis and
enhancement, and then bringing changes into Constraint Manager.
Sending Nets to HyperLynx LineSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Exporting Constraint Enhancements From HyperLynx LineSim . . . . . . . . . . . . . . . . . 328
Updating Constraint Manager With Constraint Enhancements . . . . . . . . . . . . . . . . . . 329
It is important to note that some information can be lost when transitioning your net data from a
free-form schematic to a constraint template file. For instructions regarding exporting a
constraint template file from LineSim, refer to HyperLynx LineSim documentation or search
the InfoHub to locate this information.
• Resistor and capacitor packages modeled as IBIS models in Constraint Manager are
supported in HyperLynx.
• HyperLynx supports series elements described in IBIS/EBD files for IC components.
This means that resistors and capacitors with three or more pins, and assigned IBIS/EBD
models, are exported to the free-form schematic as IC components with assigned
models. Only those signal pins of passive network packages that are connected inside it
(that is, belonging to the same electrical net) are exported.
Prerequisites
• HyperLynx 8.0 or newer must be installed on the same computer as Constraint Manager.
• HyperLynx must use or include the same IBIS search paths as Constraint Manager.
• The front-end and back-end design representations are synchronized. This ensures that
the nets you want to export are complete and not missing any information (for example,
from-tos automatically generated in layout that do not show up in front-end Constraint
Manager until you back annotate).
Procedure
From the Nets spreadsheet page, right-click a single electrical net ( ) or multiple highlighted
electrical nets (ten maximum), and then click Display Net in HyperLynx LineSim.
Results
When HyperLynx 8.0 or newer is installed on the same computer, LineSim automatically opens
and displays the net in the free-form schematic editor. The exported free-form schematic (FFS)
and HyperLynx project (PJH) files are written to
\<projects_folder>\<project_name>\HighSpeed\HyperLynx\PreLayoutLineSim<net_name>.
For example,
C:\mentor_projects\test_project\HighSpeed\HyperLynx\PreLayoutLineSim\data1.ffs.
Related Topics
• Exporting Constraint Enhancements From HyperLynx LineSim
• Signal Integrity Exploration
the tool dynamically as part of the export process. Doing so makes the changes available to
Constraint Manager immediately but you still need to manually apply the changes to nets.
Prerequisites
• You must be using HyperLynx version 8.2 or newer.
• The Constraint Manager session from which you exported one or more nets must be
active.
Procedure
1. From the HyperLynx LineSim Export menu, click Constraint Template.
2. (Optional) Activate the “Update CES with generated template” checkbox to update
Constraint Manager dynamically with the constraint template.
3. Click OK.
Related Topics
• Updating Constraint Manager With Constraint Enhancements
• Signal Integrity Exploration
Procedure
Note
When you used the “Update CES with generated template” checkbox as part of the
procedure in “Exporting Constraint Enhancements From HyperLynx LineSim” on
page 328, skip to step 3.
1. From the Constraint Manager File menu, click Import, and then click Constraint
Template.
2. From the Import Constraint Template dialog box, select the path and filename of the
constraint template file (.ctm) that includes your net topology enhancements, and then
click Open.
3. From the Nets spreadsheet page, select one or more electrical nets ( ) to update, right-
click, and then click Apply Constraint Template.
4. From the Select Constraint Template dialog box, click the constraint template of the net
you enhanced in HyperLynx LineSim, and then click OK.
Related Topics
• Signal Integrity Exploration
Constraints are part of most of the design tools in a PCB design flow. This section helps you
understand how and when constraints are synchronized between a tool and the Constraint
Manager invocation you launched from it. It also provides instructions for sending constraint
and design changes from a front-end design representation to a back-end design representation.
Constraint and Design Change Management Between Tools . . . . . . . . . . . . . . . . . . . . . 331
Synchronization of Constraint Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Sending Schematic Data to Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Sending Layout Data to Schematics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Schematic Constraints Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
schematic and layout using the forward and back-annotation commands provided by your
design systems.
Related Topics
• Design Tool Update
How you set the winner for design annotation depends on the flow you are using. Refer to the
Constraint Manager flow manual for your design flow for more information. For the listing of
flow manuals, refer to “Constraint-Driven Design-Flow Manuals” on page 332.
Constraint Manager synchronization works in this manner to provide more opportunities for
constraint alignment in all of its flows. Because both forward annotation and back annotation
result in constraint synchronization, overall design state is less of an issue for update purposes.
For example, when your schematic data is changing less frequently as you move toward
manufacturing start, forward annotating to layout gives you more opportunities to acquire
constraint changes made in a layout invocation of Constraint Manager. Due to the large volume
of design changes that can occur in the back-end at the end of the PCB creation cycle, forward
annotating to get back-end constraint changes saves time because there are few or no schematic
changes to communicate to your layout design.
During forward annotation and back annotation, the front-end and back-end constraint sets are
synchronized as explained above.
Note
When you run XDS Save from xPCB Team Layout, it back annotates when necessary. As
expected, this back-annotation process includes full Constraint Manager synchronization
between back-end and front-end constraint sets.
Related Topics
• Design Tool Update
Prerequisites
• When sending constraint changes you made in xDX Designer to xPCB Layout, you
must first create a front-end Constraint Manager database by launching Constraint
Manager from xDX Designer. You must only do this once in order for the database to be
created. For example, after using only the xDX Designer Attributes add-in to enter or
modify xPCB Layout style constraints, you do not yet have a front-end Constraint
Manager database. To create it, from the xDX Designer Tools menu, click Setup
Constraints.
Procedure
From your front-end design tool, or in some cases your back-end design tool, forward annotate.
Note
For specific forward-annotation commands, refer to the constraint-driven design-flow
manual for your flow, or the documentation for your schematic-capture software.
Related Topics
• Design Tool Update
Prerequisites
• You synchronized constraint data between layout and Constraint Manager by exiting
Constraint Manager or using the rightmost light in the layout tool to send your pending
constraint changes to it.
Procedure
From your back-end design tool, back annotate.
Note
For specific back-annotation commands, refer to the constraint-driven design-flow
manual for your flow, or the documentation for your layout software.
Related Topics
• Design Tool Update
Prerequisites
• Optional, but recommended, set up your schematic tool to launch CRM automatically
when needed. Refer to your schematic documentation to determine how to set up the
application to launch the Constraint Resolution Manager automatically for conflict
resolution when copying a sheet between two designs.
• You must have copied a schematic sheet from a source design to a target design.
Procedure
1. When CRM is not automatically displayed, from Constraint Manager, with the CRM
toolbar enabled, select the most recent item from the dropdown list.
2. Constraint Manager is now in CRM mode. It has the appearance of Constraint Manager,
but provides a limited subset of functions related to manual resolution of constraint
conflicts. At any time, to switch from CRM mode back to Constraint Manager, from the
CRM Tools menu, click Constraint Manager.
When there are conflicting constraint values between source and target objects, the Nets
and/or Trace & Via Properties spreadsheet page highlights each net and/or layer row that
has conflicting constraint values. Cells that do not conflict remain white.
3. For each conflicting cell, you can do the following:
• To view the list of available values from which you can choose, click the dropdown
button. “S” refers to the source value, “T” refers to the target value, and “C” refers to
a concurrent value that is being entered in real time.
• To change the default conflict resolution by choosing a different constraint value,
right-click a cell, and then click the appropriate Restore to selection. For example,
to use the value already in a sheet which you are pasting, click Restore to Target.
4. Change appropriate constraint values as often as you like until the correct set of source,
target, and concurrent values are present.
5. After you have finished, close the CRM, or switch to Constraint Manager mode. To do
so, from the CRM Tools menu, click Constraint Manager.
Results
The set of appropriate constraint values is chosen. There are no longer any conflicting
constraints in the target sheet.
Related Topics
• Schematic Constraints Conflict Resolution
Prerequisites
• Constraint Manager must be in CRM mode.
Procedure
1. From the CRM Data menu, click Constraint Resolution.
2. From the Constraint Resolution dialog box, review the table of Source and target wins,
and the summary of win statistics located at the top of the dialog box.
3. (Optional) You can do any of the following:
• To display just target wins, click to enable the Show only target wins check box.
• To display only source wins, click to enable the Show only source wins check box.
• To update the table to show the latest wins after you make changes within the CRM,
click Refresh.
• To cross probe to the spreadsheet row to which a win refers, click a list row.
Alternative: To move up or down one row in the wins list while cross probing, click
or .
4. After you finish reviewing statistics, click Close.
Results
The dialog box is no longer displayed on screen, leaving the CRM at the forefront of the screen.
Related Topics
• Schematic Constraints Conflict Resolution
This section provides a full constraint reference for each constraint available in Constraint
Manager. This reference is organized to reflect the default ordering of constraints on each
Constraint Manager spreadsheet page.
Constraint Reference Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Trace and Via Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Clearances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Z-Axis Clearances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Noise Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Note
For illustrative purposes, components and other board elements may appear
disproportionately large relative to PCB size.
• AutoActive® — Integrated place and route environment of xPCB Layout, Board Station
XE, and Board Station RE.
• Hazards — Dynamically updated design rule checking for placement and routing
constraint information. This component is available in xPCB Layout, Board Station XE,
and Board Station RE.
• High-speed routing (HSR) — Routing using estimation to determine how to adjust
routing to meet high-speed constraints (for example, time of flight delay or length). This
component is available in xPCB Layout, Board Station XE, and Board Station RE.
Related Topics
• Quick Reference - Constraint Manager Spreadsheet
• Constraint Definition Through Spreadsheet Pages
• Creating Constraint Groups
Tip: For a quick reference on these constraints, refer to “Trace and Via Properties
Summary” on page 33.
Index
Displays the layer number for a board layer. This constraint is also displayed on the Clearances
page and Z-Axis Clearances page.
Tip: In the event that the stackup layer sequence is shown out of order in the spreadsheet,
you can click to sort by the Index heading to return the layer listing to its sequential order.
Constraint Type
Reference
Example
1
Type
Displays the type of printed circuit board layer (for example, signal or plane). This constraint is
also displayed on the Clearances page.
Note
When Type is Flooded Signal, the Typical Impedance constraint is calculated based on
the test width and the Trace to Plane constraint for that layer in the (Master) scheme's
(Default Rule).
Constraint Type
Reference
Example
Signal
Related Topics
• Trace To Plane
• Typical Impedance
Via Assignments
Defines the via assignment for a net class.
The value “(default)” means that the net class is using the via assignment defaults defined in
Constraint Manager setup, which are general via settings for a design. Custom indicates that the
via assignment design defaults are not being used for this net class.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
(default)
Related Topics
• Specifying Trace and Via Rules
Route
Defines whether the board layer is routed during PCB fabrication. You can set Route
individually or for all board layers of a net class.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Specifying Trace and Via Rules
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• Trace Width Expansion
• Trace Width Typical
• Specifying Trace and Via Rules
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
9 mil
Related Topics
• Trace Width Expansion
• Trace Width Minimum
• Specifying Trace and Via Rules
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• Trace Width Minimum
• Trace Width Typical
• Specifying Trace and Via Rules
Typical Impedance
Defines signal impedance for the Trace Width Typical constraint. When you enter a value into
the Trace Width Typical cell, impedance at this width is calculated and placed into the Typical
Impedance cell.
Note
Typical Impedance is not calculated or able to be entered for traces that are on plane
layers. To indicate this, Constraint Manager grays out the cell and leaves it empty.
In order for this constraint to be calculated, your board stackup must include at least one
plane layer.
When you adjust this constraint, Trace Width Typical is always updated unless you do not have
a valid stackup or the trace is on a plane layer.
When calculating impedance, the following stackup properties are included as necessary:
• Layer thickness
• Dielectric constants
• Position of plane layers
• Copper thickness for metal layers
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Trace Width Typical
• Specifying Trace and Via Rules
In order for this constraint to be calculated, your board stackup must include at least one
plane layer.
When you modify Differential Typical Impedance manually, Differential Spacing is updated as
well.
When calculating impedance, the following stackup properties are included as necessary:
• Layer thickness
• Dielectric constants
• Position of plane layers
• Copper thickness for metal layers
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Trace Width Typical
• Typical Impedance
• Differential Spacing
• Specifying Trace and Via Rules
Differential Spacing
Defines the required parallel distance between trace segments that comprise a differential pair.
You can define Differential Spacing individually or for all board layers of a net class.
Tip: When applied in conjunction with Differential Spacing, Trace Width Minimum
gives you the ability to define a smaller Differential Spacing constraint. As trace width
decreases, potential aggressor net interference between differential pairs reduces as the
total conductive surface area decreases.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
0.5 mm
Related Topics
• Trace Width Minimum
• Specifying Trace and Via Rules
Clearances
Refer to the clearance constraint reference topics that follow. These constraints are accessible
from the Clearances spreadsheet page.
Note
By default, the clearance constraints defined in the (Defaut Rule) are used between all net
classes unless you create additional clearance rule sets and then assign them between
specific net classes.
Index
Displays the layer number for a board layer. This constraint is also displayed on the Trace &
Via Properties page and Z-Axis Clearances page.
Tip: In the event that the stackup layer sequence is shown out of order in the spreadsheet,
you can click to sort by the Index heading to return the layer listing to its sequential order.
Constraint Type
Reference
Example
1
Type
Displays the type of printed circuit board layer (for example, plane). This constraint is also
displayed on the Trace & Via Properties page.
Constraint Type
Reference
Example
Signal
Trace To Trace
Defines the minimum clearance distance between trace segments. You can define Trace to
Trace individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Trace To Pad
Defines the minimum clearance distance between traces and pads. You can define Trace To Pad
individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
12 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Trace To Via
Defines the minimum clearance distance between traces and vias. You can define Trace To Via
individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Trace To Plane
Defines the minimum clearance distance between traces and planes. You can define Trace To
Plane individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining SMD Clearance Rules
• Assigning Class-To-Class Clearance Rules
Pad To Pad
Defines the minimum clearance distance between pads. You can define Pad To Pad individually
or for all board layers of a clearance rule. This constraint definition includes SMD pads.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Pad To Via
Defines the minimum clearance distance between pads and vias. You can define Pad To Via
individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Pad To Plane
Defines the minimum clearance distance between pads and planes. You can define Pad To
Plane individually or for all board layers of a clearance rule. This constraint definition includes
SMD pads.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Via To Via
Defines the minimum clearance distance between vias. You can define Via To Via individually
or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Via To Plane
Defines the minimum clearance distance between vias and planes. You can define Via To Plane
individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining SMD Clearance Rules
• Assigning Class-To-Class Clearance Rules
Plane To Plane
Defines the minimum clearance distance between planes. You can define Plane To Plane
individually or for all board layers of a clearance rule.
Note
In order to accurately check this rule using Batch DRC in your layout software, you must
set any “Static” planes to “Dynamic” in that tool. Because the layout software regards
static planes as archived, it uses Plane To Plane values assigned at the time a plane was
put into static mode instead of the values of the assigned scheme.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• Creating Clearance Rule Sets
• Assigning Class-To-Class Clearance Rules
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
EP Mask To Trace
Defines the minimum clearance distance between the production mask of embedded thin-film
resistors and traces. You can define EP Mask To Trace individually or for all board layers of a
clearance rule.
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
EP Mask To Pad
Defines the minimum clearance distance between the production mask of embedded thin-film
resistors and pads. You can define EP Mask To Pad individually or for all board layers of a
clearance rule.
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
EP Mask To Via
Defines the minimum clearance distance between the production mask of embedded thin-film
resistors and vias. You can define EP Mask To Via individually or for all board layers of a
clearance rule.
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
EP Mask To Resistor
Defines the minimum clearance distance between the production mask of embedded thin-film
resistors and the resistive material of embedded thick-film resistors. You can define EP Mask
To Resistor individually or for all board layers of a clearance rule.
Prerequisites
• You have acquired an xPCB Embedded Passive license in xPCB Layout.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining Embedded Resistor Clearance Rules
• Assigning Class-To-Class Clearance Rules
Z-Axis Clearances
Refer to the z-axis clearance constraint reference topics that follow. These constraints are
accessible from the Z-Axis Clearances spreadsheet page.
Note
By default, z-axis clearance constraints, even those defined in the (Defaut Z-Axis Rule),
are not used between any net classes. In order to use your values for these constraints,
you must assign z-axis clearance rule sets between specific net classes.
Tip: For a quick reference on these constraints, refer to “Z-Axis Clearances Summary”
on page 38.
Index
Displays the layer number for a board layer. This constraint is also displayed on the Trace &
Via Properties page and Clearances page.
Tip: In the event that the stackup layer sequence is shown out of order in the spreadsheet,
you can click to sort by the Index heading to return the layer listing to its sequential order.
Constraint Type
Reference
Example
1
Trace To Trace
Defines the minimum clearance distance between trace segments located on different signal
layers. You can define Trace To Trace individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• Creating Z-Axis Clearance Rule Sets
• Assigning Z-Axis Class-To-Class Clearance Rules
Trace To Pad
Defines the minimum clearance distance between traces and pads located on different signal
layers. You can define Trace To Pad individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
12 mil
Related Topics
• Creating Z-Axis Clearance Rule Sets
• Assigning Z-Axis Class-To-Class Clearance Rules
Trace To Via
Defines the minimum clearance distance between traces and vias located on different signal
layers. You can define Trace To Via individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• Creating Z-Axis Clearance Rule Sets
• Assigning Z-Axis Class-To-Class Clearance Rules
Trace To Plane
Defines the minimum clearance distance between traces and planes located on different signal
layers. You can define Trace To Plane individually or for all board layers of a clearance rule.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• Creating Z-Axis Clearance Rule Sets
• Assigning Z-Axis Class-To-Class Clearance Rules
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• Defining SMD Clearance Rules
• Assigning Z-Axis Class-To-Class Clearance Rules
Nets
Refer to the net constraint reference topics that follow. These constraints are accessible from the
Nets spreadsheet page.
Tip: For a quick reference on these constraints, refer to “Nets Summary” on page 39.
Hierarchical Path
Displays the hierarchical path to the object within the design.
Constraint Type
Reference
Example
sheet1
# Pins
Displays the number of pins that comprise the net.
Constraint Type
Reference
Example
2
Power Net
Defines the net as a power-supply net. You can define Power Net individually for each net. You
cannot define differential pair nets as power-supply nets.
Constraint Type
Modifiable
Related Topics
• Analog
• Power Net Constraints Supply Voltage
• Power Net Constraints Max Voltage Drop
• Power Net Constraints Max Current Density
• Power Net Constraints Max Via Current
• Power-Supply Net and Constraint Definition
Analog
Defines the net as analog and prevents physical nets that comprise an electrical net from being
merged into an electrical net or differential pair. You cannot define differential pair nets as
Analog. You can define Analog individually or for all nets of a constraint class.
Note
To change a net from an electrical net to a physical net, you can enable Analog for the net
row. When electrical nets are automatically updated in Constraint Manager, the net will
now show as a physical net. To reverse the process, disable the Analog cell.
Constraint Type
Modifiable
Related Topics
• Overview of Electrical Nets and Physical Nets in Constraint Manager
• Specifying General Net Constraints
Bus
Defines the constraint class as a bus. Nets within the constraint class should be limited to those
nets that comprise the bus.
The Bus constraint is also used to indicate that xPCB Layout should enable bus planning and
routing capabilities for a specific constraint class.
Constraint Type
Modifiable
Related Topics
• Specifying General Net Constraints
Net Class
Defines the name of the net class to which the net should belong.
When you create a constraint template, this constraint is included.
Constraint Type
Modifiable
Template Name
Optionally, defines the constraint template to which the net is assigned. You can define
Template Name individually or for all nets of a constraint class.
Constraint Type
Modifiable
Template Status
Displays the synchronization status of the net with regard to the current values stored in the
constraint template.
When one or more constraints values of a constraint template are modified after it was assigned
to one or more nets, the Template Status cell will indicate that the net no longer includes the
latest template values.
Constraint Type
Reference
Related Topics
• Updating Nets With Constraint Template Changes
Topology Type
Defines the topology type used for routing, which can be an automatic routing pattern, or
custom routing pattern that you define. You can define Topology Type individually or for all
nets of a constraint class.
You can choose from the following automatic topology types, each of which has a
corresponding Topology toolbar button:
• MST — Minimum Spanning Tree tells the router to connect the pins in any way
possible.
• Chained — Instructs the router to connect nets from pin to pin beginning with all
sources, all loads, and then all terminators.
• TShape — Tells the router to connect pins based upon a T-shaped physical model.
• Star — Instructs the router to connect pins based upon a star-shaped physical model.
• HTree — Tells the router to connect pins based upon a hierarchical tree model.
• Custom/Complex — When creating a custom topology type, you can define Topology
Type as either Custom or Complex. Custom is used for netline ordering that does not
include pin sets. Complex is used for netline ordering that does include pin sets. When
you begin the process of netline ordering a Custom topology, if you add a pin set, its
type is changed to Complex.
When you define Topology Type for a differential pair, it is applied to both nets that comprise
the differential pair. The same is true when you define it for a net that comprises a differential
pair. After you do so, the other net and the differential pair level all show the updated selection.
Note
Only a subset of the available topology types are available to differential pairs and the
nets that comprise them.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Topology Ordered
• Topology Specification for Nets and Constraint Classes
Topology Ordered
For Topology Type Custom or Complex, displays whether the custom topology type has
undergone netline ordering, which is required for each user-specific topology type.
When defining netline ordering for a Complex topology, the Topology Ordered cell will not
update to state “Yes” until the next time you launch Constraint Manager from the PCB layout
system. This is because the PCB layout system needs to analyze your usage of pin sets and
from-tos to ensure that the Complex topology is in fact fully ordered.
Tip: Defining the order for all Custom or Complex nets, even those that contains just two
pins, is a good idea. After you define the order, any changes in connectivity cause this
constraint to be set back to “No.” For example, if another engineer adds a pin to a net,
Topology Ordered would be changed from “Yes” to “No,” alerting you to the change in
connectivity.
Constraint Type
Reference
Related Topics
• Topology Type
• Manually Defining Netline Ordering (From-Tos) for a Specific Net
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Topology Specification for Nets and Constraint Classes
# Vias Max
Defines the maximum number of vias that can be created when routing a net. When specified,
this constraint value must be between 1 and 1000. You can define # Vias Max individually or
for all nets of a constraint class.
When available, the actual value for this constraint is displayed in the Actual cell to its right.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Specifying General Net Constraints
Restricted layers are those that do not have routing enabled through the Route constraint, which
is located on the Trace & Via Properties spreadsheet page.
An external layer is a surface layer, either the top or bottom layer of the board. In the above
example, the PCB has two external layers and four internal layers.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Max Restricted Layer Length Internal
• Specifying General Net Constraints
Restricted layers are those that do not have routing enabled through the Route constraint, which
is located on the Trace & Via Properties spreadsheet page.
An internal layer is a non-surface layer, sandwiched somewhere between the top and bottom
board layers. In the above example, the PCB has four internal layers.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Max Restricted Layer Length External
• Specifying General Net Constraints
Note
In order to apply this constraint, you must enable from-to rows on the Constraint
Manager spreadsheet. To do so, from the Filters menu, click Levels, and then click to
enable FromTo.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• From To Constraints Trace Width
• Overriding Trace Width Constraints for From-Tos
Note
In order to apply this constraint, you must enable from-to rows on the Constraint
Manager spreadsheet. To do so, from the Filters menu, click Levels, and then click to
enable FromTo.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• From To Constraints Z0
• Overriding Trace Width Constraints for From-Tos
From To Constraints Z0
Displays an impedance calculation based on the trace width override value defined in From To
Constraints Trace Width.
Note
In order to view this constraint, you must enable from-to rows on the Constraint Manager
spreadsheet. To do so, from the Filters menu, click Levels, and then click to enable
FromTo.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Reference
Related Topics
• From To Constraints Trace Width
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Length or TOF Delay Delta
• Length or TOF Delay Max
• Length or TOF Delay Min
• Specifying Length or Delay Rules for Nets
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Length or TOF Delay Delta
• Length or TOF Delay Max
• Length or TOF Delay Type
• Specifying Length or Delay Rules for Nets
Manhattan Length
To derive maximum length from the Manhattan length computed during routing, enter a value
between 1 and 100, and follow it with a percentage sign (%). For example, to use 110% of
Manhattan length, enter 10%.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Length or TOF Delay Delta
• Length or TOF Delay Min
• Length or TOF Delay Type
• Specifying Length or Delay Rules for Nets
Constraint Type
Reference
Constraint Type
Reference
Related Topics
• Specifying Length or Delay Rules for Nets
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Formulas Formula
• Matching Delay or Length Rules Among Nets
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
100 th
Related Topics
• Matching Delay or Length Rules Among Nets
• Matching Length or Delay Tolerance at the Constraint Class Level
Constraint Type
Reference
Constraint Type
Reference
Related Topics
• Length or TOF Delay Match
Formulas Formula
Defines a formula that can be used to create delay relationships between nets and pin pairs. You
can define Formulas Formula individually or for pin pairs.
Note
All formulas must begin with one of the following operators: =, <, or >. When an
operator is missing, Constraint Manager precedes the formula with the “=” operator when
it solves the formula. The “=” operator is not visibly added to the content of the Formulas
Formula cell.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Length or TOF Delay Match
• Defining Formulas to Create Net Relationships
Formulas Violation
Displays formula violation information based on the requirements of the Formulas Formula
constraint.
Formulas Violation cells are highlighted if a length or delay value does not adhere to the
associated Formulas Formula string. A violation cell always contains data regardless of whether
it meets the requirements of a formula. Only the highlighted cells are those you need to fix.
A highlighted Formulas Violation cell can show one of the following issues:
Note
This cell uses the most recent actuals data to determine if there is a violation. For this
reason, you must make sure that you synchronize your Constraint Manager changes with
layout using the rightmost indicator light in layout (it is amber when there are changes),
and then update actuals in Constraint Manager. Otherwise, there may be violations that
are not displayed until the next time you launch the tool. Conversely, old violations that
are no longer relevant may still be displayed when the actuals data is not up to date.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Reference
Related Topics
• Solving Formulas to Check for Errors
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
0.3 V
Related Topics
• Dynamic High Overshoot Max
• Dynamic Low Overshoot Max
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
0.2 V
Related Topics
• Dynamic High Overshoot Max
• Dynamic Low Overshoot Max
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
0.6:5 (0.6 V for 5 ns)
Related Topics
• Dynamic High Overshoot Max
• Static High Overshoot Max
• Static Low Overshoot Max
• Defining Overshoot and Ringback Constraints
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
0.4:5 (0.4 V for 5 ns)
Related Topics
• Dynamic Low Overshoot Max
• Static High Overshoot Max
• Static Low Overshoot Max
• Defining Overshoot and Ringback Constraints
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Defining Overshoot and Ringback Constraints
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Defining Overshoot and Ringback Constraints
Non-Monotonic Edge
Defines a non-monotonicity requirement for the rising edge, falling edge, or both signal edges.
You can define Non-Monotonic Edge individually, for differential pairs, or for all nets of a
constraint class. For example, when you set Non-Monotonic Edge to Rising, an error is reported
only if the rising signal edge is non-monotonic.
A monotonic signal edge progresses toward the opposite signal state without any digression
back to the original signal state.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Defining Overshoot and Ringback Constraints
When you define this constraint at the differential pair level, and the individual net level for nets
that comprise a differential pair, in the case of a conflict, the value at the differential pair level is
used.
Constraint Type
Modifiable
Related Topics
• Specifying General Net Constraints
Constraint Type
Modifiable
Related Topics
• Specifying General Net Constraints
• Rise — Constrain the rising time between low and high signal states.
• Fall — Constrain the falling time between high and low signal states.
• Rise:Fall — Constrain both rising and falling times between signal states with unique
minimum and maximum values.
Example: A value of 100:120 in the Simulated Delay Min field constrains the minimum
rising delay to 100, and the minimum falling delay to 120.
• Both — Constrain both rising and falling times, between signal states, with the same
minimum and maximum values.
When you create a constraint template, this constraint is included.
Constraint Type
Modifiable
Related Topics
• Specifying Simulated Delay Rules for Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Edge
• Specifying Simulated Delay Rules for Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Edge
• Specifying Simulated Delay Rules for Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Edge
• Specifying Simulated Delay Rules for Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Match
• Matching Delay or Length Rules Among Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Match To
• Simulated Delay Offset
• Simulated Delay Tol
• Matching Delay or Length Rules Among Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Match
• Simulated Delay Max
• Simulated Delay Min
• Simulated Delay Tol
• Matching Delay or Length Rules Among Nets
Constraint Type
Modifiable
Related Topics
• Simulated Delay Match
• Simulated Delay Max
• Simulated Delay Min
• Simulated Delay Offset
• Matching Delay or Length Rules Among Nets
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
5 ns
Related Topics
• Assigning Rules to Differential Pairs
In the above illustration, the legs of the differential pair start out in phase. One leg then becomes
longer for an allowed amount (defined through this constraint). Eventually that amount is
exceeded, as indicated above in red after point A, resulting with a hazard. It is important to note
that although the legs of the differential pair are in phase from beginning to end, the coupled
segments of the pair are not.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
50 th
Related Topics
• Phase Tuning Differential Pairs in PCB Routing Solutions Guide
• Differential Pair Phase Tol Distance Max
• Differential Pair Phase Tol Actual
• Assigning Rules to Differential Pairs
In the above illustration, this constraint allows for the legs of the differential pair to not be in
phase up to a certain point. Eventually, that distance is exceeded, as indicated above in red after
point A, resulting with a hazard. It is important to note that although the legs of the differential
pair are in phase from beginning to end, the coupled segments of the pair are not.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
500 th
Related Topics
• Phase Tuning Differential Pairs in PCB Routing Solutions Guide
• Differential Pair Tol Max
• Differential Pair Phase Tol Actual
• Assigning Rules to Differential Pairs
For information about precisely where along the differential pair the consttraints are is being
exceeded, refer to the Hazards system of your layout software.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Example
No Violation
Related Topics
• Phase Tuning Differential Pairs in PCB Routing Solutions Guide
• Differential Pair Tol Max
• Differential Pair Phase Tol Distance Max
• Assigning Rules to Differential Pairs
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
500 mil
Related Topics
• Assigning Rules to Differential Pairs
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
5000 mil
Related Topics
• Assigning Rules to Differential Pairs
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Example
200 mil
Related Topics
• Assigning Rules to Differential Pairs
Differential Spacing
Displays the required parallel distance between trace segments that comprise a differential pair.
When separate spacing values are defined for each board layer, Constraint Manager displays the
range of values as a colon-separated list. For example, "5:10" indicates a range of values where
5 is the smallest value and 10 is the largest value.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Reference
Example
30 mil
Related Topics
• Differential Spacing
• Assigning Rules to Differential Pairs
If this constraint can not be met, Differential Spacing is used. Currently, routers do not obey
Differential Impedance Target, but Hazards displays violations.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Differential Impedance Tolerance
• Differential Spacing
• Assigning Rules to Differential Pairs
Constraint Type
Modifiable
Related Topics
• Differential Impedance Target
• Differential Spacing
• Assigning Rules to Differential Pairs
I/O Standard
Defines the technology standard for an FPGA signal net. You can define I/O Standard
individually, or for all nets of a constraint class.
In xDX I/O Designer, you can set this constraint through the Signals List or Pins List by
modifying the I/O Standard attribute.
Constraint Type
Modifiable
Example
PCI
Related Topics
• Modifying xDX I/O Designer FPGA Constraints
Constraint Type
Modifiable
Example
5V
Related Topics
• Power Net
• Analog
• Power-Supply Net and Constraint Definition
Constraint Type
Modifiable
Example
0.05 V
Related Topics
• Power Net Constraints Supply Voltage
• Power Net
• Analog
• Power-Supply Net and Constraint Definition
Constraint Type
Modifiable
Example
10 mA/th^2
Related Topics
• Power Net
• Analog
• Power-Supply Net and Constraint Definition
Constraint Type
Modifiable
Example
1A
Related Topics
• Power Net
• Analog
• Power-Supply Net and Constraint Definition
Parts
Refer to the part constraint reference topics that follow. These constraints are accessible from
the Parts spreadsheet page.
Tip: For a quick reference on these constraints, refer to “Parts Summary” on page 48.
Hierarchical Path
Displays the hierarchical component path, when applicable.
Constraint Type
Reference
Part Number
Displays the part number for a design component.
When you create a constraint template, this constraint is included.
Constraint Type
Reference
Qty
Displays the number of times a part is used throughout your design.
Constraint Type
Reference
Part Type
Displays the part-type value associated with a design component.
Constraint Type
Reference
Series
Defines whether a series-class component (for example, resistor) should actually be considered
a series element (“connected in series”), and therefore not used for electrical net generation.
You can define Series for parts and part instances.
Tip: You can also modify the series specification for a part instance from the Nets tab of
the spreadsheet. To do so, expand a physical net, right-click a pin instance (for example,
R1-1), and then click Make series or Make non-series. This change affects only the part
instance.
When an extensive electrical net includes other electrical nets that should not stay grouped into
the top-level, extensive electrical net, you can disable the Series checkbox of any
connecting/shared components to separate the electrical nets of interest. A common reason to do
this is when you need to define two electrical nets as a differential pair for the purpose of
constraint definition, but they do not show up as independent electrical nets (or a pre-defined
differential pair) because of their association with the comprehensive electrical net (for
example, power net).
For example, if there is a missing differential pair, Constraint Manager might not recognize a
differential pair that shares a series discrete component. Instead, the tool interprets the design
methodology of the net as an electrical net("^^^"). To change this recognition, you would
uncheck the Series checkbox, and then automatically or manually define the differential pair.
Constraint Type
Modifiable
Note
When both IBIS Component Name and Technology constraints are defined for a part,
IBIS Component Name is used.
Constraint Type
Modifiable
Related Topics
• Technology
• Assigning Models to Parts
• Overriding IBIS Values
Technology
Defines the technology model used for a part. You can define Technology individually, or for
all instances of a part.
Because they model parts broadly by technological classification, technology models do not
provide as much detail as IBIS models. A common difference between technology models and
IBIS models is that technology models include information for each pin type, while IBIS
models include information for each pin.
Note
When both IBIS Component Name and Technology constraints are defined for a part,
IBIS Component Name is used.
Constraint Type
Modifiable
Related Topics
• IBIS Component Name
• Assigning Models to Parts
Value
Defines the electrical value associated with a discrete part, which can be resistance, inductance,
or capacitance. You can define Value individually or for all instances of a part.
The Value constraint can be used for two-pin resistors, capacitors, inductors, Thevenin and AC
terminators, and passive modules that contain multiple two-pin slots/gates.
Note
When assigning a Value constraint to a discrete part row, its reference designator (for
example, R, L, or C), must be defined. For more information, refer to “Specifying
Discrete Component Prefixes” on page 70.
Constraint Type
Modifiable
Related Topics
• Overriding IBIS Values
Constraint Type
Reference
Related Topics
• IBIS Component Name
Constraint Type
Reference
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Pin Package Delay
• Importing Pin Package Length Values
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Pin Package Length
• Specifying Design Configuration Preferences
Constraint Type
Modifiable
Example
1W
Related Topics
• Defining Thermal Constraints for Parts
Constraint Type
Modifiable
Example
1
Related Topics
• Defining Thermal Constraints for Parts
Thermal Theta-jc
Defines a part’s junction-to-casing thermal resistance. This is also commonly referred to as die-
to-package heat resistance.
Constraint Type
Modifiable
Example
7 degC/watt
Related Topics
• Defining Thermal Constraints for Parts
Constraint Type
Modifiable
Example
60 degC
Related Topics
• Defining Thermal Constraints for Parts
Constraint Type
Modifiable
Example
70 degC
Related Topics
• Defining Thermal Constraints for Parts
I/O Standard
Displays the defined technology standard for an FPGA signal net. When on the Nets
spreadsheet page, you can define I/O Standard individually, or for all nets of a constraint class.
In xDX I/O Designer, you can set this constraint through the Signals List or Pins List by
modifying the I/O Standard attribute.
Constraint Type
Reference
Example
PCI
Related Topics
• Modifying xDX I/O Designer FPGA Constraints
Noise Rules
Refer to the noise rule constraint reference topics that follow. These constraints are accessible
from the Noise Rules spreadsheet page.
Tip: For a quick reference on these constraints, refer to “Noise Rules Summary” on
page 50.
Noise Type
Defines the noise type for a specific parallelism rule and/or Crosstalk Max constraint and
Crosstalk Level.
Noise Type can be either net-to-net or class-to-class.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Differential Spacing
• Assigning Parallelism Rules to Nets and Constraint Classes
• Defining Crosstalk Rules for Nets and Constraint Classes
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Crosstalk Level
• Crosstalk Max
• Parallelism Rule
• Assigning Parallelism Rules to Nets and Constraint Classes
• Defining Crosstalk Rules for Nets and Constraint Classes
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Crosstalk Level
• Crosstalk Max
• Parallelism Rule
• Assigning Parallelism Rules to Nets and Constraint Classes
• Defining Crosstalk Rules for Nets and Constraint Classes
Parallelism Rule
Defines the parallelism rule for a class-to-class or net-to-net parallelism relationship.
The Parallelism Rule constraint can be one of the parallelism rules you defined previously. You
can also create a new parallelism rule by selecting New in the cell for this constraint.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Assigning Parallelism Rules to Nets and Constraint Classes
Crosstalk Max
Defines the maximum acceptable crosstalk that a net or all nets within a constraint class can be
subjected to as victim nets. You can define Crosstalk Max individually or for all nets of a
constraint class.
Crosstalk results when another net (aggressor) causes electromagnetic interference on a victim
net. In the following illustration, the electromagnetic field produced by net A is strong enough
to interfere with net B.
In the Constraint Manager spreadsheet, you define aggressor nets using Constraint Class or
Electrical Net Name Aggressor. You define victim nets using Constraint Class or Electrical Net
Name Victim.
For a definition of each supported design component, refer to “Supported Design Components”
on page 340.
Constraint Type
Modifiable
Related Topics
• Constraint Class or Electrical Net Name Aggressor
• Constraint Class or Electrical Net Name Victim
• Crosstalk Level
• Defining Crosstalk Rules for Nets and Constraint Classes
Crosstalk Level
Defines the signal state of the victim net in a crosstalk relationship. Supported simulators like
HyperLynx use this constraint. Layout systems do not use this constraint.
You can define Crosstalk Level using one of the following choices:
• High & Low — Require Crosstalk Max to be met for both high and low signal states.
• High — The victim net is on (in its high state). The voltage level is at or above the high
threshold (for example, 5.1 V).
• Low — The victim net is off (in its low state). The voltage level is at or below the low
threshold (for example, 0.9 V).
• Tristate — Require Crosstalk Max to be met for just tristate signal states. During
tristate, the victim net is off, but a small voltage still flows from the receiver to ground
(for example, 0.5 V).
• High & Tristate — Require Crosstalk Max to be met for both high and tristate signal
states. During tristate, the victim net is off, but a small voltage still flows from the
receiver to ground (for example, 0.5 V).
• Low & Tristate — Require Crosstalk Max to be met for both low and tristate signal
states. During tristate, the victim net is off, but a small voltage still flows from the
receiver to ground (for example, 0.5 V).
• All — Require Crosstalk Max to be met for all signal states.
When you create a constraint template, this constraint is included.
Constraint Type
Modifiable
Related Topics
• Constraint Class or Electrical Net Name Aggressor
• Constraint Class or Electrical Net Name Victim
• Crosstalk Max
• Defining Crosstalk Rules for Nets and Constraint Classes
This section provides reference documentation for command-line tools that are available with
Constraint Manager. You use these tools to export, import, encrypt, and decrypt constraint data.
cons2ascii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
cons2csv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
cons2xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
csv2dat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
ImportPinPackageLengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
ImportStk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
cons2ascii
Use to export Constraint Manager data in the encrypted ASCII format (.cs_).
Usage
..\SDD_HOME\common\<OS>\bin\cons2ascii -export -outputdir path -cns .cns file -prj .prj
file -snapshot name -topblock name
Arguments
• -export
Export argument.
• -outputdir path
Directory in which to place the exported constraint file.
• -cns .cns file
.cns file to use.
• -prj .prj file
.prj file for the design.
• -snapshot name
Snapshot name.
• -topblock name
Topblock name.
Description
This command exports the entire constraint set in encrypted ASCII format (.cs_). All arguments
for this command are required.
Tip: To determine the path to the iCDB database, snapshot name, topblock name, and
other similar information, you can use iCDB Server Manager. To access it, from the
Tools menu, click iCDB Server Manager.
Examples
cons2ascii -export -outputdir c:\OutDir -cns
c:\ee7.9.5\7.9.5EE\SDD_HOME\standard\ce_ee.cn
-prj c:\design\design.prj -snapshot DxD -topblock top
Related Topics
• Command-Line Tools Reference
• Exporting Constraints in Encrypted ASCII Format
• Decrypting and Encrypting Exported Constraint Data
cons2csv
Prerequisite: For this command to run, the design must show no problems in CES Diagnostics.
Use to export and import Constraint Manager data in the encrypted CSV format (.ecsv).
Note
To use encrypted CSV import, you must set an environment variable called
CESENG_IMPORTCSV_ENABLE to 1. Import is only supported in the Xpedition
Enterprise flow.
Usage
Export
..\SDD_HOME\common\<OS>\bin\cons2csv -export -prj .prj file -board name -snapshot name
-topblock name -frontend -output path -log path -pages -expact
Import
..\SDD_HOME\common\<OS>\bin\cons2csv -import -input file -prj .prj file -snapshot name
-topblock name -log path
Arguments
• -export
Export constraints argument. Export is the default mode for the command. As such, it is
does not require this argument for export.
• -import
Import constraints argument.
• -output file
Use only with the export argument. Directory and filename of exported constraint file(s).
When using the pages argument, this argument defines the suffix to use for each file. When
you do not use the pages argument, you should enter this argument as the full filename (for
example, c:\output\alltables.ecsv).
• -input file
Use only with the import argument. Directory and filename of the .ecsv file to import or
process.
• -prj .prj file
Directory and filename of .prj file.
• -board name
Export argument that is required if the design includes multiple boards.
• -snapshot name
Snapshot name. The command does not require this argument for export.
• -topblock name
Top block name. The command does not require this argument for export.
• -frontend
Export argument you use to export the front-end snapshot. By default, the command exports
the back-end snapshot.
• -log path
Use to create an export or import log file at the path you specify.
• -pages
Use with the export argument to create a separate .ecsv file for each table.
• -expact
Use to export the current set of actuals data (if available). Availability of actuals data
depends on whether you are exporting constraint data from the back-end snapshot, or if the
front-end snapshot includes an actuals side file.
Description
This command exports and imports constraint data in the encrypted CSV file format (.ecsv). If
exporting, you can choose to export all constraint data to a single file or multiple files.
Tip: To determine the path to the .prj file, snapshot name, topblock name, and other
similar information, you can use iCDB Server Manager. To access it, from the Tools
menu, click iCDB Server Manager.
Examples
Export
cons2csv -prj .\design.prj
Import
cons2csv -import -input c:\data\tables_Class2ClassClear.ecsv
-prj .\design.prj -snapshot DXD -topblock Schematic1
Related Topics
• Command-Line Tools Reference
• Exporting Constraints in Encrypted CSV Format
• Importing Constraints in Encrypted CSV Format
• Decrypting and Encrypting Exported Constraint Data
• Example CSV Files
• Guidelines for CSV Files
cons2xml
Use to export and import Constraint Manager data in the proprietary encrypted XML format
(.cts). You can also list detailed information about an iCDB database using this command.
Usage
Export
..\SDD_HOME\common\<OS>\bin\cons2xml -export -output path -icdb path -sn snapshot
-tb topblock -log path {-constempl | -pages list}
Import
..\SDD_HOME\common\<OS>\bin\cons2xml -import -input path -icdb path -sn snapshot
-tb topblock -log path
List
..\SDD_HOME\common\<OS>\bin\cons2xml -list -icdb path
Arguments
• -export
Export argument.
• -import
Import argument.
• -list
List argument. Provides detailed information about the iCDB database (for example,
snapshot names and block names).
• -output path
Use only with the export argument. Directory in which to place the exported constraint file.
• -input path
Use only with the import argument. Directory and filename of the .cts file to import.
• -icdb path
Path to the iCDB database.
• -sn snapshot
Snapshot name.
• -tb topblock
Top block name.
• -log path
Path to optional log file that can be created during import or export.
Tip: To determine the path to the iCDB database, snapshot name, topblock name, and
other similar information, you can use iCDB Server Manager. To access it, from the
Tools menu, click iCDB Server Manager.
Examples
Export
cons2xml -export -output c:\output\file.cts -icdb c:\mydesign\database
-sn Snapshot1 -tb Microtop -log c:\output\file_log.txt -pages ENET,PART
Import
cons2xml -import -input c:\files\file.cts -icdb c:\mydesign\database
-sn Snapshot1 -tb Microtop -log c:\files\file_log.txt
List
cons2xml -list -icdb c:\mydesign\database
Related Topics
• Command-Line Tools Reference
• Exporting Constraints in Encrypted XML Format
• Import of Constraints
csv2dat
Prerequisite: You must have a Constraint Encryption license. You can request this license free
of charge from the PCB Community: http://communities.mentor.com/mgcx/docs/DOC-
2533
Use to decrypt and encrypt data files exported from Constraint Manager. You can decrypt files
in encrypted ASCII (.cs_) format and encrypted CSV (.ecsv) format. You also use this
command to encrypt CSV files that you create from scratch into encrypted CSV (.ecsv) format.
Usage
..\SDD_HOME\common\<OS>\bin\csv2dat -input path {-decrypt | -encrypt} -output path
Arguments
• -input path
The path and filename of the file you want to process.
• {-decrypt | -encrypt}
Specifies whether you are decrypting or encrypting data. This argument is optional because
the command determines whether you want to encrypt or decrypt based on the extension of
the input file.
• -output path
The path and filename of the output file (.ecsv) you want to produce. If you do not specify
this argument, the command creates the file in the location of the input file.
Description
This command encrypts or decrypts a single file at a time. Upon completion, the command
outputs the location of the file it creates. The output file type is the opposite type of the input
file. For example, if you run csv2dat on an .ecsv file, the tool produces a .csv file.
Examples
Decrypt
csv2dat -input C:\files\design1_nets.ecsv
Related Topics
• Command-Line Tools Reference
• Decrypting and Encrypting Exported Constraint Data
ImportPinPackageLengths
Use to import values from a PinPkgLengths.txt side file.
Usage
..\SDD_HOME\common\<OS>\bin\ImportPinPackageLengths -icdb path -sn name -tb name
-ppl path -offline -zero_ppl -log path
Arguments
• -icdb path
Path to the iCDB database.
• -sn name
Snapshot name.
• -tb name
Topblock name.
• -ppl path
Path to a PinPkgLengths.txt side file
• -offline
Run import without an iCDB server.
• -zero_ppl
Sets values to 0 for any pin package lengths that are not specified in the side file. This only
applies to pins of part numbers defined in the side file. Otherwise, the existing values in
Constraint Manager are kept, when defined.
• -log path
Creates a log file at the specified path.
Description
This command imports Constraint Manager Parts page Pin Package Length constraint values
from a side file that you previously created or acquired. When a part number included in a side
file is missing definitions for one or more pins, you can use the zero_ppl argument to set Pin
Package Length to zero for those pins.
Tip: To determine the path to the iCDB database, snapshot name, topblock name, and
other similar information, you can use iCDB Server Manager. To access it, from the
Tools menu, click iCDB Server Manager.
Examples
ImportPinPackageLengths -icdb c:\micro_design\database -sn micro -tb top
-ppl c:\data\PinPkgLengths.txt
Related Topics
• Command-Line Tools Reference
• Importing Pin Package Length Values
• PinPkgLengths.txt File Format
• Pin Package Length
ImportStk
Use to import parameters of a board stackup into a front-end design or back-end design.
Usage
..\SDD_HOME\common\<OS>\bin\ImportStk -input path -prj path -board name -frontend
-log path
Arguments
• -input path
Location and filename of the .stk file.
• -prj path
Location and filename of the .prj file.
• -board name
Board name. This argument is required if multiple boards exist in the design.
• -frontend
Imports the .stk file into the front-end design. By default, the import affects the back-end
design.
• -log path
Creates a log file at the specified location.
Description
You can use HyperLynx to create stackup files (.stk) and then input their parameters into a
front-end or back-end design through the Constraint Manager ImportStk command. Constraint
Manager allows import of parameters in .stk files based on the following requirements:
• The design already has a defined stackup.
• The .stk file contains the same number of layers and layer types as the current stackup
for the design.
During an import, the command uses the following .stk file definitions:
• Basic — Er, layer name, thermal conductivity, thickness, and usage
• Dielectric — Loss tangent and technology
• Metal — Bulk resistivity and temperature coefficient
Examples
ImportStk -input c:\stackups\16_layer.stk
-prj c:\my_designs\design1\design1.prj
Related Topics
• Command-Line Tools Reference
Index
Hierarchy, 156
Index
IMPORTANT INFORMATION
USE OF ALL SOFTWARE IS SUBJECT TO LICENSE RESTRICTIONS. CAREFULLY READ THIS LICENSE
AGREEMENT BEFORE USING THE PRODUCTS. USE OF SOFTWARE INDICATES CUSTOMER’S COMPLETE
AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
ANY ADDITIONAL OR DIFFERENT PURCHASE ORDER TERMS AND CONDITIONS SHALL NOT APPLY.
This is a legal agreement concerning the use of Software (as defined in Section 2) and hardware (collectively “Products”)
between the company acquiring the Products (“Customer”), and the Mentor Graphics entity that issued the corresponding
quotation or, if no quotation was issued, the applicable local Mentor Graphics entity (“Mentor Graphics”). Except for license
agreements related to the subject matter of this license agreement which are physically signed by Customer and an authorized
representative of Mentor Graphics, this Agreement and the applicable quotation contain the parties’ entire understanding
relating to the subject matter and supersede all prior or contemporaneous agreements. If Customer does not agree to these
terms and conditions, promptly return or, in the case of Software received electronically, certify destruction of Software and all
accompanying items within five days after receipt of Software and receive a full refund of any license fee paid.
1.1. To the extent Customer (or if agreed by Mentor Graphics, Customer’s appointed third party buying agent) places and Mentor
Graphics accepts purchase orders pursuant to this Agreement (each an “Order”), each Order will constitute a contract between
Customer and Mentor Graphics, which shall be governed solely and exclusively by the terms and conditions of this Agreement,
any applicable addenda and the applicable quotation, whether or not those documents are referenced on the Order. Any
additional or conflicting terms and conditions appearing on an Order or presented in any electronic portal or automated order
management system, whether or not required to be electronically accepted, will not be effective unless agreed in writing and
physically signed by an authorized representative of Customer and Mentor Graphics.
1.2. Amounts invoiced will be paid, in the currency specified on the applicable invoice, within 30 days from the date of such invoice.
Any past due invoices will be subject to the imposition of interest charges in the amount of one and one-half percent per month
or the applicable legal rate currently in effect, whichever is lower. Prices do not include freight, insurance, customs duties, taxes
or other similar charges, which Mentor Graphics will state separately in the applicable invoice. Unless timely provided with a
valid certificate of exemption or other evidence that items are not taxable, Mentor Graphics will invoice Customer for all
applicable taxes including, but not limited to, VAT, GST, sales tax, consumption tax and service tax. Customer will make all
payments free and clear of, and without reduction for, any withholding or other taxes; any such taxes imposed on payments by
Customer hereunder will be Customer’s sole responsibility. If Customer appoints a third party to place purchase orders and/or
make payments on Customer’s behalf, Customer shall be liable for payment under Orders placed by such third party in the event
of default.
1.3. All Products are delivered FCA factory (Incoterms 2010), freight prepaid and invoiced to Customer, except Software delivered
electronically, which shall be deemed delivered when made available to Customer for download. Mentor Graphics retains a
security interest in all Products delivered under this Agreement, to secure payment of the purchase price of such Products, and
Customer agrees to sign any documents that Mentor Graphics determines to be necessary or convenient for use in filing or
perfecting such security interest. Mentor Graphics’ delivery of Software by electronic means is subject to Customer’s provision
of both a primary and an alternate e-mail address.
2. GRANT OF LICENSE. The software installed, downloaded, or otherwise acquired by Customer under this Agreement, including any
updates, modifications, revisions, copies, documentation and design data (“Software”) are copyrighted, trade secret and confidential
information of Mentor Graphics or its licensors, who maintain exclusive title to all Software and retain all rights not expressly granted
by this Agreement. Mentor Graphics grants to Customer, subject to payment of applicable license fees, a nontransferable, nonexclusive
license to use Software solely: (a) in machine-readable, object-code form (except as provided in Subsection 5.2); (b) for Customer’s
internal business purposes; (c) for the term of the license; and (d) on the computer hardware and at the site authorized by Mentor
Graphics. A site is restricted to a one-half mile (800 meter) radius. Customer may have Software temporarily used by an employee for
telecommuting purposes from locations other than a Customer office, such as the employee’s residence, an airport or hotel, provided
that such employee’s primary place of employment is the site where the Software is authorized for use. Mentor Graphics’ standard
policies and programs, which vary depending on Software, license fees paid or services purchased, apply to the following: (a)
relocation of Software; (b) use of Software, which may be limited, for example, to execution of a single session by a single user on the
authorized hardware or for a restricted period of time (such limitations may be technically implemented through the use of
authorization codes or similar devices); and (c) support services provided, including eligibility to receive telephone support, updates,
modifications, and revisions. For the avoidance of doubt, if Customer provides any feedback or requests any change or enhancement to
Products, whether in the course of receiving support or consulting services, evaluating Products, performing beta testing or otherwise,
any inventions, product improvements, modifications or developments made by Mentor Graphics (at Mentor Graphics’ sole discretion)
will be the exclusive property of Mentor Graphics.
3. ESC SOFTWARE. If Customer purchases a license to use development or prototyping tools of Mentor Graphics’ Embedded Software
Channel (“ESC”), Mentor Graphics grants to Customer a nontransferable, nonexclusive license to reproduce and distribute executable
files created using ESC compilers, including the ESC run-time libraries distributed with ESC C and C++ compiler Software that are
linked into a composite program as an integral part of Customer’s compiled computer program, provided that Customer distributes
these files only in conjunction with Customer’s compiled computer program. Mentor Graphics does NOT grant Customer any right to
duplicate, incorporate or embed copies of Mentor Graphics’ real-time operating systems or other embedded software products into
Customer’s products or applications without first signing or otherwise agreeing to a separate agreement with Mentor Graphics for such
purpose.
4. BETA CODE.
4.1. Portions or all of certain Software may contain code for experimental testing and evaluation (which may be either alpha or beta,
collectively “Beta Code”), which may not be used without Mentor Graphics’ explicit authorization. Upon Mentor Graphics’
authorization, Mentor Graphics grants to Customer a temporary, nontransferable, nonexclusive license for experimental use to
test and evaluate the Beta Code without charge for a limited period of time specified by Mentor Graphics. Mentor Graphics may
choose, at its sole discretion, not to release Beta Code commercially in any form.
4.2. If Mentor Graphics authorizes Customer to use the Beta Code, Customer agrees to evaluate and test the Beta Code under normal
conditions as directed by Mentor Graphics. Customer will contact Mentor Graphics periodically during Customer’s use of the
Beta Code to discuss any malfunctions or suggested improvements. Upon completion of Customer’s evaluation and testing,
Customer will send to Mentor Graphics a written evaluation of the Beta Code, including its strengths, weaknesses and
recommended improvements.
4.3. Customer agrees to maintain Beta Code in confidence and shall restrict access to the Beta Code, including the methods and
concepts utilized therein, solely to those employees and Customer location(s) authorized by Mentor Graphics to perform beta
testing. Customer agrees that any written evaluations and all inventions, product improvements, modifications or developments
that Mentor Graphics conceived or made during or subsequent to this Agreement, including those based partly or wholly on
Customer’s feedback, will be the exclusive property of Mentor Graphics. Mentor Graphics will have exclusive rights, title and
interest in all such property. The provisions of this Subsection 4.3 shall survive termination of this Agreement.
5. RESTRICTIONS ON USE.
5.1. Customer may copy Software only as reasonably necessary to support the authorized use. Each copy must include all notices
and legends embedded in Software and affixed to its medium and container as received from Mentor Graphics. All copies shall
remain the property of Mentor Graphics or its licensors. Customer shall maintain a record of the number and primary location of
all copies of Software, including copies merged with other software, and shall make those records available to Mentor Graphics
upon request. Customer shall not make Products available in any form to any person other than Customer’s employees and on-
site contractors, excluding Mentor Graphics competitors, whose job performance requires access and who are under obligations
of confidentiality. Customer shall take appropriate action to protect the confidentiality of Products and ensure that any person
permitted access does not disclose or use Products except as permitted by this Agreement. Customer shall give Mentor Graphics
written notice of any unauthorized disclosure or use of the Products as soon as Customer becomes aware of such unauthorized
disclosure or use. Except as otherwise permitted for purposes of interoperability as specified by applicable and mandatory local
law, Customer shall not reverse-assemble, reverse-compile, reverse-engineer or in any way derive any source code from
Software. Log files, data files, rule files and script files generated by or for the Software (collectively “Files”), including without
limitation files containing Standard Verification Rule Format (“SVRF”) and Tcl Verification Format (“TVF”) which are Mentor
Graphics’ trade secret and proprietary syntaxes for expressing process rules, constitute or include confidential information of
Mentor Graphics. Customer may share Files with third parties, excluding Mentor Graphics competitors, provided that the
confidentiality of such Files is protected by written agreement at least as well as Customer protects other information of a
similar nature or importance, but in any case with at least reasonable care. Customer may use Files containing SVRF or TVF
only with Mentor Graphics products. Under no circumstances shall Customer use Products or Files or allow their use for the
purpose of developing, enhancing or marketing any product that is in any way competitive with Products, or disclose to any
third party the results of, or information pertaining to, any benchmark.
5.2. If any Software or portions thereof are provided in source code form, Customer will use the source code only to correct software
errors and enhance or modify the Software for the authorized use. Customer shall not disclose or permit disclosure of source
code, in whole or in part, including any of its methods or concepts, to anyone except Customer’s employees or on-site
contractors, excluding Mentor Graphics competitors, with a need to know. Customer shall not copy or compile source code in
any manner except to support this authorized use.
5.3. Customer may not assign this Agreement or the rights and duties under it, or relocate, sublicense, or otherwise transfer the
Products, whether by operation of law or otherwise (“Attempted Transfer”), without Mentor Graphics’ prior written consent and
payment of Mentor Graphics’ then-current applicable relocation and/or transfer fees. Any Attempted Transfer without Mentor
Graphics’ prior written consent shall be a material breach of this Agreement and may, at Mentor Graphics’ option, result in the
immediate termination of the Agreement and/or the licenses granted under this Agreement. The terms of this Agreement,
including without limitation the licensing and assignment provisions, shall be binding upon Customer’s permitted successors in
interest and assigns.
5.4. The provisions of this Section 5 shall survive the termination of this Agreement.
6. SUPPORT SERVICES. To the extent Customer purchases support services, Mentor Graphics will provide Customer with updates and
technical support for the Products, at the Customer site(s) for which support is purchased, in accordance with Mentor Graphics’ then
current End-User Support Terms located at http://supportnet.mentor.com/supportterms.
7. LIMITED WARRANTY.
7.1. Mentor Graphics warrants that during the warranty period its standard, generally supported Products, when properly installed,
will substantially conform to the functional specifications set forth in the applicable user manual. Mentor Graphics does not
warrant that Products will meet Customer’s requirements or that operation of Products will be uninterrupted or error free. The
warranty period is 90 days starting on the 15th day after delivery or upon installation, whichever first occurs. Customer must
notify Mentor Graphics in writing of any nonconformity within the warranty period. For the avoidance of doubt, this warranty
applies only to the initial shipment of Software under an Order and does not renew or reset, for example, with the delivery of (a)
Software updates or (b) authorization codes or alternate Software under a transaction involving Software re-mix. This warranty
shall not be valid if Products have been subject to misuse, unauthorized modification, improper installation or Customer is not
in compliance with this Agreement. MENTOR GRAPHICS’ ENTIRE LIABILITY AND CUSTOMER’S EXCLUSIVE
REMEDY SHALL BE, AT MENTOR GRAPHICS’ OPTION, EITHER (A) REFUND OF THE PRICE PAID UPON
RETURN OF THE PRODUCTS TO MENTOR GRAPHICS OR (B) MODIFICATION OR REPLACEMENT OF THE
PRODUCTS THAT DO NOT MEET THIS LIMITED WARRANTY. MENTOR GRAPHICS MAKES NO WARRANTIES
WITH RESPECT TO: (A) SERVICES; (B) PRODUCTS PROVIDED AT NO CHARGE; OR (C) BETA CODE; ALL OF
WHICH ARE PROVIDED “AS IS.”
7.2. THE WARRANTIES SET FORTH IN THIS SECTION 7 ARE EXCLUSIVE. NEITHER MENTOR GRAPHICS NOR ITS
LICENSORS MAKE ANY OTHER WARRANTIES EXPRESS, IMPLIED OR STATUTORY, WITH RESPECT TO
PRODUCTS PROVIDED UNDER THIS AGREEMENT. MENTOR GRAPHICS AND ITS LICENSORS SPECIFICALLY
DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT OF INTELLECTUAL PROPERTY.
8. LIMITATION OF LIABILITY. EXCEPT WHERE THIS EXCLUSION OR RESTRICTION OF LIABILITY WOULD BE VOID
OR INEFFECTIVE UNDER APPLICABLE LAW, IN NO EVENT SHALL MENTOR GRAPHICS OR ITS LICENSORS BE
LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR
SAVINGS) WHETHER BASED ON CONTRACT, TORT OR ANY OTHER LEGAL THEORY, EVEN IF MENTOR GRAPHICS
OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT SHALL MENTOR
GRAPHICS’ OR ITS LICENSORS’ LIABILITY UNDER THIS AGREEMENT EXCEED THE AMOUNT RECEIVED FROM
CUSTOMER FOR THE HARDWARE, SOFTWARE LICENSE OR SERVICE GIVING RISE TO THE CLAIM. IN THE CASE
WHERE NO AMOUNT WAS PAID, MENTOR GRAPHICS AND ITS LICENSORS SHALL HAVE NO LIABILITY FOR ANY
DAMAGES WHATSOEVER. THE PROVISIONS OF THIS SECTION 8 SHALL SURVIVE THE TERMINATION OF THIS
AGREEMENT.
10. INDEMNIFICATION. CUSTOMER AGREES TO INDEMNIFY AND HOLD HARMLESS MENTOR GRAPHICS AND ITS
LICENSORS FROM ANY CLAIMS, LOSS, COST, DAMAGE, EXPENSE OR LIABILITY, INCLUDING ATTORNEYS’ FEES,
ARISING OUT OF OR IN CONNECTION WITH THE USE OF MENTOR GRAPHICS PRODUCTS IN OR FOR HAZARDOUS
APPLICATIONS. THE PROVISIONS OF THIS SECTION 10 SHALL SURVIVE THE TERMINATION OF THIS AGREEMENT.
11. INFRINGEMENT.
11.1. Mentor Graphics will defend or settle, at its option and expense, any action brought against Customer in the United States,
Canada, Japan, or member state of the European Union which alleges that any standard, generally supported Product acquired
by Customer hereunder infringes a patent or copyright or misappropriates a trade secret in such jurisdiction. Mentor Graphics
will pay costs and damages finally awarded against Customer that are attributable to such action. Customer understands and
agrees that as conditions to Mentor Graphics’ obligations under this section Customer must: (a) notify Mentor Graphics
promptly in writing of the action; (b) provide Mentor Graphics all reasonable information and assistance to settle or defend the
action; and (c) grant Mentor Graphics sole authority and control of the defense or settlement of the action.
11.2. If a claim is made under Subsection 11.1 Mentor Graphics may, at its option and expense: (a) replace or modify the Product so
that it becomes noninfringing; (b) procure for Customer the right to continue using the Product; or (c) require the return of the
Product and refund to Customer any purchase price or license fee paid, less a reasonable allowance for use.
11.3. Mentor Graphics has no liability to Customer if the action is based upon: (a) the combination of Software or hardware with any
product not furnished by Mentor Graphics; (b) the modification of the Product other than by Mentor Graphics; (c) the use of
other than a current unaltered release of Software; (d) the use of the Product as part of an infringing process; (e) a product that
Customer makes, uses, or sells; (f) any Beta Code or Product provided at no charge; (g) any software provided by Mentor
Graphics’ licensors who do not provide such indemnification to Mentor Graphics’ customers; or (h) infringement by Customer
that is deemed willful. In the case of (h), Customer shall reimburse Mentor Graphics for its reasonable attorney fees and other
costs related to the action.
11.4. THIS SECTION 11 IS SUBJECT TO SECTION 8 ABOVE AND STATES THE ENTIRE LIABILITY OF MENTOR
GRAPHICS AND ITS LICENSORS, AND CUSTOMER’S SOLE AND EXCLUSIVE REMEDY, FOR DEFENSE,
SETTLEMENT AND DAMAGES, WITH RESPECT TO ANY ALLEGED PATENT OR COPYRIGHT INFRINGEMENT
OR TRADE SECRET MISAPPROPRIATION BY ANY PRODUCT PROVIDED UNDER THIS AGREEMENT.
12.1. If a Software license was provided for limited term use, such license will automatically terminate at the end of the authorized
term. Mentor Graphics may terminate this Agreement and/or any license granted under this Agreement immediately upon
written notice if Customer: (a) exceeds the scope of the license or otherwise fails to comply with the licensing or confidentiality
provisions of this Agreement, or (b) becomes insolvent, files a bankruptcy petition, institutes proceedings for liquidation or
winding up or enters into an agreement to assign its assets for the benefit of creditors. For any other material breach of any
provision of this Agreement, Mentor Graphics may terminate this Agreement and/or any license granted under this Agreement
upon 30 days written notice if Customer fails to cure the breach within the 30 day notice period. Termination of this Agreement
or any license granted hereunder will not affect Customer’s obligation to pay for Products shipped or licenses granted prior to
the termination, which amounts shall be payable immediately upon the date of termination.
12.2. Upon termination of this Agreement, the rights and obligations of the parties shall cease except as expressly set forth in this
Agreement. Upon termination, Customer shall ensure that all use of the affected Products ceases, and shall return hardware and
either return to Mentor Graphics or destroy Software in Customer’s possession, including all copies and documentation, and
certify in writing to Mentor Graphics within ten business days of the termination date that Customer no longer possesses any of
the affected Products or copies of Software in any form.
13. EXPORT. The Products provided hereunder are subject to regulation by local laws and United States (“U.S.”) government agencies,
which prohibit export, re-export or diversion of certain products, information about the products, and direct or indirect products thereof,
to certain countries and certain persons. Customer agrees that it will not export or re-export Products in any manner without first
obtaining all necessary approval from appropriate local and U.S. government agencies. If Customer wishes to disclose any information
to Mentor Graphics that is subject to any U.S. or other applicable export restrictions, including without limitation the U.S. International
Traffic in Arms Regulations (ITAR) or special controls under the Export Administration Regulations (EAR), Customer will notify
Mentor Graphics personnel, in advance of each instance of disclosure, that such information is subject to such export restrictions.
14. U.S. GOVERNMENT LICENSE RIGHTS. Software was developed entirely at private expense. The parties agree that all Software is
commercial computer software within the meaning of the applicable acquisition regulations. Accordingly, pursuant to U.S. FAR 48
CFR 12.212 and DFAR 48 CFR 227.7202, use, duplication and disclosure of the Software by or for the U.S. government or a U.S.
government subcontractor is subject solely to the terms and conditions set forth in this Agreement, which shall supersede any
conflicting terms or conditions in any government order document, except for provisions which are contrary to applicable mandatory
federal laws.
15. THIRD PARTY BENEFICIARY. Mentor Graphics Corporation, Mentor Graphics (Ireland) Limited, Microsoft Corporation and
other licensors may be third party beneficiaries of this Agreement with the right to enforce the obligations set forth herein.
16. REVIEW OF LICENSE USAGE. Customer will monitor the access to and use of Software. With prior written notice and during
Customer’s normal business hours, Mentor Graphics may engage an internationally recognized accounting firm to review Customer’s
software monitoring system and records deemed relevant by the internationally recognized accounting firm to confirm Customer’s
compliance with the terms of this Agreement or U.S. or other local export laws. Such review may include FlexNet (or successor
product) report log files that Customer shall capture and provide at Mentor Graphics’ request. Customer shall make records available in
electronic format and shall fully cooperate with data gathering to support the license review. Mentor Graphics shall bear the expense of
any such review unless a material non-compliance is revealed. Mentor Graphics shall treat as confidential information all information
gained as a result of any request or review and shall only use or disclose such information as required by law or to enforce its rights
under this Agreement. The provisions of this Section 16 shall survive the termination of this Agreement.
17. CONTROLLING LAW, JURISDICTION AND DISPUTE RESOLUTION. The owners of certain Mentor Graphics intellectual
property licensed under this Agreement are located in Ireland and the U.S. To promote consistency around the world, disputes shall be
resolved as follows: excluding conflict of laws rules, this Agreement shall be governed by and construed under the laws of the State of
Oregon, U.S., if Customer is located in North or South America, and the laws of Ireland if Customer is located outside of North or
South America. All disputes arising out of or in relation to this Agreement shall be submitted to the exclusive jurisdiction of the courts
of Portland, Oregon when the laws of Oregon apply, or Dublin, Ireland when the laws of Ireland apply. Notwithstanding the foregoing,
all disputes in Asia arising out of or in relation to this Agreement shall be resolved by arbitration in Singapore before a single arbitrator
to be appointed by the chairman of the Singapore International Arbitration Centre (“SIAC”) to be conducted in the English language, in
accordance with the Arbitration Rules of the SIAC in effect at the time of the dispute, which rules are deemed to be incorporated by
reference in this section. Nothing in this section shall restrict Mentor Graphics’ right to bring an action (including for example a motion
for injunctive relief) against Customer in the jurisdiction where Customer’s place of business is located. The United Nations
Convention on Contracts for the International Sale of Goods does not apply to this Agreement.
18. SEVERABILITY. If any provision of this Agreement is held by a court of competent jurisdiction to be void, invalid, unenforceable or
illegal, such provision shall be severed from this Agreement and the remaining provisions will remain in full force and effect.
19. MISCELLANEOUS. This Agreement contains the parties’ entire understanding relating to its subject matter and supersedes all prior
or contemporaneous agreements. Some Software may contain code distributed under a third party license agreement that may provide
additional rights to Customer. Please see the applicable Software documentation for details. This Agreement may only be modified in
writing, signed by an authorized representative of each party. Waiver of terms or excuse of breach must be in writing and shall not
constitute subsequent consent, waiver or excuse.