throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2004/0098674 A1
`Vuong et al.
`(43) Pub. Date:
`May 20, 2004
`
`US 20040098674A1
`
`(54) PLACE AND ROUTE TOOL THAT
`INCORPORATES A METAL-FILL
`MECHANISM
`
`(75) Inventors: Thanh Vuong, Milpitas, CA (US);
`William H. Kao, Fremont, CA (US);
`David C. Noice, Palo Alto, CA (US)
`Correspondence Address:
`BINGHAM, MCCUTCHEN LLP
`THREE EMBARCADERO, SUITE 1800
`SAN FRANCISCO, CA 94111-4067 (US)
`(73) Assignee: Cadence Design Systems, Inc.
`(21) Appl. No.:
`10/300,715
`(22) Filed:
`Nov. 19, 2002
`
`Publication Classification
`
`(51) Int. Cl." .......................... G06F 15/76; G06F 15/00;
`G06F 17/50
`(52) U.S. Cl. .................................................................. 716/1
`(57)
`ABSTRACT
`Disclosed is a method, System, and article of manufacture
`for a one-pass approach for implementing metal-fill for an
`integrated circuit. Also disclosed is a method, System, and
`article of manufacture for implementing metal-fill that is
`coupled to a tie-off connection. An approach that is disclosed
`comprises a method, System, and article of manufacture for
`implementing metal-fill having an elongated Shape that
`corresponds to the length of whitespace. Also disclosed is
`the aspect of implementing metal-fill that matches the rout
`ing direction. Yet another disclosure is an implementation of
`a place & route tool incorporating an integrated metal-fill
`mechanism.
`
`Partition Design into Windows
`
`Custer Windows into Windows
`
`ldentify Blockages
`
`Sort Blockages
`
`Compute pre-fill density
`
`For Each Layer:
`Fence Blockages
`
`ite spaces
`Locate Wh
`
`Separate joint white spaces
`
`Split whit
`e Spaces
`
`Compute po
`st-fill density
`
`Remove metal-fill if appropriate
`
`of metal-fills
`Maintain list
`
`
`
`
`
`
`
`
`
`End each layer
`
`Process for tie-off nets
`
`Write list of metal fills
`
`End each region
`
`
`
`2O6
`
`
`
`21
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`232
`
`234
`
`236
`
`Intel Exhibit 1106
`
`

`

`Patent Application Publication May 20, 2004 Sheet 1 of 16
`
`US 2004/0098674 A1
`
`
`
`
`
`3
`
`O
`O
`v
`
`3
`
`S
`
`

`

`Patent Application Publication May 20, 2004 Sheet 2 of 16
`
`US 2004/0098674 A1
`
`Fig. 2
`
`
`
`2O2
`
`Partition Design into Windows
`
`Cluster WindoWS into Windows
`
`For Each
`Region:
`
`ldentify Blockages
`
`Sort Blockages
`
`Compute pre-fill density
`
`
`
`208
`
`210
`
`212
`
`
`
`
`
`21
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`232
`
`234
`
`
`
`236
`
`For Each Layer:
`Fence Blockages
`
`
`
`216
`
`
`
`for
`218 e
`split white spaces
`H.222
`Ecs,
`
`226
`
`228
`
`230
`
`Maintain list of metal-fills
`
`End each layer
`
`
`
`
`
`
`
`Process for tie-off nets
`
`Write list of metal fills
`
`End each region
`
`

`

`Patent Application Publication May 20, 2004 Sheet 3 of 16
`
`US 2004/0098674 A1
`
`Windows and Regions partitioning
`
`step
`size
`
`WindoW
`Size
`
`Wa, Wb, Wo: window that overlaps 3,5 and 8 other windows respectively
`
`Region 1
`
`": Region 3
`
`:...........
`
`Region 2
`
`
`
`Region 4
`
`

`

