Nagative Parallel (PRL)


How to check negative parallel (PRL)?
In the following 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 seem to work. The following image shows the result I got.

Nguyen

Comments

  • edited January 15

    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")

  • That's a duplicate, is it? The other post is https://www.klayout.de/forum/discussion/2656

  • edited January 19

    Sorry, I posted in the wrong topic. Can you help me remove it in Ruby topic?

This discussion has been closed.