作者yellowfishie (喵喵喵喵~~~)
看板NTUGIEE_EDA
標題[研究] ISPD 2007 Global Routing Contest
時間Mon Jan 1 16:29:26 2007
ISPD 2007 Global Routing Contest
http://www.ispd.cc/ispd07_contest.html
Continuing the tradition of spirited competition, the ISPD 2007 Steering
Committee is pleased to announce a global routing contest. Like the prior
placement contests, a set of benchmarks will be released; teams are invited
to produce global routing solutions, with the best results winning fame,
recognition, and prizes too.
The global routing solutions will be evaluated on the following metrics:
Number of completed designs with zero overflow. Each benchmark will have a
number of edges between global routing tiles; each of these edges will have a
capacity. All nets must be routed within the global routing graph, with no
graph edge exceeding the specified capacity.
Minimum wire length. If two routing solutions achieve the same capacity
constraint, wire length will break ties.
The input file format for the contest is a variation on the Labyrinth format.
The files will be ordinary ASCII text, specifying the size and shape of the
global routing graph, the capacity on edges of the graph, the number of
signal nets, and the number of pins and their positions within each net. The
file format has been designed to make parsing easy. The output file format
will be a variation of the BoxRouter format.
Details on registration for the contest and submission of results will be
posted shortly. A description of the input format is given below.
--------------------------------------------------------------------------------
The file format for the global routing contest is illustrated, with comments
in italics (these will not be in actual input files). This example
illustrates a problem with five routing layers (note the number of # marks on
the vertical and horizontal capacity lines).
grid # # # (x grids, y grids, number of layers)
vertical capacity # # # # # (vertical capacity by default on each layer)
horizontal capacity # # # # #
minimum width # # # # #
minimum spacing # # # # #
via spacing # # # # #
lower_left_x lower_left_y tile_width tile_height
num net #
netname id_# number_of_pins minimum_width
x y layer
x y layer
...
[repeat for the appropriate number of nets]
# capacity adjustments (to model contestion)
column row layer column row layer reduced_capacity_level
[repeat for the number of capacity adjustments]
There are a number of changes from the Labyrinth format:
The number of routing layers is specified; the Labyrinth format assumes a
single routing plane. This change was made to allow layer assignment to be
performed during global routing.
Each layer may have a unique capacity in each direction per global routing
tile, and it may be different for horizontal and vertical directions.
Preferred routing directions will be given by having a zero capacity in the
non-preferred direction. In the vertical and horizontal capacity lines, the
first number indicates the capacity on the first layer, the second number the
second layer, and so on. Minimum wire widths and minimum wire spacings are
also specified; this impacts capacity calculations.
The lower left corner (minimum X and Y) of the global routing region is
specified, as well as the width (X dimension) and height (Y dimension) of
each tile. Additionally, pin positions are given as XY locations, rather than
tile locations. This change was motivated so that a detail routing contest
based on these benchmarks could be performed in the future. Conversion from
pin positions to tile numbers can be done with (pin_x -
lower_left_x)/tile_width and (pin_y - lower_left_y)/tile_height. Pins will
not be on the borders of global routing cells, so there should be no
ambiguity. All pins will be within the specified global routing region.
Each net will have a minimum routed width; this width will span all layers.
When routing, compute the utilization of a global routing graph edge by
adding the widths of all nets crossing and edge, plus the minimum spacing
multiplied by the number of nets. This is more complex than the Labyrinth
model, but more accurately reflects modern routing challenges. Each wire will
require spacing between it's neighbors; think of this as having one-half of
the minimum spacing reserved on each side of a wire.
Congestion is modeled by including capacity adjustments. In the global
routing benchmarks, there may be obstacles, or pre-routed wires. To
communicate this to the global router, pairs of (adjacent) global routing
tiles may have a capacity that is different from the default values specified
at the start of a benchmark file.
Calculation of capacity is more complex than is done in typical academic
global routing tools; our objective is to raise the bar slightly. Each global
routing tile will have a capacity; this is a measure of the available space,
not the number of global routing tracks. If the minimum wire width is 20, the
minimum spacing 10, and the capacity of a tile is given as 450, this
corresponds to 15 minimum width tracks (15 * (20 + 10)) . The capacity
specified as the default value may be different than the width or height of a
tile: in general, it is desirable to have routing utilization of a tile be
below 70% of capacity, as higher values are difficult for detail routers to
complete.
http://www.ispd.cc/ispd07_contest.html
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.5.65
推 Donnie:Go!! 01/01 17:39
推 yellowfishie:老闆:一個禮拜內組隊,實驗室需要給你什麼support? 01/02 10:06
推 yellowfishie:OS: 不要再assign額外的工作給我就行了 = = 01/02 10:07