US20140282331A1 - Universal design layout compliance - Google Patents

Universal design layout compliance Download PDF

Info

Publication number
US20140282331A1
US20140282331A1 US13/852,080 US201313852080A US2014282331A1 US 20140282331 A1 US20140282331 A1 US 20140282331A1 US 201313852080 A US201313852080 A US 201313852080A US 2014282331 A1 US2014282331 A1 US 2014282331A1
Authority
US
United States
Prior art keywords
dummy
drc
design layout
design
constraint value
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.)
Granted
Application number
US13/852,080
Other versions
US8832623B1 (en
Inventor
Min-Shueh Yuan
Chao-Chieh Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Priority to US13/852,080 priority Critical patent/US8832623B1/en
Assigned to TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED reassignment TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LI, CHAO-CHIEH, YUAN, MIN-SHUEH
Application granted granted Critical
Publication of US8832623B1 publication Critical patent/US8832623B1/en
Publication of US20140282331A1 publication Critical patent/US20140282331A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06F17/5081
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Definitions

  • a design layout can comprise one or more polygons representing metal structures, such as metal lines, vias, or other structures.
  • the design layout can comprise one or more layers that are generated based upon metal schemes.
  • a first metal layer can be formed according to a first metal scheme having a first design rule check (DRC) rule set specifying various design rules, such as a minimum spacing constraint between polygons, a minimum width constraint of a polygon, an enclosure constraint where a first polygon is enclosed by a second polygon, or a variety of other design rules.
  • DRC design rule check
  • a fabricator has to maintain a relatively large set of metal schemes.
  • a set of design rules are derived from one or more DRC rule sets associated with metal schemes. For example, a first metal scheme is associated with a first DRC rule set, a second metal scheme is associated with a second DRC rule set, a third metal scheme is associated with a third DRC rule set, etc.
  • a DRC rule set comprises one or more design rules, such as a spacing constraint, a width constraint, a via size constraint, an enclosure constraint, etc.
  • DRC rule sets can have differing design rule constraint values for design constraints.
  • a first DRC rule set specifies a 0.2 width constraint where a polygon is to have a width of at least 0.2 units
  • a second DRC rule set specifies a 0.4 width constraint where a polygon is to have a width of at least 0.4 units. Satisfaction of the first DRC rule set does not necessarily mean satisfaction of the second DRC rule set, such as a polygon having a width of 0.3 units. However, satisfaction of the second DRC rule set will satisfy the first DRC rule set, such as a polygon having a width of 0.8 units.
  • one or more DRC rule sets are evaluated to identify a design rule constraint value for a design rule based upon the design rule constraint value corresponding to a restriction threshold.
  • the restriction threshold specifies that a first design rule constraint value is to be selected over a second design rule constraint value because the first design rule constraint value is relatively more restrictive.
  • the 0.4 width constraint is relatively more restrictive than the 0.2 width constraint because a width that satisfies the 0.4 width constraint, such as a polygon having a width of 0.6, will satisfy the 0.2 width constraint.
  • the design rule constraint value is assigned to the design rule for inclusion within the common DRC rule set.
  • the common DRC rule set comprises a set of design rules that will satisfy the one or more DRC rule sets associated with the metal schemes.
  • a design layout can be verified as being compliant with the common DRC rule set and/or a DRC rule set associated with a metal scheme assigned for the design layout.
  • a dummy insertion utility is generated based upon the one or more DRC rule sets.
  • the dummy insertion utility comprises a dummy size constraint having a dummy size constraint value corresponding to a dummy size restriction threshold, such as a largest dummy size constraint value out of the one or more DRC rule sets.
  • the dummy insertion utility comprises a dummy spacing constraint having a dummy spacing constraint value corresponding to a dummy spacing restriction threshold, such as a largest dummy spacing constraint value out of the one or more DRC rule sets. It may be appreciated that the dummy insertion utility may comprise other constraints. Accordingly, the instant application, including the scope of the appended claims, is not limited to the examples provided herein. In this way, the dummy insertion utility can insert one or more dummy polygons into the design layout to generate a filled design layout that will satisfy the one or more DRC rule sets and the common DRC rule set.
  • the design layout or the filled design layout can be transformed from a universal design layout format, corresponding to the common DRC rule set and a metal scheme rule set of the universal design layout format, to a transformed design layout according to a target metal scheme.
  • a DRC component creates a universal design layout from a design layout based upon a metal scheme for the universal design layout format. The DRC component verifies that the universal design layout is compliant with a common DRC rule set and/or a DRC rule set for the metal scheme of the universal design layout format.
  • a common dummy insertion utility inserts one or more dummy polygons into the universal design layout to create a filled universal design layout.
  • the DRC component verifies that the filled universal design layout is compliant with the DRC rule set for the metal scheme and/or the common DRC rule set.
  • a transformation component transforms the filled universal design layout into a transformed design layout according to a target metal scheme.
  • the DRC component verifies that the transformed design layout is compliant with the common DRC rule set and/or a DRC rule set for the target metal scheme. In this way, the design layout is transformed into the transformed design layout.
  • FIG. 1 is a flow diagram illustrating a method of generating a common design rule check (DRC) rule set for verification of a design layout, according to some embodiments.
  • DRC design rule check
  • FIG. 2 is a flow diagram illustrating a method of generating a common dummy insertion utility for design layout processing, according to some embodiments.
  • FIG. 3 is an illustration of one or more DRC rule sets, according to some embodiments.
  • FIG. 4 is an illustration of a system configured for generating a common DRC rule set for verification of a design layout, according to some embodiments.
  • FIG. 5 is an illustration of a common dummy insertion utility, according to some embodiments.
  • FIG. 6 is an illustration of a system configured for generating a filled universal design layout based upon a design layout.
  • FIG. 7 is an illustration of a system configured for transforming a filled universal design layout into a transformed design layout, according to some embodiments.
  • FIG. 8 is an illustration of an example computer-readable medium wherein processor-executable instructions configured to embody one or more of the provisions set forth herein may be comprised.
  • FIG. 9 illustrates an example computing environment wherein one or more of the provisions set forth herein may be implemented.
  • a method 100 of generating a common design rule check (DRC) rule set for verification of a design layout is illustrated in FIG. 1 .
  • a design layout comprises one or more polygons representing metal structures, such as metal lines, vias, or other structures.
  • the design layout comprises one or more layers, such as a first metal layer, a second metal layer, or other metal layers that are constructed based upon one or more metal schemes. For example, a first metal layer is assigned to a first metal scheme, a second metal layer is assigned to the first metal scheme, a third metal layer is assigned to a second metal scheme, a fourth metal layer is assigned to the first metal scheme, etc.
  • a universal design layout capable of satisfying DRC rule sets for the metal schemes, can be used to generate a design layout that will satisfy a common DRC rule set derived from the DRC rule sets for the metal schemes. For example, a design layout that satisfies the common DRC rule set will satisfy the DRC rule sets because the common DRC rule set is based upon design rule constraint values corresponding to a restriction threshold, such as a most restrictive design constraint value from the DRC rule sets.
  • the common DRC rule set comprises a set of design rules derived from one or more DRC rule sets associated with metal schemes.
  • One or more DRC rule sets are illustrated by example 300 in FIG. 3 .
  • a DRC rule set comprises one or more design rules, such as a spacing constraint specifying a minimum spacing between polygons, a width constraint specifying a minimum width for a polygon, a via size constraint specifying a minimum size for a via, an enclosure constraint, a dummy spacing constraint for a dummy polygon, a dummy size constraint for a dummy polygon, or other constraints not illustrated.
  • a first DRC rule set 302 for a first metal scheme comprises design rule constraint values for one or more design rules, such as 0.09 for the spacing constraint, 0.2 for the width constraint, 2 for the via size constraint, 1 for the enclosure constraint, 0.2 for a dummy spacing constraint, 0.4 for the dummy size constraint, etc.
  • a second DRC rule set 304 for a second metal scheme comprises design rule constraint values for the one or more design rules.
  • Other DRC rule sets, such as a DRC rule set 306 can be associated with other metal schemes.
  • the common DRC rule set can be derived from the one or more DRC rule sets. In an example, relatively more restrictive design rule constraint values are selected over relatively less restrictive design rule constraint values.
  • a spacing constraint value of 0.12 within the DRC rule set 306 is selected over the spacing constraint value of 0.09 within the first DRC rule set 302 and a spacing constraint value of 0.1 within the second DRC rule set 304 .
  • satisfaction of the spacing constraint value of 0.12 within the common DRC rule set will satisfy the spacing constraint within the first DRC rule set 302 , the second DRC rule set 304 , and the DRC rule set 306 .
  • one or more DRC rule sets are evaluated to identify a design rule constraint value for a design rule, at 106 .
  • the design rule constraint value is identified based upon the design rule constraint value corresponding to a restriction threshold.
  • the restriction threshold specifies that a first design rule constraint value is selected over a second design rule constraint value based upon the first design rule constraint value being relatively more restrictive.
  • a via size constraint value of 3.2 within the second DRC rule set 304 is selected over a via size constraint value of 2 within the first DRC rule set 302 and a via size constraint value of 1.2 within the DRC rule set 306 (e.g., the via size constraint specifies a minimum size for a via, such that a larger value is more restrictive).
  • the design rule constraint value is assigned to the design rule for inclusion within the common DRC rule set. In this way, a design layout that satisfies the common DRC rule set will also satisfy the DRC rule sets.
  • a design layout that can satisfy the via size constraint value of 3.2, specified within the common DRC rule set, will satisfy the via size constraint of 2 within the first DRC rule set 302 , the via size constraint of 3.2 within the second DRC rule set 304 , and the via size constraint of 1.2 within the DRC rule set 306 . It is appreciated that other constraints can be identified for inclusion within the common DRC rule set and that merely a few are illustrated for simplicity, and thus the instant application is not to be limited by illustrated examples.
  • a universal design layout format is specified based upon the common DRC rule set.
  • a design layout can be identified as being compliant with the universal design layout format based upon the design layout satisfying (e.g., being compliant with) the common DRC rule set.
  • one or more metal schemes are assigned to the design layout, such as a first metal scheme being assigned to a first metal layer, a second metal scheme being assigned to a second metal layer, etc.
  • the design layout can be verified as being compliant with a DRC rule set associated with a metal scheme assigned for the design layout.
  • the design layout can be transformed into a transformed design layout. That is, responsive to the design layout being compliant with the universal design layout format where the design layout satisfied the common DRC rule set, the design layout is transformed from the universal design layout format to a target metal scheme to create the transformed design layout. Because the design layout satisfied the common DRC rule set having relatively restrictive design rule constraints, the design layout will satisfy a target DRC rule set of the target metal scheme.
  • the transformed design layout can be simulated. For example, RC extraction, electro-migration (EM) analysis, voltage (IR) drop analysis, or other simulations can be performed.
  • a method 200 of generating a common dummy insertion utility for processing a design layout is illustrated in FIG. 2 .
  • the common dummy insertion utility is used to insert one or more dummy polygons into a design layout.
  • the one or more dummy polygons are inserted to satisfy a metal density rule.
  • one or more DRC rule sets are evaluated to identify a dummy size constraint value for a dummy size constraint specifying a minimum dummy polygon size for a dummy polygon.
  • the dummy size constraint value is identified based upon the dummy size constraint value corresponding to a dummy size restriction threshold.
  • the dummy size restriction threshold specifies that a first dummy size constraint value is selected over a second dummy size constraint value based upon the first dummy size constraint value being relatively more restrictive. For example, a dummy size constraint value of 1.5 of the DRC rule set 306 is selected over the dummy size constraint 0.4 of the first DRC rule set 302 and the dummy size constraint 0.7 of the second DRC rule set 304 .
  • one or more DRC rule sets are evaluated to identify a dummy spacing constraint value for a dummy spacing constraint specifying a minimum spacing around a dummy polygon.
  • the dummy spacing constraint value is identified based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold.
  • the dummy spacing restriction threshold specifies that a first dummy spacing constraint value is selected over a second dummy spacing constraint value based upon the first dummy spacing constraint value being relatively more restrictive.
  • the dummy spacing constraint of 1.2 within the second DRC rule set 304 is selected over the dummy spacing constraint of 0.2 of the first DRC rule set 302 and the dummy spacing constraint of 0.3 of the DRC rule set 306 .
  • one or more additional constraints are identified for inclusion within the common dummy insertion utility.
  • the common dummy insertion utility is generated based upon one or more identified constrains, such as the dummy size constraint having the dummy size constraint value and the dummy spacing constraint having the dummy spacing constraint value. It is appreciated that other constraints can be identified for inclusion within the dummy insertion utility and that merely a few are illustrated for simplicity, and thus the instant application is not to be limited by illustrated examples. Because the common dummy insertion utility is generated based upon relatively more restrictive constraint values, a design layout processed using the common dummy insertion utility will satisfy dummy placement constraints, such as dummy size constraints, dummy spacing constraints, etc., of DRC rule sets for metal schemes.
  • the common dummy insertion utility is used to insert one or more dummy polygons into a design layout to generate a filled design layout. For example, a first dummy polygon is inserted into the design layout, such that the first dummy polygon satisfies the dummy size constraint and the dummy spacing constraint.
  • the filled design layout is verified as compliant with the common DRC rule set. In some embodiments, the filled design layout is verified as compliant with a DRC rule set associated with a metal scheme assigned for the design layout. In some embodiments, the filled design layout is transformed from a universal design layout format to a target metal scheme to create a transformed design layout.
  • FIG. 4 illustrates a system 400 for generating a common DRC rule set 406 , according to some embodiments.
  • the system 400 comprises a DRC component 404 .
  • the DRC component 404 is configured to evaluate one or more DRC rule sets 402 , such as the first DRC rule set 302 , the second DRC rule set 304 , and the DRC rule set 306 of FIG. 3 .
  • the DRC component 404 may identify a set of design rules for inclusion within the common DRC rule set, such as a spacing constraint, a width constraint, a via size constraint, an enclosure constraint, or specific constraints for metal schemes, etc.
  • the DRC component 404 assigns a spacing constraint value of 0.12 within the DRC rule set 306 to the spacing constraint within the common DRC rule set 406 because the spacing constraint value of 0.12 is relatively more restrictive than the spacing constraint value of 0.09 within the first DRC rule set 302 and the spacing constraint value of 0.1 within the second DRC rule set 304 .
  • the DRC component 404 assigns a width constraint value of 0.23 within the DRC rule set 306 to the width constraint within the common DRC rule set 406 because the width constraint value of 0.23 is relatively more restrictive than the width constraint value of 0.2 within the first DRC rule set 302 and the width constraint value of 0.2 within the second DRC rule set 304 .
  • the DRC component 404 is configured to assign design rule constraint values, corresponding to a restriction threshold such as a most restrictive value, to constraints within the common DRC rule set 406 .
  • FIG. 5 is an example 500 of a common dummy insertion utility 504 .
  • the common dummy insertion utility 504 is generated based upon one or more DRC rule sets 502 , such the first DRC rule set 302 , the second DRC rule set 304 , and the DRC rule set 306 of FIG. 3 .
  • the common dummy insertion utility 504 comprises one or more dummy fill rules 506 used to insert one or more dummy polygons into a design layout.
  • the common dummy insertion utility 504 comprises a dummy spacing constraint 508 having a dummy spacing constraint value of 1.2 derived from the second DRC rule set 304 .
  • the common dummy insertion utility 504 comprises a dummy size constraint 510 having a dummy size constraint value of 1.5 derived from the DRC rule set 306 .
  • the dummy spacing constraint value of 1.2 and dummy size constraint value of 1.5 are used because such constraint values are relatively more restrictive than corresponding constraint values in other DRC rule sets.
  • the common dummy insertion utility 504 comprises one or more other constraints 512 .
  • FIG. 6 is an example of a system 600 configured for generating a filled universal design layout 610 based upon a design layout 602 .
  • the system 600 comprises a DRC component 404 .
  • the DRC component 404 is configured to maintain a common DRC rule set 406 and/or a DRC rule set 606 for a metal scheme 604 of a universal design layout format.
  • the DRC component 404 is configured to evaluate the design layout 602 utilizing the DRC rule set 606 and/or the common DRC rule set 406 to create a universal design layout 608 that is compliant with the common DRC rule set 406 and the DRC rule set 606 for the metal scheme 604 .
  • the system 600 comprises a common dummy insertion utility 504 .
  • the common dummy insertion utility 504 is configured to insert one or more dummy polygons into the universal design layout 608 to create the filled universal design layout 610 .
  • the DRC component 404 is configured to verify that the filled universal design layout 610 complies with the DRC rule set 606 and/or the common DRC rule set 406 .
  • FIG. 7 is an example of a system 700 configured for transforming a filled universal design layout 610 into a transformed design layout 706 .
  • the system 700 comprises a transformation component 704 .
  • the filled universal design layout 610 was verified by a DRC component 404 as complying with a common DRC rule set 406 and/or a DRC rule set 606 for a metal scheme 604 of a universal design layout format, as illustrated in FIG. 6 .
  • the transformation component 704 is configured to transform the filled universal design layout 610 from a universal design layout format to a target layout format of a target metal scheme 702 . In this way, the transformation component 704 generates the transformed design layout 706 .
  • the transformed design layout 706 comprises one or more metal layers, where a metal layer comprises one or more metal polygons and/or one or more dummy polygons sized and arranged according to the target metal scheme 702 .
  • the DRC component 404 is configured to verify that the transformed design layout 706 complies with a DRC rule set 708 for the target metal scheme 702 and/or the common DRC rule set 406 , thus resulting in a compliant transformed design layout 710 .
  • a method for generating a common design rule check (DRC) rule set for verification of a design layout comprises generating a common DRC rule set comprising a set of design rules derived from one or more DRC rule sets associated with metal schemes. For respective design rules within the set of design rules, one or more DRC rule sets are evaluated to identify a design rule constraint value for a design rule based upon the design rule constraint value corresponding to a restriction threshold. The design rule constraint value is assigned to the design rule for inclusion within the common DRC rule set.
  • DRC design rule check
  • a method for generating a common dummy insertion utility for verification of a design layout comprises evaluating one or more DRC rule sets to identify a set of constraints.
  • a dummy size constraint value for a dummy size constraint is identified based upon the dummy size constraint value correspond to a dummy size restriction threshold.
  • a dummy spacing constraint value for a dummy spacing constraint is identified based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold.
  • the common dummy insertion utility is generated based upon the set of constraints, such as the dummy size constraint having the dummy size constraint value, the dummy spacing constraint having the dummy spacing constraint value, and/or other constraints.
  • a system for verifying a design layout comprises a DRC component configured to maintain a common DRC rule set derived from one or more DRC rule sets associated with metal schemes.
  • the DRC component is configured to verify that a design layout is compliant with the common DRC rule set.
  • the system comprises a common dummy insertion utility configured to maintain a set of constraints, such as a dummy size constraint, a dummy spacing constraint, and/or other constraints.
  • the common dummy insertion utility is configured to fill the design layout with one or more dummy polygons based upon the set of constraints to create a filled design layout.
  • the DRC component is configured to verify that the filled design layout is compliant with the common DRC rule set.
  • Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to implement one or more of the techniques presented herein.
  • FIG. 8 An example embodiment of a computer-readable medium or a computer-readable device that is devised in these ways is illustrated in FIG. 8 , wherein the implementation 800 comprises a computer-readable medium 808 , such as a CD-R, DVD-R, flash drive, a platter of a hard disk drive, etc., on which is encoded computer-readable data 806 .
  • This computer-readable data 806 such as binary data comprising at least one of a zero or a one, in turn comprises a set of computer instructions 804 configured to operate according to one or more of the principles set forth herein.
  • the processor-executable computer instructions 804 are configured to perform a method 802 , such as at least some of the exemplary method 100 of FIG. 1 , and/or at least some of the exemplary method 200 of FIG. 2 for example.
  • the processor-executable instructions 804 are configured to implement a system, such as at least some of the exemplary system 400 of FIG. 4 , at least some of the exemplary system 600 of FIG. 6 , and/or at least some of the exemplary system 700 of FIG. 7 , for example.
  • Many such computer-readable media are devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.
  • a component includes a process running on a processor, a processor, an object, an executable, a thread of execution, a program, or a computer.
  • an application running on a controller and the controller can be a component.
  • One or more components residing within a process or thread of execution and a component is localized on one computer or distributed between two or more computers.
  • the claimed subject matter is implemented as a method, apparatus, or article of manufacture using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter.
  • article of manufacture as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
  • FIG. 9 and the following discussion provide a brief, general description of a suitable computing environment to implement embodiments of one or more of the provisions set forth herein.
  • the operating environment of FIG. 9 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the operating environment.
  • Example computing devices include, but are not limited to, personal computers, server computers, hand-held or laptop devices, mobile devices, such as mobile phones, Personal Digital Assistants (PDAs), media players, and the like, multiprocessor systems, consumer electronics, mini computers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • PDAs Personal Digital Assistants
  • Computer readable instructions are distributed via computer readable media as will be discussed below.
  • Computer readable instructions are implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types.
  • APIs Application Programming Interfaces
  • FIG. 9 illustrates an example of a system 900 comprising a computing device 912 configured to implement one or more embodiments provided herein.
  • computing device 912 includes at least one processing unit 916 and memory 918 .
  • memory 918 is volatile, such as RAM, non-volatile, such as ROM, flash memory, etc., or some combination of the two. This configuration is illustrated in FIG. 9 by dashed line 914 .
  • device 912 includes additional features or functionality.
  • device 912 also includes additional storage such as removable storage or non-removable storage, including, but not limited to, magnetic storage, optical storage, and the like.
  • additional storage is illustrated in FIG. 9 by storage 920 .
  • computer readable instructions to implement one or more embodiments provided herein are in storage 920 .
  • Storage 920 also stores other computer readable instructions to implement an operating system, an application program, and the like. Computer readable instructions are loaded in memory 918 for execution by processing unit 916 , for example.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data.
  • Memory 918 and storage 920 are examples of computer storage media.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by device 912 . Any such computer storage media is part of device 912 .
  • Computer readable media includes communication media.
  • Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • Device 912 includes input device(s) 924 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, or any other input device.
  • Output device(s) 922 such as one or more displays, speakers, printers, or any other output device are also included in device 912 .
  • Input device(s) 924 and output device(s) 922 are connected to device 912 via a wired connection, wireless connection, or any combination thereof.
  • an input device or an output device from another computing device are used as input device(s) 924 or output device(s) 922 for computing device 912 .
  • Device 912 also includes communication connection(s) 926 to facilitate communications with one or more other devices.
  • exemplary is used herein to mean serving as an example, instance, illustration, etc., and not necessarily as advantageous.
  • “or” is intended to mean an inclusive “or” rather than an exclusive “or”.
  • “a” and “an” as used in this application are generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
  • at least one of A and B and/or the like generally means A or B or both A and B.
  • such terms are intended to be inclusive in a manner similar to the term “comprising”.
  • first,” “second,” or the like are not intended to imply a temporal aspect, a spatial aspect, an ordering, etc. Rather, such terms are merely used as identifiers, names, etc. for features, elements, items, etc.
  • a first channel and a second channel generally correspond to channel A and channel B or two different or two identical channels or the same channel.

Abstract

Among other things, one or more techniques and systems for generating a common design rule check (DRC) rule set for verification of a design layout and for generating a common dummy insertion utility for design layout processing are provided. That is, the common DRC rule set comprises a set of design rules having design rule constraint values corresponding to a restriction threshold, such as a most restrictive value. The common dummy insertion utility is used to insert dummy polygons into a design layout according to a dummy size constraint and a dummy spacing constraint. The design layout is verified as compliant with the common DRC rule set. Once verified, the design layout can be converted from a universal design layout format to a target metal scheme to create a transformed design layout. In this way, design layouts, formatted according to the universal design layout, can be transformed to other formats.

Description

    BACKGROUND
  • Electronic design tools allow designers to layout, simulate, and analyze electrical components, such as integrated circuits. For example, a design layout can comprise one or more polygons representing metal structures, such as metal lines, vias, or other structures. The design layout can comprise one or more layers that are generated based upon metal schemes. For example, a first metal layer can be formed according to a first metal scheme having a first design rule check (DRC) rule set specifying various design rules, such as a minimum spacing constraint between polygons, a minimum width constraint of a polygon, an enclosure constraint where a first polygon is enclosed by a second polygon, or a variety of other design rules. Because various designers can use different metal schemes for design layouts (e.g., a first designer specifies a second metal scheme for a second metal layer and a third metal scheme for a third metal layer of a first design layout, whereas a second designer specifies a fourth metal scheme for a second metal layer and a fifth metal scheme for a third metal layer of a second design layout), a fabricator has to maintain a relatively large set of metal schemes.
  • SUMMARY
  • This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
  • One or more systems and techniques for generating a common design rule check (DRC) rule set for verification of a design layout and for generating a common dummy insertion utility are provided herein. In some embodiments of generating a common DRC rule set, a set of design rules are derived from one or more DRC rule sets associated with metal schemes. For example, a first metal scheme is associated with a first DRC rule set, a second metal scheme is associated with a second DRC rule set, a third metal scheme is associated with a third DRC rule set, etc. A DRC rule set comprises one or more design rules, such as a spacing constraint, a width constraint, a via size constraint, an enclosure constraint, etc. In an example, DRC rule sets can have differing design rule constraint values for design constraints. For example, a first DRC rule set specifies a 0.2 width constraint where a polygon is to have a width of at least 0.2 units, while a second DRC rule set specifies a 0.4 width constraint where a polygon is to have a width of at least 0.4 units. Satisfaction of the first DRC rule set does not necessarily mean satisfaction of the second DRC rule set, such as a polygon having a width of 0.3 units. However, satisfaction of the second DRC rule set will satisfy the first DRC rule set, such as a polygon having a width of 0.8 units.
  • For respective design rules within the set of design rules, one or more DRC rule sets are evaluated to identify a design rule constraint value for a design rule based upon the design rule constraint value corresponding to a restriction threshold. In some embodiments, the restriction threshold specifies that a first design rule constraint value is to be selected over a second design rule constraint value because the first design rule constraint value is relatively more restrictive. For example, the 0.4 width constraint is relatively more restrictive than the 0.2 width constraint because a width that satisfies the 0.4 width constraint, such as a polygon having a width of 0.6, will satisfy the 0.2 width constraint. The design rule constraint value is assigned to the design rule for inclusion within the common DRC rule set. In this way, the common DRC rule set comprises a set of design rules that will satisfy the one or more DRC rule sets associated with the metal schemes. Thus, a design layout can be verified as being compliant with the common DRC rule set and/or a DRC rule set associated with a metal scheme assigned for the design layout.
  • In some embodiments, a dummy insertion utility is generated based upon the one or more DRC rule sets. The dummy insertion utility comprises a dummy size constraint having a dummy size constraint value corresponding to a dummy size restriction threshold, such as a largest dummy size constraint value out of the one or more DRC rule sets. The dummy insertion utility comprises a dummy spacing constraint having a dummy spacing constraint value corresponding to a dummy spacing restriction threshold, such as a largest dummy spacing constraint value out of the one or more DRC rule sets. It may be appreciated that the dummy insertion utility may comprise other constraints. Accordingly, the instant application, including the scope of the appended claims, is not limited to the examples provided herein. In this way, the dummy insertion utility can insert one or more dummy polygons into the design layout to generate a filled design layout that will satisfy the one or more DRC rule sets and the common DRC rule set.
  • In some embodiments, the design layout or the filled design layout can be transformed from a universal design layout format, corresponding to the common DRC rule set and a metal scheme rule set of the universal design layout format, to a transformed design layout according to a target metal scheme. For example, a DRC component creates a universal design layout from a design layout based upon a metal scheme for the universal design layout format. The DRC component verifies that the universal design layout is compliant with a common DRC rule set and/or a DRC rule set for the metal scheme of the universal design layout format. A common dummy insertion utility inserts one or more dummy polygons into the universal design layout to create a filled universal design layout. The DRC component verifies that the filled universal design layout is compliant with the DRC rule set for the metal scheme and/or the common DRC rule set. A transformation component transforms the filled universal design layout into a transformed design layout according to a target metal scheme. The DRC component verifies that the transformed design layout is compliant with the common DRC rule set and/or a DRC rule set for the target metal scheme. In this way, the design layout is transformed into the transformed design layout.
  • The following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects can be employed. Other aspects, advantages, and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.
  • DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flow diagram illustrating a method of generating a common design rule check (DRC) rule set for verification of a design layout, according to some embodiments.
  • FIG. 2 is a flow diagram illustrating a method of generating a common dummy insertion utility for design layout processing, according to some embodiments.
  • FIG. 3 is an illustration of one or more DRC rule sets, according to some embodiments.
  • FIG. 4 is an illustration of a system configured for generating a common DRC rule set for verification of a design layout, according to some embodiments.
  • FIG. 5 is an illustration of a common dummy insertion utility, according to some embodiments.
  • FIG. 6 is an illustration of a system configured for generating a filled universal design layout based upon a design layout.
  • FIG. 7 is an illustration of a system configured for transforming a filled universal design layout into a transformed design layout, according to some embodiments.
  • FIG. 8 is an illustration of an example computer-readable medium wherein processor-executable instructions configured to embody one or more of the provisions set forth herein may be comprised.
  • FIG. 9 illustrates an example computing environment wherein one or more of the provisions set forth herein may be implemented.
  • DETAILED DESCRIPTION
  • The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are generally used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of the claimed subject matter. It is evident, however, that the claimed subject matter can be practiced without these specific details. In other instances, structures and devices are illustrated in block diagram form in order to facilitate describing the claimed subject matter.
  • A method 100 of generating a common design rule check (DRC) rule set for verification of a design layout, according to some embodiments, is illustrated in FIG. 1. A design layout comprises one or more polygons representing metal structures, such as metal lines, vias, or other structures. The design layout comprises one or more layers, such as a first metal layer, a second metal layer, or other metal layers that are constructed based upon one or more metal schemes. For example, a first metal layer is assigned to a first metal scheme, a second metal layer is assigned to the first metal scheme, a third metal layer is assigned to a second metal scheme, a fourth metal layer is assigned to the first metal scheme, etc. Because numerous metal schemes or combinations thereof can be used for different design layouts and various layers of such design layouts, a universal design layout, capable of satisfying DRC rule sets for the metal schemes, can be used to generate a design layout that will satisfy a common DRC rule set derived from the DRC rule sets for the metal schemes. For example, a design layout that satisfies the common DRC rule set will satisfy the DRC rule sets because the common DRC rule set is based upon design rule constraint values corresponding to a restriction threshold, such as a most restrictive design constraint value from the DRC rule sets.
  • At 102, the common DRC rule set is generated. The common DRC rule set comprises a set of design rules derived from one or more DRC rule sets associated with metal schemes. One or more DRC rule sets are illustrated by example 300 in FIG. 3. A DRC rule set comprises one or more design rules, such as a spacing constraint specifying a minimum spacing between polygons, a width constraint specifying a minimum width for a polygon, a via size constraint specifying a minimum size for a via, an enclosure constraint, a dummy spacing constraint for a dummy polygon, a dummy size constraint for a dummy polygon, or other constraints not illustrated. A first DRC rule set 302 for a first metal scheme comprises design rule constraint values for one or more design rules, such as 0.09 for the spacing constraint, 0.2 for the width constraint, 2 for the via size constraint, 1 for the enclosure constraint, 0.2 for a dummy spacing constraint, 0.4 for the dummy size constraint, etc. A second DRC rule set 304 for a second metal scheme comprises design rule constraint values for the one or more design rules. Other DRC rule sets, such as a DRC rule set 306, can be associated with other metal schemes. The common DRC rule set can be derived from the one or more DRC rule sets. In an example, relatively more restrictive design rule constraint values are selected over relatively less restrictive design rule constraint values. For example, a spacing constraint value of 0.12 within the DRC rule set 306 is selected over the spacing constraint value of 0.09 within the first DRC rule set 302 and a spacing constraint value of 0.1 within the second DRC rule set 304. In this way, satisfaction of the spacing constraint value of 0.12 within the common DRC rule set will satisfy the spacing constraint within the first DRC rule set 302, the second DRC rule set 304, and the DRC rule set 306.
  • At 104, for respective design rules within the set of design rules, one or more DRC rule sets are evaluated to identify a design rule constraint value for a design rule, at 106. The design rule constraint value is identified based upon the design rule constraint value corresponding to a restriction threshold. In some embodiments, the restriction threshold specifies that a first design rule constraint value is selected over a second design rule constraint value based upon the first design rule constraint value being relatively more restrictive. For example, a via size constraint value of 3.2 within the second DRC rule set 304 is selected over a via size constraint value of 2 within the first DRC rule set 302 and a via size constraint value of 1.2 within the DRC rule set 306 (e.g., the via size constraint specifies a minimum size for a via, such that a larger value is more restrictive). At 108, the design rule constraint value is assigned to the design rule for inclusion within the common DRC rule set. In this way, a design layout that satisfies the common DRC rule set will also satisfy the DRC rule sets. For example, a design layout that can satisfy the via size constraint value of 3.2, specified within the common DRC rule set, will satisfy the via size constraint of 2 within the first DRC rule set 302, the via size constraint of 3.2 within the second DRC rule set 304, and the via size constraint of 1.2 within the DRC rule set 306. It is appreciated that other constraints can be identified for inclusion within the common DRC rule set and that merely a few are illustrated for simplicity, and thus the instant application is not to be limited by illustrated examples.
  • In some embodiments, a universal design layout format is specified based upon the common DRC rule set. A design layout can be identified as being compliant with the universal design layout format based upon the design layout satisfying (e.g., being compliant with) the common DRC rule set. In an example, one or more metal schemes are assigned to the design layout, such as a first metal scheme being assigned to a first metal layer, a second metal scheme being assigned to a second metal layer, etc. The design layout can be verified as being compliant with a DRC rule set associated with a metal scheme assigned for the design layout.
  • In some embodiments, the design layout can be transformed into a transformed design layout. That is, responsive to the design layout being compliant with the universal design layout format where the design layout satisfied the common DRC rule set, the design layout is transformed from the universal design layout format to a target metal scheme to create the transformed design layout. Because the design layout satisfied the common DRC rule set having relatively restrictive design rule constraints, the design layout will satisfy a target DRC rule set of the target metal scheme. The transformed design layout can be simulated. For example, RC extraction, electro-migration (EM) analysis, voltage (IR) drop analysis, or other simulations can be performed.
  • A method 200 of generating a common dummy insertion utility for processing a design layout, according to some embodiments, is illustrated in FIG. 2. The common dummy insertion utility is used to insert one or more dummy polygons into a design layout. In an example, the one or more dummy polygons are inserted to satisfy a metal density rule. At 202, one or more DRC rule sets are evaluated to identify a dummy size constraint value for a dummy size constraint specifying a minimum dummy polygon size for a dummy polygon. The dummy size constraint value is identified based upon the dummy size constraint value corresponding to a dummy size restriction threshold. In some embodiments, the dummy size restriction threshold specifies that a first dummy size constraint value is selected over a second dummy size constraint value based upon the first dummy size constraint value being relatively more restrictive. For example, a dummy size constraint value of 1.5 of the DRC rule set 306 is selected over the dummy size constraint 0.4 of the first DRC rule set 302 and the dummy size constraint 0.7 of the second DRC rule set 304.
  • At 204, one or more DRC rule sets are evaluated to identify a dummy spacing constraint value for a dummy spacing constraint specifying a minimum spacing around a dummy polygon. The dummy spacing constraint value is identified based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold. In some embodiments, the dummy spacing restriction threshold specifies that a first dummy spacing constraint value is selected over a second dummy spacing constraint value based upon the first dummy spacing constraint value being relatively more restrictive. For example, the dummy spacing constraint of 1.2 within the second DRC rule set 304 is selected over the dummy spacing constraint of 0.2 of the first DRC rule set 302 and the dummy spacing constraint of 0.3 of the DRC rule set 306. In some embodiments, one or more additional constraints are identified for inclusion within the common dummy insertion utility.
  • At 206, the common dummy insertion utility is generated based upon one or more identified constrains, such as the dummy size constraint having the dummy size constraint value and the dummy spacing constraint having the dummy spacing constraint value. It is appreciated that other constraints can be identified for inclusion within the dummy insertion utility and that merely a few are illustrated for simplicity, and thus the instant application is not to be limited by illustrated examples. Because the common dummy insertion utility is generated based upon relatively more restrictive constraint values, a design layout processed using the common dummy insertion utility will satisfy dummy placement constraints, such as dummy size constraints, dummy spacing constraints, etc., of DRC rule sets for metal schemes.
  • In some embodiments, the common dummy insertion utility is used to insert one or more dummy polygons into a design layout to generate a filled design layout. For example, a first dummy polygon is inserted into the design layout, such that the first dummy polygon satisfies the dummy size constraint and the dummy spacing constraint. In some embodiments, the filled design layout is verified as compliant with the common DRC rule set. In some embodiments, the filled design layout is verified as compliant with a DRC rule set associated with a metal scheme assigned for the design layout. In some embodiments, the filled design layout is transformed from a universal design layout format to a target metal scheme to create a transformed design layout.
  • FIG. 4 illustrates a system 400 for generating a common DRC rule set 406, according to some embodiments. The system 400 comprises a DRC component 404. The DRC component 404 is configured to evaluate one or more DRC rule sets 402, such as the first DRC rule set 302, the second DRC rule set 304, and the DRC rule set 306 of FIG. 3. The DRC component 404 may identify a set of design rules for inclusion within the common DRC rule set, such as a spacing constraint, a width constraint, a via size constraint, an enclosure constraint, or specific constraints for metal schemes, etc. The DRC component 404 assigns a spacing constraint value of 0.12 within the DRC rule set 306 to the spacing constraint within the common DRC rule set 406 because the spacing constraint value of 0.12 is relatively more restrictive than the spacing constraint value of 0.09 within the first DRC rule set 302 and the spacing constraint value of 0.1 within the second DRC rule set 304. The DRC component 404 assigns a width constraint value of 0.23 within the DRC rule set 306 to the width constraint within the common DRC rule set 406 because the width constraint value of 0.23 is relatively more restrictive than the width constraint value of 0.2 within the first DRC rule set 302 and the width constraint value of 0.2 within the second DRC rule set 304. In this way, the DRC component 404 is configured to assign design rule constraint values, corresponding to a restriction threshold such as a most restrictive value, to constraints within the common DRC rule set 406.
  • FIG. 5 is an example 500 of a common dummy insertion utility 504. The common dummy insertion utility 504 is generated based upon one or more DRC rule sets 502, such the first DRC rule set 302, the second DRC rule set 304, and the DRC rule set 306 of FIG. 3. The common dummy insertion utility 504 comprises one or more dummy fill rules 506 used to insert one or more dummy polygons into a design layout. For example, the common dummy insertion utility 504 comprises a dummy spacing constraint 508 having a dummy spacing constraint value of 1.2 derived from the second DRC rule set 304. The common dummy insertion utility 504 comprises a dummy size constraint 510 having a dummy size constraint value of 1.5 derived from the DRC rule set 306. The dummy spacing constraint value of 1.2 and dummy size constraint value of 1.5 are used because such constraint values are relatively more restrictive than corresponding constraint values in other DRC rule sets. In some embodiments, the common dummy insertion utility 504 comprises one or more other constraints 512.
  • FIG. 6 is an example of a system 600 configured for generating a filled universal design layout 610 based upon a design layout 602. The system 600 comprises a DRC component 404. The DRC component 404 is configured to maintain a common DRC rule set 406 and/or a DRC rule set 606 for a metal scheme 604 of a universal design layout format. The DRC component 404 is configured to evaluate the design layout 602 utilizing the DRC rule set 606 and/or the common DRC rule set 406 to create a universal design layout 608 that is compliant with the common DRC rule set 406 and the DRC rule set 606 for the metal scheme 604. The system 600 comprises a common dummy insertion utility 504. The common dummy insertion utility 504 is configured to insert one or more dummy polygons into the universal design layout 608 to create the filled universal design layout 610. In some embodiments, the DRC component 404 is configured to verify that the filled universal design layout 610 complies with the DRC rule set 606 and/or the common DRC rule set 406.
  • FIG. 7 is an example of a system 700 configured for transforming a filled universal design layout 610 into a transformed design layout 706. The system 700 comprises a transformation component 704. In some embodiments, the filled universal design layout 610 was verified by a DRC component 404 as complying with a common DRC rule set 406 and/or a DRC rule set 606 for a metal scheme 604 of a universal design layout format, as illustrated in FIG. 6. The transformation component 704 is configured to transform the filled universal design layout 610 from a universal design layout format to a target layout format of a target metal scheme 702. In this way, the transformation component 704 generates the transformed design layout 706. The transformed design layout 706 comprises one or more metal layers, where a metal layer comprises one or more metal polygons and/or one or more dummy polygons sized and arranged according to the target metal scheme 702. The DRC component 404 is configured to verify that the transformed design layout 706 complies with a DRC rule set 708 for the target metal scheme 702 and/or the common DRC rule set 406, thus resulting in a compliant transformed design layout 710.
  • According to an aspect of the instant disclosure, a method for generating a common design rule check (DRC) rule set for verification of a design layout is provided. The method comprises generating a common DRC rule set comprising a set of design rules derived from one or more DRC rule sets associated with metal schemes. For respective design rules within the set of design rules, one or more DRC rule sets are evaluated to identify a design rule constraint value for a design rule based upon the design rule constraint value corresponding to a restriction threshold. The design rule constraint value is assigned to the design rule for inclusion within the common DRC rule set.
  • According to an aspect of the instant disclosure, a method for generating a common dummy insertion utility for verification of a design layout is provided. The method comprises evaluating one or more DRC rule sets to identify a set of constraints. In one example, a dummy size constraint value for a dummy size constraint is identified based upon the dummy size constraint value correspond to a dummy size restriction threshold. In another example, a dummy spacing constraint value for a dummy spacing constraint is identified based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold. The common dummy insertion utility is generated based upon the set of constraints, such as the dummy size constraint having the dummy size constraint value, the dummy spacing constraint having the dummy spacing constraint value, and/or other constraints.
  • According to an aspect of the instant disclosure, a system for verifying a design layout is provided. The system comprises a DRC component configured to maintain a common DRC rule set derived from one or more DRC rule sets associated with metal schemes. The DRC component is configured to verify that a design layout is compliant with the common DRC rule set. The system comprises a common dummy insertion utility configured to maintain a set of constraints, such as a dummy size constraint, a dummy spacing constraint, and/or other constraints. The common dummy insertion utility is configured to fill the design layout with one or more dummy polygons based upon the set of constraints to create a filled design layout. The DRC component is configured to verify that the filled design layout is compliant with the common DRC rule set.
  • Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to implement one or more of the techniques presented herein. An example embodiment of a computer-readable medium or a computer-readable device that is devised in these ways is illustrated in FIG. 8, wherein the implementation 800 comprises a computer-readable medium 808, such as a CD-R, DVD-R, flash drive, a platter of a hard disk drive, etc., on which is encoded computer-readable data 806. This computer-readable data 806, such as binary data comprising at least one of a zero or a one, in turn comprises a set of computer instructions 804 configured to operate according to one or more of the principles set forth herein. In some embodiments, the processor-executable computer instructions 804 are configured to perform a method 802, such as at least some of the exemplary method 100 of FIG. 1, and/or at least some of the exemplary method 200 of FIG. 2 for example. In some embodiments, the processor-executable instructions 804 are configured to implement a system, such as at least some of the exemplary system 400 of FIG. 4, at least some of the exemplary system 600 of FIG. 6, and/or at least some of the exemplary system 700 of FIG. 7, for example. Many such computer-readable media are devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.
  • As used in this application, the terms “component”, “module,” “system”, “interface”, and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component includes a process running on a processor, a processor, an object, an executable, a thread of execution, a program, or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components residing within a process or thread of execution and a component is localized on one computer or distributed between two or more computers.
  • Furthermore, the claimed subject matter is implemented as a method, apparatus, or article of manufacture using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
  • FIG. 9 and the following discussion provide a brief, general description of a suitable computing environment to implement embodiments of one or more of the provisions set forth herein. The operating environment of FIG. 9 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the operating environment. Example computing devices include, but are not limited to, personal computers, server computers, hand-held or laptop devices, mobile devices, such as mobile phones, Personal Digital Assistants (PDAs), media players, and the like, multiprocessor systems, consumer electronics, mini computers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Generally, embodiments are described in the general context of “computer readable instructions” being executed by one or more computing devices. Computer readable instructions are distributed via computer readable media as will be discussed below. Computer readable instructions are implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the computer readable instructions are combined or distributed as desired in various environments.
  • FIG. 9 illustrates an example of a system 900 comprising a computing device 912 configured to implement one or more embodiments provided herein. In one configuration, computing device 912 includes at least one processing unit 916 and memory 918. In some embodiments, depending on the exact configuration and type of computing device, memory 918 is volatile, such as RAM, non-volatile, such as ROM, flash memory, etc., or some combination of the two. This configuration is illustrated in FIG. 9 by dashed line 914.
  • In other embodiments, device 912 includes additional features or functionality. For example, device 912 also includes additional storage such as removable storage or non-removable storage, including, but not limited to, magnetic storage, optical storage, and the like. Such additional storage is illustrated in FIG. 9 by storage 920. In some embodiments, computer readable instructions to implement one or more embodiments provided herein are in storage 920. Storage 920 also stores other computer readable instructions to implement an operating system, an application program, and the like. Computer readable instructions are loaded in memory 918 for execution by processing unit 916, for example.
  • The term “computer readable media” as used herein includes computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data. Memory 918 and storage 920 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by device 912. Any such computer storage media is part of device 912.
  • The term “computer readable media” includes communication media. Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • Device 912 includes input device(s) 924 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, or any other input device. Output device(s) 922 such as one or more displays, speakers, printers, or any other output device are also included in device 912. Input device(s) 924 and output device(s) 922 are connected to device 912 via a wired connection, wireless connection, or any combination thereof. In some embodiments, an input device or an output device from another computing device are used as input device(s) 924 or output device(s) 922 for computing device 912. Device 912 also includes communication connection(s) 926 to facilitate communications with one or more other devices.
  • Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter of the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
  • Various operations of embodiments are provided herein. The order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated by one skilled in the art having the benefit of this description. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein.
  • Moreover, “exemplary” is used herein to mean serving as an example, instance, illustration, etc., and not necessarily as advantageous. As used in this application, “or” is intended to mean an inclusive “or” rather than an exclusive “or”. In addition, “a” and “an” as used in this application are generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Also, at least one of A and B and/or the like generally means A or B or both A and B. Furthermore, to the extent that “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”. Also, unless specified otherwise, “first,” “second,” or the like are not intended to imply a temporal aspect, a spatial aspect, an ordering, etc. Rather, such terms are merely used as identifiers, names, etc. for features, elements, items, etc. For example, a first channel and a second channel generally correspond to channel A and channel B or two different or two identical channels or the same channel.
  • Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims.

Claims (20)

What is claimed is:
1. A method for generating a common design rule check (DRC) rule set for verification of a design layout, comprising:
generating a common DRC rule set comprising a set of design rules derived from one or more DRC rule sets associated with metal schemes, the generating comprising:
for respective design rules within the set of design rules:
evaluating the one or more DRC rule sets to identify a design rule constraint value for a design rule based upon the design rule constraint value corresponding to a restriction threshold; and
assigning the design rule constraint value to the design rule for inclusion within the common DRC rule set.
2. The method of claim 1, comprising:
verifying that a design layout is compliant with the common DRC rule set.
3. The method of claim 2, the verifying comprising:
verifying that the design layout is compliant with a DRC rule set associated with a metal scheme assigned for the design layout.
4. The method of claim 1, comprising:
evaluating the one or more DRC rule sets to identify a dummy size constraint value for a dummy size constraint based upon the dummy size constraint value corresponding to a dummy size restriction threshold;
evaluating the one or more DRC rule sets to identify a dummy spacing constraint value for a dummy spacing constraint based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold; and
generating a common dummy insertion utility based upon the dummy size constraint having the dummy size constraint value and the dummy spacing constraint having the dummy spacing constraint value.
5. The method of claim 4, comprising:
inserting one or more dummy polygons into a design layout using the common dummy insertion utility to generate a filled design layout, a first dummy polygon satisfying the dummy size constraint and the dummy spacing constraint.
6. The method of claim 5, comprising at least one of:
verifying that the filled design layout is compliant with the common DRC rule set; or
verifying that the filled design layout is compliant with a DRC rule set associated with a metal scheme assigned for the design layout.
7. The method of claim 1, the restriction threshold specifying that a first design rule constraint value of a first DRC rule set is to be selected over a second design rule constraint value of a second DRC rule set based upon the first design rule constraint value being more restrictive than the second design rule constraint value.
8. The method of claim 4, the dummy size restriction threshold specifying that a first dummy size constraint value of a first DRC rule set is to be selected over a second dummy size constraint value of a second DRC rule set based upon the first dummy size constraint value being more restrictive than the second dummy size constraint value.
9. The method of claim 4, the dummy spacing restriction threshold specifying that a first dummy spacing constraint value of a first DRC rule set is to be selected over a second dummy spacing constraint value of a second DRC rule set based upon the first dummy spacing constraint value being more restrictive than the second dummy spacing constraint value.
10. The method of claim 1, comprising:
generating a universal design layout based upon a design layout and a metal scheme for a universal design layout format;
verifying that the universal design layout is compliant with the common DRC rule set and a DRC rule set for the metal scheme of the universal design layout format; and
inserting one or more dummy polygons into the universal design layout to create a filled universal design layout.
11. The method of claim 10, comprising:
transforming the filled universal design layout into a transformed design layout according to a target metal scheme; and
verifying that the transformed design layout is compliant with the common DRC rule set and a DRC rule set for the target metal scheme.
12. The method of claim 11, comprising:
simulating the transformed design layout, the simulating comprising at least one of RC extraction, electro-migration (EM) analysis, or voltage (IR) drop analysis.
13. A method for generating a common dummy insertion utility for design layout processing, comprising:
evaluating one or more DRC rule sets to identify a set of constraints, the evaluating comprising:
evaluating the one or more DRC rule sets to identify a dummy size constraint value for a dummy size constraint based upon the dummy size constraint value corresponding to a dummy size restriction threshold;
evaluating the one or more DRC rule sets to identify a dummy spacing constraint value for a dummy spacing constraint based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold; and
generating a common dummy insertion utility based upon the set of constraint.
14. The method of claim 13, comprising:
inserting one or more dummy polygons into a design layout using the common dummy insertion utility to generate a filled design layout, a first dummy polygon satisfying the dummy size constraint and the dummy spacing constraint.
15. The method of claim 14, comprising at least one of:
verifying that the filled design layout is compliant with a common DRC rule set derived from the one or more DRC rule sets; or
verifying that the filled design layout is compliant with a DRC rule set associated with a metal scheme assigned for the design layout.
16. The method of claim 13, the dummy size restriction threshold specifying that a first dummy size constraint value of a first DRC rule set is to be selected over a second dummy size constraint value of a second DRC rule set based upon the first dummy size constraint value being more restrictive than the second dummy size constraint value.
17. The method of claim 13, the dummy spacing restriction threshold specifying that a first dummy spacing constraint value of a first DRC rule set is to be selected over a second dummy spacing constraint value of a second DRC rule set based upon the first dummy spacing constraint value being more restrictive than the second dummy spacing constraint value.
18. A system for verifying a design layout, comprising:
a DRC component configured to:
maintain a common DRC rule set derived from one or more DRC rule sets associated with metal schemes;
verify that at least one of a design layout or a filled design layout is compliant with the common DRC rule set; and
a common dummy insertion utility configured to:
maintain a set of constraints, the set of constraints comprising a dummy size constraint and a dummy spacing constraint; and
fill the design layout with one or more polygons based upon the set of constraints to create a filled design layout.
19. The system of claim 18, the common dummy insertion utility configured to:
evaluate the one or more DRC rule sets to identify a dummy size constraint value for the dummy size constraint based upon the dummy size constraint value corresponding to a dummy size restriction threshold; and
evaluate the one or more DRC rule sets to identify a dummy spacing constraint value for the dummy spacing constraint based upon the dummy spacing constraint value corresponding to a dummy spacing restriction threshold.
20. The system of claim 18, the common DRC rule set comprising a set of design rules, and the DRC component configured to:
for respective design rules within a set of design rules:
evaluate the one or more DRC rule sets to identify a design rule constraint value for a design rule based upon the design rule constraint value corresponding to a restriction threshold; and
assign the design rule constraint value to the design rule within the common DRC rule set.
US13/852,080 2013-03-15 2013-03-28 Universal design layout compliance Active US8832623B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/852,080 US8832623B1 (en) 2013-03-15 2013-03-28 Universal design layout compliance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361801076P 2013-03-15 2013-03-15
US13/852,080 US8832623B1 (en) 2013-03-15 2013-03-28 Universal design layout compliance

Publications (2)

Publication Number Publication Date
US8832623B1 US8832623B1 (en) 2014-09-09
US20140282331A1 true US20140282331A1 (en) 2014-09-18

Family

ID=51455400

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/852,080 Active US8832623B1 (en) 2013-03-15 2013-03-28 Universal design layout compliance

Country Status (1)

Country Link
US (1) US8832623B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107743619A (en) * 2015-04-15 2018-02-27 赛捷设计自动化有限责任公司 The test layouts repeatedly organized to checking DRC automatically generate technology
WO2023015595A1 (en) * 2021-08-13 2023-02-16 长鑫存储技术有限公司 Drc test pattern generation method and apparatus, electronic device, and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750893B (en) * 2013-12-30 2018-03-20 中芯国际集成电路制造(上海)有限公司 A kind of up-to-standard ensuring method and domain structure of dummy pattern filling formula
US10169523B2 (en) * 2015-08-27 2019-01-01 International Business Machines Corporation Timing constraints formulation for highly replicated design modules
KR102458359B1 (en) * 2018-01-31 2022-10-25 삼성전자주식회사 Method of layout design and semiconductor device manufactured based on the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1532670A4 (en) * 2002-06-07 2007-09-12 Praesagus Inc Characterization adn reduction of variation for integrated circuits
US6883149B2 (en) * 2002-09-30 2005-04-19 Sun Microsystems, Inc. Via enclosure rule check in a multi-wide object class design layout
US7155689B2 (en) * 2003-10-07 2006-12-26 Magma Design Automation, Inc. Design-manufacturing interface via a unified model
US7565638B2 (en) * 2006-11-21 2009-07-21 Sun Microsystems, Inc. Density-based layer filler for integrated circuit design

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107743619A (en) * 2015-04-15 2018-02-27 赛捷设计自动化有限责任公司 The test layouts repeatedly organized to checking DRC automatically generate technology
WO2023015595A1 (en) * 2021-08-13 2023-02-16 长鑫存储技术有限公司 Drc test pattern generation method and apparatus, electronic device, and storage medium

Also Published As

Publication number Publication date
US8832623B1 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
US8782575B1 (en) Conflict detection for self-aligned multiple patterning compliance
US8832623B1 (en) Universal design layout compliance
US20140215421A1 (en) Self-aligned multiple patterning layout design
US8813016B1 (en) Multiple via connections using connectivity rings
US20120185819A1 (en) System and method for verifying pcb layout
US9177096B2 (en) Timing closure using transistor sizing in standard cells
US8719755B2 (en) Graded dummy insertion
US8701070B2 (en) Group bounding box region-constrained placement for integrated circuit design
US8914755B1 (en) Layout re-decomposition for multiple patterning layouts
US9436793B2 (en) Tier based layer promotion and demotion
US11314305B2 (en) Dynamic thermal management simulation using improved reduced order modeling
US8949758B1 (en) Hybrid design rule for double patterning
US11030362B2 (en) Modeling and cooperative simulation of systems with interdependent discrete and continuous elements
US20140196000A1 (en) System and method for checking signal transmission line
US9195792B2 (en) Circuit design porting between process design types
US10176436B2 (en) Extracting skill-level-based command execution patterns from CATIA command log
US8849440B2 (en) Manufacturing control based on a final design structure incorporating both layout and client-specific manufacturing information
US10540472B2 (en) Dynamic power integrity and simulation for PCB design
US20150200159A1 (en) Duplicate layering and routing
US9189583B2 (en) Look-up based buffer tree synthesis
US20230315965A1 (en) Method and system for generating a three-dimensional model of a multi-thickness object a computer-aided design environment
US20090024377A1 (en) System and Method for Modeling Semiconductor Devices Using Pre-Processing
US20170235861A1 (en) Method of calculating thermal path and information processing device
US20230023317A1 (en) Systems and Methods for Providing A Dynamic High Voltage Circuit Design Workflow
US9026974B2 (en) Semiconductor integrated circuit partitioning and timing

Legal Events

Date Code Title Description
AS Assignment

Owner name: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YUAN, MIN-SHUEH;LI, CHAO-CHIEH;REEL/FRAME:030104/0127

Effective date: 20130326

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8