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

Comments

  • Hi Dave, did you by chance check the "Coordinates in database units" checkbox on the properties page in the first case? Assuming the database unit is 0.001um that would explain the difference and also why the coordinates are shown with 2 …
  • Hi Dave, The -g* options are basically used for regression testing only. Basically you're right - the options allow to record and replay mouse and key events, but there is not much functionality beside that. In addition, the replay does not work co…
  • Hi Jean-Yves, it should not be possible to run a boolean operation while the net tracer is running. The database is not designed to support parallel reading and writing. That might explain a memory allocation problem. I'd consider it a bug, if it's…
  • Hi all, the comment about using a custom format is valid. On the other hand, the limitations of GDS basically match the requirements of the mask makers. For example, having a circle may be useful for the layouter, but when it's printed to the mask,…
  • Hi Roland, thank you for the nice suggestion about "hole" mode. It's probably a very useful feature. Regarding the circles: right now, it's already possible to use "round end" paths as circles if you draw a path with identical …
  • Hi Acku, here's a patch to fix the bug: file dbClip.cc needs a new if() around lines 313..319: ... const db::Cell &inst_cell = layout.cell (inst->cell_index ()); // BUGFIX : don't create variants for empty cells if (! inst_cell…
  • Hi Acku, thanks for the hint about the clip tool. I was not successful in reproducing the problem with the clip tool but using the script I finally found a testcase that I could reproduce the problem on. Basically it seems to be related to empty c…
  • Hi, I tried to figure out from the code what is happening. Basically, the clip function first gathers all clip variants (cells for which only parts are required) and creates the new cells. Then it starts the clip operation and uses the cells where…
  • Hi Jean-Yves, The only way to emulate that currently is to use a mask shape on some arbitrary layer covering one half of your original shape and perform a AND and a NOT boolean operation, both to different new layers. The first operation will selec…
  • Hi Sambhav, I guess that you are using a pretty small database unit of 0.01nm. There is a basic constraint within GDS (and KLayout) that all coordinates must be 32bit integer multiples of the database unit. With this database unit, the 32bit signed…
  • Hi, It's possible to build KLayout with Ruby 1.8 as well, but that will exclude 64bit on Windows. As I mentioned before, I am thinking about a substitute solution, but it's too early to promise anything. Best regards, Matthias
  • Hallo, I see your point, but so far there is no generic point accessor. Specifically for paths I wonder how stretching should be implemented - the point's just deliver the center line, not the path's actual boundary. I would suggest to convert the…
  • Hi, I provide a very basic ruby installation along with KLayout for Windows. It contains the basic packages only. On Linux, KLayout can make use of the Ruby installation on the system which can easily be extended with many packages, including qtrub…
  • Hi, klayout.exe is compiled as a Windows application, not as console application. I guess that is why there is no output. Instead, you can use the log viewer (File/Log Viewer) to look at the output. The output is basically mirrored there. "kl…
  • Hi Nicolas, it's somewhat hard to tell - I noticed that on Windows, KLayout quits on Ruby errors in some cases. Bascially, the message means that some Ruby runtime error occured. I admit that is not quite helpful. I have just downloaded a new vers…
  • Hallo, basically, KLayout already has some code which provides a basis for programmable cells. Technically speaking, such a cell is specialization of a particular class, providing the layout generation code and some methods to store and manage arbi…
  • Hi Brendan, maybe I was not specific enough - this only applies to the display of the database layer names. The specific issue was the display of OASIS files with named layers in it. In that case, the layer and datatype was not displayed, but rathe…
  • Hi, right now, there is nothing like a TCell/PCell available. This does not mean that it's impossible (actually the basics are already there). I agree that such a feature is very useful however. A basic problem is the GDS format which does not supp…
  • Hi Nick, I have uploaded a new version of the script in which I have tried to make the parsing somewhat more robust against Skill expressions. In any case, these expressions are still not evaluated. If they appear in sections which are ignored thi…
  • Hi Nick, I guess your tech file contains some code like this one: techId = techGetTechFile( tcCellView ) Unfortunately the import script does not understand Skill code, neither can it execute these functions. It expects are pure list and converts…
  • Hi chhung, I had one installation of ruby 1.8 where there was no 64bit version of stringio.so and I had a similar issue myself. Because I did not find a 64bit version, I was solving that problem by switching to ruby 1.9 but your solution is probabl…
  • Hallo saravanan, I don't have an rpm for RHEL 5 currently, neither do I have experience with installations on that system myself. Hence I can't provide simple installation instructions. If you need to do the build yourself, the minimum requirement …
  • Hi okguy, Providing a Cadence tech file import is on my todo list. I have received a script regarding that topic already and I'll check whether I can make that script public. Regarding the format of the layer properties file, it's pretty straightf…
  • Hi Nathaniel, When you rename a layer using the "rename" feature of the layer list it actually assigns a name to a "layer view". A layer view is not necessarily corresponding to a layout layer but can also specify how the layer …
  • Hallo John, "plugin" may not be the appropriate term, but KLayout internally features some interfaces that allow writing extensions that are dynamically loaded. Such extensions can be located in a shared object (a DLL on Windows) and KLay…
  • Hallo Stephen, you're welcome :-) Please note, that I didn't want to suggest that your file is not correct - it's probably perfectly valid. What I wanted to say is that KLayout has a known limitation. However, even given these limitations you shou…
  • Hi Stephen, right now, KLayout supports a 32bit coordinate space only. It is possible to change that but at the expense of a higher memory footprint. OASIS in general supports supports coordinates with unlimited size and the message basically says …
  • Hi Remi, The .layviewrc file is stored in your home directory (not root). On Windows, that is usually "c:\Users\your_account". You can switch setups by providing a path to a specific setup file using the -c option. For example, you can c…
  • Hi izard, Thanks for providing the script - debugging is much easier with a real example :-) What is basically missing in your script is the assignment of the layer and datatype when the layer is created. Without that information, KLayout doesn't …
  • Hi Scott, There is no built-in functionality of this kind (yet). However, Here is a script that searches the current layout for shapes with a size smaller than a given threshold. It will install itself in the layer list's context menu (right mouse …