`Patent Application Publication May 20, 2004 Sheet 4 of 16
`
`US 2004/0098674 A1
`
`
`
`Fig. 4
`
`
`
`
`
`402
`
`40
`
`
`
`Build Kod-tree
`
`Sort Edges
`
`Create Lookup Strips
`
`408
`
`For Each Lookup Strip:
`Find Rectangle
`intersecting strip
`
`For each found rectangle 414
`
`Form New Rectangle
`
`Update bottom edge to top
`edge of rectangle
`
`420
`
`Vertical/Horizontal Merging
`
`

`

`Patent Application Publication May 20, 2004 Sheet 5 of 16
`
`US 2004/0098674 A1
`
`Merging and Extracting
`Overlapping Rectangles
`
`
`
`505f
`
`504
`
`Overlapping
`rectangles
`
`: g : : :
`
`Lookup
`Strips
`
`Rectangles
`formed
`
`Fig. 5a
`
`

`

`Patent Application Publication May 20, 2004 Sheet 6 of 16
`
`US 2004/0098674 A1
`
`
`
`532
`
`After vertical merge
`from fig 2C
`
`After horizontal
`merge
`
`Fig. 5b
`
`

`

`Patent Application Publication May 20, 2004 Sheet 7 of 16
`
`US 2004/0098674 A1
`
`540
`
`
`
`542
`
`,
`
`After horizontal
`merge
`
`After Vertical
`merge
`
`Fig. 5c
`
`

`

`Patent Application Publication May 20, 2004 Sheet 8 of 16
`
`US 2004/0098674 A1
`
`
`
`

`

`Patent Application Publication May 20, 2004 Sheet 9 of 16
`
`US 2004/0098674 A1
`
`
`
`CN
`N
`
`O
`N
`O
`N
`
`O
`N
`
`CD d
`
`--
`
`E
`o 5
`u
`s 3: .
`is a 3 E
`
`c
`
`C
`c
`
`CD
`to
`its
`on 9 U)
`is
`& 25
`S.
`5 .
`.
`if
`E 9
`5
`X
`2 5 2 as
`is 9 E
`
`N.
`O)
`-
`
`o 8
`&
`3 S.
`R 9
`S
`S. e
`
`

`

`Patent Application Publication May 20, 2004 Sheet 10 of 16
`
`US 2004/0098674 A1
`
`802
`
`804
`
`806
`
`
`
`Whitespace
`before split
`
`first vertical
`split
`
`Fig. 8
`
`then horizontal
`split
`
`

`

`Patent Application Publication May 20, 2004 Sheet 11 of 16
`
`US 2004/0098674 A1
`
`
`
`Whitespace
`before split
`
`first vertical
`split
`
`Fig. 9
`
`then horizontal
`split
`
`

`

`Patent Application Publication May 20, 2004 Sheet 12 of 16
`
`US 2004/0098674 A1
`
`
`
`Whitespace
`before split
`
`first vertical
`split
`
`Fig. 10
`
`then horizontal
`split
`
`

`

`Patent Application Publication May 20, 2004 Sheet 13 of 16
`
`US 2004/0098674 A1
`
`
`
`

`

`Patent Application Publication May 20, 2004 Sheet 14 of 16
`
`US 2004/0098674 A1
`
`
`
`1212
`
`1214
`
`1206
`
`1204
`
`Whitespace
`
`1210
`
`Fig. 12
`
`

`

`Patent Application Publication May 20, 2004 Sheet 15 of 16
`
`US 2004/0098674 A1
`
`
`
`cN r to do o ch
`O C C C v- w -
`cd c
`i?
`of c) or
`w-
`v
`v- w
`x-
`
`O O N
`N
`O o was v
`co
`c
`Y
`c.
`w
`w
`v
`v.
`
`

`

`Patent Application Publication May 20, 2004 Sheet 16 of 16
`
`US 2004/0098674 A1
`
`

