dr. cu 2.0: a scalable detailed routing framework with ... · multi-threaded maze routing...

31
Dr. CU 2.0: A Scalable Detailed Routing Framework with Correct-by-Construction Design Rule Satisfaction * Haocheng Li, Gengjie Chen, Bentian Jiang, Jingsong Chen, Evangeline F. Y. Young * Source code is available at hps://github.com/cuhk-eda/dr-cu. 1 / 26

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Dr. CU 2.0: A Scalable Detailed Routing Frameworkwith Correct-by-Construction Design Rule Satisfaction∗

Haocheng Li, Gengjie Chen, Bentian Jiang, Jingsong Chen,Evangeline F. Y. Young

∗Source code is available at h�ps://github.com/cuhk-eda/dr-cu.1 / 26

Page 2: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Outline

Introduction

Preliminary

Algorithms

Experimental Results

Conclusion

2 / 26

Page 3: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Outline

Introduction

Preliminary

Algorithms

Experimental Results

Conclusion

3 / 26

Page 4: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Detailed Routing

Figure 1: �ad-Core Design [Liu et al. 2019].

I 1M nets in 20K × 20K × 10 grid points, hardlyrouted by ILP-based a or SAT-based b methods.

I Complicated design rules:I Parallel run length (PRL) spacing c.I End-of-line (EOL) spacing.I EOL spacing with parallel edges d.I Corner-to-corner (C2C) spacing e.

a[Kahng, Wang, and Xu 2018]b[Park et al. 2019]c[Qi, Cai, and Zhou 2015]d[Yu et al. 2015]e[Côté, Pierrat, and Hurat 2004]

3 / 26

Page 5: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Problem Formulation

GivenI technology node and design rules,I placement result with netlist,I routing tracks and blockages, andI route guides generated from global routing,

route all nets minimizing a weighted sum ofI total wire-length and via count,I out-of-guide, o�-track, wrong-way usage, andI design rule violations.

4 / 26

Page 6: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Contributions

For Each Rip-up and Reroute Iteration

Access Point Assignment

Multi-threaded Maze Routing

Multi-threaded Via Selection

Post-routing Refinement

Figure 2: Detailed Routing Flow.

I Compute valid access points of each pin andcreate o�-track vias if no same-layer accesspoint is valid.

I Handle end-of-line spacing with parallel edgesin a correct-by-construction manner.

I Fix corner-to-corner spacing violations inpost-processing.

I Develop a lookup-table-based via insertionmethod and select violation-free via types fromthe cell library.

5 / 26

Page 7: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Outline

Introduction

Preliminary

Algorithms

Experimental Results

Conclusion

6 / 26

Page 8: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Two-Level Sparse Data Structures

routing region of a net routing topologylocal grid graph

global grid graph

record

edge

usage

maze

route

querycache

Figure 3: Global and Local Grid Graph.

6 / 26

Page 9: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Parallel Run Length Spacing

R1

R2

R2

R2

w2

w1

lt

lb

sb

smst

Figure 4: Parallel Run Length Spacing.

The parallel run length (PRL)spacing requirements between twowires of di�erent nets depend onboth width and PRL of the twowires.

7 / 26

Page 10: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

End-of-line Spacing

Figure 5: Example of Triple Pa�erning Layout Decomposition †.

eolWithin

eolWidth

eolSpace

Metal

EOL Spacing

Figure 6: EOL Spacing without Parallel Edges.

eolWithin

eolWidth

eolSpace

Metal

EOL Spacing

parSpace

eolWithin parWithin

Parallel Edge Region

Figure 7: EOL Spacing with Parallel Edges.

†[Yu et al. 2015] 8 / 26

Page 11: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Corner-to-Corner Spacing

w eolWidth<latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit><latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit>

w eolWidth<latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit><latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit>

Figure 8: C2C spacing does not apply.

w > eolWidth<latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit><latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit>

w > eolWidth<latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit><latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit>

Figure 9: C2C spacing applies.

9 / 26

Page 12: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Outline

Introduction

Preliminary

Algorithms

Experimental Results

Conclusion

10 / 26

Page 13: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Local Grid Graph Construction

Metal 1 Metal 2

(a) Before Expansion. (b) A�er Expansion.

Figure 10: Unconnected Route Guides.

I Expand route guides in preferredrouting direction for full connections.

I Expand in x- and y-direction for eachrip-up-and-reroute iteration.

I Extend to adjacent layers if thenumbers of violations exceed athreshold.

10 / 26

Page 14: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Pin Access

I Assign same-layer surrounding grid points as access points by default.I Use di�-layer access points by an o�-track via if no valid same-layer access points.I Penalize other nets for using grid points above/below it before it is connected.

DSI

SE

OBS

Figure 11: No valid same-layer access point.

DSI

SE

OBS

Figure 12: Use o�-track via

11 / 26

Page 15: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Via Type Selection Flow

For Each Rip-up and Reroute Iteration

LUT Construction

Multi-threaded Via Locationing

Multi-threaded Type Selection

Post-routing Type Selection

Figure 13: Detailed Routing Flow.

