next up previous contents index
Next: Database commands: setcost Up: The database commands Previous: Database commands: reset   Contents   Index


Database commands: set

Syntax: set [paramname [value]]

The set command is used to set or query values for parameters used by the database and router. If no further arguments are given, a list of the parameters and their present values is printed. If a parameter name is given but no value, that parameter name and its current value (or its default) will be printed. Otherwise, the parameter whose name is given will be set to the given value.

The known parameters are as follows.

debug The value is a hex number whose bits are flags that turn on various debugging options. Presently undocumented.

verbose
This sets or displays the verbosity level for messages emitted by the database and router. If no value is given, the present verbosity level is printed. This is an integer in the range 0-4, where 4 is the most verbose. The value should otherwise be an integer in this range. The default verbosity is 0.

global
Up to six ``global'' nets can be specified. These are usually power or ground nets, to be treated specially by the router. Values are space-separated net names, which when specified are added to the internal list of global nets incrementally. That is, multiple calls can be made to define the global nets, or equivalently all of the global nets can be listed for a single call. The internal list can be cleared with set clear global. If no net names are given, the current global net name list is printed.

vdd
This is for Qrouter compatibility, for setting the name of the power net. This is actually equivalent to global.

gnd
This is for Qrouter compatibility, for setting the name of the ground net. This is actually equivalent to global.

layers
The value is an integer that represents the number o layers that the router will use. This can be set to a number less than or equal to the number of layers that have been defined (from LEF or technology input). For example, if given a value 4, only the first 4 routing layers defined will be used by the router. If no number is given, the number of layers that the router would use is printed.

maxnets
The value is the maximum number of nets allowed in a design. This can be set to limit the number of nets accepted for routing by the router. Jobs with too many nets will be rejected. If no number is given, the current maximum is printed.

lefresol
The value is the LEF resolution, as is normally provided in a LEF file. Acceptable values (from the LEF specification) are 100, 200, 400, 800, 1000, 2000, 4000, 8000, 10000, 20000. The internal coordinates use this many points per micron. The resolution is 100 if not otherwise given. If not given, the current value is printed. Otherwise, the resolution may be set to the value given, however once the LEF resolution is set, whether by LEF file or this keyword, it can not be changed except by resetting the database.

mfggrid
The value is the manufacturing grid usually obtained from a LEF file. It is provided as a real number in microns. The value must be exactly representable in the LEF resolution, and will quantize coordinate values. The value can be 0, in which case no manufacturing grid will be used, which is the default. If no value is given, the present manufacturing grid, in microns, is printed.

definresol
The value is the resolution as normally read from a DEF file. Acceptable values are as listed for lefresol, and furthermore the value must exactly divide the lefresol. The resolution is 100 if not otherwise given. If not given, the current value is printed. Otherwise, the resolution may be set to the value given, however once the DEF input resolution is set, whether by DEF file or this keyword, it can not be changed except by resetting the database.

defoutresol
The value is the resolution used when writing DEF files with write def, which defaults to the definresol. Setting to 0 clears the overriding. If no valueis given, the present DEF output resolution override is printed.

netorder
The value can be set to one of the following integer values. It controls the order in which nets are routed.
]item0
Use the default ordering, where nets with the most taps are routed first.
1
Use alternate ordering, where the nets with the largest minimum box containing taps are routed first.
2
Retain the ordering as nets were defined.
If no value is given, the present ordering enumerator is printed.

passes
The value is an integer that is the maximum number of attempted passes of the route search algorithm, where the routing constraints (maximum cost and route area mask) are relaxed on each pass. The default number of passes is 10. With no value, the maximum number of passes is printed. Otherwise, a positive integer is expected for the value.

increments
The value is a list of positive integers, each giving the incremental halo width in the routing mask for the corresponding routing pass. The mask is used to limit the area where a route can be implemented. On each pass, this area is expanded by the corresponding increments value. The final increments value is used for any subsequent passes. The default is effectively the single integer ``1'', so that the masking area is bloated by one channel on each pass. If no integers are given, the internal list of increments is printed.

via_stack
The value sets the maximum number of vias that may be stacked directly on top of each other at a single point. A value of ``none'' or ``0'' or ``1'' will disallow stacked vias. A value of ``all'' will allow all vias to be stacked (which is the default). Otherwise, the value should be an integer less than or equal to the number of via layers.

via_pattern
If vias are not square, then they are placed in a checkerboard pattern, with every other via rotated 90 degrees. If inverted, the rotation is swapped relative to the grid positions used in the non-inverted case. If the value is 0 or a word starting with ``n'', the pattern is not inverted. If the value is nonzero or a word starting with ``i'', the pattern is inverted.


next up previous contents index
Next: Database commands: setcost Up: The database commands Previous: Database commands: reset   Contents   Index
Stephen R. Whiteley 2017-02-17