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 Sophie,
very good ... I wasn't aware this can happen.
Are you using the version from the package manager? I would like to prevent that issue.
Thanks,
Matthias
Hi Tomas,
true ... that's why I added the warning to the "Instance Properties" ("Some design systems only accept orthogonal arrays") :-)
IC6.1.6 is actually not that old. I thought they had fixed that. I wonder what they do w…
Hi Sophie,
My best guess is that the "on", "through" or "into" parameters for an "etch" or "grow" operation isn't valid in some cases.
But basically the message should be something like "... i…
Hi Laurent,
On Linux, you can run KLayout from the terminal to get some more information. On Windows there is no terminal, but there is a log viewer (File/Log Viewer). If the application doesn't start however that's not really helpful.
Usually, KL…
Hi Tomas,
I disagree with the term "malfunctioned" ... it's a know issue that Cadence can't digest AREFS which don't fit to their mosaic concept. But at least a warning given and more recent version should be able to import AREFs of any k…
Hi Eric,
apart from David's pretty solution, there is a DRC one-liner to print the number of boxes:
puts input(l,d).raw.rectangles.data.size
Replace "l,d" by the GDS layer/datatype number of the layer you want to have analyzed.
Regards…
The edge extension feature bug is fixed now (https://github.com/klayoutmatthias/klayout/issues/90) and will be released with the next minor release.
Matthias
Nice idea :-)
Actually layer sources and the layer views are much more powerful, so I don't think you can capture the full beauty in a single table (i.e. hierarchies, transformations, property selectors, tabs etc.). But for certain applications tha…
Hi Sophie,
thanks for reporting this issue. It's actually not obvious what is wrong, but the effect is due to snapping at the boundary of the two materials.
I have created a ticket for this: https://github.com/klayoutmatthias/xsection/issues/4.
A…
Hi,
For Manhattan, there is a very simple solution using the DRC feature:
l = input(1)(l + l.corners.sized(0.5)).output(100, 0)
A generic solution would be this:
l = input(1)le = l.edges(le.start_segments(0.5) + le.end_segments(0.5)).extended(:o…
Hi all,
for curved structures, the width is probably quite sensitive to rounding issues: depending on the resolution of your curves certain edges or parts of those may have a smaller distance than allowed.
But to continue this discussion, a pictur…
Hi Any,
there is one issue here: the .lyp file specifies a "source" which may be only partially specified. If for example, the source gives the layer and datatype, the name can only be obtained after the layout way read and this name can …
Hi all,
I think that such polygons get removed in merge semantics. But they are kept in "raw" mode. So I think this is how you can check this:
input(10, 0).raw.with_area(0.0)
Matthias
Hi Tomas,
thanks for the clarification. Frankly I'm not aware Cadence is still having this issue. I though that has gone long ago. I see a lot of GDS myself and non-orthogonal arrays are pretty common. And OASIS is very specific here: any kind of a…
I wouldn't call it risky ... it's just harder to control.
One situation where this fails is the following: imagine you have a check for width between 1 and 3 µm and two parallel lines of 1 µm width spaced 0.5 µm. Then you will get three edge pairs:…
Hello,
basically the DRC functions can work on a whole chip. It can also work on a subcell or a certain region.
Hierarchy is supported in a sense that DRC can digest a hierarchical layout, but the computation will render a flat layer. So you can r…
Hi,
I'm sorry, but I can't confirm this: a normal DRC script like this
input(1).sized(1.0.um).output(1, 0)
will overwrite layer 1.
Do you have a sample where this does not happen?
Matthias
Hi,
here is a version which will display the results in a third layout:
# prelude: load the two layouts and prepare an output layoutapp = RBA::Application::instanceapp.main_window.load_layout($gds1, 2)app.main_window.load_layout($gds2, 2)app.main_…
Hi,
edge pairs are only defined for "less than" type of checks - complex checks render figures that cannot be represented by edge pairs. So there is not a single operation that delivers this.
You can however select edges with "width…
Hi Vikas,
0.25.1 is out now. Please try it and give feedback. If that's not solving the issue I'd need a testcase to be able to further debug it.
Regards,
Matthias
Hi Vikas,
this may be related to this bug: https://github.com/klayoutmatthias/klayout/issues/69
It's fixed already and I am preparing 0.25.1 with this bug fix (among others) right now.
Matthias
Hello,
I guess the .NET implementation is a good staring point. But I don't have a specification. Technical standards are not freely available and I'm a bit cautious not to violate IP rights. An open source implementation essentially is making a sp…
Hi Frank,
sorry if I haven't mentioned this: DRC requires Ruby support because the DRC language essentially is Ruby.
If you don't have Ruby, it should be easy to install. Any package delivering a version 1.9 to 2.x should do. But you need sudo abi…
Hi all,
After looking at the screenshots I'm pretty sure the issue is the one I was suspecting above (single-instance AREF's). All cells I see - the missing bends, the labels, the missing wiggly connection pieces are such AREF's. I have not seen bi…
Hi Andy,
The Markdown version this forum uses is somewhat different from GitHub's ... please format code by using four blanks in front of the code lines.
I like your monkey-patching approach with Hash#push_val_safe ... not something for the code p…
Hi,
If I understand you correctly, you need to save to DXF to get a correct GDS file? I'd not recommend this path as DXF is not really suited for mask layout - for example, DXF is lacking drawing unit information. GDS (or OASIS) are made for this p…
Hi Perron,
the first two topics are known issues and are fixed already (0.25.1 awaits release).
You can report bug and search the issue database on GitHub: https://github.com/klayoutmatthias/klayout/issues?utf8=%E2%9C%93&q=is%3Aissue. Yours ar…