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
Sorry, I do not fully understand.
What "elements" are you creating? Do you mean PCells? So you placed the PCell five times and now you want to change a parameter for all these instances at the same time?
Just select all of them, open the…
Yes, exactly. KLayout uses a Python interpreter the same way the Python shell does. So once imported, modules are not automatically re-imported again. You need to tell the interpreter to discard the loaded module and reload.
The solution actually d…
Sorry, I don't understand.
You want to apply fillets? Or you want to check something with fillets? Could you please explain the rule you're trying to check?
Matthias
@demis Please don't try making a system doing things it was not designed for.
I'd advise you to look in a different direction. Instead of a PCell you can provide a script which is executed in order to manipulate the layout you have loaded and which…
What do you mean by "in my klayout macro, There are codes read from such file stream"? Please show some code which tells me what you are doing.
Matthias
Okay, so maybe you need to explain to me what you mean. I do not understand the details.
So "Codes that must show in the Libraries" means script code that is supposed to be executed on startup, but isn't? So you have a specific file that …
Basically, running a macro should update the library list.
But I need to be more specific: it may be important which file to execute and there are two buttons for running macros.
First, you need to execute the file which actually installs the libr…
Oh yes ... DXF does not really have the concept of a polygon (except HATCH which also is not really a polygon or at least not a useful object). DXF represents polygons by their outlines, either as a single closed polyline or multiple segments.
A fi…
@ashkan If your code is in ".klayout" that is WRONG. It needs to go into "KLayout" instead of ".klayout" on Windows. More specifically, %HOME%\KLayout or c:\users\matthias\KLayout in my case (sorry, Markdown swallowed a…
I see and thanks for the test case.
The problem is not upon checking, it's upon reading the Spice file. Unfortunately there is not the "one" Spice specification. There are multiple flavours and in this specific case, there is an ambiguity…
@dick_freebird No, I'm sorry, there is not undocumented feature that does that :) At least not as of now. I know the basic problem as the "must connect" feature in some (same?) brand X tool which basically means that devices within a certa…
Hi @atork,
are you using the command properly?
Here is an example taken from KLayout's test data repo:
# Hierarchical antenna checksource($drc_test_source, $drc_test_top)target($drc_test_target)deepdiff = input(2, 0)poly = input(3, 0)contact = in…
@demis A PCell can generate polygons, but I PCell can only instantiate cells from other libraries, not from the client layout (the one you uses the PCell in). So if "cell to instantiate" comes from some library that is fine. If it is suppo…
@wsteffe At least the good news is that there is a solution :)
The "bad_alloc" message means the system is not able to give the requested memory to the application.
I still do not understand the original issue. I tried your initial scrip…
Sorry for the naming - "W" was intended to be "well" because my reasoning was that a cap/resistor would normally be biased against some isolation well (or substrate).
I agree with Jim - the Spice syntax (if there is something l…
@kevin No, KLayout is not a Python interpreter and the command line belongs to it :)
But you can define variables from the command line which you can access inside your script, e.g.
$ klayout ... -r script.py -rd myvar=valuein script.py:# "my…
It's strange, the error should be less likely to happen if the keep the clear. But maybe that is a coincidence.
There is a general problem here which is hierarchy. You will need not only to clear the layer from the cell c, but also in the child cel…
@wsteffe A zero-width path is written as a POLYLINE with width 0. It's a special case of a path with non-zero width which is also written as a POLYLINE with constant width.
I don't know how such an object is extruded though.
Matthias
Hi Amro,
I think you refer to this post, which was basically about the same question: https://www.klayout.de/forum/discussion/comment/7990#Comment_7990
Maybe you can give me some more details - what was the message you got and how did you model th…
Hi Amro,
basically it should not be a problem to do netlist extraction in a DRC deck. With other tools there are connectivity based DRC rules that basically do the same. Once I implement them I'd base them on a extracted netlist as well. An extract…
Hi Laurent,
The "modern" way is to use "text layers". To input a text layer, you use "labels" in the same way you would use "input". But "labels" generates a text layer instead of a polygon layer.
…
You can draw a path with zero width. This is a valid feature and is equivalent to a line.
Such paths however vanish on "area aware" functions such as boolean operations.
Matthias
@chaoscrum No worries, no stupid questions exist :)
1.) Yes, this "sample" (or rather recipe) creates a layout entirely. No interaction needed.
2.) Sorry, my fault. The functions should be "create_cell" to create a cell. I have …
@atork That is a difficult one.
I know this scheme as "must connect" which is not a feature supported by KLayout currently in a native way. This feature has to cluster all devices inside a connected region and check each of these clusters…