I Construct via conflict lookup tables (LUTs).I Determine via locations and generate routing

topology for a net.I Perform via type selection for the net.I Finally decide via type globally in a post

refinement stage.

12 / 26

Page 16: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Via Conflict Lookup Table

I Via-pin/obstacle conflicts.I Via-wire conflicts.I Via-via conflicts.

M3 track

M4 track

candidate via using via type 1

conflict w.r.t. neighboring via

using via type 2

violation-free locations

forbidden locations/region

neighboring via using via type 2

Figure 14: Via-via LUT.

13 / 26

Page 17: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Pessimistic Lookup Table

I Checking every via-typeduring routing istime-consuming.

I Merged LUTs records allsuspicious conflicts.

I Suspicious conflicts can beverified when the via typesare determined.

M3 track

M4 track

candidate via using via type 1

conflict w.r.t. via using via type 1

conflict w.r.t. via using via type 2

conflict w.r.t. via using via type 3

violation-free locations

forbidden regions union

Figure 15: Merged Via-via LUT.

14 / 26

Page 18: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Parallel Run Length Spacing Handling

R1

R2

R2

R2

w2

w1

lt

lb

sb

smst

Figure 16: Parallel Run Length Spacing.

Figure 17: Spacing Table

Parallel Run Length0.00 0.22 0.47 0.63 1.50

Wid

th

0.00 0.05 0.05 0.05 0.05 0.050.09 0.05 0.06 0.06 0.06 0.060.16 0.05 0.10 0.10 0.10 0.100.47 0.05 0.10 0.13 0.13 0.130.63 0.05 0.10 0.13 0.15 0.151.50 0.05 0.10 0.13 0.15 0.50

Penalize some tracks along power and ground rails.

15 / 26

Page 19: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

End-of-line Spacing Handling

Assume that a parallel edge exist to avoid blocking neighboring tracks.

eolWithin

eolWidth

eolSpace

Metal

EOL Spacing

Figure 18: EOL Spacing without Parallel Edges.

eolWithin

eolWidth

eolSpace

Metal

EOL Spacing

parSpace

eolWithin parWithin

Parallel Edge Region

Figure 19: EOL Spacing with Parallel Edges.

16 / 26

Page 20: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Corner-to-Corner Spacing HandlingSlightly extend an on-track wire segment that connects a wrong-way wire segment.

w > eolWidth<latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit><latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit>

w > eolWidth<latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit><latexit sha1_base64="ttTCwZFMox0LwI3sFQk9NA4SxyU=">AAAB9XicbVA9SwNBEN3zM8avqKXNYiJYhbs0ppKAjWUE8wHJGfb25pIle7vH7p4hHPkfNhaK2Ppf7Pw3bpIrNPHBwOO9GWbmBQln2rjut7OxubW9s1vYK+4fHB4dl05O21qmikKLSi5VNyAaOBPQMsxw6CYKSBxw6ATj27nfeQKlmRQPZpqAH5OhYBGjxFjpsTLBNxgk77DQjCqDUtmtugvgdeLlpIxyNAelr34oaRqDMJQTrXuemxg/I8owymFW7KcaEkLHZAg9SwWJQfvZ4uoZvrRKiCOpbAmDF+rviYzEWk/jwHbGxIz0qjcX//N6qYnqfsZEkhoQdLkoSjk2Es8jwCFTQA2fWkKoYvZWTEdEEWpsUEUbgrf68jpp16qeW/Xua+VGPY+jgM7RBbpCHrpGDXSHmqiFKFLoGb2iN2fivDjvzseydcPJZ87QHzifP/WzkXc=</latexit>

(a)

w eolWidth<latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit><latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit>

w eolWidth<latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit><latexit sha1_base64="Xjl2NlYS/IYscB7kNQ47CiBlpoA=">AAAB+XicbVBNS8NAEN34WetX1KOXxVbwVJJe7LHgxWMF+wFtKJvNpF262Q27m0oJ/SdePCji1X/izX/jts1BWx8MPN6bYWZemHKmjed9O1vbO7t7+6WD8uHR8cmpe3be0TJTFNpUcql6IdHAmYC2YYZDL1VAkpBDN5zcLfzuFJRmUjyaWQpBQkaCxYwSY6Wh61af8IADBsm7LDLj6tCteDVvCbxJ/IJUUIHW0P0aRJJmCQhDOdG673upCXKiDKMc5uVBpiEldEJG0LdUkAR0kC8vn+Nrq0Q4lsqWMHip/p7ISaL1LAltZ0LMWK97C/E/r5+ZuBHkTKSZAUFXi+KMYyPxIgYcMQXU8JklhCpmb8V0TBShxoZVtiH46y9vkk695ns1/6FeaTaKOEroEl2hG+SjW9RE96iF2oiiKXpGr+jNyZ0X5935WLVuOcXMBfoD5/MHLd6Sqw==</latexit>

(b) (c) (d)

Figure 20: (a) Via applied to C2C. (b) Via not applied to C2C. (c) Wrong-way wire applied to C2C.(d) Wrong-way wire not applied to C2C.

