Introduction
In the world of electronic design automation (EDA), routing is a critical step in the process of creating printed circuit boards (PCBs) and integrated circuits (ICs). Routing involves the placement of interconnects between components on a PCB or IC, ensuring that signals can be transmitted efficiently and reliably. One of the most advanced routing techniques used in modern EDA tools is the push-shove router. In this article, we will explore the inner workings of the push-shove router, its advantages over other routing methods, and why it is an essential tool for designers and engineers.
What is a Push-Shove Router?
A push-shove router is an advanced routing algorithm that intelligently modifies existing routes to accommodate new connections while minimizing the overall impact on the design. Unlike traditional routing methods that simply find the shortest path between two points, a push-shove router considers the entire layout and adjusts the paths of other nets to make room for the new connection.
The main goal of a push-shove router is to find the optimal balance between the following factors:
- Shortest path length
- Minimal disturbance to existing routes
- Avoiding obstacles and design rule violations
- Maintaining signal integrity
By considering these factors, a push-shove router can create highly efficient and reliable Routing Solutions that would be difficult or impossible to achieve with other methods.

How Does a Push-Shove Router Work?
The push-shove routing algorithm consists of several key steps:
-
Path Finding: The router first attempts to find the shortest path between the source and destination points of the new connection, taking into account any obstacles or design rules.
-
Obstacle Detection: If the shortest path is blocked by an obstacle (such as another route or component), the router identifies the obstacle and determines how it can be moved or modified to accommodate the new connection.
-
Push and Shove: The router then “pushes” the obstacle out of the way by modifying its path, while simultaneously “shoving” any adjacent routes to maintain proper spacing and avoid design rule violations. This process may involve a chain reaction of pushes and shoves, as the modification of one route can affect others in the vicinity.
-
Optimization: After the initial push and shove operations, the router performs an optimization pass to fine-tune the modified routes, ensuring that they are as efficient and reliable as possible.
-
Verification: Finally, the router verifies that the new routing solution meets all design rules and constraints, such as minimum spacing, maximum length, and signal integrity requirements.
The push-shove routing process is highly iterative and may involve multiple passes to achieve the best possible result. Modern push-shove routers use advanced algorithms and heuristics to minimize the number of iterations required and to find the optimal solution quickly.

Advantages of Push-Shove Routing
Push-shove routing offers several significant advantages over traditional routing methods:
-
Increased Routing Density: By intelligently modifying existing routes to accommodate new connections, a push-shove router can achieve higher routing density than other methods. This is particularly important for complex designs with limited space, such as high-density PCBs or ICs.
-
Improved Signal Integrity: Push-shove routers consider factors such as crosstalk, impedance matching, and length matching when modifying routes, ensuring that the final routing solution maintains high signal integrity. This is crucial for high-speed designs where signal quality is paramount.
-
Faster Design Cycles: With its ability to quickly find optimal routing solutions, a push-shove router can significantly reduce the time required for the routing phase of the design process. This allows designers to iterate more quickly and bring products to market faster.
-
Reduced Manual Intervention: Traditional routing methods often require significant manual intervention to resolve conflicts and optimize paths. A push-shove router automates much of this process, reducing the need for manual editing and allowing designers to focus on higher-level tasks.

