Method and apparatus for automatically fixing double patterning loop violations
First Claim
1. A computer-implemented method for resolving a design rule violation in a circuit design layout including a plurality of shapes, the method comprising:
- receiving data that indicates that an odd number of shapes form a loop in which each pair of neighboring-shapes has the pair'"'"'s two shapes closer than a threshold distance;
generating, using a processor, a set of design solutions based on the received data, each design solution for moving at least one shape of at least one pair of neighboring-shapes so that a distance between the pair of neighboring-shapes exceeds the threshold distance; and
prioritizing the generated design solutions based on a certain set of criteria to select a generated design solution to apply to the design layout.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for automatically generating and prioritizing several design solutions that resolve a double patterning (DP) loop violation in an IC design layout. The method of some embodiments receives a DP loop violation marker and identifies pairs of edges of shapes that form a double patterning loop based on the DP loop violation marker. For each pair of edges that violates the design rule, the method generates one or more design solutions. Each design solution moves a single edge or both edges to resolve the violation. The method of some embodiments computes the cost of applying each design solution to the IC design layout and prioritizes the generated solutions for all the identified pairs of edges based on the computed cost for each solution. The method in some embodiments then selects a solution from the prioritized solutions and applies the selected solution to the design layout.
-
Citations
22 Claims
-
1. A computer-implemented method for resolving a design rule violation in a circuit design layout including a plurality of shapes, the method comprising:
-
receiving data that indicates that an odd number of shapes form a loop in which each pair of neighboring-shapes has the pair'"'"'s two shapes closer than a threshold distance; generating, using a processor, a set of design solutions based on the received data, each design solution for moving at least one shape of at least one pair of neighboring-shapes so that a distance between the pair of neighboring-shapes exceeds the threshold distance; and prioritizing the generated design solutions based on a certain set of criteria to select a generated design solution to apply to the design layout. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory machine readable medium storing a program for resolving a design rule violation in a circuit design layout including a plurality of shapes, the program comprising sets of instructions for:
-
receiving data for indicating a double patterning loop comprising an odd number of shapes, wherein each particular shape in the double patterning loop is within a threshold distance of neighboring shapes in the double patterning loop; generating a set of design solutions based on the received data, each design solution for breaking the loop by moving at least one of the shapes in the double patterning loop; setting priorities to the generated design solutions based on a certain set of criteria; and using the priorities to select a generated design solution for applying to the circuit design layout. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
a processor for executing sets of instructions; and a memory for storing a computer program for correcting a design rule violation in a circuit design layout including a plurality of shapes, the program comprising sets of instructions for; receiving data for indicating a double patterning loop comprising number of shapes, wherein each particular shape is within a threshold distance of neighboring shapes in the double patterning loop; generating a set of design solutions based on the received data, each design solution for breaking the loop by moving at least one of the shapes in the double patterning loop; and selecting a generated solution that has a lowest likelihood of causing a new design rule violation when applied to the design layout. - View Dependent Claims (21, 22)
-
Specification