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…
Thank for this information.
Right now, there is no Datamatrix generator - it's entirely different from QR code. I got some basic understanding from the documentation, but no detailed specification. There seems to be technical standard which is not …
Even better, it's already there: you can create a PCell for this.
Here is a first version - without the shorting yet. It will plug itself into the Basic Library. You can draw a wide path and turn it into a "Basic.SPLIT_PATH" PCell using &…
Hi,
These texts are not plain shapes, those are PCells. PCells are "parametrized cells" which are normal cells that can be configured by providing parameters and an algorithm which produces the layout for the cell. In the case of the TEXT…
Hi Rambir,
thanks for reporting this issue. The problem is that - contrary to the documentation - the cell name is not optional for "target". So you need to specify the output cell name currently.
You can further simplify the script - in…
Hi Stefan,
that's right, but *.rbm is deprecated in favour of the autorun .lym version. The effect is the same, but there are more options with .lym (for example, you can use Python).
Matthias
Hi Luciano,
you can turn the script into a "generic macro" (*.lym file) and put it into ".klayout/macros". Such scripts can be configured to auto-run on start.
This file can be created using "Macros/Macro Development"…
How should I?
I can't see what call_layer will do, neither what @cell_index really contains ... if it's an array or a hash at all.
And I don't print error messages just for fun. Don't be shy and tell me what they say.
Hi Eric,
in the DRC feature, that's a two lines
cell("Active_area") # omit this line if you simply want to use "top cell"puts input(1, 0).area
The result will be printed to the console when you run the DRC script in the Macr…
Hi Eric,
this code will take the selected shapes, right. But you mentioned you'd like to take the pattern (shapes?) from somewhere else. Where from? The whole layer? Including child cells? How do you know the layer the shapes are supposed to be tak…