Applications of Push-Shove Routing
Push-shove routing is used in a wide range of electronic design applications, including:
-
PCB Design: High-density PCBs, such as those used in smartphones, wearables, and IoT devices, rely on push-shove routing to achieve efficient and reliable interconnects between components.
-
IC Design: Modern ICs, particularly those used in high-performance computing and communications applications, require advanced routing techniques like push-shove routing to ensure optimal signal integrity and power efficiency.
-
Packaging Design: Push-shove routing is also used in the design of IC packages, such as ball grid arrays (BGAs) and chip-scale packages (CSPs), to route signals between the chip and package pins.
-
Flex and Rigid-Flex PCBs: Flexible and rigid-flex PCBs, which are used in applications that require bending or folding, benefit from push-shove routing’s ability to optimize path lengths and minimize stress on the interconnects.
Implementing Push-Shove Routing
Most modern EDA tools, such as Cadence Allegro, Mentor Graphics Xpedition, and Altium Designer, include push-shove routing capabilities as part of their PCB and IC design suites. These tools typically offer a range of configuration options to allow designers to fine-tune the router’s behavior for their specific needs.
When implementing push-shove routing, designers should consider the following best practices:
-
Define Design Rules: Clearly define the design rules and constraints for the project, including minimum spacing, maximum length, and signal integrity requirements. This will help the push-shove router find the best possible solution while adhering to the necessary guidelines.
-
Prioritize Critical Nets: Identify the most critical nets in the design, such as high-speed signals or power nets, and assign them higher priorities in the router’s settings. This will ensure that these nets are routed first and with the highest quality.
-
Use Constraints and Guide Lines: Utilize the EDA tool’s constraint management features, such as guide lines and keep-out areas, to provide additional guidance to the push-shove router. This can help the router find more optimal paths and avoid potential issues.
-
Iterate and Refine: Push-shove routing is an iterative process, and designers should expect to run multiple passes to achieve the best possible result. After each pass, review the routing solution and make adjustments to the constraints or priorities as needed.
Future Trends in Push-Shove Routing
As electronic designs continue to increase in complexity and density, push-shove routing algorithms will need to evolve to keep pace. Some of the key trends and developments in push-shove routing include:
-
Machine Learning-Based Optimization: The integration of machine learning techniques, such as deep learning and reinforcement learning, into push-shove routing algorithms can potentially lead to more efficient and intelligent routing solutions.
-
Multi-Physics Simulation: The incorporation of multi-physics simulation, which takes into account factors such as thermal, mechanical, and electromagnetic effects, can help push-shove routers create more robust and reliable routing solutions.
-
3D Routing: As 3D IC and PCB technologies become more prevalent, push-shove routers will need to adapt to handle the additional complexity of routing in three dimensions.
-
Cloud-Based Collaboration: The development of cloud-based EDA tools that enable real-time collaboration between design teams can help streamline the push-shove routing process and improve overall design efficiency.
Frequently Asked Questions (FAQ)
-
What is the difference between push-shove routing and traditional routing methods?
Traditional routing methods, such as maze routing and line-probe routing, focus on finding the shortest path between two points without considering the impact on existing routes. Push-shove routing, on the other hand, intelligently modifies existing routes to accommodate new connections while minimizing the overall disturbance to the layout. -
Can push-shove routing be used for both PCB and IC design?
Yes, push-shove routing is widely used in both PCB and IC design. In fact, push-shove routing is particularly valuable in IC design, where the high density of components and interconnects makes efficient routing a critical challenge. -
How does push-shove routing handle design rule violations?
Push-shove routers are designed to avoid design rule violations by considering factors such as minimum spacing, maximum length, and signal integrity requirements when modifying routes. If a potential violation is detected, the router will attempt to find an alternative solution that satisfies all constraints. -
Is push-shove routing fully automated, or does it require manual intervention?
While push-shove routing automates much of the routing process, some manual intervention may still be required to fine-tune the results or resolve complex routing scenarios. However, compared to traditional routing methods, push-shove routing significantly reduces the amount of manual effort needed. -
What are the system requirements for running push-shove routing algorithms?
The system requirements for running push-shove routing algorithms vary depending on the complexity of the design and the specific EDA tool being used. In general, push-shove routing is computationally intensive and may require a high-performance workstation with a fast CPU, ample RAM, and sufficient storage space.
Conclusion
Push-shove routing is a powerful and essential tool for designers and engineers working on complex PCB and IC projects. By intelligently modifying existing routes to accommodate new connections, push-shove routers can achieve higher routing density, improved signal integrity, and faster design cycles compared to traditional routing methods.
As electronic designs continue to evolve in complexity and density, the importance of push-shove routing will only continue to grow. By staying up-to-date with the latest trends and best practices in push-shove routing, designers can ensure that their projects are optimized for performance, reliability, and efficiency.
Routing Method | Key Features | Advantages | Disadvantages |
---|---|---|---|
Maze Routing | Finds the shortest path between two points using a grid-based approach | Simple to implement, guaranteed to find a path if one exists | Does not consider the impact on existing routes, may lead to suboptimal results |
Line-Probe Routing | Uses a line-based approach to find the shortest path between two points | More efficient than maze routing, can handle obstacles and design rules | Still does not consider the impact on existing routes, may require significant manual intervention |
Push-Shove Routing | Intelligently modifies existing routes to accommodate new connections while minimizing overall disturbance | Achieves higher routing density, improves signal integrity, reduces manual intervention | Computationally intensive, may require multiple iterations to achieve optimal results |
No responses yet