In this article we’ll look at how to code a DRC rule for run length dependent spacing. This is a spacing rule between two shapes which requires larger spacing for long, parallel edges.
In the following image we allow a spacing rule of 36nm if the edges are less than 56nm in their projecting length. Edges longer than this require a spacing of 50nm.
There are two spacing rules to implement this check: the first checks projecting edges longer that 56nm. The required spacing in this case is 50nm:
geomSpace(m1, 0.050, 0.056, greaterthan, ‘M1 space < 50nm for runlength > 56nm’)
The second checks projecting edges that are less than or equal to 56nm. The required spacing is 36nm:
geomSpace(m1, 0.036, 0.056, lessthan, ‘M1 space < 36nm for runlength < 56nm’)
We are using the flags to distinguish between the two cases and give the DRC error as shown in the image.