conCM Tut
conCM Tut
Contents
1
Introduction to the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Advantages of Using Constraint Manager with Design Entry HDL . . . . . . . . . . . . . . . . . 11
Using the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Tutorial Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Understanding the Tutorial Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
What’s Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2
Setting Routing Constraints on Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Starting Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Starting Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Setting the Maximum and Minimum Propagation Delay for a Net . . . . . . . . . . . . . . . . . . 20
Accessing the Min and Max Propagation Delays Worksheet . . . . . . . . . . . . . . . . . . . 20
Navigating to a Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Setting Values for Propagation Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3
Setting Timing and Signal Integrity Constraints on Nets. . . . . 45
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Setting Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Controlling the Settle and Switch Time of a Signal . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Setting Signal Integrity Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Setting the Electrical Properties of a Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Setting Reflection Constraints for a Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
What’s Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4
Working with Electrical Constraint Sets . . . . . . . . . . . . . . . . . . . . . . . . 57
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Creating an ECSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5
Working with Xnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Creating an Xnet in Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Creating a Model-Defined Diff-Pair in Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . 74
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Viewing an Xnet in Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Generating an Electrical Constraint on an Xnet in SigXplorer . . . . . . . . . . . . . . . . . . . . . 77
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Applying an ECSet on an Xnet to Other Xnets in Constraint Manager . . . . . . . . . . . . . . 81
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
What’s Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6
Performing ECOs in Design Entry HDL/Constraint Manager 87
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Adding a Net in the Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Modifying a Constraint in Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Modifying a Constraint in Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Deleting a Constraint in Constraint Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Renaming a Net in Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
What’s Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7
Synchronizing Constraints Between Schematic and Board 105
Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Nature of Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Estimated Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Exporting Constraints from Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Starting PCB Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Viewing and Adding Constraints in PCB Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Importing Constraints in Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Viewing Constraints in Design Entry HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Task Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Two Modes of Synchronizing Constraints between the Board and the Schematic . . . . 113
Overwriting Constraints on the Board with Constraints on the Schematic . . . . . . . . 114
Importing Constraints Changed on the Board in the Schematic . . . . . . . . . . . . . . . 119
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
What’s Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
A
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
1
Introduction to the Tutorial
Objectives
■ State the purpose of the Allegro Constraint Manager with Design Entry HDL tutorial.
■ Define the audience for the Allegro Constraint Manager with Design Entry HDL tutorial.
■ Identify the prerequisites for using the Allegro Constraint Manager with Design Entry
HDL tutorial.
■ Identify the advantages of using Allegro Constraint Manager with Design Entry HDL.
■ Identify the tools required to run the tutorial.
■ Copy the design used in the tutorial to your machine.
■ List the important directories and files in the design.
Nature of Chapter
Conceptual
Purpose
The Allegro Constraint Manager with Design Entry HDL Tutorial describes the different types
of electrical constraints that you can capture in Constraint Manager. You learn to capture
them in Constraint Manager and keep them synchronized in Design Entry HDL. The tutorial
also highlights the tight integration between Constraint Manager, Design Entry HDL, and PCB
Editor. You set constraints while creating the schematic in Design Entry HDL and then
propagate them to the board in PCB Editor through Constraint Manager.
Audience
This tutorial is designed for first-time users of Constraint Manager from Design Entry HDL. If
you are a schematic designer, you might want to capture ECs while implementing the logic of
your design. Constraint Manager, when connected to Design Entry HDL, helps you capture
these constraints and ensures that the properties in Design Entry HDL are synchronized with
their corresponding electrical constraints in Constraint Manager, and conversely.
Prerequisites
It is assumed that you are familiar with Design Entry HDL and PCB Editor but not with
Constraint Manager. The scope of this tutorial does not include details of various modes and
properties in Design Entry HDL or PCB Editor but will cover Constraint Manager procedures
in detail.
Note: To learn about Design Entry HDL or PCB Editor, see the Allegro Design Entry HDL
User Guide and the Allegro PCB and Package User Guide: Getting Started with
Physical Design in CDSDoc.
Tip
To quickly understand the main features of the Design Entry HDL Constraint
Manager flow for Cadence PCB tools, click here. You can also access the demos by
selecting Help > Learning Design Entry HDL> Demos in Design Entry HDL.
Another advantage of using Constraint Manager is that it allows you to create generic
constraints that you can apply to many nets at the same time. At a later point in time, if your
design requirements change, you can edit the generic rule. The updated rule will
automatically get applied to the nets that refer to it.
Important
The Allegro PCB Design HDL 610 suite contains all these tools.
Tutorial Database
Windows NT
UNIX
Ensure that the CONCEPT_INST_DIR variable is set to point to the directory where you install
PCB tools.
Directory/File Purpose
worklib This is the project directory that contains all the schematics in the design.
ps0 is the top-level schematic.
lib This directory contains all the libraries that have been used in creating the
design.
part_tables This directory contains the part table files for components instantiated in
the design.
temp This directory contains the temporary files that are created when you run
various tools.
cds.lib This file defines the libraries that tools read to identify the libraries they
can use. This file maps user library names to physical directory paths.
project.cpm This is the Design Entry HDL project file.
Summary
The Allegro Constraint Manager with Design Entry HDL Tutorial should be used by schematic
designers who want to capture high-speed constraints while implementing the logic of the
design. Constraint Manager lets you set constraints in a convenient, faster and error-free
manner.
To run the tutorial, you need to unzip the design files and copy them to your machine. The
design files contain the schematics and files required to run the procedures explained in this
tutorial.
What’s Next
In the next chapter, Setting Routing Constraints on Nets, you will use Constraint Manager with
Design Entry HDL for setting routing constraints. You will set the propagation delay constraint
for a net, create pin-pairs, differential pairs and matched groups, and set constraints on them.
You will also learn to view nets in canonical and physical formats in Constraint Manager.
Recommended Reading
For more information about the Constraint Manager tool, see the Constraint Manager
Design Guide. For information about how high-speed constraints are handled in the PCB
flow, see PCB Design Flows.
2
Setting Routing Constraints on Nets
Objectives
To learn how to set routing constraints on nets in your design using Constraint Manager and
view the constraints in Design Entry HDL.
Nature of Chapter
Skill ( includes concepts and practice)
Task Overview
You will start Project Manager and open the project.cpm file in it. Then you will start Design
Entry HDL and view the schematic in it.
Steps
1. In Unix, launch Project Manager by typing the following command in the command
window:
projmgr
-Or-
On Windows, launch Project Manager from Programs > Allegro SPB 15.2 > Project
Manager.
The Project Manager Product Choices window is displayed.
Note: If you have set the default suite previously, the Design Entry HDL window opens
automatically and you can skip step 2.
2. Select Allegro PCB Design HDL 610.
The Allegro PCB Design HDL 610: Allegro Project Manager window appears.
3. Open the project.cpm project file.
4. Click the Design Entry icon.
The Design Entry HDL window opens showing the schematic for project.cpm as
follows:
Task Overview
You will start Constraint Manager from Design Entry HDL and capture constraints on some
nets in the schematic.
Steps
1. From Design Entry HDL, choose Tools > Constraints > Edit.
The Constraint Manager dialog box appears to prompt you that using Constraint
Manager with Design Entry HDL is compatible only with Allegro PCB Editor and Allegro
SI version 15.2.
After the design is expanded, the Constraint Manager window is displayed over the
Design Entry HDL window as shown below:
Note: The title bar of the Constraint Manager window shows that Constraint Manager is
connected to Allegro Design Entry HDL. This implies that all the constraints captured in
it will be reflected in Design Entry HDL.
For details on the Constraint Manager user interface, refer chapter “Introducing Constraint
Manager” of the Constraint Manager Design Guide.
Note: Now try this interactive exercise, Starting Constraint Manager.
Task Overview
You will now set the minimum and maximum Propagation Delay for the net HLDA. This
constraint is present in the Routing worksheet in the Net workbook.
Steps
1. In the Net workbook, click Routing.
The routing worksheet appears. All the nets and the buses in the ps0 design are listed
in the worksheet in the right pane.
Note: You can see that the nets are listed in their physical format. This is the default
format of display in Constraint Manager if your design is packaged. If your design is not
packaged, the nets are displayed in the canonical format. Switching between the two
formats is covered later in this chapter.
2. Double-click Routing to expand the workbook.
Notice the Wiring, Impedance, Min/Max Propagation Delays, Total Etch Length,
Differential Pair and Relative Propagation Delay tabs in this workbook.
3. Click Min/Max Propagation Delays to open the respective worksheet.
4. Size the worksheet to occupy the full window.
Navigating to a Net
When Constraint Manager is launched from Design Entry HDL, you can click an object in
Design Entry HDL and it will become highlighted in Constraint Manager. The converse is also
true.
Task Overview
You will locate net HLDA in Design Entry HDL and highlight it, and it will get selected in
Constraint Manager automatically.
Steps
1. In Design Entry HDL, choose Tools > Global Find.
The Global Find dialog box appears.
2. Enter the net name as HLDA. Make sure that the Net checkbox is selected.
3. Click Find.
The instance of the net HLDA is displayed in the Results area of the Global Find dialog
box.
4. Click @project_lib.ps0(sch_1):page1_hlda.
The net gets selected in the Design Entry HDL window as follows:
It is possible that for a certain critical net, you might have to set the constraint on all its driver
and receiver ends or specific pin pairs. In the following section, we will learn how to set the
constraint for the entire net and also for a specific driver-receiver pair.
Task Overview
We will be setting the maximum and minimum values for propagation delay on net HLDA.
First, we will set the delay between all the drivers and receivers of net HLDA. Then, for a
specific driver and receiver pair, we will set a different value for the propagation delay.
Steps
1. For net HLDA, do the following:
Important
Note that in the Pin Pairs column, All Drivers/All Receivers gets selected
automatically. This means that the propagation delay has been set between all the
drivers and receivers of the signal on net HLDA.
This means that the signal on the net HLDA must reach any destination within 1.1 ns
after it is available on the net HLDA.
2. Click net HLDA and choose Objects > Create > PinPair from the Constraint Manager
menu or right-click net HLDA and choose Create > Pin Pair from the popup menu.
The Create Pin Pairs of HLDA for propagation delay dialog box appears. It contains two
columns. The First Pins and Second Pins columns list the pins for net HLDA.
3. In the First Pins column, click J1.25(In).
5. Click OK.
The pin-pair J1.25:U2.3 is formed and is visible under the net HLDA in the Constraint
Manager window.
Note: The values in the Min and Max columns for the pin-pair are inherited from the
existing constraint on net HLDA.
6. Change the value in the Min column from 0.9 ns to 0.8 ns.
7. Change the value in the Max column from 1.1 ns to 1.0 ns.
8. Choose File > Save to save the constraints in the Constraint Manager database.
Note: Now try this interactive exercise, Creating a Pin Pair.
The constraint will not be automatically visible in Design Entry HDL. To view the constraint on
the schematic, make the corresponding electrical constraint property visible using the
Attributes dialog box in Design Entry HDL.
Note: You can also propagate the electrical constraint property from the occurrence edit
mode to the hierarchy mode.
Task Overview
Steps
1. Click the Design Entry HDL window.
2. Choose Tools > Occurrence Edit to switch to the occurrence edit mode in Design Entry
HDL.
3. Choose Text > Attributes.
4. Click net HLDA.
The Attributes dialog box appears. You can see the PROPAGATION_DELAY property.
Its two values (one for all drivers and all receivers in the format AD:AR:min:max and the
second for a specific driver-receiver pair) are concatenated and the visibility is set to
None in the Attributes dialog box.
5. In the Visible drop-down list next to the PROPAGATION_DELAY property, set the
visibility of the PROPAGATION_DELAY property to Both as shown below.
Note: You can select Name or Value to make only the property name or the property
value visible.
6. Click OK.
The Attributes dialog box closes.
7. Zoom into the portion of the schematic where the net HLDA is placed.
The PROPAGATION_DELAY property appears as follows:
Tip
You can switch to the hierarchy mode and view the PROPAGATION_DELAY property
on the net. However, if you switch to the hierarchy mode while Constraint Manager
is running, Constraint Manager exits.
Note: Now try this interactive exercise, Creating and Viewing a Constraint in Design Entry
HDL.
Task Overview
We will set the propagation delay for the target net D<0> and create a matched group for it.
Then, we will add nets D<14> and D<15> to the matched group and set their propagation
delay relative to net D<0>.
Steps
We will carry out the following steps:
1. Setting the Minimum and Maximum Propagation Delay for the Target Net
2. Creating a Matched Group
3. Adding nets D<14> and D<15> to the match group
4. Setting relative propagation delay values for the nets D<14> and D<15>
Setting the Minimum and Maximum Propagation Delay for the Target Net
1. Click the Constraint Manager window.
2. Click the icon next to bus D in the Min/Max Propagation Delays worksheet.
The bits in bus D are shown.
3. For bit D<0>, in the Min column, type the value as 1.0.
4. For bit D<0>, in the Max column, type the value as 1.2.
Tip
You can also create an empty match group at the design-level using the menu option
Objects > Create > Match Group first and add all the members of the group later.
4. Enter the name of the match group as MY_GROUP in the Match Group field as follows:
5. Click OK.
The Create Match Group dialog box closes.
6. Scroll up the list of nets to see the entry MY_GROUP under the ps0 design in the
worksheet as follows:
Note: The net D<0> appears under MY_GROUP indicating that it is a member of the
group.
Note: Now try this interactive exercise, Creating a Matched Group.
The Match Group Membership for MY_GROUP dialog box appears with net D<0> as a
member as follows:
The Match Group Membership for MY_GROUP dialog box closes and nets D<0>, D<14>
and D<15> appear under MY_GROUP in the Constraint Manager worksheet as follows:
b. In the Pin Pairs column, All Drivers/All Receivers gets selected automatically.
Select Longest Pin Pair from the drop-down box.
A constraint when set on the longest pin-pair of a net is most stringent. If the
constraint is met by the longest pin-pair, it is ensured that the constraint will be met
by all other pin-pairs of the net also.
4. Choose File > Save to save the constraints in the Constraint Manager database.
Note: The Relative Propagation Delay constraint maps to the
RELATIVE_PROPAGATION_DELAY property in Design Entry HDL.
Task Overview
You will now create a differential pair constituting nets CLK1+ and CLK1-.
Steps
1. Click the Constraint Manager window.
2. In the Routing workbook, click Differential Pair.
The Differential Pair worksheet appears on the right side of the Constraint Manager
window.
3. Select nets CLK1+ and CLK1-.
4. Choose Objects > Create > Differential Pair from the Constraint Manager menu or
right-click and choose Create > Differential Pair from the popup menu.
5. The Create Differential Pair dialog box appears.
It contains nets CLK1+ and CLK1- in the Selections column indicating that these nets
are members of the differential pair. The name of the differential pair appears
automatically as CLK1 in the Diff Pair Name field.
Note: If the nets forming a differential pair are of the form A+ and A-, the name of the
differential pair is set to A. For other pairs of nets, the name of the differential pair is of
the form DPn.
6. Click Create.
7. Click Close.
The Create Differential Pair dialog box closes.
8. Scroll up the list of nets in the worksheet to see the entry for differential pair CLK1 with
CLK1+ and CLK1- as its members as follows:
9. Choose File > Save to save the constraints in the Constraint Manager database.
The Differential Pair constraint gets mapped to the DIFFERENTIAL_PAIR property in
Design Entry HDL.
10. Click the Design Entry HDL window.
11. Make the DIFFERENTIAL_PAIR property visible for nets CLK1+ and CLK1- as
explained earlier.
12. Choose Tools > Constraints > Update Schematic.
The newly added constraints are visible on the schematic in hierarchy mode also.
Note: Now try this interactive exercise, Creating a Differential Pair.
Task Overview
You will set constraints on the differential pair CLK1. These constraints will get inherited by
the member nets CLK1+ and CLK1- automatically.
Note: Differential pair constraints present in the Differential Pair worksheet can be applied
to only differential pairs and not to individual members of the differential pair.
Important
The constraints added on differential pairs in Constraint Manager are saved only in
the Constraint Manager database. They are not propagated to Design Entry HDL,
hence you cannot view them on the schematic.
Steps
1. Click the Constraint Manager window and perform the following steps for differential pair
CLK1.
2. In the Uncoupled Length column-
This sets the maximum amount of uncoupled length to 200 mil, where mil is the
default unit.
3. In the Phase Tolerance column-
After you package the design, the nets are displayed in Constraint Manager in their physical
(packaged) net names. Continuing the same example, bus D<15..0> appears as follows:
Note: After your design is packaged, you can view the nets in their canonical format as well.
To switch between the two formats-
1. From the Constraint Manager menu, choose View > Options.
a. Toggle between the Physical and Logical settings to see the effect. Select
Physical before closing the dialog box.
Tip
You can add constraints on nets before you have packaged your design. These
constraints are retained after you package the design.
Summary
You learned to create driver-receiver pin pairs and differential pairs for nets and set some
DRC-based constraints on them. You also learned to cross-probe between Design Entry HDL
and Constraint Manager and view nets in canonical or physical format in Constraint Manager.
What’s Next
In the next chapter, Setting Timing and Signal Integrity Constraints on Nets, you will set some
timing and signal integrity constraints on critical nets. These are constraints that you would
get after simulating the design. You will also view these constraints on the schematic.
Recommended Reading
For more information about how pin-pair and differential pair constraints are handled in
Design Entry HDL, see the Allegro Design Entry HDL User Guide.
3
Setting Timing and Signal Integrity
Constraints on Nets
Objectives
To learn how to set timing and signal integrity constraints on nets in your design using
Constraint Manager and view those constraints on the schematic in Design Entry HDL.
Nature of Chapter
Skill ( includes concepts and practice)
Task Overview
You will navigate to the RESETL net and add the settle and switch time constraints on it. Then,
you will save the constraints and view the corresponding properties on the schematic.
Steps
1. Accessing the Switch and Settle Delay Worksheet
2. Navigating to a Net
3. Setting Values for Min First Switch and Max Final Settle
4. Viewing the Constraint on the Schematic
The timing worksheet appears. All the nets and the buses in the ps0 design are listed in
the worksheet in the right pane.
Navigating to a Net
Task Overview
You will highlight net RESETL in Design Entry HDL and it will get selected in Constraint
Manager.
Steps
1. In Design Entry HDL, choose Tools > Global Find.
The Global Find dialog box appears.
2. Enter the net name as RESETL. Make sure that the Net checkbox is selected.
3. Click Find.
The instances of net RESETL are displayed in the Results area of the Global Find dialog
box.
4. Click @project_lib.ps0(sch_1):page1_resetl.
The net gets selected in the Design Entry HDL window as follows:
Setting Values for Min First Switch and Max Final Settle
Steps
1. In the Min First Switch column, set the Min value as 0.25:0.26 in the row selected
for net RESETL.
This sets the value for rising edge of signal on net RESETL as 0.25 ns and falling edge
as 0.26 ns. The default unit for min first switch is ns.
2. In the Max Final Settle column, set the Max value as 3.25:3.25 in the row selected
for net RESETL.
This sets the value for maximum final settle delay for the rising edge and the falling edge
of net RESETL as 3.25 ns. The default unit for max final settle is ns.
The Constraint Manager worksheet now appears as follows:
3. Choose File > Save to save the constraints in the Constraint Manager database.
The Min First Switch constraint gets mapped to the MIN_FIRST_SWITCH property in
Design Entry HDL and the Max Final Settle constraint gets mapped to the
MAX_FINAL_SETTLE property.
Task Overview
You will now make the MIN_FIRST_SWITCH and MAX_FINAL_SETTLE properties on net
RESETL visible in Design Entry HDL and view their values in the expanded mode.
Steps
1. Click the Design Entry HDL window.
2. Choose Text > Attributes.
3. Click the net RESETL.
The Attributes dialog box appears. You can see the MIN_FIRST_SWITCH and
MAX_FINAL_SETTLE properties with visibility set to None in the Attributes dialog box.
4. In the Visible drop-down list next to the MIN_FIRST_SWITCH property, select the
visibility of the MIN_FIRST_SWITCH property as Both.
a. Click Yes.
The constraints appear as shown below:
Task Overview
You will set the electrical properties constraints for net CLK. Then, you will save the
constraints and view the corresponding properties on the schematic.
Steps
1. Click the Constraint Manager window.
2. In the Net folder of the worksheet selector, click Signal Integrity.
The signal integrity worksheet appears. All the nets and the buses in the ps0 design are
listed in the worksheet in the right pane.
Electrical properties
for net CLK.
10. Choose File > Save to save the constraints in the Constraint Manager database.
The frequency, period, jitter, duty cycle and cycle to measure constraints get mapped to
the PULSE_PARAM property in Design Entry HDL.
11. Click the Design Entry HDL window.
12. Choose Tools > Global Navigate.
13. Switch to the Constraint Manager window. Size it such that the Design Entry HDL
window is also visible in the background.
14. Right-click net CLK.
The popup menu appears.
15. Choose Select.
The entry for CLK appears as
@project_lib.ps0(sch_1):page3_i1@project_lib.\4_bit_counter\(sch_1):page1_
clk in the Results field of the Global Navigate dialog box.
Task Overview
You will set the Reflection constraints for net CLK. Then, you will save the constraints and view
the corresponding properties on the schematic.
Steps
1. In the Constraint Manager window, click Reflection.
a. Set the value as 100:100 in the Min column. The default unit for min noise margin
is mV.
This sets the value of the minimum noise margin for the rising and falling edges of
net CLK to 100 mV.
The value for High Actual is set at the time of analysis in Allegro SI/PCB Editor. You
cannot set it in Constraint Manager connected with Design Entry HDL.
The value for Low Actual is set at the time of analysis in Allegro SI/PCB Editor. You
cannot set it in Constraint Manager connected with Design Entry HDL.
The value for Margin is set at the time of analysis in Allegro SI/PCB Editor. You
cannot set it in Constraint Manager connected with Design Entry HDL.
6. Choose File > Save to save the constraints in the Constraint Manager database.
The maximum overshoot constraint in Constraint Manager maps to the
MAX_OVERSHOOT property in Design Entry HDL and minimum noise margin maps to
MIN_NOISE_MARGIN.
7. Click the Design Entry HDL window.
8. Make the MAX_OVERSHOOT and MIN_NOISE_MARGIN properties visible in Design Entry
HDL.
Summary
You learned to set some simulation-based constraints on nets in Constraint Manager. You
also learned the correspondence between those constraints and properties in Design Entry
HDL, and made the properties visible on the canvas.
What’s Next
In the next chapter, Working with Electrical Constraint Sets, you will learn to group constraints
into an electrical constraint set (ECSet) and apply them to several critical nets at the same
time. You will also see how an ECSet appears in Design Entry HDL and how to change some
constraints that are part of an ECSet.
Recommended Reading
For information about all the timing and signal integrity constraints that you can set in
Constraint Manager, see the Constraint Manager Design Guide.
4
Working with Electrical Constraint Sets
Objectives
To learn how to create an Electrical Constraint Set (ECSet) and apply it to nets and buses in
your design using Constraint Manager.
Nature of Chapter
Skill ( includes concepts and practice)
Overview
You can identify the critical nets in your design and then identify constraints that are
applicable to all of them. You can then define those constraints together in an ECSet and
apply to each of the critical sets. Thus, an ECSet can be used to define a generic set of rules
applicable to a number of nets. If your design requirement changes at a later point in time,
you can edit your constraint; all the nets referencing the ECSet shall inherit the changed
ECSet automatically. Thus, using ECSets is a very efficient way of capturing constraints.
Another use of ECSets is in the case of design reuse. If you are reusing a design that has
ECSets defined for its critical nets, you can import the ECSets into your new design; this
saves a lot of rework.
You can also use ECSets for setting pin-pair constraints on the bits of a large bus. This is a
faster and easier way of doing so. You can set the pin-pair constraints on one bit of the bus
and create an ECSet from them in Signal Explorer. Then, make the bits of the bus reference
this ECSet. Constraint Manager will automatically create the corresponding pin-pairs for the
bits and make them visible in Constraint Manager connected to PCB Editor.
We will take the example of the DATA bus and set certain constraints on a bit of the bus in
Signal Explorer. Consequently, an ECSet will be formed in Constraint Manager. We will then
make few other bits of the bus reference this ECSet. We will also override the default values
of constraints for some bits of the DATA bus.
Creating an ECSet
Task Overview
You will capture the following constraints on bit DATA<1> of bus DATA in Signal Explorer:
■ Max overshoot
Steps
1. Click the Constraint Manager window.
2. Click Reflection in the Signal Integrity workbook.
3. In the Signal Integrity worksheet, click the icon next to net DATA to view the bits of
the bus.
4. Click bit DATA<1> and choose Tools > SigXplorer from the Constraint Manager menu
or right-click net DATA<1> and choose SigXplorer from the popup menu.
The Sigxp Product Choices dialog box appears.
5. Double-click Expert.
Tip
If the values for overshoot/undershoot and other constraints are not known, you can
simulate and add terminations using the Model Browser. You can then do a tradeoff
between the termination values and the simulated values of overshoots and
undershoots. For details on using the various Signal Explorer features, refer PCB
Studio Signal Explorer User Guide.
6. Choose Set > Constraints.
The Set Topology Constraints window appears.
7. Click the Signal Integrity tab.
8. In the Reflection section,
c. Set the value of High State for Min Noise Margin as 20.
d. Set the value of Low State for Min Noise Margin as 22.
4.Click Apply.
9. Click Apply.
10. Click the Switch-Settle tab.
11. In the Pins section, click ALL DRVRS/RCVRS.
12. In the Rule Editing section,
2.Click
ALL DRVRS/RCVRS
The impedance constraint that you have created is added in the Existing Rules section.
1.Click for
Impedance
constraints.
2.Click ALL/ALL.
3.Set Target.
4.Set Tolerance
in Ohms.
5.Click Add.
24. View the ECSet referenced by net DATA<1> and the constraints on net DATA<1> in the
Signal Integrity, Timing and Routing worksheets. For example, the Signal Integrity
constraints appear as follows:
Task Overview
You will assign the ECSet DATA<1> to bits DATA<15>, DATA<14>, DATA<13>, and
DATA<12> of bus DATA so that the constraints in DATA<1> are applied to them.
Steps
1. In the Net folder, open the Signal Integrity worksheet for Reflection constraints.
2. Click bit DATA<15> of bus DATA and choose Objects > Electrical CSet References
from the Constraint Manager menu or right-click DATA<15> to bring up the popup menu
and choose Electrical CSet References.
The Electrical CSet References dialog box appears.
3. Select DATA<1> in the Current References field as follows:
4. Click OK.
The Electrical CSet References dialog box closes.
5. In the Constraint Manager window, view the reflection constraints on bit DATA<15> of
bus DATA.
Note: The Max Overshoot and Min Noise Margin constraints are applied with the
same values as on bit DATA<1>.
6. View the inherited Switch/Settle Delays and Impedance constraints on bit DATA<15>
in the Constraint Manager worksheet.
7. Repeat steps 2 to 7 for bits DATA<14>, DATA<13>, and DATA<12> of bus DATA.
Tip
You can also select multiple nets at the same time by keeping the Ctrl (Control in
the Unix platform) key pressed and clicking the nets in the Constraint Manager
window. Then you can open the Electrical CSet References dialog box and assign
the ECSet to all of them at the same time.
8. Choose File > Save to save the constraints in the Constraint Manager database.
Task Overview
We will change the values of Impedance and Min First Switch constraint for bit DATA<15> of
bus DATA.
Steps
1. Open the worksheet for Impedance from the Net folder.
2. In the Target field for bit DATA<15> of bus DATA, change the inherited value of 70 Ohm
to 74 Ohm.
The worksheet appears as follows:
4. In the Min First Switch column, change the value of Min from 2:3 ns to 0.5:0.6 ns
for bit DATA<15> of bus DATA.
The worksheet appears as follows:
5. Choose File > Save to save the constraints in the Constraint Manager database.
Task Overview
You will view the properties on bit DATA<15> of bus DATA in Design Entry HDL.
Steps
1. Switch to the Design Entry HDL window.
Important
The IMPEDANCE_RULE and MIN_FIRST_SWITCH properties appear separately
because they have values different from the constraints in the ECSet A<1>.
7. Click Cancel.
The Attributes dialog box closes.
Summary
You learned to set constraints on a net in Signal Explorer to form an ECSet. You also learned
to make a net reference an ECSet, and then override some constraints in the ECSet.
What’s Next
In the next chapter, Working with Xnets, you will create an Xnet in Design Entry HDL, view it
in Constraint Manager, generate electrical constraints on the Xnet in SigXplorer, and apply
the constraints to other Xnets in Constraint Manager
Recommended Reading
For more information about electrical constraint sets, see the Allegro Design Entry HDL
User Guide and the Constraint Manager Design Guide.
5
Working with Xnets
Objectives
To learn how to create an extended net (Xnet) in Design Entry HDL, view it in Constraint
Manager, generate electrical constraints on the Xnet in SigXplorer, and apply the constraint
rules to other Xnets in Constraint Manager.
Nature of Chapter
Skill (includes concepts and practice)
Overview
When the path of a net traverses a discrete device (resistor, inductor, or capacitor), each net
segment is represented by an individual net entity in the board database. Constraint
Manager, however, interprets these net segments as a contiguous extended net (Xnet). Xnet
creation is based on the presence of the SIGNAL_MODEL property on the discrete
components. This means that to qualify as an Xnet, the discrete component separating the
net into segments must have a valid signal model assigned to it. Design Entry HDL 15.2
includes Signal Integrity analysis features that support creation of Xnets and model-defined
diff-pairs through assignment of valid signal models to various devices.
You assign a signal model to components in Design Entry HDL using the Model Assignment
window. The Model Assignment window provides an easy way of assigning signal models to
multiple components and pins in Design Entry HDL.
When you launch Constraint Manager, it reads the signal models assigned to various
components including discretes. Constraint Manager interprets the net separated by the
discrete with a valid signal model as an Xnet. You can create electrical constraints on the Xnet
in Constraint Manager as well as in SigXplorer. You can also apply these constraints to other
Xnets in Constraint Manager.
We will take the example of the net NET1 divided by a discrete R6. We will assign a valid
signal model to the discrete device R6 and to an IC device U19 to create a model-defined diff-
pair. We will then view the Xnet and model-defined diff-pair in Constraint Manager. Later, we
will launch SigXplorer on the Xnet and set electrical constraints on it in SigXplorer.
Consequently, an ECSet will be formed in Constraint Manager. We will then make another
Xnet reference this ECSet.
Task Overview
You will create an Xnet by assigning a signal model to the discrete R6.
Steps
1. In Design Entry HDL, navigate to page 4 (PS0.SCH.1.4) by clicking the Next Page/
Symbol icon.
2. Zoom in appropriately to display the schematic drawing clearly.
Task Overview
You will set up path to the device model library, ps0.dml and assign a model DS90C031TM to
the component U19 to create a model-defined diff-pair.
Steps
1. Zoom in appropriately to display the schematic drawing clearly.
2. On the schematic, right-click the component instances U19.
3. From the pop-up menu, select Highlight.
4. Restore the Model Assignment window.
The entry for U19 is selected in the second pane of the Model Assignment window
5. Click the Setup button.
6. Select the entry for PS0.dml file.
7. Click the Set as Working library icon.
8. Click OK.
9. Navigate to the entry for U19 by first selecting 74ALS192 in the first pane and then
selecting U19 in the second pane.
10. Right-click and select Assign SI Model from the pop-up menu.
The SI Model Assignment window is displayed.
Task Overview
You will view the Xnet and model-defined diff-pair you created in the previous exercise in
Constraint Manager.
Steps
1. In Design Entry HDL, choose Tools > Constraints > Edit.
2. Click Yes when prompted to expand the design.
Allegro Constraint Manager (connected to Allegro Design Entry HDL) is displayed.
3. Click the plus sign (+) next to Routing in the Net folder on the left pane.
4. Click Relative Propagation Delay under Routing.
The contents of the Relative Propagation Delay worksheet are displayed on the right
pane.
5. Move the mouse pointer over the entry for NET1 in the worksheet.
A tooltip appears indicating that the selected net is an Xnet.
6. Similarly, move the mouse pointer over the entry for DP_ABCNET. Notice the tooltip
which indicates that the selected object is a diff-pair.
Note: Constraint Manager reads the nets ABCNET1 and ABCNET2 as a diff-pair and
adds a DP_ prefix to the diff-pair name.
Task Overview
You will generate an electrical constraint on the Xnet you created in a previous exercise in
SigXplorer.
Steps
1. Right-click the entry for the Xnet, NET1 in the Relative Propagation Delay worksheet in
Constraint Manager.
2. Select SigXplorer from the pop-up menu.
3. To generate constraint rules on the Xnet NET1, choose Set > Constraints from the
main menu of SigXplorer.
4. Select the Rel Prop Delay tab in the Set Topology Constraints window.
5. Click New.
Notice that when you click New, the Rule Name field populates with the base name of
the topology and a suffix M1. Here, it is named as NET1_M1 after the Xnet, NET1. If you
add a second rule, the suffix will automatically increment by 1.
6. Click the entry for U18.12 in the Pins/Tees section.
The From field is populated with the appropriate value in the Rule Editing section.
7. Click the entry for U21.5 in the Pins/Tees section.
The To field is populated with the appropriate value in the Rule Editing section.
The Electrical CSet Apply Information message box confirm that the ECSet NET1 is
attached to the Xnet NET1.
13. In the Relative Propagation Delay worksheet, notice that the ECSet has been applied to
Xnet, NET1. Notice that the pin-pair constraint you defined has been applied to NET1.
You generated an electrical constraint on an Xnet in SigXplorer and applied it to the Xnet in
Constraint Manager.
Task Overview
You will apply the ECSet NET1 to other Xnet NET 3 in Constraint Manager.
Steps
1. Right-click the entry for the Xnet, NET3 in the Relative Propagation Delay worksheet In
Constraint Manager.
2. Select Electrical CSet References from the pop-up menu.
The Electrical CSet References dialog box is displayed.
3. Select NET1 from the drop-down list.
4. Click OK.
The ECSet Apply Information message box confirms the application of the ECSet to
NET3.
5. Click Close.
The ECSet is applied and appears in blue color in the Referenced Electrical CSet column
indicating that the ECSet is applied correctly.
first cell in the Referenced Electrical CSet column shows a solid red-color bar indicating
the error.
You applied an ECSet generated on one Xnet to another Xnet in Constraint Manager.
Note: Now try this interactive exercise, on creating Xnets and model-defined diff-pairs,
generating ECSets on Xnets in SigXplorer, and applying the ECSets to other Xnets in
Constraint Manager.
Summary
You learned to create an Xnet in Design Entry HDL, view it in Constraint Manager, generate
electrical constraints on the Xnet in SigXplorer, and apply the constraints to other Xnets in
Constraint Manager.
What’s Next
In the next chapter, Performing ECOs in Design Entry HDL/Constraint Manager, you will
make changes to constraints existing on the schematic. You will make changes both in
Constraint Manager and Design Entry HDL. The two tools are synchronized when you save
the changes.
Recommended Reading
For more information about Xnet creation, see the Working with Signal Integrity Analysis
Features chapter of the Allegro Design Entry HDL User Guide and the Constraint
Manager Design Guide.
6
Performing ECOs in Design Entry HDL/
Constraint Manager
Objectives
To learn how to perform Engineering Change Orders (ECOs) in schematic objects and
constraints on objects while keeping the constraints and the corresponding electrical
properties synchronized.
Nature of Chapter
Skill ( includes concepts and practice)
Overview
You can make changes in constraints and their corresponding electrical properties after you
have added them once and have exited the corresponding tools. Design Entry HDL and
Constraint Manager are synchronized when the electrical constraints and schematic are
saved in Constraint Manager and Design Entry HDL.
Task Overview
You will add a net MY_NET between pin Q0 of BINARY CTR F393 and pin I11 of 20R8. Then
you will add the impedance constraint on it. Lastly, you will package your design and view the
constraint in Constraint Manager.
Steps
1. Click the Design Entry HDL window.
2. If you are in occurrence edit mode, choose Tools > Occurrence Edit to switch to
expanded mode.
3. Choose Tools > Unexpand Design to switch to the hierarchy mode.
The Constraint Manager window closes.
4. Zoom into the portion of the schematic where BINARY CTR F393 and 20R8 lie. These
components are present on page 1 of the ps0 design.
Connect pin Q0 of
BINARY CTR F393
and pin I11 of 20RB.
5. Choose Wire > Route and click once on pin Q0 of BINARY CTR F393 and again on pin
I11 of 20R8.
13. Set the Target value as 55 Ohm and Tolerance value as 3%.
14. Choose File > Save.
15. Switch to the Design Entry HDL window and make the IMPEDANCE_RULE property
visible.
16. Choose File > Save to save the newly added constraints.
17. Choose File > Export Physical.
The Export Physical dialog box appears.
18. Click OK.
The Progress window appears.
19. Once the packaging is done, switch to the Constraint Manager window.
You can now see the net MY_NET in the physical format along with the impedance
constraint on it shown below:
Important
You have to exit from Constraint Manager to edit properties in the schematic. If
Constraint Manager is running simultaneously with Design Entry HDL, the Values
column appears greyed in the Attributes dialog box in Design Entry HDL.
Task Overview
You will modify the value of the MAX_FINAL_SETTLE property for net RESETL in Design
Entry HDL and view it in Constraint Manager.
Steps
1. Click the Design Entry HDL window.
2. Choose Text > Attributes and click net RESETL.
The Attributes dialog box appears as follows with the Schematic Value column greyed
for all properties.
3. Click Cancel.
The Attributes dialog box closes.
4. Click the Constraint Manager window.
5. Choose File > Exit.
The Constraint Manager window closes.
6. Click the Design Entry HDL window.
7. Choose Text > Attributes and click net RESETL.
The Attributes dialog box appears with the Schematic Value column editable for
properties.
You can see the updated value of the Max Final Settle constraint in the worksheet as
follows:
Task Overview
You will modify the value of the Min First Switch constraint for net RESETL in Constraint
Manager and view it in Design Entry HDL.
Steps
1. Open the Switch/Settle Delays worksheet in Constraint Manager.
2. Scroll down to the constraints for net RESETL.
3. In the Min First Switch column, change the existing value of Min to 0.2500:0.2800.
4. Choose File > Save to save the new value of the constraint.
7. Click Cancel.
The Attributes dialog box closes.
8. Choose Tools > Constraints > Update Schematic.
The changes in constraints are propagated to the hierarchy mode.
Tip
You can switch to the hierarchy mode and view the changed MIN_FIRST_SWITCH
property in the Attributes dialog box. However, if you switch to hierarchy mode while
Constraint Manager is running, Constraint Manager exits.
Task Overview
You will delete the Electrical Properties constraint for net CLK in Constraint Manager and view
the change on the schematic.
Steps
1. Open the Electrical Properties worksheet in Constraint Manager.
2. Scroll down to the constraints for net CLK.
3. Delete the existing value for Frequency.
The values for constraints Period, Duty Cycle and Jitter get deleted automatically.
4. Choose File > Save.
5. Click the Design Entry HDL window and ensure that you are not in occurrence edit mode.
6. Open page 1 of the 4_BIT_COUNTER design.
7. Choose Text > Attributes and click net CLK.
The Attributes dialog box appears as follows:
Note: See that the PULSE_PARAM property has not been deleted from the design yet.
8. Click Cancel.
9. Choose Tools > Constraints > Update Schematic.
Constraint Manager updates the design and the property gets deleted from the
schematic as well.
10. Open the Attributes dialog box again.
It appears as follows:
Note: You can see that the value of PULSE_PARAM has got deleted but the property
name still exists in the Attributes dialog box. You can use this to add the PULSE_PARAM
property in Design Entry HDL if required at a later point in time.
11. Click Cancel.
Task Overview
You will assign a new name to net ROMOEL in Design Entry HDL and view the net with the
changed name in Constraint Manager. The net ROMOEL has the Max Overshoot constraint on
it.
Steps
1. Open page 1 of the ps0 design.
2. Locate net ROMOEL in the design.
The net ROMOEL appears at the following two places in the design:
Two instances
of net
ROMOEL.
3. Choose Tools > Unexpand Design to switch to the hierarchy mode in Design Entry
HDL.
Constraint Manager window gets closed automatically as the connectivity information is
no longer available.
4. Choose Text > Attributes and click one instance of net ROMOEL.
The Attributes dialog box appears.
6. Click OK.
The Attributes dialog box closes.
7. Repeat steps 4 to 6 for the second instance of net ROMOEL.
8. Choose File > Save.
9. Choose Tools > Expand Design to expand the design.
10. Choose Tools > Constraints > Edit.
The Constraint Manager window opens.
11. Open the Reflection worksheet in the Constraint Manager window.
Nets ROMOEL_NEW
and ROMOEL
12. Choose Audit > Obsolete Objects from the Constraint Manager menu.
The Constraint Manager message box appears indicating that obsolete objects do not
exist in the design any more.
Summary
You have now seen the tight integration between Design Entry HDL and Constraint Manager.
You learned to make changes to constraints in Constraint Manager and Design Entry HDL
separately and saw that the two tools get synchronized when you save the changes.
What’s Next
In the next chapter, Synchronizing Constraints Between Schematic and Board, you will learn
to propagate constraints on the schematic to the board. You will also learn to propagate the
constraints on the board back to the schematic so that the board and the schematic are
synchronized.
Recommended Reading
For more information about the integration between Design Entry HDL and Constraint
Manager, see the Allegro Design Entry HDL User Guide.
7
Synchronizing Constraints Between
Schematic and Board
Objectives
To learn how to synchronize electrical constraints captured on the schematic with those
captured on the board and conversely.
Nature of Chapter
Skill ( includes concepts and practice)
Task Overview
You will package your design and create a board file for your design. The board file will contain
all the constraints that you have added in the schematic.
Steps
1. Click the Design Entry HDL window.
2. Choose File > Export Physical.
The Export Physical dialog box appears.
3. Make sure that the Package Design option is selected.
Important
You must package the design when you add new constraints in your design so that
they are propagated to the corresponding board.
4. Select the Update PCB Editor Board (Netrev) option.
The Input Board File option contains start.brd. This is the input template file for the
board that will be created for your design.
5. Enter my_board.brd as the Output Board File.
6. Click OK.
The Export Physical dialog box closes and the Progress window appears. Once the
packaging is done and the board is created, the Design Sync message box appears.
7. Click No.
The Design Sync message box closes.
Steps
1. Click the Project Manager window.
2. Click the Layout icon.
The PCB Editor window opens with the myboard.brd board file.
Task Overview
You will invoke Constraint Manager from PCB Editor and then view the constraints on net
RESETL, edit the Min First Switch constraint on net RESETL, and add the Max Xtalk
constraint on it. You will also analyze the constraints and export the results.
Steps
1. Click the PCB Editor window.
2. Choose Setup > Electrical Constraint Spreadsheet from the PCB Editor menu.
The Constraint Manager window is displayed in front of the PCB Editor window.
Note: The title bar of the Constraint Manager window shows that Constraint Manager is
connected to PCB Editor and all the constraints captured in it would be reflected in PCB
Editor.
3. In the Net workbook, double-click Timing and then Switch/Settle Delays.
The constraints that you had captured on nets in Constraint Manager connected to
Design Entry HDL were propagated to the PCB Editor database when you packaged the
design and created the board using Export Physical.
4. Scroll down to view the Min First Switch and Max Final Settle constraints on net RESETL.
The constraints appear in the Constraint Manager window as follows:
Important
You may want to change the values of constraints captured in Design Entry HDL in
PCB Editor after doing an analysis on the nets on the board. For detailed information
on how to perform analysis in Constraint Manager connected to PCB Editor, refer
the Constraint Manager Tutorial.
8. Double-click Signal Integrity in the left window pane and click Estimated Xtalk.
9. Scroll down to net RESETL.
10. Enter the value for Max in the XTalk column as 30:30.
Task Overview
You will invoke the Import Physical dialog box from Design Entry HDL and import the physical
design information from the my_board.brd file to your schematic design.
Steps
1. Click the Design Entry HDL window.
2. Choose File > Import Physical.
The Import Physical dialog box appears.
3. Select the Generate Feedback Files option.
Note: The PCB Editor Board File field contains the board file name my_board.brd.
This is the file from which the electrical constraints will be read.
4. Make sure that the Backannotate Schematic option is selected.
5. Click OK.
The Import Physical dialog box closes and the Progress window appears. Once the
import process is complete, the Design Sync message box appears.
6. Click No.
The Design Sync message box closes.
Task Overview
You will view the following constraints on net RESETL in Design Entry HDL:
■ Max XTalk that you had added in PCB Editor
■ Min First Switch whose value you had changed in PCB Editor
Steps
1. Choose Tools > Expand Design.
The design takes some time to expand.
2. Go to page 1 of ps0 design and locate net RESETL.
3. Choose Text > Attributes and click net RESETL.
The Attributes dialog box appears.
Note: It takes some time for Design Entry HDL to save the design and update it.
7. Zoom into the portion of the design where net RESETL is and view the constraints on it.
They appear as follows:
Task Overview
You will add the Min First Switch constraint on net CLK from Constraint Manager connected
to PCB Editor. Then, you will change the following constraints on net CLK from Constraint
Manager connected to Design Entry HDL:
❑ Delete Min Noise Margin
❑ Change the value of Max Overshoot
❑ Add Max XTalk
Finally, you will overwrite the changes made in constraints in the schematic onto the
constraints on the board.
Steps
1. Click the Constraint Manager connected to PCB Editor window.
2. Open the Switch/Settle Delays worksheet and for net CLK, enter Min as 0.24:0.24
in the Min First Switch column.
3. Click the PCB Editor window.
4. Choose File > Save.
PCB Editor prompts you to overwrite the my_board.brd file.
5. Click Yes.
PCB Editor saves the changes in its database.
6. Choose File > Exit and close the PCB Editor window.
The Constraint Manager connected to PCB Editor window also closes.
7. Click the Constraint Manager connected to Design Entry HDL window.
8. Choose File > Import > Analysis results.
The Import Actuals dialog box appears.
9. Click file name my_board.
10. Click Open.
The results of the analysis done in Constraint Manager connected to PCB Editor are
loaded.
11. Open the Reflection constraint worksheet and for net CLK, do the following:
17. In the Electrical constraints section, select the Overwrite current constraints option
as follows:
With this option selected, Design Sync overwrites all existing electrical constraint
information in the Output Board File with the electrical constraint information available
in the schematic.
18. Click OK.
19. After the export process is complete, invoke PCB Editor from Project Manager.
20. Choose Setup > Electrical Constraint Spreadsheet.
The Constraint Manager window appears.
21. Open the Reflection worksheet.
It appears as follows:
Note: You can see that the value of Max Overshoot has been overwritten (previously
5100:-610 on the board) and the Min Noise Margin constraint has been deleted.
22. Open the Estimated XTalk worksheet.
For net CLK, the constraint Min First Switch (that you had previously added on the
board) has been deleted from the board since it did not exist on the schematic.
Task Overview
You will change the following constraints on net RESETL from Constraint Manager connected
to PCB Editor:
❑ Change the value of Min First Switch
❑ Delete Max Final Settle
❑ Add Max Overshoot
Finally, you will import these changes made in constraints in the board onto the constraints
on the schematic.
Steps
1. Click the Constraint Manager connected to PCB Editor window.
With this option selected, Design Sync imports only those electrical constraints that have
changed in the PCB Editor Board File since the last import and overwrites these
constraints on the schematic.
13. Click OK.
The Import Physical dialog box closes and the Progress window appears. Once the
import process is complete, the Design Sync message box appears.
14. Click No.
The Design Sync message box closes.
15. Choose Tools > Constraints > Update Schematic.
16. Choose Text > Attributes and click net RESETL.
The Attributes dialog box appears as follows:
Note: You can see the updated value of MIN_FIRST_SWITCH property, the new
constraint MAX_OVERSHOOT and only the placeholder for MAX_FINAL_SETTLE property.
17. Click Cancel.
Note: Now try this interactive exercise, Synchronizing the Design and the Board.
Summary
You looked at two modes of propagating electrical constraints from the schematic to the board
and conversely — propagating all the constraints or propagating only changed constraints.
This ensures that constraints in Design Entry HDL and PCB Editor are synchronized.
What’s Next
This is the last chapter in the Design Entry HDL and Constraint Manager Tutorial. In the
Glossary, you will find the definitions of various terms used in this tutorial.
Recommended Reading
For more information about the two modes of synchronizing electrical constraints between a
schematic and a board, see chapter “Working with Electrical Constraints” of the Allegro
Design Entry HDL User Guide.
A
Glossary
Overshoot
Overshoot is the maximum voltage swing above the input voltage. It specifies the acceptable
voltage limits of logic families.
Noise Margin
Noise margin is the voltage difference between the maximum voltage dip and the active high
threshold or between the maximum voltage dip and the active low threshold.
Jitter
Jitter is the deviation in pulse width of a clock cycle, keeping the clock cycle same.
Sensitive Edge
Sensitive edge signals are those that drive receivers by their edge thresholds. A typical
example of a sensitive edge signal is a clock signal.
First incident switching is the switching voltage of sufficient amplitude at the initial rise of a
signal which is sufficient to drive receivers.
Propagation Delay
Propagation delay is the summation of all calculated transmission line delays along the
shortest path between two points. The default unit for propagation delay is ns.
Settle Time
Settle time is the time required for a ringing signal to stabilize to within a specified range of
the final value.
Specifies the maximum transmission line wire delay plus distortions differing from the nominal
driver rise-or-fall time seen in the receiver rise-or-fall.
Duty Cycle
The portion of the time the pulse stimuli is held in the high state as a fraction of the entire
pulse period. A value of 0.5 represents equal high and low portions of the cycle period.
Impedance
Impedance is the ratio of input voltage to input current for a transmission line (Z0 = V/I). When
a source sends a signal down a line, this is the impedance it must drive. The Source will not
see a change in its loading Impedance until 2*TD, where TD is the delay of the line.
Reflection
A reflection on a transmission line is an echo. A portion of the signal power (voltage and
current) transmitted down the line goes into the load, and a portion is reflected. Reflections
are prevented if the load and the line have the same impedance.
Setup Time
The time for which a digital signal A must be stable and unchanging prior to another digital
signal of interest B.
Setup time is most often associated with activity of digital signals immediately before a clock
event when these signals must be stable and ready as necessary inputs to clocked circuits,
especially latches.
Hold Time
The time for which a digital signal A must be stable and unchanging following the change of
another digital signal of interest B.
This parameter is very important with synchronous state machines employing feedback logic
that can change as a result of the clock.
Clock Skew
Clock skew is the difference in arrival time between clock and data at a logic gate.
Differential Pair
A differential pair represents a pair of nets or Xnets that will be routed in a way that the signals
passing through them are opposite in sign with respect to the same reference. This ensures
that any electromagnetic noise in the circuit is cancelled out.
Pin-Pair
For example in the following figure, a pin-pair for net CLK2 is:
You can specify a pin-pair explicitly, or it can be derived based on the length of the physical
net between the pins forming the pin-pair. The length of the net is determined when the board
for the schematic is placed and routed in PCB Editor. Accordingly, the pin-pairs are
categorized as follows:
■ longest/shortest pin-pair
Out of all the possible pairs of pins that a net connects, the longest pin-pair is the one
between whose pins the length of the connecting net is maximum. Similarly, the shortest
pin-pair is the one between whose pins the length of the connecting net is minimum.
■ longest/shortest driver-receiver
Out of all the pairs of pins for a net where one pin outputs the signal (driver) on the net
and the other takes input (receiver), the longest driver-receiver is the one between whose
pins the length of the connecting net is maximum. Similarly, the shortest driver-receiver
is the one between whose pins the length of the connecting net is minimum.
An electrical constraint set (ECSet) is a collection of constraints and their default values. An
ECSet reflects a particular design requirement. You can capture any or all electrical
constraints in an ECSet.
ECSets reside in the Electrical Constraint Set object folder. You can create ECSets for signal
integrity, timing, and routing constraints.
Primary Gap
Indicates the ideal edge-to-edge spacing between the pair of nets in the differential pair that
should be maintained for the entire length of the pair.
Index
A constraints 38
creation 36
adding a net in the schematic 89 definition 125
adding constraints in PCB Editor 108 duty cycle 52, 124
adding nets to a matched group 32
Allegro PCB Design HDL 610 suite 11
analysis 109 E
ECOs(Engineering Change Orders) 88
C ECSet
creation in Signal Explorer 58
canonical format 21, 40 using 58
clock skew 125 ECSet (electrical constraint set) 58
constraint electrical constraint property
delete 96 modify 92
duty cycle 52, 124 visibility 27
frequency 52 electrical constraint set (ECSet) 58, 127
impedance 124 Engineering Change Orders(ECOs) 88
jitter 52, 123 exporting constraints from Design Entry
modify HDL 106
Constraint Manager 95
Design Entry HDL 92
settle time 124 F
setup time 125
synchronize 113 first incident switch 123
visibility 27 frequency 52
constraint on renamed net 98
constraint on unpackaged schematic 89
constraints on board 108 G
creating a differential pair 36
creating a matched group 30 global find 22
creating ECSet in Signal Explorer 58
critical net 24
H
D hierarchy mode 96
hold time 125
database
install 11
NT 12 I
UNIX 12
deleting a constraint in Constraint impedance 20, 62, 124
Manager 96 importing constraints in PCB Editor 111
Design Expert 11 install the database 11
Design Studio 11
differential pair
J procedures
adding a net in the schematic 89
jitter 52, 123 adding constraints in PCB Editor 108
adding nets to a matched group 32
creating a differential pair 36
L creating a matched group 30
deleting a constraint in Constraint
locate a net 22 Manager 96
exporting constraints from Design Entry
HDL 106
M importing constraints in PCB Editor 111
modifying a constraint in Constraint
matched group 29 Manager 95
minimum first switch time 49, 124 modifying a constraint in Design Entry
modes of constraints synchronization 113 HDL 92
modify constraint 92 renaming a net in Design Entry HDL 98
modifying a constraint in Constraint setting constraints on a differential
Manager 95 pair 38
modifying a constraint in Design Entry setting electrical properties 51
HDL 92 setting propagation delay relative to a
net 29
setting the propagation delay 20
N starting Constraint Manager 17
viewing a constraint on the
navigate 22 schematic 27
net product suite 11
canonical format 21, 40 propagate changed constraints 113
physical format 21, 40 propagation delay 20
noise margin 123 definition 123
pin pair 24
relative to a net 29
O
obsolete object 101 R
overshoot 55, 60, 123
overwrite constraints 113 reflection 54, 124
renaming a net in Design Entry HDL 98
P S
packaged design 21, 40
PCB Editor sensitive edge 123
add constraints 108 setting constraints on a differential pair 38
synchronize constraints 114 setting electrical properties 51
physical format 21, 40 setting frequency 52
pin pair setting propagation delay relative to a
creation 25 net 29
definition 125 setting the propagation delay 20
propagation delay 24 settle time 46, 124
primary gap 39, 127 setup time 125
Signal Explorer
add constraints 58
synchronize constraints with Constraint
Manager 63
simultaneous switching noise (SSN) 124
starting Constraint Manager 17
synchronize constraints
modes 113
PCB Editor 114
Signal Explorer 63
synchronizing board and schematic 111
V
viewing a constraint on the schematic 27