SlideShare uma empresa Scribd logo
1 de 28
Double Patterning


   Wai-Shing Luk
Background

• At the past, chips were
  continuously getting
  smaller and smaller,
  and hence less power
  consumption.
• However, we’re fast
  approaching the end of
  the road where optical
  lithography(光刻)
  cannot take us where
  we need to go next.
光刻过程

1.Photo-resist coating
2.Illumination
3.Exposure
4.Etching
5.Impurities Doping
6.Metal connection
Sub-wavelength Lithograph

• Feature size <<
  lithograph wavelength
  o   45nm vs. 193nm


• What you see in the
  mask/layout is not what
  you get in the chip:
  o   图形失真
  o   成品率下降
What is Double Patterning?




• Instead of exposing the photo-resist layer once
  under one mask, as in conventional optical
  lithography, expose it twice, by splitting the mask
  into two, each with features half as dense.
Key Techniques

• Novel polygon cutting algorithm to reduce the
  number of rectangles and the total cut-length.
• Novel dynamic priority search tree for plane-
  sweeping.
• Decompose the underlying conflict graph into its
  tri-connected components using SPQR-tree
• Graph-theoretical approach instead of ILP
  o   Recast the coloring problem as a T-join problem and
      is then by solved by Hadlock’s algorithm
New Polygon Cutting Algorithm

• Allow minimal overlapping to
  reduce the number of
  rectangles, and hence to reduce
  the number of conflicts.
• Limited support of diagonal line
  segments
Dynamic Priority Search Tree

• In plane sweeping, events are frequently
  “inserted” and “deleted” to the scan line.
• In our PST, all data are stored at the leaf
  nodes of PST, making “insert” and “delete”
  operations very fast (O(1) time for each tree
  rotation). The payoff is that the “query”
  operation will be little slower than the
  traditional PST.
Splitting and Stitching

• Additional rectangle splits for resolving conflicts
Conflict Detection
                                                    b
• Two rectangles are NOT conflict if
  their distance is > b.
• Conflict: (A,C), (A,E), (E,B), (B,D),
  but not (A,B), (A,D) (B,C)!                   A       C
• Define: a polygon is said to be
  rectilinearly convex if it is both x-
  monotone and y-monotone.
• Rule:                                             F
   o (A,D) are not conflict because A-F-D
     reconstructs a rectilinearly convex
     polygon.                               E   B       D
   o (A,C) are conflict because A-F-C
     reconstructs a rectilinearly concave
     polygon
Conflict Graph
Layout Splitting Problem
Formulation
• INSTANCE: Graph G = (V,E) and a weight function
  w : E N
• SOLUTION: Disjoint vertex subsets V0 and V1
  where V = V0 ∪ V1
• MINIMIZE: the total cost of edges whose end
  vertices in same color.

• Note: the problem is linear-time solvable for bipartite
  graphs, polynomial-time solvable for planar graphs,
  but NP-hard in general.
• To reduce the problem size, graph partitioning
  techniques could be used.
Bi-connected Graph

• A vertex is called a cut-vertex of G if removing it will
  disconnect G.
• If no cut-vertex can be found in G, then the graph is called a bi-
  connected graph.
• For example below, a and b are cut-vertices.



                                                        b




                            a
Bi-connected Components

• A connected graph can be decomposed into
  its bi-connected components in linear-time.
• Each bi-connected component can be solved
  independently without affecting the final sol’n.

• Question: Is it possible to further decompose
  the graph?
Tri-connected Graph

• A pair of vertices is called a separation pair of a bi-connected
  graph G if removing it will disconnect G.
• If no separation pair can be found, then the graph is called a tri-
  connected graph.
• Eg below, {a,e}, {b,e}, {c,d}, {e,f}, {g,h} are separation pairs.

               a              e g             h
                    d

                c
                        b f
Tri-connected Component
SPQR-Tree
                  S
                                              S



              R
                      S     P             R

      P
  S       S



• A bi-connected graph can be decomposed into its
  tri-connected components in linear-time using a data
  structure named SPQR-tree
Divide-and-Conquer Method

• Three basic steps:
  o Divide a graph into its tri-connected components.
  o Solve each tri-connected components in a
    bottom-up fashion.
  o Merge the solutions into a complete one in a top-
    down fashion.

      We calculate two possible solutions for each
      components, namely {s, t} in same color and {s, t}
      in opposite colors.
Example
More Technical Details

• In Hadlock’s algorithm, voronoi graph instead
  of complete graph is used.
• A brute-force method is used for solving the
  maximum weighted planar subgraph problem
  (could be improved)
45nm TBUF_X16, Layer 11
45nm SDFFRS_X2 Layer 9, 11
45nm Example
Random, 4K rectangles
fft_all.gds, 320K polygons
Current Status of Our SW

