Nagative Parallel (PRL)

edited January 17 in KLayout Support

How to check negative parallel (PRL)?

In the above image shows two example of PRL, The right polygon pair has a parallel length of 47 vertically and 21 horizontally. The right polygon pair has a parallel length of -31.5 vertically and 21 horizontally. I want to find polygons that are in PRL > -110 (eg -50, -40) vertically.

The expected result is shown in the following image:

I have an idea of ​​expanding polygons and using separate rows to find the offending polygons, but it didn't work as expected. The following image shows the result I got.

My code:
report("DRC")
LAYER_1 = input(50, 0)
layer_1_nr_36 = LAYER_1.width(0.036).polygons
layer_1_nr_20 = LAYER_1.width(0.020).polygons

layer_1_20_bw_36 = layer_1_nr_36 - layer_1_nr_20

#####Assume edges.angle(90) = long side, edges.angle(0) = short side

poly_extens_h = layer_1_20_bw_36.sized(0.08, 0)

########space

error_h_1 = poly_extens_h.sep(LAYER_1, 0.11).with_angle(0).polygons
error_h_2 = poly_extens_h.space(0.11).with_angle(0).polygons
error_h_1.output("error_h_1")

Nguyen

Comments

  • Hi @nguyenajt,

    Are there any additional warranties? Your code suggests so. Like: is the horizontal distance always 21nm? Is the orientation always long side vertically?

    Matthias

  • Hi @Matthias,
    I want to find Layer 1 that violates one of two addition:

    • PRL > -110 (eg -50, -40) vertically
    • PRL > -80 horizontally
      Imagine there is a region around polygons layer1 that is 80 horizontally from the two vertical edges, and 110 vertically from the two horizontal edges. The violation area that I want to capture is the edges that I have marked in blue in the following image.

      The following image are results that i excepted:

    Nguyen

  • Hi Nguyen,

    You can capture the parts intruding the marked area using such a DRC code:

    report("Discussion 2656")
    
    inp = input(1, 0)
    
    inp.drc(primary.sized(0.08, 0.11) & foreign).output("Errors")
    

    This will give you these markers:

    The idea is basically based on the "halo" picture: it marks the intruders entering the rectangular space around the original shape. As the violation is in both directions, there are always two pieces marker.

    This is not giving you some edge pair, but at least a kind of marker.

    Will this be helpful already?

    Matthias

Sign In or Register to comment.