A Routing Technique for Structured Designs which Exploits Regularity

22
A Routing Technique A Routing Technique for Structured Designs for Structured Designs which Exploits which Exploits Regularity Regularity Sabyasachi Das Intel Corporation Sunil P. Khatri Univ. of Colorado, Boulder

description

A Routing Technique for Structured Designs which Exploits Regularity. Sabyasachi Das Intel Corporation Sunil P. Khatri Univ. of Colorado, Boulder. Motivation Our routing approach Extracting Net-Clusters Selecting a representative bit-slice Routing same-bit and cross-bit nets - PowerPoint PPT Presentation

Transcript of A Routing Technique for Structured Designs which Exploits Regularity

Page 1: A Routing Technique for Structured Designs which Exploits Regularity

A Routing Technique for A Routing Technique for Structured Designs Structured Designs

which Exploits which Exploits RegularityRegularity

Sabyasachi DasIntel Corporation

Sunil P. Khatri Univ. of Colorado, Boulder

Page 2: A Routing Technique for Structured Designs which Exploits Regularity

2

OutlineOutline

Motivation Our routing approach

Extracting Net-Clusters Selecting a representative bit-slice Routing same-bit and cross-bit nets Route Propagation

Advantages of our approach Experimental results Conclusions & future work

Page 3: A Routing Technique for Structured Designs which Exploits Regularity

3

MotivationMotivation Datapath designs

Characterized by regularity across bit-slices One of the more critical parts of the design Commonly found in microprocessors, DSP, graphic

ICs.

Effective exploitation of regularity is crucial for efficient datapath design automation Datapath placement techniques are available Not many results are available on datapath routing

Page 4: A Routing Technique for Structured Designs which Exploits Regularity

4

Regularity in Datapath Regularity in Datapath CircuitsCircuits

Note vertical bit-slices Goal:Goal: exploit this regularity and thereby

efficiently route the datapath design

Page 5: A Routing Technique for Structured Designs which Exploits Regularity

5

Overall Routing FlowOverall Routing Flow

Page 6: A Routing Technique for Structured Designs which Exploits Regularity

6

Net-Cluster ExtractionNet-Cluster Extraction

A net-cluster is a collection of nets (spread over multiple bit-slices), in which all nets have similar connections. net1 and net2 are in cluster N if foreach pin p net1

and q net2: yp = yq AND |xp – xq| = k * bit_pitch

Our algorithms to extract net-clusters: Footprint-driven clustering Instance-driven clustering Cluster-merging

Page 7: A Routing Technique for Structured Designs which Exploits Regularity

7

Footprint-driven Footprint-driven ClusteringClustering Computationally inexpensive

Footprints (of a net) are of two types: Global footprint contains the pin-names (of

connecting instances) and master-cell names. Detailed footprint contains the instance names and

the net-name.

The FDC technique has two steps:1. Groups are created such that each net in the group

has the same global footprint.

2. Create net clusters from nets in a group with identical detailed footprints (modulo bit-slice index)

Page 8: A Routing Technique for Structured Designs which Exploits Regularity

8

Footprint-driven Footprint-driven ClusteringClustering

1. Global footprint step: two groups created

G1 = {LB[3:0], SB[3:0]}

G2 = {SM[3:0]}

2. Detailed footprint step: three net-clusters are obtained: From G1:

NC1 = {LB[3:0]}

NC2 = {SB[3:0]}

From G2: NC3 = {SM[3:0]}

Page 9: A Routing Technique for Structured Designs which Exploits Regularity

9

Instance-driven Instance-driven ClusteringClustering

For unclustered nets, first apply global footprint step

For each such group Consider net1 and net2 (p-pin)

Sort the pins by y-coordinate Insert these in a cluster if:

Sorted y-coordinates of pins all p pins match

Corresponding x-coordinates are k bit-pitches apart

IDC does not rely on uniform net names

In the example, two net-clusters are obtained:

NC1 = {AB, CD, EF, GH}

and NC2 = {KL, MN, RS, TV}

Page 10: A Routing Technique for Structured Designs which Exploits Regularity

10

Cluster MergingCluster Merging Net clusters obtained by FDC

and IDC may be further merged

In the example: FDC finds 3 clusters:

NC1 = {LB[3:0]}NC2 = {SM[1:0]}NC3 = {SB[3:0]}

IDC finds 1 cluster:NC4 = {ABC, DEF}

Cluster merging merges NC2 and NC4

NC-New = {ABC, DEF, SM[1], SM[0]}

Page 11: A Routing Technique for Structured Designs which Exploits Regularity

11

Selecting the Selecting the Representative Bit-Representative Bit-

SliceSlice We conceptually extend the datapath to have an infinite number of bit-slices.

Any bit-slice can be chosen as the representative bit-slice for routing.

