crosstalk driven routing resource assignment

21
22/3/23 22/3/23 1 Crosstalk Driven Crosstalk Driven Routing Resource Routing Resource Assignment Assignment Hailong Yao, Qiang Zhou, Hailong Yao, Qiang Zhou, Xianlong Hong, Yici Cai Xianlong Hong, Yici Cai EDA Lab., Dept. of Computer Science & Technology EDA Lab., Dept. of Computer Science & Technology Tsinghua University, Beijing 100084, China Tsinghua University, Beijing 100084, China

Upload: alden-barrera

Post on 31-Dec-2015

34 views

Category:

Documents


0 download

DESCRIPTION

Crosstalk Driven Routing Resource Assignment. Hailong Yao, Qiang Zhou, Xianlong Hong, Yici Cai EDA Lab., Dept. of Computer Science & Technology Tsinghua University, Beijing 100084, China. Outline. Backgrounds Preliminaries Crosstalk Noise Model CDRRA Algorithm Problem Formulation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Crosstalk Driven Routing Resource Assignment

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

Page 2: Crosstalk Driven Routing Resource Assignment

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

Page 3: Crosstalk Driven Routing Resource Assignment

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).

Page 4: Crosstalk Driven Routing Resource Assignment

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.

Page 5: Crosstalk Driven Routing Resource Assignment

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.

Page 6: Crosstalk Driven Routing Resource Assignment

23/4/1923/4/19 66

PreliminariesPreliminaries

1GRC

Fig.1 Global Routing Graph(GRG)GRG1v

e

v2

GRCi

Cells

Page 7: Crosstalk Driven Routing Resource Assignment

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

Page 8: Crosstalk Driven Routing Resource Assignment

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)

Page 9: Crosstalk Driven Routing Resource Assignment

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.

Page 10: Crosstalk Driven Routing Resource Assignment

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.

Page 11: Crosstalk Driven Routing Resource Assignment

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

Page 12: Crosstalk Driven Routing Resource Assignment

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.

Page 13: Crosstalk Driven Routing Resource Assignment

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. .

Page 14: Crosstalk Driven Routing Resource Assignment

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.

Page 15: Crosstalk Driven Routing Resource Assignment

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.

Page 16: Crosstalk Driven Routing Resource Assignment

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.

Page 17: Crosstalk Driven Routing Resource Assignment

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}

Page 18: Crosstalk Driven Routing Resource Assignment

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

Page 19: Crosstalk Driven Routing Resource Assignment

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

Page 20: Crosstalk Driven Routing Resource Assignment

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.

Page 21: Crosstalk Driven Routing Resource Assignment

23/4/1923/4/19 2121