Ces User
Ces User
Ces User
Manual
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 CORPORATION HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
U.S. Government Restricted Rights. The SOFTWARE and documentation have been developed entirely
at private expense and are commercial computer software provided with restricted rights. Use,
duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the
restrictions set forth in the license agreement provided with the software pursuant to DFARS 227.7202-
3(a) or as set forth in subparagraph (c)(1) and (2) of the Commercial Computer Software - Restricted
Rights clause at FAR 52.227-19, as applicable.
Contractor/manufacturer is:
Mentor Graphics Corporation
8005 S.W. Boeckman Road, Wilsonville, Oregon 97070-7777.
Telephone: 503.685.7000
Toll-Free Telephone: 800.592.2210
Website: www.mentor.com
SupportNet: supportnet.mentor.com/
Send Feedback on Documentation: supportnet.mentor.com/doc_feedback_form
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of
Mentor Graphics Corporation or other third parties. No one is permitted to use these Marks without the
prior written consent of Mentor Graphics or the respective third-party owner. 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.
Table of Contents
Chapter 1
CES Quick References and Work Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Quick Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Quick Reference - CES Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Quick Reference - CES GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Setup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Filters Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Data Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Output Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Quick Reference - CES Constraint Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Trace and Via Properties Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Clearances Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Z-Axis Clearances Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Nets Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Parts Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Noise Rules Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
CES Work Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Schematic-Design Work Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
PCB-Layout Work Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Chapter 2
CES Overview and Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
CES Constraint-Driven Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
CES Constraint-Driven Design Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Concurrent Design Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Creating PCB Rule Areas Through Rule-Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Creating Net Classes to Group Rule-Area Nets More Extensively . . . . . . . . . . . . . . . . . . 48
Creating Constraint Classes to Group and Define Net Constraints . . . . . . . . . . . . . . . . . . 49
Verifying Design Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Verifying Simulated Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Before You Begin Using CES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Differential Pairs Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Importing a Layout Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Importing a 2005.x Ces.prefs File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DxDesigner-CES-Expedition PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Keyin Netlist-CES-Expedition PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Expedition TeamPCB and XtremePCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Understanding Electrical Nets and Physical Nets in CES . . . . . . . . . . . . . . . . . . . . . . . . . 53
Chapter 3
CES Constraint Spreadsheet Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Defining Constraints With CES Spreadsheets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Understanding Constraint Hierarchy and Overrides. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Organization of CES Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Selecting CES Spreadsheet Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Identifying Spreadsheet Icons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Resizing Spreadsheet Columns and Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Zooming the Display of Spreadsheet Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Expanding and Collapsing Spreadsheet Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Sorting Constraint Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Deleting Constraint Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Copying and Pasting Constraint Values Between Separate Invocations of CES . . . . . . . . 113
Searching for Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Chapter 4
Net Class Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Creating Net Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Creating Net Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Adding Nets to a Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Adding Power Nets to a Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Creating a Net Class From an Existing Net Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Deleting Net Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Chapter 5
Constraint Class Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Creating Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Creating Constraint Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Adding Nets to a Constraint Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Defining Bus Constraint Classes Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Determining Nets That Comprise a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Creating a Constraint Class From an Existing Constraint Class . . . . . . . . . . . . . . . . . . . . . . 151
Deleting Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Chapter 6
Rule-Area Scheme Creation and Clearance Rule Definition . . . . . . . . . . . . . . . . . . . . . . . 153
Creating Rule Area Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
(Minimum) Scheme Clearances and Widths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Chapter 7
Net Constraint Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Specifying General Net Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Specifying Topologies for Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
The Difference Between From-Tos and Pin Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Handling Multiple Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Differential-Pair Topology Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Changing Topology Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Creating Pin Sets to Construct Advanced Topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Overriding Trace Width Constraints for From-Tos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Defining Pin Pairs for Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Including Internal Component-Pin Delay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Defining Discrete Component Pin Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Specifying Delay Rules for Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Defining a Routing Tolerance for All Nets Within a Constraint Class . . . . . . . . . . . . . . . 193
Specifying Maximum Length as a Percentage Above Manhattan Length . . . . . . . . . . . . . 193
Net Delay Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Matching Delay Rules Among Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Matching Delay Tolerance at the Constraint Class Level . . . . . . . . . . . . . . . . . . . . . . . . . 197
Defining Formulas to Create Net Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Including Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Entering Multiple Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Solving Formulas to Check for Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Complex Formula Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Creating Constants and Variables for Delay Rules and Formulas. . . . . . . . . . . . . . . . . . . . . 203
Using Free Variables to Constrain Delay by Group Only . . . . . . . . . . . . . . . . . . . . . . . . . 203
Specifying Simulated Delay Rules for Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Signal Edge Rates and Crosstalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Matching Simulated Delay Rules Among Nets or Constraint Classes . . . . . . . . . . . . . . . . 207
Defining Overshoot and Ringback Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Understanding Static and Dynamic Overshoot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Modifying I/O Designer FPGA Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Defining Constraints for Single-Pin Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Chapter 8
Parallelism and Crosstalk Rule Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Determining When to Use Parallelism or Crosstalk Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Parallelism Rules Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Defining Parallelism Rules for Stack-Up Layers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Parallelism Rule Definition Methodologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Assigning Parallelism Rules to Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . 218
Navigating to Assigned Parallelism Rules From the Nets Page . . . . . . . . . . . . . . . . . . . . . 220
Defining Crosstalk Rules for Nets and Constraint Classes . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Chapter 9
Differential Pair Creation and Pair Rule Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Defining Differential Pairs Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Defining Differential Pairs Automatically. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
IBIS Model [Diff_Pin] Section Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Assigning Rules to Differential Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Differential-Pair Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Chapter 10
Constraint Template Creation and Reuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Creating Constraint Templates to Capture Net Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . 231
Developing Libraries of Constraint Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Constraints and Values Stored With Each Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Applying Constraint Templates to Nets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Applying Constraint Templates From the Nets Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Matching Devices More Precisely When Applying Constraint Templates . . . . . . . . . . . . 236
Modifying Pin Matching for an Applied Constraint Template. . . . . . . . . . . . . . . . . . . . . . 237
Updating a Net With Constraint Template Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Reusing Constraint Templates in External Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Chapter 11
CES Constraints Export and Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Exporting CES Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Exporting Constraints in Encrypted XML Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Exporting Constraints in Encrypted CSV Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Exporting Constraints in Encrypted ASCII Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Decrypting and Encrypting Exported Constraint Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Importing CES Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Importing Constraints in Encrypted XML Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Importing Constraints in Encrypted CSV Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Working With the CSV Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Chapter 12
Stackup Display and Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Viewing or Modifying Stackup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Correlating Layer Names Among Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Stackup Editing Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Chapter 13
Part-Model Assignment Verification and Part Constraints Definition . . . . . . . . . . . . . . . 261
IBIS Models Delivered With CES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Specifying Available Part Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Specifying Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Specifying Individual Model Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Understanding Relative Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Verifying Default Model Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Automatic Assignment of IBIS Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
IBIS Models or Technology Models? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Assigning Models to Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Updating Part Model Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Reloading Model Directories and Individual Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Overriding IBIS Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Defining Thermal Constraints for Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Importing Pin Package Length Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Example PinPkgLengths.txt File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Chapter 14
Signal Integrity Exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Sending Nets to HyperLynx LineSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Updating CES Dynamically With HyperLynx LineSim Changes . . . . . . . . . . . . . . . . . . . 274
Sending Nets to ICX Pro Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Creating Constraint Templates to Capture Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . 276
Updating CES With Constraint Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Chapter 15
Design Tool Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Managing Design Changes Between Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Communicating Design Changes Between Schematic and Layout . . . . . . . . . . . . . . . . . . 281
CES Synchronization of Constraint Databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Resolving Schematic Constraint Conflicts Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Viewing Constraint Resolution Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Synchronizing Constraint Data Between Schematics and CES. . . . . . . . . . . . . . . . . . . . . . . 286
Sending Schematic Data to Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Sending DxDesigner Schematic Data to Expedition PCB . . . . . . . . . . . . . . . . . . . . . . . . . 286
Synchronizing Constraint Data Between CES and Layout . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Sending Layout Data to Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Appendix A
CES Constraint Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Using This Constraint Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Supported Design Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Trace and Via Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Via Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
IBIS Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Schematic Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Topology Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Pin Package Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Pin Package Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Thermal Power Dissipation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Thermal Power Scaling Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Thermal Theta-jc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Thermal Casing Temperature Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Thermal Junction Temperature Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
I/O Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Noise Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Noise Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Constraint Class or Electrical Net Name Victim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Constraint Class or Electrical Net Name Aggressor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Parallelism Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Crosstalk Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Crosstalk Sim Actual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Crosstalk Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Appendix B
CES Command-Line Tools Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
cons2ascii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
cons2csv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
cons2xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
csv2dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
ImportPinPackageLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Index
End-User License Agreement
Welcome to the “Constraint Editor System™ (CES) User’s Manual.” This section includes
quick references and work flows that will help you get up, running, and comfortable with CES
in a minimal amount of time.
Quick Help
Please click within the following illustration for single-click access to a wide variety of topics
covered in this manual.
Click within the Topic column to jump to the corresponding topic for one of the following
commands. When viewing this documentation from your web browser, to open this quick
reference in a standalone browser window, click here.
Click within the right column of the tables below to view the topic associated with a specific
menu selection. When viewing this documentation from your web browser, to open this quick
reference in a standalone browser window, click here.
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.
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.
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.
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 Preferences” on page 59 and “Setting
Up CES” on page 59
Setup > Cross Probing “Cross Probing Between Design Systems and CES” on
page 58
Setup > Shortcuts “Customizing Command Shortcut Keys” on page 93
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.
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 CES sessions that are
launched on an Expedition Enterprise Flow: DxDesigner design.
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.
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.
CES Constraint Reference: To get more information about a specific constraint, click the CES
Constraint name as it appears in one of the quick-reference tables below. Clicking a
constraint name brings you to the corresponding topic for a constraint, all of which are located
in the CES Constraint Reference (appendix A in the table of contents).
Clearances Summary
Please refer to the following table for clearance constraint quick-reference information.
Table 1-11. Clearances
CES Constraint Purpose
“Index” on page 303 Displays the layer number for a board layer. This
constraint is also displayed on the Trace & Via Properties
page and Z-Axis Clearances page.
“Type” on page 304 Displays the type of printed circuit board layer (for
example, signal, power, or ground). This constraint is also
displayed on the Trace & Via Properties page.
Nets Summary
Please refer to the following table for net constraint quick-reference information.
Table 1-13. Nets
CES Constraint Group Purpose
“# Pins” on page 334 Displays the number of pins that comprise the
net.
Parts Summary
Please refer to the following table for part constraint quick-reference information.
• Schematic design – This work flow begins with creating and defining constraint classes,
which hold electrical, signal integrity, and high-speed signal integrity constraints. Along
the way, different types of constraint assignments are made. Some of these include
topology types, simulated delay rules, and overshoot and ringback requirements. The
final step is to send schematic constraint data to your layout design representation
through forward annotation.
• PCB layout – 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, different types of constraint assignments are made. 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
• “CES Constraint-Driven Design” on page 47
This section is an introduction to CES that provides an overview of CES and constraint-driven
design flows. It also includes information about invocation, setup, and application
customization. At a minimum, please make sure to read “Before You Begin Using CES” on
page 49. It includes important information for each PCB design flow that uses CES. Please refer
to the table of contents for the full listing of topics included in this section.
See also: Click within the above illustration to view related CES topics.
• DxDesigner®-Expedition® PCB
Note
CES is only available in iCDB design flows. CES is not available in any DxDesigner
Netlist flows (for example, DxDesigner netlisting to Expedition PCB).
For example, when 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 trace and
via rules (for example, trace width or number of vias) that promote signal integrity within this
critical board area. For more information, please refer to “Creating Rule Area Schemes” on
page 153.
There is no limit to the number of classes, or hierarchical classes within a specific net class. You
can separate nets into increasingly constrained sub-groupings to implement requirements for
nets that generate the most demanding signal integrity challenges. For more information, please
refer to “Creating Net Classes” on page 139.
When CES is connected in such a manner, the CES Constraint Spreadsheet is updated to include
the actual value/routing results as well as a clear visual indication of how well the constraint(s)
associated with an actual are performing. For example, when the actual delay for a net is too
close to either its minimum or maximum delay constraint, or exceeding either value, the CES
field that displays the actual is backlighted in red or yellow to indicate that the actual exceeds,
or comes close to exceeding, the constraint threshold. For more information, please refer to
“Validating Constraints Against PCB Actuals” on page 128.
• Beginning with the 7.9.2 releases, the initial view of CES has been streamlined to
present you with just the core set of spreadsheet pages, toolbars, and navigator nodes.
All existing functionality is still available. For information on displaying spreadsheet
pages and toolbars that are no longer displayed by default, please refer to “Customizing
the Display of CES Windows” on page 79.
The first time you launch CES within a 7.9.2 release, your existing ces.ini file is created
as a backup in your WDIR folder with the filename ces.old.ini. In the event that you
want to restore CES to the custom view you had prior to the 7.9.2 release, you can
import this file with the File > Import > Settings menu selection.
• During invocation, CES checks to see if your WDIR variable includes at least one
writable location. When this requirement is not met, CES will not be launched, and will
provide a message box stating that “CES cannot be launched. At least one entry in the
environment variable WDIR must be a writable directory.” To fix this, you must adjust
your WDIR variable to include at least one writable location.
• When you launch CES on a read-only .prj file, CES will open in read-only mode. When
CES unexpectedly opens in read-only mode, you should check to ensure that the .prj file
is not flagged as read-only and is instead writable.
• In the event that CES 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, please refer to “Checking Constraints and
Synchronization” on page 124.
• When your design includes them, single-pin nets are represented 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,
please refer to “Defining Constraints for Single-Pin Nets” on page 212.
• When rolling back constraint changes made in CES, 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 CES and then rollback that change, your back-
end system will still indicate that you need to perform back annotation.
• In the event that you receive the following message (or a similar message): “Violations
in the iCDB have been detected. Affected objects and constraints will remain disabled in
the CES user interface. Please contact Customer Support for assistance.” You must
contact customer support to resolve the database issue and return to your normal CES
operating environment.
• Depending on the design flow you are using, the invocation tool from which you
launched CES may or may not save your changes by default. In order to keep from
losing CES data, please ensure that you understand the unique save process of your
design system, and use it appropriately to save CES constraints within each applicable
session. For example, DxDesigner automatically saves schematic data and CES
constraints, but PCB layout tools require an explicit save before they will write PCB
layout changes and CES constraints to disk. When making CES change in a session
launched from a PCB layout tool, it is important understand the following:
o All changes made in CES are reflected in the layout invocation tool after you exit
CES.
o You can send pending CES changes to the layout tool during the active CES 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.
• When working in CES sessions launched from Expedition PCB, you cannot change
reference designator prefixes through the CES settings dialog box. To update these
prefixes in your back-end CES database, please modify them in a CES session launched
from the front-end, and then forward annotate.
• A constraint cell will show ‘#’ when the precision is too low to display a meaningful
value. For example, 0.000435 V shows ‘#’ when the precision is set to 3. With precision
set to 4, it shows ‘0.0004’. To set precision, please refer to “To Set Notation” on
page 68.
• When exporting constraints, CES uses the native concurrent unit type. When
reimporting constraints into CES, you must set the unit type afterward.
• This version of CES includes the following additional keyboard shortcuts:
o To highlight all data on a spreadsheet page, press Ctrl+A.
o To switch between dockable windows, press Ctrl+Tab.
• In this version, z-axis clearances are not applied between segments of the same net.
• For this version, only I/O Standard is accessible and modifiable through CES. All other
I/O Designer constraints are not available for this version.
• An electrical net will not be created when both ends of a series component (for example,
resistor) are connected to the same instance of a device.
• For this version, cross probing will not work correctly when multiple cross probe servers
are running. To make sure that just one cross probe server is running, turn on cross
probing from CES (Setup > Cross Probing) or the schematic or layout design tool from
which you launched CES.
Note
You do not need to redefine differential pairs that could not be converted to the 2007 CES
database format. Although CES preserves these differential pairs in the previous format,
they are still applicable to your 2007 design.
When deleting differential pairs marked with a pin icon, another dialog box is displayed that
indicates that each net that comprises the differential pair might be merged into another
electrical net, removing the ability to recreate the current differential pair.
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 CES, 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 will get the same report even if you make changes to the stackup.
to note that CES no longer writes this preferences file. Importing a Ces.prefs file is intended to
be an optional, one-time transition step between releases.
DxDesigner-CES-Expedition PCB
When using this flow, please be aware of the following considerations and requirements:
• Physical net (pNet) – A physical net ( ) is a net where all pins of the net are connected
by a trace, via, or plane segment.
• Electrical net (eNet) – An electrical net ( ) is made up of one or more physical nets that
are connected together logically or electrically through (usually passive) components.
Electrical nets are automatically created by CES when you invoke it. A common
example of an electrical net containing two physical nets is one where Net A and Net B
are connected through a series resistor. Electrically, the signal on Net A goes through the
resistor and continues on through Net B as if it were all one net. The most trivial case of
an electrical net is a single physical net that is not connected to any other physical nets
through passive components.
Electrical nets that include two or more physical nets are indicated as such on the Nets
page of the CES Spreadsheet. A ^^^ suffix is added to the end of the net name as it
appears in the first column (Constraint Class/Net/*).
Note: An electrical net will not be created when 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 CES.
• Standard parallel termination – When the two poles of a differential pair are joined
through a resistor, the resistor connection is ignored by CES. Doing so keeps the two
poles of the pair from being joined into a single electrical net.
• Alternative parallel termination – When the two poles of a differential pair are joined
through two resistors (with a capacitor taking the net to ground), the connection through
the resistors is ignored by CES. Doing so keeps the two poles of the pair from being
joined into a single electrical net.
In both of the above cases, the receiving component is determined 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 the
inputs are connected by a signal resistor or a pair of resistors in parallel.
• The reference designator prefix for the part must be defined as an available discrete
component prefix (for example, RN).
• You must define pin pairs across the entire part. For example, when the part has four
pins, two pin pairs must be defined. Doing so maps the pins so the route through the
resistor pack is known. For more information, please refer to “Defining Discrete
Component Pin Pairs” on page 191.
• The CES Spreadsheet Parts page Series constraint is set to enabled/on for the part.
When users invoke multiple CES sessions from the same design tool on the same design, all
sessions are read-write. For example, after you launch CES from DxDesigner, your co-workers
can launch CES from the same DxDesigner design and concurrently make changes. This is
especially useful for large designs that require multiple schematic and layout designers working
simultaneously on each end.
Prerequisites
• Your WDIR environment variable must include at least one writable location or
directory. CES will not launch until you satisfy this requirement.
To Start CES
Refer to the following table to launch CES from one of the following schematic capture or PCB
layout design tools.
Results
CES opens and displays the constraint set for the front-end or back-end design. When the .prj
file for the design is read-only, CES opens in read-only mode as well.
Tip: To learn more about using the File Viewer, from its Help menu, click Contents.
Example: C:\Phone_design_1\CES\LogFiles\DxD\keypad\psmith-lt\psmith
For DxDesigner only, in the event that fromtos and/or pin pairs cannot be copied while copying
or updating a reuse block, or when copying sheets, one or both of the following log files are
written to capture the missing fromtos or pin pairs:
• MissingFromtos_<time/date stamp>.log – You can use this log file to determine which
fromtos are now missing from CES due to an action performed in DxDesigner.
• MissingPinpairs_<time/date stamp>.log – You can use this log file to determine which
pin pairs are now missing from CES due to an action performed in DxDesigner.
Example: C:\Phone_design_1\CES\LogFiles\keypad_Layout_Temp\keypad\psmith-lt\psmith
Tip: You can set up CES to enable cross probing by default. To learn how to do this,
please refer to “Setting Up CES” on page 59.
Regardless of your level of experience with CES and its spreadsheet display of design objects
and constraints, cross probing is usually the most efficient method of selecting design objects.
In terms of precision, it is the most accurate way to ensure that you are modifying constraints of
the appropriate target net.
Setting Up CES
You can specify CES options to customize the most appropriate CES environment for a design.
These settings, as well as the settings associated with the units that are displayed within the
spreadsheet editor, are unique to each design that you work with in CES. Because CES saves
settings as part of each design, you have the ability to maintain custom settings for each design
that you work with in CES.
Note
As an alternative, you can use a configuration file to specify some preferences. For more
information, please refer to “Using a Configuration File to Specify Design Preferences”
on page 63.
that comprises a group will report a hazard. For example, when the parallel run length
needs to be less than 400th, and each of the three segments in a group are 134th, each
segment will show a violation although they all appear to be 266th shorter than required.
The violations are reported because the sum of 134th + 134th + 134th is 402th, which is
greater than 400th.
Note: For cumulative calculations, segments smaller than 100th are ignored and not
used to produce the cumulative length. Using the above example, five 98th segments
result in a mathematical total of 490th, but because each segment is less than 100th, all
are ignored by the router and no hazard would be reported.
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. This value is used
in conjunction with the Pin Package Length constraint of the Parts page to calculate 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. After you finish, click OK.
5. Specify whether IBIS part models should be used for electrical nets.
6. For component names, specify whether IBIS names (for example, icx_part_model)
should be used for mapping purposes. By default, the part model name is used.
7. After you finish, click OK.
Note
After you finish modifying discrete component prefixes, CES automatically re-generates
electrical nets. In order to update layout, you must package the design and forward
annotate.
Example: Each ground net will typically require a voltage value of 0.0000.
7. For each power net you chose that requires constraints, select Visible.
8. After you finish, click OK.
Prerequisites
• None.
Procedure
1. Exit CES.
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 your WDIR location.
6. Restart CES.
Results
CES will now read any defined preferences from this file instead of GUI definitions that you
had specified previously.
4. Under Inactive Draw Combobox Buttons, specify when CES should display
comboboxes within a spreadsheet field. When you enable this option, any cell that can
display a dropdown list will always display the down arrow box. When disabled, the
dropdown box for a cell is displayed after you click within the respective cell.
5. Under Spin Edit Control, specify whether integer value spreadsheet fields should
display up and down arrows beside them when clicked. These arrows are used 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 CES constraints compared against actual back-annotated design
values. In the Constraint violation warning field, enter a percentage value.
Example: When the Constraint violation warning field contains 90%, actual values
that are ninety or a greater percentage of the associated constraint value are
highlighted in yellow to indicate an actual that is close to the acceptable constraint
value. When the actual value exceeds the constraint value, the field is highlighted in
red.
• Acceptable threshold CES 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 when 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, please refer to “Choosing From Among Change Impact Actions” on
page 101.
10. After you finish, click OK.
In addition to setting the units to use and display, you can also specify the precision and format
of electrical units that CES displays. For example, you can use engineering notation with a
precision of three digits after the decimal point, scientific notation with two digit post-decimal
point precision, or choose not to format electrical units and display full precision.
3. From the Display Units page, for each unit type, specify the unit and precision that you
want to use. Please refer to the table below if you need help determining the meaning of
a specific unit.
Example: For linear values, to use millimeters, click within its Unit field, and then click
to select mm.
Result: After you modify the unit and precision for a specific unit type, the associated
Example field updates to show you a preview of the display unit setting as values will
appear in the CES Spreadsheet.
4. Optionally, to keep your units synchronized with the back-end design system, click to
enable the check box.
5. After you finish, click OK.
To Set Notation
1. From the Setup menu, click Settings.
Alternative: From the General toolbar, click .
5. To automatically export actuals to schematic capture for display in CES, under Actuals,
click to enable Export actuals to front-end. Actuals are exported each time they are
updated, whether manually or automatically.
6. To show alerts in CES front-end sessions that updated actuals can be imported, under
Actuals, click to activate the appropriate checkbox. When this option is enabled a small
message will appear above the CES Spreadsheet each time new actuals become
available.
7. To automatically run CES diagnostics upon exit, activate the associated checkbox.
8. To automatically update nets that use a constraint template when any of the constraint
template values are updated, click to activate Automatically apply templates. When
activated, you never need to re-apply constraint templates to individual nets to which
they are assigned.
9. To store log files generated during your CES session locally at your WDIR location,
click to enable the appropriate checkbox.
Note: By default, this checkbox is enabled. When you disable this checkbox, log files
are stored in the project directory for the design.
10. To modify existing custom spreadsheet pages and create new ones, activate Enable
custom tab modification.
11. When cross probing from CES, to have your logic or layout tool select no more than a
maximum number of nets, enter a value in the Maximum number of selected nets field.
12. Specify how old a log file needs to be before archiving it.
13. After you finish, click OK.
To Reuse Settings
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.
3. Optionally, communicate this settings file (.ini) to other engineers.
4. In any external CES design, from the File menu, click Import, and then click Settings.
5. In the Import Settings dialog box, select the settings file saved previously (for example,
workgroup.ini), and then click Open.
It is important to understand that at any time after the corporate ces.ini file is consumed, when a
user saves changes to their CES settings, a local ces.ini file will be written to their local WDIR,
and supersede the corporate file. Depending on how your design team might use a corporate
ces.ini file, you could have to create and communicate explicit policy instructions regarding
modification of CES settings.
For example, one usage would be to place a corporate ces.ini file, but also expect users to
change some settings as part of their local CES environment, and therefore have a local ces.ini
written to their machine. With this approach, all settings would be the same initially, but over
time specific settings could be customized by each user as they require.
Note
In order to modify simulation settings and stimulus, you must be using ICX Pro Verify
within your design flow.
Common Tasks
• “Modifying Simulation Stimulus” on page 77
Note: When loading from the template below, make sure you click a template in the
Available Templates box.
4. After you finish, click Load.
Related Topics
• “Validating Constraints Against PCB Actuals” on page 128
Related Constraints
• “Simulation Settings” on page 376
• “Simulation Stimulus” on page 378
windows. By activating preservation of display settings, you can maintain a custom work
environment.
Caution
Beginning with the 7.9.2 releases, the initial view of CES has been streamlined to present
you with just the core set of CES Spreadsheet pages and CES toolbars. All existing
functionality is still available.
• Tabs – Toggle this set of selections to display or exclude specific pages of the CES
Spreadsheet (for example, Nets or Noise Rules).
• Navigator – Also known as the browser, toggle this set of selections to display or
exclude the hierarchical listing of CES design elements (such as schemes, net classes,
and constraint classes).
Tip: Clicking the right mouse button on browser items often displays context-sensitive
menus that give you the ability to perform operations directly from within the browser
tree.
• Output – Toggle this setting to display or exclude the CES log/output window.
• Status Bar – Toggle this setting to display or exclude the status bar that appears at the
very bottom of the application.
• Toolbars – Toggle this set of selections to display or exclude one of the many CES
toolbars.
Note: To quickly show all toolbars, click All. To show only the default toolbars, click
Default.
Windows Locations
The GUI customization file (ces.ini) is stored at one of the following locations:
Unix Location
The GUI customization file (ces.ini) is stored at the following location:
• $HOME/.config/MentorGraphics/<software version>/ces.ini
Example: $HOME/.config/MentorGraphics/7.9.2EE/ces.ini
Prerequisites
• None.
General Tasks
You can customize CES toolbars in the following ways:
Prerequisites
• None.
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any CES 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, double-click and drag a button to a
specific CES toolbar at the top of the GUI.
• To remove a button from a toolbar, at the top of the GUI, double-click a toolbar
button and then drag it to any area below the collection of toolbars (for example,
Navigator).
• To move a button within a toolbar, or from one toolbar to another, at the top of the
GUI, double-click a toolbar button, and then drag it to another toolbar location.
3. 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
“Customizing CES Toolbars” on page 81 “Creating New Toolbars” on page 83
“Specifying General Toolbar Options” on “Resetting a Toolbar to the Default Grouping
page 84 of Buttons” on page 85
Prerequisites
• None.
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any CES 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_CES_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, please refer to “Modifying Toolbars to Create Custom Sets of Buttons” on page 82.
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any CES toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbars tab.
3. In the Toolbars listing, click the name of the new toolbar, and then click Delete.
4. After you finish click OK.
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any CES toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbar tab.
3. In the Toolbars listing, click the name of the new toolbar.
4. In the Toolbar name text box, enter a different name for the custom toolbar.
5. After you finish click OK.
6. As a result, the toolbar is renamed and associated with the new name.
Related Topics
“Customizing CES Toolbars” on page 81 “Modifying Toolbars to Create Custom Sets
of Buttons” on page 82
“Specifying General Toolbar Options” on “Resetting a Toolbar to the Default Grouping
page 84 of Buttons” on page 85
Prerequisites
• None.
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any CES toolbar, and then click Customize.
2. From the Customize dialog box, click the Toolbars tab.
3. Click to enable or disable any of the following checkboxes:
• Show Tooltips – Displays a descriptive text box when you hover the mouse cursor
over a tooltip.
• Cool Look – Displays toolbar buttons with a more modern graphical appearance.
4. After you finish click OK.
Results
Your modifications to these settings are applied.
Related Topics
“Customizing CES Toolbars” on page 81 “Modifying Toolbars to Create Custom Sets
of Buttons” on page 82
“Creating New Toolbars” on page 83 “Resetting a Toolbar to the Default Grouping
of Buttons” on page 85
Prerequisites
• The toolbar you want to reset must have been customized in some way.
• The toolbar must be a default toolbar that you did not create.
Procedure
1. From the View menu, click Toolbars, and then click Customize.
Alternative: Right-click any CES 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.
4. After you finish, click OK.
Results
The toolbar now displays all of its default buttons, and all of the buttons are in the default order.
Related Topics
“Customizing CES Toolbars” on page 81 “Modifying Toolbars to Create Custom Sets
of Buttons” on page 82
“Creating New Toolbars” on page 83 “Specifying General Toolbar Options” on
page 84
• When your WDIR includes multiple locations, only user.cns at the first writable path is
updated to include your changes.
• Because a user.cns file must exist at all WDIR locations, CES will initially place one at
each location when one does not already exist. After that, it will only write changes to
the first writable path.
• 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.3). For more information, please refer to
“Associating user.cns Files With a Mentor Software Release” on page 91.
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 will cause 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, please refer to “Sharing Your
Constraint Set With Other Users” on page 89. 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. When 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.
When 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 when the user.cns file that will
be updated is in a shared WDIR location. CES concurrency of any kind is not supported
while customizing the constraint set.
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.
Tip: To quickly delete all custom constraint definitions, from the Data menu, click Clear
All Custom Constraint Definitions.
Prerequisites
• Custom tab modification must be enabled. To do so, from the Setup menu, click
Settings. From the Settings dialog box, click Other, and then ensure that Enable custom
tab modification is activated.
• To change the name of a row, from the CES Spreadsheet, right-click a row, and then
click Rename. Type a new name, and then press Enter.
• To delete a row, from the CES Spreadsheet, right-click a row, and then click Delete.
4. To customize the listing of columns, please refer to “Customizing the Constraint Set” on
page 86.
Tip: To quickly delete all custom tabs, from the Data menu, click Clear All Custom
Tabs.
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 will read from the common 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 CES open or are currently accessing the
file.
To use this approach, the WDIR environment variable on each user’s machine should include
the following three paths, and in the following order:
Note
On Windows, when including network paths in your WDIR environment variable, they
must be listed as full network paths and cannot be listed as mapped drives.
Using this approach provides the benefits of a corporate environment where various CES users
would be able to:
Small-Group Methodology
Although it is not recommended, when you do not have a corporate WDIR location, you can
place the file 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.
• 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 software releases.
• Use different WDIR folders for each Mentor software release.
An Example Scenario
Here is an example WDIR that includes three folder locations and is based on an enterprise
methodology: c:\WDIR;\\common\corp_WDIR;%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 software release. For
example, c:\WDIR_EE_793;\\common\corp_WDIR_EE_793;%SDD_HOME%\standard. Once
again, the SDD_HOME location is always release specific and by nature unique.
Note
For additional information on this topic, please refer to the topic “Automating the License
and WDIR Configurator Settings” in the Managing Mentor Graphics Systems Software
manual.
Related Topics
“Customizing the Constraint Set” on page 86 “Sharing Your Constraint Set With Other
Users” on page 89
Prerequisites
• None.
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 – Optionally, an argument string to append to the command. Your
argument string can also include the following variables:
o {CESDir} – CES 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 – Optionally, a directory to use other than the current working
directory. This is useful when the command will generate run-time files that need to
Results
The bottom of the Tools menu is updated to reflect your changes.
Prerequisites
• To execute and test the accessibility of some CES commands through shortcut
combinations, you must have a design loaded in order to access all functionality.
Procedure
1. From the CES 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:
• To create a new shortcut combination, 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 (e.g Ctrl+Shift+Alt+F8).
ii. After you finish pressing the appropriate shortcut key combination, visually
verify that it is correct, and then click OK.
• To delete a shortcut, in the Current shortcuts list box, click a shortcut, and then click
Remove.
3. Optionally, 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 CES commands.
Related Topics
“Default Keyboard Shortcuts Provided With
CES” on page 94
Related Topics
“Customizing Command Shortcut Keys” on
page 93
Note
It is important to understand that by default, Design Centers that you or other team
members create cannot be shared. In order to do this, you must configure your Valor NPI
environment in a specific way to support this usage. For more information, please refer to
“Sharing Valor NPI Design Centers Among Team Members” on page 96.
Prerequisites
• You use Valor NPI as part of your design flow.
• When selecting a Design Center, at least one must already be available.
Procedure
1. 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 you want to use, and then click OK.
Tip: To clear the active Design Center, choose the blank row.
• 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
When 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 choose to use the above procedure, you either created a new Design
Center, or selected an existing Design Center. When you choose a Design Center, the CES
status bar is updated to show your selection:
Related Topics
“Sharing Valor NPI Design Centers Among
Team Members” on page 96
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). Please 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. CES 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 would be responsible for creating the set of
Design Centers.
Related Topics
“Selecting or Creating Valor NPI Design
Centers” on page 95
This section covers CES Constraint Spreadsheet usage. Some of the topics included are
constraint definition, searching, filtering, and grouping. This section also provides information
about constraint validation, constraint reuse through rule painting, and saving constraint
changes. Please refer to the table of contents for the full listing of topics included in this section.
Note
As you work with constraints on each CES Spreadsheet page, you will notice that some
constraints are listed on multiple pages. Changing a constraint value on any page that
includes it results in the change appearing on each page. For example, the Index and Type
constraints appear on both the Trace & Via Properties and Clearances spreadsheet pages.
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 simulation. Nets assigned to the classes you define here will obey associated
constraints during interactive routing.
Common Tasks
• “Understanding Constraint Hierarchy and Overrides” on page 100
• “Selecting CES Spreadsheet Pages” on page 105
• “Identifying Spreadsheet Icons” on page 106
• “Resizing Spreadsheet Columns and Rows” on page 108
• “Zooming the Display of Spreadsheet Pages” on page 108
• “Expanding and Collapsing Spreadsheet Rows” on page 109
• “Sorting Constraint Pages” on page 109
• “Deleting Constraint Values at the Constraint Level” on page 110
The other purpose is to provide a convenient way to group objects (nets, for example) into
classes that share the same constraints. This grouping gives you the ability to define constraints
once for an entire group. Another example usage of classes could be to group nets that are the
same type. Overall, hierarchical grouping gives you the ability to organize your design data and
make your job easier.
For example, by grouping 32 bus nets into the same constraint class, you can quickly assign a
single constraint value to the class and propagate it down (for example, # Vias Max) 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 which constraint values under a hierarchical object have overrides, CES
can highlight the background of the parent-level cells. To turn on this type of highlighting,
please refer to “To Set Display Settings” on page 64. In the following illustration, you can see
that although the component row defines the same IBIS Component Name value for each
component instance row, R2 and R4 have overrides that replace parent value.
In the above illustration, yellow is used to highlight parent overrides. To set the background
color CES uses, please refer to “To Set Fonts and Colors” on page 65. In addition to choosing
this highlighting color, you can review and modify the overall color scheme CES uses to
highlight constraint violations like errors and cautions. These are just a couple examples of how
CES 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, CES 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 CES 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.
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.
CES propagates the new value (or not) based on how you have it configured. In some cases,
CES will not propagate the new value due to the requirement of a specific rule. For a list of
these, please refer to “Required Propagation Rules That CES Maintains” on page 103.
CES 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 CES
setting controls how overrides are handled. To modify the Change Impact Dialog setting,
please refer to “To Set General Options” on page 64.
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 CES 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 CES 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 CES 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 CES. This is because you have CES configured to give you
the ability to choose which child values will take on the new parent value. To modify
this setting, please refer to “To Set General Options” on page 64.
Procedure
1. From the Change Impact Prompt dialog box, for each child object, select from the
following actions, and then click OK:
• Change to new value – Replace the child value with the new parent value.
• Keep current value – Retain the child value.
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
“Understanding Constraint Hierarchy and
Overrides” on page 100
Please refer to the following list of required rules and their explanations:
• 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. CES 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. CES 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. CES 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. CES 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. CES
maintains this relationship on the Nets page and Constraint Templates page.
• Trace Width Minimum, Typical, and Expansion values – CES maintains mathematical
relationships among these constraints. For example, Minimum cannot be greater than
Typical, and Expansion cannot be less than Typical.
• Trace & Via Properties – Board-layer transmission constraints like via assignments,
routing, trace width, and typical impedance.
• Clearances – Same-layer clearance constraints like trace to trace, pad to trace, via to
plane, resistor to pad, and mask to pad.
• Z-Axis Clearances – Adjacent-layer clearance constraints like trace to trace, trace to
pad, trace to via, trace to plane, and trace to SMD pad.
• Nets – This spreadsheet page contains the largest number of constraints, which fall into
the following categories:
o I/O – FPGA constraints like I/O standard.
o Net properties – General net constraints like analog, bus, net class, number of pins,
and topology type.
o Diff Pair – Differential pair constraints like tolerance, convergence distance
tolerance, distance to convergence, and separation distance.
o Overshoot/Ringback – Signal reflection constraints like simulation class, static and
dynamic low and high overshoot, high and low ringback, and monotonic edge.
o Simulated Delays – Edge-rate delay constraints like simulated delay type, minimum,
maximum, and maximum range.
o Template – Net template constraints like name and status.
o Delays and length – Length or time of flight delay constraints like type, minimum,
maximum, match, tolerance, and formulas.
• Parts – Part constraints like part number, quantity, part type, value, IBIS component
name, and technology.
• Noise Rules – Neighboring-net constraints like noise type, constraint class or electrical
net name from and to, parallelism rule, and crosstalk max.
• Constraint Templates – Superset of constraints that includes many of those from each
CES Spreadsheet page for reuse as intellectual property for other nets and designs.
Here are some tips for customizing and using the display of spreadsheet tabs:
• CES 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.
• When you cannot 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.
Note
CES 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.
• At the top of a spreadsheet page, click the Group dropdown, 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
Group dropdown, and then click Net Properties.
Note
Electrical nets that include two or more physical nets are indicated as such on the Nets
page of the CES Spreadsheet. A ^^^ suffix is added to the end of the net name as it
appears in the first column (Constraint Class/Net/*).
Locking of Constraints
When working in any concurrent design environment, the CES Spreadsheet automatically locks
constraint values or objects that are being changed by another user in a separate instance of
CES. After the user finishes making their change, the lock is removed, and the value is once
again editable by other users. For example, two schematic designers are modifying constraints
from within CES sessions launched from DxDesigner. Because both users are working on the
same constraint database, CES displays lock icons ( ) in the other user’s environment as each
applicable constraint or object is modified.
A constraint or object lock is always removed when any of the following things occurs:
2. Click-hold and then drag right or left to increase or reduce the size of the column.
3. After the column has been resized appropriately, release the mouse button.
Tip: To quickly set the same magnification level for all CES Spreadsheet pages, use the
Setup > Settings menu selection. Using the Initial Zoom Level option, you can globally
control the initial spreadsheet magnification level.
• To sort in ascending order, from the Sort toolbar, click . Or, right-click within the
spreadsheet, click Sort, and then click Ascending.
• To sort in descending order, from the Sort toolbar, click . Or, right-click within the
spreadsheet, click Sort, and then click Descending.
General Tasks
You can delete constraint values in the following ways:
Prerequisites
• None.
Procedure
1. From the CES 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 clear/empty.
Related Topics
“Deleting Constraint Values” on page 110 “Deleting Constraint Values at the Object or
Design Level” on page 111
When deleting constraint values at the object level, it is important to understand that all
removable constraints within the object’s hierarchy are cleared. For instance, clearing a
constraint class results in deleting all constraint values for each net within the constraint class.
This is in addition to any constraints defined at the constraint-class level.
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, you must be running a
CES session launched from the front-end design system. In addition, your invocation of
CES must be the only session.
Procedure
Please refer to one of the following procedures based on the object you want to clear:
• To clear all constraints from a design object, please complete the following steps:
a. From the leftmost column of the CES 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.
• To clear all constraints from your design, please complete the following steps:
a. From the Data menu, click Clear All Constraints.
b. From the confirmation dialog box that appears, please 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.
Related Topics
“Deleting Constraint Values” on page 110 “Deleting Constraint Values at the Constraint
Level” on page 110
“Restoring to a Constraints Backup After
Clearing All Constraints” on page 112
Caution
When performing this manual unzip/copy/paste process, it is critical that you do not open
or unpack any additional files in the archive. For the purpose of maintaining data
integrity, please follow the procedure below precisely
Prerequisites
• You must have cleared all constraints to produce a CES backup.
Procedure
1. Close any software tools that are presently open on the current design. This includes all
Mentor tools and any non-Mentor tools.
2. Navigate to the following design folder: <design_path>\CES\Backup
3. Unzip the backup file (.zip) at that location. In the event that there are multiple backup
files, you can use the date_time encoded in the file prefix to determine which backup
you want to use.
4. Use the content of the unzipped backup file to replace the design data at the following
location: <design_path>\database
Results
All constraint values are restored.
Related Topics
“Deleting Constraint Values at the Object or
Design Level” on page 111
You can use the copy and paste functionality on all CES Spreadsheet pages. It is important to
note that the functionality is not available for use with tables and cells of dialog boxes.
When searching for specific nets, you can step through the list of all nets based upon the search
criteria you provide. When selecting multiple nets, you can filter the display of CES data based
upon a net-name or constraint-value criterion.
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.
• 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
please 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, please refer to
the wealth of information available on this subject that you can find 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, CES 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.
Filter is useful when you want to focus on a specific group of data rows without worrying about
modifying constraint data on rows that do not apply to a specific subset. For example, by
filtering data rows on the Nets spreadsheet page, you can display only those rows that
correspond to just the nets that comprise a data bus. With this view, it is easy to make sure that
your constraint modifications are restricted to just those bus nets.
Note
CES 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.
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 CES
Spreadsheet Nets page to focus your current constraint definition task. Because net names can
often times be quite long, and 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 without having to expand the column width of the Constraint Class/Net/* column to verify
the existence of the electrical net identifier.
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.
Figure 3-6. Filters - Levels Toolbar (Left Side) Showing Nets Page Selections
The above illustration shows the Filters - Levels toolbar from the perspective of the Nets
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, five of the eight selections are enabled.
A blue box around each active row type indicates this state.
Alternatives:
• When the Filters - Levels toolbar is 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.
• When the Filters - Main toolbar is 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.
Example: To filter the CES Spreadsheet Parts 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.
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 CES Spreadsheet Nets 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 page of the CES Spreadsheet.
You can modify constraint groups that you create, and also those that are included with CES by
default. The only group that you cannot modify is All. To provide you with greater flexibility,
CES supports two ways of populating and modifying the contents of a constraint group. The
recommended approach is from directly within the CES Spreadsheet.
Another way that CES 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, please
refer to “Locking of Constraints” on page 107.
You can also change the background color CES uses to indicate remote modifications. For more
information, please refer to “Setting Up CES” on page 59.
To Edit a Comment
1. From the CES Spreadsheet, right-click a cell that includes a comment, and then click
Edit Comment.
Alternative: From the Comment toolbar, click .
2. From the Comment dialog box, in the text field, modify the comment.
3. Click Apply or Close.
To Delete a Comment
From the CES Spreadsheet, right-click a cell that includes a comment, and then click Delete
Comment.
To View Comments
You can view your comments and those of all other users 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.
As an example, in the illustration below, the CES Constraint Reference graphic for the
differential pair constraint Convergence Distance Tolerance is shown.
You can also open the topic for a specific constraint while working within the CES Spreadsheet.
To do so, please refer to the appropriate procedure below.
Prerequisites
• The environment variable CES_ENABLE_PROPS must exist; otherwise, cell property
information is not visible.
Procedure
1. From any page of the CES Spreadsheet, right-click a cell, and then click Properties.
Alternative: From the View menu, click to enable Properties.
2. From the Properties browser, you can now view all available cell properties.
3. For properties that do not have a default image associated with them, you can optionally
add one from your available library of images, or remove one that you associated
previously. Please refer to the following short procedures:
• To associate an image or change the associated image, in the Image row, click
Browse, and then from the Open File dialog box, browse to the location and
filename of an image file, and then click OK.
• To remove an image or disassociate it, in the Image row, below the Browse button,
click Reset.
Related Topics
• “Quick Reference - CES Constraint Spreadsheet” on page 28
• “CES Constraint Reference” on page 289
To View Statistics
1. From the Output menu, click Design Statistics.
2. For information about specific numbers that are reported, please refer to the table below.
To Check Constraints
1. From the Tools menu, click CES Diagnostics.
2. To view the report that was created please refer to the Output window, CES Diagnostics
tab.
Result: The report shows the results of many diagnostics tests. Each test indicates
whether the CES data has passed or failed. In the event that a test has failed, and the
error is automatically fixable by CES, the report will show a link at the bottom that gives
you the ability automatically fix all errors that fall into this category.
Optional: You can cross probe from the report to problematic design objects by clicking
a link on any available error rows.
• Red exclamation point – Please contact customer support to get help with fixing these
problems. You will need their assistance.
• Yellow exclamation point – Please attempt to fix these problems yourself by using CES
documentation to make changes based on the reported errors.
When your CES database does not have any integrity problems, the status bar does not display
an indicator. It only displays an indicator in the event that there is problematic data. It is
important to understand that CES will display some errors that are not fixable through CES.
Instead, you would have to do so through your schematic capture program, or another piece of
software. In these cases, the error report tries to make it clear that the error must be fixed outside
of CES.
Note
After you have CES fix errors, it will reload when necessary. This is to ensure that CES
shows the correct constraint data based on changes that occurred during the process of
making automatic fixes.
• AutoActive – Calculates all actuals except for simulation actuals, which are calculated
by ICX Pro Verify.
• ICX Pro Verify – Calculates simulation actuals (for example, Crosstalk Sim Actual,
Simulated Delay Actual Range, and so on). Simulation actuals usually include a
button in the actual field.
Note
The CES actuals menu selections referenced in this section are only available in CES
sessions launched from a back-end design system. When you want to work with actuals
in a front-end CES session, please refer to “Sharing PCB Actuals With Front-End CES
Sessions” on page 131.
Common Tasks
• “Updating Actuals Displayed in CES” on page 129
• “Clearing Actuals From the CES Spreadsheet” on page 130
• “Highlighting Constraint Differences” on page 130
• “Sharing PCB Actuals With Front-End CES Sessions” on page 131
To Validate Constraints
1. From the Data menu, click Connect to Board Station RE/Expedition.
Note: Typically, when you launch CES it is automatically connected to Board Station
XE/RE or Expedition PCB. This menu option is not present when you are already
connected.
2. When you do not have CES configured to automatically update actuals on start-up, from
the Data menu, click Actuals, and then click Update All to show actuals on the CES
Spreadsheet.
Note: When automatic display of actuals is not enabled, you must perform this step each
time you launch a new invocation of CES.
Tip: To make the display of actuals a seamless part of your back-end or front-end CES
session, there are several settings you can enable. For more information, please refer to
“To Specify Other Preferences” on page 69.
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 out of a minimum
and maximum constraint range. To make such distinctions clear, CES 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 CES, you can specify
the backlight colors that CES uses.
Rule: In order to perform this type of validation, you must update routing results from a
supported router (for example, Board Station XE or Expedition PCB).
The team member who performs which of the actions in the procedure below will vary
depending on your design process. For a small design team, a single person might perform the
procedure in its entirety. For large design teams working on very complex designs, a schematic
designer would typically make a call or send an email to request that a PCB layout engineer
perform step 1 to export actuals. An alternative to that approach would be to adopt a process
where actuals are exported at multiple, scheduled times each day, or automatically each time
they are updated.
Prerequisites
• None.
Procedure
1. In a back-end invocation of CES, from the File menu, click Export, and then click
Actuals.
Alternative: You can have CES 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: “Expedition actuals side file was exported on Thu Mar 08 16:22:22 2012.”
3. In a front-end invocation of CES, 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 CES 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 CES actuals upon start up.
When used together with the settings mentioned in the above procedure, back-end CES
automatically updates actual values when you load it, which in turn causes them to be
exported to front-end CES. The next time you open front-end CES, the updated actual
values from the back end are automatically pulled in.
You can enable this setting separately in each invocation of CES. 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 CES in the appropriate actual cells of
CES Spreadsheet.
When you are using ICX Pro Verify as part of your constraint-driven design flow, you can
update CES to ensure that it includes the most recent simulation actuals produced by ICX Pro
Verify. Simulation actuals include simulated delay constraints and overshoot/ringback
constraints (for example, Simulated Delay Max Range, Dynamic High Overshoot Max, and so
on).
Note
In order to use these features, you must have an Electrical CES license.
• 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.
For example, when reusing the constraint values of a specific net row, make sure that you apply
them to another net row. It is the same type of design object.
4. To apply these values to another layer, click it. When you finish, from the Edit menu,
click Rule Painter to disable rule painting.
Note
When rolling back constraint changes made in CES, 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 CES and then rollback that change, your back-end
system will still indicate that you need to perform back annotation.
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.
In addition to viewing parent values, you can also revert an overridden value to its parent value,
when it is appropriate to do so. In the event that you have filtered the listing of spreadsheet
rows, you can also show a parent row when it is hidden from view.
Prerequisites
• None.
Procedure
1. From the CES 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.
Caution
Some design tools automatically save your design data (for example, DxDesigner).
Depending on the tool from which you launched CES, you may not have to explicitly
save. Please refer to the documentation for your design tool for information about saving
design changes in your invocation tool.
• After you exit a CES session, from the invocation tool, save your design (if required).
• When working in a CES 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.
This section covers net class creation. Some of the topics included are creation of net classes,
net addition, and determination of net class assignments. This section also provides information
about creating a net class from an existing net class, and deletion of net classes. Please refer to
the table of contents for the full listing of topics included in this section.
When grouping nets based on their level of design importance, you could classify them to
differentiate critical nets in a design from non-critical nets. For example, a critical net class
could contain data nets that serve as the connections between microprocessors and other critical
connections that require a high-degree of signal integrity.
Note
Initially, all nets are assigned to the (Default) net class.
Figure 4-1. Navigator Showing Signal Nets Class with Two Additional
Hierarchical Classes
Tip: From the CES Navigator, you can drag and drop net classes into other net classes to
create or redefine hierarchy. When your goal is to drag multiple net 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.
When creating net class hierarchy, a common approach is to create additional levels of
hierarchy on an as-needed basis. For example, as you define common constraint values for a
class of nets, you may find that several of the nets benefit from most of the constraint values, but
require unique values for a few constraints. In this case, you can create a subclass for these
“more challenging” nets, move those nets into this subclass, and then modify the constraint
values that need more work. You do not need to redefine the other, working constraints because
each subclass is created to include the constraint values of its parent class.
2. Replace the default name “<user>_New” with a unique name for the hierarchical net
class.
Note: You can create multiple levels of hierarchy.
Note
Each net can belong to no more than one net class.
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, Shift-click, or click-drag. To select
nets by name, in the field below the list of source nets, enter a search string, and then
click . To sort the list of nets, click the Net Name label. You can also move nets
individually by double-clicking a specific source 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 .
Result: The target nets are added to the net class; these nets are no longer a part of the
source class from which they originated.
Example of Adding All Available Nets in a Source Net Class to a Target Net
Class
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
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.
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.
Related Topics
• “Adding Nets to a Net Class” on page 141
Prerequisites
• Empty the contents of the net class by moving each net contained within it to a different
class.
• Remove any net class sub-hierarchy (that is, child net classes within the parent net
class).
• Delete references to the net class in any class-to-class clearance rules.
This section covers constraint class creation. Some of the topics included are creation of
constraint classes, net addition, and auto-creation of bus constraint classes. This section also
provides information about creating a constraint class from an existing constraint class, and
deletion of constraint classes. Please refer to the table of contents for the full listing of topics
included in this section.
For example, after creating a constraint class that contains a dozen similar critical nets and
applying the same rules to each net in the constraint class, you find that two or three of the nets
in the constraint class do not promote signal integrity when they use a few of the rules
designated in the top-level constraint class. To assign slightly different rules to these nets that
require a higher-level of signal integrity, you can create a constraint class within the top-level
constraint class, move these critical nets into the hierarchical constraint class, and then modify
specific electrical rules.
Note
At first, all nets are automatically assigned to the (All) constraint class.
Figure 5-1. Navigator Showing Bus Nets Constraint Class With Two Additional
Hierarchical Classes
Tip: From the CES 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.
2. Replace the default name “<user>_New” with a unique name for the hierarchical
constraint class.
Note: You can create multiple levels of hierarchy.
Note
Each net can belong to no more than one constraint class.
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, Shift-click, or click-drag. To select
nets by name, in the field below the list of source nets, enter a search string, and then
click . To sort the list of nets, click .
6. 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 .
Result: The target nets are added to the constraint class; these nets are no longer a part
of the source class from which they originated.
Example of Swapping All Nets in One Constraint Class With All Nets in
Another Constraint Class
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.
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, CES 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.
• Digit suffix – CES 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 – CES 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 will includes four nets:
net zero, net one, net two, and net three.
• 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.
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 pulldown 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.
Figure 5-2. Suggested Bus Name With a Syntax Problem (Backslash Character)
8. After you select the proposed bus constraint classes to create, and resolve any naming
errors, click OK.
Result: CES creates a new constraint class for each proposed bus that you selected and
moves the appropriate nets into the new constraint classes.
Related Constraints
• “Bus” on page 336
Note
When you create a constraint class from an existing constraint class, the nets in the
existing constraint class remain in that constraint class.
Related Topics
• “Adding Nets to a Constraint Class” on page 147
Tip: Although it is not required, before you delete a constraint class you may want to
empty its contents by moving nets to a different class, removing any constraint class
hierarchy, and deleting design-object references to the constraint class. By default, CES
reassigns nets of a constraint class to the (All) constraint class after deletion.
This section covers rule-area scheme creation and clearance constraint definition. Some of the
topics included are trace and via rule specification, clearance-rule set creation, and class-to-
class clearance rule assignment. This section also provides information about package type
clearance rules, general clearance rules, and how to reset clearance rules. Please refer to the
table of contents for the full listing of topics included in this section.
You can separate areas of a board, and then manage constraint requirements for each board area
independently from global rules. Global rules can be heavily constrained due to the
requirements of relatively small collections of critical nets that cross through concentrated
board areas.
By using the minimum scheme, you can verify that you are not violating manufacturing
minimums within any of the schemes that you have created.
Note
Typically, you do not assign the minimum net class scheme to a rule area on the board;
however, when you have an area that requires the absolute minimum clearances that you
defined across all other net class schemes, you can assign this scheme to a rule area in
your design.
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.
When specifying trace and via rules, you can define values such as minimal, typical, and
expansion trace widths, typical impedance, and differential pair spacing. You can also override
these values for from-tos that must be routed on specific board layers.
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.
Common Tasks
• “Defining Via Assignments” on page 157
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. CES 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 Diff 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.
In the example illustration below, you can see that trace width constraints become more tightly
constrained at deeper levels of net class hierarchy. However, the Trace Width Minimum
constraint for layer SIGNAL_3 is even more tightly constrained through the entire net class
hierarchy. One reason for the usage you see below is for trace congestion on this layer. With a
smaller minimum value, it is easier to ensure that no traces will be routed any larger than
needed.
Figure 6-1. Example of Defining Trace Width Rule for SIGNAL_3 in 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, CES 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.
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.
Related Topics
• “Overriding Trace Width Constraints for From-Tos” on page 187
You can also define z-axis clearance rules like Trace to Trace and SMD Pad to Trace. Unlike
standard clearance rules, which control spacing between design objects on the same signal
layer, z-axis clearance rules control spacing between design objects on different signal layers.
Z-axis clearance rules are especially important for high-speed designs where net density is very
tight.
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.
It is important to note that z-axis clearance rules are absolutes based on just clearance. No
exceptions are made as a result of layer-direction bias. For example, when dielectric thickness is
smaller than a z-axis clearance constraint, no applicable trace is allowed to run over or under
another trace. This is still the case if the traces cross at right angles. Currently, z-axis clearances
are not applied between segments of the same net.
Common Tasks
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Defining SMD Clearance Rules” on page 165
Trace field of the Trace To heading, and then press Enter. CES 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, please refer to “Assigning Class-To-Class Clearance
Rules” on page 165.
• To simultaneously define clearance rules for all board layers, in the clearance rule set
name row, specify any appropriate clearance rules. Please 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. Please 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, please refer to “Assigning Z-Axis Class-To-Class
Clearance Rules” on page 168.
The difference between thick-film resistors and thin-film resistors is the production process
used to create each type of resistor. Thin-film resistors are typically “subtractive” because they
are created through an etching process. Thick-film resistors are typically “additive” because
they are instead printed on metal electrodes.
In the following illustration, each internal board layer has one embedded resistor. There are not
any embedded resistors on external board layers in this example. This illustration does not
depict a difference between the types of embedded resistors included below.
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.
Note
“Mask” refers to the production mask of a thin-film resistor. It does not mean solder
mask.
Note
Class-to-class clearance rules are obeyed between the top-level net classes to which they
are assigned. Any sub-level net classes in the top-level classes will not obey these rules.
rules defines all clearance constraints to the same value as the name of the clearance rule set.
The clearance constraints defined for (Default Rule) are all set to 5 th.
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
• “Creating Clearance Rule Sets for Schemes” on page 158
Note
When you update your PCB board stackup after already having defined z-axis clearances
in CES, 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 the top-level net classes to which they
are assigned. Any sub-level net classes in the top-level classes will not obey these rules.
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.
Note
When using Expedition PCB as part of your design flow, unique package types you
create in the Cell Editor of that PCB layout tool will show up in CES as part of the drop-
down list of selectable package types. To create a unique package type in Expedition
PCB, you must use the Clearance Type field of the Cell Editor. For more information,
please refer to the documentation for Expedition PCB.
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.
• 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.
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.
The illustration below depicts the difference between side-to-side, end-to-end, side-to-end, and
end-to-side clearances between directional package type clearance rules based on the package
orientation within Cell Editor.
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 the illustration above, the long
sides are left and right (sides), and the short sides are top and bottom (ends). In the illustration
below from Cell Editor, the orientation on the right would correspond to the directional
clearances above.
Figure 6-8. 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.
constraints, general clearance rules are specified irrespective of net class relationships. For
example, the minimum distance between testpoint centers is a general clearance rule that is set
globally and not defined by relationships between net classes. For a complete listing of general
clearance rules, please refer to the table below.
As you make changes to your schemes, you can also undo or rollback those changes to return
one or more schemes to a previous design state. For example, after deleting a specific rule-area
scheme, you can quickly re-add it without having to manually recreate it.
In addition to copying top-level schemes, you can copy specific clearance rule sets contained
within a scheme. This is useful when you want to duplicate only a subset of scheme, instead of
an entire PCB rule area.
Caution
When you rename a scheme, all rule areas within that scheme are automatically reset to
those in the (Master) scheme. You must go into the PCB system and reset the rule areas to
use the new scheme created as a result of renaming the scheme.
Resetting all or a subset of the constraints stored in a scheme to the (Master) scheme is most
useful when you are sure that further modifications to a user-created scheme will not result in
appropriate constraint values. Starting over with the default rule set gives you the ability to
“start fresh” by modifying values of a user-created scheme with the default rules as the starting
point.
Example: To exclude resetting Minimum Widths and Typical Widths, click to de-select
these sets of constraint values.
This section covers net constraint definition. Some of the topics included are specification of
general constraints, topologies, and delay rules. This section also provides information about
definition of formulas, overshoot and ringback constraints, and I/O Designer FPGA constraints.
Please refer to the table of contents for the full listing of topics included in this section.
Tip: To view all constraints instead of those that are of a specific type (for example, net
properties, delays and lengths, or overshoot/ringback), from the Group pulldown, select
All.
When you assign a topology type to a net or constraint class, or manually create a unique
topology ordering, you are defining the order in which the router etches transmission lines and
other physical mechanisms that aid in the propagation of electrical signals. CES 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).
• Net line ordering/from-tos – Ordered, physical pairings of component pins that instruct
the router where to etch from and to when creating physical transmission lines (traces).
• Pin pairs – Electrical pairings of component pins that are created for the purpose of
defining electrical relationships between component pins in the form of constraints.
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 CES 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.
CES 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.
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.
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.
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 CES Spreadsheet Parts 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.
Changing topology type is not a concern when a net does not have unique definitions associated
with the topology type. In many cases, changing topology type is a simple action of just going
from one topology type to another.
In the event that changing the topology type will result with losses like those listed above, CES
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.
Prerequisites
• None.
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, and then
click OK:
• 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.
Results
The existing Topology Type value is changed or preserved for one or more nets depending on
your choices.
Related Topics
“To Specify Topology Type for a Net or “Topology Type” on page 340
Constraint Class” on page 181
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 available pins / pin sets listing, 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.
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.
Next, here is 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.
Prerequisites
• The net's Topology Type must be Custom.
• The net must have gone through netline ordering.
• The net can not be part of a differential pair.
• Filters > Levels > FromTo must be enabled in order to view CES Spreadsheet rows for
from-tos.
You use pin pairs to define constraints for specific nets that result from the linking of two pins.
Although pin pairing can be thought of as a physical coupling, a pin pair only defines a
relationship that governs an electrical net property. For example, you can define a pin pair
between an output pin of a microprocessor and an input pin of another microprocessor that are
part of the same net. You can then constrain the signal delay between these pins such that it
stays within a specific threshold, or minimum and maximum. Here is an example. of this.
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 CES 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.
Alternative: After you click a net row, from the Edit menu, click Pin Pairs, and then click
Auto Pin Pair Generation.
Alternative: After you click a net row, from the Edit menu, click Pin Pairs, and then click
Auto Simulation Pin Pair Generation.
Note
Simulation pin pairs are only pairings of load pins and source pins. No other pin
combination is a valid simulation pin pairing.
Note
In order to assign EBD pin pairs, you must have an Electrical CES license.
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.
Note
Before you can define discrete pin pairs, you must add the reference designator prefix
your design uses for resistor packs (for example, RP, RN, or both). To do so, from the
Setup menu, click Settings. From the Settings dialog box, under Design Preferences,
click Discrete Component Prefixes, and then in the Resistor cell, add your additional
reference designators. 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).
Conversely, to specify delay from a physical perspective, use length instead of time of flight.
Length delay is a physical rule that defines the minimum and maximum trace distance between
pins. When a delay rule of this type is put in place, the router uses these minimum and
maximum values to determine an acceptable trace distance between the minimum and
maximum range. For example, setting Length or TOF Delay Min to 100 th and Length or TOF
Delay Max to 300 th would give the router a range of 200 th between these minimum and
maximum values.
Note
When specifying delay rules, you can use both types of delay rules within CES; however,
depending on your design requirements, you might use a single delay type exclusively.
Common Tasks
• “Matching Delay Rules Among Nets” on page 195
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.
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, please refer to “Matching Delay Rules Among Nets” on page 195.
Note
Manhattan length values used in CES are not validated.
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.
Note
For electrical nets, the physical length of any devices that join physical nets is included in
the length calculation when available.
• 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).
Rules
• 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, please refer to
“Specifying Design Preferences” on page 59.
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.
Example of Specifying a Matched Time of Flight Delay for Several Pin Pairs
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
• “Defining Pin Pairs for Nets” on page 188
Matching 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 CES Spreadsheet Nets 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. Optionally, when there are sub-level/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.
Results
The tolerance values will now be used during routing.
Common Tasks
• “Including Tolerance” on page 200
• “Entering Multiple Formulas” on page 201
• “Solving Formulas to Check for Errors” on page 202
• “Complex Formula Examples” on page 202
To Define a Formula
1. From the CES Spreadsheet Nets 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 (=, >, <, +, -). Refer to the
following examples, which show common formula applications:
• A+3 – Length or delay equals constant A plus 3 units.
• B-2 – Length or delay equals constant B minus 2 units.
• >{\NET1\} – Length or delay must be greater than that of NET1.
• <{\NET01\} – Length or delay must be less than that of NET1.
• ={\NET01\} – Length or delay must be equal to another value.
Rule: Formulas assume ns unit of measure. When you are working with a different unit
of measure (for example, th), you must include it after the hardcoded value (for
example, 1000th).
2. After you enter an operator that requires a reference object (=, >, <), click the name cell
of the electrical net, physical net, differential pair, or other object that you want to use as
the reference. You can also type the object name, but clicking is recommended because
it is far more accurate and efficient when you have the option to do so.
Rule: The reference object must be same type as the object for which you are defining
the formula. For example, when you define a formula for a net, the reference object must
also be a net.
Note: CES 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\
Including Tolerance
You can include tolerance in your formulas to introduce a range around a formula value. For
example, when you require length delay for several nets to be larger than 3000 th, but a
tolerance of 100 th is acceptable (that is, minimum value can be 2900 th), you can include the
tolerance in your formula.
To Include a Tolerance
At the end of the formula, enter +/-, the tolerance, and then the unit of measure.
Example: =2000th+/-100th specifies that the length delay 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, please refer to “Specifying Design
Preferences” on page 59.
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 CES 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 CES to report a formula error, but layout tuning will use
the tolerance.
For example, when you want to set the delay constraint of a pin pair (for example, \U1\-
\3\@\U2\-\3\) to be equal to a pre-defined constant (for example, A) and less then a specific
value (for example, 800 th), the correct cell notation is =A#\U1\-\3\@\U2\-\3\<800th. The #
symbol defines an AND relationship between formula one (=A) and formula two (\U1\-
\3\@\U2\-\3\<800th).
Note
When entering multiple formulas, the net, pin pair, or differential pair name must
immediately follow the # symbol. When you type the # symbol, CES 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.
To Solve Formulas
With CES Spreadsheet Nets page active, from the Pairs toolbar, click ; or, from the Data
menu, click Solve All Formulas.
• “Example Formula Matching Length Delay Within a Bus and Between Busses” on
page 202
• “Example Formula Where the Sum of Two Net Lengths Must be Less Than a Certain
Distance” on page 203
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 delay 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 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.
Related Topics
• “Defining Formulas to Create Net Relationships” on page 199
Note
In order to use these constraints, you must have an Electrical CES license. In order to
calculate actual values for these constraints, you must be using ICX Pro Verify within
your design flow.
Common Tasks
• “Matching Simulated Delay Rules Among Nets or Constraint Classes” on page 207
When constraining delay through simulation, you can choose to constrain one or more signal-
edge properties with unique or identical minimum and maximum delay values. You can also
specify the maximum acceptable range between the actual values produced by simulation of
these minimums and maximums. When you are constraining based on range, but not actual
values, use Simulated Delay Max Range without defining minimum and maximum simulated
delay values to design source-synchronous busses where the absolute delay is not important, but
limiting the skew between bus nets is critical.
Unlike the constraints in the Delays and Lengths group of the CES Spreadsheet Nets page,
which you use to define the total delay for a net, simulated delay constraints control the
switching times between signal states. These states 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).
2. In the row of the net or constraint class for which you want to specify simulated delay
rules, click within the Simulation Settings cell, click the dropdown, and then select a
simulation template.
3. In the Simulation Stimulus cell, click the dropdown, and then select a simulation
stimulus.
4. Click within the Simulated Delay Edge cell to select the signal edge to constrain.
5. 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 (:).
6. Optionally, to specify a maximum range between the actual values produced for
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.
When matching simulated delay rules, the electrical net or constraint class to which you are
matching does not need to include defined constraints for Simulated Delay Min, Simulated
Delay Max, or Simulated Delay Max Range. By keeping these constraints undefined you can
specify edge rate commonality between multiple nets without constraining the common edge
rate to a specific value.
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.
Note
In order to use these constraints, you must have an Electrical CES license. In order to
calculate actual values for these constraints, you must be using ICX Pro Verify within
your design flow.
Tip: To learn more about each overshoot constraint, please refer to the CES Constraint
Reference (appendix chapter A).
Note
Only I/O Standard is accessible and modifiable through CES. All other I/O Designer
constraints are not available.
Within CES, all single-pin nets have one entry. Therefore, you define rules for all Net0 nets as a
group. Incidentally, all single-pin nets will be part of the same constraint class and net class.
Whether you have 200 single-pin nets, or just two, CES refers to them as “(Net0)-1:X”.
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 CES 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 CES Spreadsheet Nets 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.
This section covers parallelism and crosstalk rule creation. Some of the topics include
determining when to use parallelism and crosstalk rules, defining parallelism rules for stack-up
layers, and assigning parallelism rules to nets and constraint classes. This section also provides
information about the definition of crosstalk rules for nets and constraint classes. Please refer to
the table of contents for the full listing of topics included in this section.
• 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.
The hierarchy CES uses to determine parallelism-rule usage obeys the following order:
1. Net to net
2. Net to (All Nets)
3. Class to class
4. Class to (All Classes)
When defining parallelism rules, you can create as many edge-to-edge and maximum length
combinations as you require. For example, a parallelism rule that contains two edge-to-edge and
maximum length combinations for net segments on the same layer might specify that segments
with an edge-to-edge spacing of 10 th can run parallel for no more than 1000 th, while those
with an edge-to-edge spacing of 5 th can run parallel for no more than 500 th.
In the above example, the same layer trace segment Edge / Edge rules are more restrictive than
the corresponding adjacent layer trace segment rules.
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 cannot 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
• “Determining When to Use Parallelism or Crosstalk Rules” on page 215
In the above example illustration, the noise rule Bus1 assigns parallelism rule PR1 between all
nets in the Memory constraint class.
Common Tasks
• “Navigating to Assigned Parallelism Rules From the Nets Page” on page 220
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, and then click Apply.
Crosstalk: You can also 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.
Tip: Before clicking Apply, 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 .
Figure 8-3. Single Constraint Class and All Other Constraint Classes
Parallelism Rule Assignment
Result: The Noise Rules page becomes active, and any parallelism rules assigned to the design
object are highlighted.
Related Topics
• “Creating Constraint Classes” on page 145
• “Defining Parallelism Rules for Stack-Up Layers” on page 216
When you define a maximum crosstalk value, you can also specify the victim net's signal state
(for example, Low or High) that is most susceptible to crosstalk. Because crosstalk is a
complicated matter that presents unique challenges based upon signal state, you can define
multiple crosstalk rules to specify constraints for aggressor-victim net and constraint class pairs.
For example, when Net B is in a low state, you can restrict the maximum crosstalk from Net A
to 10 mV. However, when Net B is in a high state, you can require that the maximum crosstalk
from Net A is no more than 5 mV.
Figure 8-4. MICROAD4 and 50M_CLK Are Defined As Both Aggressor and
Victim Nets
Related Topics
• “Determining When to Use Parallelism or Crosstalk Rules” on page 215
This section covers differential pair and pair rule definition. Some of the topics included are
manual definition of differential pairs, and automatic definition of differential pairs. This
section also provides information about assigning rules to differential pairs. Please refer to the
table of contents for the full listing of topics included in this section.
Note
When any previously defined differential pairs now include a “push pin” next to them,
please refer to “Differential Pairs Conversion” on page 51.
When you can match differential pairs by net name, you should consider creating differential
pairs automatically. By doing so, you can create differential pairs more efficiently. For more
information, please refer to “Defining Differential Pairs Automatically” on page 224.
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.
• Each net must include two or more pins. You cannot make differential pairs from single-
pin nets.
2. Optionally, 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, and then press Enter.
After you create a differential pair, delay cells at the pair level could be highlighted to indicate
errors. This happens when each of the electrical 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.
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
The process of automatically creating differential pairs is not always a viable method. It
depends on whether your nets have naming characteristics, or IBIS models assigned to
components, that allow for identification of complimentary nets.
Prerequisites
• In order to automatically define differential pairs based on IBIS models, you must have
an Electrical CES license.
• Nets that comprise a differential pair must be part of the same net class and constraint
class.
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 would result with the same net showing up in both the Electrical Net column
and Pair Net column. In these cases, the nets will 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. Optionally, to give one or more differential pairs unique names instead of their system-
defined names, from the CES Spreadsheet, right-click a differential-pair cell, and then
click Rename. Now that the cell is editable, type a new name, and then press Enter.
After you automatically create one or more differential pairs, delay cells at the pair level could
be highlighted to indicate errors. This happens when each of the electrical nets that were used to
create a differential pair had different delay values defined previously. To remove error
highlighting, you need to define delay values at the differential-pair level.
Differential-Pair Rules
You can assign the following differential-pair rules/constraints:
• “Differential Pair Tol Max” on page 389 – 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.
• “Convergence Tolerance Max” on page 390 – 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 391 – Maximum allowed trace distance from a
pad to the point where the traces start routing differentially at Differential Spacing.
• “Separation Distance Max” on page 392 – Maximum allowed distance that differential
traces are allowed to be routed at a spacing greater or less than Differential Spacing.
• “Differential Spacing” on page 393 – 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 Differential Pair tab. To modify this value, use the Trace & Via
Properties page, Diff Pair Spacing constraint.
• “Differential Impedance Target” on page 394 – Defines the target differential
impedance. When this constraint cannot be met, Differential Spacing is used.
• “Differential Impedance Tolerance” on page 395 – 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.
Related Topics
• “Defining Differential Pairs Manually” on page 223
• “Defining Differential Pairs Automatically” on page 224
This section covers constraint template creation and reuse. Some of the topics included are
creation of constraint templates, and application of constraint templates. This section also
provides information about constraint-template reuse in external designs. Please refer to the
table of contents for the full listing of topics included in this section.
Note
When you modify constraint values from the CES Spreadsheet Constraint Templates
page, just the values in the template are changed. The originating values, which come
from other spreadsheet pages, are not modified.
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, please refer to its description in “General Template Values” on
page 233.
Tip: When developing a library of constraint templates, you should consider making it
accessible to all designers within your group when appropriate. By doing so, you can
leverage common design constraints and promote consistency.
Please refer to the following table, which includes a description of each template cell that does
not originate from another spreadsheet page. For all other cells (for example, Formulas
Formula), please refer to “Quick Reference - CES Constraint Spreadsheet” on page 28 or “CES
Constraint Reference” on page 289.
overwritten for a net during the application process. This includes constraint values within a
template that are “blank” or undefined.
When you apply a constraint template to a net, you should make sure that the net to which you
are applying it is an appropriate candidate for the constraint set defined in the template. During
the application process, which includes the process of elaboration, CES performs an analysis to
determine whether the target net is suitable for the constraint template. Depending on the
required level of similarity you defined while setting up CES, the potential for net application
will vary. By modifying the CES setting that dictates this similarity requirement, you can
specify how similar candidate nets must be to the net from which the constraint template
originated.
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.
1. There is a set of nets that contain the following identical components: QU9881,
QU9882, and QU9883. These components have pins that are part of a netline topology.
2. You create a constraint template from the first net in the set. In the template, component
QU9881 is now defined as Dev1.
3. In the template, you define the Device Matching Pattern value for component Dev1 as
QU988*.
4. Now, when you apply the constraint template to the nets containing QU9882 and
QU9883, the Dev1 component is matched to these components. In essence, the pins will
create the same netline topology.
The Constraint Template Matching display uses both color coding and numbering to show how
well a constraint template matches the net to which it is applied. The following are very
important fields of the dialog box:
CES will only automatically update a net to actively reflect the template values when you have
it configured to do so. To modify this setting, from the Setup menu, click Settings, and then
from the Settings dialog box, click Other. Under Constraint Templates, activate or clear the
Automatically apply templates checkbox, based on the desired behavior.
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, please refer to the
CES Spreadsheet Nets page, Template Status constraint.
Figure 10-2. Status Cell Indicating Differences Between Net and Template
Related Topics
• “Creating Constraint Templates to Capture Net Constraints” on page 231
For example, after defining the physical, electrical, and signal integrity constraints for a net that
serves as the critical connection between two common components for a product line, you can
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.
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 CES.
• .ctm files – Constraint templates you saved from within CTE, the constraint template
editor.
5. You can now apply the imported templates as needed. For more information, please
refer to the related topic below.
Related Topics
• “Exporting Constraints in Encrypted ASCII Format” on page 244
• “Importing CES Constraints” on page 245
• “Applying Constraint Templates to Nets” on page 233
This section covers the export and import of CES 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.
General Tasks
You can export and process constraint data in the following ways:
When exporting, you can either start with the entire constraint set and then reduce the total
amount of constraint data, or select just the spreadsheet rows you want to export. Depending on
the amount of data you want to capture, one of the two procedures below is more appropriate for
your purpose.
Note
You can also export CES constraints into proprietary encrypted XML format (.cts) using
a command-line tool. For more information, please refer to “cons2xml” on page 431.
Procedure
1. From the File menu, click Export, and then click Constraints.
2. From the CES - 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.
• In the Description field, optionally, 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.
3. From the Export Constraints dialog box, specify a filename and location for the
constraint data file you want to export, and then click Save.
Related Topics
“Exporting CES Constraints” on page 241 “Importing CES Constraints” on page 245
“Reusing Constraint Templates in External
Designs” on page 239
Note
You can also export CES constraints into the encrypted CSV format (.ecsv) using a
command-line tool. For more information, please refer to “cons2csv” on page 429.
Prerequisites
• CES Diagnostics must report no issues in order for export to run.
Limitations
• Via assignments are not exported.
• Constraints are exported in hard-coded display units.
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 CES data. The file uses the units settings defined in CES.
The order of constraints is based on the default column order in CES 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.
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
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
“Exporting CES Constraints” on page 241 “Decrypting and Encrypting Exported
Constraint Data” on page 244
“Importing Constraints in Encrypted CSV
Format” on page 246
Note
You can also export CES constraints into the encrypted ASCII format (.cs_) using a
command-line tool. For more information, please refer to “cons2ascii” on page 428.
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
“Exporting CES Constraints” on page 241 “Decrypting and Encrypting Exported
Constraint Data” on page 244
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 CES.
Prerequisites
• You have the following license: cesencryption
• You have exported encrypted ASCII constraint data or encrypted CSV constraint data;
or, you have decrypted CSV 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 433
After you import, you can set the unit type associated with the constraint set if the native setting
is not ideal. You can import .cts data files and .ecsv data files.
General Tasks
You can import and work with constraint data in the following ways:
For example, when you are having trouble developing constraints for a specific net, you can
export your best-guess CES constraint data to a file, send it to another engineer (for example, a
signal integrity expert), and then that person can import your constraints in their CES
environment to help create the appropriate constraint solution.
Note
You can also import CES constraints in the proprietary encrypted XML format (.cts)
using a command-line tool. For more information, please refer to “cons2xml” on
page 431.
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, please refer to “Setting Units for the CES Spreadsheet” on page 66.
• 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 CES databases. For example, if the CES
database into which you are importing constraints contains net A1 but the exported
constraints file does not, no updates will be made to net A1 as a result of the import.
• For nets that have matching names between the CES database 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. Optionally, set the display units for the constraint set. For more information, please refer
to “Setting Units for the CES Spreadsheet” on page 66.
Related Topics
“Importing CES Constraints” on page 245 “Exporting Constraints in Encrypted XML
Format” on page 241
clearances, trace widths, and similar values. For example, you could import a large number of
package type clearance rules and overrides.
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. Before you
start an .ecsv import operation, the CES database is backed up through iCDB Project Backup.
Note
You can only import CES constraints in encrypted CSV format (.ecsv) using a command-
line tool. For more information, please refer to “cons2csv” on page 429.
Prerequisites
• Encrypted CSV import is controlled release functionality. You must have a special
license to use this functionality.
• You encrypted the .csv file into an .ecsv file using the command “csv2dat” on page 433.
• The stackup must already be defined for the project. Stackup definition or updates are
not supported.
Limitations
• Encrypted CSV import is not supported in an Enterprise Design Manager flow.
• Concurrent import is not supported.
• Just front-end snapshot import is fully supported. Please contact Mentor Graphics for
help when importing into a back-end snapshot.
• Import will run regardless of issues found through CES Diagnostics. It is strongly
recommended that you correct your design prior to importing.
Notes on Import
• Via definitions and settings are not updated during the import process.
• During this process, CES 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, CES checks the
content during import.
Procedure
1. Verify that you have met the above prerequisites, and then run the command “cons2csv”
on page 429 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
At this point, you may want to set the display units for the constraint set. For more information,
please refer to “Setting Units for the CES Spreadsheet” on page 66.
Related Topics
“Importing CES Constraints” on page 245 “Decrypting and Encrypting Exported
Constraint Data” on page 244
“Exporting Constraints in Encrypted CSV “ECSV Importer Error and Warning Codes”
Format” on page 243 on page 248
“Example CSV Files” on page 250 “Guidelines for CSV Files” on page 253
Related Topics
“Importing Constraints in Encrypted CSV
Format” on page 246
Note
The value separator/delimeter you must use in these CSV files is a semicolon (;).
Prerequisites
• Encrypted CSV import is controlled release functionality. You must have a special
license to use this functionality.
• You decrypted one or more .ecsv files into .csv files using the command “csv2dat” on
page 433.
General Topics
• “Example CSV Files” on page 250
• “Guidelines for CSV Files” on page 253
Table 11-2. CSV File That Includes Multiple Constraint Tables (cont.)
(Minimum) (All) (All) (Default Rule)
BGA_RULE1 (All) (All) (Default Rule)
(Master) (Default) (Default) 10th
(Master) CLOCKS (All) 10th
(Master) CLOCKS CLOCKS 5th
(Master) DIFF_PR (All) 5th
(Master) DIFF_PR DIFF_PR 20th
(Master) POWER (All) 20th
(Master) POWER POWER 35th
(Minimum) (Default) (Default) 10th
(Minimum) CLOCKS (All) 10th
(Minimum) CLOCKS CLOCKS 5th
(Minimum) DIFF_PR (All) 5th
(Minimum) DIFF_PR DIFF_PR 20th
(Minimum) POWER (All) 20th
(Minimum) POWER POWER 35th
From Net Class To Net Class Z-Axis Clearance rule Max Layer Depth
CLOCKS (All) Rule1 2
CLOCKS CLOCKS Rule1 1
DIFF_PR (All) Rule2 4
DIFF_PR DIFF_PR Rule2 2
POWER (All) Rule1 2
POWER (Default) Rule1 1
POWER POWER Rule2 3
Table 11-2. CSV File That Includes Multiple Constraint Tables (cont.)
Table Package type clearance rules
Display Units th
Date 2012-03-21 14:00
Description Description
From Net Class To Net Class Z-Axis Clearance rule Max Layer Depth
CLOCKS (All) Rule1 2
CLOCKS CLOCKS Rule1 1
DIFF_PR (All) Rule2 4
DIFF_PR DIFF_PR Rule2 2
POWER (All) Rule1 2
POWER (Default) Rule1 1
POWER POWER Rule2 3
Date;2012-03-21 13:51;
Description;Description;
Related Topics
“Importing Constraints in Encrypted CSV “Guidelines for CSV Files” on page 253
Format” on page 246
Note
The value separator/delimeter you must use in these CSV files is a semicolon (;).
• CSV Information Section - It identifies the type of constraints supplied in the constraints
section, the display units used, the date, and a description.
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, please refer to “Example CSV Files” on
page 250.
• 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 - It 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.
Please 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.
Table 11-4. Constraint Tables
Valid Table Names
Class to class clearances
Clearance rules
Constraint templates *
Constants & variables *
General clearances
Nets *
Noise rules *
Package type clearance rules
Package type to package type clearance rules
Parallelism rules *
Parts *
Power & ground *
Stackup *
Traces
Via assignments
Z-Axis class to class clearances
Z-Axis clearance rules
Although the “Table” in a CSV Information section must be one of the above names, this does
not include case-sensitivity. For example, you could use either “Clearance rules” or
“CLEARANCE RULES”. Both would work.
units in the reference table below. For more information, please refer to “Constraint Tables and
Required Unit Type Declarations” on page 256.
It is important to note that these values are case sensitive. Please note that currently most unit
types are not supported for import. Unsupported unit types are indicated with an * in the table
below.
When a constraint table includes constraints of multiple unit types, you can list them all by
separating them with a | character (for example, th|ns).
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-6. Constraint Tables and Required Unit Type Declarations (cont.)
Table Name Required Unit Types
General clearances <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.
• 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 CES data.
• You can enclose data in double quotes when it makes sense to do so. For example:
Description;“Warning: Cannot import constraint: ““PLANE_TO_PLANE””
for layer ““ONE/AAA”””;
Related Topics
“Importing Constraints in Encrypted CSV “Example CSV Files” on page 250
Format” on page 246
This section covers stackup display and modification. It includes a single topic, viewing or
modifying stackup properties. This topic includes critical sub-topics that you should read and
understand prior to using the CES Stackup Editor.
The term stackup refers to the layering of conductive and dielectric materials that make up a
printed circuit board. The characteristics of these materials (for example, thickness, dielectric
constants, and conductivity) and how they are ordered determine the electrical characteristics
(for example, nominal impedance) of the PCB's traces.
Caution
Because the CES 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 “Correlating Layer Names Among Design
Tools” on page 260.
• Read and understand the information in “Stackup Editing Limitations” on page 260.
Procedure
1. From General toolbar, click , or, from the Edit menu, click Stackup.
See also: For detailed parameter and usage information on the CES Stackup Editor,
please refer to the Stackup Editor Help. This help system is accessible through the
dialog box Help buttons and Help > Contents menu selection of the Stackup Editor.
Because CES deals with just signal-layer nets, dielectric layers displayed in the CES Stackup
Editor do not appear in the constraint spreadsheets.
You need to be aware of the following things when changing the stackup in CES:
• Changing the stackup on a board that has routing done in the PCB tool can have 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.
• Adding and removing layers can result in a stackup that is not manufacturable. The PCB
fabrication process is a series of layer lamination and drilling operations. Insertion of
layers in the CES stackup editor can result in a stackup that contains via spans that
cannot be drilled.
For the above reasons it is strongly recommended that addition or removal of layers be done
only in the PCB layout tool. The PCB layout tool has functions to move layers within the stack
and to alter or add via spans to prevent loss of work done in layout and ensure that the resulting
design can be manufactured.
Note
This section covers model library definition, part model assignment, and model verification.
Mentor Graphics signal integrity tools get part pin characteristics for the purpose of simulation
from IBIS models. The IBIS model definitions for parts in your design are specified in the Parts
grid within CES. Please refer to the table of contents for the full listing of topics included in this
section.
Note
In order to use this feature, you must have an Electrical CES license.
Note
In order to use this feature, you must have an Electrical CES license.
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, CES 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. CES 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. CES 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, CES 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 CES 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
• “Assigning Models to Parts” on page 265
IBIS models include dedicated pin models for each component pin. For example, an IBIS model
for a sixteen pin component will include sixteen individual pin models. A technology model
used for the same component may include three or four pin models (that is, one for each type of
pin for the sixteen pin set).
Note
In order to use this feature, you must have an Electrical CES license.
Common Tasks
• “Updating Part Model Constraints” on page 266
• “Reloading Model Directories and Individual Models” on page 267
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 CES.
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.
Note
Reloading a model directory refreshes all individual models contained within it.
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
• “Specifying Available Part Models” on page 261
• “Updating Electrical Net Data and Results” on page 133
To Override a Value
1. From the CES Spreadsheet Parts 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).
Example: In the following illustration, a resistor model has been changed to a Thevenin
terminator with resistance values of 75 ohms and 50 ohms.
thermal constraint, please 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
1. From the CES Spreadsheet Parts page, you can define constraint values for each of the
following thermal constraints:
• “Thermal Power Dissipation” on page 411
• “Thermal Power Scaling Factor” on page 412
• “Thermal Theta-jc” on page 413
• “Thermal Casing Temperature Limit” on page 414
• “Thermal Junction Temperature Limit” on page 415
Results
Any thermal constraints you define for the design will be included as requirements in your
HyperLynx Thermal simulation environment.
Note
In some cases, an IC vendor will provide a ready-to-use side file for one or more ICs. In
any event, the pin package length data will 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 CES are kept, when defined.
4. Review your selections, and then click Import.
Results
The CES Parts page is updated to display the imported values.
Related Topics
“Pin Package Length” on page 409 “Example PinPkgLengths.txt File” on
page 271
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
As you can see from above, 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.
Caution
Comma symbols are not supported in these files, even if you have CES configured to use
commas instead of periods for decimal points.
This section cover signal integrity exploration and enhancement with HyperLynx® LineSim®
and ICX Pro Explorer. Some of the topics included are sending nets out for signal integrity
analysis, and creating constraint templates to capture enhancements. This section also provides
information about updating CES with constraint enhancements. Please refer to the table of
contents for the full listing of topics included in this section.
From LineSim, you can dynamically update CES with LineSim changes; or, export a constraint
template file that can be imported back into CES at a later time. 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, please refer to HyperLynx LineSim documentation or search the InfoHub to locate
this information.
Prerequisites
• HyperLynx 8.0 or newer must be installed on the same computer as CES.
• HyperLynx must use or include the same IBIS search paths as CES.
Limitations
• Resistor and capacitor packages can be modeled with IBIS models in CES, however
HyperLynx does not support IBIS package models. On the other hand, 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.
• Unconnected pins on the net have no topology information. These pins will be
connected in a “chained” routing topology that you can verify and edit in the free-form
schematic.
• Exported connectors are modeled in the free-form schematic as ICs with no model
assignment.
Result: 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
• “Updating CES With Constraint Enhancements” on page 279
Prerequisites
• You must be using HyperLynx version 8.2 or newer.
• The CES session from which you exported one or more nets must be active.
Procedure
1. From the HyperLynx LineSim Export menu, click Constraint Template.
2. Activate Update CES with generated template, and then click OK.
Results
The changes are loaded into CES.
Related Topics
“Sending Nets to HyperLynx LineSim” on
page 273
As the above flow diagram indicates, you can send a CES net directly to ICX Pro Explorer for
signal integrity exploration and enhancement work. Typically, you use CES constraint actuals
and hazard information displayed in your PCB system to determine which nets need ICX Pro
Explorer exploration.
After you send a net from CES, any modifications you make to it from within ICX Pro Explorer
are not reflected in CES until after you complete the update process. In addition, actual values
generated in the ICX Pro Explorer Simulation Results Spreadsheet are not displayed in CES.
When sending a net, the following unit values from CES are included as necessary: Linear,
Ohms, Time, and Voltage. Based on your constraint definitions, some or all of these unit values
are accurately displayed in the SRS and CTE.
Related Topics
• “Updating CES With Constraint Enhancements” on page 279
Because multiple constraint templates can be displayed at the same time, you can also paint
rules to quickly reuse suitable constraints that you defined in one constraint template, without
having to hand-enter the rules into additional constraint templates.
Alternatives:
• After you click a driver or receiver symbol, from the File menu, click Create Template
(All).
• Right-click any driver or receiver symbol, click Constraints, and then click Create
Template (All).
Result: All constraint templates ( ) currently displayed in the CTE are saved to the .ctm
file you specified.
Example: In the following illustration, the positive net of a differential pair is selected for
update.
Example: To display only Overshoot/Ringback constraints, click the Group dropdown, and
then click Template Overshoot/Ringback.
Rule: When you select a row that you cannot delete, the delete icon will not become active.
Related Topics
• “Sending Nets to HyperLynx LineSim” on page 273
• “Sending Nets to ICX Pro Explorer” on page 275
Note
You must make a constraint template file (.ctm) available to CES before you can apply a
constraint template stored within it to a net.
Related Topics
• “Sending Nets to HyperLynx LineSim” on page 273
• “Sending Nets to ICX Pro Explorer” on page 275
• “Creating Constraint Templates to Capture Enhancements” on page 276
This section covers design tool update. Some of the topics included are management of design
changes between tools, synchronization of constraint data between schematics and CES, and
sending schematic data to layout. This section also provides information about synchronization
of constraint data between CES and layout, and sending layout data to schematics. Please refer
to the table of contents for the full listing of topics included in this section.
When you want to update changes between the front-end and back-end tools that comprise your
flow, you can perform forward annotation by sending schematic data to layout, or back
annotation by updating schematic designs with changes from layout. During these processes,
constraint synchronization occurs, resulting in full updates of both the front-end and back-end
constraint sets. For more information, please refer to “CES Synchronization of Constraint
Databases” on page 282.
• Constraint Editor System (CES) User's Manual for Board Station XE and RE Flows
(da_bs.pdf)
• Constraint Editor System (CES) User's Manual for Expedition Enterprise Flow: Design
Capture (dc_exp.pdf)
• Constraint Editor System (CES) User's Manual for Expedition Enterprise Flow:
DxDesigner (dx_exp.pdf)
You can find these PDFs within InfoHubs, on SupportNet, or in your Mentor software
installation directory.
Figure 15-1. CES Synchronization Updates Both CES Databases During Design
Annotation
How you set the winner for design annotation depends on the flow you are using. Refer to the
CES flow manual for your design flow for more information. For the listing of flow manuals,
please refer to “Constraint-Driven Design-Flow Manuals” on page 281.
Caution
When back annotating, there is the possibility for some objects to be skipped as part of
the PIM process. To determine if any updated objects were skipped and not back
annotated to the front end, please review the latest PIM log file for back annotation,
stored at <design_folder>\database\cdbsvr\PIMlog. When forward annotating, no
objects are skipped, therefore full synchronization always occurs.
CES 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 Design Architect/Board Architect data is changing less frequently as you
move toward manufacturing start, forward annotating to Board Station XE gives you more
opportunities to acquire constraint changes made in XE-CES. Due to the large volume of design
changes that can occur in Board Station XE 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.
XtremePCB
XtremePCB gives multiple designers the ability to simultaneously work on a single layout
project. Because of this, CES synchronization is also used as a back-end only process to manage
changes to layer and net constraints within your PCB design. The result is that all constraint
work performed by multiple designers is accurately stored in the back-end CES database.
During forward annotation and back annotation, the front-end and back-end CES databases are
synchronized as explained above.
Note
When you run XDS Save from XtremePCB, it back annotates when necessary. As
expected, this back-annotation process includes full CES synchronization between back-
end and front-end constraint databases.
TeamPCB
TeamPCB gives you the ability to partition your layout design, but it does not incorporate
constraint changes made to a partition. For this reason, you should use TeamPCB to perform
layout operations to partitions–not constraint modifications. After a partition is rejoined to the
main layout design, you can modify constraints in CES.
Prerequisites
• Optional, but recommended, set up your schematic tool to launch CRM automatically
when needed. Please 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 CES, with the CRM toolbar enabled,
select the most recent item from the dropdown list.
2. CES is now in CRM mode. It has the appearance of CES, but provides a limited subset
of functions related to manual resolution of constraint conflicts. At any time, to switch
from CRM mode back to CES, from the CRM Tools menu, click Constraint Editor
System.
3. When there are conflicting constraint values between source and target objects, the CES
Spreadsheet Nets page and/or Trace & Via Properties page will highlight each net and/or
layer row that has conflicting constraint values. Cells that do not conflict will remain
white.
4. 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.
5. Change appropriate constraint values as often as you like until the correct set of source,
target, and concurrent values are present.
6. After you have finished, close the CRM, or switch to CES mode. To do so, from the
CRM Tools menu, click Constraint Editor System.
Results
The set of appropriate constraint values is chosen. There are no longer any conflicting
constraints in the target sheet.
Related Topics
“Viewing Constraint Resolution Statistics” on
page 285
Prerequisites
• CES 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. Optionally, 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 CES 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
“Resolving Schematic Constraint Conflicts
Manually” on page 284
Note: For specific forward-annotation commands, please refer to the CES constraint-driven
design-flow manual for your flow, or your schematic-capture software documentation.
from which you launched CES is updated with any applicable constraint changes or
assignments.
Note
You must save your layout database after you exit CES. This is true regardless of whether
you have made design changes to your layout database prior to launching CES. The only
way for your layout design to incorporate your constraint changes is through a save in
your layout software.
Note: For specific back-annotation commands, please refer to the CES constraint-driven
design-flow manual for your flow, or your layout/routing software documentation.
Related Topics
• “Synchronizing Constraint Data Between CES and Layout” on page 286
This section provides a full constraint reference for each constraint available in CES. This
reference is organized and ordered to reflect the display of constraints on each CES Spreadsheet
page.
Click within section “CES Constraint Reference” of the table of contents to view the
reference topic associated with a constraint. In the illustration below, the graphic available in
the overshoot constraint topic Dynamic Low Overshoot Max is shown.
Note
For illustrative purposes, components and other board elements may appear
disproportionately large relative to PCB size.
• Hazards – Dynamically updated design rule checking for placement and routing
constraint information. This component is available in Expedition PCB, 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
delay). This component is available in Expedition PCB, Board Station XE, and Board
Station RE.
• ICX Pro Verify – Design verification through full-board simulation of nets.
Related Topics
• “Quick Reference - CES Constraint Spreadsheet” on page 28
• “Defining Constraints With CES Spreadsheets” on page 99
• “Creating Constraint Groups” on page 118
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, power, or ground). 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
Power
Related Constraints
• “Trace To Plane” on page 308
• “Typical Impedance” on page 299
Via Assignments
Defines the via assignment for a net class.
Default means that the net class is using the via assignment defaults defined in CES 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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
(default)
Related Topics
• “Specifying Trace and Via Rules” on page 154
Route
Defines whether the board layer is routed during PCB fabrication. You can define Route
individually or for all board layers of a net class.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Specifying Trace and Via Rules” on page 154
Trace Width Minimum is used whenever the router can successfully route at this trace width.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
8 mil
Related Constraints
• “Trace Width Expansion” on page 298
• “Trace Width Typical” on page 297
Related Topics
• “Specifying Trace and Via Rules” on page 154
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
9 mil
Related Constraints
• “Trace Width Expansion” on page 298
• “Trace Width Minimum” on page 296
Related Topics
• “Specifying Trace and Via Rules” on page 154
When the router needs to increase trace width to satisfy routing requirements, this trace width is
used.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
10 mil
Related Constraints
• “Trace Width Minimum” on page 296
• “Trace Width Typical” on page 297
Related Topics
• “Specifying Trace and Via Rules” on page 154
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, CES 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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Trace Width Typical” on page 297
Related Topics
• “Specifying Trace and Via Rules” on page 154
Note
Differential Typical Impedance is not calculated or able to be entered for traces that are
on plane layers. To indicate this, CES 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 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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Trace Width Typical” on page 297
• “Typical Impedance” on page 299
• “Differential Spacing” on page 301
Related Topics
• “Specifying Trace and Via Rules” on page 154
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
0.5 mm
Related Constraints
• “Trace Width Minimum” on page 296
Related Topics
• “Specifying Trace and Via Rules” on page 154
Clearances
Please refer to the clearance constraint reference topics that follow. These constraints are
accessible from the CES Spreadsheet Clearances 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, signal, power, or ground). 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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
12 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining SMD Clearance Rules” on page 165
• “Assigning Class-To-Class Clearance Rules” on page 165
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining SMD Clearance Rules” on page 165
• “Assigning Class-To-Class Clearance Rules” on page 165
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
When working in an Expedition PCB flow, you can only define this constraint at the
(Master) scheme level.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Class-To-Class Clearance Rules” on page 165
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining Embedded Resistor Clearance Rules” on page 163
• “Assigning Class-To-Class Clearance Rules” on page 165
Z-Axis Clearances
Please refer to the z-axis clearance constraint reference topics that follow. These constraints are
accessible from the CES Spreadsheet Z-Axis Clearances 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.
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
10 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Z-Axis Class-To-Class Clearance Rules” on page 168
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
12 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Z-Axis Class-To-Class Clearance Rules” on page 168
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
8 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Z-Axis Class-To-Class Clearance Rules” on page 168
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
20 mil
Related Topics
• “Creating Clearance Rule Sets for Schemes” on page 158
• “Assigning Z-Axis Class-To-Class Clearance Rules” on page 168
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
15 mil
Related Topics
• “Defining SMD Clearance Rules” on page 165
• “Assigning Z-Axis Class-To-Class Clearance Rules” on page 168
Nets
Please refer to the net constraint reference topics that follow. These constraints are accessible
from the CES Spreadsheet Nets page.
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
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 CES, the net will now show as a
physical net. To reverse the process, disable the Analog cell.
Constraint Type
Modifiable
Related Topics
• “Understanding Electrical Nets and Physical Nets in CES” on page 53
• “Specifying General Net Constraints” on page 179
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 Expedition PCB should enable bus planning and
routing capabilities for a specific constraint class.
Constraint Type
Modifiable
Related Topics
• “Specifying General Net Constraints” on page 179
Net Class
Displays the name of the net class to which the net belongs.
Constraint Type
Reference
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 a Net With Constraint Template Changes” on page 238
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Topology Ordered” on page 342
Related Topics
• “Specifying Topologies for Nets and Constraint Classes” on page 180
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 CES from the PCB layout system. This is
because the PCB layout system needs to analyze your usage of pin sets and fromtos to ensure
that the Complex topology is in fact fully ordered.
Constraint Type
Reference
Related Constraints
• “Topology Type” on page 340
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Specifying Topologies for Nets and Constraint Classes” on page 180
# Vias Max
Defines the maximum number of vias that can be created when routing a net. 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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Specifying General Net Constraints” on page 179
When available, the actual value for this constraint is displayed in the Actual cell to its right.
Restricted layers are those that do not have routing enabled through the Route constraint, which
is located on the Trace & Via Properties page of the CES Spreadsheet.
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Max Restricted Layer Length Internal” on page 346
Related Topics
• “Specifying General Net Constraints” on page 179
When available, the actual value for this constraint is displayed in the Actual cell to its right.
Restricted layers are those that do not have routing enabled through the Route constraint, which
is located on the Trace & Via Properties page of the CES Spreadsheet.
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Max Restricted Layer Length External” on page 345
Related Topics
• “Specifying General Net Constraints” on page 179
Note
In order to apply this constraint, you must enable from-to rows on the CES Spreadsheet.
To do so, from the Filters menu, click Levels, and then click to enable FromTos.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “From To Constraints Trace Width” on page 348
Related Topics
• “Overriding Trace Width Constraints for From-Tos” on page 187
From To Constraints Trace Width overrides any trace width constraints defined for a net on the
Trace & Via Properties page (for example, Trace Width Typical). When you define From To
Constraints Layer without defining an override width, the trace width constraints of the net class
are used.
Note
In order to apply this constraint, you must enable from-to rows on the CES Spreadsheet.
To do so, from the Filters menu, click Levels, and then click to enable FromTos.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “From To Constraints Z0” on page 349
Related Topics
• “Overriding Trace Width Constraints for From-Tos” on page 187
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 CES Spreadsheet.
To do so, from the Filters menu, click Levels, and then click to enable FromTos.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Reference
Related Constraints
• “From To Constraints Trace Width” on page 348
TOF Delay Type gives you the ability to specify time of flight based upon how long it takes the
signal to propagate through the net. Length Delay Type gives you the ability to set length
constraints that instruct the router to keep the net length within a specific range.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Length or TOF Delay Delta” on page 359
• “Length or TOF Delay Max” on page 353
• “Length or TOF Delay Min” on page 351
Related Topics
• “Specifying Delay Rules for Nets” on page 192
Note
Length tuning in Expedition PCB and BoardStation XE/RE will not work when the
length value exceeds 55 inches. In board configurations with extremely long traces,
ensure that this constraint does not exceed 55 inches.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Length or TOF Delay Delta” on page 359
• “Length or TOF Delay Max” on page 353
• “Length or TOF Delay Type” on page 350
Related Topics
• “Specifying Delay Rules for Nets” on page 192
Note
Length tuning in Expedition PCB and BoardStation XE/RE will not work when the
length value exceeds 55 inches. In board configurations with extremely long traces,
ensure that this constraint does not exceed 55 inches.
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Length or TOF Delay Delta” on page 359
• “Length or TOF Delay Min” on page 351
• “Length or TOF Delay Type” on page 350
Related Topics
• “Specifying Delay Rules for Nets” on page 192
Constraint Type
Reference
Constraint Type
Reference
Related Topics
• “Specifying Delay Rules for Nets” on page 192
To duplicate the delay in a net row that has a defined match character, enter the match character
into the Length or TOF Delay Match cell of the net for which you have not defined delay.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Formulas Formula” on page 361
Related Topics
• “Matching Delay Rules Among Nets” on page 195
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
5 ns
Related Topics
• “Matching Delay Rules Among Nets” on page 195
• “Matching Delay Tolerance at the Constraint Class Level” on page 197
Constraint Type
Reference
For example, a value of 3000:5000 indicates that the smallest actual among matched design
objects is 3000; the largest actual is 5000.
Constraint Type
Reference
Related Constraints
• “Length or TOF Delay Match” on page 357
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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Length or TOF Delay Match” on page 357
Related Topics
• “Defining Formulas to Create Net Relationships” on page 199
Formulas Violation
Displays formula violation information based on the Formulas Formula constraint.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Reference
By defining Dynamic Low Overshoot Max, you can specify an operating voltage limit below
this value. For more information, please refer to “Dynamic Low Overshoot Max” on page 367.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
0.3 V
Related Constraints
• “Dynamic High Overshoot Max” on page 369
• “Dynamic Low Overshoot Max” on page 367
• “Static High Overshoot Max” on page 365
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
By defining Dynamic High Overshoot Max, you can specify an operating voltage limit above
this value. For more information, please refer to “Dynamic High Overshoot Max” on page 369.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
0.2 V
Related Constraints
• “Dynamic High Overshoot Max” on page 369
• “Dynamic Low Overshoot Max” on page 367
• “Static Low Overshoot Max” on page 363
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
Static Low Overshoot Max defines the standard low operating voltage. Dynamic Low
Overshoot Max give you the ability to define an exception-based low overshoot. This constraint
requires both a time and voltage value, which you separate with a : character.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
0.6:5 (0.6 V for 5 ns)
Related Constraints
• “Dynamic High Overshoot Max” on page 369
• “Static High Overshoot Max” on page 365
• “Static Low Overshoot Max” on page 363
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
Static High Overshoot Max defines the standard high operating voltage. Dynamic High
Overshoot Max give you the ability to define an exception-based high overshoot. This
constraint requires both a time and voltage value, which you separate with a : character.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
0.4:5 (0.4 V for 5 ns)
Related Constraints
• “Dynamic Low Overshoot Max” on page 367
• “Static High Overshoot Max” on page 365
• “Static Low Overshoot Max” on page 363
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
Excessive ringback voltage can cause a device to momentarily switch out of the intended logic
state. When available, the actual value for this constraint is displayed in the Actual cell to its
right.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
Excessive ringback voltage can cause a device to momentarily switch out of the intended logic
state. When available, the actual value for this constraint is displayed in the Actual cell to its
right.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
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.
When available, the actual value for this constraint is displayed in the Actual cell to its right.
A monotonic signal edge progresses toward the opposite signal state without any digression
back to the original signal state.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
When available, the minimum and maximum actual values for this constraint are displayed in
the Actual cells to its right.
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” on page 179
For example, a tolerance of 5 ohms allows a Single Ended Characteristic Impedance Value of
40 ohms to tolerate a value between 35 ohms and 45 ohms.
Constraint Type
Modifiable
Related Topics
• “Specifying General Net Constraints” on page 179
Simulation Settings
Defines the simulation settings to use when generating actual values for Nets Spreadsheet
Overshoot/Ringback and Simulated Delays groups. You can define Simulation Settings
individually, for differential pairs, or for all nets of a constraint class.
Both Simulation Stimulus and Simulation Settings affect the generation of actual values.
Note
In order to use this constraint, you must have an Electrical CES license.
Overshoot/Ringback
For Overshoot/Ringback, Simulation Settings and Simulation Stimulus generate actual values
for the following constraints:
Simulated Delays
For Simulated Delays, Simulation Settings and Simulation Stimulus generate actual values for
the following constraints:
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulation Stimulus” on page 378
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
• “Specifying Simulated Delay Rules for Nets” on page 205
Simulation Stimulus
Defines the simulation stimulus to use when generating actual values for Nets Spreadsheet
Overshoot/Ringback and Simulated Delays groups. You can define Simulation Stimulus
individually, for differential pairs, or for all nets of a constraint class.
Both Simulation Stimulus and Simulation Settings affect the generation of these actual values.
Note
In order to use this constraint, you must have an Electrical CES license.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulation Settings” on page 376
Related Topics
• “Defining Overshoot and Ringback Constraints” on page 209
• “Specifying Simulated Delay Rules for Nets” on page 205
Note
In order to use this constraint, you must have an Electrical CES license.
• 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.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Specifying Simulated Delay Rules for Nets” on page 205
When available, the actual value for this constraint is displayed in the Actual cell to its right.
When Simulated Delay Edge is set to Rise:Fall, separate the rising and falling minimums with a
: character. To use the same minimum value for each switching delay, enter a single value. After
you press Enter, CES completes the constraint value by duplicating the value you entered and
inserting a colon between them.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Edge” on page 379
Related Topics
• “Specifying Simulated Delay Rules for Nets” on page 205
When available, the actual value for this constraint is displayed in the Actual cell to its right.
When Simulated Delay Edge is set to Rise:Fall, separate the rising and falling maximums with a
: character. To use the same maximum value for each switching delay, enter a single value.
After you press Enter, CES completes the constraint value by duplicating the value you entered
and inserting a colon between them.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Edge” on page 379
Related Topics
• “Specifying Simulated Delay Rules for Nets” on page 205
When available, the actual value for this constraint is displayed in the Actual cell to its right.
You can define this constraint with or without defined Simulated Delay Min and Simulated
Delay Max constraints. When Simulated Delay Edge is set to Rise:Fall, separate the rising and
falling maximum ranges with a : character.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Edge” on page 379
Related Topics
• “Specifying Simulated Delay Rules for Nets” on page 205
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Match” on page 385
Related Topics
• “Matching Delay Rules Among Nets” on page 195
When available, the minimum, maximum, and range actual values for this constraint are
displayed in the Actual cells to its right.
When matching a net to a constraint class that has unique Simulated Delay constraints for each
net, the mean of the delay range for nets in the constraint class is used as the matching simulated
delay. For example, a constraint class contains three nets with unique Simulated Delay Min
constraints of 100, 115, and 145. When assigning this constraint class to a net, the average value
of 120 is used for minimum delay.
Note
In order to use this constraint, you must have an Electrical CES license. In order to
calculate the actual value for this constraint, you must be using ICX Pro Verify within
your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Match To” on page 384
• “Simulated Delay Offset” on page 387
• “Simulated Delay Tol” on page 388
Related Topics
• “Matching Delay Rules Among Nets” on page 195
This offset is used for all edge rates constrained through Simulated Delay Edge of the matched
net or constraint class.
Note
In order to use this constraint, you must have an Electrical CES license.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Match” on page 385
• “Simulated Delay Max” on page 382
• “Simulated Delay Min” on page 381
• “Simulated Delay Tol” on page 388
Related Topics
• “Matching Delay Rules Among Nets” on page 195
This tolerance is used for all edge rates constrained through Simulated Delay Edge of the
matched net or constraint class.
Note
In order to use this constraint, you must have an Electrical CES license.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Simulated Delay Match” on page 385
• “Simulated Delay Max” on page 382
• “Simulated Delay Min” on page 381
• “Simulated Delay Offset” on page 387
Related Topics
• “Matching Delay Rules Among Nets” on page 195
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
5 ns
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
500 mil
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
5000 mil
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Example
200 mil
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
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, CES displays the values as a
colon-separated list (for example, 5:8).
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Reference
Example
30 mil
Related Constraints
• “Differential Spacing” on page 301
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
When available, the minimum and maximum actual values for this constraint are displayed in
the Actual cells to its right.
When this constraint cannot 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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Differential Impedance Tolerance” on page 395
• “Differential Spacing” on page 393
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
When this constraint cannot be met, Differential Spacing is used. For example, to allow a 5 ohm
tolerance range against a Differential Impedance Target value of 25 ohms, enter 5. This
tolerance value specifies an acceptable impedance range of 20 to 30 ohms.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Differential Impedance Target” on page 394
• “Differential Spacing” on page 393
Related Topics
• “Assigning Rules to Differential Pairs” on page 227
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 I/O Designer, you can set this constraint through the Signals List or Pins List by modifying
the I/O Standard attribute.
Note
For this version, only I/O Standard is accessible and modifiable through CES. All other
I/O Designer constraints are not available for this version.
Constraint Type
Modifiable
Example
PCI
Related Topics
• “Modifying I/O Designer FPGA Constraints” on page 211
Parts
Please refer to the part constraint reference topics that follow. These constraints are accessible
from the CES Spreadsheet Parts page.
Hierarchical Path
Displays the hierarchical component path, when applicable.
Constraint Type
Reference
Part Number
Displays the part number for a design component.
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, 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 CES 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
diff pair) because of their association with the comprehensive electrical net (for example, power
net).
In the following example of a missing differential pair, CES did not recognize a differential pair
that shares a series discrete component. Instead, CES 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
IBIS models contain the greatest amount of part detail, including package information for each
pin, and represent parts most accurately. CES uses your design information to assign a default
value to this cell. In most cases it will be correct, though, it is important to understand the
process that CES uses to make the assignment. For more information, please refer to
“Hierarchical Assignment Process” on page 264.
Note
In order to use this constraint, you must have an Electrical CES license. When both IBIS
Component Name and Technology constraints are defined for a part, IBIS Component
Name is used.
Constraint Type
Modifiable
Related Constraints
• “Technology” on page 404
Related Topics
• “Assigning Models to Parts” on page 265
• “Overriding IBIS Values” on page 268
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
In order to use this constraint, you must have an Electrical CES license. When both IBIS
Component Name and Technology constraints are defined for a part, IBIS Component
Name is used.
Constraint Type
Modifiable
Related Constraints
• “IBIS Component Name” on page 403
Related Topics
• “Assigning Models to Parts” on page 265
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, please refer to “To Specify
Discrete Component Prefixes” on page 61.
Constraint Type
Modifiable
Related Topics
• “Overriding IBIS Values” on page 268
IBIS Pin Type comes from library information in IBIS Component Name.
Constraint Type
Reference
Related Constraints
• “IBIS Component Name” on page 403
Constraint Type
Reference
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Pin Package Delay” on page 410
Related Topics
• “Importing Pin Package Length Values” on page 269
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Pin Package Length” on page 409
Related Topics
• “To Set Design Configuration Preferences” on page 59
Constraint Type
Modifiable
Example
1W
Related Topics
“Defining Thermal Constraints for Parts” on page 268
Constraint Type
Modifiable
Example
1
Related Topics
“Defining Thermal Constraints for Parts” on page 268
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” on page 268
When available, the actual value for this constraint is displayed in the Actual cell to its right.
Constraint Type
Modifiable
Example
60 degC
Related Topics
“Defining Thermal Constraints for Parts” on page 268
When available, the actual value for this constraint is displayed in the Actual cell to its right.
Constraint Type
Modifiable
Example
70 degC
Related Topics
“Defining Thermal Constraints for Parts” on page 268
I/O Standard
Displays the defined technology standard for an FPGA signal net. When on the CES
Spreadsheet Nets page, you can define I/O Standard individually, or for all nets of a constraint
class.
In I/O Designer, you can set this constraint through the Signals List or Pins List by modifying
the I/O Standard attribute.
Note
For this version, only I/O Standard is accessible and modifiable through CES. All other
I/O Designer constraints are not available for this version.
Constraint Type
Reference
Example
PCI
Related Topics
• “Modifying I/O Designer FPGA Constraints” on page 211
Noise Rules
Please refer to the noise rule constraint reference topics that follow. These constraints are
accessible from the CES Spreadsheet Noise Rules page.
Noise Type
Defines the noise type for a specific parallelism rule and/or Crosstalk Max constraint and
Crosstalk Level.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Differential Spacing” on page 301
Related Topics
• “Assigning Parallelism Rules to Nets and Constraint Classes” on page 218
• “Defining Crosstalk Rules for Nets and Constraint Classes” on page 221
You can use these relationships to define both crosstalk and parallelism rules.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Crosstalk Level” on page 425
• “Crosstalk Max” on page 422
• “Parallelism Rule” on page 421
Related Topics
• “Assigning Parallelism Rules to Nets and Constraint Classes” on page 218
• “Defining Crosstalk Rules for Nets and Constraint Classes” on page 221
You can use these relationships to define both crosstalk and parallelism rules.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Crosstalk Level” on page 425
• “Crosstalk Max” on page 422
• “Parallelism Rule” on page 421
Related Topics
• “Assigning Parallelism Rules to Nets and Constraint Classes” on page 218
• “Defining Crosstalk Rules for Nets and Constraint Classes” on page 221
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, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Topics
• “Assigning Parallelism Rules to Nets and Constraint Classes” on page 218
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 CES 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.
Note
In order to calculate the simulation actual for this constraint, you must be using ICX Pro
Verify within your design flow.
For a definition of each supported design component, please refer to “Supported Design
Components” on page 289.
Constraint Type
Modifiable
Related Constraints
• “Constraint Class or Electrical Net Name Aggressor” on page 420
• “Constraint Class or Electrical Net Name Victim” on page 419
• “Crosstalk Level” on page 425
Related Topics
• “Defining Crosstalk Rules for Nets and Constraint Classes” on page 221
Note
In order to calculate this actual value, you must be using ICX Pro Verify within your
design flow.
Constraint Type
Reference
Related Constraints
• “Crosstalk Max” on page 422
Crosstalk Level
Defines the signal state of the victim net in a crosstalk relationship.
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 Constraints
• “Constraint Class or Electrical Net Name Aggressor” on page 420
• “Constraint Class or Electrical Net Name Victim” on page 419
• “Crosstalk Max” on page 422
Related Topics
• “Defining Crosstalk Rules for Nets and Constraint Classes” on page 221
This section provides you with reference documentation for command-line tools that are
available with CES. Please refer to the table of contents for the full listing of documented
commands.
cons2ascii
Used to export CES data in the encrypted ASCII format (.cs_).
Usage
cons2ascii -export -outputdir <path> -cns <.cns file> -prj <.prj file> -snapshot <name> -
topblock <name>
Arguments
• -export
Export switch.
• -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.
Example
cons2ascii -export -outputdir c:\OutDir -cns
c:\ee7.9.4\7.9.4EE\SDD_HOME\standard\ce_ee.cn
-prj c:\design\design.prj -snapshot DxD -topblock top
Related Topics
“Exporting Constraints in Encrypted ASCII “Decrypting and Encrypting Exported
Format” on page 244 Constraint Data” on page 244
cons2csv
Used to export and import CES data in the encrypted CSV format (.ecsv).
Note
Encrypted CSV import is controlled release functionality. You must have a special
license to use this functionality. Import is only supported in the EE flow.
Export Usage
cons2csv -export -pages -output <file> -prj <prj file> -snapshot <name>
-topblock <name> -noverify
Import Usage
cons2csv -import -input <file> -prj <prj file> -snapshot <name> -topblock <name>
Arguments
• -export
Export switch.
• -import
Import switch.
• -output <file>
Used only with the export switch. Directory and filename of exported constraint file(s).
When using the pages switch, this argument defines the suffix to be used for each file. When
you do not use the pages switch, you should enter this argument as the full filename (for
example, c:\output\alltables.ecsv).
• -input <file>
Used only with the import switch. Directory and filename of the .ecsv file to import or
process.
• -prj <prj file>
Directory and filename of .prj file.
• -snapshot <name>
Snapshot name.
• -topblock <name>
Top block name.
• -pages
Used with the export switch to create a separate .ecsv file for each table.
• -noverify
Used with the export switch to skip the CES Diagnostics run that happens automatically
before export.
Description
This command exports and imports constraint data in the encrypted CSV file format (.ecsv).
When 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.
Export Example
cons2csv -export -pages -output c:\data\tables -prj .\design.prj
-snapshot DXD -topblock Schematic1
Import Example
cons2csv -import -input c:\data\tables_Class2ClassClear.ecsv
-prj .\design.prj -snapshot DXD -topblock Schematic1
Related Topics
“Exporting Constraints in Encrypted CSV “Importing Constraints in Encrypted CSV
Format” on page 243 Format” on page 246
“Decrypting and Encrypting Exported “Example CSV Files” on page 250
Constraint Data” on page 244
“Guidelines for CSV Files” on page 253
cons2xml
Used to export and import CES data in the proprietary encrypted XML format (.cts). You can
also list detailed information about an iCDB database using this command.
Export Usage
cons2xml -export -output <path> -icdb <path> -sn <snapshot> -tb <topblock> -log <path>
-constempl | -pages <list>
Import Usage
cons2xml -import -input <path> -icdb <path> -sn <snapshot> -tb <topblock> -log <path>
List Usage
cons2xml -list -icdb <path>
Arguments
• -export
Export switch.
• -import
Import switch.
• -list
List switch. Provides detailed information about the iCDB database (for example, snapshot
names and block names).
• -output <path>
Used only with the export switch. Directory in which to place the exported constraint file.
• -input <path>
Used only with the import switch. 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.
• -constempl | -pages <list>
Used with the export switch. Optionally, output just constraint template information or just
certain constraint information based on the following list of all available pages/constraint
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.
Export Example
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 Example
cons2xml -import -input c:\files\file.cts -icdb c:\mydesign\database
-sn Snapshot1 -tb Microtop -log c:\files\file_log.txt
List Example
cons2xml -list -icdb c:\mydesign\database
Related Topics
“Exporting Constraints in Encrypted XML “Importing CES Constraints” on page 245
Format” on page 241
csv2dat
Used to decrypt and encrypt data files exported from CES in the encrypted ASCII (.cs_) format
and encrypted CSV (.ecsv) format. You also use this command to encrypt CSV files that you
create from scratch.
Prerequisites
• You must have a CES Encryption license. You can request this license free of charge
from the PCB Community: http://communities.mentor.com/mgcx/docs/DOC-2533
Usage
csv2dat -decrypt | encrypt -input <path> -output <path>
Arguments
• -decrypt | encrypt
Specifies whether you are decrypting or encrypting data.
• -input <path>
The path and filename of the file you want to process.
• -output <path>
The path and filename of the output file you want to produce.
Description
This command encrypts or decrypts a single file at a time by reading and writing the encrypted
ASCII format or encrypted CSV format.
Examples
csv2dat -decrypt -input C:\Files\design1_nets.cs_
-output C:\Files\design1_nets.txt
Related Topics
“Decrypting and Encrypting Exported
Constraint Data” on page 244
ImportPinPackageLength
Used to import values from a PinPkgLengths.txt side file.
Usage
ImportPinPackageLength -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
CES are kept, when defined.
• -log <path>
Creates a log file at the specified path.
Description
This command imports CES 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 switch 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.
Example
ImportPinPackageLength -icdb c:\micro_design\database -sn micro -tb top -
ppl c:\data\PinPkgLengths.txt
Related Topics
“Importing Pin Package Length Values” on “Example PinPkgLengths.txt File” on
page 269 page 271
“Pin Package Length” on page 409
Index
Templates, 231
Index
Preferences, 59 Export
Reuse, 239 Constraint Templates, 239
Setup, 59 Constraints, 241, 244
Design Architect, 48
Design Capture, 48 —F—
Design-flow manuals, 281 Filters, 115, 118
DesignView, 48 Find, 113
Diff Pair Spacing, 301 Fonts, 65
Differential Impedance Target, 394 Formulas, 199
Differential Impedance Tolerance, 395 Formulas Formula, 361
Differential pair Formulas Violation, 362
Assign rules, 227 FPGA constraints, 211
Define automatically, 224 From To Constraints Layer, 347
Define manually, 223 From To Constraints Trace Width, 348
Delete, 224 From To Constraints Z0, 349
Diff_Pin, 227 From-tos, 180
Differential Spacing, 393 Front-end, 47
Discrete component prefixes, 61 —G—
Discrete pin pairs, 188 General
Display Clearance rules, 174
Settings, 59 Options, 59
Units, 66 Preferences, 59
Distance to Convergence Max, 391 Global rules, 153
DxDesigner, 47 Ground nets, 62
Dynamic High Overshoot Max, 369 GUI quick-reference, 20
Dynamic Low Overshoot Max, 367
Dynamic overshoot, 211 —I—
I/O Designer I/O Standard, 396, 416
—E— IBIS Component Name, 403
EBD pin pairs, 190 IBIS Pin Type, 406
Electrical Icons, 106
Preferences, 60 ICX Pro Explorer, 275
Rules, 145 Import constraints, 245
Units, 68 Improve design accuracy, 47
Embedded Resistor to Pad, 318 Index (Clearances), 303
Embedded Resistor to Resistor, 320 Index (Trace and Via Properties), 292
Embedded Resistor to Trace, 317 Index (Z-Axis Clearances), 326
Embedded Resistor to Via, 319 Intellectual property, 47
Embedded resistors, 163 Interdigitated capacitors, 164
Engineering format, 69 Interface quick-reference, 20
EP Mask to Pad, 322
EP Mask to Resistor, 324 —K—
EP Mask to Trace, 321 Keyin netlist, 48
EP Mask to Via, 323
Exit, 57 —L—
Layout, 281
Expedition PCB, 47
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.
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 requests any change or enhancement to Software, whether in the course of
receiving support or consulting services, evaluating Software, 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 (“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. This grant and Customer’s use of the Beta Code
shall not be construed as marketing or offering to sell a license to the Beta Code, which Mentor Graphics may choose not to
release 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 it 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 learns or 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’ 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 Software or Files or allow their use for the purpose of developing,
enhancing or marketing any product that is in any way competitive with Software, 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
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 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/about/legal/.
7. AUTOMATIC CHECK FOR UPDATES; PRIVACY. Technological measures in Software may communicate with servers
of Mentor Graphics or its contractors for the purpose of checking for and notifying the user of updates and to ensure that the
Software in use is licensed in compliance with this Agreement. Mentor Graphics will not collect any personally identifiable data
in this process and will not disclose any data collected to any third party without the prior written consent of Customer, except to
Mentor Graphics’ outside attorneys or as may be required by a court of competent jurisdiction.
8. LIMITED WARRANTY.
8.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 or improper installation. 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, PROVIDED
CUSTOMER HAS OTHERWISE COMPLIED WITH THIS AGREEMENT. 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.”
8.2. THE WARRANTIES SET FORTH IN THIS SECTION 8 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.
10. HAZARDOUS APPLICATIONS. CUSTOMER ACKNOWLEDGES IT IS SOLELY RESPONSIBLE FOR TESTING ITS
PRODUCTS USED IN APPLICATIONS WHERE THE FAILURE OR INACCURACY OF ITS PRODUCTS MIGHT
RESULT IN DEATH OR PERSONAL INJURY (“HAZARDOUS APPLICATIONS”). NEITHER MENTOR GRAPHICS
NOR ITS LICENSORS SHALL BE LIABLE FOR ANY DAMAGES RESULTING FROM 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. 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 PRODUCTS AS DESCRIBED IN
SECTION 10. THE PROVISIONS OF THIS SECTION 11 SHALL SURVIVE THE TERMINATION OF THIS
AGREEMENT.
12. INFRINGEMENT.
12.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 the 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.
12.2. If a claim is made under Subsection 12.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.
12.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.
12.4. THIS SECTION 12 IS SUBJECT TO SECTION 9 ABOVE AND STATES THE ENTIRE LIABILITY OF MENTOR
GRAPHICS AND ITS LICENSORS FOR DEFENSE, SETTLEMENT AND DAMAGES, AND CUSTOMER’S SOLE
AND EXCLUSIVE REMEDY, WITH RESPECT TO ANY ALLEGED PATENT OR COPYRIGHT INFRINGEMENT
OR TRADE SECRET MISAPPROPRIATION BY ANY PRODUCT PROVIDED UNDER THIS AGREEMENT.
13. TERMINATION AND EFFECT OF TERMINATION. If a Software license was provided for limited term use, such license
will automatically terminate at the end of the authorized term.
13.1. 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.
13.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.
14. EXPORT. The Products provided hereunder are subject to regulation by local laws and United States government agencies,
which prohibit export or diversion of certain products and information about the products to certain countries and certain
persons. Customer agrees that it will not export Products in any manner without first obtaining all necessary approval from
appropriate local and United States government agencies.
15. U.S. GOVERNMENT LICENSE RIGHTS. Software was developed entirely at private expense. All Software is commercial
computer software within the meaning of the applicable acquisition regulations. Accordingly, pursuant to US 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, except for provisions which
are contrary to applicable mandatory federal laws.
16. 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.
17. 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
FLEXlm or 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 17
shall survive the termination of this Agreement.
18. CONTROLLING LAW, JURISDICTION AND DISPUTE RESOLUTION. The owners of certain Mentor Graphics
intellectual property licensed under this Agreement are located in Ireland and the United States. 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, USA, 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. This section shall not
restrict Mentor Graphics’ right to bring an action 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.
19. 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.
20. MISCELLANEOUS. This Agreement contains the parties’ entire understanding relating to its subject matter and supersedes all
prior or contemporaneous agreements, including but not limited to any purchase order terms and conditions. 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 by authorized
representatives of the parties. Waiver of terms or excuse of breach must be in writing and shall not constitute subsequent
consent, waiver or excuse.