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 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…
I also think it's out there, but I am sure, these solutions will all have their defects. I mean people got used to using CDL as schematic reference for LVS and that there is a separate netlister step for that. It makes sense to treat simulation as a…
Hi Joël,
I'm afraid I don't fully understand. What's a package template?
Basically you don't need to use a template. If you check the available packages there are all kind of structures, some with quite nested folders.
If you create packages you …
@sekigawa Thanks a lot for the explanation!
There is an important point about the LIBNAME: when you save a GDS file you can specify the library name - this is the one that appears in the "Libraries" tree. In the example above that is &quo…
This is the warning (or Tip) displayed when the application starts with erase mode on:
(Image)
As mentioned, use "Help/Show All Tips" to display them again in case you dismissed this tip.
Matthias
At first glance I'd say that the units are wrong. SKY130 probably establishes a convention of using metric units by default, while KLayout dumps in micrometer units by default. So your
M$1 VCC VCC VCC VCC sky130_fd_pr__pfet_01v8 L=0.15 W=6 AS=2.85 …
First of all, the sized method in "rect.sized" is fast as expected. "WG0.and(inner_border)" takes about 3.7s on my machine which is kind of expected as we're talking about estimated 2.5M vertexes involved here.
You can bring tha…
You had "erase" mode on. There is a warning when KLayout starts and you use erase mode. I guess you ignored that.
(Image)
(bad mode if you expect polygons to be drawn instead of erased)
Matthias
Hi @spark_aeon,
I am sorry, but without insight into the layout, I really can't give proper advice. The deal is that free software benefits from public feedback and that includes public test cases.
A rough starting point for your research is why t…
No, there is not. Where did you find that mentioned?
Landmarks in my perception are alignment helpers, but so far I did not consider them part of the display properties of an image.
The only way to manipulate landmarks currently is to convert the …
Hi @Dylan_Lai,
Hierarchical mode benefits from begin able to process things inside a cell once and then applying the result to all instances of a cell. That comes with an overhead which needs to be less than the gain and has limitations. Specifical…
Hi @jiunnweiyeh,
Here is a suggestion: just try writing in Chinese. I think there is a Chinese KLayout community able to chime in. I will not be able to actively join such a discussion (in that case I am the one needing a translator :) ), but maybe…
Hi @Dylan_Lai,
The runtimes are highly dependent on the actual use case. If deep mode runs slower for you, just don't use it.
It's your choice. Performance is not a warranty I give.
Matthias
Hi @jiunnweiyeh,
I think that AI can be great help for you. I noticed that the AI models have a fairly good knowledge about KLayout, which is probably because the sources are openly available.
I personally feel a bit cheated because OpenAI monetiz…
Hi Gerard,
thanks for these deep thoughts and the detailed explanations.
Here are my comments:
* The object properties dialog is a much different beast than the editor options. It allows for example to edit multiple selected objects at once and s…
Hi @blueman_44,
thanks for pointing that out! I need to add that the techfile should be an exported ones. "Hand-written" techfiles are sometimes enhanced with Skill code the script can't digest.
Matthias
Hi Sebastian,
One way to avoid the thread serialization problem is to use a separate container. For example, if you want to insert 1000 shapes into a cell, you can use
for polygon in polygons_to_insert: lock.acquire() cell.shapes(layer).insert(p…
Hi @jself,
Thanks for this information. I was able to fix the problem and will release the patch with 0.30.5. With this patch in place, you will be able to configure the keys using the Customize Menu's entries. In fact, the key bindings for @toolba…
Hi @footang,
no, there is no log, except by debugging into the application code.
I con't confirm there is a net tracer bug with a small testcase:
(Image)
But there is one thing that resembles your problem: if you click on a point that is outsid…