Magic VLSI Layout Tool Version 8.3 *

iroute


Do interactive point-to-point routing from the pointer cursor to the cursor box

Usage:

iroute option

where option may be one of the following:
contacts [type] [parameter] [value...]
Set route-contact parameters. parameter may be one of the following keywords:
active
width
cost
help [option_name]
Summarize iroute subcommands
layers [type] [parameter] [value...]
Set route-layer parameters. parameter may be one of the following keywords:
active
width
hCost
vCost
jogCost
hintCost
route node_name...
Connect point to named node(s)
route option...
Connect points as specified in the options. option my be one of the following:
-dbox
Route to the area of the cursor box.
-dlabel node_name
Route to the destination network named node_name. The name may be hierarchical, specifying a labeled node in a nested list of subcell instances.
-dlayers layer_list
Force the route to end on of one the layers in the comma-separated list.
-drect llx lly urx ury
Force the route to end within the designated rectangular area.
-dselection
Force the route to end on the area of selected paint.
-scursor
Start the route at the cursor position.
-slabel node_name
Route from the start network named node_name. The name may be hierarchical, specifying a labeled node in a nested list of subcell instances.
-slayers layer_list
Force the route to start on one of the layers in the comma-separated list.
-spoint px py
Start the route at the indicated point.
-timeout value
If the maze router is unable to find a valid route, it may wander off into an indefinitely long search. The search can be interrupted by typing a control-C into the calling terminal, but one can also specify a timed break using the timeout option, where value is in seconds. Typically, 4 or 5 seconds is a useful value.
By far, the most useful and most common invocation is "iroute route -slabel sname -dlabel dname" to route between two named pins.
Write out all irouter parameters. These are written out as command calls so they can be read back with the Tcl source command.
search rate|width
Set parameters controlling the internal search for routes
spacings type
Set minimum spacing between route-type and arbitrary type
verbosity level
Control the amount of messages printed
version
Identify irouter version
wizard parameter
Set miscellaneous parameters. parameter may be one of the following keywords:
bloom
boundsIncrement
estimate
expandDests
penalty
penetration
window

Summary:

The iroute command invokes Magic's maze router algorithm. This is a point-to-point, over-the-cell algorithm based on costs specified in the technology file's "mzrouter" section, style "iroute". It is not a channel router, and will select the best path to connect the chosen start and destination nodes, using whatever layers are specified as active in the technology file, switching layers and adding contacts as necessary, and avoiding obstacles. The quality of the route is highly dependent upon both the existing layout and the cost specification.

Special layer types "fence", "rotate", and "magnet" are built-in types available in all technologies. Painting the "fence" layer creates a boundary inside of which Magic will not route. Under a block of "rotate" layer paint, Magic will reverse the vertical and horizontal costs of all layers. If the technology file specifies unbalanced horizontal and vertical costs, for example to tend to force horizontal routes in metal2 and vertical routes in metal3, then areas painted with "rotate" will tend to get horizontal routes in metal3 and vertical routes in metal2.

Implementation Notes:

iroute is implemented as a built-in command in magic.

See Also:

route
garoute

Return to command index

Last updated: March 7, 2020 at 1:06pm