Hi Jim,
you can use master or any other branch, but without warranty.
The usual approach (and the one favoured by GitHub) is: features are developed in branches. When they are considered stable enough they are integrated into the master (pull request). Hence the master is kind of "latest greatest", but with a certain risk of being spoiled. There are also forks from other user with their own masters and branches. Don't confuse them with the ones from the KLayout project.
But eventually, when the master is considered to have a sufficient quality, a release is made by creating a release tag (https://github.com/KLayout/klayout/releases). A release is a snapshot which is then turned into Windows binaries, Linux packages, PyPI wheels etc. This this is a lengthy process and I don't want to do this too often.
Matthias
Hi Leo,
I have started an implementation of the "copy whole net as marker" (https://github.com/KLayout/klayout/pull/2257).
With this patch "evaluate_nets" will have a new feature that allows finer control over what is produced.…
Hi @sekigawa,
thanks for this impressive survey :)
@simransingh14: regarding the plugin-based approach: it is not possible to explicitly capture the "File/Open" event. "Plugins" are scripts that make use of a special API to hoo…
Hi @Manio,
I don't know which PDK you are using, but when you don't see the library, that means something went wrong during installation. Typically a PDK will provide a PCell Library by through scripts which are auto-loaded on startup of KLayout. F…
Hi @mikamar,
at first glance I'd say the "diagonality" of the upper-left 2x2 matrix of the example case should give you a similarity. That matrix is
(0.05, 0) (-0.000505, 0.0505)
That is pretty "diagonal". It's obviously…
Hi Simran,
I think you need to be more specific. What is the requirement UI-wise and what are the details?
Basically, KLayout can download from HTTP(S), but authentication supports Basic only, is per-session and requires the user to enter a passwo…
Hi @katherine,
technically, the entry point to the space check is Region::space_check in dbRegion.h, line 725. However, that's just the entry point, the details are complex.
I need to say that KLayout is not an educational, but a practical impleme…
You can create a Application shortcut on Windows that includes the "-rm" option with the macro you are using.
But I don't want to give Windows support here - there should be many resources which tell you how to create an application short…
Oh, I'm sorry. You are right. Arrays of layers are not supported as of now. I left my brain at some Christmas party obviously.
You can pass any value to variables, including arrays, but one should not use that for layers.
But it should still be po…
Hi Leo,
The expressions syntax is somewhat limited - there are no loops. You can still pass arrays:
# ANTENNADIFFSIDEAREARATIO-like antenna checkdef antenna_check_gf180mcu(gate, antenna_layer, thickness, limit, diodes) expression = "var gare…
Hi @simransingh14,
the option that comes to my mind is using a file type binding like
klayout.exe -rm yourmacro.lym -rd input="%1"
(I assume Windows style for file associations and %1 is replaced by the file name).
In that case "y…
Very good :)
KLayout does not have curves - only piecewise linear polygons (after all, it's a VLSI tool and most layouts are manhattan style). So no curve fitting :(
Matthias
That is because "require_relative" will not load a file twice. That is a Ruby feature, not a KLayout one.
If you use "load_relative" instead, it should always load the helper file.
Matthias
Yes, there is the DRC "smoothed" function. It eliminates additional vertexes to return a smoothed polygon that deviates from the original contour by a given maximum distance.
Here is a one-liner that applies the smoothing to layer 1/0 and…
Very good. Thanks for the feedback! :)
I fixed two issues mainly:
* When the shape you clicked at was lower in the hierarchy, the shape was not identified correctly in most cases
* "Inactive" shapes (such from layers not part of the stac…
Hi @footang,
I have merged my latest changes which I think should fix your problems. Preliminary builds are available here: https://www.klayout.org/downloads/master/ (Windows, Linux). Disclaimer: these binaries are not signed yet.
If you like, you…
Hi @LeoTrois,
can you give some details how to reproduce the problem?
Here is what works for me for KLayout 0.30.5:
* Create a new, empty layout with layers 1/0, 2/0 and 3/0
* Make layer 1/0 the current one
* Hide layer 1/0
* Press the "Text…
Thanks, but where did you create it?
The issue space for KLayout is here: https://github.com/KLayout/klayout/issues
You can refer to this discussion. GitHub tickets are a good way to publicly discuss topics and refer to them in release notes.
Mat…
Hi Sebastian,
You can use a temporary cell (inside a Layout) as a container for instances. Cells should be thread-safe when used in an isolated fashion (i.e. one cell per thread). But that needs confirmation - I have not really tested yet. If you p…
Hi Luciano,
without the script, I cannot help much. 0.25 is super old, 0.29.0 is also old and not quite stable. You can try with the latest version. Maybe that one is better in terms of compatibility. I recall there were some script binding issues.…
Hi @jonathan,
That's also an option.
If you like, you can raise a ticket on GitHub. I think your request is reasonable, it's just not supported yet.
It will just be a separate class, so a kind of layout wrapper.
Matthias
I don't know what's happening. I need to check.
Here is the follow-up ticket on GitHub: https://github.com/KLayout/klayout/issues/2234. That's the place to go. And I really would appreciate a test case and a description of your stack. Or if you did…
No, there is no such switch. Currently, "show_layout" will pass the ownership over the Layout object to the view.
But you can pass a copy:
mw.current_view().show_layout(ly1.dup(), False)
If that is deleted, your original layout is left …
KLayout can skip the device merge script, but the PDKs come with their own wrappers and some allow disabling the merge step and some don't.
I lost track for the sky130 development ... there used to be a lot of forks. I don't know how the consolidat…
I even forgot there are templates ...
Actually, the system is very simple. You don't need to start from a template. You can pick an empty folder and populate it with any kind of files. The folder structure is identical to the folders in "~/.kl…
Are you talking about layout file links or something else?
Like you open a layout using "http(s):":
klayout "https://www.klayout.org/klayout-pypi/samples/basic.gds"
If that's your problem you can also use a client like curl wi…