Optical Proximity Correction

edited March 2018 in Layout
Hi All,

I am doing some layout which requires sharp corners of shapes on the wafer after the photolithography and etch steps. Towards this I wanted to add some small serifs (square shapes for example of 1um square) to all the corners of a drawn shape. I was wondering if anyone had worked on a script to do this, which you would be willing to share? The drawn shape may not be drawn to Manhattan rules and hence I wanted the serif to be rotated to the same angle as the corner. Any help or guidance would be much appreciated.

Thanks,

Vikas

Comments

  • edited March 2018

    Hi,

    For Manhattan, there is a very simple solution using the DRC feature:

    l = input(1)
    (l + l.corners.sized(0.5)).output(100, 0)
    

    A generic solution would be this:

    l = input(1)
    le = l.edges
    (le.start_segments(0.5) + le.end_segments(0.5)).extended(:out => 0.5, :joined => true).output(100, 0)
    

    But in my example it was only partially working. I need to take a look into this.

    Regards,

    Matthias

  • edited March 2018

    The edge extension feature bug is fixed now (https://github.com/klayoutmatthias/klayout/issues/90) and will be released with the next minor release.

    Matthias

  • edited November -1
    Thanks Matthias!!

    Vikas
Sign In or Register to comment.