220 likes | 236 Views
On segmented channel routability. Hung, W.N.N.; Xiaoyu Song; Coppola, A.; Kennings, A. Circuits and Systems, 2002. ISCAS 2002. IEEE International Symposium on , Volume: 1 , 26-29 May 2002. Outline. Introduction Preliminary Routability formulation - Dogleg-free routability
E N D
On segmented channel routability Hung, W.N.N.; Xiaoyu Song; Coppola, A.; Kennings, A. Circuits and Systems, 2002. ISCAS 2002. IEEE International Symposium on , Volume: 1 , 26-29 May 2002
Outline • Introduction • Preliminary • Routability formulation - Dogleg-free routability - Doglegged routability • Experiment result • Conclusion
Introduction • Check routability used boolean equation • Provides exact routability guarantees. • Can incorporate incrementally updates for new additional performance driven constraints.
Outline • Introduction • Preliminary • Routability formulation - Dogleg-free routability - Doglegged routability • Experiment result • Conclusion
c1 c2 c3 c4 tracks t3 t2 t1 1 2 3 4 5 6 7 8 9 10 columns Preliminary • The model of segmented routing horizontal switch cross switch T, N, M left(c), right(c) left(s), right(s) Q(s, c)=(right(s)>left(c))^(left(s)<right(c))
Outline • Introduction • Preliminary • Routability formulation - Dogleg-free routability - Doglegged routability • Experiment result • Conclusion
v = v ( c ) v ( c ) v ( c )... v ( c ) 1 2 w é ù = Î = w log ( T ) , v ( c ) { 0 , 1 }, i 1 , 2 ,....., w v v 2 i v v ( ( c c ) ) Î Dogleg-free routability • What is dogleg-free routing? net can be assigned to at most one track • Track assignment representation • Constraint for : 0<= <= T-1 , for all c C (1)
r = Ù = - h ( c , s , t ) Q ( s , c ) ( v ( c ) t 1 ) ì ü ¹ T m n Ø Ù I I I ( h ( m , s , t ) h ( n , s , t )) í ý î þ = Î Î t 1 s G m , n C t Ç Unlimited segment roting • Occupancy function h(c, s, t) : h is true iff segment s on track t is occupied by net c. • For each net : (2) • The necessary and sufficient routibility condition is : (1) (2)
= Ù Î mleft ( c , t ) min{ j | Q ( s , c ) ( s G )} tj tj t = Ù Î mright ( c , t ) max{ j | Q ( s , c ) ( s G )} tj tj t v " Î G " Î = Þ > - t , c C , ( v ( c ) t ) ( K mright ( c , t ) mleft ( c , t )) Ç Ç K-segment routing • Left-most segment and right-most segment occupied by net c: • K-segment constraint: (3) • K-segment routibility condition: (1) (2) (3)
v " Î Y $ Î w = c , t , v ( c ) t Ç Ç Ç Add performance driven constraint • Ψ: the set of nets on the critical path ω: the set of performance driven tracks • Performance constraint : (4) • Performance driven routibility condition: (1) (2) (3) (4)
Outline • Introduction • Preliminary • Routability formulation - Dogleg-free routability - Doglegged routability • Experiment result • Conclusion
Î v = u ( c , i ) u ( c , i ),...., u ( c , i ) 1 p = i 1 , 2 ,...., p ( c ) m é ù = Î = q log T , u ( c , i ) { 0 , 1 }, j 1 , 2 ,..., q 2 j v u ( c , i ) Doglegged routability • What is doglegged routing? a net can be assigned to more than one track. split net c into p (p>=1) part: (left(c),l1),(l1+1, l2),……,(lp-1,right(c)) • Track assignment representation: • Constraint for 0 <= <= T-1, for all c C, and i=1, 2,…,pm(c) (5)
v = Ù = - h ( c , i , s , t ) Q ( s , c , i ) ( u ( c , i ) t 1 ) d d = i 1 , 2 ,..., p ( c ) m = ³ Ù £ Q ( s , c , i ) ( right ( s ) pleft ( c , i )) ( left ( s ) pright ( c , i )) d Horizontal wiring contraints • Occupancy function true iff segment s on track t is occupied by the ith part of net c. • For each net : (6) ì ü ( ) ( ) ¹ p m p n ï ï T m n m m Ø Ù I I I I I ( h ( m , i , s , t ) h ( n , j , s , t )) í ý d d ï ï î þ = Î Î = = 1 , 1 1 t s G m n C i j t
= false , R ( c , i ) x ( c , i ) { v v ¹ + Ø ( u ( c , i ) u ( c , i 1 )), R ( c , i ) = £ Ú ³ R ( c , i ) ( i left ( c )) ( i right ( c )) ì ü ¹ N m n Þ Ø Ú Î I I ( x ( m , i ) ( x ( n , i ) ( i L ( n )))) í ý î þ = Î i 1 m , n c Ç Ç Vertical wiring contraints • Each column can be occupied by at most one net . • vertical constraint: (7) • doglegged routibility condition: (5) (6) (7)
= $ Î used ( c , s , t ) i { 1 ,..., p ( c )}, h ( c , i , s , t ) m d T å å ³ Î K used ( c , s , t ), for all c C = Î 1 t s G t Ç Ç Ç K-segment routing • To limit the max number of segment used by any net • For all net : (8) • K-segment routibility condition: (5) (6) (7) (8)
v v = " Î ¹ Þ ¹ diff ( c , i ) j { i ,..., p ( c )}, ( i j ) ( u ( c , i ) u ( c , j )) m = where i 1 , 2 ,...., p ( c ) m p ( c ) m å > Î l diff ( c , i ), for all c C = i 1 Ç Ç Ç Track limitation • To limit the max number of distinct tracks used by each net c • For each net (9) • Track limitation condition: (5) (6) (7) (9)
ì ü - ( ) 1 p c m > Þ I I ( p ( c ) 1 ) nw ( c , i ) í ý m î þ Î = 1 c C i v v = + Ï Q Þ = + nw ( c , i ) (( left ( c ) i ) ( c )) ( u ( c , i ) u ( c , i 1 )) Ç Ç Ç Column limitation • Net can only switch tracks at predetermined columns. (10) • Column limitation condition (5) (6) (7) (10)
Outline • Introduction • Preliminary • Routability formulation - Dogleg-free routability - Doglegged routability • Experiment result • Conclusion
Outline • Introduction • Preliminary • Routability formulation - Dogleg-free routability - Doglegged routability • Experiment result • Conclusion
Conclusion • Satisfiability-based method for segmented channel routability time efficiency and applicability to large problem instances.