It looks like you're new here. If you want to get involved, click one of these buttons!
I have just a little Cadence SKILL hacking experience, and I'm managed to figure out how to hack the lyp files to add new layers. I'm trying to figure out how to write DRC checks just using the reference material on the Klayout website, but what would really help me is seeing examples of a variety of checks: min width, exact width, min space same layer, min space different layers, min inside of, exact inside of etc. This way I can see how the lines of code are structured in a real working deck, as well as see a variety of function names.
Skorpios Technologies Inc.
Albuquerque, NM USA
there are few free samples, as technology information often is confidential.
But in this forum there are some samples and discussions which may be helpful:
Maybe someone else has more samples which can be shared?
Matthias has already provided some examples. The 3 KLayout sites I found extremely informative were the following:
As the size of your GDS grows you may also find the following comments from Matthias extremely useful:
Mathias and Vikas,
Thank you for your responses. I'm learning to use the very helpful website materials.
Mathias and Vikas,
I'm practicing writing DRCs using the Macro Development utility. I'm having a problem with the "separation" function.
This is what I wrote:
When I try to run it, it chokes on ".output(103, 0)". What am I doing wrong???
Have you tried:
OK...I just tried changing "micron" to "um", but I get the same "Script Error" message saying "undefined method 'output' for 1.5:Float in MacroInterpreter::execute
What am I doing wrong?
I looked at it again and realized that I had too many )s. It works now thanks to you!
Is there a DRC function that is the opposite of "overlap"? What function should I use to check the extension of poly beyond the active to make a legal gate?
The Forum keeps changing my username to "Felix". Strange.
strange indeed ... but I see you as "KenShawSkorpios" now :-)
Maybe you can try "enclosing". That should do the job. The name is slightly misleading: enclosing does not ensure one layer actually encloses another, but it checks whether anything extending beyond another layer does so with a given minimum extension.
Details are here: https://www.klayout.de/doc-qt4/about/drc_ref_layer.html#h2-324