Push and Shove Router: How it Works and Why You Need It

November 18, 2019 Zachariah Peterson

PCB layout creation with push and shove routing

If you have a complex layout like the one shown above, and you need to move traces or vias around the board, what can you do to decrease your routing time? This is where the push and shove router feature in Altium Designer can be a huge help. Using this feature eliminates the need to reroute a large number of unselected traces as you adjust traces and vias in your layout.

So when would you need to use something like this? Doesn’t this interfere with an otherwise pristine layout? As you drag a trace or via, you can easily toggle between different push and shove modes as you move your via or trace around the board. This allows you to accommodate things like additional or replacement components, changes to trace or via sizes, and other layout changes. Toggling between different modes allows you to quickly turn the push and shove features on and off so that you don’t affect any perfect portions of your layout. Here’s how this works in Altium Designer.

Accessing Routing Options

In order to configure the routing options in Altium Designer, just click on the Preferences option under the Tools menu. Scroll down to the PCB Editor menu in the list on the left-hand side of the dialog. Then click on Interactive Routing. This will bring up a list of options for configuring the routing settings.

In order to configure the modes in the push and shove router, you’ll need to look at the Unselected Via/Track and Selected Via/Track options. This will configure how the dragged element in your layout will interact with nearby tracks or vias. You can toggle between Drag and Move modes in these drop down boxes, which will change how nearby traces are moved around the board as you drag a trace/via in your layout.

Preferences dialog in Altium Designer

Accessing Dragging settings in Altium Designer

Things to Consider When Using a Push and Shove Router with Vias

The push and shove router in Altium Designer is great for quickly moving elements around in a board without manually rerouting surrounding traces. When working with vias, the attached traces will follow the via around the board, but there are some things to consider when working with the push and shove router. This tool is powerful in that it will push and shove traces in multiple layers, giving you a big productivity boost. If you aren’t careful, you risk creating odd angles in your routes, and you can violate clearance rules. Let’s look at a couple examples. The image below shows a portion of a layout in Altium Designer. We want to drag the middle via into the center of the view shown below.

Odd angles from push and shove router

Odd angle left while using the push and shove router

As you drag a via or trace around the layout, the two horizontal blue traces will move out of the way automatically, and the attached traces will drag as well. In this particular example, the two horizontal blue traces will move down to make room for the via and the attached blue trace in the interior layer. As you move the via, it can snap to different locations if you are in the corresponding push and shove mode. As you drag an element around the board, you can hit Shift+R on your keyboard to cycle between the Push Obstacles, HugNPush Obstacles, and Ignore Obstacles modes.

If you are not careful, this can leave behind a 45 degree bend or other odd angle; as shown in the image below. In this case, you should try to adjust the location of the dragged element so that the remaining trace does not contain an odd angle. If you are working with low speed signals, low frequency analog signals, or DC, these odd angles will not create signal integrity problems, but signal problems can occur in high speed/high frequency designs. Also, odd angles can act as acid traps during manufacturing, so they should be removed if possible.

Odd angles from push and shove router

Odd angle left while using the push and shove router

Another problem which can arise if you are not careful is violation via clearance rules. In the case of dragging a via that passes through multiple layers, you can leave behind gaps in the internal plane layer. Thankfully, the automatic DRC tools in Altium Designer will flag clearance violations for you as you drag an element in your layout. This is shown in the image below, and the clearance violations are outlined in the yellow box.

Clearance rule violations with push and shove router

This dragged via leaves a hole in the plane layers and violates clearance rules

Toggling between the different push and shove modes allows you to experiment with different layout configurations as you drag a trace/via. Note that, if you push a trace as you drag, and then switch to Ignore Obstacles mode, the pushed trace will revert to its original location when you started dragging.

Finally, watch out for skew in your nets as you use the push and shove router. If you drag an element around the board and significantly increase the length of a trace, you can induce excess skew in a signal trace. Thankfully, the Matched Length design rule will check for length constraint violations. If a violation does occur, you can use the length tuning features to bring signals back into synchrony.

More Interactive Routing Tools in Altium Designer

The interactive routing tools available in Altium Designer don’t end with the push and shove router. You can easily route multiple signals simultaneously (both single-ended and differential), perform pin-swapping with high pin count logic devices, and use a powerful autorouter to cut down on your routing time.

The powerful interactive routing and post-layout analysis tools in Altium Designer® are built on top of a unified rules-driven design engine, allowing you to implement length matching as you use the push and shove router or any of the other layout tools. You’ll also have a complete set of tools for building schematics, managing component information, and preparing deliverables for your manufacturer.

Now you can download a free trial of Altium Designer and learn more about the industry’s best layout, simulation, and production planning tools. Talk to an Altium expert today to learn more.

About the Author

Zachariah Peterson


Zachariah Peterson has an extensive technical background in academia and industry. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability.

His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental systems, and financial analytics. His work has been published in several peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies.

More Content by Zachariah Peterson
Previous Article
The Basics of Signal Integrity Analysis in Your PCB
The Basics of Signal Integrity Analysis in Your PCB

Signal integrity analysis is much easier when you use the right set of design and simulation tools.

Next Article
DC Analysis of Linear and Nonlinear Circuits in Schematic Design
DC Analysis of Linear and Nonlinear Circuits in Schematic Design

At some point, every designer will need to perform a DC analysis to understand some basic behavior in their...