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
Hi Eugene,
the next release (which I unfortunately don't have a time estimate for) will contain technology support in the sense that you can switch between different setups.
Until then you might like to look at a simple technology manager which al…
Hi Luc,
manually that is possible by using "Rename" from the layer's context menu (right mouse button). This will assign a display name to the entry in the layer list. You can save the display name along with the other display properties …
Hi Miguel,
even better: it's already there :-)
The entries you look for are somewhat hidden in
edit_menu.mode_menu.select (for Select)edit_menu.mode_menu.box (for Box)edit_menu.mode_menu.partial (for Partial Mode).. etc
Best regards,
…
Hi,
right now there is no easy way to have anisotropic scaling, I'm sorry. It can be done (slowly) shape by shape with a ruby script but not using the transformations provided. Following the GDS convention, the transformation objects only allow iso…
Hi Kenji,
sorry for the late response, I simply missed your forum entry.
Regarding the rendering in KLayout: One basic design requirement was not to skip any shapes because that will change the appearance of a layer. Think of a layer consisting of…
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…