BoxRouter: A New Global Router based
on Box Expansion and Progressive ILP
 |
Work in progress.
Last updated: Dec. 16, 2006 |
Contents
I.
Introduction
BoxRouter is a new global router powered by the concept of box expansion
and progressive integer linear programming (ILP). It spreads out the congestion
from the most congested region to less congested regions by incrementally
performing BoxRouting. It also provides smooth control over radeoff between
wirelength and routability without Ripup&Reroute. Details are in [1].
Our experimental results show that BoxRouter
significantly outperforms the state-of-the-art published global routers, e.g.,
91% better routability than
Labyrinth (with 14.3%
shorter wirelength and 3.3x speedup), 79% better routability than
Chi Dispersion Router
implemented in Fengshui (with similar wirelength and 2x speedup), 4.2% less
wirelength and 16x speedup than
multicommodity flow-based global router (with similar routability). Given
the fundamental importance of routing, such dramatic improvement shall sparkle
renewed interests in routing which plays a key role in nanometer design and
manufacturing closure.
II.
Code Release
The current BoxRouter is available only as a form of a binary. Note that the
BoxRouter is using Flute
algorithm to build steiner trees, and a part of original/modified data file for
flute is provided here together. Also,
GNU Linear Programming Kit
(glpk-4.8) is used as ILP solver. This package contains the following files:
br.tar.gzbr.x
-- The BoxRouter binary. It is tested on Debian GNU/Linux and RedHat
Enterprise Linux WS on Intel Xeon platform.
my_port.bin
-- The replacement of PORT9.dat in Flute which is essentially a look-up table.
POWV9.dat
-- The lookup-table of optimal POWVs up to degree 9 in Flute.
chk.pl
-- A PERL script to verify/analyze the global routing result from the BoxRouter
run_k_15.pl
-- A PERL script to regenerate the results in [1]
run_k_b.pl
-- A PERL script to regenerate the results in [1]
ibm_k_15.tar.gz -- Routing results from run_k_15.pl
ibm_k_b.tar.gz -- Routing results from
run_k_b.pl
ibm.tar.gz
-- ISPD98 IBM benchmark in Labyrinth format for gloabl routing. Also available in
Labyrinth
III.
Output FormatThis output format is
slightly different from the original BoxRouter format, but more intuitive and
suitable for ISPD07 global routing contest, as the original one has some
redundant and unnecessary information as well. A simple PERL script to evaluate
the routing solution can be found here.
- format
net[net NAME from the input] [net ID from the input] [# of routes]
([x11],[y11])-([x12],[y12])
([x21],[y21])-([x22],[y22])
...
...
!
- example from net10122 in ibm01.modified.txt
(from original
Labyrinth
format)
net10122 3 6 //a net with
name "net10122" has net ID *3* and is routed with *6* routes
(21,61)-(21,62) //the 1st route
is from (21,61) to (21,62)
(23,61)-(23,62)
(21,62)-(23,62)
(23,62)-(25,62)
(17,61)-(18,61)
(18,61)-(21,61) //the last route
is from (18,61) to (21,61)
! //this
means the end of routes for the net. please put this to make PERL
script happier.
- note
All the routes in the output should be either horizontal or
vertical. For example (18,61)-(19,62) is not acceptable, as it is
diagonal. Remember that each route should be different only either
in x locations or in y locations. Also, It is assumed that all the
nets are written in the output file in the same order as the input
file.
IV.
Literature
[1] Minsik Cho and David Z. Pan , "BoxRouter:
A New Global Router Based on Box Expansion and Progressive ILP", Proc.
Design Automation Conference (DAC), July, 2006
กก
V.
License
READ THIS LICENSE AGREEMENT CAREFULLY BEFORE USING THIS PRODUCT. BY USING THIS
PRODUCT YOU INDICATE YOUR ACCEPTANCE OF THE TERMS OF THE FOLLOWING AGREEMENT.
THESE TERMS APPLY TO YOU AND ANY SUBSEQUENT LICENSEE OF THIS PRODUCT.
License Agreement for BoxRouter
Copyright (c) 2006, 2007 by Minsik Cho, David Z. Pan
All rights reserved
ATTRIBUTION ASSURANCE LICENSE (adapted from the original BSD license)
Redistribution and use in binary forms, with or without modification, are
permitted provided that the conditions below are met. These conditions require a
modest attribution to Minsik Cho and Dr. Daivd Z. Pan (the "Author").
- Redistributions of the any code, with or
without modification (the "Code"), must be accompanied by any documentation
and, each time the resulting executable program or a program dependent
thereon is launched, a prominent display (e.g., splash screen or banner
text) of the Author's attribution information, which includes:
(a) Minsik Cho and Dr. David Z. Pan ("AUTHOR"),
(b) The University of Texas at Austin ("PROFESSIONAL IDENTIFICATION"), and
(c) http:://www.cerc.utexas.edu/utda/ ("URL").
กก
- Users who intend to use the Code for
commercial purposes will notify Author prior to such commercial use.
- Neither the name nor any trademark of the
Author may be used to endorse or promote products derived from this software
without specific prior written permission.
- Users are entirely responsible, to the
exclusion of the Author and any other persons, for compliance with (1)
regulations set by owners or administrators of employed equipment, (2)
licensing terms of any other software, and (3) local, national, and
international regulations regarding use, including those regarding import,
export, and use of encryption software.
THIS FREE SOFTWARE IS PROVIDED BY THE AUTHOR "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR ANY CONTRIBUTOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, EFFECTS OF UNAUTHORIZED OR MALICIOUS NETWORK
ACCESS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
กก