While routing, we need to account for: “Same-bit” nets Backward “cross-bit” nets Forward “cross-bit” nets

Page 12: A Routing Technique for Structured Designs which Exploits Regularity

12

Routing Same-bit NetsRouting Same-bit Nets Our routing approach is a combination of pattern-

based routing and maze routing We call our approach strap-based routing. A strap

is defined as a straight segment, which can be vertical or horizontal.

Our router utilizes minimal memory, since it loads the design data of one (representative) bit-slice.

As a result, our method is significantly faster than traditional routing approaches in the datapath context.

Page 13: A Routing Technique for Structured Designs which Exploits Regularity

13

Routing Same-bit Nets .. Routing Same-bit Nets .. 22 Our router routes nets in a sequential manner:

Nets routed in decreasing order of y-coordinate of their topmost pins.

Longer nets are given preference. User may specify a different order

Router tries to find direct-routes (only vertical or only horizontal strap or VTH/HTV strap). If a direct route is unavailable, more complex patterns are

attempted.

Rip-up and re-route if there is a conflict.

If strap-based router cannot find a route, maze router is used.

Page 14: A Routing Technique for Structured Designs which Exploits Regularity

14

Routing Cross-Bit NetsRouting Cross-Bit Nets We model a single cross-bit net (spread over

multiple bit-slices), as a combination of multiple smaller sub-nets Each confined within a single bit-slice.

We virtually instantiate these sub-nets into the representative bit-slice.

If maximum backward/forward connectivity is k, then we need to find k different routes This ensures that the k distinct routes do not conflict

in the real design In practice, the value of k is not very high.

Page 15: A Routing Technique for Structured Designs which Exploits Regularity

15

Propagating the RoutesPropagating the Routes After routing nets in the representative bit-slice,

these routes are propagated to other bit-slices (for other nets in same net-cluster).

There are two cases: For same-bit nets: The original route is propagated

by simple coordinate translation For cross-bit nets: If maximum degree of

forward/backward connectivity is k: For the nth net in the net cluster, we propagate the (n%k)th

route (of the k routes we obtained in the previous step) This ensures that the propagated routes do not conflict

Page 16: A Routing Technique for Structured Designs which Exploits Regularity

16

Advantages of Our Advantages of Our ApproachApproach Speed of Routing:

A small fraction of nets are routed, the rest are propagated.

Lower memory requirement: Since only one bit-slice is routed

Predictable Routes: Wiring parasitics are similar for different nets in a net-cluster.

Better Debuggability : Easy to find and fix poorly routed nets since (similarly routed)

nets would typically all fail timing

Easy Incremental Routing: Rip-up all the routes for a given net-cluster and again route them identically. This can be done multiple times.???

Page 17: A Routing Technique for Structured Designs which Exploits Regularity

17

Experimental Results Experimental Results (Circuits Utilized)(Circuits Utilized)

Circuit # Instance # Connections # Bits

Industry-1 1056 5504 32

Industry-2 2368 12672 32

Industry-3 4672 29184 64

Industry-4 6208 48128 64

We utilized industrial 32 and 64-bit datapath circuits

Page 18: A Routing Technique for Structured Designs which Exploits Regularity

18

Experimental Results Experimental Results (Run-time)(Run-time)

Circuit Ind. Router Our Router Ratio

Industry-1 70 12 0.17

Industry-2 145 26 0.18

Industry-3 264 36 0.14

Industry-4 394 42 0.11

Average 0.15

Our router is at least 7X fasterat least 7X faster

Page 19: A Routing Technique for Structured Designs which Exploits Regularity

19

Experimental Results Experimental Results (Wire-length)(Wire-length)

Circuit Ind. Router Our Router % Improvement

Industry-1 47458 46790 1.41

Industry-2 97453 99476 -2.07

Industry-3 276456 282569 -2.21

Industry-4 589679 564568 4.25

Average 0.35

Average wire-length reduction for our method is minimal

Page 20: A Routing Technique for Structured Designs which Exploits Regularity

20

Experimental Results Experimental Results (Via-count)(Via-count)

Circuit Ind. Router Our Router % Improvement

Industry-1 6856 5678 17.18

Industry-2 25876 22336 13.68

Industry-3 39568 39452 0.28

Industry-4 44568 42976 3.57

Average 8.68

Our router utilizes fewer vias since it is strap-based.

Page 21: A Routing Technique for Structured Designs which Exploits Regularity

21

Conclusions and Future Conclusions and Future WorkWork

Our regular routing technique is a useful component in a total datapath design automation flow Results in significant speed-upsignificant speed-up Routes are highly regularhighly regular

In future, we plan to focus on Cross-talk aware datapath routing Handling irregular net connectivity

Page 22: A Routing Technique for Structured Designs which Exploits Regularity

22

Thank You!Thank You!