On segmented channel On segmented channel routability routability
Hung, W.N.N.; Xiaoyu Song; Coppola, A.; KeHung, W.N.N.; Xiaoyu Song; Coppola, A.; Kennings, A.nnings, A.
Circuits and Systems, 2002. ISCAS 2002. IEECircuits and Systems, 2002. ISCAS 2002. IEEE International Symposium on , Volume: 1 , E International Symposium on , Volume: 1 ,
26-29 May 2002 26-29 May 2002
OutlineOutline
Introduction Introduction PreliminaryPreliminary Routability formulationRoutability formulation - Dogleg-free routability- Dogleg-free routability - Doglegged routability- Doglegged routability Experiment result Experiment result Conclusion Conclusion
Introduction Introduction
Check routability used boolean equatioCheck routability used boolean equationn
Provides exact routability guarantees.Provides exact routability guarantees. Can incorporate incrementally updates fCan incorporate incrementally updates f
or new additional performance driven cor new additional performance driven constraints.onstraints.
OutlineOutline
IntroductionIntroduction PreliminaryPreliminary Routability formulationRoutability formulation - Dogleg-free routability- Dogleg-free routability - Doglegged routability- Doglegged routability Experiment result Experiment result Conclusion Conclusion
Preliminary Preliminary
The model of segmented routing The model of segmented routing
horizontal switchhorizontal switchcross switchcross switchT, N, M T, N, M left(c), right(c)left(c), right(c)left(s), right(s)left(s), right(s)Q(s, c)=(right(s)>left(c))^(left(s)<right(c))Q(s, c)=(right(s)>left(c))^(left(s)<right(c))
1 2 3 4 5 6 7 8 9 10
columns
t3t2t1
tracks
c1
c2
c3c4
OutlineOutline
IntroductionIntroduction PreliminaryPreliminary Routability formulationRoutability formulation - Dogleg-free routability- Dogleg-free routability - Doglegged routability- Doglegged routability Experiment result Experiment result Conclusion Conclusion
Dogleg-free routabilityDogleg-free routability What is dogleg-free routing?What is dogleg-free routing? net can be assigned to at most one tracknet can be assigned to at most one track Track assignment representationTrack assignment representation
Constraint for :Constraint for : 0<= <= T-1 , for all c C (1)0<= <= T-1 , for all c C (1)
)()...()()( 21 cvcvcvcv w wicvTw i ,.....,2,1},1,0{)(,)(log 2
)(cv)(cv
Unlimited segment rotingUnlimited segment roting Occupancy function h(c, s, t) :Occupancy function h(c, s, t) : h is true iff segment s on track t is occupied by net c. h is true iff segment s on track t is occupied by net c. For each net :For each net :
(2)(2) The necessary and sufficient routibility condition is :The necessary and sufficient routibility condition is : (1) (2) (1) (2)
)1)((),(),,( tcvcsQtsch
T
t Gs
nm
Cnmt
tsnhtsmh1 ,
)),,(),,((
K-segment routingK-segment routing Left-most segment and right-most segment occuLeft-most segment and right-most segment occu
pied by net c:pied by net c: K-segment constraint:K-segment constraint:
(3)(3) K-segment routibility condition:K-segment routibility condition: (1) (2) (3) (1) (2) (3)
)}(),(|max{),(
)}(),(|min{),(
ttjtj
ttjtj
GscsQjtcmright
GscsQjtcmleft
)),(),(())((,, tcmlefttcmrightKtcvCct
Add performance driven Add performance driven constraintconstraint
ΨΨ: the set of nets on the critical path: the set of nets on the critical path ωω : the set of performance driven tracks: the set of performance driven tracks Performance constraint :Performance constraint : (4)(4) Performance driven routibility conditioPerformance driven routibility conditio
n: n: (1) (2) (3) (4)(1) (2) (3) (4)
tcvtc )(,,
OutlineOutline
IntroductionIntroduction PreliminaryPreliminary Routability formulationRoutability formulation - Dogleg-free routability- Dogleg-free routability
- Doglegged routability- Doglegged routability Experiment result Experiment result Conclusion Conclusion
Doglegged routabilityDoglegged routability What is doglegged routing?What is doglegged routing? a net can be assigned to more than one track.a net can be assigned to more than one track. split net c into p (p>=1) part:split net c into p (p>=1) part: (left(c),l1),(l1+1, l2),……,(lp-1,right(c))(left(c),l1),(l1+1, l2),……,(lp-1,right(c)) Track assignment representation:Track assignment representation:
Constraint for Constraint for 0 <= <= T-1, for all c C, and i=1, 2,…,pm(c) (5)0 <= <= T-1, for all c C, and i=1, 2,…,pm(c) (5)
qjicuTq
cpi
icuicuicu
j
m
p
,...,2,1},1,0{),(,log
)(,....,2,1
),(),....,,(),(
2
1
),( icu
Horizontal wiring contraintsHorizontal wiring contraints Occupancy function Occupancy function
true iff segment s on track t is occupied by the ith ptrue iff segment s on track t is occupied by the ith part of net c.art of net c.
For each net : For each net :
(6)(6)
)),()(()),()((),,(
)(,...,2,1
)1),((),,(),,,(
icprightslefticpleftsrighticsQ
cpi
ticuicsQtsich
d
m
dd
T
t Gs
nm
Cnm
mp
i
np
jdd
t
m m
tsjnhtsimh1 ,
)(
1
)(
1
)),,,(),,,((
Vertical wiring contraintsVertical wiring contraints Each column can be occupied by at most one net .Each column can be occupied by at most one net .
vertical constraint:vertical constraint:
(7)(7) doglegged routibility condition:doglegged routibility condition: (5) (6) (7)(5) (6) (7)
),(,
))(())((),(
),()),1,(),(({),( icRfalse
crighticleftiicR
icRicuicuicx
N
i
nm
cnm
nLiinximx1 ,
))))((),((),((
K-segment routingK-segment routing
To limit the max number of segment used by any netTo limit the max number of segment used by any net
For all net :For all net :
(8) (8)
K-segment routibility condition:K-segment routibility condition: (5) (6) (7) (8)(5) (6) (7) (8)
),,,()},(,...,1{),,( tsichcpitscused dm
CcallfortscusedKT
t Gs t
1
),,,(
Track limitationTrack limitation
To limit the max number of distinct tracks To limit the max number of distinct tracks used by each net cused by each net c
For each net For each net (9)(9) Track limitation condition:Track limitation condition: (5) (6) (7) (9)(5) (6) (7) (9)
)(,....,2,1
)),(),(()()},(,...,i{),(
cpiwhere
jcuicujicpjicdiff
m
m
Ccallforicdifflcp
i
m
)(
1
),,(
Column limitationColumn limitation
Net can only switch tracks at predetermined Net can only switch tracks at predetermined columns. columns.
(10)(10)
Column limitation condition Column limitation condition
(5) (6) (7) (10)(5) (6) (7) (10)
))1,(),(())())(((),(
),()1)((1)(
1
icuicuciclefticnw
icnwcpCc
cp
im
m
OutlineOutline
IntroductionIntroduction PreliminaryPreliminary Routability formulationRoutability formulation - Dogleg-free routability- Dogleg-free routability - Doglegged routability- Doglegged routability Experiment resultExperiment result Conclusion Conclusion
OutlineOutline
IntroductionIntroduction PreliminaryPreliminary Routability formulationRoutability formulation - Dogleg-free routability- Dogleg-free routability - Doglegged routability- Doglegged routability Experiment result Experiment result Conclusion Conclusion