Contents

Summary

This dialog allows the designer to fully define a routing strategy for the Situs Autorouter, including its constituent routing passes (algorithms). The inclusion of various routing passes and the order in which they are used constitutes the Autorouter's 'intelligence'. These passes are used to turn the virtual routing paths identified in the topological map, into high-quality routes on the board.

Access

The dialog is accessed from the PCB Editor, through the Situs Routing Strategies dialog, in the following ways:

Clicking the Add button.

Selecting an existing, and user-defined, routing strategy and clicking the Edit button.

The Situs Routing Strategies dialog is accessed using either the Tools | AutoRoute |» Setup command, or the Tools | AutoRoute |» All command, from the main menus.

Options/Controls

Options

Strategy Name - the current name for the strategy. If creating a new routing strategy, this field will contain the default entry New Strategy. Edit to give a more meaningful name as required.

Strategy Description - the current description for the strategy. Enter a meaningful description that summarizes the purpose, or scope, of the strategy.

More/Less Vias - use this slider bar to define permitted via usage by the Autorouter. This is a trade-off between greater routing speed and the use of fewer vias. Moving the bar to the right will constrain the Autorouter to place less vias, but the time taken to route the board will be greater. Moving the bar to the left achieves faster routing completion times, but at the expense of extra vias placed by the Autorouter on the PCB.

Orthogonal - enable this option to constrain the Autorouter to routing orthogonal (90°) paths only. Disabling this option allows the Autorouter to route orthogonally or non-orthogonally (45°) as it sees fit.

Routing Passes

Available Routing Passes - this area lists the available routing passes (algorithms) that can be used in a routing strategy. The following passes are available:

Adjacent Memory - this is a connection-level routing pass. It is used to route adjacent same-net pins requiring fan-out, with a simple U pattern.

Clean Pad Entries - this is a connection-level routing pass. It reroutes out from each pad centre along the longest axis of the pad.

For designs that include components with pads that have different X and Y dimensions, always include a Clean Pad Entries pass after the Memory pass.

Completion - this is a connection-level routing pass. It is essentially the same as the Main pass, costed differently to resolve conflicts and complete difficult connections. Examples of costing differences include vias being cheaper and wrong-way routes being dearer.

Fan out Signal - this is a component-level pass, based on the fanout settings defined by the Fanout Control. It checks for patterns in pads, considers clearance, routing width and via style, then selects a suitable fan out arrangement (inline row, staggered, etc) to meet the requirements defined in the design rule. Fanout is to signal layers only.

Fan out to Plane - this is a component-level pass, based on the fanout settings defined by the Fanout Control. It checks for patterns in pads, considers clearance, routing width and via style, then selects a suitable fan out arrangement (inline row, staggered, etc) to meet the requirements defined in the design rule. Fanout is to an internal plane layer only.

Globally Optimised Main - this is a connection-level routing pass. It provides optimal routing. It ignores contentions/violations on its first iteration. It then reroutes connections, with increased conflict costs, until there are no violations remaining. This pass, used in conjunction with the Orthogonal option enabled, can produce nicely routed patterns. Add a Recorner pass to the strategy to provide mitered cornering.

Hug - this is a connection-level routing pass that reroutes each connection, following existing routing with the minimum clearance possible. The hug pass is used to maximize free routing space. Note that this pass is very slow.

Layer Patterns - this is a connection-level routing pass. It only routes connections that match a layer direction (within a tolerance). It is costed to hug or follow existing routing to maximize free space.

Main - this is a connection-level routing pass. It uses the topological map to find a routing path, then uses the push and shove router to convert the proposed path to actual routing.

Memory - this is a connection-level routing pass. It checks for two pins on different components on the same layer that share X or Y coordinates.

Multilayer Main - this is a connection-level routing pass. It is similar to the Main pass, but with costs optimized for multilayer boards.

Recorner - this is a connection-level routing pass that is used to provide mitering of routed corners. This pass is used when the Orthogonal option is enabled for the strategy - essentially overriding it and mitering the corners of each route. If the Orthogonal option is disabled for the strategy being used, there is no need to include a Recorner pass as the autorouter will miter corners by default.

Spread - this is a connection-level routing pass that reroutes each connection, attempting to spread the routing to use free space and equally space routing when it passes between fixed objects (such as component pads). Note that this pass is very slow.

Straighten - this is a connection-level routing pass that attempts to reduce the number of corners. It does this by walking along the route to a corner, then from that corner performs a (horizontal/vertical/45up/45down) probe searching for another routed point on the net. If one is found, it then checks to see if this new path reduces the routed length.

Only one main-type pass should be specified for a routing strategy - either Main, Multilayer Main, or Globally Optimized Main.

Passes in this Routing Strategy - this area lists the actual routing passes (algorithms) included in the strategy. You can add whatever passes you wish, from the list of available passes, and multiple instances of the same pass may be added throughout the overall strategy to achieve specific results. Passes will be executed, in order, from the top down. This order can be modified using the Move Up and Move Down buttons.

Add - click this button to add the currently selected pass, in the Available Routing Passes list, to the Passes in this Routing Strategy list. The pass will be added above the currently selected pass in the latter.

Remove - click this button to remove the currently selected pass, in the Passes in this Routing Strategy list, from the strategy.

Move Up - click this button to move the currently selected pass, in the Passes in this Routing Strategy list, upward in the list. In other words, it will be used earlier in the routing strategy.

Move Down - click this button to move the currently selected pass, in the Passes in this Routing Strategy list, downward in the list. In other words, it will be used later in the routing strategy.

Notes

A defined routing strategy, and its constituent routing passes contained therein, is only applied when routing the entire board.