• fft_all: 320K polygons1.3M rectangles
  o Conflict graph construction within 1 minute
  o Color assignment within 9 minutes
  o Compare: 26 minutes for just displaying the result
    using “eog”
  o Note: Only g++ 3.4.5 was used, no advanced
    compiler optimization has been done yet.
Conclusions

• Experiment results show that our method can
  achieve 3-10X speedup
• We believe that it is a key to the success of
  22nm process
• Unfortunately we didn’t have chance to try a
  realistic 32/22nm layout yet
• because nearly everything is confidential
  under 90nm
• Foundries may move to EUV if DPL fails.

Mais conteúdo relacionado

Mais procurados

Vlsi design and fabrication ppt
Vlsi design and fabrication  pptVlsi design and fabrication  ppt
Vlsi design and fabrication ppt
Manjushree Mashal
 
VLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyVLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool Terminalogy
Murali Rai
 
Analog Layout and Process Concern
Analog Layout and Process ConcernAnalog Layout and Process Concern
Analog Layout and Process Concern
asinghsaroj
 
Packaging of vlsi devices
Packaging of vlsi devicesPackaging of vlsi devices
Packaging of vlsi devices
Ashu0711
 
crosstalk minimisation using vlsi
crosstalk minimisation using vlsicrosstalk minimisation using vlsi
crosstalk minimisation using vlsi
subhradeep mitra
 
MOSFET, SOI-FET and FIN-FET-ABU SYED KUET
MOSFET, SOI-FET and FIN-FET-ABU SYED KUETMOSFET, SOI-FET and FIN-FET-ABU SYED KUET
MOSFET, SOI-FET and FIN-FET-ABU SYED KUET
A. S. M. Jannatul Islam
 

Mais procurados (20)

Vlsi design and fabrication ppt
Vlsi design and fabrication  pptVlsi design and fabrication  ppt
Vlsi design and fabrication ppt
 
Powerplanning
PowerplanningPowerplanning
Powerplanning
 
VLSI Physical Design Flow(http://www.vlsisystemdesign.com)
VLSI Physical Design Flow(http://www.vlsisystemdesign.com)VLSI Physical Design Flow(http://www.vlsisystemdesign.com)
VLSI Physical Design Flow(http://www.vlsisystemdesign.com)
 
VLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyVLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool Terminalogy
 
VLSI Design(Fabrication)
VLSI Design(Fabrication)VLSI Design(Fabrication)
VLSI Design(Fabrication)
 
Analog Layout and Process Concern
Analog Layout and Process ConcernAnalog Layout and Process Concern
Analog Layout and Process Concern
 
Second order effects
Second order effectsSecond order effects
Second order effects
 
Layout rules
Layout rulesLayout rules
Layout rules
 
Silicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) TechnologySilicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) Technology
 
Low Power Design Techniques for ASIC / SOC Design
Low Power Design Techniques for ASIC / SOC DesignLow Power Design Techniques for ASIC / SOC Design
Low Power Design Techniques for ASIC / SOC Design
 
Packaging of vlsi devices
Packaging of vlsi devicesPackaging of vlsi devices
Packaging of vlsi devices
 
Layout02 (1)
Layout02 (1)Layout02 (1)
Layout02 (1)
 
Finfets
FinfetsFinfets
Finfets
 
Esd
EsdEsd
Esd
 
crosstalk minimisation using vlsi
crosstalk minimisation using vlsicrosstalk minimisation using vlsi
crosstalk minimisation using vlsi
 
serdes
serdesserdes
serdes
 
MOSFET, SOI-FET and FIN-FET-ABU SYED KUET
MOSFET, SOI-FET and FIN-FET-ABU SYED KUETMOSFET, SOI-FET and FIN-FET-ABU SYED KUET
MOSFET, SOI-FET and FIN-FET-ABU SYED KUET
 
Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)
 
Eco
EcoEco
Eco
 
Nmi Presentation Sept 2007
Nmi Presentation Sept 2007Nmi Presentation Sept 2007
Nmi Presentation Sept 2007
 

Semelhante a Double Patterning (4/2 update)

Double Patterning
Double PatterningDouble Patterning
Double Patterning
Danny Luk
 
Double Patterning
Double PatterningDouble Patterning
Double Patterning
Danny Luk
 
Double Patterning (4/2 update)
Double  Patterning (4/2 update)Double  Patterning (4/2 update)
Double Patterning (4/2 update)
guest833ea6e
 
Double Patterning (3/31 update)
Double Patterning (3/31 update)Double Patterning (3/31 update)
Double Patterning (3/31 update)
guest833ea6e
 
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-TreeFast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
Danny Luk
 
ImageSegmentation (1).ppt
ImageSegmentation (1).pptImageSegmentation (1).ppt
ImageSegmentation (1).ppt
NoorUlHaq47
 
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Hemant Jha
 
