Download presentation
Presentation is loading. Please wait.
Published byBailey Hasler Modified over 9 years ago
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.