Change layer and polygon sizing


Dears,
I am new user in KLayout. Actually, I'm doing a project, which I need to :
1. Change layer from foundry A to Foundry B
2. Do sizing (up/down) for specific layer (Foundry B )
3. Run DRC and LVS to validate the change of #1 & #2, to fulfill foundry B design rule.
BTW, Attached pic. is sizing build-in function in KLayout. I'm wondering if I can use a python script to do this thing.

Comments

  • edited April 2020

    Hi,

    the easiest way to do this is a one-liner DRC script:

    input(1, 0).sized(0.01.um).output(101, 0)
    

    For more information about DRC scripts see here: https://www.klayout.de/doc-qt5/manual/drc_basic.html

    Matthias

  • Thanks Matthias. I've got the result that what I wanted except the output layer is in Flatten mode. Actually, I wanna to get the output layer with the same Hierarchy to the input layer. Like the sizing operation.

  • I just got the solution in help menu. It can be solve by use "deep". Thanks.

  • edited April 2020

    Yes, deep mode is the solution:

    deep
    input(1, 0).sized(0.01.um).output(101, 0)
    

    This is usually equivalent to semi-hierarchical mode. It's precise in a sense that it takes cell interactions into account which semi-hierarchical mode doesn't. Hence I discourage the use of the latter.

    Matthias

  • Matthias, Thanks for your explanation.
    Finally, I wanna delete the original layer (say 1:0), how can I do it? I can find only on the pull down menu: Edit -> Layer -> Delete Layer

  • Hi kmho,

    in a DRC script you can clear layer(1,0) using:

    polygon_layer.output(1, 0)
    

    It will still be "there" in the layer list, but empty. You can't entirely delete a layer in a DRC script. But after you save and load such a file the layer is gone (GDS does not have the concept of a layer's "existance" - if there is no data on a layer, it's not there).

    Matthias

Sign In or Register to comment.