Which routing guide do you use for which problem?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Routing guides steer Zroute in an area without forbidding routing outright. Use preferred-direction-only or switch-preferred-direction guides to control direction, max-patterns guides to limit non-preferred-direction edges, track utilization guides to control density, access preference guides to prioritize areas, and river routing guides for tight channels. Zroute honours them, but they are softer tools than blockages.
Technical Explanation
-preferred_direction_onlymakes all nets in the boundary route only in each layer's preferred direction, which stops wrong-way jogs in a sensitive area.-switch_preferred_directionswaps the preferred direction inside the boundary. It is useful over macros to reduce detours. Where it overlaps a preferred-direction-only guide, the switch guide wins, and it also overrides the layer'srouting_directionattribute there.-max_patternslimits how many times a pattern appears in the boundary. The only supported pattern isnon_pref_dir_edge, and the layers you list in-layersmust match those in-max_patterns.-horizontal_track_utilizationand-vertical_track_utilizationcap the percentage of tracks the router may use in the area. The default is 100%.-access_preferencesets the strength of preferred areas for wires or vias, from 0 to 1. A strength of 1 is a hard requirement; once one is set, every access preference area with a strength below 1 is ignored.-river_routingencourages routes to follow a contour on a single layer, useful in tight channels where orderly parallel routes use space best.- Pin access routing guides are a separate, derived type, created with
derive_pin_access_routing_guidesfor hard macro pins. - Guides are honoured by Zroute but not by the Advanced Route tool, and a routing corridor wins over a guide if their settings conflict.
What To Check
get_routing_guides *lists every guide in the block, so nothing is left over from an old floorplan.- Routing density and DRCs inside and around each guide after detail routing.
- Wrong-way segments and DRCs inside direction guides after detail routing.
- Overlaps between guides, and which one takes precedence.
Command Checks & Actions
create_routing_guide -boundary {{0 0} {100 100}} -layers {M4} -preferred_direction_onlyForces preferred-direction routing on M4 inside the area.
create_routing_guide -boundary {{0 0} {100 100}} -layers {M1 M2} -switch_preferred_directionSwaps the preferred direction of M1 and M2 inside the area.
create_routing_guide -boundary {{0 0} {100 100}} -horizontal_track_utilization 50 -vertical_track_utilization 30Limits track usage to 50% horizontally and 30% vertically in the area.
get_routing_guides *Returns every routing guide in the block so you can review them before routing.
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): Each guide exists for a named reason, the area it covers is clean after routing, and no DRC cluster moved next to it.
- Suspicious (illustrative): A utilization guide that pushed crowding and DRCs to the edge of its boundary.
- Hard stop: Guides left over from an old floorplan that no longer match the macros they were drawn for.
Common Mistake
The Trap: Using a switch-preferred-direction guide over a large area to relieve horizontal congestion. The guide turns vertical layers horizontal inside it, and vertical capacity collapses there. Vertical overflow appears where there was none, and the block ends up worse.
What The Interviewer Is Testing
- Whether you match each guide type to a concrete problem.
- Do you know the precedence rules between guides and corridors?
- A strong answer shows you treat guides as scoped fixes, not global settings.
Follow-up Question & Model Response
"When would you choose a utilization guide over a routing blockage?"
Candidate Model Response: When routing in the area is allowed but you want less of it. A blockage removes the layer completely, which can block pins and push every net around the area. A utilization guide at, say, 50% still lets nets through but spreads them out, which helps crosstalk, local DRC density or a region you want to keep lightly routed. Use a blockage only when nothing may route there.
Practical Example
Tapeout Scenario: Over a 200 um wide SRAM (illustrative), M2 and M3 are blocked by the macro, while M4 and M5 pass overhead. Nets crossing the macro keep making wrong-way jogs on M4 and M5 near its edges and causing DRCs. The engineer adds a preferred-direction-only guide on M4 and M5 over the macro, which removes the wrong-way jogs, and a 60% horizontal utilization guide on the congested strip just below the macro. The utilization guide is a soft constraint for the router and does not change the global routing capacity numbers, but after detail routing the strip is visibly less crowded and DRCs at the macro edge fall from 140 to 9.
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Continue practising