Image segmentation for high resolution images
Image segmentation for high resolution imagesImage segmentation for high resolution images
Image segmentation for high resolution images
jeet patalia
 

Semelhante a Double Patterning (4/2 update) (20)

Double Patterning
Double PatterningDouble Patterning
Double Patterning
 
Double Patterning
Double PatterningDouble Patterning
Double Patterning
 
Double Patterning (4/2 update)
Double  Patterning (4/2 update)Double  Patterning (4/2 update)
Double Patterning (4/2 update)
 
Double Patterning (3/31 update)
Double Patterning (3/31 update)Double Patterning (3/31 update)
Double Patterning (3/31 update)
 
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-TreeFast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
Fast and Lossless Graph Division Method for Layout Decomposition Using SPQR-Tree
 
testpang
testpangtestpang
testpang
 
Floor planning ppt
Floor planning pptFloor planning ppt
Floor planning ppt
 
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATIONSCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
ImageSegmentation (1).ppt
ImageSegmentation (1).pptImageSegmentation (1).ppt
ImageSegmentation (1).ppt
 
ImageSegmentation.ppt
ImageSegmentation.pptImageSegmentation.ppt
ImageSegmentation.ppt
 
ImageSegmentation.ppt
ImageSegmentation.pptImageSegmentation.ppt
ImageSegmentation.ppt
 
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
Vlsi physical design automation on partitioning
Vlsi physical design automation on partitioningVlsi physical design automation on partitioning
Vlsi physical design automation on partitioning
 
Tree, function and graph
Tree, function and graphTree, function and graph
Tree, function and graph
 
Image segmentation for high resolution images
Image segmentation for high resolution imagesImage segmentation for high resolution images
Image segmentation for high resolution images
 
Lecture24
Lecture24Lecture24
Lecture24
 
141222 graphulo ingraphblas
141222 graphulo ingraphblas141222 graphulo ingraphblas
141222 graphulo ingraphblas
 
141205 graphulo ingraphblas
141205 graphulo ingraphblas141205 graphulo ingraphblas
141205 graphulo ingraphblas
 

Mais de Danny Luk

Sampling with Halton Points on n-Sphere
Sampling with Halton Points on n-SphereSampling with Halton Points on n-Sphere
Sampling with Halton Points on n-Sphere
Danny Luk
 
Cyclic quorum
Cyclic quorumCyclic quorum
Cyclic quorum
Danny Luk
 
lec05 Convex PWL Problems.pdf
lec05 Convex PWL Problems.pdflec05 Convex PWL Problems.pdf
lec05 Convex PWL Problems.pdf
Danny Luk
 
Lec05 convex pwl problems
Lec05 convex pwl problemsLec05 convex pwl problems
Lec05 convex pwl problems
Danny Luk
 
Lec04 min cost linear problems
Lec04 min cost linear problemsLec04 min cost linear problems
Lec04 min cost linear problems
Danny Luk
 
Lec02 feasibility problems
Lec02 feasibility problemsLec02 feasibility problems
Lec02 feasibility problems
Danny Luk
 
Lec01 network flows
Lec01 network flowsLec01 network flows
Lec01 network flows
Danny Luk
 
Lec00 generalized network flows
Lec00 generalized network flowsLec00 generalized network flows
Lec00 generalized network flows
Danny Luk
 
Lec03 parametric problems
Lec03 parametric problemsLec03 parametric problems
Lec03 parametric problems
Danny Luk
 
Double patterning (4/20 update)
Double patterning (4/20 update)Double patterning (4/20 update)
Double patterning (4/20 update)
Danny Luk
 

Mais de Danny Luk (10)

Sampling with Halton Points on n-Sphere
Sampling with Halton Points on n-SphereSampling with Halton Points on n-Sphere
Sampling with Halton Points on n-Sphere
 
Cyclic quorum
Cyclic quorumCyclic quorum
Cyclic quorum
 
lec05 Convex PWL Problems.pdf
lec05 Convex PWL Problems.pdflec05 Convex PWL Problems.pdf
lec05 Convex PWL Problems.pdf
 
Lec05 convex pwl problems
Lec05 convex pwl problemsLec05 convex pwl problems
Lec05 convex pwl problems
 
Lec04 min cost linear problems
Lec04 min cost linear problemsLec04 min cost linear problems
Lec04 min cost linear problems
 
Lec02 feasibility problems
Lec02 feasibility problemsLec02 feasibility problems
Lec02 feasibility problems
 
Lec01 network flows
Lec01 network flowsLec01 network flows
Lec01 network flows
 
Lec00 generalized network flows
Lec00 generalized network flowsLec00 generalized network flows
Lec00 generalized network flows
 