`

`US 2004/0098674 A1
`
`May 20, 2004
`
`PLACE AND ROUTE TOOL THAT
`INCORPORATES A METAL-FILL MECHANISM
`
`COPYRIGHT NOTICE
`0001. A portion of the disclosure of this patent document
`contains material which is Subject to copyright protection.
`The copyright owner has no objection to the facsimile
`reproduction by anyone of the patent document or the patent
`disclosure, as it appears in the Patent and Trademark Office
`patent files and records, but otherwise reserves all other
`copyright rights.
`BACKGROUND AND SUMMARY
`0002 The invention relates to the design and manufac
`ture of integrated circuits, and more particularly, to tech
`niques, Systems, and methods for implementing metal-fill
`patterns on an integrated circuit.
`0003. In recent years, in IC manufacturing, chemical
`mechanical polishing (CMP) has emerged as an important
`technique for planarizing dielectrics because of its effec
`tiveness in reducing local Step height and achieving a
`measure of global planarization not normally possible with
`spin-on and resist etch back techniques. However, CMP
`processes have been hampered by layout pattern dependent
`variation in the inter-level dielectric (ILD) thickness which
`can reduce yield and impact circuit performance. A common
`approach for reducing layout pattern dependent dielectric
`thickness variation is to change the layout pattern itself via
`the use of metal-fill patterning.
`0004 Metal-fill patterning is the process of filling large
`open areas on each metal layer with a metal pattern to
`compensate for pattern-driven variations. The manufacturer
`of the chip normally Specifies a minimum and maximum
`range of metal that should be present at each portion of the
`die. If there is an insufficient amount of metal at a particular
`portion or “window' on the chip, then metal-fill is required
`to increase the proportion of metal in that portion or window.
`Otherwise, an insufficient amount of metal may cause bumps
`to exist in the finished chip. However, too much metal may
`cause dishing to occur. Therefore, the metal-fill proceSS
`should not cause the die to exceed any Specified maximum
`range of metal for the chip.
`0005 FIG. 1 shows a “fixed template” approach for
`performing metal-fill patterning, in which a template pattern
`is overlaid with the chip design, the results are tested with
`a separate analysis Step, and then new fixed shapes are added
`or the starting point (offset) of the fixed shapes is shifted
`until the minimum density is met in every area.
`0006 To explain further, in this approach, a chip layout
`is divided into a set of delineated portions or windows. For
`each window, the metal features or “blockages' 103 are
`identified, as shown in window 102. If the proportion of
`metal in that window is below a specified minimum per
`centage, then metal-fill patterning is performed to increase
`the amount of metal. In many cases, the designer or manu
`facturer will Specify a minimum distance around each block
`age that should not contain the additional metal-fill. AS
`shown in window 104, a fence 105 is established around
`each blockage 103 in the window to maintain this minimum
`distance around each blockage.
`0007 A fill template is selected to provide the metal-fill
`pattern. The fill template is a fixed pattern of uniform metal
`
`shapes, e.g., an array of 2 umx2 um shapes Spaced apart by
`2 um, as shown in the example fill template of window 106.
`Once a fill template has been Selected, the fenced blockage
`window 104 is overlaid upon the fill template, resulting in
`the new chip layout as shown in window 108.
`0008. At this point, a determination is made whether the
`layout meets minimum and maximum metal requirements.
`In Some cases, the Selected metal-fill pattern may contain too
`much metal, causing the new layout to exceed maximum
`metal percentages as Specified by the manufacturer. In other
`cases, the metal-fill pattern may contain too little metal,
`causing the new layout to fall beneath Specified minimum
`metal percentages. In either case, a new metal-fill pattern
`must be Selected and the Overlaying process repeated.
`0009. In certain instances, the metal-fill pattern may be
`sufficient, but must be “shifted” to properly fit against the
`fenced blockage window. For example, it can be seen in
`portion 110 of window 108 that because of the uneven
`distances between blockages, the metal-fill pattern does not
`exactly fit within the Spaces between the blockages. Thus,
`the fixed, regular pattern of the metal in the metal-fill causes
`portions 112 and 114 of the new layout in window 108 to
`contain leSS metal than other portions. This can be corrected
`by shifting the metal-fill pattern 106 against the fenced
`blockage window 104 until a more optimal metal percentage
`is achieved.
`0010. The process of re-selecting a new metal-fill pattern
`or shifting the metal-fill pattern and then re-performing the
`overlaying is iteratively repeated until the final layout Sat
`isfies the minimum and maximum metal percentage require
`ments for the chip. In effect, this fixed template approach
`may be seen as a trial and error approach in which multiple
`passes through the metal-fill Selection/overlaying process is
`needed to achieve an acceptable metal percentage. This trial
`and error approach can be costly and inefficient, particularly
`if the iterative Steps of the process must be manually
`performed. Moreover, as new chip designs become Smaller,
`the required metal percentage requirements become even
`Stricter, which may require even more passes through this
`process to achieve an acceptable metal percentage.
`0011 To overcome the disadvantages of these and other
`approaches, the present invention provides an improved
`method, System, and article of manufacture for implement
`ing metal-fill for an integrated circuit. A disclosed embodi
`ment calculates the best offset in each area to be filled and
`dynamically adjust shape widths and different shape lengths
`that best fill that area, in which only a single pass is needed
`to appropriately determine the metal-fill pattern. An embodi
`ment also simultaneously optimizes acroSS multiple metal
`fill windows such that that the process will not add shapes
`in a window that would exceed the maximum density, while
`attempting to make all windows match the preferred density,
`and meeting the minimum density.
`0012. Also disclosed is a method, system, and article of
`manufacture for implementing metal-fill that is coupled to a
`tie-off connection. An embodiment that is disclosed com
`prises a method, System, and article of manufacture for
`implementing metal-fill having an elongated Shape that
`corresponds to the length of whitespace. Also disclosed is
`the aspect of implementing metal-fill that matches the rout
`ing direction. Yet another disclosure is an implementation of
`a-place & route tool incorporating an integrated metal-fill
`
`

`

