non-stitch triple patterning- aware routing based on conflict graph pre-coloring po-ya hsu yao-wen...

26
Non-stitch Triple Patterning-Aware Routing Based on Conflict Graph Pre- coloring Po-Ya Hsu Yao-Wen Chang

Upload: arnold-rice

Post on 13-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Non-stitch Triple Patterning-Aware Routing Based on

Conflict Graph Pre-coloringPo-Ya Hsu

Yao-Wen Chang

Page 2: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Outline

• INTRODUCTION• THE NON-STITCH TRIPLE PATTERNING-AWARE ROUTING ALGORITHM• EXPERIMENTAL RESULTS• CONCLUSIONS

Page 3: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

INTRODUCTION

• Before the next-generation lithography technologies are mature for production, multiple patterning lithography is a dominating solution for nanometer circuit designs [9].

Page 4: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

INTRODUCTION

• Double patterning lithography is the simplest case of multiple patterning lithography and can reduce the feature size down below 32nm [4] by using two photo masks.

• Triple patterning lithography uses one more mask to manufacture a layout and becomes a feasible method to improve the feature size down below 14nm [15], even below 10nm [14].

Page 5: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

INTRODUCTION

• An earlier work shows that most of the hard-to-decompose patterns are generated from the detailed routing stage.

• Thus it is desirable to address the multiple patterning-aware routing problem that considers the multiple patterning decomposability during routing.

Page 6: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

INTRODUCTION

• Coloring (mask) conflicts are resolved by stitch insertion which is a layout decomposition solution partitioning a single pattern into multiple photo masks.

• Stitch insertion may incur stitch overlay errors, which would significantly reduce yield and increase cost.

Page 7: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

INTRODUCTION

• Leading foundries such as TSMC directly prohibit stitch insertion in their design methodologies.

• How to minimize color conflict counts without any stitch insertion during routing becomes a timely issue for industry production.

Page 8: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang
Page 9: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang
Page 10: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

THE NON-STITCH TRIPLE PATTERNING-AWAREROUTING ALGORITHM• Our non-stitch triple patterning-aware routing algorithm has to solve

the two main problems: • (1) conflict graph pre-coloring and• (2)pre-coloring-based non-stitch routing

Page 11: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang
Page 12: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Potential Color Difference Estimation

• We use a global-routing-based estimator with A*-search routing to find possible routing paths.

Page 13: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Potential Color Difference Estimation

• After finding the possible routing paths of each net, we estimate the potential color difference between nets ni and nj by counting the color conflicts between routing paths pi and pj , assuming that the paths have the same color.

Page 14: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Conflict Graph Construction

• To construct our conflict graph, we first add a vertex to the conflict graph for each net ni.

• According to the potential color difference estimation results, we then add the conflict graph edge for each pair of nets with non-zero edge weight = to the conflict graph.

Page 15: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Conflict Graph Construction

Page 16: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Conflict Graph Pre-coloring Algorithm• We formulate the pre-coloring problem into the maximum 3-cut

problem.

• Recently, Ling et al. [13] proposed a variable neighborhood stochastic (VNS)meta-heuristic which can obtain high-quality solutions efficiently.

• In our conflict graph pre-coloring algorithm, we use the VNS meta-heruistic for its efficiency.

Page 17: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Conflict Graph Pre-coloring Algorithm

Page 18: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Pre-coloring-based Non-stitch Routing Algorithm• To eliminate the self-crossing net problem, our graph model has the

property that a net will not change its color during routing and will not generate any self-crossing path.

• In our graph model, each grid node at the coordinate (x, y, z) contains three graph vertices.

Page 19: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Pre-coloring-based Non-stitch Routing Algorithm• In our pre-coloring-based non-stitch routing algorithm, we route each

net with our conflict graph pre-coloring result to minimize both color conflicts and routing congestion.

• For each net ni, we apply A*-search routing on our graph model to find the routing path pi to minimize the cost function:

Page 20: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Pre-coloring-based Non-stitch Routing Algorithm

Page 21: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

Feedback Pre-coloring-based Non-stitch Routing Scheme• The conflict graph is updated by the previous routing results to

approach the precise routing usage and estimate the potential color difference dij .

• In addition, to resolve the current color conflicts, for each pair of color conflict routing paths pi and pj with the same color ci = cj, we add the potential color difference to the conflict graph edge weight with a high penalty ratio μ.

Page 22: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang
Page 23: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

EXPERIMENTAL RESULTS

• We implemented our triple patterning-aware non-stitch routing algorithm in the C++ programming language and conducted our experiments on a Linux machine with 24 Intel 2.00 GHz CPUs and 72 GB memory.

Page 24: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

EXPERIMENTAL RESULTS

Page 25: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

EXPERIMENTAL RESULTS

Page 26: Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang

CONCLUSIONS

• This paper has presented the first non-stitch triple patterning-aware routing algorithm.

• Compared with the extension of the state-of-the-art work [16], the experimental results have shown that our algorithm can obtain non-stitch routing results with no color conflicts effectively and efficiently.