semi-detailed bus routing with variation reduction

28
Semi-Detailed Bus Routing with Variation Reduction Fan Mo, Synplicity Robert Brayton, UC Berkeley Presented by: Philip Chong, Cadence

Upload: audra-hoffman

Post on 04-Jan-2016

73 views

Category:

Documents


0 download

DESCRIPTION

Semi-Detailed Bus Routing with Variation Reduction. Fan Mo, Synplicity Robert Brayton, UC Berkeley Presented by: Philip Chong, Cadence. Outline. Why bus routing. The “orientation determination” problem. Bus routing flow overview. The algorithm. Experimental results. Future work. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Semi-Detailed Bus Routing with Variation Reduction

Semi-Detailed Bus Routing with Variation Reduction

Fan Mo, SynplicityRobert Brayton, UC Berkeley

Presented by:Philip Chong, Cadence

Page 2: Semi-Detailed Bus Routing with Variation Reduction

Outline

• Why bus routing.

• The “orientation determination” problem.

• Bus routing flow overview.

• The algorithm.

• Experimental results.

• Future work.

Page 3: Semi-Detailed Bus Routing with Variation Reduction

Why Bus Routing• Bit-wise wire length/delay matching.

• Save runtime.– Routing a representative bit (what we call

virtual net).

• Usually better routability– Less twisting and entangling.

• Better variation immunity.– All bits receive similar variations.

Page 4: Semi-Detailed Bus Routing with Variation Reduction

Existing Bus Routers• Route a representative bit rather than all bits.

– Persky and Tran, DAC 84

• Fanout-1 bus

– Rafiq et al, ISPD 02

• 0-bend, 1-bend, 2-bend bus topologies.

– Xiang et al, DAC 03

– Law and Young, ISPD 05

– Chen and Chang, ISPD 05

Page 5: Semi-Detailed Bus Routing with Variation Reduction

The Turning Points!

normal routingblockage

bused pin

turning points

• The arrangement of the turning points is the key to successful bus routing.

Page 6: Semi-Detailed Bus Routing with Variation Reduction

The Node Orientation

• The virtual net– An abstract view of the

bus.– Bused pins become pin

nodes.– All other points become

non-pin nodes.

• The arrangement of the bits at a node is called the “orientation”.

– The direction from LSB towards MSB.

non-pin node

pin node

Page 7: Semi-Detailed Bus Routing with Variation Reduction

Orientation and Orientation Set• A pin node has a fixed orientation.

– Always 0o or 90o (N, W, S or E)

• A non-pin node may have several possible orientations.

– Always 45o (NE, NW, SE, SW)

• All possible orientations of a node form an orientation set.

N E S W

pin nodesOr.Set

(single orientation)

non-pin nodesOr.Set

NW NE SW SE NH EV SH WV TP TN AL

Page 8: Semi-Detailed Bus Routing with Variation Reduction

Orientation and Orientation Set• Adjacent nodes must have compatible orientation

sets.

N

S

SW

NW

SH

AL

W

WV

N

S

NW

N

??

empty orientation set

Page 9: Semi-Detailed Bus Routing with Variation Reduction

Orientation and Orientation Set

invalid

TP TP

TN TN

TP

TN

TP TP

<W

invalid invalid valid

• Special case: “Interlocking”.– When two non-pin nodes are connected by a short

segment, the connection must be a Z-shape.– The orientation sets of the two nodes are interlocked.

What is short? Distance less than the all-bit routing width of the bus.

Page 10: Semi-Detailed Bus Routing with Variation Reduction

Bus Routing Flow

done

succeed?

orientation determinationdeviation minimization

virtual netrouting

orientation setgeneration

fixes

virtual net tobus translation

fail

enoughiterations?

preparation

yes

yes

no

no

succeed?

yes

no

start

done

check only bus routing & minimization

Page 11: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm

done

succeed?

orientation determinationdeviation minimization

virtual netrouting

orientation setgeneration

fixes

virtual net tobus translation

fail

enoughiterations?

preparation

yes

yes

no

no

succeed?

yes

no

start

done

check only bus routing & minimization

Page 12: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 1: Preparation

P0

normal routingblockage

bussed pin

LSB

MSB

P0

W

W

W

addedblockage

pair

expansion ofnormal blockage

W/2

Page 13: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 2: Virtual net routing

