1. Technical Field
The present invention relates generally to integrated circuit (IC) design, and more particularly to a method, system and program product for correcting via spacing violations in an IC design.
2. Related Art
When migrating an existing very large scale integrated (VLSI) circuit physical design from one technology to another, it is sometimes necessary to enforce different spacing ground rules for contact vias. For example, spacing for vias that are on different electrical nets may be larger than the corresponding via spacing for vias on the same net.
One possible approach for making these modifications between nets is by using an automatic layout-migration program. A drawback to this approach, however, is that most compaction-based layout-migration tools work in one axis at a time. That is, they form constraints in the horizontal direction and then move shapes in the horizontal direction; then they build constraints and move shapes in the vertical direction. Unfortunately, it is frequently the case that, for a certain pair of vias, the spacing violation exists in one direction, but the only way to resolve the problem is in the perpendicular direction. Compaction-based techniques cannot easily handle this situation.
Another limitation of the above-identified approach relates to data volume. In particular, changes necessary to correct spacing violations for vias are oftentimes chip-wide in nature and potentially involve all of the back-end-of-line (BEOL) levels. As a consequence, the amount of data requiring correction can be immense, which results in the corrections being time and resource consuming. Furthermore, correcting spacing problems manually is tedious and potentially intractable because of scheduling requirements.
In view of the foregoing, there is a need in the art for a way to correct spacing problems that does not suffer from the problems of the related art.
The invention includes a method, system and program product for correcting via spacing violations by generating a redundant via to replace one of a pair of vias that violate a ground rule. The redundant via corrects the ground rule violation. The target via corresponding to the redundant via is then removed, which corrects the ground rule violation. The invention can be applied to any spacing ground rule including same net and different net rules, and may also be applied to a current technology or, during migration, to a new technology. The invention can be applied to different levels of a design to ensure ground rule compliance throughout the design.
A first aspect of the invention is directed to a method for correcting a ground rule violation for a target via pair in a design, the method comprising the steps of: generating a redundant via for a target via of the target via pair where the redundant via corrects the ground rule violation; and removing the target via corresponding to the redundant via to correct the ground rule violation.
A second aspect of the invention is directed to a system for correcting a ground rule violation for a target via pair in a design, the method comprising the steps of: means for generating a redundant via for a target via of the target via pair where the redundant via corrects the ground rule violation; and means for removing the target via corresponding to the redundant via to correct the ground rule violation.
A third aspect of the invention is directed to a computer program product comprising a computer useable medium having computer readable program code embodied therein for correcting a ground rule violation for a target via pair in a design, the program product comprising: program code configured to generate a redundant via for a target via of the target via pair where the redundant via corrects the ground rule violation; and program code configured to remove the target via corresponding to the redundant via to correct the ground rule violation.
The foregoing and other features of the invention will be apparent from the following more particular description of embodiments of the invention.
The embodiments of this invention will be described in detail, with reference to the following figures, wherein like designations denote like elements, and wherein:
The invention includes a method, system and program product for correcting ground rule violations for a structure in an integrated circuit (IC). For purposes of description, the invention will be described in terms of correcting spacing violations for contact vias. It should be recognized, however, that the invention may be applied to other structures in which ground rules are violated.
With reference to the accompanying drawings,
Turning to
As shown in
Turning to
In a first step S1, target via pairs are identified that violate a ground rule by ground rule violation analyzer 130. In one embodiment, ground rule violation analyzer 130 includes any now known or later developed shape-processing program 132 that can determine a ground rule violation, and a via identifier 134 according to the invention that distinguishes via pairs that violate a ground rule from other structure. The term “target” is applied to via pairs, and vias thereof, since they violate a ground rule and are targeted for correction. It should be recognized that shape-processing program 132 evaluates any ground rules regardless of whether they are applicable to the same net or a different net. In addition, shape-processing program 132 may also be applied to any ground rule involving pairs of vias of contacts, such as density rules. In addition, the invention is also applicable where migrating from one technology to another. In this case, shape-processing program 132 also may enforce ground rules for the new technology, in particular the spacing ground rules for the new technology.
In step S2, a redundant via is generated by via replicator 140 for each target via where the redundant via corrects a ground rule violation. Those target vias that violate a ground rule, but for which a redundant via cannot be generated that corrects the ground rule violation are left alone. In
In step S3, the results of the redundant via generation in step S2 are analyzed by shape-processing program 132 to identify which target vias 16, 22A acquired a redundant via 30. Those target vias 22A, as shown in
In step S4, original target vias corresponding to redundant vias distinguished in step S3 are removed by remover 150. In one embodiment, remover 150 uses a batch-mode layout-editing program that removes a corresponding target via 22A (
In the previous discussion, it will be understood that the method steps discussed are performed by a processor, such as PU 114 of system 100, executing instructions of program product 122 stored in memory. It is understood that the various devices, modules, mechanisms and systems described herein may be realized in hardware, software, or a combination of hardware and software, and may be compartmentalized other than as shown. They may be implemented by any type of computer system or other apparatus adapted for carrying out the methods described herein. A typical combination of hardware and software could be a general-purpose computer system with a computer program that, when loaded and executed, controls the computer system such that it carries out the methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention could be utilized. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods and functions described herein, and which—when loaded in a computer system—is able to carry out these methods and functions. Computer program, software program, program, program product, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
While this invention has been described in conjunction with the specific embodiments outlined above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the embodiments of the invention as set forth above are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the invention as defined in the following claims.