Setting Up Routing Constraints
• Constraint Manager
Constraint manager is a common environment used to define and organize layout rules.
It may be accessed from expedition designer or expedition layout.
Figure 1:Constraint Manager in the Design
Figure 2: Constraint manger
From the setup drop down in the toolbar, invoke constraint [Link] will open up the main
window. On the left side is the navigator used to organise data. And to the right is the spreadsheet
where data is [Link] the bottom is the output log window. The online indicator assures
connection to the ICDB database at the bottom right corner. We can bring additional toolbars from
view dropdown and then drag and drop then into position. Users can optimize the constraint
manager interface to make the workshop more efficient. Docking and auto hiding options are
available. Toolbar and screen configurations are stored in your machine’s local WDIR directory.
Users can optimize the constraint manager interface to make the workspace more efficient. With
the mouse cursor focused on the navigator, you can use the right mouse button menu to add or
remove the design. You may add or remove the various spreadsheet tabs with the cursor focused
on spreadsheet. From the clearance toolbar, we can open the general clearance tab or
Edit→Clearance→general clearance
1|Page
Figure 3:general clearance rules in constraint manager
The navigator displays the constraint hierarchy. you can define the ordering the column data to
your preferences. The edit constraint groups option to create a brand-new view. Files→Rollback
changes→you can save your changes at any time by closing the constraint manager dialogue. You
can update incrementally by selecting the amber indicator in the right bottom of the expedition
layout tool. This will update both the expedition layout tool and ICDB database.
• Constraint Manager Net classes
1. A Net class may have single net within it
2. Nets may be members of both nets and constraints classes.
3. Physicals rules include via type, available routing layers and trace widths
4. Physical rules also include clearances for groups of nets and for their interaction of other
nets.
From the navigator pane, click on net class the do right click choose new net class rename it as
demo. Click on the new net(demo).right click on it. Click assign nets.
Figure 4:Assigning nets in constraint manager
Assign physical nets to net dialogue opens. We can use the search feature to find the nets by
typing few letters and an asterisk and moving the nets using the left to right arrows into the proper
class three default trace widths will be available for common usage within the expedition [Link]
impedance calculator is also provided and uses your layer stackup to make calculations for quick
2|Page
checking. Note that if we edit the parent line, all the layers beneath it will be changed and a popup
warning will be indicated. Users can also enter trace width layer by layer and then use the layer
“Rule Painter “function to copy them [Link] demonstrated, when you are plowing traces on
any net in the class all three widths will be available on your right mouse button menu. Remember
that custom widths may be defined in expedition layout at any time. And you can change width on
fly anytime. From the trace and via properties, we may also define available routing layers and via
assignments.
• Constraint manager schemes and topologies
Hover the mouse cursor over the master scheme give right click choose new. This will create a
new routing scheme; we will rename it as BGA. this scheme will translate to an area of the PCB
layers with rules different from those of the overall board as represented by the master scheme. You
will notice that each set of net class rules is still represented and may be updated in any scheme
you created. Change the width and net class via in via assignments.
Figure 5:via assignments
Vias may be defined differently on a class-by-class basis and different span usage may also
be defined when using blind and buried vias. Go to the clearance tab and change our trace spacing
rules to [Link] can use the spreadsheet rule painter features to make large numbers of changes
quickly. Notice that we can still maintain rules we don’t wish to [Link] the PCB layout
environment, let’s look at an example of schemes and their uses. Under the master scheme, the
fanout of this BGA is nearly impossible. The default via and trace clearance and widths are far too
big, and we fail miserably. from the draw drop down on the toolbar, draw a rule area.
3|Page
Figure 6:Rule area properties
This area may be assigned to an individual layer, or all layers are needed. Any schemes
created within the constraint manager are available from the dropdown. Draw the rectangle around
the BGA. Fanning out once again, the results are clear. Notice how the rules revert to the master
scheme when traces cross the areas extents. The constraint manger provides automatic topology
creation and the ability to create custom once. The default topology for all nets in your design is MST
(Minimum spanning time). the net lines represent the shortest possible path between two
components without regard to routing order or stubs that might be created. All automated
topologies related on having properly assigned source, load and termination pins in your database.
look at the clock nets, these pins have previously defined source, load, termination. however this
net is currently defined as MST, these definitions do not impact on net line.
Chained=order is from source to load termination. allowable stub length maybe user defined.
Figure 8:chained topology Figure 7:T-shaped topology
The net line now begins at the source and run through the loads to the termination with no stubs.
Tshape=order is from source to virtual pins to load.
4|Page
The software then automatically adds a virtual pin which we can adjust as needed. Users may also
create customs topologies. From the view drop down enable the topologies toolbar and place it.
select the net line commander from the toolbar using the following dialogue we can arrange the net
line order in any way we want.
Figure 9: Net line order
The following split view or having an additional monitor can be helpful when you are trying to review
this situation. You can automatically create pin pairs.
The auto router and interacting routing DRC will respect whatever you make. For instance, warning
the user if they accidentally route traces in the wrong order.
Figure 10:Net line order
5|Page
• Constraint Manager Differential pairs
Figure 11:Creating Differential pairs in Constraint Manager
Update actual differential pairs are created on the nets tab of the constraint manager
spreadsheet. Now scroll down and select the differential nets (N, P). right click on it select create
differential pairs. You will notice a change to the icon to the left side of the nets. Also notice that the
topology is automatically changed to custom. If the differential pair has more than two pins the
topology must be reviewed and ordered by the user. A differential pair can be deleted by selecting
the pair and using right mouse button menu, delete command or delete key on keyboard. After
sorting the net column, differential pairs will always appear at the top of the netlist. From the group
filter dropdown go to differential pair properties. You may use several properties settings to help
define the routing of differential pairs.
• differential pair tolerance defines the tolerance of the time flight delay or the length between
the sets of differential pair.
• convergence tolerance defines the maximum allowed difference in trace length from the
paired entry to where the trace start routing differentially.
Figure 12: Converge Tolerance Max
• Distance to converge max defines distance that differential pair traces are allowed to route
before converging.
6|Page
Figure 13:Distance to converge Max
• Separation distance defines maximum allowed distance that differential traces can route at
a spacing greater or less than it defines spacing constraints.
Figure 14: Separation Distance Max
• Differential spacing defines the required parallel distance between the trace segments
comprising a differential pair.
Figure 15:Differential Spacing
This is defined as a Net class rule in the trace and via properties tab and is only reported here
in the spreadsheet.
Two additional constraints allow users to control the total length of differential pair nets at
every point in the path more precisely
Figure 16:Differential Phase Tolerance
7|Page
Differential pair phase tolerance max defines the maximum allowed difference in each leg’s
length.
Differential pair phase tolerance max defines the maximum length of the coupled piece with
continuous phase tolerance overhead, which will not be treated as a [Link] this illusion,
the legs of the pair start out in phase. One leg then becomes longer for an allowed distance.
Eventually that distance exceeds as indicted red after A, resulting in a hazard.
Time of flight (TOF) is reported in nanoseconds. The generation of constraint manager
“Actuals” allows the user to check violations of the various rules spread here in spreadsheet.
Under the data dropdown, select the actuals, update all, violations will appear in red.
We will need to return to the expedition layout to make the appropriate corrections.
Updating our ICDB and look at the two pairs in the expedition layout. Select two nets right
click on it choose tune routes the choose tune. you can see that the tuning was added to
both length and phase matching. Back in the spreadsheet, we will return to the data
dropdown and update the actuals. Yellow colour indicates that the length is at the high end
of user defined tolerance.
Net classes=physical rules
Constraint classes= Electrical rules
In the navigator select the match track constraint class. From the group filter dropdown
change the filter to delays and lengths. Now we can assign match tolerance to the [Link]
instance [Link] nets assigned to this class must now be within 100 mils of one
another. Back in expedition layout update the layout and ICDB database again and tune the
nets. You will see that the tuner has added the necessary length to one of the nets. Once
again update the actuals in the constraint manager and we can that the errors disappear.
We have added a net to the match track class for this demonstration.
• Constraint editor
Figure 18:Constraint Editor Figure 17:Constraint Editor
Constraint editor is context sensitive constraint management tool for defining and modifying
placement and routing rules embedded directly within the schematic and layout environments’
constraint editor functions are same in both the environments. With the exception of physical
constraint rules, which are supported only within the [Link] we demonstrated the editor can be
launched from the toolbar icon on the standard the toolbar or setup dropdown menu. Once the
dialogue is active, users can choose to leave it floating or dock it so that it may be removed from the
8|Page
designed area. When docked, you can resize it to reduce the dialogue footprint. Or the users can
enable the autohide option to make even more optimal use of the design area. Across the top of the
dialogue are a series of commands. these are separated into four functional groups. They are filters,
bars, views and go to. These context sensitive commands are only enabled when the appropriate
design object or configuration bar is selected. The data and settings configuration bar are in the
lower section of the dialogue. these are used to place the focus and edit specific constraint rules or
design settings. The data bars are enabled depending on specific design object selection, while
settings can be accessed at any time. Users can select the hide icon to remove a bar from the
dialogue. You can also use the configure dropdown command to add specific hidden bars.
Switching back to allow them all is easy, or you can return to the systems default configuration.
Select the part (component) notice that the component bar automatically gets
expanded, displaying various component information. A very limited number of constraints
can be accessed to components. And they are listed in the add constraints dropdown. select
the positive pin of the part. You will notice that no changes occurred in component bar this
is due to context sensitivity of the tool. presently, no constraint bars are unhidden to display
any of the pin constraints. Select the configure command from the menu bar and unhide the
power nets configuration bar. Once added the bar expands automatically, displaying our
power pin constraints. because this is a power net. Choose the net class dropdown listing
and assign the pin to the preexisting power net class. We can then duplicate the process,
assigning the ground pins on the parts of the power in that class. All of this without having
the bring up the large constraint manager spreadsheet.
Another method is also there for assigning classes faster. For that we have to reset both
the power pins to the default net class. Next disable the selection option in the display
control to the top basement component object. This will allow us to focus our selection on
the pin objects only. Select the two power pins this will now be displayed under the power
nets configuration bar. the net class dropdown list is selected as before. right click on the
spreadsheet view and choose the apply value to all columns command. This will allow us to
duplicate any constraint value changes to all selected objects open under configuration bar.
Context sensitive constraint review speeds up the layout process. We have configured our
constraints bars to display physical nets and clearance constraints. We can select a
predefined net class to alter the trace width and clearance settings. Once the constraints
have been modified the amber synchronization icon prompts the user to update constraint
changes to the layout. First enable the match group command on the editor dialogue, we
9|Page
can select any of the two nets in a group and its quickly displayed under the electrical net
configurations.
Next enable the actual display in the filter section of the dialogue. Any, match group net
violations are now displayed in red, giving the user needed focus. Using the dropdown menu
on the net and violation users can quickly locate and resolve the violation by using the tuning
method of choice
• Important things to remember: -
❖ Constraint editor and constraint manager access a common database.
❖ Constraint editor is different for important reasons.
▪ Functionality is task specific
-Limited to data necessary to support design tool usage
▪ Operations are context sensitive
-only displays sensitive data for object selected within the design
-data only revealed to specific constraint bars
▪ Constraint editor doesn’t replace the need for constraint manager
▪ All constraint editor changes must be synchronized with the layout to take effect just like
constraint manager.
10 | P a g e