Routing Improvements
This document is no longer available beyond version 20. Information can now be found using the following links:
Interactive Routing
Interactive routing is a critical part of the design process, with many designs requiring careful attention to avoid potential signal integrity issues. To meet these demands the designer needs features such as controlled impedance routing, arcs in corners, and tuned net lengths. This release introduces a number of new features that significantly improve the process of Interactive Routing, particularly for boards with potential signal integrity issues.
- Cornering behavior is substantially improved, the tightness of mitered corners can now be configured to ensure they meet your design practices. And if your designs need curved corners these can be placed during interactive routing, the glossing engine helping to curve the new routing around existing objects.
- Put the new curved cornering behavior together with any-angle track placement and you're Snake routing, use this to smoothly escape-route out of a tight BGA package.
- The new push and shove engine improves the routing experience on many levels. Switch to push and shove mode as you route or slide existing tracks, and the new push and shove engine will intelligently deal with arcs and any angle routing that it encounters, and push with arcs if required.
- Interactive track sliding behavior can be adjusted as you work, press Tab during sliding to open the new Interactive Sliding mode of the Properties panel.
- Length tuning has also been improved to be more intuitive, fast and easy to use with the same experience for both single traces and differential pairs.
- If you use controlled impedance routing and need to use a coplanar structure, check out the updates to the Layer Stack Manager where single and differential coplanar impedance profiles can now be defined.
Miter or Curve the Corners
One of the strengths of the updated Interactive Router is the improved support for cornering. Corners can be defined using short, straight track segments, or they can be created using one or more arcs.
Mitered Corners
To ensure that it is not possible to inadvertently create acute corners during routing, both interactive routing and interactive sliding now include a Miter Ratio option. The Miter Ratio multiplied by the current track width equals the separation between walls of the tightest U-shape that can be routed for that miter ratio, as shown below. Enter a positive value equal to or greater than zero. Set the Miter Ratio to zero to create a right-angle corner.
Arcs in Corners
Many designers require curved corners. Previously arc-in-corner routing was only supported during interactive routing, but not in Push and Shove mode or during track sliding. The new Push and Shove engine solves this, adding arcs during push and shove, and also during track sliding. Switch to any angle corner mode with Strong routing gloss effort to perform Snake routing.
T-Junctions
T-junctions have also received attention as part of this release. Click and drag on the junction point to modify a T-junction.
Improved Glossing
Whenever the cursor is moved as you define a new interactive route path, all of the new routing is automatically glossed. Glossing will attempt to reduce the path length and also improve the shape of corners and reduce their number, generally resulting in neater routing created from fewer segments.
With this release Glossing has additional options that control its behavior. Along with the current Gloss Effort setting, Glossing now obeys the new Hugging Style, the Miter Ratio and the Min Arc Ratio settings. Using these options Glossing controls how tightly a corner is created, and how the curved shape is formed in the route around a mounting hole.
Existing routing is glossed by running the Route » Gloss Selected command - this command now also obeys the current Gloss Effort, Hugging Style and Miter/Min Arc Ratio settings. Use this to your advantage to perform design changes such as converting mitered corners to arcs.
Temporarily Inhibit Glossing
Glossing is a core feature for interactive routing and sliding, but there will be situations where it prevents you from achieving the route shape you desire. Glossing can be temporarily inhibited by holding the Ctrl+Shift shortcut keys, when they are released glossing will be re-enabled at the current level.
Interactive Sliding
One of the most common tasks in routing is to modify the existing routing. This can be done by clicking and holding on an existing segment, and sliding it to a new location. This feature, known as Interactive Sliding because it maintains the orthogonal/diagonal patterns defined in the original routing, can now call on the same set of routing technologies that are available during interactive routing. To provide better visibility and control of the sliding process, the Properties panel now includes an Interactive Sliding mode - press Tab during sliding to access the options in the panel.
Below is a summary of the new Interactive Sliding options.
Routing Gloss Effort
During a route event, such as interactive routing, interactive sliding, or ActiveRoute, the software runs a glossing engine. The glossing engine constantly reviews all of the segments placed or impacted by the current route event, attempting to improve the quality of the results. Measures of quality include: reducing the number of corners, reducing the number of segments, removing acute angles and reducing the overall route length.
Glossing has three settings; Off, Weak and Strong, use the Ctrl+Shift+G shortcut to cycle through the settings during routing or sliding.
Hugging Style
This option controls how corner shapes are to be managed during interactive sliding and will affect both the tracks being slid and the tracks being pushed. During sliding use the Shift+Spacebar shortcut to cycle through the three modes.
- 45 Degree - always use straight orthogonal/diagonal segments to create corners during sliding (use this mode for traditional orthogonal/diagonal routing behavior).
- Mixed - use straight track segments when the objects being moved/pushed against are straight, use arcs when they are curved.
- Rounded - use arcs at each vertex involved in the move/push. Use this mode for snake routing, and to use arcs + any angle routes when glossing (during interactive routing and manual glossing).
- Shortcut - Shift+Spacebar
Sliding Mode
This option determines how you want the sliding objects to react when they encounter an existing object. Use the Shift+R shortcut to cycle through the available modes during sliding.
These are the same modes that are referred to as the Routing Conflict Resolution modes during interactive routing.
Vertex Action
To better support the designer's need to easily manipulate and re-shape the existing routing, there are specific options that are applied when you click and drag on a vertex rather than a track or arc (the vertex is the corner location where two segments meet). Use the Spacebar shortcut to cycle through the available modes during sliding.
- Deform - break or lengthen the track segments attached to the moving vertex so that the vertex follows the cursor movement.
- Scale - hold the corner shape and resize and move the incoming track segments, keeping the vertex attached to the cursor.
- Smooth - reshape the corner smoothly, inserting arcs to create a curved corner when dragging inward (in Mixed or Rounded Hugging Style), at every vertex impacted by the sliding process. Also add arcs when dragging outward in Rounded Hugging Style.
- Shortcut - Spacebar
Pad Entry Stability
The Pad Entry Stability slider protects centered pad entries. Use the slider bar to configure the level of protection:
Off =
no protectionMax =
maximum protection
This option also affects the behavior of the Interactive Router.
Miter Ratio
Use the Miter Ratio to control the minimum corner tightness. The Miter Ratio multiplied by the current track width equals the separation between walls of the tightest U-shape that can be routed for that ratio, as shown in the Mitered Corners description, earlier on this page. Enter a positive value equal to or greater than zero (the x multiplier is added automatically).
Min Arc Ratio
The Min Arc Ratio is applied during any angle interactive routing and also during interactive sliding with Mixed Hugging Style. The ratio is used to determine the minimum radius arc allowed, when the arc radius falls below this minimum the arc is replaced by track segments, where:
Min Arc Radius = Min Arc Ratio x Arc Width
Interactive Length Tuning
A critical high-speed design capability is to be able to match route lengths. This is usually done by tuning the lengths of shorter nets, adding accordion sections along the route path. As with interactive routing, Altium Designer's length tuning functionality is also undergoing extensive development work to improve both the functionality and ease of use.
Improvements in this release include:
- The ability to slide a tuning accordion in the workspace, the accordion automatically reshaping to suit the available space.
- True accordion objects for differential pair length tuning. Now differential pair accordions can be moved and reshaped, like individual net tuning accordions.
Delay-Based Net Lengths
Rather than measuring a route as a physical length, it can be more useful to think of it in terms of the time it takes for a signal to propagate along that route.
Propagation delay-based net information can be worked with in the following ways:
- Define delay-based net length matching in the High Speed Length and Matched Length design rules.
- Display the routed Delay value for: xSignals, Differential Pair Nets, and individual Nets - enable the display of the Delay column in the relevant mode of the PCB panel.
- Manually define the delay for Pads and Vias in the Properties panel.
- Check the delay value of the selected primitive in the Properties panel.
This release does not support automatic delay calculations for vias, this is planned for a future release. In this release the via delay value can be entered manually as a via property.
High Speed Design Rules
Signal timing is a critical design aspect for many boards, where both the signal propagation delay and the skew must be carefully managed. The Length design rule can be used to monitor the propagation delay, and the Matched Length design rule used to manage the skew between signals. To make them more flexible, both of these rules can now be constrained in either Length Units or Delay Units.
Length Tuning
If the applicable design rule is constrained using Delay Units, then the Length Tuning Gauge and the accordion information in the Properties panel will display the constraint Limits as a delay instead of a distance.
Defining and Checking the Propagation Delay
The Propagation Delay can be defined for pads and vias in the Properties panel. The calculated value can also be examined for a selected track or arc object.
The calculated propagation delay of a Net or xSignal can be displayed in the PCB panel, right-click on the panel to configure the display of columns.
The speed at which electrical energy can travel along a route is known as the propagation velocity and can be defined as:
Vp= C / √Dk
where:
Vp = Propagation Velocity
C = Speed of Light (11.80285 in/nSec or 299.792458 mm/ns)
Dk = Dielectric Constant
Propagation delay is the time taken for the signal to propagate along a route of length L:
tdl = L / Vp
= L x √Dk / C s/m
Does the calculator change the value of Dielectric Constant for a microstrip? Does it use Dkeffective = 0.64 Dk + 0.36)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Response from Yuriy Shlepnev
Phase delay (opposite to velocity) and effective Dk for the microstrip is computed in the impedance calculator by the quasi-static field solver Simbeor SFS. It uses method of moments to compute impedance per unit length (Zpul, includes effect of conductor and conductor roughness) and admittance per unit length (Ypul, includes effect of inhomogeneous and, possibly dispersive dielectric). No formulas. Then characteristic impedance of microstrip is computed as Zo=sqrt(Zpul/Ypul) and propagation constant is computed as G=sqrt(Zpul*Ypul)=alfa+j*beta. Alfa is attenuation and beta is the phase constant. Phase delay is computed as PD=beta/(2*PI*frq).
Beta can be used to compute the effective dielectric constant as
Deff =( c*beta/(2*PI*frq))^2
See more and references on the subject at Simbeor Manual http://kb.simberian.com/SimbeorManual.php
-> Transmission Line Parameters chapter
New Dragging, Pushing and Shoving
Previous versions of the PCB editor supported push and shove during routing and dragging when the tracks were placed at 0, 90 and 45 degrees. If the routing included arcs or any-angle track segments, push and shove was not available.
push and shove
then gloss
Any Angle Routing becomes Snake Routing
There are more and more situations where traditional orthogonal/diagonal routing does not deliver - it might be the shape of the board, the angles between the flex and rigid sections, or the density of the BGA being so tight that odd-angled fanouts must be used to create room for escape routes.
Any angle point-to-point routing can be used in these situations, but it is slow, does not allow arcs to be used at corners, and can produce an untidy result.
This release sees the introduction of Snake Routing, routing that can flow at any angle, with arcs in the corners. Snake routing is enabled by pressing Shift+Spacebar to cycle the routing mode through to Any Angle, or by pushing the route up against a fixed object, like a component pad.
Legacy.PCB.Dragging Use pre-AD20.0 track arc dragging behavior
Legacy.PCB.Router.PushAndShove Use pre-AD20.0 Push and Shove during interactive routing
Legacy.PCB.TraceTuning Use pre-AD20.0 trace tuning processor
PCB.Router.CenteredPadEntryStability Great stability means shorter centered Pad Entries are preserved: 0 - no protection; 10 - max protection
PCB.TraceTuning.Push Enables push (compactor) in external tuning
PCB.TraceTuning.Type Set 1 to create areal (arial?) tuning, 2 to create tape external tuning