9/4/2015 1 VLSI Physical Design Automation Prof. David Pan [email protected] Office: ACES 5.434...

31
06/27/22 1 VLSI Physical Design Automation Prof. David Pan [email protected] Office: ACES 5.434 Detailed Routing (I)

Transcript of 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan [email protected] Office: ACES 5.434...

Page 1: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

04/19/23 1

VLSI Physical Design Automation

Prof. David Pan

[email protected]

Office: ACES 5.434

Detailed Routing (I)

Page 2: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

204/19/23

After Global Routing: Detailed Routing

The routing regions are divided into channels and switchboxes.

So only need to consider the channel routing problem and the switchbox routing problem.

AA

BB

Page 3: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

304/19/23

Channel Routing for Different Styles

• For Gate-array design, channel widths are fixed. The goal is to finish routing of all the nets.

• For Standard-cell and Full-custom design, channels are expandable. The goal is to route all nets using the minimum channel width.

• We will consider the case when the channels are expandable.

Page 4: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

404/19/23

Channel Ordering

AA

BB

The width of A is not known untilThe width of A is not known untilA is routed, we must route A first.A is routed, we must route A first.

AA

BB

CC DDWhat should be the routingWhat should be the routingorder for this example?order for this example?

Page 5: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

504/19/23

Channel Ordering

CC DD

BB AA

No feasible No feasible channel order!channel order!

CC DD

BB AA

Need to use switchboxNeed to use switchbox

1. Fix the terminals between A & B1. Fix the terminals between A & B2. Route B, C, then D (channel)2. Route B, C, then D (channel)3. Route A (switchbox)3. Route A (switchbox)

Page 6: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

604/19/23

Routing Grid Models

• Grid-based model is the most commonly used.• We will focus on it in this course.

Grid-based RoutingGrid-based Routing Gridless RoutingGridless Routing

Page 7: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

704/19/23

Channel Routing Terminology

Upper boundaryUpper boundary

Lower boundaryLower boundary

TracksTracks

TerminalsTerminalsViaVia

TrunksTrunks BranchesBranches

DoglegDogleg

Page 8: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

804/19/23

Routing Layer Models

HV modelHV modelVH modelVH model

HVH modelHVH modelVHV modelVHV model

Layer 1Layer 1Layer 2Layer 2Layer 3Layer 3ViaVia

1 layer1 layer

2 layers2 layers

3 layers3 layers

Page 9: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

904/19/23

Channel Routing Problem

• Input: – Two vectors of the same length to represent the pins on two

sides of the channel.– Number of layers and layer model used.

• Output:– Connect pins of the same net together.– Minimize the channel width.– Minimize the number of vias.

Page 10: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1004/19/23

Channel Routing Problem

11 33 00 00 22 11 11 00

33 00 11 22 00 33 00 00

Example: (13002110) (30120300)where 0 = no terminal

Page 11: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1104/19/23

Constraint Graphs

00 11 66 11 22 33 55

66 33 55 44 00 22 44

Vertical constraint graphVertical constraint graph

00 11 66 11 22 33 55

66 33 55 44 00 22 44

11

22

3344

55

66

Horizontal constraint graphHorizontal constraint graph

1122

3344

55

66

11 2233

55 4466

Page 12: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1204/19/23

Lower Bound on Channel Width00 11 66 11 22 33 55

66 33 55 44 00 22 44

00 11 66 11 22 33 55

66 33 55 44 00 22 44

11 2233

55 4466

LocalLocaldensitydensity 11 33 44 44 44 44 22

Channel density =Channel density =Maximum local densityMaximum local density

Lower bound = 4Lower bound = 4

Lower bound on channel width = Channel density

Page 13: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

04/19/23 13

Left-edge Channel Routing Algorithm

“Wire Routing by Optimizing ChannelAssignment within Large Apertures”, A. Hashimoto and J. Stevens, DAC 1971, pages 155-169.

Page 14: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1404/19/23

Features of Left-edge Algorithm

• Assumptions:– One horizontal routing layer– No vertical constraint, e.g., VHV model

• Always gives a solution with channel width equal channel density, i.e., optimal solution.

00 00 00 22 00 11 00

00 11 00 00 00 22 00

2211

Vertical constraintVertical constraintmay occur here.may occur here.

Page 15: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1504/19/23

Left-edge Algorithm

1. Sort the horizontal segments of the nets in increasing order of their left end points.

2. Place them one by one greedily on the bottommost available track.

Page 16: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1604/19/23

Channel Density

Local density at column Cld(C) = # nets split by column C

Channel Densityd = max ld( C ) all C

Each net spans over an interval

Horizontal Constraint Graph(HCG)node : netedge: two intervals intersect

Size of max clique in HCG= channel density

A lower bound:# tracks channel density

a a

a

c

a

bd

ef

ld(x)

e

a

dc

b

f

Page 17: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1704/19/23

Thm: If the density of a set of intervals is d, then they can be packed into d tracks.Proof: I1=(a,b) I2=(c,d)Define: I1<I2 iff b<c or I1=I2

reflective: I1<I1

anti-symmetric: I1<I2, I2<I1 I1=I2

transitive: I1<I2, I2<I3 I1<I3

The interval set with binary relation < forms a partially ordered set (POSET)!!

