Erase mode with a pcell.

Sorry if this has been asked before.

Is it possible to use "Erase" tool mode with a PCell?
Say, I want a box or a polygon with a round hole inside of it.

My naive attempt was to draw a box in an "Add" mode, and then choose "erase" mode, place a circle pcell into the centre of the previously drawn box, and click left mouse button.

But this seems to overlay the circle on top of the box, rather than subtract it.

The above works for a "box erased from box".

Is it possible to subtract circles?

Comments

  • I found that doing a subtraction is possible using a "layer binary operations", creating an auxiliary layer. But I am still confused about a "normal" subtraction.

  • Hi @yearningmare,

    No, you cannot create "subtractive" geometries by PCells. GDS/KLayout is an "additive" database, so every cell can only add shapes, not remove anything from shapes outside the cell context. A PCell is not different from other cells in that respect.

    The "erase mode" feature of the UI uses special code to post-process layout once the shape has been drawn.

    The usual way to handle such problems is to define two drawing layers: one for positive shapes and one for holes. Then you can define a post-processing procedure (e.g. through a DRC script) that turns the drawn layers into final layout. This way, you can implement slotting of metal wires for example. Handling cases of "positive shapes inside holes" however is still a challenge as this would need a second-level positive shape that is not cancelled by a hole ... and potentially even more levels.

    Matthias

Sign In or Register to comment.