P0

Page 14: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 3: Orientation set generation

E

NN

N

NW

SP0

interlocking

NH

ALNH

AL

NH

ALEV

WV

Page 15: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 4: Fix

– Add extra blockage to avoid using certain segments.

– Re-route (Step 2).– Redo orientation set generation (Step

3).– Try a few times. If still fails, abort.

Page 16: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 5: Orientation determination and

deviation reduction– A forward propagation from the driver pin

node can determine the orientation for each node (from its orientation set).

– Flexibility may exist, if for certain nodes, more than one orientation are valid choices.

– Such flexibility allows minimization of bit-wise driver-load wire length/delay deviation.

Bit-wise wire length deviation = the (absolute) difference between MSB driver-load length and LSB driver-load length.

Page 17: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 5: Orientation determination and deviation

reduction– No minimization: One round of forward propagation

determines the orientations for all nodes. Complexity O(U), where U is number of nodes.

P0

2

2

2

3 E

NN

N

NW

S

NW

NWALNH

NH

ALEVAL

WVP0

NH

orientation sets no minimization

Page 18: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm• Step 5: Orientation determination and deviation

reduction– Minimizing total/maximum deviation: Implicitly enumerate

possible combinations and pick the best one. Complexity O(F×U), where F is fanout.

P00

0

0

3

P00

2

2

minimizing max deviationminimizing total deviation

Page 19: Semi-Detailed Bus Routing with Variation Reduction

The Algorithm

method total deviation

max deviation

no minimization 11Δ 3Δ

minimizing total deviation 5Δ 3Δ

minimizing max deviation 7Δ 2Δ

• Step 5: Orientation determination and deviation reduction

Page 20: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 1• 1024 unit-tests (single bus routing)

– Bit-width=8,16,32,64.– Fanout=1~16.– 0~2 random routing blockages.

• Our bus router (this) is compared with a bus-aware reference router (rrouter).

Page 21: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 1• Success rate.

both routers succeedthis succeed only

rrouter succeed onlyboth fail

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

bit-width=8 bit-width=16

succ

ess

rate

fanout fanout

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

bit-width=32 bit-width=64

fanout fanout

succ

ess

rate

Page 22: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 1“this” vs “rrouter”

• Run time: 20X faster.

• Wire length: Better when fanout<11; 2% longer when fanout approaches 16.

• Ave. driver-load wire length deviation: 188% less.

• Max. driver-load wire length deviation: 469% less.

• Ave. driver-load delay deviation: 286% less.

• Max. driver-load delay deviation: 273% less.

Page 23: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 1• Under variation.

0.1%/um0

“rrouter” has max bit-wise delay deviation of 25ps, while “this” has only 7ps.

Page 24: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 2

Comparison of two flows- the reference router (rrouter)- our router routes bus, forward annotate and then the reference

router finishes the rest (this+rr)

  total wire length (m) #via runtime (min:sec)

design rrouter this+rr rrouter this+rr rrouter this+rr

A1 425823 421889 4257 3621 3:25 3:27

A2 779634 781627 7213 6092 5:11 4:45

A3 1013562 1000581 8605 6669 1:25 1:10

A4 7472888 7453371 6894 4927 3:59 3:54

A5 5770986 5755639 27482 22471 3:57 4:08

Total wire length and via number

• 5 real designs.

0.5% shorter 25% less 7.5% faster

Page 25: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 2

  average deviation maximum deviation max dev w/ variation

design rrouter this+rr rrouter this+rr rrouter this+rr

A1 24.1 6.57 64.1 19.3 68.0 19.3

A2 42.5 8.34 113 18.9 121 19.7

A3 33.2 9.49 79.5 22.0 84.1 28.4

A4 54.1 7.95 265 21.1 542 70.6

A5 45.9 9.16 162 22.8 266 40.9

Average/max driver-load delay deviations (ps)(buses only)

3X smaller 6X smaller

Page 26: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 2Final routing of design “A4”

by rrouter

Page 27: Semi-Detailed Bus Routing with Variation Reduction

Experimental Results 2Final routing of design “A4”

by this+rr

Page 28: Semi-Detailed Bus Routing with Variation Reduction

Future Work• Embed the algorithm in floorplanning,

global routing …

• Bus validity checking for designers manually floorplanning modules.