Lec03 parametric problems
Lec03 parametric problemsLec03 parametric problems
Lec03 parametric problems
 
Double patterning (4/20 update)
Double patterning (4/20 update)Double patterning (4/20 update)
Double patterning (4/20 update)
 

Double Patterning (4/2 update)

  • 1. Double Patterning Wai-Shing Luk
  • 2. Background • At the past, chips were continuously getting smaller and smaller, and hence less power consumption. • However, we’re fast approaching the end of the road where optical lithography(光刻) cannot take us where we need to go next.
  • 4. Sub-wavelength Lithograph • Feature size << lithograph wavelength o 45nm vs. 193nm • What you see in the mask/layout is not what you get in the chip: o 图形失真 o 成品率下降
  • 5. What is Double Patterning? • Instead of exposing the photo-resist layer once under one mask, as in conventional optical lithography, expose it twice, by splitting the mask into two, each with features half as dense.
  • 6. Key Techniques • Novel polygon cutting algorithm to reduce the number of rectangles and the total cut-length. • Novel dynamic priority search tree for plane- sweeping. • Decompose the underlying conflict graph into its tri-connected components using SPQR-tree • Graph-theoretical approach instead of ILP o Recast the coloring problem as a T-join problem and is then by solved by Hadlock’s algorithm
  • 7. New Polygon Cutting Algorithm • Allow minimal overlapping to reduce the number of rectangles, and hence to reduce the number of conflicts. • Limited support of diagonal line segments
  • 8. Dynamic Priority Search Tree • In plane sweeping, events are frequently “inserted” and “deleted” to the scan line. • In our PST, all data are stored at the leaf nodes of PST, making “insert” and “delete” operations very fast (O(1) time for each tree rotation). The payoff is that the “query” operation will be little slower than the traditional PST.
  • 9. Splitting and Stitching • Additional rectangle splits for resolving conflicts
  • 10. Conflict Detection b • Two rectangles are NOT conflict if their distance is > b. • Conflict: (A,C), (A,E), (E,B), (B,D), but not (A,B), (A,D) (B,C)! A C • Define: a polygon is said to be rectilinearly convex if it is both x- monotone and y-monotone. • Rule: F o (A,D) are not conflict because A-F-D reconstructs a rectilinearly convex polygon. E B D o (A,C) are conflict because A-F-C reconstructs a rectilinearly concave polygon
  • 12. Layout Splitting Problem Formulation • INSTANCE: Graph G = (V,E) and a weight function w : E N • SOLUTION: Disjoint vertex subsets V0 and V1 where V = V0 ∪ V1 • MINIMIZE: the total cost of edges whose end vertices in same color. • Note: the problem is linear-time solvable for bipartite graphs, polynomial-time solvable for planar graphs, but NP-hard in general. • To reduce the problem size, graph partitioning techniques could be used.
  • 13. Bi-connected Graph • A vertex is called a cut-vertex of G if removing it will disconnect G. • If no cut-vertex can be found in G, then the graph is called a bi- connected graph. • For example below, a and b are cut-vertices. b a
  • 14. Bi-connected Components • A connected graph can be decomposed into its bi-connected components in linear-time. • Each bi-connected component can be solved independently without affecting the final sol’n. • Question: Is it possible to further decompose the graph?
  • 15. Tri-connected Graph • A pair of vertices is called a separation pair of a bi-connected graph G if removing it will disconnect G. • If no separation pair can be found, then the graph is called a tri- connected graph. • Eg below, {a,e}, {b,e}, {c,d}, {e,f}, {g,h} are separation pairs. a e g h d c b f
  • 17. SPQR-Tree S S R S P R P S S • A bi-connected graph can be decomposed into its tri-connected components in linear-time using a data structure named SPQR-tree
  • 18.
  • 19. Divide-and-Conquer Method • Three basic steps: o Divide a graph into its tri-connected components. o Solve each tri-connected components in a bottom-up fashion. o Merge the solutions into a complete one in a top- down fashion. We calculate two possible solutions for each components, namely {s, t} in same color and {s, t} in opposite colors.
  • 21. More Technical Details • In Hadlock’s algorithm, voronoi graph instead of complete graph is used. • A brute-force method is used for solving the maximum weighted planar subgraph problem (could be improved)
  • 27. Current Status of Our SW • fft_all: 320K polygons1.3M rectangles o Conflict graph construction within 1 minute o Color assignment within 9 minutes o Compare: 26 minutes for just displaying the result using “eog” o Note: Only g++ 3.4.5 was used, no advanced compiler optimization has been done yet.
  • 28. Conclusions • Experiment results show that our method can achieve 3-10X speedup • We believe that it is a key to the success of 22nm process • Unfortunately we didn’t have chance to try a realistic 32/22nm layout yet • because nearly everything is confidential under 90nm • Foundries may move to EUV if DPL fails.