17 / 26

Page 21: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Outline

Introduction

Preliminary

Algorithms

Experimental Results

Conclusion

18 / 26

Page 22: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Comparison with 1st in ISPD 2019 Contest ‡

0 0.5 1 1.5

# Short

# PRL

Score

Time

1

1

1

1

1.37

1.08

1.02

0.67

Average Ratio

1stOurs

0 1 2·108

9t1

9t2

9t3

9t4

9t5

9t6

9t7

9t8

9t9

9t10

Score

1stOurs

‡[Liu et al. 2019] 18 / 26

Page 23: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Comparison with 1st in ISPD 2019 Contest §

0 2,000 4,000 6,000 8,000

9t1

9t2

9t3

9t4

9t5

9t6

9t7

9t8

9t9

9t10

Number of Shorts

1stOurs

0 1 2·104

9t1

9t2

9t3

9t4

9t5

9t6

9t7

9t8

9t9

9t10

Number of PRLs

1stOurs

§[Liu et al. 2019]19 / 26

Page 24: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Comparison with [Chen et al. 2019]

0 1 2

Score

Time

1

1

1.69

0.85

Average Ratio

ChenOurs

0 0.5 1·108

8t1

8t2

8t3

8t4

8t5

8t6

8t7

8t8

8t9

8t10

Score

ChenOurs

20 / 26

Page 25: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Comparison with [Chen et al. 2019]

0 0.5 1 1.5·105

8t1

8t2

8t3

8t4

8t5

8t6

8t7

8t8

8t9

8t10

Short Area

ChenOurs

0 1 2·104

8t1

8t2

8t3

8t4

8t5

8t6

8t7

8t8

8t9

8t10

Number of Spacing Violations

ChenOurs

21 / 26

Page 26: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Comparison between Di�erent Se�ings

0 100 200

9t1

9t2

9t3

9t4

9t5

9t6

9t7

9t8

9t9

9t10

ISPD’19 �ality Score (×106)

(a) Upper-layer Access Points with O�-track Vias.

wo/ upper accessw/ upper access

0 100 200

9t1

9t2

9t3

9t4

9t5

9t6

9t7

9t8

9t9

9t10

ISPD’19 �ality Score (×106)

(b) Layer Expansion of Local Grid Graphs.

wo/ layer expansionw/ layer expansion

22 / 26

Page 27: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Outline

Introduction

Preliminary

Algorithms

Experimental Results

Conclusion

23 / 26

Page 28: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Conclusion

I Compute valid access points of each pin and create o�-track vias.

I Handle end-of-line spacing with parallel edges during routing.

I Fix corner-to-corner spacing violations in post-processing.

I Develop a lookup-table-based via insertion method.

23 / 26

Page 29: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

Thanks!

�estions?

24 / 26

Page 30: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

References I

Chen, Gengjie, Chak-Wa Pui, Haocheng Li, Jingsong Chen, Bentian Jiang, andEvangeline FY Young (2019). “Detailed routing by sparse grid graph andminimum-area-captured path search”. In: Proceedings of the 24th Asia and SouthPacific Design Automation Conference. ACM, pp. 754–760.

Côté, Michel Luc, Christophe Pierrat, and Philippe Hurat (Oct. 2004). Accelerated layoutprocessing using OPC pre-processing. US Patent 6,807,663.

Kahng, Andrew B, Lutong Wang, and Bangqi Xu (2018). “TritonRoute: an initial detailedrouter for advanced VLSI technologies”. In: IEEE/ACM International Conference onComputer-Aided Design (ICCAD). IEEE, pp. 1–8.

Liu, Wen-Hao, Stefanus Mantik, Wing-Kai Chow, Yixiao Ding, Amin Farshidi, andGracieli Posser (2019). “ISPD 2019 Initial Detailed Routing Contest and Benchmarkwith Advanced Routing Rules”. In: Proceedings of the 2019 International Symposium onPhysical Design. ACM, pp. 147–151.

25 / 26

Page 31: Dr. CU 2.0: A Scalable Detailed Routing Framework with ... · Multi-threaded Maze Routing Multi-threaded Via Selection Post-routing Re!nement Figure 2:Detailed Routing Flow. I Compute

References II

Park, Dongwon, Ilgweon Kang, Yeseong Kim, Sicun Gao, Bill Lin, andChung-Kuan Cheng (2019). “ROAD: Routability Analysis and Diagnosis FrameworkBased on SAT Techniques.”. In: ACM International Symposium on Physical Design(ISPD), pp. 65–72.

Qi, Zhong-Dong, Yi-Ci Cai, and Qiang Zhou (2015). “Design-Rule-Aware CongestionModel with Explicit Modeling of Vias and Local Pin Access Paths”. In: Journal ofComputer Science and Technology 30.3, pp. 614–628.

Yu, Bei, Kun Yuan, Duo Ding, and David Z. Pan (Mar. 2015). “Layout Decomposition forTriple Pa�erning Lithography”. In: IEEE Transactions on Computer-Aided Design ofIntegrated Circuits and Systems (TCAD) 34.3, pp. 433–446.

26 / 26