`US 2004/0098674 A1
`
`May 20, 2004
`
`mechanism. Other and additional objects, features, and
`advantages of the invention are described in the detailed
`description, figures, and claims.,
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0013 FIG. 1 shows a fixed template approach for imple
`menting metal-fill.
`0.014
`FIG. 2 shows a flowchart of a process for imple
`menting metal-fill according to an embodiment of the inven
`tion.
`FIG. 3 illustrates partitioning a design into win
`0.015
`dows and regions according to an embodiment of the
`invention.
`0016 FIG. 4 shows a process for performing merge/sort
`of blockages according to an embodiment of the invention.
`0017 FIGS.5a, 5b, and 5c illustrate the process of FIG.
`4.
`FIG. 6 illustrates a process for identifying
`0.018
`whitespace according to an embodiment of the invention.
`0019 FIG. 7 illustrates a process for converting
`whitespace into metal-fill according to an embodiment of the
`invention.
`0020 FIG. 8 illustrates a process for splitting whitespace
`into metal-fill according to an embodiment of the invention.
`0021 FIGS. 9 and 10 show alternate metal-fill patterns
`according to an embodiment of the invention.
`0022 FIG. 11 illustrates a process for removing metal
`fill according to an embodiment of the invention.
`0023 FIG. 12 illustrates connection of metal-fill to
`ground and power.
`0024 FIG. 13 illustrates a process for removing selected
`metal-fill elements when Some elements are connected to
`power or ground.
`0.025
`FIG. 14 shows architecture for implementing a
`metal-fill mechanism according to an embodiment of the
`invention.
`
`DETAILED DESCRIPTION
`0026. The present invention is directed to an improved
`method, System, and article of manufacture for implement
`ing metal-fill for an integrated circuit. A disclosed embodi
`ment calculates the best offset in each local area to be filled
`(e.g. minimum spacing from the existing metal), and
`dynamically adjust shape widths and different shape lengths
`that best fill that area. A metal-fill window will be processed
`in one pass, with possibly different sizes or shapes of
`metal-fill in the windows. An embodiment also simulta
`neously optimizes acroSS multiple metal-fill windowS Such
`that that the process will not add shapes in a window that
`would exceed the maximum density, while attempting to
`make all windows match the preferred density, and meeting
`the minimum density.
`0027 FIG. 2 shows a flowchart of a metal-fill procedure
`according to an embodiment of the invention. Some
`example inputs to this procedure are: (a) the minimum and
`maximum fill width and length; (b) minimum, maximum
`and preferred density; (c) design rule spacing, window size
`
`and Step size; and (d) optional list of tie-off nets to connect
`to. In many cases, input parameters (a), (b), and (c) are
`Specified by the chip manufacturer. AS described in more
`detail below, the list of tie-off nets for (d) can be provided
`to connect the metal-fill to ground or power nets. The output
`of the procedure is a list of metal-fills inserted in the design.
`0028. At 202, the design is partitioned into a collection of
`windows. The required/desired window Size can be specified
`by, for example, the chip manufacturer. In this proceSS
`action, the design is divided into windows of the desired
`size, e.g., 100x100 microns or 50x50 microns.
`0029 FIG. 3 shows an example of a design that has been
`partitioned into a number of windows. Each window may
`overlap a number of other windows depending on the
`window Step size. For instance, a window Step size can be
`chosen to be one half the window Sizes. In Such case, a
`window may overlap 3, 5 or 8 other windows. In FIG. 3,
`window We overlaps eight other windows (including win
`dow Wa), window Wb overlaps five other windows, and
`window Wa overlaps three other windows.
`0030. In one embodiment, the first window starts at the
`lower left of the design. An area look-up data Structure can
`be built to Support area Searching during the metal-fill
`process. In one embodiment, a “kd-tree” (WindowTree)
`Structure is built to Support area Searching. AS known to
`those of skill in the art, a kd-tree refers to a well-known data
`Structure that Supports efficient geometric data retrieval. For
`purposes of illustration only, and not by way of limitation,
`the present embodiment of the invention is described using
`the kd-tree Structure.
`0031. After the design has been partitioned into windows,
`the windows can be clustered into defined regions (204 from
`FIG. 2). This action is optionally performed to optimize
`computing efficiency, particularly if the proceSS is con
`Strained by limitations with respect to System memory. The
`Size of each region is approximately N routing grids (or
`windows) in width and height. Each region consists of one
`or more windows to be filled. Region size is chosen to
`achieve runtime and memory consumption in linear propor
`tion to the design size. FIG. 3 illustrates a collection of
`windows that have been clustered into four regions (regions
`1, 2, 3, and 4). In this illustrated example, window Wa is in
`region 1, window Wb is in region 2, and window We is in
`region 3.
`0032 Referring back to the flowchart of FIG. 2, for each
`region (if the windows are clustered into regions), the
`present procedure performs the actions identified in box 206.
`At 208, blockages are identified in the design. These block
`ages include, for example, wires, cells, pins, and obstruc
`tions inside a cell as well as wires, pins, and obstructions in
`the design. At 210, the blockages are Sorted according to
`their respective layers in the design.
`0033. At 212, the procedure computes the pre-filled den
`sity per window per layer. Computing the density values can
`be rendered more efficient by using an abstract of Standard
`cells in the design. The abstract provides an estimated/
`composite density value that can be used for all associated
`Standard cells, instead of performing costly calculation
`activities to determine the exact density contributed by each
`portion of a Standard cell. Depending upon the Specific
`Standard cell, this approach may result in Some amount of
`
`

`

`US 2004/0098674 A1
`
`May 20, 2004
`
`inaccuracy in the final density calculations (e.g., if the cell
`Straddles two windows), which may be generally acceptable.
`0034 Blockages (rectangles) are merged and extracted to
`ensure that overlapping blockages are counted only once.
`This avoids over-calculating the density for a particular
`window. FIG. 4 depicts a flowchart of a process for merg
`ing/extracting the blockages according to one embodiment
`of the invention, which is illustrated using FIGS. 5a, 5b, and
`5c. For purposes of explanation, this Section of the detailed
`description will jump between the flowchart of FIG. 4 and
`the illustrative example of FIGS. 5a-c. At 402, the process
`builds an area look-up data Structure, e.g., a kd-tree of
`rectangles. The edges of rectangles are Sorted from left to
`right (404). At 406, the process creates lookup strips using
`the sorted edges. The example of FIG. 5a shows a set of
`three overlapping rectangles 502, 504, and 506, having
`edges 505a, 505b, 505c, 505d, 505e, and 505f. Action 406
`is illustrated in FIG. 5a with edges 505a, 505b, 505c, 505d,
`505e, and 505f being used to create lookup strips 506a,
`506b, 506c, 506d, and 506e.
`0035. For each lookup strip, the process performs the
`actions shown in box 408. At 410, the process finds rect
`angles interSecting the lookup Strip from the kd-tree Struc
`ture. The edges of the found rectangles are Sorted, e.g., from
`bottom to top (412).
`0.036
`For each found rectangle, the process performs the
`action shown in box 414. The new rectangle is formed using
`sides from the lookup Strip and the found rectangle (416).
`The bottom edge of the lookup Strip to top edge of rectangle
`is updated (418). FIG. 5a shows the found rectangles 508
`based upon the lookup strips 506a, 506b, 506c, 506d, and
`506e.
`0037 Horizontal and/or vertical merging are next per
`formed (420). FIG. 5b illustratively shows the found rect
`angles first undergoing vertical merge (530) and then hori
`Zontal merge (532). Based on the preferred routing layer,
`one can perform the merging and extracting on reversed
`direction. For example, FIG. 5c illustratively shows the
`found rectangle first undergoing horizontal merge (540) and
`then vertical merge (542).
`0038) Referring back to FIG. 2, for each layer, the
`process performs the actions shown in box 214. At 216, a
`fence is formed around each identified blockage. The correct
`design rule spacing for the fence is specified, for example,
`by the designer or manufacturer to avoid detrimentally
`impacting the functionality of the blockage Structure.
`0039) “Whitespaces” are located and identified around
`the fenced blockages. Whitespaces are open areas where
`metal-fills can be inserted without causing DRC (design rule
`checking) violations. Each whitespace is bordered by the
`edges of fenced blockages and region boundary. The pro
`cedure to find whitespaces is similar to the merge/extract
`procedure explained with reference to FIG. 4, but the
`rectangle extraction is reversed.
`0040 FIG. 6 illustrates this process of identifying
`whitespaces. Window 602a shows blockages 604, 606, and
`608. Window 602b shows a fence formed around each
`blockage. Thus, fence 610 is formed around blockage 604,
`fence 612 around blockage 606, and fence 614 around
`blockage 608. The combined geometric dimensions of each
`blockage plus it associated fence is shown in window 602c.
`
`In particular, fenced blockage structures 616, 618, and 619
`are shown. The whitespace 620 comprises the open area
`within window 602c that is not inhabited by fenced blockage
`structures 616, 618, and 619.
`0041 After whitespaces are formed, a whitespace is
`likely bordered by other whitespaces. If this occurs, the
`boundary of the whitespace is shrunk by the required
`spacing. Therefore, the joint whitespaces are separated at
`Step 220. The procedure to check if a whitespace touches
`other whitespaces is described below:
`
`Sort whitespaces from largest to smallest.
`Build kd-tree with one single largest whitespace.
`For each current remaining whitespace do
`Find whitespaces in kd-tree.
`If found whitespaces
`Adjust current whitespace boundary.
`End If
`Insert current whitespace in kd-tree
`End For
`
`0.042 Windows 702a and 702b in FIG. 7 illustrate this
`process of Separating and forming whitespaces. AS shown in
`window 702a, the edge of each fenced blockage is used to
`define the boundary of a potential whitespace portions for
`the joint whitespaces. In Some cases, multiple whitespace
`portions can be combined together to form a larger, rectan
`gular whitespace portion. For example, whiteSpace portions
`704 and 706 in window 702a are combined together to form
`the combined whitespace portion 708 in window 702b.
`0043. Once the whitespaces have been defined, each
`whitespace is split into Smaller metal-fills at Step 222 to form
`a metal-fill pattern in the whitespaces (window 702c of FIG.
`7). In one approach, each whitespace is split first in the
`direction of the preferred routing layer, then in another
`direction (e.g., a perpendicular direction) if no tie-off net is
`Selected or if the metal length is longer than the maximum
`length specified. This process creates the initial metal-fill
`shapes for the whitespace.
`0044 FIG. 8 illustrates this procedure. Shown in FIG. 8
`is a whitespace portion 802. Initially, the whitespace is split
`in the vertical direction to form a series of long wires 804 as
`a vertical metal-fill pattern. The length of the fill lines
`correspond to the length of the whitespace. Since the
`whitespace is being Split according to the existing dimen
`Sions of the individual whitespace, this inherently prevents
`the offset problem seen with the fixed template approach of
`FIG. 1 (e.g., as shown in the unbalanced metal-fill of portion
`110 in FIG.1). In one embodiment, the wire direction for the
`metal-fill matches the routing direction for the layer at
`interest. Thus, if the routing direction for the layer is
`horizontal, the initial wire-fill pattern would be a set of
`horizontal wires.
`0045. If desired, the long wires of the metal-fill pattern
`can be split again in another direction to form Smaller
`metal-fill pattern elements, as shown by elements 806 in
`FIG.8. One reason for performing this additional split is to
`provide a Smaller granularity of metal-fill elements, which
`allows greater control over the exact amount and Selection of
`metal-fill to put into (or remove) from a particular window.
`AS described in more detail below, the metal-fill elements
`
`

`

`US 2004/0098674 A1
`
`May 20, 2004
`
`can be removed to configure the window to meet minimum,
`maximum, or even preferred density values.
`0046) The exact metal-fill pattern used in a particular
`whitespace can be adjusted to change the amount of metal
`fill in each whitespace or window. If a particular window has
`a low density value, then the metal-fill pattern can be
`Selected to deposit a greater amount of metal. If a window
`already has a high density value, then the Shape, Spacing, or
`dimensions of the metal-fill pattern can be adjusted to reduce
`the amount of metal deposited in the whiteSpace for that
`window. For example, the Spacing between the metal-fill
`elements can be adjusted. FIG. 9 illustrates a metal-fill
`pattern which has a wider spacing between metal-fill ele
`ments than the metal-fill pattern of FIG. 8. In addition, the
`dimensions of the metal-fill elements themselves can be
`adjusted. FIG. 10 illustrates a metal-fill pattern in which the
`wires have a greater width than the wires of the metal-fill
`pattern of FIG. 8. It is noted that these variations in
`metal-fill (e.g., shape, width, length, offset, etc.) may occur
`acroSS multiple overlapping windows.
`0047. In addition to the minimum and maximum density
`parameters, a manufacturer often has a preferred or desired
`density for the metal-fill percentage of a given window. The
`present approach allows one to not only meet the minimum
`and maximum density requirements, but to tailor the exact
`amount of metal that is deposited to match the preferred
`density. To accomplish this, the post-fill density of the
`window is determined (224). If the metal-fill percentage of
`the window exceeds the preferred density, then the metal-fill
`pattern for that window is modified to attempt to match the
`preferred percentage. In one approach, this is accomplished
`by removing metal-fill from the window (226).
`0.048. The density values of neighboring, overlapping
`windows can be considered when determining how to adjust
`the metal-fill in a particular window. This is illustrated by the
`metal-fill procedure shown in FIG. 11. In this figure, the
`whitespace 1101 in window 1102a has been split both
`Vertically and horizontally to form a repeating pattern of
`whitespace elements in window 1102b.
`0049. After calculating the density in window 1102b,
`assume that it has been determined that Some metal-fill
`elements should be removed to meet the preferred density
`value in this window 1102c. Here, the window 1102 over
`laps with neighboring windows 1110 and 1112. In this
`example, further assume that window 1110 has a relatively
`low density value while window 1112 has a relatively higher
`density value. As a result, the metal-fill elements removed
`from the overlapping portions of window 1102c should be
`Selected to ensure that it both benefits and does not harm the
`ability of the neighboring windows to achieve the desired
`density. Here, Since neighboring window 1112 already has a
`relatively high density, excess metal-fill from window 1102c
`can be removed from the portion of this window that
`overlaps window 112 to help ensure that window 112 does
`not exceed the maximum density, and preferably meets the
`desired density. Since neighboring window 1110 has a
`relatively low density, no or little metal-fill is removed from
`the overlapping portion between window 1110 and window
`11102C.
`0050. The following describes an embodiment of an
`approach for removing metal-fill if there are windows that
`exceed preferred density after computing post-filled density
`for all windows:
`
`Build kd-tree from all metal-fills created.
`Sort windows with largest density first.
`For each window do
`If window density less than preferred then
`exit window loop.
`Find metal-fills in window from kd-tree.
`For each found metal-fill do
`Evaluate impact of density on neighboring windows.
`Assign a score to each metal-fill.
`End For
`Remove metal-fills with best scores. This minimizes impact on
`neighboring windows while attempting to achieve preferred
`density.
`End For
`
`0051. The list of metal-fills is maintained to track the
`changes to the design (228).
`0052 At 232, the metal-fill wires are processed with
`respect to tie-off nets (if they exist). In conventional Systems,
`metal-fill is left floating on the chip. In the present invention,
`the metal-fill can be designed to tie-off at either power or
`ground. This aspect of the invention is illustrated in FIG. 12.
`Once again, the process begins with an identified whitespace
`1202 that is split into a set of wires 1204 to form the
`metal-fill. Here, a first wire 1206 has been connected to Vcc,
`while wires 1208 and 1210 have been connected to ground.
`In one embodiment, a Search can be made to determine if
`there are available power and/or ground connections that can
`be made, either on the Same layer or on another layer. If the
`available connection is on another layer, then a via is
`dropped to the appropriate layer to make the connection. If
`the available connection is on the same layer, then the wire
`in the metal-fill can be routed to that connection on the same
`layer. In fact, one wire can be routed to another wire in the
`metal-fill to make the power or ground connection, as shown
`by route 1212 between wires 1210 and 1214 in FIG. 12.
`0053. The following describes an embodiment of a pro
`ceSS for implementing the metal-fill wires to connect to
`tie-off nets:
`
`If tie-off net exists
`Create ConnectTree using wires of tie-off nets
`While ConnectTree exists do
`For each floating fill in list do
`Find tie-off target in ConnectTree
`If target found
`Drop via to make connection
`Mark this fill as connected fill
`End If
`End For
`Delete ConnectTree
`Create new ConnectTree using connected fills
`End While
`End If tie-off net
`
`In this process, a ConnectTree refers to a tree of
`0054.
`existing wires that connect to power and ground. Wire
`Segments of tie-off nets are placed in tree (kd-tree) to
`facilitate area lookup. This tree is constantly growing, Since
`any wire in the metal-fill that connects to power and ground
`provides yet another connection for power or ground that is
`
`

`

`US 2004/0098674 A1
`
`May 20, 2004
`
`accessible by other wires in the metal-fill. This process
`keeps track of these connections as a tree Structure. AS is
`evident, any later connections can be tied to any point in the
`tree of connections. Any wire type, shape or width can be
`filtered and excluded as potential target if desired.
`0.055
`For the act of finding a tie-off target in Connect
`Tree, a bounding box of each floating fill can be used to
`search in ConnectTree (kd-tree) for potential tie-off net
`targets for a connection. A potential target is then checked to
`ensure a via can be inserted without causing DRC violation.
`If Stack via is not allowed, in one embodiment, a potential
`target must be within one layer (above or below) from the
`floating fill layer. The size of the via can be selected based
`on the via rule generation definition. The metal and cut
`spacing are taken into account to ensure no DRC violations
`occur as the via is inserted.
`0056. In the step of creating a new ConnectTree using
`connected fills, the old ConnectTree is no longer needed and
`hence can be removed. The new ConnectTree is created
`using only connected fills of the last pass. The loop iterates
`until there are no more connected fill from the last pass (i.e.,
`ConnectTree is nil).
`0057 When removing metal-fill to achieve a preferred
`density, one factor that can be taken into account is whether
`a particular wire-fill element is tied to power or ground. To
`illus

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket