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
@CMeyer If would be extremely helpful if you could cite the sources - this forum is not about Sky130 or any related implementation, so we don't know what exactly you're writing about.
@JinWallner Basically it is, yes.
A PCell usually lives in a library. A library contains static and PCells. Library PCells can reference cells from the library they live in (cross referencing is also possible, but I'd try to keep everything in one …
I think that is something different - that refers to text objects (labels), not text PCells. Vector fonts are scalable and change their size when zooming.
When does not message appear?
Matthias
Very good :)
Sorry I missed this discussion.
I did not find an attachment on the first post. I'd like to see if I can reproduce the crash.
I'm aware that LVS is not an easy thing. Specifically if you like to take any kind of schematic and expect …
@tomas2004 That looks like a bug, probably the arrays are not traversed properly in the recursion. I'll open a ticket. Thanks for reporting that and the testcase.
Regarding your problem: the recursive instance iterator is not the right approach as …
@dboby First, you'll need a source for that information. There is no attribute like color (either for phase shift, dual patterning, dual exposure or other reasons) in GDS and OASIS. So in these formats, color is either mapped to a layer (the usual w…
Could you paste some code? This method was not deleted.
This works for me:
pya.LayoutView.current().bookmark_view("bookmarked")
And yes, changes for getting a new function in the API are not zero.
But you know, the problem basically is…
Hi @dick_freebird
Many thanks for your suggestions. I value such inputs, although I'm aware that such things enter the code at a slow pace. There is simply too much on my plate :(
Regarding the topics:
* "masked selection"
There is the…
Yes, sure. If you want to run the script with different parameters (e.g. input file name), use global variables and specify them like
klayout -b -r script.lym -rd input_file=x.png
assuming your script is called "script.lym" and your inpu…
There is something wrong with that file.
.lylvs is actually XML, and the problem line is this:
# along with this program. If not, see <https://www.gnu.org/licenses/>.
<https...> is read as a XML element which it isn't. This line shou…
Hi @Peter123,
That is not the problem of multi-clip. It's a problem of delete_cell_rec. This method will delete all cells of the sub-tree, even those which are used otherwise.
Let me explain why that is an issue: the in-layout clip and the multi-c…
Hi @Peter123,
thanks a lot for this nicely prepared test case.
I need to say, that the "clip_into" function is not confining the clip to certain layers. It will always clip all layers. And it will always assume that all layers are presen…
@pardeep The script was intended as an example, so you should be able to modify it. I wasn't saying script does exactly what you need.
However, your image is inverted which triggers a small bug: when a scan line ended with a bright pixel, the line …
@rounak1068 If you have a single top cell, you can use layout.top_cell() to get the Cell object of this cell. You don't need to know the top cell name. But it will fail, if your layout contains multiple top cells.
Matthias
@CMeyer what comment do you mean?
On https://github.com/efabless/sky130_klayout_pdk/blob/main/sky130_tech/tech/sky130/lvs/sky130.lvs, line 31 is this:
#================================================
That really should not make a difference.
Ma…
Hi Pardeep,
many thanks for taking that topic to the forum.
I have created a small script that may help you with the conversion. It produces a layout called "converted.gds" from "image.png". It merges the resulting shapes and a…
Yes, that is supposed to provide the database unit you intend to have in integer space.
So basically
DPolygon = Polygon * dbuPolygon = DPolygon * (1/dbu)
Matthias
Hmm ... that's bad.
To be honest, I'm no longer sure what the expectation is: that partial "two sides" is flagged as error or accepted.
As first test gave me all partial situations flagged:
(Image)
Do you happen to have a small test c…
@rounak1068 Here is a related post: https://www.klayout.de/forum/discussion/comment/8701#Comment_8701
The code is somewhat older. You can write it today like this:
layout = RBA::CellView::active.layout# Box in micron units:clip_rect = RBA::DBox::n…
Thanks ... but the last code will write the file potentially multiple times, as "write" is called inside the loop. Or are you intending the create one file containing one particular top cell? In that case, the "write" statement c…
Hi @CMeyer,
the netlist tracer is a different thing than LVS. Technically the netlist tracing is a part of the first step of LVS, but LVS is more than that: it needs to extract devices and trigger the compare step which compares against the schemat…
Hi @Mustafacc,
no, the script features are not intended to automate UI functions. That's a different level (the script API acts on the database level) and architecture wise, there are no hooks to support that. Maybe native Qt object hacking is an o…
I see. I feels a bit hacky as you need to act on the internal widget hierarchy, but basically that is possible.
It should be easy to provide that access. I just wasn't aware of the need to have it. I have created a ticket to remind me: https://gith…
Thanks @dick_freebird, that's exactly the point :)
Instead of flattening, you can also use Edit/Selection/Convert to Static cell. Then you'll get a normal cell and you can copy/paste as you like. Of course then you can no longer change PCell parame…
@CMeyer You're in the wrong place here. This is not about GDSFactory or the Skywater PDK. This place is for the core application, these other projects are independent add-ons.
If you seek qualified assistance, you should go to these projects. I did…