|Publication number||US8019561 B1|
|Application number||US 12/202,297|
|Publication date||Sep 13, 2011|
|Filing date||Aug 31, 2008|
|Priority date||Sep 3, 2007|
|Publication number||12202297, 202297, US 8019561 B1, US 8019561B1, US-B1-8019561, US8019561 B1, US8019561B1|
|Inventors||Mikael Bo Lennart Sahrling|
|Original Assignee||Veric Systems Llc|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (14), Referenced by (8), Classifications (12), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates to error detection schemes for integrated circuit (IC) layout, and more particularly the method and apparatus for detecting layout design errors that constitute a “short circuit” error in which the layouts of polygons, or other geometrical shapes hereinafter referred to as simply polygons, representing conductive materials touch in places where they should not touch, thereby creating unwanted electrical connections between circuit elements.
When “circuit extraction” programs are applied to an IC layout design database, the result is a representation of the electrical circuit which would result from committing that layout design to a mask set and fabricating integrated circuit chips using that mask set. While their internal representations differ, all circuit extraction programs must, at one point, determine all disjoint sets of polygons representing areas of equipotential in the final, fabricated IC, i.e. they must determine all electrical nodes represented in the design database.
If polygons representing the same conductive material touch or overlap each other, then they represent an electrical node. Similarly, if polygons representing different conductive materials are shown to be “connected” by either proximity or so-called “contact” materials, then they, too, represent an electrical node. The polygons that comprise an electrical node may be formed or represented for analysis purposes in any one of several ways that are commonly known in the art. The procedure with which polygons are determined to belong to a certain electrical node is below called performing “a(n) (electrical) connectivity analysis”. Incorrect placement of conductive or contact materials result in the connection of one node to another, and if only geometric information is available to the programs analyzing the layout information, then it is typically not possible to precisely locate the position of the incorrectly placed polygon(s).
Certain known software routines that are commercially available assist in identifying layout errors causing electrical nodes to be incorrectly connected. In one software routine the shortest conductive path is formed between two points (on an electrical node) selected by the user from the “extracted network”. This path is displayed, and the task of the user is to determine the incorrect polygon(s) which caused the points to connect. The conventional program determines all paths (shorts) among the different nodes identified by the user. They may all be displayed simultaneously or in the order of increasing “length” (that is the number of polygons or trapezoids comprising them). Another known software routine “prunes” from the extracted node under analysis (the “problem node”) all non-ambiguous branches. The remaining area is (in trivial cases) sufficiently simple for the user to determine the cause of the short. If not, then the user may enter additional points of correspondence to further reduce the ambiguity of the problem node in the manner previously described.
One disadvantage encountered with each of the aforementioned programs is that insufficient information is provided to the user to quickly “home-in” on the error, unless the node is extremely simple, or unless the user's placement of known nodal points is fortuitous. Another difficulty encountered is that these known programs do not deal effectively with the typical case in which multiple nodes are shorted in multiple locations, and the only points easily available to the user are at or near the connection pads of the chip. Nodes such as those delivering power to a chip, or clock lines, or ground, can be extremely large and complex, comprising thousands, hundreds of thousands, or millions of individual polygons. Two or more of such nodes may be shorted together in more than one place exacerbating the problem. Indeed, any of a number of nodes may have inadvertently been shorted together in any number of places, thus creating a problem that is difficult to solve without a major advancement in analysis techniques.
A more recent development is the method suggested by Baisuck et al. U.S. Pat. No. 5,299,139 Mar. 29, 1994. Here, the problem of finding shorting polygons is solved by tracing the node in question multiple times using different reference or “correspondence point” information associated with different circuit nodes (typically supplied by a user) during each tracing of the network, and retains what it derives from each tracing. As the tracings are performed, the derived information is combined, and at the end of all tracings, a display is produced for the user which separates the “known” from the “ambiguous” parts of the problem node. The nodal network is traversed in one of three modes; namely: “search”, “success”, or “failure” modes, and a marker is left in each polygon “visited” to indicate the mode the system was in when the visit occurred. During the traversal, which starts at each of the corresponding points whose nodal identity is supplied by the user, the method “searches” for “success” or “failure”. “Success” means that another polygon marked with the same identification as the mark of the starting point has been found. “Failure” means that a polygon has been found with a mark different from that of the starting point has been found along the same node. When the entire problem node has been traversed from all instances of the first node-identifier supplied by the user, the mode markings for each polygon in the node are not discarded. Rather the traversal for the next identified node is performed and the node markings are combined with the existing ones. This way, nodes marked with “success” has a chance of belonging to a unique node and the ones marked “failure” can be questionable and should be investigated by the user. The problem with the method is there is no way to control the traversing of nodes. The method can take any path starting out from a given user supplied polygon with a known node identity. One then has to make sure all paths from a given starting point are explored. This can quickly get completely out of hand, in particular if there are many user supplied nodes. Furthermore, there is no way to be certain the “failure” polygons are truly ambiguous, it is highly dependent on the particular way in which the method searches the polygons. In the end, the user can easily be left with a massive number of “failure” polygons which can be just as hard to analyze as the original problem.
The problem of finding shorts in electrical systems has also received recent attention in Rai U.S. Pat. No. 7,411,404 B2 Aug. 12, 2008. Here a method is described that finds electrical shorts in a dynamoelectric machine by predicting and measuring, among other entities, electrical currents. Also Nelson et el. U.S. Pat. No. 6,882,173 B1 and Rao et al U.S. Pat. No. 6,911,838 B2 discusses several methods of finding shorts in an electric generator using magnetic flux density and inductance measurements. They thus concern themselves with a completely different area of finding shorts, where actual measurements can be performed on already built motors and generators, than the present invention.
Ho U.S. Pat. No. 6,438,729 August 2002, U.S. Pat. No. 6,421,814 August 2002, U.S. Pat. No. 6,128,768 October 2000, U.S. Pat. No. 5,999,726 December 1999, discloses a layout parasitics extraction system using a connectivity based approach to permit net-by-net extraction of layout parasitics.
Lakos, U.S. Pat. No. 6,167,555 December 2000, discloses a system for converting a polygon-based wire in an integrated circuit to an object-based wire element.
Chiang et al U.S. Pat. No. 5,613,102 March 1997, disclose a method of compressing data used in integrated circuit (IC) layout verifications including the steps of identifying each circuit component from each layer of the IC chip; sorting each circuit component in an established order; identifying predetermined parameters for each component; determining the difference in values of the parameters for each pair of components in successive order; and storing the difference values for each pair of components.
Kawakami et al U.S. Pat. No. 5,062,054 October 1991, disclose a printed circuit layout system using two or more of the following sub-systems: a pattern processing subsystem, a pattern design rule check subsystem, and a pattern connectivity verification characterizes any circuit pattern by a set of rectangles, each rectangle identified by a potential number and a layer, number and coordinates, and identifies terminals by potential number, layer number, and terminal names.
Rubin U.S. Pat. No. 5,050,091 September 1991, discloses an electrical design system being described which integrates many analysis and synthesis tools in an environment of top-down circuit layout.
Smith et al U.S. 2009/0031261 January 2009, disclose a method and system being described to reduce process variation as a result of the semiconductor processing of films in integrated circuit manufacturing processes.
Andhyala et al U.S. 2007/0245275 October 2007, disclose a method and system to efficiently create electromagnetic coupled basis functions for an electronic circuit that is defined by geometry data and topology data.
Modern layouts are often hierarchical in nature. This means that a layout can consist of not only polygons but also other separate layouts referred to as “subcells”. These subcells in turn can contain other subcells and polygons. This way a hierarchy of subcells can be constructed and one subcell can be used many times. The top most level is often referred to as the top-level layout,
If the short is found among the polygons, the present invention uses a completely different approach to the problem compared with the prior art methods. To understand this remember a short is simply a portion of the chip where an unwanted connection between separate nodes occur. If one excludes this region(s) from the connectivity analysis of the polygons, the nodes will not be shorted. One can utilize this property of shorts by defining one or more “exclusion regions”, inside of which no interaction between polygons are investigated, and moving these regions systematically all over the chip to find the locations of the shorts. To be able to do this efficiently one can do this iteratively where the exclusion regions are large in the first iteration and then as the approximate shorts locations are found one can, in the next iteration, subdivide the exclusion regions from the previous iteration. This continues until the size of the exclusion region is smaller than some predefined value or the size cannot be reduced further.
If the short is found among the subcells the method will systematically remove/replace the subcells until the offending one(s) are found.
An invention is presented which locates shorts in layout designs by either systematically removing subcells in the layout hierarchy or, if the shorts are not found in any of the subcells, iteratively excluding portions of the layout from the electrical connectivity analysis and thereby locate the shorting polygons. Shorts existing both in subcells and the polygons will be found by applying the method repeatedly until all shorts are located and eliminated.
A typical computer system used to implement the process described herein can be found in
The peripheral unit 404 is intended to represent an input device, here depicted as a keyboard connected to the computer cores input/output circuit.
It can, of course, be anything from a keyboard and cursor control (mouse) to magnetic devices such as hard drives/tape drives and other such well-known devices. The peripheral unit 405 is intended to represent external mass memory storage such as magnetic hard drives/tape drives, electronic memory and other familiar devices. The remaining peripheral unit 406 is a display for communicating with a user and can be a monitor, printer or other similar devices.
At this point, a couple of examples can prove useful. First we consider what happens when the short can be found among polygons. Next, we will see an example of a layout with a short in a subcell.
We will now examine what happens when the short is found within the subcells. As described above
Although the description above contains many specificities, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. It is furthermore clear that many alternatives, modifications, variations, and uses will be apparent to those skilled in the art in light of the foregoing discussion. The scope of the invention should be determined by the appended claims and the legal equivalents, rather than by the examples given.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5050091 *||Aug 21, 1990||Sep 17, 1991||Electric Editor, Inc.||Integrated electric design system with automatic constraint satisfaction|
|US5062054 *||Mar 10, 1989||Oct 29, 1991||Matsushita Electric Industrial Co., Ltd.||Layout pattern generation and geometric processing system for LSI circuits|
|US5299139 *||Jun 21, 1991||Mar 29, 1994||Cadence Design Systems, Inc.||Short locator method|
|US5613102 *||Oct 19, 1995||Mar 18, 1997||Lucent Technologies Inc.||Method of compressing data for use in performing VLSI mask layout verification|
|US5999726 *||Jan 23, 1998||Dec 7, 1999||Synopsys, Inc.||Connectivity-based approach for extracting layout parasitics|
|US6128768 *||Jul 16, 1997||Oct 3, 2000||Synopsys, Inc.||Method of extracting layout parasitics for nets of an integrated circuit using a connectivity-based approach|
|US6167555 *||Oct 3, 1997||Dec 26, 2000||Mentor Graphics Corporation||System and method for converting polygon-based wires of an integrated circuit design to path-based wires|
|US6421814 *||Jun 30, 2000||Jul 16, 2002||Synopsys, Inc.||Method of extracting layout parasitics for nets of an integrated circuit using a connectivity-based approach|
|US6438729 *||May 20, 1999||Aug 20, 2002||Synopsys, Inc.||Connectivity-based approach for extracting layout parasitics|
|US6882173||Sep 26, 2003||Apr 19, 2005||Siemens Westinghouse Power Corporation||Method and apparatus detecting shorted turns in an electric generator|
|US6911838||Mar 31, 2003||Jun 28, 2005||General Electric Company||Online detection of shorted turns in a generator field winding|
|US7411404||Dec 8, 2006||Aug 12, 2008||General Electric Company||Apparatus, system, and method for detecting an electrical short condition in a dynamoelectric machine|
|US20070245275 *||Apr 17, 2007||Oct 18, 2007||University Of Washington||Electromagnetic coupled basis functions for an electronic circuit|
|US20090031261 *||Jun 2, 2008||Jan 29, 2009||Cadence Design Systems, Inc.||Characterization and reduction of variation for integrated circuits|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8407228||Mar 26, 2010||Mar 26, 2013||Cadence Design Systems, Inc||Method and mechanism for maintaining existence information for electronic layout data|
|US8413087||Mar 26, 2010||Apr 2, 2013||Cadence Design Systems, Inc.||Method and mechanism for implementing region query using hierarchical grids|
|US8413093 *||Dec 23, 2010||Apr 2, 2013||Cadence Design Systems, Inc.||Method and mechanism for performing region query using hierarchical grids|
|US8453091||Dec 23, 2010||May 28, 2013||Cadence Design Systems, Inc.||Method and mechanism for managing hierarchical data for implementing region query|
|US9740811 *||Mar 30, 2015||Aug 22, 2017||Synopsys, Inc.||Virtual hierarchical layer patterning|
|US9740812 *||Mar 30, 2015||Aug 22, 2017||Synopsys, Inc.||Virtual cell model geometry compression|
|US20150339431 *||Mar 30, 2015||Nov 26, 2015||Synopsys, Inc.||Virtual hierarchical layer patterning|
|US20150339432 *||Mar 30, 2015||Nov 26, 2015||Synopsys, Inc.||Virtual cell model geometry compression|
|U.S. Classification||702/59, 716/111, 716/139, 716/113, 716/115, 716/112, 716/52, 716/122, 716/55|
|Sep 18, 2011||AS||Assignment|
Owner name: VERIC SYSTEMS LLC, HAWAII
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAHRLING, MIKAEL;REEL/FRAME:026923/0681
Effective date: 20110913
|Apr 24, 2015||REMI||Maintenance fee reminder mailed|
|Sep 13, 2015||LAPS||Lapse for failure to pay maintenance fees|
|Nov 3, 2015||FP||Expired due to failure to pay maintenance fee|
Effective date: 20150913