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

Comments

  • Very good, thanks @sekigawa for clarifying this :) I understand that DXF has views to provide dimensional drawings, but my knowledge is very limited here. I want to look into EazyDXF (https://pypi.org/project/ezdxf/) to see how they are embedding v…
  • Hi @ResuS, No, there is no "moved" and I have stopped work on XSection. Matthias
  • Hi Jim, I am not sure about Debian, but I think "/opt" is not in the standard path. When you install the .deb packages for Ubuntu, the installer will copy a file called "klayout.desktop" to /usr/share/applications/klayout.deskt…
  • Well .. it is easy to unfreeze - anyone can fork and continue the project. It is GPL, so there are no claims from my side. Seriously - I explained my reasons. It is not a process simulator. There is nothing that simulates a wet etch, hence I don't …
  • Hi @hieund, Basically, yes. But KLayout is a tool made for GDS2 files and not for Gerber. The way to go, is to import into KLayout (using GDS2 layers) and then create a PNG from that. So that takes some scripting. Here is a sketch: * Unpack the .…
  • Dear @wildwolfcj, I agree with @sekigawa, for such applications, it is easier to use the Python module. Specifically as it installs with the major Python distributions on Windows, such as Anaconda. I'd like to add a few things: * If you have mult…
  • Hi @YWJ, No there is no such script, and there never will be one. Calibre's SVRF language is strictly protected by Siemens EDA. You are not allowed to publish a script that reads SVRF files. Matthias
  • Hi, strmcmp does a object-by-object compare, but not a geometrical one. So it does not do a boolean operation. The output indicates shapes. The one with the "w=..." etc. is a path (w is the width), the others are boxes. The titles of the …
  • @barlow, yes, you're right .. "internal" means it is connecting two device terminals and nothing else. If you wonder what this is good for: internal nets connect devices in a serial fashion, so they can be combined (i.e. two resistors). …
  • Hi @Wanchus, not with DRC as DRC is follows the "as if flat" paradigm - i.e. what matters is the top-level view, not the details. Merged shapes are put as low in the hierarchy as possible, but are guaranteed to be non-overlapping. "…
  • Hi @Dunkelwind, thanks for the explanation. That does not look like a strange scenario and KLayout should support that. So the main layout is "@1" and the second layout is "@2", right? Still I am not able to reproduce the probl…
  • Could you share a screen shot of the application window? Matthias
  • I have created a ticket to implement the original idea of "send query results to selection": https://github.com/KLayout/klayout/issues/1721 There are so many use cases, it is worth adding this feature. Matthias
  • That is not specifically Linux .. "strm2oas" is a binary shipped with KLayout. There are more of these "buddy tools". This binary is also available on Windows, but you need some kind of shell to wrap that. Matthias
  • I stand corrected. The solution above isn't working right now as it will either select schematic nets or layout nets - the schematic nets are always named, hence "?*" will still select all nets. I have opened a ticket (https://github.com/…
  • Hi @barlow, Yes, your solution makes sense. However, I just checked my code. I though that * would match named nets only, but that is not strictly the case. It matches the "given" name which is empty in case of unnamed nets. As * also ma…
  • Hi @zhaoyj, ".oam" is OASIS.mask, right? A solution to split the file is: # extracts layer 1/0, 2/0 etc.strm2oas -im 1/0 -is in.oas l1_0.oasstrm2oas -im 2/0 -is in.oas l2_0.oas... To join the files back into one, use strm2oas l1_0.oas…
  • Hi Austin, thanks for using the opportunity of this forum to ask this question. I personally do not know of an existing solution for this task, but I am not a regular user of digital flows. I guess that this is a nice idea and will help improving …
  • @dion, from the statistics I see an obvious overhead of shape info, taking the majority of the memory (~15G). Also, the process size is much larger (40G) than the actual memory required (20G) which pioints to fragmentation. I assume that the dummy …
  • Hmm .. there is something wrong here, but I can't figure out what. It's not a plain bug as I can't reproduce it in a simple scenario. I have not seen that message myself yet. Have you loaded multiple layouts into one view? Are you able to reprodu…
  • Hi @dion, When you say "load" - what kind of loading is that? Are you sure that you are opening the file in read mode? Edit mode is much slower and has a much higher memory footprint. 20 Minutes for 2..3GB OASIS appears too much. The lar…
  • Hi @dai, I think this is just a complicated way to do an AND :) strmxor can't do AND right now. Maybe I should include that too. But a more general way is to run a DRC script for that purpose. Matthias
  • Hi @nograd, GDS is a format that puts all coordinates on a multiple of the database unit (for example 1nm). So if you rotate something by 45 degree, the new vertexes will have to snap (that's math). It will never stay identical. That is a basic lim…
  • I'm leaving that to commerical tools. I hate file caching. It is very hard to detect when you need to invalidate it. Take Virtuoso Express PCells - they drive me crazy. Never the right layout. Matthias
  • Hi Steffen, you can "descend" into the cell. So you click on a shape, and press "Ctrl+D". This feature is sometimes called "edit in place". It means, you change the editor scope to edit inside the cell, but still displ…
  • @"Vincent Lin" I had the same issue myself too many times ... you get used to that :) Regarding your solution: a cheap way of getting the same effect is: menu = pya.MainWindow.instance().menu()menu.insert_item("@toolbar.end", …
  • And regarding the the question of @dick_freebird: As you say, a CMOS gate is not symmetric, but if you wire the pins correctly on upper levels, the topology matches and the labels do not matter. But it is possible to treat the inputs symmetric and…
  • Hi @barlow, I am afraid 0.27.11 is far too old. Do you have a chance to try on a later version? Matthias
  • Hi @Lil_ner, so you are very ambitious, are you? :) To be honest, KLayout is not a good starting point if you're not familiar with Python. KLayout's API is not very Pythonic, as it reflects the C++ nature beneath. So it is somewhat likely you rath…
  • Hi @Wanchus, Please consider opening a new discussion rather than reusing an old one. The option you ask for is not available in the DRC language. It is a special option for the UI feature. You can try using deep mode: deepinput(2, 0).merged.out…