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,418
Last Active
Roles
Member

Comments

  • Hi Johan, If you are happy with the QR code the PCell delivers, you can use Python to place a PCell. Here is an example how to do that. I places a QR code PCell in the current layout on layer 1/0: import pyacell = pya.CellView.active().cellly = c…
  • You can run "klayout -z -r script.py" for a mode that does not launch the application's main window. Still it will need a display connection on Linux. Matthias
  • Update: it's actually not that bad ... you don't need to metal5 patches to form real pins. KLayout will ignore schematic pins that are not connected from outside. I have attached a version that does not need these patches. What is left is the subst…
  • Hi @tnt, I have attached a version that passes LVS. It is based on the current version of the IHP PD with a few hacks and adding a section with the blank_circuit calls. grep for "PATCHED_FOR_DISCUSION_2602" to find the changes. Use "…
  • I took a look at the last sample. I had some trouble figuring out what was hacked in LVS, so I started from scratch with the LVS from IHP: https://github.com/IHP-GmbH/IHP-Open-PDK. I'm not finished yet, but there are a number of issues I see alread…
  • Hi @dick_freebird, thanks for the explanation. You're right, something like this was more intuitive. Maybe it is possible to use specific labels to mark a layout cell as "abstract". Unfortunately there are no views in GDS one could use fo…
  • No, I have not. I think those are builds you did yourself as I don't provide RH8 images. So please approach the guys who supply the builds. Maybe they built against a different Qt version or a different gtk version or whatever. I cannot debug somet…
  • Hi @shadowmaster, The Python API shares some concepts with C++ - namely the constness of certain objects. In C++, the cell delivered by "RecursiveShapeIterator#cell" is a "const reference". This means you should not manipulate i…
  • I am not sure what you mean. I used your script (after adding "import time" at the front) and to me these images seem to share the same magnification. Matthias
  • Hi Thomas, regarding 3a.): for a real netlist with devices, there is such a way, but not without devices. With devices, nets not attached to a device (except inside black box macros) are eliminated by "Netlist#purge_nets". Without devices…
  • I am not sure if the problem is on my server itself, or whether it is a load balancing problem on my hoster side. I am using a virtual instance and maybe it is sharing CPU time with someone malicious or a parallel instance is being under attack. The…
  • Perfect. Thanks a lot! :) I was able to debug the problem and here is my conclusion: the problem comes from the computation of the recognition layers for dantenna and dpantenna devices. They are computed this way (lines 3532++ in the XML file): # …
  • Yes, exactly. The bug is known and I will try to release a new version soon. Sorry for the inconvenience. Matthias
  • Hi @tnt, This is basically possible, but you need to configure it properly. I think the "substitute cell by a simple version" is the most promising approach. Again, some test case is required. You can supply it through my private mail if…
  • Hi @tnt, I would need a simple example to debug the issue. There is a specific issue with extracting devices that may make devices appear on the wrong hierarchy level. Here is one related discussion: https://www.klayout.de/forum/discussion/comment…
  • Hi Sebastian, yes, there are attacks, I assume, and they seem to intensify. The 500 is not generated by my application - they seem to come from some proxy or firewall around my virtual server instance. Specifically access from Asia appears to suffe…
  • Hello, if you have a KLayout technology file (*.lyt), you can simply import the file using "Tools/Manage Technologies". The right-click on the technology list (left panel) and choose "Import Technology". To produce a technology …
  • At least on my Ubuntu 24 GNOME the file dialog opens in the current directory as expected. On Windows for example, the file browser has some smartness built in to remember recent places, but that is not something I can change. Matthias
  • There are a number of options: 1.) Use a technology. This technology is stored as a .lyt file in <klayout-home>/tech/<name of tech>. This folder is a package that can be given to others including companion files such as layer properties…
  • I don't know what "myscript.rb" is in your case, but this works for me: myscript.rb: mw = RBA::Application::instance.main_windowmenu = mw.menumenu.action("file_menu.save").visible = falsemenu.action("file_menu.save_all&quo…
  • This is a feature of the system file dialog. It's not a KLayout feature. Your Window manager provides this dialog and there should be some documentation somewhere. On the GNOME desktop that comes with my Ubuntu 24 I can pick "Add to bookmarks&…
  • Are you maybe trying to run KLayout in batch mode? "MainWindow" will not have an instance in that case. Hence RBA::Application::instance.main_window returns nil. In normal GUI mode, this should return the main window object. Matthias
  • Hi @Bigb, That is difficult to debug then. There is no obvious issue. Maybe your organization has firewall rules in place which do not allow access to external servers? The first level of access is plain https, but in the next level - when downloa…
  • Hi @neil, here is my solution. The script is Python and can be run on the sample layout you provided. If you don't see the layer 100 generated use "Add Other Layer Entries" from the layer list's context menu. The idea is to combine two v…
  • I just confirmed everything is working fine currently. The error does not indicate a particular issue. What is your KLayout version and OS? Is the problem reproducible?
  • Hi @sekigawa, The virtual environment implementation of Python is not fully compatible with embedding Python. As I understand the implementation, it is based on the call path of the Python executable. If you create a virtual environment, a link to …
  • Thanks for reporting this issue. That's embarrassing. It's side effect of that bugfix https://github.com/KLayout/klayout/issues/1864. I have created a ticket: https://github.com/KLayout/klayout/issues/1874 Kind regards, Matthias
  • Hi @ravn, There is no simple answer to that question. Basically, when you create a float-typed object inside a PCell, it is stored inside a remote cell that lives inside the library. In that step, the object is converted to database units. For thi…
  • Hi @fawqati, * You can basically place a .klayoutrc template into the central KLayout installation. When KLayout initializes the home folder for the first time, it will copy this template into the user's space. But that happens only once. When a us…
  • Yes, the next minor release (coming soon) will contain a Ubuntu 24 version. You can try master already from here: https://www.klayout.org/downloads/master/ Matthias