DRC Bug??

edited March 2018 in KLayout Support

Hi,

I am running a DRC code checking for a separation between two shapes on two different layers:

lay1.separation(lay2, 4.45.um, projection).output("lay1 separation to lay2", "lay1 separation to lay2 - 4.45um")

I get an error marker with and the following edge pairs:

lay1 separation to lay2 - 4.45um

edge-pair: (700,-0.7;699.998,-0.7)/(700,-5.15;700.004,-5.15)

However, (-0.7) - (-5.15) = 4.45 and so I am not sure why these edges are flagging.

Any help would be appreciated.

Thanks,

Vikas

Comments

  • edited November -1

    Hi Vikas,

    they don't event project ... I tried to reproduce the issue with two rectangles (0,-0.7,700,0) and (700,-6,1400,-5.15), but I could not find a way to get this error.

    Can you give the two polygons involved in this check?

    Thanks,

    Matthias

  • edited November -1

    Hi Matthias,

    I can place the GDS and code on Dropbox. Is there any way to send you the link privately or do I need to post it in the forum?

    Thanks,

    Vikas

  • edited March 2018

    Hi Vikas,

    you can send GDS and/or code to the mail address listed on the "Contact" page. Another channel is to [submit a GitHub issue here: https://github.com/klayoutmatthias/klayout/issues.

    Please don't send confidential data. Although I won't disclose a test case if you ask me to, I can't give warranties beyond a promise.

    In doubt, you can try to reduce the test case to the polygons which allow reproducing the issue.

    Thanks,

    Matthias

  • edited November -1

    Thanks Matthias. Let put together a package for you.

  • edited November -1

    Hi Vikas,

    thanks for the test data. I have an explanation. I have tried to provide an image for a better description:

    Graphics

    The image shows an exaggerated view of the situation. The arrows indicate that there are actually positions where the distance is less than 4.45. Even if the edges are 4.45 apart vertically, their projected distance is less. I little, but sufficient to create this marker.

    There are actually three interactions to consider:

    • The green line projects a little on the red line. Since the distance is less than 4.45, this part is flagged as the first edge of the edge pair marker
    • In the opposite way, the red line projects a little on the green one rendering the second edge of the edge pair marker.
    • Basically the blue and green line should also render a distance rule violation, although the violation is probably below the detection limit.

    So the situation is a kind of border case. In a strict mathematical sense, the whole right side should be flagged as a violation. Practically, the results in such a case are difficult to predict. But my conclusion is that the violation is not entirely off-topic.

    Kind regards,

    Matthias

Sign In or Register to comment.