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 Thomas,
my suggestion would be to combine the devices on the reference netlist before compare. So the "normalized" way is to see the devices as combined ones. At least for compare.
I don't know if there is a reason to keep devices sep…
Hi,
you are running KLayout in viewer mode.
In order to get these functions, you have to use editor mode.
On Linux that's "klayout -e ...".
On Windows, there is a start menu entry saying "KLayout (Editor)"
On MacOS I think t…
Hi Adam,
"matrix" is a transformation matrix which transforms pixel coordinates (x=0,1,2..., y=0,1,2...) into micrometer values. The format lists the rows of the matrix. It's a 3x3 matrix for a general 2d transformation with homogeneous c…
I have implemented "perimeter_only" now. It's going to go into the next minor release. The details are here: https://github.com/KLayout/klayout/issues/579
I hope TSMC appreciates that :)
Matthias
Maybe you should clear the configuration. If the issue is device specific, a damaged configuration is the only explanation I have.
Delete or rename "C:\users\yourself\KLayout\klayoutrc" and try again.
Matthias
Hi,
The second progress bar indicates an inner operation which also takes a progress. I assume that's something happening inside "do_some_work".
If the progress gets stuck this means there still is a progress bar object alive. This can h…
Sure, you can.
In order to locate the file, either put it into one of the Python locations, KLayout offers. Or set the "KLAYOUT_PYTHONPATH" environment variable to point to your module (same as PYTHONPATH for the normal Python interpreter…
There is an "attach file" button (the "document" thing) in the comment editor. Wrap it all in a .zip file, so it gets accepted as a legal file format.
And you don't need to point me to Si2 sources. I know them well. If this mea…
Hi KM,
here is a custom query for "Edit/Search". It looks for cells who have something on layer 4/0 and reports the cell names:
cell * where cell.shapes(<4/0>).size > 0
Matthias
Hi john,
thanks for mentioning this. I did not encounter arbitrary angle rotations so far. And I start loathing CIF ...
Here is ticket for this: https://github.com/KLayout/klayout/issues/578
Matthias
Hi Giovanni,
there are many ways to achieve this ... it's all built into Ruby. The DRCEngine class is a ordinary Ruby class, and "instance_eval" is a standard Ruby method.
The dirty solution is to use global variables, e.g. "$die_or…
Hi Bret,
regions are basically supported. Like this (Syntax highlighting fails here, so please ignor colors):
GROUPS 1 ; - er0 er0_* + REGION er0 ;END GROUPS
REGIONS are written to a special layer you can specify in the reader options (Fil…
Hi,
My favorite is Ctrl+D ("Descend"). If you select anything (shape, instance), this function will switch the context to the next child cell leading to this object. "context" means you will still see the original top cell, but …
Hi,
Could you please provide more context? Like where this property line appears? Ideally you would provide a short test file that reproduces the problem.
LEF/DEF underwent some heavy refactoring recently, but this new version is not finalized yet…
Hi,
the error means your file is broken. Possible reasons are disk space issues, network problems or transferring a file in text mode instead of binary.
Try, if the file still isn't readable if you just open it.
If the problem persists, debugging…
Very good, I'll include it in 0.26.6.
Thanks for reporting this issue. CIF isn't used quite often anymore. I think that's the reason this issue escaped so far.
Best regards,
Matthias
I was already waiting for this request ... :)
Technically that's not a big issue and code is prepared already for this. It's just not available yet as a DRC option. I have prepared a ticket for this: https://github.com/KLayout/klayout/issues/570
I…
Hi,
I think I have fixed both bugs.
You can try the regular master build from here: https://www.klayout.org/downloads/master/windows/klayout-0.27-win64-install.exe
This preliminary installer isn't signed and it represents the unstable development…
No, you can't. This is Ruby syntax. Use "has_cell" without the question mark.
For details see here (search for "predicate getters"): https://www.klayout.de/doc-qt5/programming/python.html
Matthias
You can try this:
pya.Application.instance().set_config("edit-inst-pcell-parameters", "")
Put this line somewhere in your script, for example where the library is registered. This line will reset any PCell parameters kept in th…
Hi,
You code is basically just missing the "set_info" statement which sets the modified layer information after you have modified it:
layout.set_info(indx, layer_info)
But there is an easier way to achieve this: by setting a layer mappi…
Hi,
"save_layer_props" will not reset the layer properties. But "load_layout" will do so, because it replaces the layout with a fresh one.
You can replace a layout in a view by a new one while maintaining most of the settings, …
Hi,
maybe you can give a sample for a HEMT layout? A sketch will do.
The texted approach is always available, but still you need to identify the ports - the polygons to which the wires will connect.
Matthias