Rochester Institute of Technology
RIT Scholar Works
Theses
Thesis/Dissertation Collections
8-1-1993
Channel routing: Efficient solutions using neural
networks
Taj-ul Islam
Follow this and additional works at:
http://scholarworks.rit.edu/theses
This Thesis is brought to you for free and open access by the Thesis/Dissertation Collections at RIT Scholar Works. It has been accepted for inclusion in Theses by an authorized administrator of RIT Scholar Works. For more information, please [email protected].
Recommended Citation
CHANNEL ROUTING:
EFFICIENT SOLUTIONS
USING
NEURAL NETWORKS
A THESIS
SUBMITTED TO THE DEPARTMENT OF COMPUTER ENGINEERING
OF THE ROCHESTER INSTITUTE OF TECHNOLOGY
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF
MASTER OF SCIENCE IN COMPUTER ENGINEERING
By
Taj-ul Islam
Title of Thesis:
Channel Routing:
Efficient Solutions Using Neural Networks
I, Taj-ul Islam, hereby
grant permission to the Wallace Memorial Library of the
Rochester Institute of Technology to reproduce my thesis in whole or in part. Any
reproduction will not be for commercial use or profit.
I certify that I have read this thesis and that in Illy
opin-ion it is fully adequate, in scope and in quality, as a
thesis for the degree of Master of Science in Computer
Engineering.
Professor Tony Chang, Ph.D.
Department of Computer Engineering
(Principal Adviser)
I certify that I have read this thesis and that in my
opin-ion it is fully adequate, in scope and in quality, as a
thesis for the degree of Master of Science in Computer
Engineering.
Professor Peter G. Anderson, Ph.D.
Department of Computer Science
I certify that I have read this thesis and that in my
opin-ion it is fully adequate, in scope and in quality, as a
thesis for the degree of Master of Science in Computer
Engineering.
Abstract
Neural
network architectures areeffectivelyapplied tosolvethechannel routingproblem.
Algorithms
for both
two-layer and multilayer channel-width minimization, andconstrained via minimization are proposed and implemented.
Experimental
resultsshow that the proposed channel-width minimization algorithms are much superior
in
all respects compared to existing algorithms. The optimal two-layer solutions tomost ofthe
benchmark
problems, not previously obtained, are obtainedfor
thefirst
time,
including
an optimal solution to thefamous
Deutch'sdifficult
problem.The
optimal solution
in four-layers for
one of thebe
lchmark problems, not previouslyobtained, is obtained
for
thefirst
time.Both
convergence rate and the speed withwhich the simulations are executed are outstanding.
A
neural network solution tothe constrained via minimization problem is also presented.
In
addition, afast
andsimple linear-time algorithm
is
presented, possiblyfor
thefirst
time,
for
coloring ofAcknowledgements
I
wish to thankProfessor
Tony
Chang
for his
constant guidancein writing thisthesis,
and,
Professors R.
Czernikowski
andP. Anderson for
thoroughly
reading this thesis.I
am profoundly grateful to my wifeChin for her
unflaggingdevotion
and support.And,
to mydaughter
Roxanna,
I
wish to thankher
for her
cheerful countenance andContents
Abstract
iii
Acknowledgements
iv
1 Channel-
Width
Minimization
11.1
Introduction
11.2
Wiring
Models
51.3
The Vertical
Constraint Graph
10
1.4
The Horizontal
Constraint
Graph
111.5
Survey
of Channel-Width
Minimization
Algorithms
15
1.5.1
Two-layer Algorithms
15
1.5.2
Multilayer Algorithms
17
2
Application
ofNeural Networks
to Channel-Width Minimization
192.1
The Artificial Neuron
20
2.2
The Discrete Hopfield Network
24
2.3
The
Continuous
Hopfield
Network
25
2.4
The
Boltzmann
Machine
28
2.5
Previous Applications
ofNeural
Networks
to theChannel-WidthMin
imization Problem
342.5.1
Funabiki
andTakefuji's
Algorithm
37
2.5.2
Shih
andFeng's
Algorithm
412.6
Efficient Solutions
to theChannel-Width
Minimization ProblemUsing
Neural Networks
442.6.1
Benchmark
Problems
512.6.2
Application
of theDiscrete Hopfield Network
to theChannel-Width Minimization Problem
522.6.3
Application
of theBoltzmann
machine to the Channel-Width
Minimization Problem
612.6.4
The MaxNeuron Machine
70
2.6.5
The
Swap
Machine
72
2.6.6
Experimental Results
743
Via Minimization
Using
aNeural Network
843.1
A
Simple Neural Network Model for Via Minimization
86
3.2
A
Cluster
Graph
Approach
toVia Minimization
913.2.1
The Intersection
Graph
93
3.2.2
The
Cluster
Graph
97
3.2.3
The Max Cut Formulation
98
3.2.4 Experimental Results
98
4 Conclusions 103
List
of
Tables
2.1
Connection
Weights For Our Neural Network Models
502.2
Characteristics
oftheBenchmark
Problems 512.3
Characteristics
of aSimpler
Set
ofProblems
522.4
Feasible
tracksfor
theDeutsch's Difficult Problem
inTwo Layers
. . 552.5
Feasible Tracks for
theDeutsch's Difficult Problem for Four Layers
. 562.6
Experimental Results
ofRouting
With
theDiscrete Hopfield Network
582.7
Experimental Results
ofRouting
in
Four Layers
with theBoltzmann
Machine
642.8
Four-Layer Experimental
Resultsfor
theSeven Benchmark Problems
772.9
Performace
ofOur Machines
on someTwo-Layer Benchmark Problems
802.10 Comparison
ofOur Network
withShih
andFeng's Network
80
3.1
Experimental Results for Simple Via Minimization
89
List
of
Figures
1.1
A
Channel
for
Routing
ofNets
2
1.2
A Channel
Routing
Problem
Specification
41
.3Solution
of aSimple Channel
Routing
Problem
61.4
Use
ofDoglegs in
Breaking
Vertical Conflict Cycles
8
1.5
Doglegging
for
aNo-Doglegging
Algorithm
91.6
The Vertical Constraint Graph
101.7
The
NetOrder
Array
121.8
A Fast Track Assignment Algorithm
Ignoring
Vertical Constraints
. .13
1.9
Maximal Cliques
ofExample Problem
14
2.1
An Artificial Neuron Model
22
2.2
Some Common Activation Functions
23
2.3
The
hyperbolic
tangent sigmoid usedby
Hopfield
27
2.4
The Logistic Acceptance
Probability
Function
31
2.5
A Typical Boltzmann Simulation Algorithm
33
2.6
A
Neural Network Solution
oftheExample
Problem
35
2.7
Funabiki
andTakefuji's Multilayer
Channel
Routing
Algorithm
....39
2.8
Shih
andFeng's Algorithm
43
2.10
Algorithm for
Determination
ofPredecessors
and Successors 462.11
Simple Algorithm
for
Partitioning
ofNets into Two Channels
492.12
Application
oftheDiscrete Hopfield Network
for
Solving
theChannel-Width Minimization
Problem
57
2.13
Simulation Algorithm
for
aDiscrete Hopfield Network
592.14
Algorithm for Calculation
ofSum
ofNeuron Inputs
60
2.15
Simulation Algorithm
for
theCore
of aBoltzmann
machine 622.16
Controller
for
theBoltzmann Machine Core
63
2.17 The
Relax-and-Perturb
Neuron Model
67
2.18
The
Simulation
ofthePerturb Phase
68
2.19 The
Simulation
Algorithm for
theEpoch-Perturb Machine
692.20 The
Simulation
Algorithm for
theMaxNeuron Machine
71
2.21 The
Simulation Algorithm for
theSwap
Machine 732.22
Optimal
Four-Layer Routings Obtained
by
Our
Machines for
theDeutsch's
Difficult Problem
75
2.23
Optimal
Four-Layer Routings Obtained
by
Our Machines for
theBench
mark
Problem
exSb76
2.24 Optimal
Eight-Layer RoutingsObtained
by
Our Machines for
theDeutsch's
Difficult
Problem
78
2.25 Iteration Histogram
ofOur
Machines
Swap
andMaxNeuron
for
twoand
four-layer
routings79
2.26
Optimal Two-Layer Routings Obtained
by
Our Machines for
theDeutsch's
Difficult Problem
and exSb81
2.27 Optimal Two-Layer
RoutingsObtained
by
Our Machines for
the exl3.1
Simple Channel
Routing
Example
85
3.2
Neural Network
Representation
ofSimple
Via
Minimization88
3.3
Sub-Optimal
Via
Minimization
ofThree-Point Instance With
aTwo-Point
Algorithm
90
3.4
Concatenation
ofVertical
andHorizontal Segments
923.5
Via
Minimization
With Candidate Vias
943.6
The
Intersection Graph
and theCluster Graph
953.7
Via
Minimization
of exl 1013.8
Via
Minimization
of exSb andDeutsch 's Difficult Problem
102A.l
Data
Sets From Shih
andFeng
113A.2
Data
Sets from Kuh
andYosihmura
exl, exSa, exSb 114A.3
Data Sets
from
Kuh
andYosihmura
exSc, cx4b 115A.4
Data Sets from Kuh
and Yosihmura cx5,Deutsch's Difficult
Problem 116Chapter
1
Channel-Width
Minimization
1.1
Introduction
Channel
routingis
akey
problemin
the automaticlayout
of electronic circuits, and wasfirst introduced in
1971by
Hashimoto
andStevens
[1],
as part of theirlayout
methodfor
printed circuitdesigns. It
is, however,
equally applicable toVLSI
circuitdesign. The
channelis
a rectangular region with terminalson two sides, as shownin
Fig.
1.1.An
imaginary
gridis
superimposed on the channel.The
horizontal
lines
arecalled
tracks,
whereas, theverticallines
arecalled columns.All
the terminalsbearing
the same
label
constitute a net, and all the terminals of a net mustbe
connected togetherby
conductors, which are constrained tolie
on the grid.Terminals
with the '0'label
are unconnected.A
net may contain anynumber ofterminals.Nets
with twoterminals are called two-point nets, whereas, nets with more than two terminals are
Figure 1.1:
A
channel with terminals onboth
sides areshownhere.
The
interconnec
tion region
has
17
columns and six tracks availablefor
routing.Terminals
with thesame non-zero number
have
tobe
electrically connected.The
terminal value '0'is
used
for
no connection.In
rectilinearrouting, animaginary
gridis
assumed on whichbetween
twodifferent
nets.The
goal of channel-width minimization is to producea
legal
routing with the smallest number of tracks. As an example of a problem1
1012 1 3
7
2
8
0 11 2
3
9 13
00
3
it
2
4I
3
4
5
6
J
t
r
ZZT
<~Tr~1
t_<i
L
8t
-o-r
m
t
i
IJ
:
j
t
j
12{
*
2f
^
4
7
0
00 12 4
5 10
5
6 8
6
11
9
0 13
1.2
Wiring
Models
Most
channel routingmodels requiretwoor morewiring
layers.
In
this section, atwo-layer
modelis
assumed.Each layer
is
a two-dimensional
planeon which conductorscan
be
deposited
along grid
lines. For
example,for
two-layerVLSI
channeldesigns,
theconductor on one
layer
couldbe
metal, and theconductor on theotherlayer
couldbe
polysilicon.Obviously,
the conductors are separatedby
some non-conductingmaterial
like
silicondioxide.
When
a wire changeslayer,
it does
so only at a gridpoint.
This
connectionbetween
twolayers is
called a via or a contact.The
twomost popular rectilinear wiring models are the
Manhattan
model and theknock-knee
model.
Another
model, which is not commonly applicablein
practiceis
the riverroutingmodel.
River
Routing
Model In
this modeldifferent
nets are required tobe
wired asvertex
disjoint
paths.In
other words, it allows planar, one-layer routing only.Manhattan Model This is
a well-studied two-layer model,in
which, eachlayer is
assigned to carryconductors
in
a singledirection.
Consequently,
it
is
also calleda
direction
al model.Segments
ondiffereut layers
can cross perpendicularly,andoverlap along their
lengths is
obviously not allowedby
the model, since eachlayer
can carry conductorsin
a singlefixed
direction
only.Whenever,
a pathchanges
direction,
it
must switchlayers
using a via.The
Manhattan
modelsolution ofthe problem presented
in Fig.
1.2,
is
shownin Fig.
1.3.Knock-Knee Model
In
this model, eachlayer
can carry conductorsin
both hori
zontal and vertical
directions.
However,
(conducting)
segments on two separatelayers
belonging
to twodistinct
nets cannot overlap along theirlengths. The
1
1012
1
3
7
2
8
0 11 2
3
9 13
00
3
1
^
1
t-T
2|
1tt
3
t
t
J t
u
L
13t
81
L
I
11f
r-i
I
i
4
7
0
00 12 4
5 10
5
6
8
6
11 9
0 13
Figure
1.3:Shown
aboveis
the solution,in
theManhattan
model, of the probleminstance
shownin Fig.
1.2.
A legal
solution must nothave
short-circuits.No
verticalsegment should cross another vertical segment.
Similarly,
nohorizontal
segment should cross anotherhorizontal
segment.Vias
are notdrawn
abovebut
exist at eachbe
ondifferent layers.
In
this model, thepath of each wire and thelayer
of eachwire must
be determined.
It is
not a routing model that uses a specific numberof
layers. The
model requires that edge-disjoint pathsbe
usedfor distinct
nets.Often
the problemis
broken
upinto
two parts:(a)
a set of edge-disjoint pathsis
found
thatinterconnects
the given nets and uses a given number of tracks(or
minimizes the number oftracks)
theknock-knee
wirelayout;
(6)
givena
knock-knee
wirelayout,
alegal
assignmentis
found
using a given number oflayers
or minimizing the numberoflayers.
In
the restricted channel routing model, thehorizontal
segment of each net isrestricted to a single track.
In
other words, thehorizontal
segment of a net may notbe
split to reside on twodifferent
tracks.The
restricted modelis
also called ajog
free
model.
A
jog
is
a vertical segment of wire that connects twohorizontal
segments ofthesame net assigned to two
different
tracks.A
dogleg
is
ajog
that existsin
a columnwhich contains aterminal
for
thatnet.Generally,
the unrestrictedmodels allow a netto
be
split only at a column that contains a terminalfor
that net, although optimalsolutions are sometimes obtained only
if jogs
are allowed at any arbitrary column.Introducing
jogs
ordoglegs
can reducethenumber oftracks neededby
a routing, and,in
some cases, can make the routing possible, as shownin Fig.
1.4.Any
jog
free
channel-width minimization algorithm can easily produce a routingwith
doglegs.
This is done
simplyby
first
preprocessing thedata,
such that eachmultipoint net
is
converted to two or more two-point nets, as shownin
Fig.
1.5.
Figure
1.4:The
routing specification givenin
(a)
has
a vertical conflict cycle.If
we use the restricted model andthereby
constrain eachhorizontal
segment to reside on a singletrack,
then the routing problem cannotbe
solved.In
(b),
both
nets 1 and3
Figure
1.6:
The
vertical constraint graphfor
theprobleminstance
shownin Fig.
1.2.
The length
ofthelongest
pathin
thevertical constraint graphis
four.
1.3
The
Vertical Constraint Graph
Consider
theprobleminstance
shownin Fig.
1.2
again.It
is
obvious thatnet 13mustprecede net
iJ.
Such
considerationslead
to precedence relationsamong
the nets.These
relations are compactly expressedby
the vertical constraint graph.For
theproblem
instance
ofFig.
1.2,
the vertical constraint graphis
shownin
Fig.
1.6.
The
length
of thelongest
chainin
thevertical constraint graph, whichin
this caseis
four,
is
anindication
that atleast four
tracks are required.It is
the vertical constraintvertical constraintgraph, then
it
mustbe
removedby jogging
as mentioned earlier.So,
generally, the vertical constraint graph
is
regarded as cycle-free, which consequentlymakes
it
adirected
acyclic graph.As is
the case with all precedence graphs, thevertical constraint graph
imposes
a partial order on the set of nodes(nets).
1.4
The
Horizontal
Constraint Graph
The
horizontal
constraintgraph shows what nets cannotbe
placed on thesametrack.Each
nodein
the graph corresponds to a net, and two nodeshave
an edgebetween
them
if
thereis
ahorizontal
overlap(even
if it is just
theextremities) between
thecorresponding nets, which obviously precludes them
from
occupying the same track.This
graphis
the well-known intervalgraph. The coloring ofthe nodes of this graphcorresponds to thetrackassignment ofthe nets,provided thevertical constraint graph
is ignored. Known
methods[2]
for
coloring aninterval
graph are efficient with timecomplexity
0(n]gn),
but
complicated.A
new algorithm is presentedhere
whichis
much more efficient and easilyimplemented.
The
reasonfor
this efficiency andsimplicity
is
that the new algorithm processes thedescription
of theline intervals
directly,
rather than theinterval graph.It
can color andfind
all thedominant
cliques(maximal
complete subgraphs) of theinterval
graph.If
only two-point nets arein
volved, then
it
requiresonly one pass over thechanuel, columnby
column; otherwise,it
requires two passes.In
thelatter
case, thefirst
passdetermines
thebeginning
andending column of each net and the second pass
determines
all thedominant
cliquesand the coloringofthe
interval
graph.It is
also possibletomake a pass overtheorderofoccurrenceofthe nets and make the process even moreefficient
because
generallythere are there are
fewer
nets than columns.But
this requires anintermediate
array,1 4 10 7 12 -1 3-7 -12 2-485 -10 11
-5 6-2-8 9 6 -6 13 -11 -9 -3 -13
Figure
1.7:
The
NetOrder
arrayfor
theproblem shownin Fig.
1.1.A
positive integer nindicates
thebeginning
of the net n and a negativeinteger
n indicates the end of the net n.To
construct this array, the columns of the channel are scannedfrom
left
to right.If
thebeginning
of a net nis
encountered, nis
stored in the array. Ifthe end of a net
is
encounterd nis
storedin
the array.If
on the same column onenet s starts and another net e ends, then s
is
storedfirst in
the array and then e.For
multipoint nets, the startingcolumn and ending column of each net needs tobe
known
in
advance.Vertical
nets(zero
extent) shouldbe
excludedfrom
being
includedin
theNetOrder
array.given
in
Fig.
1.1.The
algorithmdescribed
in
Fig.
1.8,
obviously makes one pass over the nets,although there are nested
loops.
The
start and end of each net(excluding
verticalnets, which should not
be in
NetOrder),
is
examined exactly once.Deleting
anelement x
S
can alsobe done in
constant timeprovided theposition of x withinS
is known. The
element xis deleted
by
replacingit
with an element y,if
any,located
at the extreme end of set
S. The
position ofy is then updated.All
this canbe done
in
constant time.The
clique numberis
the size(number
of vertices) of thelargest
clique and,for
an
interval
graph,it is
also the chromatic number,i.e.,
the number of colors neededto color the vertices ofthegraph, without adjacent vertices ending up with the same
color.
The
clique numberis
also called thedensity
of the channel andis
simply themaximum number ofoverlapping uets at some column.
The
maximal cliquesfor
theproblem
instance
shownin
Fig
1.1is
shownin Fig.
1.9,
obtained with the algorithm/* Find dominant cliques
and vertex
coloring
(track
assignment of nets) of an
interval
graph. It is assumed that thearray NetOrder
has been foundalready
in previous passover the channel. */
MaxColor
0;
/* Maximum number of colors used */Top
0;
/*Empty
Available ColorStack*/
Cliques ize *0;
for(i
1;
i <NIntervals; ){
for(
;NetOrder[i]
>0;
i++){
n NetOrder
[i]
;Clique
[++CliqueSize]
n;PosInSet[n]
CliqueSize;
if(Top
*0)
color
[n]
MaxColor++;
else
color
[n]
AvailColorStack[Top--];
}
Array (Clique,
CliqueSize);
for
(
;i < NIntervals kt NetOrderCi]
<0;
i++){
n -NetOrder
[i]
;AvailColorStack
[++Top]
*n;
DeleteElemFromSet
(Clique,
ACliqueSize,
PosInSet,
n) ;}
Figure
1.8:A fast linear-time
0(Ar)
algorithmfor
track assignment of nets, whereN
is
the number ofnets.It
makes one single pass over theNetOrder
array.When
a new net
is
encounteredit
is
placedin
the current clique and a coloris
obtainedfrom
the available color stackif
the stackis
not empty,otherwise,
a new coloris
generated.
Upon
encountering thefirst
end of a netk,
the cliqueis
maximal.Net
k
and consecutively ending nets aredeleted from
the clique and their colors aremade available again.
This
processis
repeated until there are no more nets.The
DeleteElemFromSet
procedureis
easilydone in
constant time.Note
that theQ(N)
ique Nets in Clique
1 1 4 10 7 12
2 3 4 10 7 12
3 3 4 10 2
4 3 5 10 2 8
5 3 5 11 2 8
6 3 6 11 2 8
7 3 6 11 9
8 3 13 11 9
Figure
1.9:Maximal
(dominant)
cliques obtained with the algorithmdescribed in
Fig.
1.8 for
the probleminstance
givenin Fig.
1.1.Each
maxima/ cliqueis
also called a zone.is
thelarger
of the channeldensity
and thelength
oflongest
path in the vertical1.5
Survey
ofChannel-
Width
Minimization
Al
gorithms
In
thelast
twenty-five years,much workhas
been
done
on channel routing algorithms.An
excellentsurveyis
givenby
Lengauer
[3].
LaPaugh
[4]
first
showedthat thechannelrouting
problem,in
theManhattan
model, with nodoglegs,
is NP-complete.The
reduction
is
from
circular arc graph coloring.Syzmanski
[5]
proved that the channelrouting problem
in
theManhattan
model, withdoglegs
allowed at any column, isNP-complete.
His
reductionis from
3-satisfiability.In
addition,Sarrafzadeh
[6]
showed that channel routing under the
knock-knee
modelis
also NP-complete.As
such, most ofthealgorithms are
heuristics,
that,
nevertheless, give optimal resultsin
most practical cases.Generally,
the algorithms are applicable toboth VLSI
circuitsand
PCBs.
However,
some algorithms arespecialized;for
example, the recent'over-the-cell'
routing algorithms
[7],
[8]
are applicable only toVLSI
circuits.Multilayer
algorithms
for five
or morelayers
are targeted towardsPCB
applications orfuture
VLSI
circuits.1.5.1
Two-layer
Algorithms
The
first
channel routing algorithm wasdeveloped
by
Hashimoto
andStevens
[1].
They
ignored
the vertical constraint graph and sorted thenetsby
theirleft
edges.A
pass was then made through the sorted
list
and as mauy nets as possible were placedon the
first
track.The
placed nets were thendeleted from
the sortedlist.
A
passthroughtheremainingnets was madeto
fill
thesecondtrack.This
was continueduntilno more nets were
left. Since
they
ignored theverticalconstraints, the routing causedassuming
thatintermediate
columns existed that would allowthe overlapped verticalsegments to
be separated,
which was a reasonable assumptionfor
low-density
PCBs.This
is
thefamous 'left
edge algorithm'(lea)
whichis
thebasis for
manyheuristic
algorithms.
Since
sorting
wasinvolved
it
has
atime complexity of0(N
lg
N),
whereN is
the number of nets.A
much more efficient procedure was presentedin
Fig. 1.8,with atime complexity of
Q(N).
Deutsch
[9]
useddoglegging
tominimizethenumber of tracks needed.His
algorithm was alsobased
on thelea
with the variation that tracks werealternately assignedfrom
top
andbottom
and the nets were placedfrom
the
left
as well asfrom
the right.Yoshimura
andKuh
[10]
proposed two algorithmswhich minimizedthe
longest
pathin
thevertical constraint graph.The
first
algorithm attempts todo
thisby
merging nodesin
the vertical constraint graph, whereas, thesecond algorithm used
bipartite
matching todo
the same.Rivest
andFiduccia
[11]
proposed a greedy algorithm which proceeds column
by
column and uses a set ofheuristic
rules to assign the tracks at a column.The hierarchical
algorithm proposedby
Burstein
andPelavin
[12]
uses adivide
and conquer method, and is one of themost effective routing algorithms available.
Only
afew
exact(optimal)
algorithms are available.Kernighian,
Schweikert
andPersky
[13]
used thebranch-and-bound
method, whereas,Wang
andLee
[14],
andLin
[15]
used the A* search method.These
methods are not of practicalinter
est
because
they
often take too much time.For
example,in
onetrial,
a probleminstance
took4.5 hours
with theKernighian,
Schweikert
andPersky
's
branch-and-bound
method, whereas, the same problem was solved to optimalityin
less
than a1.5.2
Multilayer
Algorithms
With
theadventofCMOS
technology,
multilayer routers arebeing
usedby
practition ers ofCMOS
routing.Generally,
two metallayers
and a polysiliconlayer is
usedfor
the routing.Many
multilayer algorithms merelyextend the single-direction-per-layerparadigm of the
Manhattan
model.For
example,in
the vertical-horizontal-vertical(VHV)
model, thefirst
layer
(V)
is
used to route thevertical segments that are connected to theupper side ofthe channel; thesecond
layer
(H)
isusedfor
thehorizontal segments ofthe nets,and, the thirdlayer
(V)
is usedfor
routingthevertical segmentsthat connect to the
lower
side ofthe channel.Consequently,
vertical segments nevershort each other,
(but
they
do overlap)
and,therefore,
there are no vertical constraints, which allows thechannel to
be
routedin density.
Many
practitioners preferthe
HVH
modelin
thehope
of reducing the width of the channelby
half.
In
thismodel, the vertical constraints again
become
relevant. Pitchumani andZhang
[16]
suggests that some mixture ofVHV
andHVH
maybe best. Chen
andLiu
[17]
extended the algorithm of
Yoshimura
andKuh
[10]
to anHVH
model. Bruell andSun
[18]
modified thecolumn-by-columnheuristics
ofRivest
andFiduccia
[1
1].Heyns
[19]
used the
left-edge
algorithm withdoglegs but departed
from
the strictone-directiou-per-layer paradigm.
The
algorithm allowedboth horizontal
and vertical segments atthe
top layer,
horizontal
segments only on the middlelayer
and vertical segmentsonly on the
bottom layer. Instead
of extending a two-layer routing algorithm,Cong
et. al[20]
started with an actual two-layer routing and transformedit into
anHVH
routing
by
placing two tracksinto
a singletwo-layertrack,
provided the vertical seg mentsdo
not short.Enbody
andDu
[21]
extended theHVH
model toHVHV,.
. . ,Hmodel and also to the
VHV,.
.. ,V model.Braun
et. al[22]
took adifferent
approach.nets
among
these sets.They,
therefore,
reduced the multilayer problem to severalChapter
2
Application
of
Neural
Networks
to
Channel-
Width Minimization
Artificial
neural networks arederived from
consideration ofbiological
neurons andtheir
interconnections,
which can solve problemsin
the areas of classification, pattern matching, pattern completion, noise removal, optimization, and control that no
available
digital
computer cando
adequately.Modern
digital
computers are good atwell-defined tasksamenabletoalgorithmic
descriptions.
The
artificial neural networkis
an attempt todesign
computational systems withbrain-like
capabilities.Artificial
neural networks
have
been
studiedfor
almostfifty
years,but
therecent resurgence ofinterest in
neural networksis
largely
due
to theeasy availabilityof superior computersystems on which
they
canbe
simulated, improvedVLSI implementation
technologies and
better-understood
learning
algorithmsandimproved
theoreticalfoundations.
Neural
networks consist of simpleprocessingelements(neurous)
andinterconnections
between
them.They
are alsoknown
as connectionist modelsbecause
the solution ofnetworks
is
thatthey
provide a computational modelfor
a massively parallelultra-fine-grained
computer,
and, an added advantageis
thatthey
provide a greater degreeof robustness or
fault
tolerance compared tovonNeumann
sequential computersbe
cause there are many more
processing
nodes, each with primarilylocal
connections.Damage
to afew
nodes orlinks
thus need notimpair
overall performance significantly.
Most
neural net algorithms also adapt connection weightsin
time to improveperformance
based
on current results.Their
usehas
been
dramatically
successfulin
the area of pattern recognition and to a muchlesser
exteut in solving constrainedoptimization problems.
There
are many modelsbut
they
canbe
classified into twotypes:
feedforward
andfeedback.
In
thefeedforward
networks, thefirst layer
of neurons receive the
inputs
and thendistributes
its outputs to the nextlayer
of neurons,and this continues
in
aforward
direction
until the outputlayer
is
reached.In
thefeedback
networks, the output of a neuron maybe fed back
into the network as aninput
to other neurons.In
addition, a neuron mayhave
an external stimulus.Feed
back
networks are also called recurrent networks.Such
networkshave
been
usedfor
unsupervised
learning
[23],
self-organization[24],
retrieving stored memory patterns[25],
and computing solutions to a variety of optimization problems[27], [28], [29],
[30], [31],
[32].
Because
offeedback,
the outputs of these networks must stabilize,before
they
areinterpreted,
which oftenfails
todo
so.Since
this thesisdeals
withoptimization, as applied to the channel routing problem, only networks that allow
optimization problems to
be
solved arediscussed.
2.1
The
Artificial
Neuron
The
artificial neuronis
a simple processing element, that sumsits
weightedinputs,
sketch of a neuron
is
shownin Fig.
2.1,
and sometypicalactivationfunctionsare shownin
Fig.
2.2.Note
that each neuron thas
an internalstate or activationlevel
(/,,
andthe output ofthe neuron,
VJ,
is
simplyVi
=g{Ui)
(2.1)
Summation
Unit
Activation Level
Outputs
Sigmoid Function
Adjustable Weights
Figure
2.1:
Sketch
of an artificial neuron model[31].
The
inputs
arefrom
otherneurons and also possibly
from
an external source.The
adjustable multiplicativeweights correspond to
biological
synapses.Positive
weights are normally usedfor
excitory
connections and negative weightsfor
inhibitory
connections.The
weightedinputs
are accumulated and then passed to an activationfunction
whichdetermines
the neurons response, which,
depending
on the model used couldbe
continuous orf(x)
A
<J=
(a)
LinearV
f(x)
<r
(c)
Ramp
V
f(x)
ft
X
<*=
(b) Step
V
f(x)
ft
X
<=
(d)
SigmoidV
x
x
Figure
2.2:
Some
common activationfunctions. A
widelyused sigmoidfunction
is
thelogistic function
1/(1 +
eax).Other
sigmoidfunctions
include
thehyperbolic
tangentfunction
tanh(x)
and the augmented ratioof squares x2/(l+
x2).Not
shownis
the2.2
The
Discrete Hopfield
Network
The discrete Hopfield
network[25],
[26]
is afully-connected, iterative,
autoassociativenet
primarily
used as associative memorybut
can alsobe
usedfor
optimization asshown
by
experimentsdescribed later
in
thisChapter.
The
weights are symmetricwith no self-connection.
Each
neuron can receiveinputs from
all other neurons and,in
addition, can receive an externalinput. For
aHopfield
network to work properly,the
following
conditions mustbe
satisfied:The
interconnection
(synaptic)
weight matrix mustbe
symmetric.There
must no self-loops;in
other words, thediagonal
weight matrix elementsmust
be
zero.Only
one unit should updateits
activation at a time.Each
unit continues to receive an externalinput.
The iuputs
to each unit or the output of each unit couldbe
eitherbinary
(0,1)
or
bipolar
(-1,+
1).Each
unit t, adds up the weightedinputs
and the externalinput
J,
to obtainits internal
activationlevel
(/, =,
VjWj,
+J,-,
whichis
then compared withthe threshold T,- to yield the
final
output.Thus,
Vi
={
i
if
u{
>r,
K
ift/,
=r,
(2.2)
o
if
u{
<r<
The
asynchronous updatingoftheunits allows afunction,
known
as the energy,whichguarantees that the net will converge.
This
energyE
is givenby
E
=-\E
Vi
(
WW
+^
-r.
J
(2.3)
Hopfield
proved that the netdescribed
above will converge to a stable stateif
theenergy
function
is
afunction
thatis
bounded
below
andis
anon-increasingfunction
ofthestate ofthesystem.
For
a neuralnet, thestate ofthesystemis
thevector of neuronoutputs.
So,
oniteration,
since the energy isbounded
andit
cannot increase when aneuron state
is
changed, theenergyhas
todecrease
or reach a stable equilibrium.2.3
The Continuous Hopfield Network
As
mentionedin
the previous section, Hopfield'sfirst
model employed two-state neurons.
He
nextintroduced
[29]
a modifiedversion ofhis
earliermodel, which employed acontinuous non-
linear
activationfunction
todescribe
theoutputbehaviour
ofthe theneurons.
He
also showedthatsuch a model couldbe
used tosolvedifficult
constrainedoptimization problems.
The
model consists ofN
interacting
neurons, governedby
aset of coupled nonlinear
differential
equations.The
timedependent
equationfor
theinternal
activationlevel
(/, of neuron i maybe
expressedby
theequation of motionC^-W,-%XJ
(2.4)
where,
Vi
=Gj(Ui).
(2.5)
Here,
k% is
the parallel combination of theinput
resistance and the resistance usedto model synaptic connectivity:
1 1 N 1
If for
simplicity we assume constant valuesfor
theRi
andC,,
andif
all the sigmoidfunctions
Qj
areidentical,
then theequationsof motionbecome
dU U- N
^
=-t+5>v;-+s.
(2.7)
where t =
RC
andV{
=Q{Uj).
For
convenience,
Wij/C
and J./C7has been
redefined as
Wij
andJj
respectively.The
term ^is
a passivedecay
term thatcauses (/, to
decay
toward0,
at a rate proportional to r.The
outputVi
correspondsto the mean
firing
rate of abiological
neuron.It has been
pointed outby
severalauthors
[32]
that thisdecay
term slowsdown
theconvergence of aHopfield
network.For
the activationfunction
G(U),
Hopfield
suggested thefollowing
sigmoidfunction:
G(U)
=0.5(1 + tanh(AU)},
(2.8)
where,
A
is
the gain of the sigmoidfunction Q. The
dependence ofQ
onA is
shownin Fig.
2.3.It is
notdifficult
to show thatfor
adynamical
system, asdescribed
above, thetime evolution of the neuron states
is
such that the energyfunction
as givenin
Eq.
(2.3)
is
minimized provided thefollowing
conditions are met:1.
The
elementsoftheweight matrixWij
are symmetric and thediagonal
elementsare zero.
1.2
Hopfield's Sigmoid
ActivationFunction
Function (l+tanh(GU))/2
0.8
0.6
0.4
0.2
| |
|
; !: i i
;
!
1
!
1
i J
y^
'Cain s=
<'
y f.ninJc
-_.
1/00
///'
y
y^
i3ain^s-j/^^-"
\^*y
-''>
/tf Gain
/Jm
Coin= 2.0C
= 4.00
= 10
- i
i - Cain
m*y i '
.1 .
i ^y
. j~-y
-1.00 -0.80 -0.60 -0.40 -0.20 0.00 0.20 0.40 0.60 0.80 1.00
u
Figure
2.3: The hyperbolic
tangent sigmoid usedby
Hopfield.
The
output rangesbetween 0
and1.
However,
for
large
values of the gain parameterG,
the outputswitches
from
0
to1
very quickly with respect to theinput
atU
=0.
During
simulation, thegain
is
graduallyincreased,
thus"sharpening"
2.4
The
Boltzmann
Machine
The Boltzmann
machineintroduced
by
Hinton
andSejnowski
[33]
combines interesting
propertiesfrom both
neuralcomputing
and simulated annealing[34],
resultingin
a powerful computational model exploiting parallelismin
a natural way.It
canbe
viewed as a generalization of theHopfield's
content-addressable memory.It
waspointed out
in
previous sections that theHopfield
model gets trappedin local
mini-mas.
The
Boltzmann
machine provides a meansfor
escapingfrom
such alocal
minimaby
adopting a stochastic state transition compared to thedeterministic
update ruleused
by
theHopfield
model.In
theBoltzmann
machine, it is customary to maximizea quantity called the consensus
instead
ofminimizing the energyasdescribed in
theprevious sections.
The
two approacheshave been
shown tobe identical
[34].
Theconsensus
C(k)
in
the configurationk,
is defined
as the sums of the strengths of theactivated connections,
i.e.
C(k)
=^Vi(k)
i=l j=i+l
(2.9)
As
remarkedin
previous sections,W,j
are the symmetric synaptic strength weightmatrix elements.
Vj(Jfc)
is the state of uniti in
configurationk.
The
consensusis
large
if
many excitory connections are activated, andit is
smallif
manyinhibitory
connections are activated.
The
consensus,therefore,
is
a global measureindicating
towhat extent the units
in
aBoltzmann
machinehave
reached a consensus about theirindividual
states, subject to the desirabilities expressedby
theindividual
connectionstrengths.
The
consensus maximization process in aBoltzmann
machinedepends
on
how
the updates are made.The
following
two models aud their submodels are1.
Sequential
Boltzmann
Machines
Units
are allowed to change their statesonlyone at a time.
2.
Parallel Boltzmann Machines
Units
are allowed to changes their states simultaneously.
These
are categorizedinto
twosub-categories:Synchronous Parallelism
In
this scheme sets of state transitions are scheduled
in
successivetrials,
eachtrial consistingof a number ofindividualstatetransitions.
After
eachtrial,
theaccepted state transitions are communicated through the network so that all units
have
up-to-date informationaboutthestates oftheirneighbors
before
thenext trial is initiated.During
each
trial,
each unit is allowed to propose a state transition exactly once.Evidently,
synchronous parallelism requires a global clocking scheme tocontrol synchronization.
The
following
two cases aredistinguished:
Limited
Parallelism:Units
may change their statesin
parallel onlyif
they
are not adjacent.Unlimited
Parallelism:Units
maychangetheirstatesin parallel whetheror not
they
are adjacent.Clearly,
erroneous states canbe
generated.Proving
theasymptotic convergence oftheBoltzmann
machinefor
thismodel
is
still an open problem.Asynchronous Parallelism
State
transitions are simultaneously andinde
pendently proposed and then accepted or rejected.
The information
usedfor
such an evaluationis
not necessarily up-to-date.Since it does
not require a global clock, asynchronous parallelism
is
normally easier toimple
ment
in
hardware.Again
thetwocasesoflimited
and unlimitedparallelism2.4.1
Sequential Boltzmann
Machine
Let
aBoltzmann
machinebe
in
configurationit,
then a neighboring configurationkj
is
defined
as the configuration thatis
obtainedby
complementing the state of unitj.
The difference
in
consensusAC(k,j),
when the state of unitj
is
changed toj',
in
configuration
k,
is
AC(k,j)
=C(k,j')-C(k,j)
=
(-2Vt{k))
NJTWyKW
+Ti
Li=l
(2.10)
where, a =
1,
if
binary-valued
{0,1}
states are used and 0 if bipolar-valued{-1,-1-1}
states are used.
It is
obviousfrom
the above equation that the changein
consensus, resulting
from
a changein
the unitj,
is
completelydetermined
by
the statesof the neighbors of
j
and the corresponding connection strengths.Consequently,
each unit can evaluate
locally
its
own state transition.If
we allow only single unitstate changes, then the consensus
has
alocal
maximain
a certain configurationif
neighboring configurationseach
have
alower
consensus.In
a sequentialBoltzmann
machine, a unitj
is
selected, and the neighboringstate, obtained
by
complementing the state of unitj,
is
accepted with a probabilityA.
Following
theideas
of simulated annealing, the acceptance probabilityA
is afunction
of thedifference in
consensusAC(k,j)
and a control parameterT
andis
given
by
the well-knownBoltzmann distribution
where,
AC(k,j)
is
thechangein
consensus when unitj
changes statein
configurationk,
andis
givenby
Eq.
(2.10).
The
acceptanceprobabilityfunction
A(k,j,T)
is
shownparam-1.2
1
0.8
0.6
0.4
0.2
The Logistic Function
A 1/(1 ?
exp(-C/T))
i
i
i i
I
|i
i
y"^
i-*-t25
J...-
-y"
T-7
4
1.00
. 4
i x m a r\r\
~
~"1_
-1 | - 4.UU1
__
- v
~"
*Si 1 f lO.U
*
ff
.**
C-
t: !1i
|
!
i
0
-1.00 -0.80 -0.60 -0.40 -0.20 0.00 0.20 0.40
C
0.60 0.80 1.00
Figure
2.4:
The logistic
acceptance probabilityfunction A
normally usedin
aBoltz
mann machine.The
acceptance probabilityfunction A
changes slowlyfor
|
C
|>
1.For
small valuesofT,
the probabiltyfunction
changesfrom
0
to1
very quicklyin
theeter
T.
It
canbe
shown[34]
that theBoltzmann
machine converges asymptoticallyto the set of
globally
optimal configurations.In
practice,however,
it
will converge toa
(near-)optimal
one,because
ofthefinite-time approximation.To
obtain asolution,
the
Boltzmann
machineis
startedwith a sufficientlylarge
value ofT
and a randomlychosen
initial
configuration.Subsequently,
for
each value ofT,
the machineis
rununtil the consensus
does
notincrease
appreciably, at which point,T
is decrementedand the process repeated.
As T
approaches0,
state transitions become more andmore
infrequent,
andfinally
theBoltzmann
machine stabilizes in alocally
maximalconfiguration which is expected to
be
a near-optimal configuration. This process ofrunning the machine at a
fixed
temperature,
untilit
stabilizes and thenlowering
thetemperature and running the machine again
is
borrowed from
simulated annealing.Lowering
the control parameter(temperature)
toofast
will not yield an optimal solution
andlowering
too slowly takes too much time.Before
aBoltzmann
machine isrun, a cooling schedule
is determined. This is
usually of theform
r=
,f, ...
(2.12)
log(l
-\-t)where,
V
is
thedepth
ofthedeepest
local
minima and tis
a count ofthe number oftimes
T
wasdecremented.
However,
a practical methodis
tomultiplyT
by
a constant/? slightly
less
than1, typically
0.95.The initial
value ofT is
normally chosen suchthat the acceptance probability
is
about 0.5.(* Boltzmann Machine.
NEpochs Number of epochs per temperature
NbrOfNeurons * number
of units
Step
1: Initialize weights, T and configurationStep
2:Randomly
select a unitj
Step
3: Compute Change in Consensus as givenby
Eq.(2.10)
Step
4: Accept the change in state of unitj
with probabilitygiven
by
Eq.(2.11)
Step
5: Repeat Steps 2,3,4 until stop criterion is met*)
Initialize Weights
Initialize T
Randomly
assign the initial configurationREPEAT
NChanges :* 0
FOR k : 1 TO NEpochs * NbrOfNeurons DO
BEGIN
Randomly
Select a unitj
Compute Change in Consensus DeltaC
{Eq.
(2.10)}
Compute the Acceptance
Probability
A{Eq.
(2.11)}
Generate a random number R between 0 and 1
IF R < A THEN
BEGIN
Complement State of unit
j
NChanges :* NChanges + 1
END
END
T : Beta * T
UNTIL T <
StoppingTemp
OR NChanges 0Figure 2.5:
A
typicalBoltzmann
machine simulation algorithm.The
stoppingcriteria2.5
Previous Applications
ofNeural
Networks
to
the
Channel-
Width
Minimization Problem
Many
sequential algorithmshave been
proposedfor
channel routing,but
only afew
massively parallel algorithms using neural networks
have been
proposed.Out
ofthe proposed neural network algorithms
[35],[36],[37],[38],[39],
only two seem viableand
both have been
implemented
and studiedin
this thesis.The
one proposedby
Funabiki
andTakefuji
[35],
based
on a maximum net andfor
multilayers appears towork reasonably well after a suitable modification,
but
the other network proposedby
Shih
andFeng
[36]
for
twolayers has
severedifficulty
in
finding
solutionsfor
evenvery small
(three
nets) probleminstances.
It
shouldbe
remarkedhere
thatfinding
a routing on
four
layers is
easier thanfinding
a solutionin
twolayers,
because
thevertical constraintgraph
is
split and there are,therefore,
more solutions available andthe nets are easier to place.
In
each of the network architectures tobe discussed
below,
the total number ofneurons required
is
equal to theproduct ofthe number oftracks,
(which
is
provided),and the number of nets.
The
two-layer solution of our example problem, using aneural network,
is
shownin Fig.
2.6.Each
neuron isidentified
by
apair ofsubscripts,one
for
thenet and theotherfor
the track.If
a neuron with subscriptsi
andj
is
on,it
signifies that the solution
has
assigned neti
to trackj.
In
the multilayer model usedhere,
the routing region consistsofone or more pairs oflayers,
with each pair similarto the conventional two-layer pair.
Each layer-pair is
assumed tobe independent
of the other
layer-pairs.
It is
also assumed that each terminalis
availablein
everylayer-pair.
Each
neuronfor
the thefour-layer
caseis indexed
with three subscripts.Figure
2.6:
The
neural networksolutionoftheprobleminstance described
in
Fig.
1
.2.The
shaded neurons represent neurons that areon.Each
neuronis
identified
by
twosubscripts
i,
andj.
If
neuronij
is
on,it
means that net thas been
assigned to trackj.
The interconnection
weights are not shown since thereare toomany
-3003
tobe
k. The
interconnection
strengthsbetween
the neurons areprimarily determined
by
2.5.1
Funabiki
andTakefuji's Algorithm
Funabiki
andTakefuji
[35]
used theMcCulloch-Pitts
neuron model.They
claim thatHopfield's
equation ofmotion with the passivedecay
term and the sigmoid transferfunction
is
detrimental
to the rate of convergence.For
n nets and m tracks perlayer-pair, the equation of motion proposed
by
themfor
thetjJb-th neuron is givenby
thefirst-order differential
equation ofthe timerate of change of a neuron'sinput
Uijk
as:dUak
dt
= -A\f:]bvi,r-l)-B(H
+
K)
+Ch(jrJ2Viqr),
(2.13)
\9=lr=l
/
\,=lr=l/
where, theequation
is for
thet'-th net assigned tothej-th
trackin
theAr-tb
layer-pair.The
first
termforces
one and only one output among the 2th processing elements tobe
non-zerocorresponding
to thet'-th net.The
second termis for
theinhibitory
forces
due
to the violation of thehorizontal
and the vertical constraints.H is
simply thenumber of
horizontal
conflicts andK
the number of vertical conflicts ifthe proposedassignment
is
made.Note
that thedetermination
ofH
andK
require that the statesof
locally
connected neuronsbe known.
The last
term is a hill-climbing term andis
expected to allow the system to escapefrom
thelocal
minimum and converge tothe global minimum, where,
h(x)
is
1,
if
x =0,
and0
otherwise.A,B,
andC
areweighting
factors. The
outputVijk
oftheijk-th
processing element is related to theinput
Uijk
by:
Vijk
=1 if
Uijk
>0
andUijk
= max{UiqT}
for
q =1,
. . .,ro and r = 1,2
(2.14)
To
simulate the system, one mustintegrate
the abovedifferential
equation, whichcan
be
approximatedby
thefirst-order Euler
equations.They
proposed a parallelsynchronous update ofthe neurons.
But
experiments, reportedin
thisthesis,
showedconflicts
in
assignments)
even when the net seemed tohave
converged to the optimal solution.
An
asynchronous update took care of the problem.It is
necessary topoint out
here
that the algorithmdoes
NOT
find
the minimum channel width. Thealgorithm
is
provided with the minimum width and thenit
attempts tofind
alegal
routing
thatdoes
not conflict with thehorizontal
and vertical constraints.The
problem
solved,is,
therefore,
a constrain* satisfaction problem,instead
of a constrainedoptimizationproblem.
The
outline oftheir algorithmis
shown inFig.
2.7.The
authorshave
reportedfinding
four-layer
solutions to seven of the standardproblems
from
theliterature,
but
the solution to theDeutsch difficult
problem wasnot optimal.
Their
algorithm, asimplemented in
thisthesis,
could notfind
solutionstoall seven problems and theexperimental results as
found in
this studyare reportedin
the next section.They
suggested a two-phase algorithm, in which,in
thefirst
phase, the
longer
nets weretobe
routed andin
the second phase, the remaining netswere to
be
routedkeeping
thelonger
netsfixed. This
strategy was not implementedin
the current workbecause
nofurther details
on this phase of the algorithm wasprovided
by
the authors.It is
important to note thefollowing
aboutFunabiki
andTakefuji's
algorithm.The
number of neurons requiredis
n rok,
where, nis
the number ofnets, mis
the number oftracks perlayer-pair,
andk is
thenumber oflayer-pairs. Since
the number of
interconnecting
wires grows quadratically with the number ofneurons,
it
wouldbe
desirable to partition the neuronsinto
separate sets, oneset
for
each layer-pair.The
algorithm requires two phases.In
thefirst
phase, nets, whoselengths
aregreater than
30
%
of the total channellength,
are routed,hi
the second phase,t:=0;
I max "= OUUj
>4:=B:=1;C:=10
Vijk,
Uijk
*random values
Vijk.Viik<-0
REPEAT
t := t +
1;
for
t := 1 to nfor
j
:= 1 to rofor k
:= 1 to