Matthias

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

About

Username
Matthias
Joined
Visits
1,521
Last Active
Roles
Member

Comments

  • Hi, once again ... sorry for the late reply. A path will disappear on merging if it has not width. That is because the merge operation creates an equivalent polygon area and if the path does not cover an area none is generated. Please consider th…
  • Hi, sorry for the late reply ... There is an inherent limit in GDS which does not allow more than 32767 rows or columns. The format allows 65535 when dropping compatibility constraints. But that's it. You can try to save to OASIS - there is no su…
  • Hi, well, KLayout and AutoCAD are probably very different tools. The world of IC layout comes with a couple of concepts, specifically hierarchy and strict layering. The basis of KLayout is the GDS format and there are some substantial differences t…
  • Sorry folks, this is NOT my business. I won't figure out how to make it "smart". I have better things to do. 1.) Simply store your data in the usual places (Documents, shares wherever). Why using the installation folder for your data? 2.…
  • Hi, That's right. That is the best that you can get with the scripting approach right now. Please note that the performance is not very good for small pixels, because every pixel is computed on its own. There is a routine inside KLayout which can …
  • Hi, downsampling is always some approximation, but area density is probably the best you can do. A assume you want to use the grayscale value in the sense of some "transmission". But you need to be somewhat careful with the definition - …
  • Hi Nick, the behaviour can be explained if you consider that "shape.box" returns a copy of the internal database object. If you manipulate that copy, it won't have an effect on the database object initially. But you can easily fix that by…
  • Hi, Yes, understood :-) The net tracer was intended as a GUI feature for layout debugging rather than a non-interactive tool but I see there are applications out there. I have to isolate the code in order to provide an API, so that won't be a quic…
  • Hi, it is, if we have the same idea of "anti-aliasing". The density map will reflect the area covered by layout for each pixel. That is one possible way of defining some layout metrics on a coarser grid and it's easy to implement. It wil…
  • Hi John, good to hear that :-) Usually the configuration files are upward compatible so there should not be any surprises when you upgrade. But I admit there have been a few bugs breaking that rule in effect. I'll do my best this will remain a spe…
  • Hi John, there is no change that could explain that. Maybe there is something with the configuration file. Maybe layer mapping is on or something like that. Could you move the configuration file away and try again? KLayout will then initialize the…
  • Hi Julien, in the box properties dialog there is a separate tab on which you can enter the boxes parameters in the form of center point / size. In addition, there is another general feature which may be useful not only in that case. You can enter…
  • Hi, thank you :-) The answer to the question is acually quite simple: instead of "0", just use "2" for the second parameter of load_layout. Here is the explanation: http://klayout.de/doc/code/class_MainWindow.html#method134 M…
  • Hi, You'll find some first instructions how to create a layout here: http://klayout.de/doc/manual/editor_operations.html There are some more pages describing the basic use model of the program (user interface, layer view concept, cell list and si…
  • Hi Itamar, I guess the text object is somewhere in a child cell. In order to get the final location, you'll have to flatten the cell or you apply the transformation of the cell instances to the shape. A handy class is the RecursiveShapeIterator whi…
  • Hi Acku, the message is typical effect of having a mismatch between library and ruby interpreter version. If no specific command is given, the build script incokes "ruby" in order to determine the Ruby version. If you don't specify a libr…
  • 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…