Hi Acku,
You'll get this message if the version of your ruby interpreter does not match the libraries given in the build command.
You don't need to specify -rbinc, -rblib etc. Just make sure you have the ruby interpreter in your path or that you h…
Hi Z Lim,
good suggestion, but right now the instance name is not transferred as properties.
The main intention was to provide import for the physical layout. So that was not considered of primary importance.
Thanks for the suggestion,
Matthias
Oh sorry ... you're right. Output images are always PNG, irregardless of the suffix.
So there's no way to change the encoder right now. But maybe that is not the reason anyway.
The hard limit may be bigger on a 64bit machine (I'm running 32bit Lin…
Hi Joey,
thanks for the explanation.
Basically the tiling option should automatically select the tile_borders to catch all relevant cases for functions where the interaction distance is known. The width/spacing checks are among them, so I'd consid…
Hi,
I just ran the command you mentioned with 15k x 15k pixels successfully on Linux, so I can't confirm there is a general issue. It took a couple of seconds with a small layout. It will be more for a bigger layout of course.
There appears to be …
Hi Joey,
thanks for the praise :-)
Basically, with tiling the results should be equivalent to the non-tiling case. Maybe some violations are reported twice, but error markers must not vanish if you enable tiling for example.
Are you saying the re…
Hi,
Ok, I see the point. The question is what you think the function should restore it to.
There are some functions already that may provide related functionality:
* To restore the initial state, choose "Select All", "Delete Layer …
Hi,
well ... that's probably how you look at it.
Basically the "T" button does not reflect the technology loaded but is supposed to assign a technology.
The concept is that each layout has a technology attached. The technology attached …
Hi,
instead of the background combination mode you can use "Edit/Selection/Subtraction": select the first shape from which you want to subtract. Then with Shift pressed you select the one to subtract. Then you choose "Edit/Selection/…
Hi,
ellipses are not shapes, they are PCell's. That is why they don't participate in boolean operations.
Let me explain: the basic format of KLayout is GDS which does not offer ellipses. One way to provide ellipses is by creating "ellipse-lik…
No problem :-)
Thanks for mentioning this. 0.23.4 also has DEF and should support all layout-related LEF features. If you find an issue there, let me know.
Best regards,
Matthias
Hi Elad,
the only way to persist nets currently is to export them to a layout.
Basically the net tracer was intended as a debugging facility, so persistency was not the main design goal. The export features have to provided to open interfaces with…
Hi Thomas,
the array is reflecting the GDS capabilities. The GDS format provides arrays exactly that way and that is why the functionality is confined to this implementation.
However, if you need complex arrays you can generate them with a script.…
Hi,
thanks very much for the testcase.
However, I'm afraid I'm not able to reproduce the issue right away.
I'm not an everyday user of LEF, so I am not very familiar with that format. By "comment line" you mean adding a semicolon in fro…
I guess you mean "Import LEF", not "File/Open LEF", right?
I'd call the layer properties behaviour a bug. But I can't confirm it right now. I was not able to reproduce that issue with 0.23.4 on Linux right away. The test case I …
Hi,
I am trying to understand what is going on.
How do you specify the .lyp file? Are you using "Use default layer properties file" in the setup dialog's "Layer Properties" page? Or are you using a technology binding?
Do you u…
Hi,
Well, from the code that should be supported alread. KLayout will ignore the SPACING (it's no router, so this should be fine), but it should put the shapes on metal3.
I suspect it's some other issue. Are you able to send a small testcase to th…
Hi,
I guess this works. There is no restriction about the origin of the layout - neither layout, cell or layer.
I think it will take the common bounding box as the total area to cover. But I have not verified that yet.
Matthias
Hi,
I see your point.
Basically you can also code the "inside" script dynamically. It's a plain string.
For example if you want to combine the layers 1, 5, 6, 7, 10 and 11:
layers = [ 1, 5, 6, 7, 10, 11 ]# combine theses layerslayers.e…
Hi,
I see, that requires some explanation.
Basically the tiling processor runs in two different domains. The "outside" domain feeds it with the parameters required, while int "inside" domain is executed for every tile. Both dom…
Hi,
To execute the script on multiple cells, you will have to start with each cell.
The sample script above takes the currently selected cell for input.
You can iterator over all top cells this way:
ly.each_top_cell do |tc_index| cell = ly.cell…
Hi David,
I know that there are tools assuming a stricter interpretation of GDS - along with restrictions on cell name length, layer numbers and so on. Some are even stricter: rows have to be rows and columns have to be columns and the row vectors …
Hello,
yes, the area function will take overlaps into account - it will merge the shapes prior to computing the area.
You can embed boolean operations too. They will be executed on the tiles and on multiple cores which makes them more efficient:
…
No, that's already done in the "ep.merge(..)" call.
BTW: the code in the forum entry works, but there are more efficient methods in between. Specifically there is the "Region" class which is basically a collection of polygons an…
Hi Brian,
the under/oversize suggested by Laurent is probably the most effective and simplest solution.
In general "more than .." kind of checks are difficult to implement since in that case the interaction range is basically unlimited a…
Hi,
the Image class was intended to background images, so you can load an image but not save it currently. That's what I meant in the other forum entry.
In addition the Image class provides functionality somewhat beyond the capabilities of the nor…
There is no global switch, but there is the "TilingProcessor" class which allows distributing the density computation to multiple cores. This class is not straightforward to use however and it cannot produce image files currently. But if y…
Hi,
Yes, there will a major difference in runtime, but also in quality.
The image approach will just deliver binary information and does not care much about precision - if there is a very small shape, you will see one bright pixel, or maybe two or…
Hi ata,
thanks for the testcases. With them it was easy to debug the issue.
What basically happens is the following: a basic shortcoming of DXF is the lack of filled objects, apart from HATCH and SOLID. Beside those two there are different methods…