Drain/Source min length

How to check the dain-source minimum length in this special case ? I use the following DRC code.

poly = input(5)
active = input(2)
gate = poly & active
active.enclosing(gate, 2.um, projection).polygons.without_area(0).output("projection drain/source extension : min = 2um")
active.enclosing(gate, 2.um, euclidian).polygons.without_area(0).output("euclidian drain/source extension : min = 2um")

I thought that using the "projection" option would be OK, but it does not catch the case at the bottom.

And using the "euclidian" option gives me a wrong warning at the top. Then, do anyone has an idea to check the drain/source minimum length ?

Thanks,

Laurent

Comments

  • Hi Laurent,

    my suggestion is this:

    report("discussion_2456")
    
    poly = input(5)
    active = input(2)
    
    gate_ends = poly.edges & active
    needs_to_be_inside_active = gate_ends.extended_out(2.0.um)
    needs_to_be_inside_active.output("DEBUG: needs_to_be_inside_active")
    (needs_to_be_inside_active - active).output("source/drain extension outside gate <2µm")
    

    This is my input which tries to copy your image:

    The idea is to create an extension over the gate ends forming a region that needs to be inside active:

    As the small triangle at the lower left corner is outside it will give you one error there:

    Is that matching your expectations?

    Matthias

  • Perfect. Thank you Matthias !

Sign In or Register to comment.