GLROUTE(1ICD)

NAME
glroute - automatic/interactive global routing program

SYNOPSIS
glroute [-icp3fwasPm] [-g graphics] [-d device_name] [-n iterations] [-V vdd_name] [-G gnd_name] [-o outp_name] flp_cell_name [cir_cell_name]

OPTIONS
If the circuit cell name is not specified, the same name is used as the floorplan cell name.

One of the following options can be specified:

-i  Interactive mode.

-g  The name of a graphics terminal. The following graphics terminals are supported:
    apollo_15_color, hp2397, hp98700, hpgp, rast10. If this option is not specified, the graphics terminal is obtained from the environment variable TERM.

-d  The name of the output device.

-n  The number of compaction iterations desired (default 0). If this option is used, the placement will be modified locally according to the routing space needed. If -c option is set, -n option will not work.

-c  Read routing channels from the database. No channels are generated in the glroute. Use this option if channels are entered manually in ipp.

-p  Normally the power and ground nets are routed using a special strategy to guarantee that they do not cross each other. Power terminals on the left and bottom sides and ground terminals on the right and top sides on the instances are ignored. However, if the -p option is used, the power and ground nets are routed as ordinary nets.

-P  Also route power supply terminals on the bottom and left side of the cells and ground terminals on the top and right side of the cells. However these terminals are not guaranteed to be routed in metal.

-m  Prevent multiple connection of the same power terminal. This option implies the use of the '-f' option.

-3  Three layer routing option. Use this option when performing three layer routing (metal1, metal2 and poly).

-V  The power net name (default no VDD).

-G  The ground net name (default no GND).

-f  Using feedthroughs if needed. When this option is specified, the netlist of the cell instances are read in. Internally connected terminals are used to shorten the global wiring length. If two nets are connected via internally connected terminals, they are merged into one net.

-w  Using wirethroughs if needed. Similarly to the feedthroughs, however, the internally connected terminals do not belong to any net in the father cell. Every net may use these terminals, if they can shorten the wiring length.

-s  Print routing statistics after routing.

-a  Area optimization option. The cost function in the routing channels are optimized. It will take more CPU time, because a pre-routing is carried out.

-o  New output floorplan cell name (default is the input floorplan cell name).

DESCRIPTION
Glroute is a program that globally routes interconnections (nets) between the terminals of the given cell and the terminals on its son cells. The program can operate in an automatic mode or an interactive mode (when the -i or -g option is specified) It is used after the placement program ipp and before the detailed routing program sequ.

The global router consists of three major parts: compaction, global routing and channel generation and ordering.

At the compaction phase the blocks are moved locally in order to create the proper channel segment sizes. At this phase the global routing routine is used as a channel estimator. This step can be iterated several times by an user specified number. In this way more accurate (realistic) channel structure can be generated.

At the global routing phase, the nets are assigned to channel segments, including the power supply nets.

After the global routing decisions are made to group certain channel segments into channels and a proper channel routing order is generated.

Nets with no or one terminal are ignored. Terminals must be at the boundaries of the floorplan cell and the instances, otherwise they are ignored. Terminals at the corners of an instance are routed from the left or right side.

The "Route_rules" file is read by the global router. Normally it is installed under the "~cacd/lib/process" directory. However, users can overrule it by putting an own "Route_rules" file in the working directory.

Special net widths can be set in the "net_attr" file in the project directory, for example "net2 20" means that net net2 must be routed with width 20. Current consumption for a power terminal on a cell can be set in the "cell_attr" file in the project directory, for example "cell3 term5 25" means that terminal 'term5' on the cell with the cell name "cell3" requires 25 mA current.

EXAMPLE

% glroute -V vdd -G vss -o out_cell cell cir_cell
    It means globally route the cell with floorplan cell name "cell" circuit cell name "cir_cell". The output floorplan cell will be called "out_cell". Net "vdd" is the power net name and net "vss" is the ground net name.

AUTHOR
H. Cai

FILES
Technology files:
proj_dir/Route_rules      or
ICDPATH/lib/process/process_name/Route_rules
proj_dir/floorplan/cell/info (in/output file)
proj_dir/floorplan/cell/mc   (in/output file)
proj_dir/floorplan/cell/term (in/output file)
proj_dir/floorplan/cell/chan (in/output file)
proj_dir/circuit/cell/net    (input file)
proj_dir/layout/cell/info    (input file)
proj_dir/layout/cell/term    (input file)
net_attr
cell_attr

LIMITATIONS
At this moment only placement with slicing structures can be handled. This means that the cells must be partitioned by straight lines. If the placement is not a slicing structure, it must be modified manually using interactive functions.

SEE ALSO
H. Cai and P. Groeneveld, "Delft Placement and Routing System User's Manual", 1988, Delft University of Technology.
gcr(1ICD), ipp(1ICD), route_rules(3ICD), sequ(1ICD).