Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "A Routing Technique for Structured Designs which Exploits Regularity Sabyasachi Das Intel Corporation Sunil P. Khatri Univ. of Colorado, Boulder."— Presentation transcript:

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

2 2 Outline  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

3 3 Motivation  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

4 4 Regularity in Datapath Circuits  Note vertical bit-slices  Goal:  Goal: exploit this regularity and thereby efficiently route the datapath design

5 5 Overall Routing Flow

6 6 Net-Cluster Extraction  A net-cluster is a collection of nets (spread over multiple bit-slices), in which all nets have similar connections.  net 1 and net 2 are in cluster N if foreach pin p net 1 and q net 2 :  y p = y q AND |x p – x q | = k * bit_pitch  Our algorithms to extract net-clusters:  Footprint-driven clustering  Instance-driven clustering  Cluster-merging

7 7 Footprint-driven Clustering  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)

8 8 Footprint-driven Clustering 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]}

9 9 Instance-driven Clustering  For unclustered nets, first apply global footprint step  For each such group  Consider net 1 and net 2 (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}

10 10 Cluster 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]}

11 11 Selecting the Representative Bit-Slice  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

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

13 13 Routing Same-bit Nets.. 2  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.

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

15 15 Propagating 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 n th 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

16 16 Advantages of Our Approach  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.???

17 17 Experimental Results (Circuits Utilized) Circuit# Instance# Connections# Bits Industry-11056550432 Industry-223681267232 Industry-346722918464 Industry-462084812864  We utilized industrial 32 and 64-bit datapath circuits

18 18 Experimental Results (Run-time) CircuitInd. RouterOur RouterRatio Industry-170120.17 Industry-2145260.18 Industry-3264360.14 Industry-4394420.11 Average0.15 at least 7X faster  Our router is at least 7X faster

19 19 Experimental Results (Wire-length) CircuitInd. RouterOur Router% Improvement Industry-147458467901.41 Industry-29745399476-2.07 Industry-3276456282569-2.21 Industry-45896795645684.25 Average0.35  Average wire-length reduction for our method is minimal

20 20 Experimental Results (Via-count) CircuitInd. RouterOur Router% Improvement Industry-16856567817.18 Industry-2258762233613.68 Industry-339568394520.28 Industry-444568429763.57 Average8.68  Our router utilizes fewer vias since it is strap-based.

21 21 Conclusions and Future Work  Our regular routing technique is a useful component in a total datapath design automation flow significant speed-up  Results in significant speed-up highly regular  Routes are highly regular  In future, we plan to focus on  Cross-talk aware datapath routing  Handling irregular net connectivity

22 22 Thank You!

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

Similar presentations

Ads by Google