Routing Improvements

This document is no longer available beyond version 20.0. 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.

The updated Interactive Routing mode of the Properties panel.The updated Interactive Routing mode of the Properties panel.

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.

The current Miter Ratio value is used during interactive routing, interactive sliding, glossing and retracing.

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.

Snake routing, with the corner style set to Any Angle.

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.

Examples of the new T-Junction dragging capabilities.

In previous versions, the Conflict Resolution Mode applied during track dragging was set independently from the Conflict Resolution Mode applied during interactive routing. Shift+R was used to cycle the mode during dragging or routing, with each retaining the the last-used mode and applying it next time.

In this release, the Conflict Resolution Mode setting is applied to both dragging and interactive routing. Shift+R can be used to cycle the mode during the current routing or dragging action, with the last-used mode being applied the next time you route or drag.

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.

Demonstration of the improved routing and dragging capabilities, with simple examples of glossing with curves.

When you launch interactive routing and click to start, the segments you place are held as soft commits until you complete the current route. This is done so that the interactive router can re-size or remove segments as you move the cursor around, insuring that the routing continues to meet the current Glossing, Miter Ratio, Min Arc Ratio and Hugging Style settings.

The best interactive routing and sliding results are achieved when you configure the glossing to suit the current situation - press Tab to change the settings as you work via the Interactive Routing and Interactive Sliding modes of the Properties panel.

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 protection
  • Max = 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

  • This setting is not applied during any arc in corner routing or interactive sliding with Rounded Hugging Style, as these modes do not use segmented arcs.
  • Set the Minimum Arc Ratio to 0 (zero) to always use arcs.

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.

Tuning accordions now have more intuitive object-like behavior and can be dragged and re-shaped as required, always attempting to maintain the required length.

  • True accordion objects for differential pair length tuning. Now differential pair accordions can be moved and reshaped, like individual net tuning accordions.

Differential pair tuning accordions are also true objects, which can be dragged and interactively resized.

Tuning accordions can also be reshaped in the Accordion mode of the Properties panel.

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.

The Simbeor SFS (quasi-static field solver) from Simberian® is used to calculate the delay, based on the physical properties defined in the Layer Stack Manager.

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.

The Length and Matched Length design rules can be constrained by Length Units or Delay Units.The Length and Matched Length design rules can be constrained by 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.

Define the propagation delay for pads and vias, examine the delay for other routing objects.Define the propagation delay for pads and vias, examine the delay for other routing objects.

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 calculated propagation delay of a Net or xSignal can be displayed in the PCB panel.    The calculated propagation delay of a Net or xSignal can be displayed in the PCB panel.

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

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content