A Routing Technique for Structured Designs which Exploits Regularity
description
Transcript of A Routing Technique for Structured Designs which Exploits Regularity
![Page 1: A Routing Technique for Structured Designs which Exploits Regularity](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/5.jpg)
5
Overall Routing FlowOverall Routing Flow
![Page 6: A Routing Technique for Structured Designs which Exploits Regularity](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022070418/56815a30550346895dc76fc6/html5/thumbnails/22.jpg)
22
Thank You!Thank You!