Degassing hole feature via ruby automation

I am looking to create a Ruby automation script for KLayout that can automatically place "degassing" holes within large metal fill areas. The goal is to replicate a feature similar to what is available in tools like Cadence Allegro.

I came across this Cadence forum post that describes the functionality I'm trying to achieve:
https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-apd/52353/degassing-with-apd
Can anyone help me out?

Comments

  • edited August 12
    You’re best bet would be using the drc engine and the function “fill”:
    https://www.klayout.de/doc/about/drc_ref_layer.html#fill

    You’ll also need to NOT your metal layer with the fill in order to get the holes you’re looking for. If you require more complex patterns (different shaped holes) you can take advantage of the shifting options of fill to meet that requirement.

    Hope this helps
  • edited August 12

    Hi @Tushar_Mayank,

    I think @blueman_44's approach is valid. But please note that KLayout is not a PCB tool. The features offered are specific to the VLSI world with their own conventions and slang. It is common to have complex boolean operations that control these kind of slotting or cheesing operations, for example to avoid modifying metal in sensitive areas such as inductors, bond pads or metal resistors or to keep the via landing pads clean of holes. Hence, an universal engine such as the DRC feature is an appropriate solution, but very likely does not meet your expectations if you come from a PCB perspective.

    Also, the motivation for metal sheet holes is a different one in the VLSI world, coming from the limitations of a CMP process or the need for homogenization of pattern density.

    Matthias

Sign In or Register to comment.