210 likes | 219 Vues
This article presents a regularity-driven router for efficient routing of nets in high frequency datapath designs. The proposed approach extracts net-clusters and selects a representative bit-slice for routing same-bit and cross-bit nets. The router combines pattern-based routing and maze routing techniques to achieve optimal routing. Experimental results show that the router is at least 7X faster compared to existing routers.
E N D
A Regularity-Driven Fast Gridless Detailed Router for High Frequency Datapath Designs By Sabyasachi Das (Intel Corporation) Sunil P. Khatri (Univ. of Colorado, Boulder)
Motivation Proposed approach Extracting Net-Clusters Selecting a representative bit-slice Routing same-bit and cross-bit nets Propagating the routes Advantages of our approach Experimental results Conclusions & Future Work Outline
Datapath Designs • Datapath Designs are characterized by unique regularity present across bit-slices • One of the most critical parts in any circuit • Most commonly found in Microprocessor, DSP, graphic ICs. • Effective use of this regularity is crucial for efficient design of datapath • Datapath placement techniques are available • Not many results are available on datapath routing
Regularity in Datapath Circuits An important task is to efficiently route all the nets by using the regularity inherent in datapath circuits
Net-Cluster Extraction • Net-cluster is a collection of nets (spread over multiple bit-slices), in which all nets have similar connections. • Different algorithms to extract net-clusters: • Footprint-driven clustering • Instance-driven clustering • Cluster-merging
Footprint-driven Clustering • Footprints are of two types: • Global footprint contains the pin-names and master-cells (of connecting instances) names. • Detailed footprint contains the instance names and the net-name. • This clustering technique has two steps: • Groups are created from global footprint information. • By using Detailed footprint in each Group, net-clusters are obtained.
Footprint-driven Clustering • After Global Footprint, two Groups are obtained: • G1 = {LB[3:0], SB[3:0]} • G2 = {SM[3:0]} • After Detailed Footprint, three net-clusters are obtained: • From G1: • NC1 = {LB[3:0]} • NC2 = {SB[3:0]} • From G2: • NC3 = {SM[3:0]}
Instance-driven Clustering • Uses the location of connecting pins (does not need the uniform naming scheme). • After instance-clustering, two net-clusters are obtained (from same Group): • NC1 = {AB, CD, EF, GH} • NC2 = {KL, MN, RS, TV}
Cluster Merging • Multiple non-full clusters are merged. • FDC found 3 clusters: • NC1 = {LB[3:0]} • NC2 = {SM[1:0]} • NC3 = {SB[3:0]} • IDC found 1 cluster: • NC4 = {ABC, DEF} • Cluster merging technique merged NC2 and NC4 • NC-New = {ABC, DEF, SM[1], SM[0]}
Selecting Representative Bit-Slice • We conceptually extend datapath to have an infinite number of bit-slices. • Then, any slice can be chosen as representative bit-slice for routing. • While routing, we need to take care of: • Same-bit nets • Backward cross-bit nets • Forward cross-bit nets
Routing Nets in Representative Bit-Slice • Our routing approach is a combination of pattern-based routing and maze routing • We call our routing as strap-based routing, where a strap is defined as a straight segment, which can be vertical or horizontal. • Our router uses minimal memory, because it loads the design data of only representative bit-slice.
Routing Nets in Representative Bit-Slice • The router routes nets in a sequential manner: • The nets connected to topmost (Y-wise) pins are routed first. • Long nets are given preference. • Router tries to find direct-routes (only vertical or only horizontal strap or VTH/HTV strap) for nets. • In case of conflict, rip-up and re-route technique is used. • If strap-based router cannot find a route, maze router is used.
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 all those sub-nets into the representative bit-slice. • If maximum backward/forward connectivity is k, then we need to find k different routes (usually, value of k is not very high).
Propagating the Routes • After routing nets in representative bit-slice, similar routes are propagated to other nets in same net-cluster. • Following two cases are handled separately: • For same-bit nets: Routes are propagated identically • For cross-bit nets: If maximum degree of forward/backward connectivity is p, we find p different routes for that net & propagate them accordingly to the correct bit-slice’s net.
Advantages of Our Approach • Speed of Routing: Only a portion of nets are routed, making it really faster. • Easy Incremental Routing: Rip-up all the routes for a given net-cluster and again route them identically. This can be done multiple times. • Predictable Routes: Wiring parasitics are similar for different nets in a net-cluster. So, timing estimation is also similar. • Better Debuggability & Timing convergence: Easy to find and fix poorly routed nets.
Experimental Results (Circuits Used) These four industrial datapath designs are used
Experimental Results (run-time) Our router is at least 7X faster.
Experimental Results (wire-length) Average gain of our method is minimal.
Experimental Results (via-count) Less number of vias are used because of strap-based nature of our router.
Conclusions & Future Work • Regular routing technique is very useful for fast automated datapath design. • In future, we plan to focus on • Crosstalk issues in datapath routing • Handling irregular connectivity