US8671381B1 - System for optimizing number of dies produced on a wafer - Google Patents
System for optimizing number of dies produced on a wafer Download PDFInfo
- Publication number
- US8671381B1 US8671381B1 US13/723,207 US201213723207A US8671381B1 US 8671381 B1 US8671381 B1 US 8671381B1 US 201213723207 A US201213723207 A US 201213723207A US 8671381 B1 US8671381 B1 US 8671381B1
- Authority
- US
- United States
- Prior art keywords
- die
- shapes
- list
- target
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000003247 decreasing effect Effects 0.000 claims abstract description 46
- 238000005457 optimization Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 49
- 238000003860 storage Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004088 simulation Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000003698 laser cutting Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70425—Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
- G03F7/70433—Layout for increasing efficiency or for compensating imaging errors, e.g. layout of exposure fields for reducing focus errors; Use of mask features for increasing efficiency or for compensating imaging errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the present invention is directed to fabricating integrated circuits on a semiconductor wafer and, more particularly, to methods and systems for optimizing the number of dies that can be produced on a particular wafer.
- DGW dies per wafer
- EDA software refers to a category of software tools used for designing electronic systems such as integrated circuits. It would be desirable if EDA software could optimize the number of dies that can be produced or fabricated in a particular wafer.
- FIG. 1A is a top plan view of a wafer that includes a plurality of dies including an exemplary die;
- FIG. 1B is a top plan view of the exemplary die of FIG. 1A .
- FIG. 2 is a flow chart that illustrates a computer-implemented method for optimizing the number of dies that can be fabricated on a wafer in accordance with an embodiment of the present invention
- FIG. 3 is a flow chart that illustrates a die number optimization (DNO) routine of the computer-implemented method of FIG. 2 in accordance with an embodiment of the present invention
- FIGS. 4A and 4B depict a flow chart that illustrates a die area maximization routine of a die size optimization (DSO) routine of the computer-implemented method of FIG. 2 in accordance with an embodiment of the present invention
- FIG. 5 is a flow chart that illustrates a second routine of the DSO routine of the computer-implemented method of FIG. 2 in accordance with an embodiment of the present invention
- FIG. 6 is a flow chart that illustrates a third routine of the DSO routine of the computer-implemented method of FIG. 2 in accordance an embodiment of the present invention
- FIG. 7 is a top plan view of a wafer when a conventional die number optimization routine is performed.
- FIG. 8 is a top plan view of the wafer of FIG. 7 when a method for optimizing the number of dies is performed in accordance with an embodiment of the present invention
- FIG. 9 is a table illustrating a comparison between a number of dies per wafer for the conventional die number optimization routine and a number of dies per wafer when the die number optimization method in accordance with an embodiment of the present invention is performed.
- FIG. 10 is a schematic block diagram of a computer system for executing the die optimization methods and EDA tools in accordance with an embodiment of the present invention.
- FIG. 1A is an exemplary top view of a wafer 100 that includes a plurality of dies including a die 140 .
- the term “wafer” refers to a thin slice of electronic-grade semiconductor material, such as a silicon crystal, used in the fabrication of “dies” such as integrated circuits and other microelectronic devices.
- a wafer serves as the substrate that dies are fabricated in and on using fabrication processing steps such as doping or ion implantation, etching, deposition of various materials, and photolithographic patterning.
- each of the dies is represented by a tiny rectangle within a potential fabrication area 130 where dies can be fabricated.
- the rectangle 140 represents one particular die.
- FIG. 1B is an exemplary top view of the die 140 of FIG. 1A .
- the term “die” refers to a small block of semiconducting material, on which a given functional circuit is fabricated. Typically, multiple dies are produced in and/or on the wafer 100 . When the wafer 100 is cut (or “diced”) into many pieces, each of these pieces is called a die.
- the terms “die”, “microchip”, “chip” and “integrated circuit” are used interchangeably herein.
- the wafer 100 has a total wafer area (A wt ); however, a portion of the total wafer area (A wt ) is not used for fabrication of dies, and the term wafer area (A w ) is used herein to distinguish between to total wafer area and the potential fabrication area 130 where potential good dies can be fabricated (e.g., where commercially acceptable or viable dies can be fabricated).
- wafer area (A w ) refers to the portion of the wafer 100 on which dies can potentially be fabricated (e.g., total wafer area (A wt ) excluding the edge band 110 and notch 120 of the wafer 100 ).
- the edge band 110 of the wafer 100 refers to a band along the outer edge of the wafer 100 where dies cannot be fabricated; the edge band 110 typically has a substantially constant edge band width (w eb ) except for in the region that is commonly referred to as the notch 120 .
- the dies that make up the wafer 100 are eventually separated (or “diced”), for example, by scribing and breaking, by mechanical sawing (normally with a machine called a dicing saw) or by laser cutting. Following the dicing process the individual silicon chips are packaged (e.g., encapsulated into chip carriers).
- the die 140 has a height (y) dimension and a width (x) dimension.
- the term “height” refers to a dimension (y) of the die that is measured in a plane that is parallel to an upper surface of the die
- the term “width” refers to another dimension (x) of the die that is also measured in a plane that is parallel to an upper surface of the die, but that is usually substantially perpendicular to the dimension (y) of the die.
- the die's height (y) and width (x) dimensions are measured along a surface of the die. Its noted that in FIG.
- the die's height (y) and width (x) dimensions are interchangeable, and can be swapped without changing their meaning.
- the term “depth” or “thickness” refers to a dimension of the die (not illustrated, but into the page on FIG. 1B ) that is measured in a plane that is substantially perpendicular to the height (y) and width (x) dimensions of the die.
- shape when used with reference to a die refers to a specific combination of a particular width (x) dimension and a particular height (y) dimension. Its noted that in general a die may have any shape generated by straight lines, but that they are typically either substantially rectangular-shaped or substantially square-shaped.
- the term “aspect ratio (x/y)” when used with reference to a die refers to a number that is equal to the ratio of the die's width (x) to the die's height (y).
- the term “area” when used with reference to a die refers to a product (xy) of the die's height (y) and the die's width (x).
- size and “area” are used interchangeably.
- target die area can refer to a user or customer defined die area.
- a particular die shape will have a particular area and a particular aspect ratio.
- a particular die area or a die particular aspect ratio can correspond to many different die shapes.
- EDA software tool that can be used to make such an evaluation in an automated manner.
- EDA software that includes a DPW optimization component or tool that designers can use during planning and layout for estimating DPW for a number of different die sizes, and that can be used to optimize the number of dies on a wafer by optimizing die size to determine a maximum number of dies per wafer.
- computer-implemented methods and systems are provided for die area and die shape co-optimization that can be used to optimize a number of dies that can be fabricated on a particular wafer.
- computer-implemented methods and systems are also provided that can also be used to further optimize die size and number of dies together so that utilization of wafer area (A w ) can be optimized.
- FIG. 2 is a flowchart that illustrates a computer-implemented method 200 for optimizing a number of dies that can be fabricated on a wafer in accordance with some of the disclosed embodiments.
- Method 200 begins at 210 , when input variables are input.
- the term “input variables” can be used to refer to user-defined die and wafer dimensions.
- the input variables can include the die dimensions, which can include a minimum die width (x min ), a minimum die height (y min ), a target aspect ratio, step size, and a target die area (A target ), for example, and a wafer area (A w ), an edge band width (w eb ), and a scribe width (w s ) of the scribe lines between the dies.
- the step size is used for creation of each shape list.
- the step size is used to specify the minimal offset between the width (x) and height (y) values in a shape list.
- a die number optimization (DNO) routine 220 is executed to determine a maximum number of dies (N max ) for the target die area (A target ).
- the DNO routine 220 includes iteratively checking each die shape in a first list of die shapes to determine which ones of the die shapes have the maximum number of dies (N max ) for the target die area (A target ).
- the die shapes have the maximum number of dies (N max ) for the target die area (A target ) are added to an initial result list.
- a die size optimization (DSO) routine 230 is executed to determine: (a) a list of die shapes having a maximum die area (A max ) corresponding to the maximum number of dies (N max ), (b) a first list of optimized die shapes, which have a maximum area utilization (AU), for a decreased target die area (A target ), and (c) a second list of optimized die shapes, which have a minimum area utilization (AU), for an increased target die area (A target ).
- DSO die size optimization
- entries from the initial result list that was generated at 220 , and optionally entries in each of the three lists (that were generated at 230 ) are compiled and output as entries in a candidate list, for example, on a computer display or other medium so that they can be evaluated by a user.
- the candidate list includes a plurality of entries from (1) the initial result list of die shapes that have the maximum number of dies (N max ) for the target die area (A target ) (that was generated during the DNO routine at 220 ), (2) the list of die shapes having the maximum die area (A max ) corresponding to the maximum number of dies (N max ) (that was generated during the DSO routine at 230 / 400 ), (3) the first list of optimized die shapes (that was generated during the DSO routine at 230 / 500 ), and (4) the second list of optimized die shapes (that was generated during the DSO routine at 230 / 600 ).
- each entry in the candidate list can include, for example, die width (x), die height (y), die area (x ⁇ y), die aspect ratio (x/y), and die number (or “number of dies”).
- die width x
- die height y
- die area x ⁇ y
- die aspect ratio x/y
- die number or “number of dies”.
- the candidate list will have multiple entries that all have the same maximum number of dies (N max ) on the wafer.
- N max maximum number of dies
- one of the entries from the candidate list can be selected automatically by a computer or by a user.
- the selected entry can be, for example, the entry that has the maximum number of dies (N max ) on the wafer, and a desired aspect ratio and/or desired die shape, etc.
- text can be included on the display that indicates a proposed wafer layout corresponding to one of the entries from the candidate list.
- the proposed wafer layout can include a suggested die area (x s ⁇ y s ), a suggested die height (x s ), a suggested die width (y s ), a suggested die aspect ratio (x s /y s ), and the maximum number of dies (N max ).
- N max the maximum number of dies
- an image that includes a wafer having the proposed wafer layout can also be displayed.
- FIG. 3 is a flowchart that illustrates a die number optimization (DNO) routine 220 of the computer-implemented method 200 of FIG. 2 in accordance with some of the disclosed embodiments.
- the DNO routine 220 involves iteratively checking each die shape in the first list of die shapes to determine which ones of the die shapes have the maximum number of dies (N max ) for the target die area (A target ).
- N max maximum number of dies
- a target A target die area
- the DNO routine 220 begins at 310 , a first maximum die width (x max ) and a first maximum die height (y max ) can be computed.
- the first maximum die width (x max ) is computed by dividing the target die area (A target ) by the minimum die width (x min )
- the first maximum die height (y max ) is computed by dividing the target die area (A target ) by the minimum die height (y min ).
- a first list of die shapes that have the target die area (A target ) can be generated.
- the first list of die shapes is generated by creating a set of values within the range ⁇ x min . . . x max ⁇ that are bound by the minimum die width (x min ) and the maximum die width (x max ) creating another set of values with another range ⁇ y min . . .
- y max that are bound by the minimum die height (y min ) and the maximum die height (y max ), and then computing different combinations of widths and heights within these ranges or die shapes that have the target die area (A target ).
- the number of die shapes in the first list can vary depending on the implementation, and any degree of granularity for the width/height combinations that is desired can be utilized.
- a “next” die shape in the first list of die shapes is selected as the current die shape (to be evaluated).
- the current die shape is the first die shape in the first list.
- a number (Ni) of dies for that current die shape is computed.
- the computation at 325 can also be referred to as a potential die per wafer (PDPW) computation routine.
- PDPW potential die per wafer
- the current die shape, the computed number (Ni) of dies for the current die shape, and a current aspect ratio of the current die shape can be added to a result list.
- the DNO routine 220 then proceeds to 350 , where it is determined whether all die shapes in the first list of die shapes been evaluated.
- the computed number (Ni) of dies for the current die shape is determined (at 335 ) to be greater than the current maximum die number (N max ) stored in the result list, then at 345 , the result list is cleared of all entries (or reset), and the current die shape, the computed number (Ni) of dies for the current die shape, and the current aspect ratio of the current die shape are added to the result list.
- the DNO routine 220 then proceeds to 350 , where it is determined whether all die shapes in the first list of die shapes have been evaluated.
- the DNO routine 220 proceeds to 350 , where it is determined whether all die shapes in the first list of die shapes have been evaluated.
- the next die shape in the first list is selected as the current die shape, and the DNO routine returns to 325 for another iteration. This iterative processing continues until it is determined that all die shapes in the first list of die shapes have been evaluated (at 350 ) at which point the DNO routine 220 proceeds to 355 .
- the result list is recorded as a final result list.
- the final result list can include one or more entries, wherein each entry comprises: a particular die shape for that entry, the maximum number of dies (N max ), and a particular aspect ratio for that entry.
- the DNO routine 220 is complete at 360 , and the method 200 then proceeds to execute the DSO routine 230 .
- the DSO routine 230 may include three processes or routines that can be executed in parallel in one embodiment.
- FIG. 4 is a flowchart that illustrates a routine 400 of the die size optimization (DSO) routine 230 of the computer-implemented method 200 of FIG. 2 in accordance with some of the disclosed embodiments.
- the routine 400 determines, while holding the maximum number of dies (N max ) determined during the DNO routine 220 at a fixed number, a list of die shapes having a maximum die area (A max ) corresponding to the maximum number of dies (N max ).
- routine 400 receives at least some of the input variables that were input at 210 of FIG. 2 (e.g., the minimum die width (x min ) and minimum die height (y min ), step size (e.g., the minimal offset between the width (x) and height (y) values), target die area (A target )), and the maximum number of dies (N max ) specified in final result list generated at step 355 of the DNO routine 220 .
- the input variables that were input at 210 of FIG. 2 e.g., the minimum die width (x min ) and minimum die height (y min ), step size (e.g., the minimal offset between the width (x) and height (y) values), target die area (A target )), and the maximum number of dies (N max ) specified in final result list generated at step 355 of the DNO routine 220 .
- the routine 400 begins at 410 , where a second maximum die width (x max ′) and a second maximum die height (y max ′) are computed based on an upper limit die area (A ul ), the minimum die width (x min ) and the minimum die height (y min ).
- the upper limit die area (A ul ) can be computed based on the target die area (A target ) by increasing the target die area (A target ) by a first scaling factor (e.g., a number greater than one) to an upper limit or “maximum.”
- a first scaling factor e.g., a number greater than one
- the target die area (A target ) can be multiplied by a first scaling factor of 1.5 to increase the target die area (A target ) by 50%.
- the second maximum die width (x max ′) is computed by dividing the upper limit die area (A ul ) by the minimum die width (x min ) and the second maximum die height (y max ′) is computed by dividing the upper limit die area (A ul ) by the minimum die height (y min ).
- a second list of die shapes that have the upper limit die area (A ul ) is generated.
- the second list of die shapes is generated by creating a set of values within the range ⁇ x min . . . x max ′ ⁇ that are bound by the minimum die width (x min ) and the second maximum die width (x max ′), creating another set of values with another range ⁇ y min . . .
- y max ′ that are bound by the minimum die height (y min ) and the second maximum die height (y max ′), and then computing different combinations of widths and heights within these ranges or die shapes that have the upper limit die area (A ul ).
- the number of die shapes in the second list can vary depending on the implementation, and any degree of granularity for the width/height combinations that is desired can be utilized.
- the second list of die shapes can then be iteratively evaluated to which one(s) have a maximum die area (A max ) that corresponds to the maximum number of dies (N max ) that was computed during the DNO routine 220 .
- a “next” die shape in the second list of die shapes is selected as the current die shape (to be evaluated), and at 425 , a number (Nu) of dies for that current die shape is computed.
- the current die shape is the first die shape in the second list.
- the computation at 425 can also be referred to as a potential die per wafer (PDPW) computation routine.
- PDPW potential die per wafer
- the routine 400 proceeds to 450 , where it is determined whether all die shapes in the second list of die shapes have been evaluated. When it is determined at 450 that all die shapes in the second list of die shapes have not yet been evaluated, the next die shape in the second list of die shapes is selected as the current die shape, and the routine 400 returns to 425 to begin another iteration.
- the routine 400 proceeds to 435 , where it is determined whether current die area has increased in comparison to the target die area (A target ) when using the current die shape.
- routine 400 proceeds to 450 , where it is determined whether all die shapes in the second list of die shapes have been evaluated.
- the routine 400 proceeds to 440 , where a first result is stored in a list of die shapes having a maximum die area (A max ) corresponding to the maximum number of dies (N max ). The first result is the current die area associated with the current die shape.
- the routine 400 then proceeds to 450 , where it is determined whether die shapes in the second list of die shapes have been evaluated.
- routine 400 proceeds to 460 , where the list of die shapes having the maximum die area (A max ) is recorded.
- a max the maximum die area
- Each die shape in the list of die shapes having the maximum die area (A max ) also have the maximum number of dies (N max ) that was computed during the DNO routine 220 .
- FIG. 5 is a flowchart that illustrates a second routine 500 of the die size optimization (DSO) routine 230 of the computer-implemented method 200 of FIG. 2 in accordance with some of the disclosed embodiments.
- DSO die size optimization
- the second routine 500 receives at least some of the input variables that were input at 210 of FIG. 2 (e.g., the minimum die width (x min ) and minimum die height (y min ), step size, target die area (A target )), and the maximum number of dies (N max ) specified in final result list generated at step 355 of the DNO routine 220 .
- the input variables e.g., the minimum die width (x min ) and minimum die height (y min ), step size, target die area (A target )
- N max maximum number of dies specified in final result list generated at step 355 of the DNO routine 220 .
- the target die area (A target ) is decreased and a third maximum die width (x max ′′) and a third maximum die height (y max ′′) are computed.
- the target die area (A target ) can be multiplied by a second scaling factor (e.g., a number less than one) to compute a decreased target die area (A target ) that will be referred to below as a lower limit die area (A ll ).
- a second scaling factor e.g., a number less than one
- the second scaling factor would be 0.5, which is the lower limit or minimum die area to be evaluated.
- the third maximum die width (x max ′′) can then be computed by dividing the lower limit die area (A ll ) by the minimum die width (x min ), and the third maximum die height (y max ′′) can then be computed by dividing the lower limit die area (A ll ) by the minimum die height (y min ).
- a third list of die shapes that have the lower limit die area (A ll ) is generated based on the minimum die width (x min ), the minimum die height (y min ), the third maximum die width (x max ′′) and the third maximum die height (y max ′′).
- the third list of die shapes is generated by creating a set of values within the range ⁇ x min . . . x max ′′ ⁇ that are bound by the minimum die width (x min ) and the third maximum die width (x max ′′), creating another set of values with another range ⁇ y min . . .
- y max ′ that are bound by the minimum die height (y min ) and the third maximum die height (y max ′′), and then computing different combinations of widths and heights within these ranges or die shapes that have the lower limit die area (A ll ).
- the number of die shapes in the third list can vary depending on the implementation, and any degree of granularity for the width/height combinations that is desired can be utilized.
- the third list of die shapes that have the lower limit die area (A ll ) can then be evaluated to determine which ones have the maximum area utilization (AU) in view of the lower limit die area (A ll ).
- a “next” die shape in the third list of die shapes is selected as the current die shape (to be evaluated), and at 525 , a number (Nl) of dies is computed for the current die shape.
- a first area utilization value is computed for the current die shape, and then at 535 , it is determined whether both the first area utilization value and the computed number (Nl) of dies for the current die shape have increased from previously stored values.
- the area utilization value can be computed per equation (1) as follows:
- the next die shape in the third list is selected as the current die shape and another iteration begins at 525 .
- This iterative processing at 525 through 540 is repeated per FIG. 5 until all die shapes in the third list of die shapes have been evaluated.
- the second results that are presently stored are recorded as the first list of optimized die shapes.
- This first list of optimized die shapes are the ones of the third list of die shapes (from 520 ) that have been determined to have the maximum area utilization (AU).
- FIG. 6 is a flowchart that illustrates a third routine 600 of the die size optimization (DSO) routine 230 of the computer-implemented method 200 of FIG. 2 in accordance with some of the disclosed embodiments.
- DSO die size optimization
- the third routine 600 receives at least some of the input variables that were input at 210 of FIG. 2 (e.g., the minimum die width (x min ) and minimum die height (y min ), step size, target die area (A target )), the maximum number of dies (N max ) specified in final result list generated at step 355 of the DNO routine 220 , and the second list of die shapes that was generated at step 420 of FIG. 4 .
- the input variables that were input at 210 of FIG. 2 e.g., the minimum die width (x min ) and minimum die height (y min ), step size, target die area (A target )), the maximum number of dies (N max ) specified in final result list generated at step 355 of the DNO routine 220 , and the second list of die shapes that was generated at step 420 of FIG. 4 .
- a “next” die shape in the second list of die shapes is selected as the current die shape (to be evaluated), and at 625 , a number (Nu′) of dies for a current die shape in the second list of die shapes is computed.
- a second area utilization value for the current die shape is computed using equation (1) above.
- the current die area associated with the current die shape is stored as a third result, and it is determined at 650 , whether all die shapes in the second list of die shapes have been evaluated.
- the routine 600 returns to 625 to begin another iteration. This iterative processing at 625 through 640 is repeated per FIG. 6 until all die shapes in the second list of die shapes have been evaluated.
- the second list of optimized die shapes are the ones of the second list of die shapes (from 420 of FIG. 4 ) that have been determined to have the minimum area utilization (AU).
- FIG. 7 is an exemplary top view of a wafer 700 -A when a conventional die number optimization routine is performed.
- the wafer 700 -A includes 3342 dies.
- FIG. 8 is an exemplary top view of the same wafer 700 -B of FIG. 7 when the method 200 for optimizing a number of dies is performed in accordance with some of the disclosed embodiments.
- the wafer 700 -B now includes 3368 dies, or 26 additional dies in the same wafer 700 -A.
- FIG. 9 is an exemplary table 900 illustrating a comparison between a number of dies per wafer for the conventional die number optimization routine ( FIG. 7 ) and a number of dies per wafer when the method 200 for optimizing a number of dies is performed in accordance with some of the disclosed embodiments.
- Column 905 of table 900 shows various optimization routines that can be performed to optimize the number of dies on a particular wafer
- row 955 of table 900 shows variables that can be computed when each of the different optimization routines are performed.
- the variables in row 955 include die width (x) dimensions in column 910 , die height (y) dimensions in column 920 , die area (x ⁇ y) in column 930 , die number in column 940 , and die aspect ratio (x/y) in column 950 .
- the table 900 includes simulation results for a conventional die number optimization routine (row 960 ), simulation results after the DNO routine 220 is performed (row 970 ), simulation results after the routine 400 ( FIG.
- the width (x) dimension of the dies decreases and the height (y) dimension of the dies increases slightly in comparison to the values when the conventional die number optimization routine (row 960 ) is applied, whereas the target die area (A target ) remains fixed (i.e., does not change).
- the conventional die number optimization routine (row 960 ) results in having an aspect ratio of 1.1033, and 3342 die being fit into a particular wafer having a particular fabrication area.
- 3362 die are fit into the same wafer with each of the die having as aspect ratio of 1.1146.
- the simulation results show that implementing the DNO routine alone increases the number of dies that can be fabricated on the wafer by 0.598% in comparison to the conventional die number optimization routine (row 960 ).
- the routine 400 of the DSO routine 230 ( FIG. 4 ) is performed (row 972 )
- the width (x) dimension of the dies decreases and the height (y) dimension of the dies increases slightly in comparison to the values when the conventional die number optimization routine (row 960 ) is applied, and the die area also increases.
- 3362 die are fit into the same wafer with each of the die having as aspect ratio of 1.1150.
- the simulation results show that implementing the DNO routine along with the routine 400 of the DSO routine 230 increases the number of dies that can be fabricated on the wafer by 0.598% in comparison to the conventional die number optimization routine (row 960 ).
- implementing the routine 400 of the DSO routine 230 results in a negligible increase in die area (0.017%) and aspect ratio, but no increase in die number, with respect to the results produced when only the DNO routine is performed.
- the width (x) dimension of the dies decreases and the height (y) dimension of the dies increases slightly in comparison to the values when the conventional die number optimization routine (row 960 ) is applied, while the die area actually decreases.
- 3368 die are fit into the same wafer with each of the die having a larger aspect ratio of 1.1174.
- the simulation results show that implementing the second routine 500 of the DSO routine 230 (in conjunction with the DNO routine and the routine 400 of the DSO routine 230 ) the number of dies that can be fabricated on the wafer can be increased by 0.788% in comparison to the conventional die number optimization routine (row 960 ).
- the width (x) dimension of the dies decreases and the height (y) dimension of the dies increases slightly in comparison to the values when the conventional die number optimization routine (row 960 ) is applied, while the die area increases.
- the third routine 600 of the DSO routine 230 is performed (row 976 )
- 3360 die are fit into the same wafer with each of the die having a larger aspect ratio of 1.1158.
- the simulation results show that implementing the third routine 600 of the DSO routine 230 (in conjunction with the DNO routine, the routine 400 of the DSO routine 230 and the second routine 500 of the DSO routine 230 ), the number of dies that can be fabricated on the wafer can be increased by 0.539% in comparison to the conventional die number optimization routine (row 960 ).
- the various embodiments can allow for an increase in the number of dies that can be fabricated on a particular wafer.
- rows 970 , 972 , 974 , 976 of the table 900 is one example of the candidate list that could be output at block 240 of FIG. 2 ; however, its noted that there could be multiple entries in any of the rows 970 , 972 , 974 , 976 in other examples where multiple entries result.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
- An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
- the storage medium may be integral to the processor.
- the processor and the storage medium may reside in an ASIC.
- FIG. 10 illustrates a block diagram of a computer system 1000 for executing electronic design automation programs in accordance with various ones of the disclosed embodiments.
- the computer system 1000 includes a processor 1002 , a main memory 1004 , an interconnect bus 1006 , a mass storage device 1008 , peripheral device(s) 1010 , input control device(s) 1012 , portable storage drive(s) 1014 , a graphics subsystem 1016 , and a display 1018 .
- the processor 1002 may include a single microprocessor or a plurality of microprocessors configured as a multi-processor system.
- the main memory 1004 stores, in part, instructions and data to be executed by the processor 1002 .
- the main memory 1004 preferably includes banks of dynamic random access memory (DRAM) as well as high-speed cache memory.
- DRAM dynamic random access memory
- the components of the computer system 1000 are connected via interconnect bus 1006 .
- the computer system 1000 may be connected through one or more data transport means.
- the processor 1002 and main memory 1004 may be connected via a local microprocessor bus and mass storage device 1008 , peripheral device(s) 1010 , portable storage medium drive(s) 1014 , and graphic subsystem 1016 may be connected via one or more input/output (I/O) buses.
- I/O input/output
- Mass storage device 1008 which may be implemented with a magnetic disk drive, an optical disk drive, a solid state device, or an attachment to network storage, is non-volatile storage device for storing data, databases, and instructions, to be used by the processor 1002 .
- mass storage device 1008 may store the software to load it into main memory 1004 .
- Portable storage medium drive 1014 operates in conjunction with a portable non-volatile storage medium such as a floppy disk, a compact disk read only memory (CD-ROM), or a digital versatile disk read only memory (DVD-ROM), to input and output data and code to and from the computer system 1000 .
- a portable non-volatile storage medium such as a floppy disk, a compact disk read only memory (CD-ROM), or a digital versatile disk read only memory (DVD-ROM)
- the software is stored on such a portable medium, and is input to computer system 1000 via portable storage medium drive 1014 .
- Peripheral device(s) 1010 may include any type of computer support device such as an input/output (I/O) interface, to add additional functionality to computer system 1000 .
- peripheral device(s) 1010 may include a network interface card to interface computer system 1000 to a network.
- Input control device(s) 1012 provide a portion of the user interface for the computer system 1000 user.
- Input control device(s) 1012 may include an alphanumeric keypad for inputting alphanumeric and other key information; and a cursor control device such as a mouse, a track pad or stylus; or cursor direction keys.
- Output display 1018 may include a cathode ray tube (CRT) display, liquid crystal display (LCD), plasma, or light emitting diode (LED) display, etc.
- CTR cathode ray tube
- LCD liquid crystal display
- LED light emitting diode
- Graphic subsystem 1016 receives textual and graphical information and processes the information for output to display 1018 .
- the EDA software includes a plurality of computer executable instructions, to be implemented on a computer system. Prior to loading in the computer system, the EDA software may reside as encoded information on a computer-readable tangible medium such as a magnetic floppy disk, a magnetic tape, CD-ROM, DVD-ROM, flash memory, or any other suitable computer readable medium.
- a computer-readable tangible medium such as a magnetic floppy disk, a magnetic tape, CD-ROM, DVD-ROM, flash memory, or any other suitable computer readable medium.
- such a system may be implemented in any suitable computer based platform known in the art.
- the system may comprise suitable storage media and one or more dedicated processors or share one or more processors executing/controlling other functions, wherein the employed processor(s) is programmably configured with processor instructions for performing the functions described herein.
- Suitable circuits may also be developed to execute certain aspects of these functions.
- a computer-implemented method for optimizing a number of dies that can be fabricated on a wafer.
- input variables can be received that include: a minimum die width (x min ), a minimum die height (y min ), a target aspect ratio, a target die area (A target ), a wafer area (A w ), an edge band width (w eb ), and a scribe width (w s ).
- a first maximum die width (x max ) and a first maximum die height (y max ) can be computed, and the first list of die shapes that have the target die area (A target ) can be generated based on the minimum die width (x min ), the minimum die height (y min ), the maximum die width (x max ) and the maximum die height (y max ).
- a die number optimization (DNO) routine can be executed to determine a maximum number of dies (N max ) for the target die area (A target ).
- DNO die number optimization
- each die shape in a first list of die shapes can be iteratively checked to determine which ones of the die shapes have the maximum number of dies (N max ) for the target die area (A target ), and an initial result list of die shapes that have the maximum number of dies (N max ) for the target die area (A target ) can be generated.
- each die shape in the first list of die shapes can be iteratively checked to determine which ones of the die shapes have the maximum number of dies (N max ) for the target die area (A target ) by (a) selecting a next die shape from the first list of die shapes as a current die shape, and computing a first number (Ni) of dies for the current die shape from the first list of die shapes, and then at step (b) determining whether the computed number (Ni) of dies for the current die shape is greater than or equal to a current maximum die number (N max ) stored in a result list.
- step (c) adding the computed first number (Ni) of dies for the current die shape, the current die shape and a current aspect ratio of the current die shape to the result list, and then (e) determining whether all die shapes in the first list of die shapes have been evaluated.
- the result list is cleared and the computed first number (Ni) of dies for the current die shape, the current die shape and the current aspect ratio of the current die shape are added to the result list, and then at step (e) it can be determined whether all die shapes in the first list of die shapes have been evaluated.
- the result list can be recorded as a final result list.
- the final result list comprises a plurality of entries, wherein each entry comprises: a particular die shape for that entry, the maximum number of dies (N max ), and a particular aspect ratio for that entry. The aspect ratio of each entry in the final result list is different.
- the computer-implemented method can also include executing a die size optimization (DSO) routine to determine (1) a list of die shapes having a maximum die area (A max ) corresponding to the maximum number of dies (N max ), (2) a first list of optimized die shapes, which have a maximum area utilization (AU), for a decreased target die area (A target ), and (3) a second list of optimized die shapes, which have a minimum area utilization (AU), for an increased target die area (A target ).
- DSO die size optimization
- the DSO routine comprises a first DSO routine, a second DSO routine and a third DSO routine.
- the maximum die area (A max ) corresponding to the maximum number of dies (N max ) is determined while holding the maximum number of dies (N max ) determined during the DNO routine at a fixed number.
- the target die area (A target ) can be multiplied by a first scaling factor to compute an upper limit die area (A ul ) based on the target die area (A target ), and then, based on the upper limit die area (A ul ), the minimum die width (x min ) and the minimum die height (y min ), a second maximum die width (x max ′) and a second maximum die height (y max ′) can be computed.
- a second list of die shapes can be generated that have an upper limit die area (A ul ).
- the first DSO routine can then include steps (f) through (j).
- a next die shape from the second list of die shapes can be selected as a current die shape, and a second number (Nu) of dies for that current die shape can be computed.
- step (j) it can be determined whether all die shapes in the second list of die shapes have been evaluated.
- the computed second number (Nu) of dies for the current die shape is determined to be equal to the maximum number of dies (N max ) that was computed during the DNO routine, then at step (h) it can be determined whether current die area has increased in comparison to the target die area (A target ) when using the current die shape.
- step (j) it can be determined whether all die shapes in the second list of die shapes have been evaluated.
- the current die area is determined to have increased in comparison to the target die area (A target ) (when using the current die shape)
- the current die shape can be stored as a first result in the list of die shapes having the maximum die area (A max ) and corresponding to the maximum number of dies (N max ). Then at step (j) it can be determined whether all die shapes in the second list of die shapes have been evaluated.
- steps (f) through (j) are iteratively repeated for a next die shape from the second list of die shapes (that can be selected as a “new” current die shape).
- the list of die shapes having the maximum die area (A max ) that corresponds to the maximum number of dies (N max ) computed during the DNO routine can be recorded.
- the target die area (A target ) can be decreased to generate a decreased target die area (A target ), and the first list of optimized die shapes, which have the maximum area utilization (AU), for the decreased target die area (A target ) can then be determined.
- AU maximum area utilization
- the target die area (A target ) can be multiplied by a second scaling factor to compute lower limit die area (A ll ) based on the target die area (A target ), and then a third maximum die width (x max ′′) and a third maximum die height (y max ′′) can be computed based on the lower limit die area (A ll ), the minimum die width (x min ) and the minimum die height (y min ).
- a third list of die shapes that have the lower limit die area (A ll ) can then be generated based on the minimum die width (x min ), the minimum die height (y min ), the third maximum die width (x max ′′) and the third maximum die height (y max ′′).
- the first list of optimized die shapes, which have the maximum area utilization (AU), for the decreased target die area (A target ) can then be determined by performing steps (k) through (o) as follows.
- a next die shape from the third list of die shapes can be selected as a current die shape, and a third number (Nl) of dies for the current die shape (in the third list of die shapes) can be computed.
- Nl third number of dies for the current die shape
- a first area utilization value for the current die shape can be computed, and then at step (m) it can be determined whether the first area utilization value or the computed third number (Nl) of dies for the current die shape has increased from previously stored values (if any have been stored).
- step (m) When it is determined, at step (m), that neither the first area utilization value nor the computed third number (Nl) of dies for the current die shape has increased from previously stored values, it can be determined at step (o) whether all die shapes in the third list of die shapes have been evaluated.
- step (m) when it is determined, at step (m), that either the first area utilization value or the computed third number (Nl) of dies for the current die shape has increased from previously stored values, then at step (n) the current die area associated with the current die shape can be stored as a second result. It can then be determined at step (o) whether all die shapes in the third list of die shapes have been evaluated.
- steps (k) through (n) can be iteratively repeated.
- the second results that are presently stored as can be stored as the first list of optimized die shapes.
- the die shapes in the first list of optimized die shapes have the maximum area utilization (AU) for the decreased target die area (A target ).
- steps (p) through (t) can be iteratively performed.
- a next die shape from the second list of die shapes can be selected as a current die shape, and a fourth number (Nu′) of dies for the current die shape (from the second list of die shapes) can be computed.
- a second area utilization value for the current die shape is computed, and at step (r) it can be determined whether the second area utilization value for the current die shape has decreased from a previously stored value (if any is/are stored).
- step (r) When it is determined, at step (r), that the second area utilization value for the current die shape has not decreased from the previously stored value, then at step (t) it can be determined whether all die shapes in the second list of die shapes have been evaluated. When it is determined at step (r) that all die shapes in the second list of die shapes have not yet been evaluated steps (p) through (t), can be iteratively repeated. By contrast, when it is determined, at step (r), that the second area utilization value for the current die shape has decreased from the previously stored value, then at step (s) the current die area associated with the current die shape can be stored as a third result. Then, at step (t), it can be determined whether all die shapes in the second list of die shapes have been evaluated.
- the third results that are presently stored can be recorded as the second list of optimized die shapes, which have the minimum area utilization (AU), for the increased target die area (A target ).
- a candidate list can be output.
- the candidate list can include one or more entries that can include, for example, die shapes from the initial result list that have the maximum number of dies (N max ) for the target die area (A target ), die shapes from the list of die shapes having the maximum die area (A max ) corresponding to the maximum number of dies (N max ), the optimized die shapes from the first list of optimized die shapes, and the optimized die shapes from the second list of optimized die shapes.
- One of the entries from the candidate list that will result in the maximum number of dies (N max ) on the wafer can be selected automatically as part of the computer implemented method, or by a user who inspects the candidate list.
- information that is generated as part of the computer-implemented method can be displayed, for example, on a graphical user interface.
- This information can include text that indicates a proposed wafer layout corresponding to one of the entries from the candidate list, and/or an image that includes a wafer having the proposed wafer layout.
- Text that indicates the proposed wafer layout can include, for example, a suggested die area (x s ⁇ y s ), a suggested die height (x s ), a suggested die width (y s ), a suggested die aspect ratio (x s /y s ), and the maximum number of dies (N max ).
- the computer-implemented methods that are described above for optimizing the number of dies that can be fabricated on a wafer can be implemented in a computer program product for use with a computer.
- the computer program product comprises a non-transitory computer-readable storage medium comprising computer-executable instructions stored thereon for optimizing the number of dies that can be fabricated on the wafer.
- the computer-executable instructions can perform any combination of the various steps described herein.
- the system comprises a computer processor, a storage memory coupled to the computer processor, an input apparatus for inputting input variables and a computer program that includes software modules including software modules that are designed to perform the computer-executable instructions that are described above.
- the computer program can includes, in one implementation, a first module configured to compute a first maximum die width (x max ) and a first maximum die height (y max to generate a first list of die shapes that have the target die area (A target ), based on the minimum die width (x min ), the minimum die height (y min ), the maximum die width (x max ) and the maximum die height (y max ), to determine a maximum number of dies (N max ) for the target die area (A target ) by iteratively checking each die shape in a first list of die shapes to determine which ones of the die shapes have the maximum number of dies (N max ) for the target die area (A target ), and to generate an initial result list of die shapes that have the maximum number of dies (N max ) for the target die area (A target ); and a second module configured to determine (1) a list of die shapes having a maximum die area (A max ) corresponding to the maximum number of dies (N max ), (2) a first list of optimized die shapes,
- the computer program can optionally include a third module configured to generate a candidate list (as described above).
- the system can include a display for displaying one or more of: a proposed wafer layout corresponding to one of the entries from the candidate list, the proposed wafer layout comprising: a suggested die area (x s ⁇ y s ), a suggested die height (x s ), a suggested die width (y s ), a suggested die aspect ratio (x s /y s ), and the maximum number of dies (N max ); and an image that includes a wafer having the proposed wafer layout
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Metal Extraction Processes (AREA)
Abstract
Description
Claims (24)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210545271.6 | 2012-09-28 | ||
CN201210545271.6A CN103714188B (en) | 2012-09-28 | 2012-09-28 | For optimizing the system of the tube core number manufactured on chip |
Publications (2)
Publication Number | Publication Date |
---|---|
US8671381B1 true US8671381B1 (en) | 2014-03-11 |
US20140096103A1 US20140096103A1 (en) | 2014-04-03 |
Family
ID=50391573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/723,207 Expired - Fee Related US8671381B1 (en) | 2012-09-28 | 2012-12-21 | System for optimizing number of dies produced on a wafer |
Country Status (2)
Country | Link |
---|---|
US (1) | US8671381B1 (en) |
CN (1) | CN103714188B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190339621A1 (en) * | 2016-07-19 | 2019-11-07 | Asml Netherlands B.V. | Determining the combination of patterns to be applied to a substrate in a lithography step |
US11163238B2 (en) * | 2019-10-04 | 2021-11-02 | Systems On Silicon Manufacturing Co. Pte. Ltd. | Optimum layout of dies on a wafer |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537116B (en) * | 2015-01-23 | 2017-10-31 | 浙江大学 | A kind of books searching method based on label |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6522940B1 (en) | 1999-12-28 | 2003-02-18 | Koninklijke Philips Electronics N.V. | Method and system for varying die shape to increase wafer productivity |
US20040128630A1 (en) * | 2002-12-30 | 2004-07-01 | Mark Ward | Optimization of die yield in a silicon wafer "sweet spot" |
US7033847B2 (en) | 2003-03-14 | 2006-04-25 | Taiwan Semiconductor Manufacturing Co., Ltd. | Determining the maximum number of dies fitting on a semiconductor wafer |
US7353077B2 (en) | 2005-07-29 | 2008-04-01 | Taiwan Semiconductor Manufacturing Company | Methods for optimizing die placement |
US20090007028A1 (en) * | 2007-06-29 | 2009-01-01 | Stefan Hempel | Wafer layout optimization method and system |
US8239788B2 (en) | 2009-08-07 | 2012-08-07 | Taiwan Semiconductor Manufacturing Co., Ltd. | Frame cell for shot layout flexibility |
US8386981B1 (en) * | 2010-04-12 | 2013-02-26 | Cadence Design Systems, Inc. | Method and systems for implementing I/O rings and die area estimations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW591237B (en) * | 2002-07-31 | 2004-06-11 | Advanced Semiconductor Eng | Semiconductor wafer and testing method for the same |
US7622313B2 (en) * | 2005-07-29 | 2009-11-24 | Freescale Semiconductor, Inc. | Fabrication of three dimensional integrated circuit employing multiple die panels |
CN101465272B (en) * | 2007-12-17 | 2011-11-09 | 中芯国际集成电路制造(上海)有限公司 | Method for optimizing semiconductor device ion injection technology |
-
2012
- 2012-09-28 CN CN201210545271.6A patent/CN103714188B/en not_active Expired - Fee Related
- 2012-12-21 US US13/723,207 patent/US8671381B1/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6522940B1 (en) | 1999-12-28 | 2003-02-18 | Koninklijke Philips Electronics N.V. | Method and system for varying die shape to increase wafer productivity |
US20040128630A1 (en) * | 2002-12-30 | 2004-07-01 | Mark Ward | Optimization of die yield in a silicon wafer "sweet spot" |
US7033847B2 (en) | 2003-03-14 | 2006-04-25 | Taiwan Semiconductor Manufacturing Co., Ltd. | Determining the maximum number of dies fitting on a semiconductor wafer |
US7353077B2 (en) | 2005-07-29 | 2008-04-01 | Taiwan Semiconductor Manufacturing Company | Methods for optimizing die placement |
US20090007028A1 (en) * | 2007-06-29 | 2009-01-01 | Stefan Hempel | Wafer layout optimization method and system |
US7882481B2 (en) | 2007-06-29 | 2011-02-01 | Globalfoundries Inc. | Wafer layout optimization method and system |
US8239788B2 (en) | 2009-08-07 | 2012-08-07 | Taiwan Semiconductor Manufacturing Co., Ltd. | Frame cell for shot layout flexibility |
US8386981B1 (en) * | 2010-04-12 | 2013-02-26 | Cadence Design Systems, Inc. | Method and systems for implementing I/O rings and die area estimations |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190339621A1 (en) * | 2016-07-19 | 2019-11-07 | Asml Netherlands B.V. | Determining the combination of patterns to be applied to a substrate in a lithography step |
US11747738B2 (en) * | 2016-07-19 | 2023-09-05 | Asml Netherlands B.V. | Determining the combination of patterns to be applied to a substrate in a lithography step |
US11163238B2 (en) * | 2019-10-04 | 2021-11-02 | Systems On Silicon Manufacturing Co. Pte. Ltd. | Optimum layout of dies on a wafer |
Also Published As
Publication number | Publication date |
---|---|
US20140096103A1 (en) | 2014-04-03 |
CN103714188A (en) | 2014-04-09 |
CN103714188B (en) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7266138B2 (en) | Systems and methods for performing process model calibration in a virtual semiconductor device fabrication environment | |
US8176444B2 (en) | Analyzing multiple induced systematic and statistical layout dependent effects on circuit performance | |
US7784020B2 (en) | Semiconductor circuit pattern design method for manufacturing semiconductor device or liquid crystal display device | |
US8560992B2 (en) | Method for inspecting a chip layout | |
US7503020B2 (en) | IC layout optimization to improve yield | |
US20170316138A1 (en) | Method and System for Integrated Circuit Design With On-Chip Variation and Spatial Correlation | |
US8533649B2 (en) | Reducing leakage power in integrated circuit designs | |
US10185795B1 (en) | Systems and methods for statistical static timing analysis | |
US8452439B2 (en) | Device performance parmeter tuning method and system | |
US11250185B2 (en) | Method and apparatus for calculating equivalent mechanical parameters of film layer etching region | |
US10409924B2 (en) | Intelligent CAA failure pre-diagnosis method and system for design layout | |
US8671381B1 (en) | System for optimizing number of dies produced on a wafer | |
KR102582665B1 (en) | System and method for evaluating patterns of integrated circuit | |
US20150089463A1 (en) | Method of failure analysis | |
CN103246153A (en) | Territory map layer design method of semiconductor chip and mask plate thereof | |
Blanton et al. | DREAMS: DFM rule EvAluation using manufactured silicon | |
US20180349545A1 (en) | Methodology for pattern density optimization | |
US9378314B2 (en) | Analytical model for predicting current mismatch in metal oxide semiconductor arrays | |
US10540463B1 (en) | Placement of delay circuits for avoiding hold violations | |
US8910092B1 (en) | Model based simulation method with fast bias contour for lithography process check | |
US9747405B2 (en) | Buffer chain management for alleviating routing congestion | |
US8716869B2 (en) | Cell array and density features with decoupling capacitors | |
US7478348B2 (en) | Method and apparatus of rapid determination of problematic areas in VLSI layout by oriented sliver sampling | |
US9026974B2 (en) | Semiconductor integrated circuit partitioning and timing | |
US11487930B2 (en) | Pattern matching using anchors during integrated circuit verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WANG, PEIDONG;CHEN, ZHIJUN;CHENG, ZHIHONG;AND OTHERS;REEL/FRAME:029538/0420 Effective date: 20121025 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030258/0540 Effective date: 20130214 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030258/0558 Effective date: 20130214 Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SUPPLEMENT TO IP SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030258/0523 Effective date: 20130214 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030633/0424 Effective date: 20130521 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:031591/0266 Effective date: 20131101 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037357/0671 Effective date: 20151207 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037357/0685 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037486/0517 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037518/0292 Effective date: 20151207 |
|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037494/0312 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SUPPLEMENT TO THE SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:039138/0001 Effective date: 20160525 |
|
AS | Assignment |
Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040928/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP USA, INC., TEXAS Free format text: MERGER;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:041144/0363 Effective date: 20161107 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:041703/0536 Effective date: 20151207 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: SHENZHEN XINGUODU TECHNOLOGY CO., LTD., CHINA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS.;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:048734/0001 Effective date: 20190217 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050744/0097 Effective date: 20190903 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:053547/0421 Effective date: 20151207 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052915/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052917/0001 Effective date: 20160912 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220311 |