Intervals in a track they form a chain Intervals intersecting a common column anti-chain

Dilworth’s theorem (1950): If the max anti-chain of a POSET is d, then the POSET can be partitioned into d chains

Interval PackingI6

ca b d

I4I3

I1I2

I5

I1

I5 I2

I3

I4

I6

Page 18: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1804/19/23

Left-Edge Algorithm for Interval PackingRepeat

create a new track t

Repeat

put leftmost feasible interval to t

until no move feasible interval

until no move interval

Interval are sorted according to their left endpoints

O(nlogn) time algorithm. Greedy algorithm works!

I6

I4I3

I1 I2

I5

I6

I4I3

I1

I2

I5

Page 19: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

1904/19/23

Left-edge Algorithm: Example

00 11 66 11 22 33 55

66 33 55 44 00 22 44

00 11 66 11 22 33 55

66 33 55 44 00 22 44

11

22

3355

44

66

1. Sort by left end points.1. Sort by left end points.

00 11 66 11 22 33 55

66 33 55 44 00 22 44

1166

2. Place nets greedily.2. Place nets greedily.

3355

4422

Page 20: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2004/19/23

Vertical Constraint Consideration

00 11 66 11 22 33 55

66 33 55 44 00 22 44

• The Left-edge algorithm ignores vertical constraints.• When there is only one vertical layer, the algorithm will

produce overlapping of vertical wire segments.

Page 21: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2104/19/23

Lower Bound on Channel Width

00 11 66 11 22 33 55

66 33 55 44 00 22 44

11

22

3344

55

66

Lower bound = 3Lower bound = 3

Length of the longestpath in the vertical con-straint graph

Page 22: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2204/19/23

Lower Bound on Channel Width

density Channel

VCG in thepath longest theofLength max

widthchannelon boundLower

Page 23: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2304/19/23

Constrained Left-edge Algorithm

• Consider vertical constraints.• Similar to the Left-edge algorithm.• Modifications: Place a horizontal segment only if it

does not have any unplaced descendants in the vertical constraint graph Gv. Place it on the bottommost available track above all its descendents in Gv.

Page 24: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2404/19/23

Constrained Left-edge Algorithm

00 11 66 11 22 33 55

66 33 55 44 00 22 44

Vertical constraint graphVertical constraint graph

00 11 66 11 22 33 55

66 33 55 44 00 22 44

11

22

3355

44

66

1. Sort the left end points.1. Sort the left end points.

00 11 66 11 22 33 55

66 33 55 44 00 22 44

2. Place nets greedily.2. Place nets greedily.

11

22

3344

55

66

4455

66 223311

Page 25: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2504/19/23

Cycles in Vertical Constraint Graph

11 00 22

22 00 11

Vertical Vertical

constraintconstraint

graphgraph

11

22

• If there is cycle in the vertical constraint graph, the channel is not routable.

• Dogleg can solve the problem.11 00 22

22 00 11

Page 26: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2604/19/23

Reduce Channel Width by Dogleg

Even without cycle in the VCG, Dogleg is useful because it can reduce channel width.

11 11 22 22 00

00 22 00 33 33

Without doglegWithout dogleg With doglegWith dogleg

???

Page 27: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2704/19/23

Deutch’s Dogleg Algorithm

• Split each multi-terminal net into several horizontal segments.

• Split only at columns that contain a pin of the net, i.e., using restricted dogleg only.

• Apply the Constrained Left-edge algorithm.

11 11 22 22 00

00 22 00 33 33

Restricted doglegRestricted dogleg11 11 00 22 00

00 22 00 33 33

Unrestricted doglegUnrestricted dogleg

Page 28: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2804/19/23

Deutch’s Dogleg Algorithm

VerticalVertical

constraintconstraint

graphgraph

11

44

3322

11 11 22 00 22 33

22 33 00 33 44 44

112233

44

Routing without dogleg?Routing without dogleg?

Vertical constraint graph after splitting?Vertical constraint graph after splitting?Routing with dogleg?Routing with dogleg?

Page 29: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

2904/19/23

Deutch’s Dogleg Algorithm

VerticalVerticalconstraintconstraint

graphgraphafterafter

splittingsplitting

11 11 22 00 22 33

22 33 00 33 44 44

112a2a 2b2b

3a3a 3b3b44

Without doglegWithout dogleg By Deutch’s Dogleg alg.By Deutch’s Dogleg alg.

???

??????

Page 30: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

3004/19/23

Drawbacks of the ConstrainedLeft-edge Algorithm

00 00 11 33 33 00

11 22 00 00 22 0022

11 33VerticalVertical

constraintconstraint

graphgraph

00 00 11 33 33 00

11 22 00 00 22 00

By Constrained Left- By Constrained Left- edge algorithmedge algorithm

There is a betterThere is a bettersolution...solution...

Page 31: 9/4/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Detailed Routing (I)

3104/19/23

What’s wrong with the Constrained Left-edgeWhat’s wrong with the Constrained Left-edgealgorithm?algorithm?

The Constrained Left-edge algorithm does notThe Constrained Left-edge algorithm does nottake care of the vertical and horizontal constraintstake care of the vertical and horizontal constraintstogether optimally.together optimally.

Drawbacks of the ConstrainedLeft-edge Algorithm