Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | alden-barrera |
View: | 29 times |
Download: | 0 times |
23/4/1923/4/19 11
Crosstalk Driven Routing Crosstalk Driven Routing Resource AssignmentResource Assignment
Hailong Yao, Qiang Zhou,Hailong Yao, Qiang Zhou,Xianlong Hong, Yici CaiXianlong Hong, Yici Cai
EDA Lab., Dept. of Computer Science & TechnologyEDA Lab., Dept. of Computer Science & TechnologyTsinghua University, Beijing 100084, ChinaTsinghua University, Beijing 100084, China
23/4/1923/4/19 22
OutlineOutline BackgroundsBackgrounds PreliminariesPreliminaries Crosstalk Noise ModelCrosstalk Noise Model CDRRA AlgorithmCDRRA Algorithm
• Problem FormulationProblem Formulation• Underlying Graph ModelUnderlying Graph Model• Overview of the AlgorithmOverview of the Algorithm• ExampleExample
Experimental ResultsExperimental Results ConclusionConclusion
23/4/1923/4/19 33
BackgroundsBackgrounds As VLSI technology advances, crosstalk noise As VLSI technology advances, crosstalk noise
has become critical in determining the has become critical in determining the performance of the overall chip.performance of the overall chip.
The routing problem is divided into two sequential The routing problem is divided into two sequential stages: stages: global global routing and routing and detaileddetailed routing. routing.
Most previous works on crosstalk control are Most previous works on crosstalk control are performed during detailed routing stage where the performed during detailed routing stage where the estimation of crosstalk can be accurate but the estimation of crosstalk can be accurate but the flexibility is restricted. However, the crosstalk flexibility is restricted. However, the crosstalk control during global routing can not be accurate control during global routing can not be accurate enough though it has more freedom.enough though it has more freedom.
With enough flexibility and fairly accurate net With enough flexibility and fairly accurate net routing information, an intermediate stage proves routing information, an intermediate stage proves to be an ideal place to solve this problem.to be an ideal place to solve this problem.
Intermediate stage: Intermediate stage: Track AssignmentTrack Assignment (TA) and (TA) and Cross Point AssignmentCross Point Assignment (CPA). (CPA).
23/4/1923/4/19 44
Previous Works:Previous Works: In In , TA problem is studied without , TA problem is studied without
considering the crosstalk issue.considering the crosstalk issue. Some works on crosstalk avoidance Some works on crosstalk avoidance
during the CPA stage have been done in during the CPA stage have been done in --..
S. H. Batterywala, N. Shenoy, W. Nicholls, and Hai Zhou, “Track Assignment: A Desirable Intermediate Step Between Global Routing and Detailed Routing,” IEEE International Conference on Computer Aided Design, San Jose, CA, 2002.
H.-P. Tseng, L. Scheffer, and C. Sechen, “Timing and crosstalk driven area routing,” in Proc. 35th ACM/IEEE Design Automation Conf., June 1998, pp. 378–381.
C.-C. Chang and J. Cong, “Pseudo pin assignment with crosstalk noise control,” in Proc. Int. Symp. on Physical Design, pp. 41-47, 2000.
H.L. Yao, Q. Zhou, X.L. Hong and Y.C. Cai, “Cross Point Assignment Algorithm with Crosstalk Constraint,” Proceedings of the 5th International Conference on ASIC, October, 2003, pp. 352-355.
23/4/1923/4/19 55
Crosstalk-aware TA is study in Crosstalk-aware TA is study in --.. In In --, TA is integrated into global routing and in , TA is integrated into global routing and in
it is formulated as an ILP problem. it is formulated as an ILP problem. We propose a new crosstalk-aware layer/track We propose a new crosstalk-aware layer/track
assignment heuristic algorithm called Crosstalk assignment heuristic algorithm called Crosstalk Driven Routing Resource Assignment (CDRRA).Driven Routing Resource Assignment (CDRRA).
T. Xue and E.S. Kuh, “Post global routing crosstalk synthesis,” TCAD, pp. 1418-1430, Dec. 1997.
H. Zhou and D.F. Wong, “Global Routing with Crosstalk Constraints,” in Proc. ACM/IEEE Design Automation Conference, June 1998.
R. Kay, and R.A. Rutenbar, “Wire Packing: A Strong Formulation of Crosstalk-aware Chip-level Track/Layer Assignment with an Efficient Integer Programming Solution,” ISPD ’00, 61-68.
23/4/1923/4/19 66
PreliminariesPreliminaries
1GRC
Fig.1 Global Routing Graph(GRG)GRG1v
e
v2
GRCi
Cells
23/4/1923/4/19 77
Slice Slice
GRC
slice
A horizontal slice: A row of GRCs
A row of GRCs
Merge a row of GRCs track
23/4/1923/4/19 88
Decomposition of a global net in the slices
A
CB D
E
GRC
1 2 3 4 5 6 7 8 9
1
2
3
4
5
6
7
8
9
Decomposition Result: net segment AC, BD and DE
(Note that A, B, C, D and E are the center points of the corresponding GRCs)
23/4/1923/4/19 99
Crosstalk ModelCrosstalk Model If a switch event on signal net If a switch event on signal net NN11 causes signal causes signal
net net NN22 to malfunction, then to malfunction, then NN11 and and NN22 are are regarded to be sensitive to each other, where regarded to be sensitive to each other, where NN11 is called the aggressor and is called the aggressor and NN22 the victim. the victim.
Sensitivity rate: the ratio of the number of Sensitivity rate: the ratio of the number of aggressors for aggressors for NNii to the total number of signal to the total number of signal nets.nets.
Sensitivity matrix: Sensitivity matrix: S S = [= [ssi,ji,j]]N×NN×N where where NN is the is the total number of the signal nets and total number of the signal nets and ssi,ji,j = 1 if = 1 if NNii and and NNjj are sensitive to each other, otherwise are sensitive to each other, otherwise ssi,ji,j = 0.= 0.
The sensitivity matrix is symmetric.The sensitivity matrix is symmetric.
23/4/1923/4/19 1010
Crosstalk noise depends on the coupling Crosstalk noise depends on the coupling capacitances, the driver resistances, the capacitances, the driver resistances, the load capacitances and the input waveforms.load capacitances and the input waveforms.
Only the capacitive crosstalk noise is Only the capacitive crosstalk noise is considered.considered.
Avoid adjacent sensitive nets from running Avoid adjacent sensitive nets from running in parallel for a long distance.in parallel for a long distance.
We assume that only adjacent sensitive We assume that only adjacent sensitive nets will violate the crosstalk constraint nets will violate the crosstalk constraint when their overlap length exceeds a when their overlap length exceeds a predefined constant MAXOL and dis-predefined constant MAXOL and dis-adjacent nets will never run into trouble with adjacent nets will never run into trouble with crosstalk violation.crosstalk violation.
23/4/1923/4/19 1111
Problem FormulationProblem Formulation CDRRA runs in slice-by-slice manner and only the CDRRA runs in slice-by-slice manner and only the
global nets are considered.global nets are considered. For each slice For each slice SSkk, the assignment of net segments to , the assignment of net segments to
the routing tracks can be formulated as:the routing tracks can be formulated as:ΦΦ: : NN××TT→→CC
N N : net segments inside the slice : net segments inside the slice SSkk
TT : the routing tracks of : the routing tracks of SSkk
CC : costs which indicates the consumption of the : costs which indicates the consumption of the assignment pairs <assignment pairs <nnii,,ttjj> (1≤> (1≤ii≤|≤|NN|, 1≤|, 1≤jj≤|≤|TT|).|).
The track assignment problem is to find a feasible The track assignment problem is to find a feasible set set ΦΦ’ = {’ = {cci,j i,j | | cci,ji,j = = ΦΦ(<(<nnii,,ttjj>), 1≤>), 1≤ii≤|≤|NN|, 1≤|, 1≤jj≤|≤|TT|} for all |} for all the elements in the elements in NN, where the objective, where the objective
,
,
i j
i jc
c is
minimized
23/4/1923/4/19 1212
The cost for assigning net segment The cost for assigning net segment nnii to the to the routing track routing track ttjj is mainly composed of the is mainly composed of the following items:following items:Layer CostLayer CostObstacle CostObstacle CostNet Length CostNet Length Cost
Besides the items mentioned above, the cost Besides the items mentioned above, the cost matrix also plays a role in preventing the matrix also plays a role in preventing the already assigned nets from coupling with the already assigned nets from coupling with the latter ones.latter ones.
After the cost matrix is constructed, we use After the cost matrix is constructed, we use linear assignment algorithm to find a minimum linear assignment algorithm to find a minimum cost matching solution.cost matching solution.
23/4/1923/4/19 1313
The Underlying Graph ModelThe Underlying Graph Model Crosstalk Graph (Crosstalk Graph (XGXG))
To stores the information of the sensitivity To stores the information of the sensitivity matrix.matrix.
XGXG((VV, , EExgxg) is an undirected graph.) is an undirected graph. VV: the set of all the nets.: the set of all the nets. EExgxg: the sensitive relationship between the : the sensitive relationship between the
corresponding nets.corresponding nets. If there are two nets sensitive to each other, If there are two nets sensitive to each other,
there is an edge in there is an edge in EExgxg between their between their
corresponding vertexes in corresponding vertexes in VV. .
23/4/1923/4/19 1414
The Interval Graph (The Interval Graph (IGIG)) To stores the net segments’ overlap To stores the net segments’ overlap
information according to global routing results.information according to global routing results. IGIG((VVigig, , EEigig) is undirected and slice-based.) is undirected and slice-based.
VVigig: the set of the net segments inside the : the set of the net segments inside the
current slice.current slice. EEigig: stores the overlap information between : stores the overlap information between
each two net segments.each two net segments. Note: Note: IGIG is a weighted graph and the weights is a weighted graph and the weights
on the edges in on the edges in EEigig are the values of the are the values of the
overlap lengths. overlap lengths.
23/4/1923/4/19 1515
Real Crosstalk Graph (Real Crosstalk Graph (RXGRXG)) Only adjacent sensitive nets with their overlap Only adjacent sensitive nets with their overlap
length exceeding the constant MAXOL will violate length exceeding the constant MAXOL will violate the crosstalk constraint.the crosstalk constraint.
Stores the real crosstalk risks.Stores the real crosstalk risks. RXG is the subgraph of RXG is the subgraph of XGXG and and IGIG.. When two net segments are sensitive to each other When two net segments are sensitive to each other
according to according to XGXG and their overlap length exceeds and their overlap length exceeds MAXOL according to MAXOL according to IGIG, then there is an edge in , then there is an edge in EErxgrxg between the corresponding vertices in between the corresponding vertices in VVrxgrxg..
When such pair of net segments is assigned to When such pair of net segments is assigned to adjacent tracks, a crosstalk violation will occur. adjacent tracks, a crosstalk violation will occur.
The max-clique of The max-clique of RXG RXG stores the maximum set of stores the maximum set of concurrent crosstalk risking net segments. These concurrent crosstalk risking net segments. These net segments should not be assigned adjacent to net segments should not be assigned adjacent to each other to observe the crosstalk constraint. each other to observe the crosstalk constraint.
23/4/1923/4/19 1616
Tracks’ Adjacency Graph (Tracks’ Adjacency Graph (TAGTAG)) Stores the adjacency information of the Stores the adjacency information of the
routing tracks in a slice.routing tracks in a slice. Undirected and slice-based.Undirected and slice-based. VVtagtag: the set of routing tracks in the current : the set of routing tracks in the current
slice.slice. EEtagtag: stores the adjacency information : stores the adjacency information
between the routing tracks.between the routing tracks. The maximum independent set in The maximum independent set in TAGTAG
stores the maximum number of the stores the maximum number of the disadjacent routing tracks, to which real disadjacent routing tracks, to which real crosstalk risking net segments in crosstalk risking net segments in RXGRXG should be assigned.should be assigned.
23/4/1923/4/19 1717
Example Example
a
b
c
d
ea) XG
b
c
d
e
90
70
30
80
c) IG
b
c
d
d) RXG
Illustration of the Graph Model
1
2
3
4
5
f) TAG
1 b
c
d
e
e) Assignment results in a slice
23
54
70 201030
b) Geometric information of the net segments
cb
de
Net a is not in
current slice Set bound 50
MC={ b, c, d }
MIS={1, 3, 5}
23/4/1923/4/19 1818
Main Steps of CDRRAMain Steps of CDRRA(1) Read in the sensitivity rate and construct the crosstalk graph (XG).(1) Read in the sensitivity rate and construct the crosstalk graph (XG).(2) For all the horizontal and vertical slices, DO(2) For all the horizontal and vertical slices, DO(3) Construct the Interval Graph (IG).(3) Construct the Interval Graph (IG).(4) Construct the Real Crosstalk Graph (RXG).(4) Construct the Real Crosstalk Graph (RXG).(5) Construct the tracks’ adjacency graph (TAG).(5) Construct the tracks’ adjacency graph (TAG).(6) Construct the cost matrix for the assignments of net (6) Construct the cost matrix for the assignments of net segments segments
onto the routing tracks.onto the routing tracks.(7) Compute the maximum clique in RXG and the maximum (7) Compute the maximum clique in RXG and the maximum
independent set in TAG. Calculate the minimum cost independent set in TAG. Calculate the minimum cost assignment solution using the linear assignment assignment solution using the linear assignment algorithm.algorithm.
(8) Update IG, RXG, TAG and the cost matrix according to the (8) Update IG, RXG, TAG and the cost matrix according to the assignment results. If RXG is NULL, then go to (9), else go assignment results. If RXG is NULL, then go to (9), else go to to (7).(7).
(9) Compute the maximum clique from IG and assign the net (9) Compute the maximum clique from IG and assign the net segments onto the remaining routing tracks using the same segments onto the remaining routing tracks using the same algorithm until all the net segments are assigned or the routing algorithm until all the net segments are assigned or the routing tracks are not available.tracks are not available.
(10) END For(10) END For
23/4/1923/4/19 1919
Experimental ResultsExperimental Results Implemented in C programming language Implemented in C programming language
on SUN Enterprise E450.on SUN Enterprise E450. Sensitivity rate for all the nets: 0.5Sensitivity rate for all the nets: 0.5
23/4/1923/4/19 2020
ConclusionConclusion CDRRA algorithm: to address the crosstalk CDRRA algorithm: to address the crosstalk
problem between the global routing and problem between the global routing and detailed routing stage.detailed routing stage.
Basic idea: to calculate the crosstalk risking Basic idea: to calculate the crosstalk risking net segments by the clique heuristic and then net segments by the clique heuristic and then assign them to disadjacent tracks by minimum assign them to disadjacent tracks by minimum weighted bipartite matching method.weighted bipartite matching method.
The experimental results indicate that the The experimental results indicate that the CDRRA algorithm can greatly improve the CDRRA algorithm can greatly improve the final routing layout and eliminate most of the final routing layout and eliminate most of the crosstalk violations.crosstalk violations.
23/4/1923/4/19 2121