The sea-of-gates router is able to take an arbitrary set of unrouted arcs and convert them to layout.
To do this, use the Sea-Of-Gates Route this Cell command (in menu Tools / Routing).
If there are unrouted arcs selected, these will be the only ones converted.
Otherwise, all unrouted arcs in the cell will be converted.
If sub-cells below the current cell need to be routed, use Sea-of-Gates Route Sub-Cells.
The router has many features that can be controlled by the Routing Preferences
and by cell-specific properties.
Routing Preferences
The Routing Preferences (in menu File / Preferences..., "Tools" section, "Routing" tab)
has these options:
- Maximum arc width lets you set the maximum width of a route segment.
By default, each segment is made as wide as the widest arc already connected to that segment.
However, sometimes there are very wide arcs, and the connecting routes should not be that wide.
By setting the maximum width, this limits the size of generated layout.
- Search complexity limit sets the maximum number of steps that
the router will take to find a route.
The larger the value, the longer the router will run before it gives up.
- Do Global Routing requests that a global routing preprocessing step be done
to plan the path of each route.
Global routing divides the cell into a grid, and forces each routes to run in certain grid squares.
This distributes congestion uniformly and can give better routing results.
- Rerun routing with failed routes requests that the router run again
after it finishes in an attempt to complete those routes that failed the first time.
- Use two processors per route tells the router to use two threads for each route
(one tries to run a path from end 1 to end 2, the other tries to run a path from end 2 to end 1).
The thread that completes first terminates the other thread.
When not checked, the router alternates steps in the two directions, stopping when one of
the directions reaches its goal.
Because the router is able to follow both directions in a single thread,
this preference is not advised (it is better to use multiple processors for the next option,
which runs multiple routes in parallel).
However, on many-core systems, where there is excess computation power, this preference may be desirable.
- Do multiple routes in parallel attempts to use as many processors as possible
to run multiple routes at once.
- Forced processor count tells the router to ignore the actual number of processors
on the machine and to use an appropriate number of threads for the processor count specified here.
Set the value back to zero to remove the override.
Cell Properties
Users can set cell-specific properties that control how a particular cell is routed.
Use the Sea-Of-Gates Cell Properties... command in the Tools / Routing menu to control this.
The upper part of the dialog controls routing properties for the entire cell.
- Horizontal/Vertical Layer Properties controls the placement of alternating layers
for horizontal and vertical wires.
You can choose whether odd-numbered arcs are horizontal or vertical.
You can also choose to ignore the alternating layers requirement.
- Do not make Steiner Trees (already done) Before routing begins, the unrouted arcs
are reorganized so that daisy-chains
(multiple arcs on a single network that connect more than two ports) run in the most efficient way.
This efficient path is called a "Steiner Tree".
If you believe that the routes are already optimized, you can request that this step be skipped.
|  |
The lower part of the dialog controls individual layers in the cell.
It lets you disable the use of any layer, or favor it above others.
It also lets you set a grid for placement of the layer.
- Avoid layer use disallows the use of a layer in the routing.
- Favor layer requests that the router use a layer more often.
- Grid controls layer grids, which can be Fixed (with a spacing and an offset)
or Arbitrary (with multiple grid coordinates).
When editing arbitrary grids, icons on the right let you create new grid coordinates, delete existing ones,
and even draw the location on the screen.
- Show draws the grids on the cell to help you see where the grids actually are.